APP下载

Snort多媒体分类插件的设计与实现

2016-11-05翟继强郭鹏姣唐远新

哈尔滨理工大学学报 2016年3期
关键词:入侵检测多媒体

翟继强+郭鹏姣+唐远新

摘要:针对目前网络流量中飞速增长的多媒体数据,设计和实现了一个多媒体分类器,作为可选的Snort预处理插件,通过解析多媒体文件格式和协议的特定信息,来增强Snort检测引擎针对多媒体类型网络攻击的识别处理能力。通过实验测试了下载流量和流媒体网络数据,实验结果表明,本方法可以有效提高入侵检测系统的性能,同时降低了高速网络中进行详细流量分析的计算成本。

关键词:入侵检测;Snort;多媒体;流量分类器;流

DOI:10.15938/j.jhust.2016.03.009

中图分类号:TP393 文献标志码:A 文章编号:1007—2683(2016)03—0043—06

0引言

网络入侵检测系统通过扫描进出网络流量搜索特定格式和特征的数据来检测恶意或未授权的网络活动,目前面临的一个重要问题是实时分析海量网络数据的高额计算开销,使得检测引擎有时不得不跳过、忽略甚至漏掉一些数据包。而随着互联网的急剧阔容,宽带家庭用户和移动终端大量接人,网络流量中包括视频、音频、图像的多媒体流量激增,使这个问题更加复杂和突出。

另一方面以往有关多媒体安全漏洞和攻击的报告相对较少,网络中的多媒体流量相对于其他类型的数据通常被认为是良性的,并不被看成是一个可以影响入侵检测系统性能或检测率的特别因素,然而随着多媒体格式和算法变得越来越复杂,也存在一些安全漏洞被黑客利用。

因此,本文提出借助多媒体文件格式和协议的特定信息对网络数据进行分类,使用附加的头信息分类多媒体数据,检查进向和出向的数据流内容,寻找已知的多媒体特性,如JPEG、RTSP标记,如果多媒体流量符合标准格式,则被标记为可信任数据,余下的同类型流量可被检测引擎忽略,否则会被作为异常数据而报警,同时这些附加的多媒体分类信息可以帮助系统检测针对多媒体漏洞的攻击。这样就可以有效降低检测引擎的处理开销,提高入侵检测系统的工作效率。

1多媒体数据流分类器

1.1分类器的设计

本文开发了一个多媒体分类器作为snon预处理插件来对数据包进行预处理和分析。当网络流量被捕获时,分类器将进向和出向的数据流划分为多媒体流或非多媒体流。一旦发现一个会话包含多媒体流量,入侵检测系统IDS会对数据流或会话进行多重检测来确定内容是否是授权的有效数据流,如果数据流被认定为是非授权的,入侵检测系统将根据规则集继续运行分析和检测,通过预处理和授权检查的数据,则利用Snort的全局检测标识(do-de-tect)告之Snort跳过对已标记数据包的检测和规则集比较。因为多媒体文件通常是非常大的,使用前几个数据包来分类和标记多媒体数据所花费的时间开销远远小于对数据流中所有剩余数据包检查所需的时间,而让检测引擎专注于分析潜在更大威胁的流量。

多媒体分类器的数据处理流程如图1所示。多媒体分类器在检测引擎之前,每个进入多媒体分类器的数据包首先要检查它是否属于一个已授权的流或会话。然后逐字节检查该数据包,以确定是否包含已知的多媒体标识符。如果这样的标识符被定位,就可以使用特定的规则集来提取参数并检查已知漏洞攻击。如果数据包通过了参数提取和漏洞攻击检测阶段,则被授权为可信的多媒体流,并指派一个标识,来告知检测引擎无须对它进一步分析。

多媒体分类器的处理结果有3种:

1)数据被认为是可信多媒体流的一部分而被授权。属于相同流的余下数据包则可以绕过检测引擎的进一步分析。

2)数据被识别为多媒体漏洞攻击而生成报警。因为已经把数据标记为恶意的内容,数据流的其余部分就可以绕过检测引擎。

3)如果数据本质上不是多媒体类型数据,则正常通过检测引擎进行处理。

1.2应用分析

网络中多媒体数据可以分为Non-Streaming和Streaming两大类:

1.2.1非流式(non-streaming)

非流式的多媒体流量具有以下属性:

1)所有内容必须完全下载之后才能开始播放。

2)无需为传输playback播放控制信息或内容建立临时性回话。

3)文件可以被划分为文件头和压缩内容。

图2显示了所提出的分类器对非流式网络流量的影响分析。没有多媒体分类器的情况下,所有的多媒体数据包都将通过检测引擎进行详尽的检查和匹配以查找可能的恶意攻击。当使用分类器时,网络流首先通过检验文件头来确认它符合已知的标准。当数据包被标记为含有可信的多媒体内容之后,要继续查找是否含有已知多媒体漏洞的攻击特征。确定没有危险数据,多媒体数据流才会被授权,之后任何属于相同流的数据包将绕过检测引擎,从而大大减少了检测引擎的工作负荷。

