网络攻击的智能精准检测方法与实践

2018-05-16 06:00:12林榆坚梁宁波
信息安全研究 2018年5期
关键词:数据流漏洞数据包

林榆坚 梁宁波

(北京安赛创想科技有限公司 北京 100083)

(linx@aisec.com)

2017年11月21—28日,由贵阳市大数据发展管理委员会、贵阳市公安局、贵阳经开区主办的2017贵阳大数据及网络安全攻防演练圆满结束.本次演练活动以“共建安全生态,共享数据未来”为主题.为期8天,在2016年“安全诊断”与“意识唤醒”的基础上,进一步推进攻防演练的迭代升级,邀请40余位大数据及网络安全领域的知名院士、专家莅临指导,30余支国内一流水平的攻防团队参与演练.

图1 WebIDS检测流程

在此次攻防演练活动中,安赛科技作为受邀参加演练的优秀安全厂商之一,再次征战贵阳防护演练,在演练过程中积极配合指挥部相关工作,不仅协助主办方做了部分比赛方案规划和技术把关工作,同时也作为攻击团队,参与了对在水务系统、工业云、汽车北斗定位系统等一大批门户网站的漏洞检测和攻击渗透等相关项目.安赛科技凭借此次活动中表现出的积极态度、专业精神、精湛的技术能力,赢得了组委会一致认可及感谢,并在攻防比赛中获得“安全使命奖”、“安全协作奖”、“安全防卫奖”3项重要奖项.

在演练防守中,安赛科技拳头产品Web漏洞感知与入侵检测系统大放异彩,凭借出色的智能化、高精准入侵检测与漏洞感知能力,保障目标系统正常运行.不仅是针对Web的防护取得成功,像水务系统的工控系统也在Web漏洞感知与入侵检测系统产品的防护下,提高了防护能力.

安赛科技作为中国信息安全测评中心——CNNVD国家信息安全漏洞库技术支撑单位,国家互联网应急中心——CNVD国家信息安全漏洞共享平台技术合作单位,国家信息技术安全研究中心网络空间联合实验室成员,工信部全国信息技术人才培养工程培训基地,OWASP中国区CWASP唯一授权培训中心,拥有丰富的网络攻防实践经验和理论基础,为圆满完成包括G20峰会、“一带一路”、十九大、金砖5国峰会在内的重大时期网络安全保障提供技术支撑.

1 产品概述

根据2017年Trustwave《2017全球网络安全报告》显示,99.7%的Web应用都有安全漏洞[1].威胁和安全响应是一场时间争夺赛,42%的新漏洞在纰漏30天内被黑客利用,企业响应的时间远大于30天,打的就是时间差[2].缩短安全事件破坏和响应修复间的时间差,是减少经济和数据损失的关键.曾“名声大振”的勒索软件WannaCry让超过24万受害者遭受损失,而相比于“震网”这类高度复杂的攻击,WannaCry本身的技术性不强,但传播快、感染范围广.尽管所有厂商都纷纷宣称可以检测到WannaCry,客户最关注的不是你能否“检测”到,也不是在事后能从海量数据中寻找牵强附会的数据进行自圆其说,而是能在第一时间将关键信息呈现出来.这是夯实组织对抗威胁的基础工程能力的重要组成部分,提升有效的告警和响应能力是客户关注的焦点.

1.1 总体设计

基于上述原因,Web漏洞感知与入侵检测系统开发设计之初就秉承“以客户为中心”的理念,如图1所示.以黑客视角从“Web应用攻击周期”和“Web漏洞攻防实践”深度理解的角度出发,结合“全流量镜像技术”和“大数据处理技术”,为用户提供面向Web应用智能化、高精准的漏洞感知及入侵检测系统.

1.1.1设计目标

设计Web漏洞感知与入侵检测系统时,数据采集模块作为系统的基础,应该着重考虑以下4个目标:

1) 精确性.采集到的数据可以精确代表网络中数据流的状态.

2) 实时性.对采集到的数据应当进行高效快速的处理,防止因处理速度跟不上收报的速度而引起采集数据的丢失.

3) 高效性.数据采集模块应当可以占用较少的系统资源,高效地完成数据采集任务.

4) 可重现性.对采集到的网络流数据应当具备汇聚存储的功能,以便出现异常后对网络流数据进行进一步的分析处理.

设计关联分析算法应该考虑以下3个目标:

1) 准确性.准确性是异常检测算法的基本要求,准确性要求算法应该具有高检测率和低误检率.

2) 健壮性.健壮性要求检测算法具有较强的抗干扰能力,能够适应网络流量强度多变和业务类型多变的运行环境.

