[发明专利]一种Linux平台下的恶意代码分析方法及系统有效
申请号: | 201310123502.9 | 申请日: | 2013-04-10 |
公开(公告)号: | CN104102878B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 何振学;田昕晖;孙毓忠 | 申请(专利权)人: | 中国科学院计算技术研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京律诚同业知识产权代理有限公司11006 | 代理人: | 祁建国,梁挥 |
地址: | 100190 北*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 linux 平台 恶意代码 分析 方法 系统 | ||
1.一种Linux平台下的恶意代码分析方法,其特征在于,包括:
步骤1,设置需要监控的关键文件信息,并将其以界面形式展示,其中所述关键文件信息包括:文件名、文件所属用户UID、用户组GID,文件访问权限;
步骤2,加载并执行需要分析的恶意代码,同时根据界面展示的内容设置需要被监控进程;
步骤3,将所述关键文件信息和被监控进程信息传递给内核空间的监控模块,所述监控模块根据所述关键文件信息和所述被监控进程信息同步生成关键文件列表和监控进程信息列表;
步骤4,所述监控模块实时监控所述被监控进程对关键文件的访问,并依据所述关键文件和被监控进程的访问权限,拒绝或允许所述被监控进程对关键文件的操作;
步骤5,所述监控模块记录所述被监控进程对关键文件的操作,并将被监控进程对关键文件的操作信息保存到日志队列中;
步骤6,将所述日志队列中的日志信息传递给用户模块的日志处理例程,并以界面的形式将所述日志信息展示。
2.如权利要求1所述的恶意代码分析方法,其特征在于,所述步骤2包括:
步骤21,依次进入/proc文件系统以数字命名的目录,分别对所述目录中status文件执行read()操作,获取进程信息,该进程信息包括:可执行文件名、进程号、父进程号、有效用户EUID、有效组EGID和内存映象;
步骤22,将所述进程信息存放在struct process_info结构中,并将其链接到链表中;
步骤23,依次从所述链表中获取所述进程信息,并以界面方式展示给用户;
步骤24,所述用户根据展示的进程信息指定恶意代码进程为被监控进程。
3.如权利要求1所述的恶意代码处理方法,其特征在于,所述步骤4包括:
步骤41,所述监控模块截获从VFS层传递下来的系统调用,通过修改VFS函数跳转表指向自定义的截获函数,获得上层系统调用所要操作的文件对象;
步骤42,filter_process_hash()函数获取该系统调用所属进程的进程号和父进程号,以所述进程号为关键字,在所述监控进程信息列表中依次进行比对,如果比对成功,则说明当前进程是被监控进程;如果比对不成功,以父进程号作为关键字,在所述监控进程信息列表中依次进行比对,如果比对成功,说明当前进程是被监控进程,执行步骤43,如果比对不成功,不做任何处理,继续执行下层具体文件系统处理函数;filter_file_hash()函数截获将要被操作的文件对象,通过文件对象获得关键文件的文件名和文件所属用户UID,并以所述文件名和文件所属用户UID为关键字,在所述关键文件列表中依次进行比对,如果两者都比对成功,则说明当前文件是被监控的关键文件,执行步骤43,否则,不做任何处理,继续执行下层具体文件系统处理函数;
步骤43,对所述被监控进程和所述关键文件进行权限比对,并根据比对结果拒绝或允许所述被监控进程对关键文件的操作。
4.如权利要求1所述的恶意代码处理方法,其特征在于,所述步骤6包括:
步骤61,从所述日志队列中获取日志信息,并将获取的日志信息写入到所述监控模块创建的共享内存中;
步骤62,异步通知所述日志处理例程,所述日志处理例程读取日志信息,经过处理之后,将其存放在日志缓冲区,并以界面的形式将所述日志缓冲区中的日志信息展示给用户。
5.如权利要求1所述的恶意代码处理方法,其特征在于,所述步骤6中:
所述日志信息包括被监控进程的可执行文件名,进程号,父进程号,有效用户EUID,有效组EGID,以及操作的关键文件文件名,文件所属用户UID,用户组GID,和操作命令。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院计算技术研究所,未经中国科学院计算技术研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310123502.9/1.html,转载请声明来源钻瓜专利网。