1.2.2流式(Streaming)

流式的多媒体流量具有以下属性:

1)使用包含握手机制的初始化会话,用于建立类似传输端口的流参数。

2)一个缓冲区收到足够数量的数据,内容重放才可以开始。

3)会话中包含有重放的操作控制信息,如暂停的功能。

流式多媒体流量一旦被授权,和非流的方式一样,这个流的所有剩余数据包都将被分类器标识授权直到这个流结束。图3给出了所提出的分类器对流式网络流量的影响分析。

1.3相关多媒体文件头和协议

多媒体分类器通过检查已知的多媒体格式文件头来处理非流的多媒体流量。所检查的格式和使用的技术主要包括:

1.3.1 JPEG

JPEG头由标示头部各部分的标记共同组成。标记包括两个字节序列:FF+表示标记功能的字节。像许多其他的文件格式一样,JPEG包含必需的和可选的标记和字段。表1列出了我们所要分析和使用的这些JPEG标记信息。

多媒体分类预处理器分几步来分析JPEG文件。首先定位帧标记开始处,读取SOFO字段的长度。然后从这一点开始,向前移动到文件内,定位到Huffman表所在的位置。如果这两个条件都满足,就可以确定这是包含文件头的JPEG文件的第一个数据包。一旦JPEG文件被识别,就可以开始寻找文件的攻击特征。

1.3.2 PNG

PNG格式是基于GIF格式的,可以通过寻找包含文件组织结构信息的PNG块来分析。有四个主要的PNG块,其中IHDR、IDAT和IEND是每一个PNG图像所必需的。

1)IHDR文件头块:PNG图像的第一个数据块,包含了图像的基本信息。

2)PLTE调色板块:存储与图像数据相关联的彩色图像,只有使用调色板的时候才存在。

3)IDAT图像块:包含图像数据,在一个文件中可以出现多个连续的数据块。

4)IEND图像尾块:标记图像文件的结束。

图4显示了一个PNG图像的PNG块信息。可以看到文件头块IHDR(0x49484452)之后图像的高度(0x0000001E)和宽度(0x00000019),图像块ID-TA(Ox49444154)紧随的就是压缩图像数据。

1.3.3实时流协议

实时流协议RTSP(RealTime streaming protocol)是一种广泛使用的流媒体协议,已经在windows Media Services、Helix(RealPlayer)和Quicktime/Dar-win Streaming等服务中广泛实现。实时流协议用来协商客户机/服务器的流媒体会话,对有效载荷没有任何要求。从入侵测系统的角度,我们分离会话处理和传输规范,着重分析会话,忽略不需要分析的有效载荷。

入侵检测系统在实时流协议会话启动时,从SETUP方法中提取会话数据端口号。一旦一个RTSP的SETUP被识别并存储相应端口号,就会寻找RTSP PLAY播放请求,检测到播放请求,则标记通过该指定端口的所有数据包,跳过后续检查。直到检测出TEARDOWN请求时,把该端口从端口列表中删除。在预处理分类器中,其他的RTSP消息被忽略,因为它们不包含任何进一步提高会话监控的有效性或准确性的信息。

1.4多媒体漏洞分析

近年来,随着新多媒体格式的不断出现和多媒体软件工具的大量发行,针对多媒体协议和格式的攻击也随之增加。本文所提出的多媒体分类只检查文件头相关的字节,主要有三个原因:

1)由多媒体预处理器引入的计算开销要尽可能小。

2)本节描述的所有相关的多媒体特定漏洞都可以通过文件头成功检测。

3)多媒体文件数据区中一个或多个字节的改变往往对媒体质量影响有限,终端用户也很难检测和察觉。检查多媒体传输恶意内容的操作不是入侵检测的范畴,最好采用数字水印和其它认证技术。

1.4.1 JPEG

JPEG漏洞使得攻击者可以获取对漏洞系统的控制权,JPEG规范允许在JPEG文件中嵌入注释,注释区以OxFFFE开始,后面跟着一个两字节的值,指定注释长度(包括该字段本身的两个字节),注释数据在文件JPEG显示时是不可见的。理论上允许65 535个字节的注释数据,即使注释内容为空,注释长度值最小也等于2。如果一个恶意特制的JPEG文件设置该长度为0或1等非法值,就会导致缓冲区溢出。

多媒体分类器通过读取注释论区可以很容易地检测到这类漏洞攻击,进而提醒管理员阻塞该文件。图5显示了JPEG图片中嵌入文件头的注释区信息,注解字段标识符(0xFFFE)后跟一个有效的字段长度OxOOOF。简单地把这个值改为Ox0000或0x0001,就可以将有效的图像转换为含有漏洞的图像。

1.4.2 PNG

