基于因果关联分析恶意代码检测的研究与应用

时间:2022-09-13 12:51:08

基于因果关联分析恶意代码检测的研究与应用

【 摘 要 】 文章针对恶意代码的攻击原理,介绍了对恶意代码的检测。通过因果关联的分析原理检测恶意代码,提高对恶意代码等网络攻击的安全防范意识,更新操作系统的最新安全漏洞补丁,修补操作系统安全漏洞;加强网络共享管理;强化密码设置,增强安全策略,加强密码强度。

【 关键词 】 因果关联;恶意代码;检测

Based on Causality Analysis of Malicious Code Detection Research and Application

Li Zhen-mei

(Computer Department of Jinning Institute ShandongQufu 273155)

【 Abstract 】 Aims at the principle of malicious code attack we introduce the malicious code detection. Based on the causal association analysis to test the malicious code can improve the security awareness. We need to update new security hole patch, modify the system security flaw, increase the network sharing management, intensify the password setting, develop the security policy, and strengthen the password strength.

【 Keywords 】 causal association; malicious code; detection

1 前言

随着计算机信息技术的飞速发展和普及,计算机和计算机网络已经渗入到人们的工作学习和生活中。在计算机和网络带给人们巨大的方便与快捷的同时,同样也带来了各种负面的计算机安全隐患。在各种安全威胁下,恶意代码是较为常见的一种入侵方式。恶意代码对计算机安全的破坏有小有大,小则计算机中数据丢失、被篡改,大则系统硬件可能被破坏。由于每种恶意代码在网络传播中的特点各不相同,攻击阶段也各不相同,如果采用传统的针对内容的检测分析无法高效识别与普通代码很相似的恶意代码。

本文提出了一种基于因果关联分析的方法来检测恶意代码,通过研究恶意代码在网络传播中的攻击模型,以因果关联分析方法为理论依据,来检测恶意代码,这种方式提高了对恶意代码的检测效率,降低了检测的误报率,并且能够兼容传统的数据包特征匹配算法。

2 简介

2.1 何为恶意代码

Malware是恶意代码的专业术语。恶意代码Malware本质是一段代码,只是这段代码含有一定的对计算机破坏的功能。恶意代码一般是运用计算机系统或者软件的各种漏洞进行破坏。一般表现形式是二进制文件、脚本或者宏。

恶意代码主要包括计算机后门、计算机病毒、特洛伊木马、恶意移动代码、蠕虫、内核套件和僵尸网络等。

计算机后门是一种通过使用后门工具对目标机器进行控制的恶意代码程序,它能够绕开正常的安全控制机制。

计算机病毒的最大特点就是可以自我复制,具有一定感染性的一段病毒代码。

特洛伊木马:正如特洛伊历史事件所描述的类似,该段代码能够伪装成正常有用的软件博取用户信任,一旦用户点击打开,则暴露出恶意行径的代码。

恶意移动代码:一般情况下,恶意移动代码是部署在Web服务器端的,所以它基本不需要过多的人工干预。一旦访问已经部署恶意代码的Web服务器,则本机就有可能被感染。

蠕虫:和计算机病毒一样具有自我复制性,将自身嵌套进宿主程序中运行的恶意代码。

内核套件:氛围用户态和内核态两种。一般通过替换或者修改系统中关键文件,获取最高控制权的一类程序代码。

僵尸网络:具有网络传播性和恶意性,危害较大。中毒的计算机不是一台,而是网络上的多台,感染范围较大,该恶意代码控制多台网络中的计算机,使其被感染的计算机如同僵尸一般受控制。

2.2 恶意代码工作原理

恶意代码一般通过四种方式运行:利用系统漏洞、嵌入其他文件、伪装成有用文件和欺骗。恶意代码可以通过自我复制传染更多的主机文件或者网络上的不同主机。传播的介质有网络电子邮件、计算机中的网络共享、移动介质(U盘、移动硬盘等)、P2P共享、系统本身漏洞等。恶意代码入侵主机后,可以通过修改系统设置成为系统开机自启动项目中的其中一项,当用户每次开机时,就启动恶意代码进行非法操作,如发起非法攻击、记录键盘和鼠标事件、获取用户隐私等等。

电子邮件传播的原理:电子邮件中HTML正文可能被嵌入恶意脚本;邮件附件携带病毒压缩文件或者可执行文件。

P2P共享:感染P2P共享文件夹,当用户在P2P文件夹中下载文件时,可能被感染。如WORM、PEERCOPY.A等恶意代码。