3) 实时性.检测算法应能实时地检测各种网络性能问题和安全隐患,从而为尽早采取措施、减少造成的危害创造条件.

1.1.2层次模型

网络异常行为检测及判定系统功能架构如图2所示.包括Web前端管理模块和攻击检测模块.Web前端管理模块中包括日志查看模块、分析报告模块、系统管理模块;攻击检测模块中包括漏洞扫描识别引擎、Web漏洞识别引擎、攻击影响判定引擎、攻击关联分析引擎.

图2 Web IDS层次模型示意图

2 核心技术研究

2.1 数据采集方法研究

攻击者只需要找到1个漏洞或者1条路径,就能一招致命,防御者却需要堵住所有漏洞和入口,从投入产出来讲,显然是不对等的.但如果反过来想,攻击者需要抹掉所有自己的攻击路径和痕迹才能自保,防御者却只需要找到1处踪迹也许就能追溯反制,从投入产出来讲,显然是180°的转弯.提高检测、监测和溯源能力是当前发现攻击者蛛丝马迹的唯一途径.

发现攻击者蛛丝马迹的核心问题是从网络流中发现异常的网络行为,需要保证对流量进行准确的描述、实时的检测并且获得全面的信息.由于网络流量在刚开始时被定义为来自源、目的地址之间的所有数据包的和,因此根据这项定义也就产生了网络流这个概念.网络流的最早定义是由Jain等人[3]提出的Packet Train(数据包队列)模型.他定义了一个Packet Train为从相同的源端点发往统一目的端点的1串数据包.若2个包之间的间距超过了数据包队列的距离,那么这2个包属于不同的序列.在这个模型中,队列间距是1个用户参数,依赖于应用程序使用网络的频率.1个应用程序2次使用网络的时间间隔过长,该应用程序发出的2组数据包可能归为2个网络流.网络监控中通常监控的对象类型主要有:目的IP地址、源IP地址、目的端口和协议、源端口和协议等[4].Claffy等人[5]在Jain的Packet Train模型的基础上提出了新的网络流定义:在2个网络实体之间符合某种准则的数据包序列.分析网络行为的第1步就是对网络中的数据进行采集.网络监视一般使用采样技术,通常基于时间或者基于数据包进行采样.为了对某个网络的流量进行测试分析,需要通过测量手段采集网络上流过的数据包或者关于数据包的统计量信息.也就是说需要完成网络数据的采集.

近年来应用比较广泛的网络流技术主要包括:NetFlow(Cisco公司)、J-Flow(Juniper公司)、sFlow(HP,InMon,Foundry Networks公司)、NetStream(华为公司).其中J-Flow和NetStream这2种网络流的原理和内容基本上与NetFlow相类似,故可以认为目前应用常见的网络流主要以NetFlow和sFlow为主[6].

2.1.1基于NetFlow的流量采集方法

Cisco公司开发的NetFlow技术用于专用流数据处理,可以为流量统计信息提供原始数据,其工作原理是:NetFlow利用标准的交换模式处理数据流的第1个IP包数据,生成NetFlow缓存,随后同样的数据基于缓存信息在同一个数据流中进行传输,不再匹配相关的访问控制等策略,NetFlow缓存同时包含了随后数据流的统计信息.

在NetFlow的协议规范中将流定义为从源主机到目的主机的单向数据包的集合.1个数据流由7个参数标识:源IP地址、目的IP地址、协议类型、源传输层端口、目的传输层端口、业务类型TOS以及设备的输入接口.基于NetFlow的采集方法采用了3层体系结构,包含数据输出设备、数据收集器和数据分析器.通过这些设备完成采集、汇聚、输出、接收、过滤、存储到分析流数据的整个过程.通常情况下,NetFlow设定1个集中的服务器或者工作站完成对多个路由交换设备上报数据的收集处理.上报数据中包含更多的信息,包括数据流的起止时间、字节数、报文数、路由信息或AS域等.清晰的参数标识和详细的数据信息为关联分析和线性回归提供了有效的数据.

2.1.2基于sFlow的流量采集方法

sFlow是由In Mon,HP,Foundry Networks于2001年联合开发的一种网络监测技术,它采用数据流随机采样技术,可提供完整的第2层到第4层,甚至全网络范围内的流量信息,可以适应超大网络流量(如大于10 Gbs)环境下的流量分析,让用户详细、实时地分析网络传输流的性能、趋势和存在的问题[7].

