基于蜜罐提升Snort检测能力的设计

2016-09-12 02:34陈翠云梁华庆
电子设计工程 2016年4期
关键词:入侵检测特征提取

陈翠云,梁华庆

(中国石油大学(北京)地球物理与信息工程学院,北京 102249)

基于蜜罐提升Snort检测能力的设计

陈翠云,梁华庆

(中国石油大学(北京)地球物理与信息工程学院,北京 102249)

在应对网络攻击过程中,入侵检测系统Snort扮演了重要角色,如何提升Snort的防护水平至关重要。本文提出了一种利用低交互蜜罐系统捕获网络攻击流量,提取攻击特征,进而主动提升Snort检测能力,实现快速发现安全威胁能力的方法,进行了实验设计。实验结果表明,经过该方法主动升级Snort特征库,能够有效提高Snort的入侵检测能力。关键词:蜜罐技术;入侵检测;渗透攻击;特征提取

随着计算机网络的日益普及,互联网给人们带来了极大的生活便利,同时也产生了越来越多的网络安全问题。近年来针对网络安全问题,业界进行了大量的讨论和研究,如何第一时间发现网络攻击成为关注的焦点,其中入侵检测系统成为了该环节重要一部分。Snort是一种优秀的开源入侵检测系统,具有扩展方便,维护、部署简单等特点,受到业界的广泛的关注,其他产品级的入侵检测系统也都或多或少的参考了Snort的检测思想。但是Snort检测能力主要依赖于其规则库,规则库的质量、数量以及更新速度决定了Snort的检测能力[1],因此如何快速、全面发现攻击特征并且更新特征库具有重要意义。传统更新规则库的方法往往是通过被动分析真实发生的攻击事件,从事件现场中提取攻击特征,然后将特征转化成规则来实现的。这种方式存在很多局限性,首先是以牺牲部分真实业务系统作为代价,其次可能因系统被严重破坏而无法提取到有效的规则。为了弥补这些不足,文中提出了利用低交互式蜜罐捕获网络攻击,进而提升Snort检测能力的思路进行了实验设计。实验设计是利用metasploit工具进行渗透攻击,低交互蜜罐系统捕获攻击,从捕获到的攻击数据中提取特征并转化成Snort规则,进而主动提升Snort检测能力。

1 蜜罐系统

1.1 蜜罐概念

蜜罐类似攻击情报收集系统,所有进出蜜罐的网络活动都将被记录保存下来。蜜罐的价值就在于被扫描,攻击和攻陷。蜜罐本身存在很多漏洞,就好比是网路管理员精心设置的“陷阱”,在攻击者看来这是一台“千疮百洞”的机器,但是一切却尽在管理员掌握之中。

蜜罐按照与攻击者交互程度的高低分为低交互式蜜罐和高交互式蜜罐[2]。低交互蜜罐是通过程序模拟了一系列有漏洞的系统服务或应用,其优点是部署简单、风险较小且容易维护,缺点是与攻击者的交互力度较低,无法捕获完整的攻击过程。高交互蜜罐系统一般是由在真实的主机上安装存在有漏洞的系统或应用组成,优点是与攻击者交互程度高,可以获得较为详细的攻击信息,但是部署复杂并且风险较大,可能会被攻击者当作跳板机,从而攻击其他机器。根据本文设计的需要采用低交互蜜罐系统。

1.2 Dionaea低交互蜜罐的介绍

目前低交互蜜罐产品比较多,文中采用的是dionaea低交互蜜罐系统[3]。Dionaea是HonetNet Project中的一种优秀的低交互蜜罐系统,主要功能是针对常见的网络攻击进行捕获。Dionaea具有模块化的结构,使用python脚本模拟网络协议栈和一些常用的应用层服务协议,目前支持的协议类型和服务主要有SMB、http、tftp、ftp、MySQL、MSSQL、SIP等。通常情况下,所有进出蜜罐的行为都意味着攻击的发生。利用蜜罐捕获攻击数据,在攻击者开始大范围的攻击之前,通过分析攻击数据,进而主动提升检测系统的检测能力,阻断恶意攻击行为。

2 Snort入侵检测系统

2.1 Snort简介

