基于入侵检测技术的P2P行为检测研究

2010-05-09 07:52商可旻武小年
关键词:数据包应用程序端口

商可旻, 武小年



基于入侵检测技术的P2P行为检测研究

商可旻, 武小年

(桂林电子科技大学 信息与通信学院, 广西 桂林, 541004)

P2P网络行为检测技术是近年来网络安全研究的热点课题. 分析了P2P行为检测技术的难点,概述了传统的P2P检测技术,并指出了优缺点. 通过实验研究P2P数据包中的特征值和指纹信息,从分析检测的规则集入手,引入Snort开源入侵检测系统来进行P2P应用行为检测,提出了一种基于P2P应用程序行为的检测方法.

P2P; 入侵检测; 行为分析

近年来,随着P2P(Pear-to-Pear)技术的快速发展和P2P模式在文件共享、网络通信、VOIP、流媒体等领域的广泛应用,P2P技术己引起互联网应用模式的巨大变革. P2P采用非传统C/S模式体系架构,其各个节点(Peer)地位平等,节点间可以直接共享、检索和访问各类资源,并且可以充当客户端、服务器和应用层路由器的角色,而且可以动态加入和撤离,因此在互联网基础构建之上组成一个逻辑的P2P网络,即动态覆盖网络(Overlay). 根据3Com公司白皮书显示, P2P流量已经占据Internet上70%的流量, 测量结果表明20%的Peers传输90%的P2P流量. P2P使得极少数人占用绝大部分网络带宽资源,造成网络拥塞,影响了用户体验,也给网络管理带来了巨大挑战. 因此, 有必要对P2P用户的行为进行检测,发现和控制滥用网络资源的行为,从而使网络资源得到合理的利用.

本文分析了P2P行为检测技术的难点,通过分析P2P数据包中的特征值和指纹信息,研究确定检测P2P应用行为规则,最后引入完全开源的入侵检测系统Snort来检测网络中的P2P应用行为.

1 P2P检测技术的难点

传统的互联网应用行为可以通过IANA注册的已知端口来进行识别,比如HTTP和POP3分别使用80号与110号端口, 尽管一些P2P应用也使用固定的端口,通过这些端口可以将其产生的行为归类为P2P. 为了躲避网络监控系统的控制,P2P应用引入了动态协商端口技术,甚至通过端口伪装(如http和ftp端口)来进行隐藏和穿透防火墙,因此基于端口来识别P2P滥用行为将在很大程度上漏报和错报P2P应用[1].

对于采用集中式和混合式模式的P2P应用程序,可以分别通过目录服务器和担任分布式中心服务器的节点IP地址来识别与其通信的P2P流量, 从而识别P2P行为,但是对于节点之间直接交换产生的流量则无法有效识别.

深度包检测(DPI,Deep Packet Inspection)进行P2P流量识别是应用比较多的技术,主要原理是通过协议分析甚至逆向工程的方法来提取P2P应用的Layer 7特征关键字符串,并基于五元组流对数据包深层扫描不同流之间的关联性以实现P2P应用的识别[2-3].

基于DPI技术的P2P应用识别方式的可靠性比较高. 但是,DPI扫描必须对分片数据进行重组, 该操作与字串的模式匹配查找都属于计算昂贵 (Co- mputationally Expensive)类型,因此对计算机性能的要求较高;DPI方式无法识别未知P2P应用的流量, 也无法自动适应P2P演进所产生的协议版本升级和新应用的大量涌现; 越来越多的P2P应用(如eMule, 新版本Bt, 等)开始采用协议加密或传输分块机制, 这使得分析关键字变得十分困难.

为了克服上述技术的不足,需要借助不依赖于扫描数据包的P2P识别技术. 基于入侵检测的P2P应用行为识别技术正是为了弥补上述识别方法的不足而提出的,主要思想是从研究P2P网络固有的本质特征入手,通过分析P2P数据包的特征归纳出P2P行为的识别模式和规则[4].

2 Snort入侵检测系统

2.1 Snort简介

Snort是一个开源的网络入侵检测系统(NIDS),具有高效率实时捕获和分析数据包的功能. 它可以进行协议分析、搜索内容和匹配,Snort灵活强大的语言能对网络中的所有数据包做充分的分析, 决定如何处理特殊的数据包. Snort记录或报警的方法有很多种, 例如syslog写入文本、数据库等. 目前Sno- rt已成为网络安全监控行业事实上的标准[5]. Snort的基本组成模块如图1所示.

2.2 选择Snort检测网络中的P2P应用行为的主要原因

a. Snort可以用来对数据包进行捕获和监听,而且具备网络入侵检测功能;

b. Snort灵活的语言规则, 可以对数据包进行收集、拒绝或丢弃操作;

图1 Snort主要部件

c. Snort源代码是开放的,因此吸引了许多优秀的网络安全技术人员共同完善提升其各项性能,各个项目小组也可以根据自身需要对源代码进行修改后使用.

3 对P2P协议进行分析

任何协议都具有一些特定性,因此我们可以分析协议在通信过程中数据包结构和内容来确定特定协议. 我们选用2种P2P应用程序来进行分析(见表1). 在网关服务器上使用snort捕获P2P应用程序的网络数据包, 分析并获取特定的特征串匹配规则和指纹(fingerprint)信息. 通过分析P2P应用程序的网络数据包, 可以得到以下结论.

表1 分析的应用程序

3.1 P2P特征串匹配规则

Biorrent应用程序:在Biorrent包结构中,前4个ASCII码中有指定样式“GET”;之后间隔1个ASCII码有“/announce”,再之后4个偏移位中有“info_hash=”;接着的4个偏移位中有“event= stwrted”.

