Code Signing

From enterprise
Jump to: navigation, search
Code Signing
ID T1116
Tactic Defense Evasion
Platform macOS, Windows
Data Sources Binary file metadata
Defense Bypassed Windows User Account Control

Code signing provides a level of authenticity on a binary from the developer and a guarantee that the binary has not been tampered with.1 However, adversaries are known to use code signing certificates to masquerade malware and tools as legitimate binaries2. The certificates used during an operation may be created, forged, or stolen by the adversary.34

Code signing to verify software on first run can be used on modern Windows and macOS/OS X systems. It is not used on Linux due to the decentralized nature of the platform.1

Code signing certificates may be used to bypass security policies that require signed code to execute on a system.


  • CopyKittens digitally signed an executable with a stolen certificate from legitimate company AI Squared.5
  • Darkhotel has used code-signing certificates on its malware that are either forged due to weak keys or stolen.6
  • Molerats has used forged Microsoft code-signing certificates on malware.7
  • Suckfly has used stolen certificates to sign its malware.8
  • Winnti Group used stolen certificates to sign its malware.9
  • ChChes samples were digitally signed with a certificate originally used by Hacking Team that was later leaked and subsequently revoked.101112
  • Turla has used valid digital certificates from Sysprint AG to sign its Epic dropper.13
  • Gazer versions are signed with various valid certificates; one was likely faked and issued by Comodo for "Solid Loop Ltd," and another was issued for "Ultimate Computer Support Ltd."1415
  • Helminth samples have been signed with legitimate, compromised code signing certificates owned by software company AI Squared.16
  • Janicab used a valid AppleDeveloperID to sign the code to get past security restrictions2.
  • RTM samples have been signed with a code-signing certificates.17
  • Regin stage 1 modules for 64-bit systems have been found to be signed with fake certificates masquerading as originating from Microsoft Corporation and Broadcom Corporation.18


Process whitelisting and trusted publishers to verify authenticity of software can help prevent signed malicious or untrusted code from executing on a system.19203


Collect and analyze signing certificate metadata on software that executes within the environment to look for unusual certificate characteristics and outliers.