Snort是一种具有多平台,实时流量分析,网络IP数据包记录等功能的网络入侵检测/防御系统。Snort有3种工作模式:嗅探器、数据包记录器和网络入侵检测模式。其中嗅探器是指snort从网络上读取数据包,然后显示在控制台上,例如snort-v、snort-d等。数据包记录器指将数据包记录到硬盘上,例如snort-dev-l./log-h 192.168.254.1/24。网络入侵检测模式是最复杂的,本文当中为了检测分析蜜罐捕获的数据包,而采用了这种工作模式。在这种检测模式下,snort会对每个数据包和规则集进行匹配[4],匹配成功就采取相应的动作,并且会将分析结果记录到snort数据库中,其中snort数据库包括data,detail,icmphdr,iphdr,tcphdr,udphdr等数据表。

2.2 Snort规则

Snort规则是snort能够进行入侵检测最重要的一部分[5],采用的是轻量级的规则描述语言,启动或者关闭snort规则都要在配置文件里面进行配置。

Snort规则分为两个逻辑部分:规则头和规则选项。规则头包括规则动作、协议、IP地址、方向操作符以及端口信息。Snort中有5种规则动作:Alert、Log、Pass、Activate、Dynamic,目前支持的规则协议有TCP、UDP、ICMP和IP。

规则选项是snort入侵检测的核心,包括选项关键字和参数,其中关键字content经常被使用。content的选项参数可以包括混合的文本和二进制数据,例如:alerttcp192.168.254.1/ 24 any->192.168.254.143445(content:“|50 4C 44 66|/bin/sh”;msg:“SMB overflow!”;)。

文中的设计是首先判断snort能否检测到蜜罐捕获的攻击数据,然后根据攻击流量的情况选择是否增加新的规则。在实验当中的网络攻击部分,文中选择了优秀的渗透攻击工具metasploit,因为其在渗透攻击领域具有较广泛的使用率,能够最大程度的接近真实的攻击情况,并且具有优越的性能和快速更新能力,成为本文测试的首选工具。

3 Metaspolit简要介绍

Metaspolit是渗透测试与攻击的必备工具[6],功能丰富,其中使用MSF(Metasploit Frame Work)终端作为用户接口,MSF终端是metasploit框架中功能最为灵活,最为丰富的工具之一。借助MSF终端可以发起渗透攻击,创建监听器或者对整个网络进行自动化攻击。MSF终端启动非常方便,只需要在命令行中输入msfconsole即可。

Metasploit包含数百个模块,而且也在持续更新中[7]。在MSF终端中输入show exploits会显示metasploit中所有可行的渗透攻击模块,约为200个,随着网络安全漏洞的不断增加,此模块也会越来越多。Show options会显示metasploit框架中各个模块正确运行所需要的一些设置,例如use windows/smb/ms08_067_netapi,show options显示参数如表 1所示。

表1 show options显示的参数Tab.1 The corresponding parameter of show options

同时为了更好地进行漏洞渗透攻击,metasploit经常和一些漏洞扫描器结合使用。漏洞扫描器主要用来找出系统或应用中存在安全漏洞的工具,在本文实验中采用nmap作为漏洞扫描工具。Nmap是一款进行网络扫描和主机检测非常有用的工具,常常被攻击者用来进行攻击前的信息收集,它适用于winodws、linux、mac等操作系统[8],其功能包括检测网络上存活的主机(主机发现)、主机上开放的端口(端口发现或枚举)以及检测相应端口(服务发现)的软件和版本、操作系统等信息。

4 实验设计

4.1 组网以及环境部署

本文实验设计需要的硬件环境:

使用三台安装Ubuntu12.04系统的Vmware虚拟机A、B、C,其中A虚拟机安装蜜罐系统捕获攻击数据,B虚拟机安装攻击工具 nmap、metsaploit,C虚拟机安装入侵检测系统snort。按照本文系统设计需求将网络模式设置为桥接模式,虚拟机A的ip为192.168.254.143,B的ip为192.168.254.144,实现一个简单的局域网,如图1所示。

图1 实验环境Fig.1 Experimental environment

文中A机器的被攻击环境依托dionaea蜜罐,在A机器安装dionaea蜜罐系统,安装完成后切换目录到/opt/dionaea/ bin。使用./dionaea-D命令后台运行蜜罐系统,通过ps-ef| grepdionaea查看dionaea是否运行,结果如图2所示,dionaea蜜罐已经成功启动。