eMule应用程序:在eMule包结构中,在第2个ASCII码位置有“|E3|”特征码,之后会有ASCII地址“/url,ww.technik”,之后的3个偏移位有“class- type: policy”.

3.2 P2P指纹(fingerprint)信息

通过对P2P数据包的捕获分析得到其应用程序的指纹(fingerprint)信息(见表2).

表2 应用程序指纹

4 定义Snort检测P2P行为规则

根据分析P2P协议得到的特征串匹配规则和指纹(fingerprint)信息可以定义snort检测规则.

P2P.rules

{

alert tcp $HOME_NET any -> $EXTERNAL_NET

any (msg:"P2P BitTorrent announce request";

flow:to_server,established;content:"GET";depth:4;con

tent:"/announce; |426974546f727265de742070726f74

6f636f6c| "; distance:1; content:"info_hash="; offset:4;

content:"event=started"; offset:4; metadata:policy

security-ips drop; classtype:policy-violation; sid:2180;

rev:4;)

alert http $HOME_NET any -> $EXTERNAL_NET

4242 (msg:"P2P eMule transfer";

flow:to_server,established;

content:"|E3|;|486f73743a207777772e7368617265617

a612e636f6dod0a|";depth:1;

metadata:policysecurity-ipsdrop;

reference:url,www.kom.e-technik.tu-darmstadt.de/pub

lications/abstracts/HB02-1.html;

classtype:policy-violation; sid:2586; rev:3;)

}

5 实验验证

5.1 测试环境

系统: Microsoft Windows XP Professional Serv- ice Pack 2; 主机: Intel酷睿i3-540 处理器 3.06GHz; 1GB 内存; Snort入侵检测系统:Snort-2.8.6+ mysql- 5.0.22-win32+ idscenter11rc4

5.2 基本架构

2台计算机连接在同一个局域网内并且都可以访问因特网,1台安装本文所研究之P2P文件下载软件: Biorrent、eMule; 另1台配置安装有入侵检测系统Snort. 实验检测Snort能否按照定义的规则(p2p.rules),检测到网络中存在P2P应用程序行为.

5.3 启动snort入侵检测系统开始测试

在控制台输入如果下命令使用配置规则集(p2p. rules)开始检测(见图2).

命令:snort –c p2p.rules –I 2 A full –l./log启动snort入侵检测系统后,分别用2种待检测的P2P应用程序从网上下载文件,实验发现根据定义的规则snort入侵检测系统能够准确地检测网络中的P2P应用程序行为,而且机器耗费的CPU与内存的占用率维持在比较低的水平,进一步我们得到了检测系统的日志文件:snort.log.1277886362, 内容如图3、4所示:

图2 启动检测系统

图3 检测系统日志文件数据

图4 检测系统日志文件数据

6 结论与展望

通过分析P2P协议得到特征串匹配规则和指纹(fingerprint)信息,定义了Snort检测P2P行为的规则,根据实验证明了入侵检测系统在小型局域网中检测P2P应用行为的有效性和可行性. 但是在大型局域网和高速主干网中检测P2P行为还存在很多技术难点,在没有统一部署P2P网络行为监控设施的情况下,要实现对于P2P应用行为的准确检测难度较大, 在以后的研究中还需要进一步研究新的理论框架和检测模型.

[1] Moore A, Papagiannaki K. Toward the Accurate Identifi- cation of Network Applications[A]. Sptinger Berlird Hei- delberg Proc of the Passive and Active Network Measur- ement[C]. MarcW, 2005: 41-54.

[2] 杨岳湘, 王锐, 唐川. 基于双重特征的P2P流量检测方法[J]. 通信学报, 2006, 27(11): 134-139.

[3] LIU Gang. Measurements,Modeling and Analysis of Peer-to-Peer Networks[M]. Harbin: Harbin Institute of Technology Press, 2005: 60-65.

[4] 刘娇蛟, 贺前华. 基于内容标记的网络信息内容监管方法及实现[J]. 计算机工程与科学, 2006:28(3): 20-23.

[5] 周世杰, 秦志光, 吴春江. 对等网络流量检测技术研究[J]. 中兴通讯技术, 2007, 13(5): 14-18.

Intrusion detection based on behavior of P2P

SHANG Ke-min ,WU Xiao-nian

(Department of Communnications and Information Engineering, Guilin University of Electronic Technology, Guilin 541004, China)

P2P network behavior detection technology is a hot research in recent years. The difficulties of behavior detection technology for P2P was analyzed and the traditional P2P detection technology was overviewed. Furthermore its advantages and disadvantages were analyzed. By the experiment of P2P packet eigenvalue and fingerprint information, the rule set from the start of testing, and the introduction of open source Snort intrusion detection system to detect P2P application behavior, a detection method based on P2P application behavior was put forward.

P2P; intrusion detection; behavior analysis

TP 311.1

A

1672-6146(2010)03-0070-03

10.3969/j.issn.1672-6146.2010.03.018

2010-07-06

商可旻(1986-),男,硕士研究生, 研究方向为信息安全.

猜你喜欢
数据包应用程序端口
基于Jpcap的网络数据包的监听与分析
一种端口故障的解决方案
删除Win10中自带的应用程序
谷歌禁止加密货币应用程序
SmartSniff
端口阻塞与优先级
8端口IO-Link参考设计套件加快开发速度
卫星三端口DC-DC变换器技术综述
移动IPV6在改进数据包发送路径模型下性能分析
三星电子将开设应用程序下载商店