版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
浅析土木检测方法的改进
特洛伊木马是窃取用户信息的重要手段之一。现在,网络盗窃的问题越来越严重。特洛伊木马的研究受到了越来越多的关注。与病毒、蠕虫和其他恶意软件不同,特洛伊木马通常不会对用户系统造成重大影响。他们经常躲在用户的计算机上,窃取和监视各种文件,监控用户的动作,并从各种系统收集用户信息。用户对此不知道。因此,隐蔽性是特洛伊木马最重要的特征。随着网络应用服务的繁荣,特洛伊木马检测面临着巨大的挑战。已有的木马检测方法可以分为两类:基于主机的检测方法和基于网络的检测方法.多数基于主机的检测方法存在一个共同的问题:如果恶意代码经过加密或结构重组,那么已有的检测方法将无法识别新生成的恶意代码.这个问题随着加密和打包软件(如ASPack,FSG,PEX,Petite,UPX)的流行而日益突出.基于系统行为的检测方法要求对系统平台有非常深入的了解,其复杂性导致了较大的实现难度.另外,利用系统调用劫持和重排可以达到逃避检测的目的;基于网络的检测方法,大多是利用深度包检测技术(deeppacketinspection),通过提取应用层负载的特征值实现对木马的检测.虽然能够取得较高的准确率,但是只能检测已知的木马实例.本文力图利用网络行为分析领域中的概念、思想和方法,解决已有木马检测手段中所存在的不足和缺点.定义IP对通信会话,从网络层和传输层两个层次对木马和正常应用的网络通信行为进行分析;基于通信行为特征和层次聚类方法,建立木马和正常应用的网络通信行为模型;利用建模结果对木马的通信行为进行检测.本文所探讨的基于网络行为分析的木马通信检测方法是已有的基于网络检测技术的补充.1基于网络的木马检测算法基于主机的木马检测一直是研究的热点.Thimbleby等人对木马模型框架进行了研究并给出了木马的形式化模型.Levine等人的研究为如何对木马进行特征化描述提供了一些方法.Bergeron等人提出了一种检测可执行程序中恶意代码的静态方法.所谓的静态方法,就是在程序没有运行的情况下直接分析程序的二进制代码,预测程序运行的各种行为特征.但是,这种方法过分依赖程序的源代码,由于很多商业软件无法获得源代码,因此这种方法并没有可行性.Kim等人在基于文件完整性理论的基础上,提出了一种木马检测系统——TripWire,该系统利用Hash算法计算文件的校验和,通过检查校验和的一致性判断文件是否被感染、替换、修改.但大多数用户不可能对所有文件都计算校验和,所以此方法应用起来困难重重.Weber等人提出了一种检测可移植执行文件(windowsportableexecutablefile)是否被恶意软件感染的工具模型——PEAT(portableexecutableanalysistoolkit).PEAT可以通过对可移植执行文件的结构分析,检测文件是否在编译后被注入了恶意代码.由于基于主机的木马检测已经无法满足安全上的需要,因此基于网络的木马检测得到了越来越多的关注.Snort是最为流行的入侵检测系统,它配置大约2500条规则用于检测扫描和攻击.Myers等人通过对特殊数据打标记的方法,检测流量中是否含有敏感、机密信息,并以此来判断是否为木马通信.由于这种方法涉及到应用层负载数据的检测,因此对加密过的负载内容就无能为力.Borders等人指出由于加密、混淆等伪装技术的发展,使得基于特征值的检测已不能作为单一的检测手段.Gartner于2005年发布的报告中指出,用户网络行为分析已经成为安全领域的研究热点,只要能为用户正常的网络行为建立模型,就能够依据正常行为模型检测出异常的网络行为.Gu等人研究木马与外界的信息交互方式,分析了命令-控制方式在通信流量上的行为特征.另外,Binkley等人提出了一种基于IRC特征统计与TCP协议相结合的方法来检测基于IRC通信的恶意软件.McHugh等人研究有关隐藏通道的问题,木马经常利用隐藏通道来传送信息.AsSadhan等人研究发现木马每隔一段时间就会接收命令、更新数据、发送信息,这会导致通信流量中表现出周期性的特点.崔翔等人对僵尸网络的通信方式进行了总结和论述.本文研究的方法独立于应用层负载,因此不受加密、混淆手段的影响.另外,此方法结合网络层和传输层两个层次的信息,能够更有效地描述木马的网络通信行为,是已有网络检测方法的有效补充.2控制板与黑客服务安全。根据如下从通信方式上可以将木马分为两类:远程控制型木马和非远程控制型木马.远程控制型木马由被控端和控制端两部分组成,被控端就是植入被攻击电脑中的服务程序,而黑客则通过控制端对被控端进行远程遥控操作;另一类木马是单独作业的,它在被攻击主机中自行运行,收集机密数据回传给黑客或控制被攻击电脑进行其他活动.远程控制型木马提供非常全面的功能,另外它的实时性、高效性也是其他木马无法比拟的.本文主要研究远程控制型木马的网络行为和检测.2.1木马通信过程分析木马被控端和控制端在通信过程中会建立若干条传输层连接.我们把这些连接分为主连接和子连接.主连接是控制端和被控端通信时建立的第1条连接,贯穿于整个通信周期,用于传递命令和保活信息.子连接的建立命令由主连接负责传递,子连接通常对应特定的任务,在任务执行完成后随即断开.为了更好地理解木马通信的过程,我们用一个过程图来描述木马通信中状态的变化,如图1所示:基于上述对木马通信过程的分析,本文从3个方面来阐述木马的网络通信行为.1)主连接是贯穿整个通信周期的连接,用于传送命令和保活信息,它在大部分时间内是处于空闲的.2)当黑客收到被控端返回的结果后,会有一个分析结果的过程.这个过程所消耗的时间要远远大于数据包的时间间隔,如图2所示:3)木马的被控端和控制端在通信过程中会建立若干条传输层连接.这些传输层连接之间的关系具有以下特点:①主连接先于任意一子连接建立;②主连接的持续时间要远长于子连接,如图3所示:2.2木马通信特征木马通信特征的选择是基于IP对通信会话进行的.通信会话是由两个IP(源地址和目的地址)之间相互交换的全部数据信息组成的,当通信的空闲时间超过某一阈值(本文为5min)就认为会话结束.这样我们可以从网络层和传输层两个层面来提取木马的通信特征.木马的网络通信行为具有以下明显的特点:1)流出的数据包数要大于流入的数据包数;2)流出的数据流量也要大于流入的数据流量;3)主连接贯穿于整个通信会话的周期,其持续时间要远大于其余子连接;4)攻击者需要时间对返回结果进行分析,以便进行下一步的操作,这个分析时间要远大于数据包的时间间隔.本文选择的特征包括:OI-pkts,OI-bytes,V-duration,M-interval.oai-ptts被控端流向控制端的数据包数与反方向数据包数的比较.当被控端流向控制端的包数大于反方向的包数,值为1.反之为0.oi-toi被控端流向控制端的字节数与反方向字节数的比较.当被控端流向控制端的字节数大于反方向的字节数,值为1.反之为0.v.dor通信会话的持续时间与主连接持续时间之比.m-interwa主连接上的数据包时间间隔的均值.3会话模型的建立本文在引入IP对通信会话的概念后,就把对木马通信行为的检测转化为对会话实例的检测.木马通信的检测取决于是否能够建立起有效描述木马和正常软件网络行为的模型.我们在分析木马实例的基础上,采用层次聚类的方法,对木马和正常网络应用的通信行为进行建模.然后,采用概率比较的方法对模型中的类进行标记.我们把集合I={I1,I2,…,In}视为一组IP对通信会话.如果每一个实例Ii都已被标记为正常或者异常,我们就用这组IP对通信会话来建立模型.每一个会话实例Ii用一组属性向量来描述,Ii={Iij|1≤j≤m},其中m为属性的个数,Iij为第i个会话实例的第j个属性值.集合C={C1,C2,…,Ck}为模型中类的集合,其中k为模型中类的个数,每一个类Ci都被标记为正常或者异常.对会话实例Ie的检测,实际上就是判别Ie属于C的哪一个元素.3.1基于贝叶斯信息判别式的聚类合并层次聚类是将数据集组成一个树形的聚类.根据层次分解的方向,又可以进一步分解为凝聚(agglomerative)和分裂(divisive).本文主要采用凝聚的方法对网络通信行为进行建模.凝聚的基本思想是针对要聚类的n个实例,计算它们的n×n的距离矩阵,将最接近的两个实例类合并成一个类,这样类的总数就减少一个,然后重新计算各类之间的距离,再将最接近的类进行合并,以此类推,直到最后合并成一个类或到达某个终止条件为止.算法1.通信会话层次聚类算法.输入:会话实例集合I={I1,I2,…,In}、类的数目变量j;输出:C={C1,C2,…,Ck}.①基于贝叶斯信息判别式(BIC)确定合适的聚类数目k;②j=n,Ci={Ni,SAi,S2AiAi2,NBi},其Ni为类Ci中的样本量,SAi为数值型变量值总和,S2AiAi2为数值型变量值平方和,NBi为分类型变量各类别的样本量;③如果j=k,则输出C={C1,C2,…,Ck};④计算Ce和Cf之间的距离d(Ce,Cf),并取其中最小的一对;⑤将Ce和Cf合并成一个新类C〈e,f〉={Ne+Nf,SAe+SAf,S2AeAe2+S2AfAf2,NBe+NBf};⑥去掉Ce和Cf,j=j-1,重复③~⑥.本文中,我们采用的层次凝聚方法具有以下的特点:1)既能处理值为数值型的变量,也能处理值为分类型的变量;2)能够自动确定聚类的数目;3)聚类的过程中,只保存每个中间类的特征统计值,减少了计算开销,适用于大型的数据集.3.2用公式生成相似关系聚类算法最为重要的是如何度量聚类间的相似度.考虑到聚类过程中同时涉及数值型变量和分类型变量,本文采取对数似然值(Log-likelihood)的距离计算方法.设聚类过程中有M个变量x1,x2,…,xm,其中有Mα个数值型变量和Mβ个分类型变量.如果聚成K个类,则对数似然函数定义为l=∑k=1K∑t∈Tklnp(xt|θk)=∑k=1Klk,l=∑k=1Κ∑t∈Τklnp(xt|θk)=∑k=1Κlk,其中,p为似然函数,Tk为第k个类的变量集合,θk是第k个类的参数向量.于是,对已生成的第k个类和第s个类,两者合并后的类记为〈k,s〉,则它们的距离定义为两类合并之前的对数似然估计l与合并后的对数似然估计lnew的差,即对数似然距离定义为d(k,s)=l−lnew=lk+ls−l⟨k,s⟩=ηk+ηs−η⟨k,s⟩,d(k,s)=l-lnew=lk+ls-l〈k,s〉=ηk+ηs-η〈k,s〉,其中,η为对数似然函数的具体形式,定义为ηg=−Ng(∑m=1Mα12ln(S2m+S2gm)+∑m=1MβEgm),Egm=−∑l=1LmNgmlNglnNgmlNg.ηg=-Νg(∑m=1Μα12ln(Sm2+Sgm2)+∑m=1ΜβEgm),Egm=-∑l=1LmΝgmlΝglnΝgmlΝg.上述表达式中各个符号的说明如表1所示:3.3贝叶斯的聚类数目bic利用贝叶斯信息判别式——BIC的变化量dBIC和变化率R(K)来确定聚类的数目,即dBIC(K)=BIC(K)−BIC(K+1),R(K)=dBIC(K)dBIC(1),dBΙC(Κ)=BΙC(Κ)-BΙC(Κ+1),R(Κ)=dBΙC(Κ)dBΙC(1),其中,BIC(K)=−2∑k=1Kηk+mKln(N),mK=K[2Mα+∑m=1Mβ(Lm−1)]BΙC(Κ)=-2∑k=1Κηk+mΚln(Ν),mΚ=Κ[2Μα+∑m=1Μβ(Lm-1)],贝叶斯判别式的第1项是K类对数似然的总和,是类内差异性的总度量.第2项是模型复杂度的惩罚项.合适的聚类数目应该是BIC取最小时的聚类数目.3.4标记的决策函数针对聚类算法生成的类集合C={C1,C2,…,Ck},采用概率比较的方法进行标记.其中的概率函数为p(y=xi|Cj)=nijnj,p(y=xi|Cj)=nijnj,xi∈{abnormal,normal},j=1,…,k,nij为类Cj中标记为xi的样本总数,nj为类Cj中的样本数.定义p(y=abnormal|Cj)为β,p(y=normal|Cj)为α,则标记的决策函数为Cj=⎧⎩⎨⎪⎪normal,α>β;abnormal,α<β;unknown,α=β.Cj={normal,α>β;abnormal,α<β;unknown,α=β.4实验与分析4.1口流量生成训练集和测试集实验中使用的数据采集自我们实验室网络的关口流量.将在隔离网络中采集的木马通信流量混入关口流量,生成训练集和测试集.我们把关口流量分成两份.其中一份为2011-04-08T13:00~2011-04-09T13:00的关口流量数据,用于生成训练集;另一份为2011-09-09T8:00~2011-09-14T10:00的关口流量数据,用于生成测试集.4.2评估量本文采用准确率和误报率两个量度对模型的检测效果进行评估.12准确性表示正确检测的木马通信会话实例数量占测试集中木马通信会话实例总数的比例;2误报率表示被模型错误标记为木马会话的实例在所有被标记为木马会话实例中的比例.4.3木马和正常应用的比较利用3.4节中的标记方法,对模型中所有的类进行标记.然后根据{normal,abnormal}分类对所有被标记的类进行统计.统计结果如图4所示.图4(a)显示木马通信会话和正常应用会话在进出数据包数上有着明显的差别.正常应用中流入的数据包要占到总数的89%左右,流出的数据包不足12%.而木马通信中流入的数据包只占到27.3%,而流出的数据包则达到总包数的72.7%.显然,正常应用的流入数据包远大于流出数据包,而木马通信则相反;图4(b)显示了在流量方面具有和数据包相同的特征.正常应用的流入字节数要占到64%左右,其流出字节数只占到36%.木马的流出字节数要达到92%以上,而流入的字节数不到8%,这是由于木马的流入数据多是一些命令信息,每条命令只有几百字节甚至几十个字节.图4(a)(b)说明,在进出流量统计方面,木马和正常应用具有明显的差别;图4(c)描述的是在不同种类的通信会话中,会话持续时间和主连接(第1条连接)持续时间之间的比较.图中不同颜色的点代表着不同种类的通信会话,对角线代表着会话持续时间等于主连接的持续时间.从图4(c)可知,几乎所有的点都处在对角线的右下方,这说明会话的持续时间总是长于或等于主连接的时间.绝大多数木马的通信会话都很接近这条对角线,而正常应用的通信会话要相对远离对角线,这说明木马的主连接时间比正常应用更接近于会话的持续时间;图4(d)是为了说明主连接(第1条连接)中数据包时间间隔的情况.从该图我们可以看出,在正常的流量中,大多数的包间隔都集中在5s以下,5s以下的数据包时间间隔占到总数的77%以上,仅2s以下的包间隔就达到大约46%.而10s以上的包间隔非常少,总共不足15%.统计得出正常流量的包间隔通常比较小.而在木马通信流量中,数据包时间间隔的分布相对要离散得多.5s以下的只占到总数的20%左右,而10s以上的则要占到接近60%,大于15s而小于等于20s的包间隔达到最高的26%.木马主连接中的数据包时间间隔要明显大于正常流量中的,这正如第3节所分析的那样,木马的包间隔要考虑人工分析时间的影响,而分析时间要明显的大于正常的包间隔.结果分析验证了所选取的特征具有较好的效果.4.4检测结果的检验我们选取了比较典型的5种木马作为检测的对象,它们分别是Gh0st,Drat2010,win32.huigezi,Zxshell和Pcshell.利用混有木马通信流量的测试集对模型的检测效果进行评估,检测结果如图5所示.从图5(a)可以得到,所有木马通信检测的准确率都在85%以上.在检测的木马中,对win32.huigezi的准确率最高达到92%以上,对Zxshell的识别率相对较低但也在87%左右.实验证明我们的方法能够达到较为理想的检测准确率;从图5(b)可以看出,木马通信检测的误报率平均在6.3%左右;误报率最低的是Drat2010,其误报率是5%;最高的是win32.huigezi,误报率接近9%;Gh0st的误报率是7.5%.所有木马的误报率都低于10%,证明方法在误报率方面也有较理想的效果.5与文献的比较1)与文献的工作进行比较.文献的工作提出了一种基于主机的恶意代码检测方法.对程序代码本身的结构、功能进行分析,找出恶意代码的结构特征和程序执行流程特征.由于该方法是直接对二进制代码进行分析,所以过于依赖程序源代码.目前,很多程序都经过加密、压缩过,直接对源代码分析变得非常困难.我们的方法是基于网络的,因此是独立于程序源代码的,不会受到加密、打包工具的影响.2)与文献的工作进行比较.文献的方法是计算某个文件的校验和,并定期地对该文件进行检查,对比文件现有内容的校验和与原来保存的检验和是否一致,以此来判
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 衣物代洗协议书
- 语文合作协议书
- 幼儿代餐协议书
- 装修劳务协议书
- 小程序合同协议
- 自愿走读协议书
- 学生招聘协议书
- 详细雇佣合同范本
- 2026年上半年湖南株洲市市直单位公益性岗位招聘16人考试重点题库及答案解析
- 资产顶账协议书
- 求职OMG-大学生就业指导与技能开发智慧树知到期末考试答案章节答案2024年中国海洋大学
- JBT 7387-2014 工业过程控制系统用电动控制阀
- A课堂惩罚游戏
- 整理收纳师行业分析
- GB/T 228.1-2021金属材料拉伸试验第1部分:室温试验方法
- 氢能与燃料电池-课件-第五章-制氢技术
- 科研伦理与学术规范-课后作业答案
- 2023QC小组活动基础知识培训
- 生理学期末考试复习试题库及答案
- 旅游地理学 国家公园建设与管理
- JJF(石化)036-2020漆膜附着力测定仪(划圈法)校准规范
评论
0/150
提交评论