[发明专利]一种针对工控设备的恶意代码发现方法有效
申请号: | 201810438839.1 | 申请日: | 2018-05-09 |
公开(公告)号: | CN108830078B | 公开(公告)日: | 2022-04-19 |
发明(设计)人: | 陈琳;张漪;闫国星;宋震;张志勇;陈曦 | 申请(专利权)人: | 中国船舶重工集团公司第七一四研究所 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 上海顺华专利代理有限责任公司 31203 | 代理人: | 陆林辉 |
地址: | 100192*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 针对 设备 恶意代码 发现 方法 | ||
本发明涉及一种针对工控设备的恶意代码发现方法,是对系统中所有线程或操作系统的执行单元的CPU的PC寄存器定时进行检查,通过对线程或操作系统的执行单元的PC寄存器位置所属的可执行模块进行比对,根据执行位置来判断是否属于系统自身可执行文件,还是可读写内存区域(非代码区域),还是位于临时位置的可执行文件,从而发现针对工控设备的恶意代码。本发明对远程注入并执行的工控设备恶意代码尤其有效。
技术领域
本发明涉及信息安全技术领域,公开了一种通过工控系统的保护应用在工控设备中发现恶意代码的方法。
背景技术
工控设备由于其生命周期久,不间断运行,通常采用的操作系统较为老旧,且不便于打补丁。导致针对大量老旧系统的安全漏洞的工具能较为顺利地对工控系统发动攻击,其中尤其以远程执行恶意代码危害性为最大。
现有技术中,已有尝试采用黑白名单制方法进行实现恶意代码识别的技术。例如中国专利CN 104573516 A,以完整性度量与管控技术为依托,以防止不受信任的程序在工业控制终端(操作站)运行为目的。
CN 104573516 A通过完整性度量与管控技术解决计算机程序在加载时的识别问题,并禁止不被信任程序的运行。其主要缺陷在于代码识别(既术语完整性度量所表达的主要意义)机制的触发时机需要在计算机程序加载时得到控制权。其关键步骤在于“2-1)修改工控终端操作系统内核,通过钩子函数捕获已加载到操作系统即将运行的程序进程,通过特定算法对加载入内存的程序进程代码进行计算,得到摘要值即为度量值,在进程正常运行前完成度量;”,由于系统的执行权限的获取,并不局限于通过启动“即将运行的程序进程”,欠缺对“即将运行的程序进程”所依赖的自身的各个库的完整性度量的机制设计。
但CN 104573516 A尤其缺乏针对远程恶意代码通过远程溢出等技巧,绕过系统内核加载而直接获得执行的恶意代码的完整性度量机制。
发明内容
为了克服上述现有技术的不足,针对工控系统远程执行的代码,本发明提出了一种恶意代码的发现方法由工控终端实现,通过对正在执行中的代码的所属位置推测其是否为恶意代码。推测恶意代码的核心原理基于如下事实:正常编译器所产生的代码均位于代码段,而需要远程恶意注入的代码则因其动态出现,无法进入由编译器固化的代码段,因而需要借助运行时刻可动态改写的堆或者栈来进行留存,并通过特殊技巧获得执行。
本发明对操作系统要求不限,适用与任意工控操作系统。
本发明的具体技术方案是:一种针对工控设备的恶意代码发现方法,对系统中所有线程(或操作系统的执行单元)的CPU的Programm Count(PC)寄存器定时进行检查,通过对线程(或操作系统的执行单元)的PC寄存器位置所属的可执行模块进行比对,根据执行位置来判断是否属于系统自身可执行文件,还是可读写内存区域(非代码区域),还是位于临时位置的可执行文件,从而发现针对工控设备的恶意代码。
进一步的,本发明所的发现方法包括如下步骤:
1)工控终端操作系统启动;
2)工控终端保护应用启动;
3)工控终端保护应用开始对操作系统内核,已经运行的所有进程依次进行快照;所述快照内容包含:
3.1)进程内存镜像;
3.2)进程执行单元镜像;
3.3)进程执行者身份标识及开启的特权状态快照;
3.4)工控操作系统所带有的特有属性的状态快照;
4)工控终端保护应用开始步骤3获得的信息进行恶意代码可疑度分析;
5)在步骤3.4过程中,工控终端保护应用周期性检测自身CPU资源占用量,适当约束CPU使用量;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国船舶重工集团公司第七一四研究所,未经中国船舶重工集团公司第七一四研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810438839.1/2.html,转载请声明来源钻瓜专利网。