MRCIF: A Memory-Reverse-Based Code Injection Forensics Algorithm
Source abstract
Abstract
The new DLL injection method and its variants can prevent the injected process from calling the common system API to load the injected DLL module so that the malicious module is invisible to the LDR linked list of the process. Traditional injection detection methods have low accuracy in forensic detection of new injection attacks. To solve this problem, this paper proposes a code injection covert memory page detection and forensic detection forensic algorithm based on a memory structure reverse analysis named MRCIF. First, the physical memory pages containing DLL features from the memory image are located, and a sub-algorithm is designed for mapping physical memory space and virtual memory space, thus realizing the reverse reconstruction of the physical page subset corresponding to the DLL code module. Then, in the virtual memory space, the LDR linked list structure of the process is reversely reconstructed, and a reverse reconstruction algorithm of the DLL virtual page subset is developed to reconstruct its virtual space. Finally, a DLL injection covert page detection sub-algorithm is designed based on the physical memory page subset and virtual space page subset. The experimental results indicate that MRCIF achieves an accuracy of 88.89%, which is much higher than that of the traditional DLL module injection detection method, and only MRCIF can accurately detect the Virtual Address Descriptor (VAD) remapping attack.
Source: crossref · Quality: baseline
Research context
OpenAlex topics: Advanced Malware Detection Techniques · Digital and Cyber Forensics · Network Security and Intrusion Detection
SciVX discovery tags are terminology-based. OpenAlex topics are source-provided classifications.
Affiliations
College of Cryptographic Engineering, Information Engineering University, Zhengzhou 450001, China
Funding
National Natural Science Foundation of China
References (20)
Show source-provided references
1. Fewer, S. (2021, November 15). Reflective Dll Injection. Available online: https://dl.packetstormsecurity.net/papers/general/HS-P005_ReflectiveDllInjection.pdf.
2. Blaam, M. (2021, November 23). Process Hollowing. Available online: https://github.com/m0n0ph1/Process-Hollowing.
3. Hiding Process Memory Via Anti-Forensic Techniques10.1016/j.fsidi.2020.301012 ↗
4. A Systematical and Longitudinal Study of Evasive Behaviors in Windows Malware10.1016/j.cose.2021.102550 ↗
5. Srivastava, A., and Jones, J.H. (2017, January 13–14). Detecting code injection by cross-validating stack and VAD information in windows physical memory. Proceedings of the 2017 IEEE Conference on Open Systems (ICOS), Miri, Malaysia.10.1109/ICOS.2017.8280279 ↗
6. Windows Memory Forensics: Detecting (Un)Intentionally Hidden Injected Code by Examining Page Table Entries10.1016/j.diin.2019.04.008 ↗
7. DFRWS (2021, November 23). DFRWS 2005 Forensics Challenge. Available online: https://github.com/dfrws/dfrws2005-challenge.
8. Searching for processes and threads in Microsoft Windows memory dumps10.1016/j.diin.2006.06.010 ↗
9. The VAD tree: A process-eye view of physical memory10.1016/j.diin.2007.06.008 ↗
10. Using every part of the buffalo in Windows memory analysis10.1016/j.diin.2006.12.002 ↗
11. Windows physical memory analysis method based on KPCR structure
12. Zhang, S., Wang, L., Zhang, R., and Guo, Q. (2010, January 20–22). Exploratory study on memory analysis of Windows 7 operating system. Proceedings of the 2010 3rd International Conference on Advanced Computer Theory and Engineering (ICACTE), Chengdu, China.
13. Characterization of the windows kernel version variability for accurate memory analysis10.1016/j.diin.2015.01.009 ↗
14. (2021, November 24). Google Rekall Forensics. Available online: http://www.rekall-forensic.com/.
15. Cohen, M. (2015, January 6–9). Forensic analysis of windows user space applications through heap allocations. Proceedings of the 2015 IEEE Symposium on Computers and Communication (ISCC), Larnaca, Cyprus.10.1109/ISCC.2015.7405522 ↗
16. Memory fragment file carving algorithm based on the reverse of the structure chain
17. Stack Forensics Based on Meta Data and Instruction Flow of 64-bit Windows
18. Pshoul, D. (2022, April 29). Malthfind Volatility Plugin. Available online: https://github.com/volatilityfoundation/community/blob/d9fc0727266ec552bb6412142f3f31440c601664/DimaPshoul/malthfind.py.
19. Scanning memory with Yara10.1016/j.diin.2017.02.005 ↗
20. Russinovich, M.E., Solomon, D.A., and Ionescu, A. (2012). Windows Internals, Microsoft Press. [6th ed.].