赞
踩
转自:http://www.2cto.com/Article/201601/485562.html
1 概述
随着人类社会信息化程度的不断深入,信息系统产生的数据也在呈几何级数增长。对这些数据的深入分析可以得到很多有价值的信息。由于数据量太大以及数据属性的多样性,导致经典的统计分析方法已经无法适用,必须采用以机器学习理论为基础的大数据分析方法。目前,大数据分析的方法已经被广泛用于商业智能(BI)领域,并取得了令人非常满意的效果。这种方法同样可以应用在信息安全领域,用于发现信息系统的异常情况(入侵和攻击、数据泄露等)。利用大数据分析的方法发现异常事件,需要满足几个条件:1)行为日志在内容必须足够详细,可以从日志内容上区分正常行为和异常行为。也就是假定异常行为无论在表面上看多么正常,总是在细节上与正常行为有差异。2)针对不同的分析目标,选用恰当的分析算法。3)对行为描述进行合理的建模。
2 基于DNS日志分析的僵尸网络检测
2.1 DNS解析请求日志的格式及说明
不同的DNS系统及配置参数,生成DNS解析请求日志也不尽相同,这里仅用一种日志加以说明。
Default
1
Jul 22 10:59:59201307221059 GSLZ-PS-DNS-SV07-YanT '17 75 1374461999.999790 1307221059218.203.160.194 53 218.203.199.90 5826 dns 0,0,4692,0|4|5 1 www.baidu.com, 1,11 www.baidu.com,1,1,3,111.11.184.114'
其中
其中,标记位各种取值的含义如下:
QR是1个bit位:0代表查询报文,1代表相应报文
opcode是4个bit位字段:0代表标准查询,1代表反向查询,2代表服务器状态请求
AA是1个bit位,是Authoritative Answer的缩写,指明名字服务器是授权于该域的
TC是1个bit位,是Truncated的缩写,意为可截断的,指明在UDP中应答报文超过512字节时,只返回512字节
RD是1个bit位,是Recursion Desired的缩写,意为期望递归,期望名字服务器必须处理这个查询,而不是给出一个迭代查询服务器的列表
RA是1个bit位,是Recursion Available的缩写,意为可用递归,如果名字服务器支持递归查询,这会将此位设置为1
zero是3个bit位,设置为0
rcode是4个bit位,表示名字差错,0为无差错,3为有差错。当查询中指定的域不存在的时候,就返回3
响应状态
“NOERROR” => 0, 无错误条件.
“FORMERR” => 1, 因为一个格式错误,域名服务器无法解释这个请求
“SERVFAIL” => 2, 在处理这个请求时域名服务器遇到一个内部错误。例如操作系统错或转发超时。
“NXDOMAIN” => 3, 某些域名应该存在而没有存在。
“NOTIMPL” => 4, 域名服务器不支持这种指定的 Opcode.
“REFUSED” => 5, 出于策略和安全原因域名服务器拒绝执行特定的操作。
“YXDOMAIN” => 6, 某些域名不应该存在但是存在。
“YXRRSET” => 7, 某些RRset不应该存在但是存在。
“NXRRSET” => 8, 某些RRset应该存在但是不存在。
“NOTAUTH” => 9, 域名服务器对区域名没有被授权
“NOTZONE” => 10, 在预查询或更新段中一个域名没有在区域段中记录。
2.2正常与异常DNS解析请求的对比分析
大多数僵尸主机在最初感染的恶意程序,只是一个下载器程序,真正能完成有害操作的恶意程序要从恶意程序分发服务器上下载。因此僵尸主机安装下载器之后,首要的工作就是发起一系列域名解析请求,用来获知恶意程序分发主机的IP地址以便完成恶意程序实体的下载。在完成实体恶意程序之后,僵尸主机还会发送域名查询请求,以便获知控制服务器的IP地址并与之建立联系,等待控制服务器发送指令。为了避免分发服务器和控制服务器被网络监管人员发现并摧毁,僵尸网络的控制者采用了很多技术手段对这两类关键服务器进行保护,诸如动态域名、Fast Flux技术等。还有一类DNS查询请求本身就是僵尸主机发起的攻击,其特征也与正常的查询请求有很大区别。总之,僵尸主机会发送大量的域名查询请求,而且这些请求与正常的域名请求在诸多属性有明显的差异。
表2-1异常查询请求与正常查询请求的差异对比
2.3 相似性分析的一般过程
由于正常的域名查询请求占绝大部分,且彼此之间具有明显的相似性,而僵尸主机的域名查询请求日志则有明显的差异,因此非常适合采用相似性分析的方法进行区分。相似性分析的一般步骤是:1)确定被分析对象(源IP地址或域名)。2)确定分析的属性。3)将属性量化成可分析的数值。4)将数据写入描述性矩阵。5)以描述性矩阵为输入数据,代入相似性计算公式,计算被分析对象的相似关系。
相似性分析通常把每个数据对象看作多维空间中的一个点,对象之间的相似性可以用相似性系数或某种距离来表示。相似系数接近1或距离较近的对象性质较相似,相似系数接近0或距离较远的对象则差异较大。不同的数据类型,适用不同的相似系数计算公式。常用的相似系数或距离计算公式有:
(2-1)
(2-2)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。