(一)系统的信息监控
恶意代码应急响应技术首先要对可疑的程序进行监控。正常的程序和恶意代码都需要调用这些API,但是某一类型的恶意代码在调用这些API时会存在特定的行为特征。原型系统关注的是这些系统API的实时调用情况,并且将其进行统计分析。图3-43显示的是“监控API函数页面”的API选择情况,从中可以自主选择关注的API函数。本章节关注的API调用来源于对恶意代码异常行为特征典型API的总结。图3-44展示了监控的进程,这里我们关注的是敏感恶意程序,如图3-43中的“root.exe”进程。
图3-43 监控API函数页面
图3-44 监控的系统进程
图3-43对root.exe的API调用分析包括API调用的时间、API的名称、调用的返回值、模块名称、API的入口,以及每次API调用所给的一个ID号,用于后续识别和确认该次系统调用。其API调用分析见表3-20。
表3-20 root.exe的API调用分析
续 表
(二)恶意代码的静态检测
笔者利用恶意代码样本空间关系特征对恶意代码进行静态检测,根据恶意代码中具有相似代码特征的区域在样本空间形成的聚类性质,对恶意代码样本进行智能分割。图3-45是恶意代码静态分块的例子。对恶意代码分块样本进行字符矩、信息熵、相关系数等空间字符关系的计算,并综合多特征相似性匹配。空间关系特征计算如图3-46所示。
图3-45 恶意代码静态分块
图3-46 空间关系特征计算
(三)恶意代码的动态检测
恶意代码动态检测的依据是系统的API调用序列,这包括API调用的时间、API的名称、调用的返回值、模块名称等内容。笔者通过对恶意代码调用API抽取其ID号进行分析,为了能够在同一水平线上进行衡量,将该API序列进行了归一化处理,如图3-47所示,然后进行自相似性的判定。
图3-47 恶意代码调用API的ID序列归一化值
对于判断出的可疑程序,基于模糊识别的结果,采用基于层次的多属性支持向量机分析法,对量化的API系统调用序列进行属性分解,最终依据多个属性动态行为属性的汉明距离。基于层次的多属性支持向量机分析过程示意图如图3-48所示。(www.xing528.com)
图3-48 基于层次的多属性支持向量机分析过程
使用内核函数KeQueryPerformanceCounter对钩挂函数进行测试,并且将其与调用系统函数的时间函数GetTickCount进行对比。图3-49演示了测试的结果。原系统调用所需要的时间为tAPI,挂钩函数需要的总时间为t'API,KeQueryPerformanceCounter函数的时间负载为tOverhead,所以挂钩函数添加的代码的负载时间为t'Overhead。KeQueryPerformanceCounter的函数测试要比GetTickCount精确得多。
图3-49 KeQueryPerformanceCounter对钩挂函数进行测试
(四)对恶意代码的评估
对恶意代码产生的影响进行评估,一方面,可以在控制中心对恶意代码实施的破坏效果进行观测;另一方面,可以将攻击的信息保存到系统日志数据库中,方便以后进行查询和学习。在对系统指标、网络指标、其他指标等性能参数进行数值化后,分别计算其熵值,以基于交叉熵和网络特征熵的联合熵值法对其进行估算,得到精确的攻击评估值,其结果示例如图3-50和图3-51所示。图3-50是对网络恶意代码root.exe的评估截图,图3-51是对SIP软交换进行恶意代码攻击的评估截图。
图3-50 对恶意程序root.exe的评估
图3-51 对SIP软交换进行恶意代码攻击的评估
(五)对恶意代码的免疫
对恶意代码进行免疫,以免再次遭受该类型恶意代码的危害。免疫信息的采集程序包括免疫细胞对抗原分子的识别阶段,免疫信息的过滤处理程序主要对应于抗原提呈阶段,免疫信息的判别程序主要涵盖了亲和力判别和细胞活化处理阶段,而免疫响应程序则包括了免疫响应和免疫记忆阶段。
将采集到的数据进行规格化处理,转换成抗原和信号,图3-52是恶意代码免疫的输入,图3-53是恶意代码免疫的免疫数据处理,而图3-54是恶意代码免疫的输出结果,图3-55是免疫系统优化后的系统免疫策略实例。
图3-52 恶意代码免疫的输入
图3-53 恶意代码免疫的免疫数据处理
图3-54 恶意代码免疫输出结果
图3-55 免疫策略实例
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。