Safeguard
Application Security•

Detecting and Mitigating Security Support Provider Abuse (T1547.005)

Security Support Provider DLLs load into the LSA process at boot and can see stored passwords. Learn what MITRE T1547.005 documents, what to monitor, and how LSA protection helps.

Safeguard Security Team
3 min read

Security Support Provider (SSP) abuse is a persistence and privilege escalation technique on Windows. MITRE files it as T1547.005 under Boot or Logon Autostart Execution, with the tactics Persistence and Privilege Escalation.

The reason it matters is where the code ends up. Windows loads SSP DLLs into the Local Security Authority (LSA) process at system start. Once a DLL is inside LSA, MITRE notes it can reach encrypted and plaintext passwords stored in Windows, such as a logged-on user's domain password or smart card PINs.

How attackers use it

The SSP list lives in two Registry values: HKLM\SYSTEM\CurrentControlSet\Control\Lsa\Security Packages and HKLM\SYSTEM\CurrentControlSet\Control\Lsa\OSConfig\Security Packages.

An adversary who can write to those values can add a new SSP. It is loaded the next time the system boots. MITRE also documents a second path: calling the AddSecurityPackage Windows API function, which loads a package without waiting for a reboot.

The result is code that runs inside a trusted security process on every boot, with a view of credential material.

How to detect it

MITRE's detection guidance for this technique is built around two signals.

  • Registry changes to either Security Packages value, especially a new DLL name appearing in the list.
  • DLL loads into lsass.exe that you cannot account for. Image load auditing helps you track unsigned or unusual modules entering LSASS.

Correlate the two. A registry edit followed by a reboot and then a new module in LSASS is the pattern to look for. MITRE also points to an LSASS load of an unsigned DLL because of an AuditLevel=8 configuration as a related signal.

How to reduce the risk

MITRE lists one mitigation, Privileged Process Integrity. On Windows 8.1, Windows Server 2012 R2 and later, you can run LSA as a Protected Process Light by setting HKLM\SYSTEM\CurrentControlSet\Control\Lsa\RunAsPPL. That requires all SSP DLLs to be signed by Microsoft, which blocks an unsigned package from loading.

Pair that with tight control over who can write to the LSA registry keys, and keep a known-good list of your legitimate packages so a change stands out.

Quick check

Which two Registry values hold the SSP configuration?

Security Packages under HKLM\SYSTEM\CurrentControlSet\Control\Lsa and the same value name under Lsa\OSConfig.

What does running LSA as a Protected Process Light change?

It requires all SSP DLLs loaded into LSA to be signed by Microsoft, so an unsigned package is refused.

Sources

Never miss an update

Weekly insights on software supply chain security, delivered to your inbox.

Self-healing security runs on Safeguard.

Your first fix PR is minutes away.

No sales call required, even your agent can complete the purchase over MCP.