网络共享:恶意代码程序中会存在自身的口令猜测逻辑进行口令猜测,试图访问网络共享中存在的文件夹,当获取到用户名和密码后,将自身恶意代码拷贝到网络共享中,并将自身命名为游戏等名称吸引眼球,诱导用户点击触发。

系统漏洞:由于操作系统本身有一些设计缺陷,导致被非法用户通过非法方式利用,执行恶意代码,恶意代码通过系统漏洞进入系统,达到感染目的。如Web DAV漏洞、Local Security Authority Subsystem Service漏洞、RPC-DCOM缓冲区溢出漏洞等是经常被利用的漏洞。

3 因果关联分析

3.1 因果关联分析法

因果联系即有因必有果,万事万物都是存在因果联系的。任何结果的产生都是由因导致的。因果联系中的事物是一种引起与被引起的关系。因果联系理论目前应用到很多领域,本文就是将因果联系理论应用到计算机恶意代码的分析检测中。

3.2 因果关联应用到恶意代码检测

关联特征过滤器的确定。将每个阶段恶意代码攻击的数据包特征进行正则描述,定义成关联特征过滤器集合T={t1,t2,t3,……,tn}。

M个n维的向量表集合的确定。每个向量分量为8的倍数的二进制码,每个向量对于一个IP地址,n维代表共记录了n种恶意攻击。每个内网IP地址对应一个哈希值,恶意代码对应向量表中的其中一维,向量表中的一个单元表示与该内网IP相关的数据包对恶意代码的过滤情况。状态向量集合表的某个位置被更新时,应该判断与状态向量表位置相对于的因果关联特征过滤器的某个位置是否相等,如果两个值相等,则表明此时更新的是最终的状态,如果两个值不相等,则表明此时更新的不是最终的状态。

数据包进入n维度的关联特征过滤器后进行匹配分析,如果匹配则进一步表名该恶意代码具有因果关联特征。

在因果关联分析中,需要用到一种结构,该结构记录了源IP地址,目的IP地址,恶意代码第一次生成时间,最近一次清理的时间,恶意代码编号,所处的攻击阶段等内容信息。需要定期清理可疑IP组,每次清理后将剩下的IP组中的结构更新,同时将状态向量表对应的二进制码归零。这样可以节省部分内存空间,减少恶意代码的误报率。

需要注意的是,只需要存在一个n维的状态向量表,就可以对应n个因果关联特征过滤器T1,T2,T3,……,Tn。

因果关联分析法的恶意代码检测流程是:在网络中读取需要检测的数据包,将数据包的来源IP与高度可疑的IP组相比较,如果发现该IP在高度可疑IP组中,则进入关联特征匹配,如果匹配结果为是,则进一步处理数据包。处理数据包主要是判断是否更新向量表,若内网地址的数据分组与关联特征过滤器中的成员特征成功匹配,那么内网地址对应的向量序号与对应的恶意代码进行哈希计算。匹配结果放置到向量表中的条件是,检测的数据包需要和一个关联特征相匹配。具体流程如图1所示。

4 结束语

为了保障联入网络中的企业和个人能够安全地进行各项日常工作和活动,计算机安全技术,特别是计算机网络安全技术正在飞速的发展。由于其互联网本身的开发特性,当今恶意代码流行的趋势是全球范围的,攻击速度越来越快,几乎为零日攻击,一般是几种网络攻击方式联合,对计算机网络用户造成了严重的安全威胁。针对恶意代码的攻击原理,联入网络中的企业、个人等组织应该提高对恶意代码等网络攻击的安全防范意识,网络管理员应该及时更新操作系统的最新安全漏洞补丁,修补操作系统安全漏洞,加强网络共享管理,强化密码设置,增强安全策略,加强密码强度。

参考文献

[1] 曹跃,梁晓,李毅超,何子昂.基于差异分析的隐蔽恶意代码检测[J].计算机科学,2008.02.

[2] 张甲,段海新,葛连升.基于事件序列的蠕虫网络行为分析算法[J].山东大学学报(理学版),2007.09.

[3] 万琳,廖飞雄,张威,李明亮.一种恶意代码检测方法的实现[A].第十四届全国容错计算学术会议(CFTC'2011)论文集[C],2011年.

作者简介:

李振美(1974-),女,汉族,山东济宁人,研究生;主要研究方向和关注领域:计算机系统安全。

上一篇:一种基于亲缘性的恶意代码分析方法 下一篇:基于WinPE的嵌入式实时仿真系统的设计与研究