另外为了更好的分析数据包,文中在蜜罐机器里使用tcpdump命令实时捕获所有的网络数据包。在B机器中安装扫描工具nmap和metaspolit,在C机器中安装入侵检测系统snort,安装过程这里不再赘述。

图2 Dionaea蜜罐启动页面Fig.2 The start page of dionaea honeypot

4.2 信息采集及模拟攻击过程

利用nmap扫描已经启动了蜜罐的机器A,结果如图3所示。

图3 变更端口指纹信息前的扫描结果Fig.3 The scanned result before altering port fingerprint information

从图3中可以看出,A系统开放了很多常见的服务,这些服务大多为dionaea通过模拟实现的。在这些服务当中,nmap识别出了部分系统服务为dionaea蜜罐模拟实现的(图中标注有“Dionaea honeypot”字样的信息),在实际部署当中会被攻击者发现该系统为蜜罐系统,从而停止攻击,因此需要将蜜罐特征尽量隐藏,dionaea提供了一种方法,通过修改配置文件/opt/dionaea/lib/dionaea/python/dionaea/smb/include/ smbfields.py和/opt/dionaea/lib/dionaea/python/dionaea/mssql/mssql.py,变更SMB的445端口指纹和MSSQL的1433端口指纹信息来实现特征隐藏,修改完成后再次利用扫描器进行扫描,结果如图4所示。

图4 变更端口指纹信息后的扫描结果Fig.4 The scanned result after altering port fingerprint information

根据图3和图4对比来看,此时已经隐藏了蜜罐的明显字样信息,接下来可以对蜜罐实施攻击,由图3可知A系统开放了smb,http,mysql等服务。本文以smb服务为例,利用namp对该服务进行进一步的探测,使用命令:

nmap-sS-sV-O-script=smb-check-vulns.nse192.168.254.143

发现漏洞信息如图5所示。

图5 Dionaea机器存在的漏洞Fig.5 The vulnerabilities of dionaea honeypot

从图5中可以看到,nmap已经识别出A系统存在ms08-067漏洞,下面使用metasploit对该漏洞进行攻击。

首先在MSF框架中搜索攻击ms08-067的exploit,通过执行命令 search ms08_067发现存在一个名为 exploit/ windows/smb/ms08_067_netapi的攻击模块,选择蜜罐系统模拟的 windows xp sp2版本漏洞,并且分别设置 RHOST和LHOST 参 数 为 192.168.254.143 (蜜 罐 机 器 A)和192.168.254.144(攻击者机器B),配置完成后通过命令show options查看配置是否正确,确认配置正确后执行命令exploit/ windows/smb/ms08_067_netapi进行攻击,攻击执行结果如图6所示。

图6 渗透攻击结果Fig.6 The result of penetration attacks

4.3 蜜罐捕获攻击确认

攻击完成后登录到蜜罐系统,通过dionaea的webportal系统 (dionaeaFR)查看捕获到的信息,执行命令:python manage.py runserver 0.0.0.0:8000,在浏览器中输入 http://localhost:8000可以进入 web系统,在页面中点击左侧的connection可以看到有3条数据,确认为通过metasploit发起的攻击,如图7所示。

图7 蜜罐捕获的攻击数据Fig.7 The attacking data captured by honeypot

4.4 攻击数据包分析

用Snort对使用tcpdump命令捕获到的数据包进行本地回放检测,发现snort并未告警,说明snort目前的规则并不能有效识别该攻击,需要增加新的规则。其中snort检测结果如图8所示。

图8 更新规则库前Snort分析结果Fig.8 The analysed result before updating snort rules

使用wireshark打开蜜罐捕获的数据包,通过分析定位到承载攻击的smb协议,具体的协议字段信息如图9所示。

从图 9中可以看到,metasploit攻击过程中调用了SRVSVC服务的NetPathCanonicalize操作,并且传递了超长的参数。这些参数是进行攻击所使用的shellcode,因此可以从该调用的数据部分提取特征作为规则,为了降低误报率和尽量不对检测效率产生太大的影响,从攻击代码中提取多段数据结合起来作为特征(系统实际部署后需要自动化提取攻击特征,本文仅仅是论证利用蜜罐系统捕获攻击并提取特征从而提高snort检测能力的思路,自动化的特征提取方法本文不进行深入的探讨)。其中content内容为截取了多段的十六进制数据流,由于是针对于SMB协议的渗透攻击,将目的端口设置为445,规则如下:

图9 攻击数据流信息Fig.9 The information of attacking data stream

alerttcp 192.168.254.1/24 any->192.168.254.143445 (content:"|5c 00 51 70 67 43 75 6d 4a 74|";depth:10;content:”|9c e3 d1 5b d3 6c 59 4e|”;depth:8;content:”

|f2 a5 90 7c 09 89 6f 14|”;depth:8;msg:"SMB attack";sid: 909091;)

规则编写完成后重新加载,再次执行snort命令,对之前捕获的数据包进检测:

snort--pcap-single=”/var/tmp/pcap/pcap.pcap”-c snort.conf

可以看到snort已经进行报警,并记录了数据。

图10 更新规则库后Snort分析结果Fig.1 0 The analysed result after updating snort rules

通过对比更新snort规则库前后的检测结果(图8、图10所示)可以看到利用蜜罐系统诱捕攻击,从攻击数据中提取规则,提升snort检测能力的方法是可行的。由于蜜罐自身的特点,出入蜜罐系统的数据大部分为攻击相关数据,数据较为“纯净”,所以从这些数据中提取特征可以在很大程度上提升snort规则更新速率。在实际运用的过程中可以通过部署大量的蜜罐系统,实时收集并分析数据,自动化提取特征,将规则推送到相关设备来持续提升检测能力,从系统模式上实现一处攻击,全球快速响应的能力。

5 结 论

文中通过分析蜜罐捕获的网络攻击,提取攻击特征码,进而升级snort特征库进行检测的实验,证明了利用蜜罐可以主动发现威胁,提高snort检测能力。本文提供了一种快速更新snort规则库,提升snort的检测能力的方法。蜜罐系统在研究网络安全中具有很高的性价比,能够协助提升snort快速发现安全威胁的能力,该设计对研究未知网络威胁具有较好的参考价值。

[1]孙伟,周继军,许德武.Snort轻量级入侵检测系统全攻略[M].北京:北京邮电大学出版社,2009.

[2]诸葛建伟,唐勇,韩心慧,等.蜜罐技术研究与应用进展[J].软件学报,2013,24(4):825-842.

[3]马腾云.基于蜜罐技术的网络安全预警系统[D].济南:山东大学,2013.

[4]李海芳,王喜聪,陈俊杰,等.Snort下模式串匹配算法的研究与改进[J].太原理工大学学报,2013,41(3):256-259.

[5]余文卫,王永吉.基于Snort规则库的冲突检测[J].计算机工程与设计,2008,29(3):576-579.

[6]严俊龙.基于Metasploit框架自动化渗透测试研究[J].信息网络安全,2013(2):53-56.

[7]诸葛建伟,王珩,孙松柏,等.Metasploit渗透测试指南[M].北京:电子工业出版社,2012.

[8]邹铁铮,李渊,张博锋,等.基于支持向量机的操作系统识别方法[J].清华大学学报:自然科学版,2009,49(S2): 2164-2168.

Design on enhancement of Snort detection capabilities based on honeypot technology

CHEN Cui-yun,LIANG Hua-qing
(College of Geophysics and Information Engineering,China University of Petroleum,Beijing 102249,China)

Snort acts as an important role in how to defend the internet attack,so the way to improve the defend level of Snort is very essential.The paper describes a method of using a low-interaction honeypot system to capture network attacks,then to extract features from the attacks,and toupgradesnortrules and at last enhancing the speed of Snort to quickly discover security threats.And the result of the experiment verifies that the method can upgrade the rules of snort and it’s effective to improve the detection capabilities.

honeypot technology;intrusion detection;penetration attacks;feature extraction

TN915.08

A

1674-6236(2016)04-0048-04

2015-03-28 稿件编号:201503403

陈翠云(1988—),女,山东聊城人,硕士研究生。研究方向:计算机工程与应用。

猜你喜欢
入侵检测特征提取
基于Gazebo仿真环境的ORB特征提取与比对的研究
基于Daubechies(dbN)的飞行器音频特征提取
Bagging RCSP脑电特征提取算法
一种基于LBP 特征提取和稀疏表示的肝病识别算法
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
基于DSP的直线特征提取算法
基于Φ—OTDR的分布式入侵检测系统的应用综述