Các tập tin thực thi hợp lệ thường được ký bởi một công ty sản xuất nhằm chứng minh rằng tập tin đó là tin cậy. Do đó, việc ký malware có thể làm tăng độ tin cậy và giảm bớt sự phát hiện của các giải pháp bảo mật.

Obtaining a Certificate

Có nhiều cách để có được một chứng chỉ:

  • Mua (chẳng hạn từ DigiCert).
  • Tự tạo ra chứng chỉ tự ký (self-signed certificate).
  • Tìm các chứng chỉ hợp lệ mà bị rò rỉ ở trên mạng mà không bị vi phạm pháp luật.

Generating a Certificate

Để tự tạo ra một chứng chỉ tự ký, ta có thể dùng các câu lệnh OpenSSL sau:

openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 365

Chuyển thành dạng .pfx:

openssl pkcs12 -inkey key.pem -in cert.pem -export -out sign.pfx

Signing The Binary

Để ký tập tin thực thi với chứng chỉ, ta có thể dùng công cụ signtool.exe của Microsoft SDK như sau:

signtool sign /f sign.pfx /p <pfx-password> /t http://timestamp.digicert.com /fd sha256 binary.exe

Có thể kiểm tra chữ ký thông qua tab “Digital Signature” trong “Properties” của tập tin.

Resources