PNG也存在缓冲区溢出漏洞使得攻击者通过定制PNG块造成缓冲区溢出而获取对目标系统的控制权。类似于JPEG漏洞,用户可能没有意识到自己的系统已经被攻击,因为图像仍会正确显示,即使文件头有畸形的部分。当结合MSN Messenger时,这个漏洞特别危险,因为用户不必直接请求或接受一个使系统受到损害的图像。攻击者可以使用一个PNG文件作为一个好友图标,聊天会话时,这个图标会自动传输,从而获得对目标系统的控制。

MSN Messenger PNG漏洞是由图像的文件头块和头像透明块tRNS的数据共同组成。在颜色类型字段必须设置使用的颜色和调色板,使用标识的α信道不必设置。颜色类型字段必须有0x03,且tRNS的内容必须超过256,达到一个函数指针地址。

1.4.3 RTSP

多媒体分类器能够检测RTSP缓冲区溢出问题,例如利用RTSP DESCRIBE方法的Darwin Streaming服务器漏洞,允许攻击者执行恶意代码。以下是针对该漏洞的Snort检测规则:

该规则表示对于来自任何外部网络的任何端口访问HTFP服务器554端口(端口554是RTSP通信的默认端口)的TCP链接,Snort使用PCRE(Perl兼容正则表达式)查找明文字符串“DESCRIBE”,然后检查“DESCRIBE”后面的内容的长度。如果这些内容大到足以导致缓冲区溢出,则生成警报。

2实验结果与分析

我们做了大量的测试,通过使用Snon检测多媒体和非多媒体文件的FTP传输,测量处理器的使用情况,分析所提出的多媒体分类预处理器对入侵检测系统整体性能的影响。

2.1非流式流量测试

所有的Snort实验都在Windows环境下进行,利用WinPcap的数据包捕获函数库。使用FTP传输用来确保数据没有被本地缓存,同时为了便于重复测试以及确保测试的准确性,FTP传输还允许批处理作业调度。时间测定在Snon中使用clockQ函数完成,通过常量CLOCK_PRE_SEC返回。

2.1.1单个文件传输

在这个系列实验中,一次只分析一个特定文件类型(PNG和JPEG),文件大小在417KB和67MB之间。处理器节省的相应时间在某种程度上与文件的大小成反比,对于小文件,预处理器只需要不使用分类器时的15%的时间开销,而对于非常大的文件,这一数字将下降到低于1%。表2给出了样本采集数据,可以看出当多媒体分类器启用的时候,大幅度减少了总体CPU使用情况。

2.1.2混合流量

混合流量的实验是把多媒体和非多媒体文件结合到一批FTP下载中,多媒体流量的百分比以每次20%的步长从0%递增到100%。下图6显示处理器的使用情况与批处理下载文件中的多媒体数据量成反比,从而证明了随着多媒体流量的增加,CPU节省的时间也是增加的。表3给出了混合流量实验收集的原始数据,再次说明了当有多媒体流量时,整体的CPU使用情况大幅减少。

2.2流媒体数据测试

流媒体测试使用RealPlayer、QuickTime和Win-dows Media Player作为客户端,服务器端软件采用分别Darwin Streaming服务器、Windows Media Serv-ices和Helix RealPlayer服务器。数据采集方式和非流式类似。

表4列出了测试中有代表性的原始数据。图7则给出了使用QuickTime和Danwin Streaming服务器传送流媒体时,对于不同持续时间的流,使用和不使用预处理分类器时处理器使用情况。使用其他服务器/客户端的组合也得到了类似的结果。说明处理器所节省的开销随着播放时间的增加而增大,没有多媒体分类器时,处理器使用随着时间线性增加,但当分类器启用时总使用量的增加是极小的。

3结论

本文主要提出了一个多媒体分类器,通过将多媒体特定知识封装到Snon预处理器中,这样经过分类后的可信的多媒体数据可以被标识而允许绕过检测引擎,从而使入侵检测系统能够专注于其他流量,同时人侵检测系统能够检测到特定的多媒体漏洞攻击,通过实验证明对于存在多媒体流量的网络数据,使用多媒体分类器可以显着节省处理时间,提高入侵检测系统的整体效率。

同时本文所提出的架构是模块化和可扩展的,可以覆盖不同的文件格式和流媒体协议,用户很容易编写新规则来检测和防范针对多媒体特定漏洞的攻击。

猜你喜欢

入侵检测多媒体
借助多媒体探寻有效设问的“四度”
多媒体情境下培养学生阅读素养的三个维度
如何有效利用多媒体课件为教学服务
多媒体在高中物理教学中的应用
多Agent的创新网络入侵检测方法仿真研究
基于入侵检测的数据流挖掘和识别技术应用
艺术类院校高效存储系统的设计
基于关联规则的计算机入侵检测方法
基于Φ—OTDR的分布式入侵检测系统的应用综述
浅谈HTML5的发展与应用趋势