[发明专利]Linux平台进程内存恶意代码取证方法、控制器及介质有效
| 申请号: | 201910094079.1 | 申请日: | 2019-01-30 |
| 公开(公告)号: | CN109918907B | 公开(公告)日: | 2021-05-25 |
| 发明(设计)人: | 吕志泉;韩志辉;张帅;严寒冰;丁丽;李佳;朱天;饶毓;高胜;李志辉;张腾;刘婧;何能强;陈阳;李世淙;朱芸茜;马莉雅;周昊 | 申请(专利权)人: | 国家计算机网络与信息安全管理中心 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 北京中原华和知识产权代理有限责任公司 11019 | 代理人: | 丁慧玲;张琳 |
| 地址: | 100029*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | linux 平台 进程 内存 恶意代码 取证 方法 控制器 介质 | ||
1.一种Linux平台进程内存恶意代码取证方法,其特征在于,包括:
遍历Linux系统所有进程,读取所有进程的内存映射文件;
基于每一进程内存映射文件获取该进程对应的所有内存片段数据、程序文件路径信息和动态库文件路径信息中的一种或多种,所述动态库文件路径信息包括内存映射文件中包含的程序文件对应的动态库文件路径信息和程序文件对应的动态库文件路径信息;
根据每一进程对应的所有内存片段数据和程序文件路径信息,或者,所有内存片段数据和内存映射文件中包含的动态库文件路径信息,或者,程序文件对应的动态库文件路径信息检测该进程的恶意代码;
其中,根据每一进程对应的所有内存片段数据和程序文件路径信息检测该进程的恶意代码,包括:
根据每一进程对应的所有内存片段数据获取进程内存中的预设代码段;
根据所述程序文件路径信息获取程序文件;
分析所述程序文件对应的程序头结构,得到该程序文件对应的预设代码段;
将所述进程内存中的预设代码段和程序文件对应的预设代码段进行对比,若存在不同,则表示存在恶意代码,输出该程序文件及对应的内存片段数据。
2.根据权利要求1所述的Linux平台进程内存恶意代码取证方法,其特征在于,
所述遍历Linux系统所有进程,读取所有进程的内存映射文件,包括:
获取Linux系统进程号最大值;
以进程号1为起点,以所述进程号最大值为终点,遍历进程目录/proc下的进程子目录/proc/pid/,获取系统所有进程;
针对每个进程子目录/proc/pid/,获取该进程对应的内存映射文件。
3.根据权利要求2所述的Linux平台进程内存恶意代码取证方法,其特征在于,
所述遍历进程目录/proc下的进程子目录/proc/pid/过程中,若遍历至预设进程,则直接跳过,继续遍历下一进程,所述预设进程包括内核线程和内存取证进程。
4.根据权利要求1所述的Linux平台进程内存恶意代码取证方法,其特征在于,
基于所述进程内存映射文件获取每一进程的所有内存数据,包括:
以当前进行获取内存信息的进程为目标进程,读取所述目标进程对应的内存映射文件,对其中全部内存片段信息进行解析,获取每一内存片段的起始地址和结束地址;
调用系统调试函数ptrace读取每一内存片段从起始地址到结束地址之间的内存数据;
调用系统文件操作函数open/write存储所读取到的每个内存片段对应的内存数据,直至所述目标进程的所有内存片段读取完毕,所述目标进程的内存数据单独存放一个目录。
5.根据权利要求4所述的Linux平台进程内存恶意代码取证方法,其特征在于,
根据每一进程对应的所有内存片段数据和内存映射文件中包含的动态库文件路径信息检测该进程的恶意代码,包括:
根据每一进程对应的所有内存片段数据获取进程内存中的预设代码段;
根据内存映射文件中包含的动态库文件路径信息获取动态库文件;
分析所述动态库文件对应的程序头文件,得到该动态库文件对应的预设代码段;
将所述进程内存中的预设代码段和动态库文件对应的预设代码段进行对比,若存在不同,则表示存在恶意代码,输出动态库文件及对应的内存片段数据。
6.根据权利要求1或5所述的Linux平台进程内存恶意代码取证方法,其特征在于,
所述预设代码段为.text段数据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于国家计算机网络与信息安全管理中心,未经国家计算机网络与信息安全管理中心许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910094079.1/1.html,转载请声明来源钻瓜专利网。