sFlow是基于标准的最新网络导出协议(RFC 3176),能够解决当前网络管理人员面临的很多问题.通过将sFlow技术嵌入到网络交换机的ASIC芯片中,sFlow已经成为一项线速运行的“一直在线”技术.与使用镜像端口、探针和旁路监测技术的传统网络监视解决方案相比,sFlow能够大大降低实施费用,采用该技术,一种面向每一个端口的全网络监视解决方案成为可能.

与数据包采样技术如RMON不同,sFlow是一种导出格式,它增加了关于被监视数据包的更多信息,并使用嵌入到网络设备中的sFlow代理转发被采样数据包,因此在功能和性能上都超越了当前使用的RMON,RMON II技术.接收sFlow数据包的设备称为采集器(collector).sFlow技术之所以如此独特,主要在于它能够在整个网络中以连续实时的方式完全监视每一个端口,但不需要镜像监视端口,对整个网络性能的影响也非常小.

sFlow使拥有高速千兆和万兆端口的现代网络能够得到精确的监视,同时,经过扩展,可以在1个采集点上管理数万个端口.因为sFlow代理嵌入在网络交换机ASIC中,所以与传统的网络监视解决方案相比,这种方法的实施成本要低得多.而且,也不需要购买额外的探针和旁路器就能全面监视整个网络.

与那些需要镜像端口或网络旁路器来监视传输流量的解决方案不同,在sFlow的解决方案中,并不是每一个数据包都发送到采集器.sFlow使用2种独立的采样方法来获取数据——针对交换数据流的基于数据包的统计采样方法和基于时间采样的针对网络接口统计数据(类似RMON的轮询).而且,sFlow还能使用不同的采样率对整个交换机或仅对其中一些端口实施监视,这样保证了在设计管理方案时的灵活性.

2.1.3采集方案小结

NetFlow协议虽然功能较强,但其信息仅包含网络层的信息,单独使用有一定的局限性,而sFlow协议广泛应用于交换机设备,且技术也比较成熟,可以弥补NetFlow在其他层数据获取方面的不足.由于单一网络流在协议本身设定和外界网络因素的影响下导致出现的信息覆盖不全面和数据丢失严重的现象,从而使单一网络流协议的应用有一定的局限性.安赛创想科技在设计数据流采集模块时采用基于NetFlow和sFlow 2种协议字段融合的方法,不仅克服了单一网络协议的数据局限性的弊端,而且还降低了网络数据存储量和运行主机的CPU负载率.

2.2 关联分析算法研究

2.2.1Apriori算法

Apriori算法是一种同时满足最小支持度阈值和最小置信度阈值的关联规则挖掘算法[8].使用频繁项集的先验知识,通过逐层搜索迭代的方式探索项度集.将NetFlow数据流的7元组信息和sFlow网络性能方面的特征信息,范化为数据集合.通过定义支持度阈值和最小可信度阈值,找到频繁项集.在异常行为检测中,求得流量中元素在整体流量样本中的频繁项集和关联规则.根据每种元素经范化后,都可作为一种特征标识,进行组合筛选,得出该样本中的“异常”行为(组合元素越多准确度越高).由于Apriori算法无法定义异常行为,所以需要与其他算法相结合分析异常行为.将基于最小支持度与可信度计算得出的多元素集合作为验证样本,导入预先设计的SVM算法框架,记录异常流量在样本算法中的百分率,并调整最小支持度与可信度,提高检测效率.

2.2.2FP-Growth算法

对于大量数据的关联分析,Apriori算法在数据扫描计算量上有比较大的局限.对于每个潜在的频繁项集都会扫描数据集判定给定模式是否频繁[9].FP-Growth算法,通过构建FP树来存储数据,只需要对数据库进行2次扫描.经过测试,可以使效率提高2个数量级.利用FP-Growth算法发现频繁项集的过程分为2个步骤:构建FP树和从FP树中挖掘频繁项集.1个元素可以在1棵FP树中出现多次.FP树会存储项集的出现频率,而每个项集会以路径的方式存储在树中.存在相似元素的集合会共同分享树的一部分.只有当集合之间完全不同时,树才会分叉.树节点上给出集合中的单个元素及其在序列中的出现次数,路径会给出该序列的出现次数.在大量数据网络异常检测中,使用FP-Growth算法,可有效提高效率.

2.3 分析结果呈现

将计算后的符合最小支持度和最小可信度的多元素集合及其超集数据流进行深度报文检测,按照“Web应用攻击周期”归类(如图3所示),便于用户决策.

图3 WebIDS安全事件等级呈现图

3 仿真实验

3.1 特征提取及参数选择

