【技术实现步骤摘要】
基于内存结构逆向分析的代码注入攻击取证检测方法与系统
[0001]本专利技术涉及电子(数字)犯罪取证
,尤其涉及一种基于内存结构逆向分析的代码注入攻击取证检测方法与系统,特别适合于正在运行的基于Windows不同版本操作系统的物理内存中新型代码注入攻击行为的检测与取证分析。
技术介绍
[0002]随着网络安全领域的攻防博弈,DLL注入发展出了一系列新的变种技术,与经典的DLL注入方法不同,新型DLL注入攻击避免受害进程调用系统API加载恶意DLL,使受害进程的加载模块链表(LDR)中没有注入DLL的信息,而且可能篡改虚拟地址描述符(Virtual Address Descriptor,VAD)的属性,实现了隐蔽注入恶意DLL模块。新型DLL注入的主要攻击目标是用户空间进程,注入的手段更加复杂与隐蔽。如Stephen等提出的反射式注入技术(Reflective code inject)、Mieleke等人提出的Process Hollowing技术,以及Palutke等提出的VAD重映射技术。而且,一些恶意软件使用了类似的攻击技术,如Duqu2.0(2015)、Dyre银行木马(2015)、Conti勒索软件(2020)等,造成了广泛严重的危害,因此对新型DLL注入攻击的检测十分重要。
[0003]目前基于内存取证的注入页面检测方法主要关注虚拟内存空间,尤其依赖于VAD的属性,在应对新型注入攻击时检测准确率低。如Volatility和Rekall的malfind插件检测VAD的标签、私有状态和保护属性,但 ...
【技术保护点】
【技术特征摘要】
1.基于内存结构逆向分析的代码注入攻击取证检测方法,其特征在于,包括:步骤1:对内存映像文件进行预处理,得到物理内存页面集合P;步骤2:基于DLL特征在物理内存页面集合P中定位得到DLL代码模块物理内存页面集合P
e
;步骤3:逆向重建虚拟内存空间以构建虚拟内存空间到物理内存空间的页面映射t;步骤4:根据页面映射t,计算用户空间页面集合V
u
并逆向查找得到物理内存页面集合P
e
对应的虚拟内存页面集合V
e
;步骤5:逆向重建进程的LDR链表结构以获取DLL代码模块虚拟内存页面集合V
L
;步骤6:比较虚拟内存页面集合V
e
、用户空间页面集合V
u
和DLL代码模块虚拟内存页面集合V
l
,得到隐蔽的注入DLL代码模块虚拟内存页面集合V
h
。2.根据权利要求1所述的基于内存结构逆向分析的代码注入攻击取证检测方法,其特征在于,步骤1具体包括:对内存映像文件进行解析后得到原始物理内存数据,按照4KB大小对所述原始物理内存数据进行分页管理,得到由若干个4KB内存页面组成的物理内存页面集合P。3.根据权利要求1所述的基于内存结构逆向分析的代码注入攻击取证检测方法,其特征在于,步骤2具体包括:初始化DLL代码模块物理内存页面集合P
e
,然后遍历物理内存页面集合P,将集合P中含有DLL头部特征的内存页面全部加入至集合P
e
中,直至遍历完集合P中的所有内存页面,得到最终的集合P
e
。4.根据权利要求1所述的基于内存结构逆向分析的代码注入攻击取证检测方法,其特征在于,步骤3具体包括:步骤3.1:在EPROCESS中搜索已知进程的名称,根据搜索结果构建EPROCESS结构;步骤3.2:采用_KUSER_SHARED_DATA结构验证所构建的EPROCESS结构是否正确;若正确,执行步骤3.3;步骤3.3:从EPROCESS结构中读取进程的页表物理地址DTB值,进而由内存页表构建得到该进程的虚拟页面到物理页面的映射关系;步骤3.4:根据EPROCESS结构中的ActiveProcessLinks获取与其相邻的两个EPROCESS结构的虚拟地址;步骤3.5:根据已获取的进程的虚拟页面到物理页面的映射关系和相邻的两个EPROCESS结构的虚拟地址,构建得到相邻的两个新的进程EPROCESS结构;步骤3.6:针对每个新的进程EPROCESS结构,返回执行步骤3.3至步骤3.5,直至遍历完成所有进程的EPROCESS结构,即可得到虚拟内存空间到物理内存空间的页面映射t。5.根据权利要求1所述的基于内存结构逆向...
【专利技术属性】
技术研发人员:李炳龙,张和禹,孙怡峰,胡浩,张玉臣,汪永伟,李媛芳,常朝稳,
申请(专利权)人:河南云眼科技有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。