Adversaries may tamper with SIP and trust provider components to mislead the operating system and application control tools when conducting signature validation checks. In user mode, Windows Authenticode[1] digital signatures are used to verify a file's origin and integrity, variables that may be used to establish trust in signed code (ex: a driver with a valid Microsoft signature may be handled as safe). The signature validation process is handled via the WinVerifyTrust application programming interface (API) function,[2] which accepts an inquiry and coordinates with the appropriate trust provider, which is responsible for validating parameters of a signature.[3]

Because of the varying executable file types and corresponding signature formats, Microsoft created software components called Subject Interface Packages (SIPs)[4] to provide a layer of abstraction between API functions and files. SIPs are responsible for enabling API functions to create, retrieve, calculate, and verify signatures. Unique SIPs exist for most file formats (Executable, PowerShell, Installer, etc., with catalog signing providing a catch-all[5]) and are identified by globally unique identifiers (GUIDs).[3]

Similar to Code Signing, adversaries may abuse this architecture to subvert trust controls and bypass security policies that allow only legitimately signed code to execute on a system. Adversaries may hijack SIP and trust provider components to mislead operating system and application control tools to classify malicious (or any) code as signed by:[3]

Hijacking SIP or trust provider components can also enable persistent code execution, since these malicious components may be invoked by any application that performs code signing or signature validation.[3]

References

  1. Microsoft. (n.d.). Authenticode. Retrieved January 31, 2018.
  2. Microsoft. (n.d.). WinVerifyTrust function. Retrieved January 31, 2018.
  3. Graeber, M. (2017, September). Subverting Trust in Windows. Retrieved January 31, 2018.
  4. Navarro, E. (2008, July 11). SIP’s (Subject Interface Package) and Authenticode. Retrieved January 31, 2018.
  5. Hudek, T. (2017, April 20). Catalog Files and Digital Signatures. Retrieved January 31, 2018.
  6. Graeber, M. (2017, September 14). PoCSubjectInterfacePackage. Retrieved January 31, 2018.

Ticket collegati