Skip to content
/ SLAHP Public

A proof-of-concept of a solution against DLL Search Order Hijacking and its closely related cousins.

License

Notifications You must be signed in to change notification settings

lacaulac/SLAHP

Repository files navigation

SLAHP : Share Library Anti Hijacking Protector

This is a crude README file that will be updated soon.

SLAHP is a software component that aims to make protecting one's software againt DLL Search Order Hijacking vulnerabilities as easy as it can be. It works by using a security policy that details which DLLs can be loaded (based on hashes and/or PE digital signatures) and intercepting every attempt of a protected program at loading a DLL, allowing it or denying based on security policy compliancy.

Our main goals with SLAHP were:

  • (Optional) Invisibility to the user

    • Small performance impact

    • Optional alerts to the user upon denial of DLL loading

  • Easy to integrate

    • Static library (1-liner to initialise SLAHP)

    • Launcher

      • Uses DLL injection to protect a newly created process.

Licensing

Apart from the following components, this whole repository is licensed under Academic Software Evaluation License, detailed in the LICENSE.txt file.

All these license considerations extend to the compiled binary files that may be present in this repository.

Project organisation

The Visual Studio solution is subdivided in the following projects:

  • Protector

    • The main protection component, responsible for loading the security policy, placing hooks and analysing the compliance of to-be-loaded DLLs with the security policy.
  • SignatureTool

    • Allows the creation of security policy digital signatures.
  • PerfTests

    • Project aimed at facilitating the benchmark of SLAHP's peformance.
  • DumbImporter

    • A simple test program, not really useful.
  • ProtectedLauncher & ProtectorAgent

    • The launcher & DLL projects behind the Launcher integration.
  • LauncherCreator

    • A tool to create launchers and their associated DLLs.

Caveats

This section is incomplete. I will complete it later with details from the THCon's presentation slides.

  • Child processes with a different executable name aren't protected

About

A proof-of-concept of a solution against DLL Search Order Hijacking and its closely related cousins.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published