Skip to content

Commit cf967e5

Browse files
pablodelaratkanteck
authored andcommitted
README: add section for DLL injection attack mitigations
Signed-off-by: Pablo de Lara <[email protected]>
1 parent 29d99fc commit cf967e5

File tree

1 file changed

+22
-0
lines changed

1 file changed

+22
-0
lines changed

README.md

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,3 +76,25 @@ Other targets include:
7676
* `make ex` : build examples
7777
* `make other` : build other utilities such as compression file tests
7878
* `make doc` : build API manual
79+
80+
DLL Injection Attack
81+
--------------------
82+
83+
### Problem
84+
85+
The Windows OS has an insecure predefined search order and set of defaults when trying to locate a resource. If the resource location is not specified by the software, an attacker need only place a malicious version in one of the locations Windows will search, and it will be loaded instead. Although this weakness can occur with any resource, it is especially common with DLL files.
86+
87+
### Solutions
88+
89+
Applications using libisal DLL library may need to apply one of the solutions to prevent from DLL injection attack.
90+
91+
Two solutions are available:
92+
- Using a Fully Qualified Path is the most secure way to load a DLL
93+
- Signature verification of the DLL
94+
95+
### Resources and Solution Details
96+
97+
- Security remarks section of LoadLibraryEx documentation by Microsoft: <https://docs.microsoft.com/en-us/windows/win32/api/libloaderapi/nf-libloaderapi-loadlibraryexa#security-remarks>
98+
- Microsoft Dynamic Link Library Security article: <https://docs.microsoft.com/en-us/windows/win32/dlls/dynamic-link-library-security>
99+
- Hijack Execution Flow: DLL Search Order Hijacking: <https://attack.mitre.org/techniques/T1574/001>
100+
- Hijack Execution Flow: DLL Side-Loading: <https://attack.mitre.org/techniques/T1574/002>

0 commit comments

Comments
 (0)