基于大数据关联分析方法的网络异常流量监测,与传统的网络异常流量监测在方式上有很大不同.传统的监测是预先知道异常流量特征,再通过扫描、监测等手段寻找带有该特征的流量,进而达到监测目的.在大数据关联分析中,分析引擎没有预先定义扫描特征.只对NetFlow,sFlow流量模型作特征值提取和范化,如表1所示.基于时效性与实际编码运算能力,本文预先搜集了2 260个流量样本,其中异常样本760个(占比33.62%),1 500个正常样本(占比66.38%).将总体样本分为10份,对其中7份进行大数据关联分析.并对余下样本使用特征检测方式检验.

表1 部分流量特征化结果

本文是用NetFlow流模型,提取其中流量定义特征,选取其中7种特征进行关联分析,分别是:源IP地址、目的IP地址、源端口号、目的端口号、包数量、协议类型、流量值.并对其进行范化,以适应关联分析算法数据处理方式,并易于在结果中发现其中逻辑关系.

3.2 实验结果分析

为了更准确地评估关联分析法检测的准确率,本文采用准确率、召回率、F值评测进行评估[10],正确率是提取出的正确数据条数提取出的数据条数;召回率是提取出的正确信息条数样本中的信息条数;F值是正确率×召回率×2(正确率+召回率).基于处理好的样本,对传统检测技术和大数据关联分析技术进行对比,实验结果如表2所示:

表2 Web异常网络行为检测的正确率、

从实验结果可以看出,关联分析法在正确率、召回率、F值测评的结果比传统基于特征库匹配规则检测技术更好.说明使用大数据关联分析法有利于提高检出率,降低误报率.

4 总 结

本文针对SQL注入、DDOS攻击、XSS攻击、越权访问等,采取关联分析法,对数据流量进行检测,可以准确快速地检测出异常行为,表现出较好的性能.将异常流量通过DPI深度包检测,结合黑客视角进行事件等级归类展现.由于样本选取数据量及种类有限,且大多为已知威胁,静态特征库在检出率上占有一定优势.后期研究,将纳入第三方检测机制,更准确地计算出检出率,并对关联算法进行优化.

参考文献

[1]Trustwava. 2017 Trustwava Global Security Report[EB/OL]. 2017[2018-04-15]. https://www.trustware.com/Resources/Library/Documents/2017Trustwava-Global-Securiby-Report

[2]华为敏捷网络. 从“随云而动”到“动态对抗入侵”, 检测智能让企业从被动防御变为主动防御[EB/OL].[2018-04-15]. http://www.sohu.com/a/194472405_505784

[3]Jain R, Routhier S A. Packet trains—Measurement and a new model forcomputer network traffic[J]. IEEE Journal on Selected Areas in Communications, 1986, 4(6): 986-995

[4]王风宇, 云晓春, 王晓峰, 等. 高速网络监控中大流量对象的提取[J]. 软件学报, 2007, 18(12): 3060-3070

[5]Claffy K C, Braun H W, Polvzos G C. A parametrizable methodology for Internet traffic flow profiling[J]. IEEE Journal on Selected Areas in Communications, 1995, 13(8): 1481-1494

[6]陶桦. 网络运行状况监控研究[D]. 南京: 东南大学, 2004

[7]张红林, 王宏. 一种基于sFlow的网络流量分析方法[J]. 计算机工程与科学, 2007, 29(8): 61-63

[8]赵洪英, 蔡乐才, 李先杰. 关联规则挖掘的Apriori算法综述[J]. 四川理工学院学报: 自然科学版, 2011, 24(1): 66-70

[9]王文槿, 刘宝旭. 一种基于关联规则挖掘的入侵检测系统[J]. 核电力学与探测技术, 2015, 35(2): 119-123

[10]王同庆. 动态环境下嵌入式网络关系和网络能力对服务创新的影响[D]. 济南: 山东大学, 2012

猜你喜欢
数据流漏洞数据包
漏洞
今日农业(2022年13期)2022-09-15 01:21:08
汽车维修数据流基础(下)
SmartSniff
一种提高TCP与UDP数据流公平性的拥塞控制机制
三明:“两票制”堵住加价漏洞
中国卫生(2016年5期)2016-11-12 13:25:28
漏洞在哪儿
儿童时代(2016年6期)2016-09-14 04:54:43
基于数据流聚类的多目标跟踪算法
高铁急救应补齐三漏洞
中国卫生(2015年12期)2015-11-10 05:13:38
北医三院 数据流疏通就诊量
中国卫生(2014年7期)2014-11-10 02:32:54
基于Libpcap的网络数据包捕获器的设计与实现