查看完整版本: Juniper IDP入侵检测方法——协议异常

雨笑残荷 2007-12-5 21:55

Juniper IDP入侵检测方法——协议异常

[font=宋体][size=12pt]理想的[/size][/font][size=12pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=12pt]性能是尽可能发现最多的攻击以及减少发生错误报警的次数。遗憾的是,当今还未有单一检测方法可以容许[/size][/font][size=12pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=12pt]检测到所有基于网络的攻击类别。因此,唯有一个综合多种技术去检测不同类型攻击的系统才可以完成任务。在[/size][/font][size=12pt][font=Times New Roman]Juniper-IDP[/font][/size][font=宋体][size=12pt]系统出现之前[/size][/font][font=宋体][size=12pt],一般的作法是:购买[/size][/font][size=12pt][font=Times New Roman]2[/font][/size][font=宋体][size=12pt]个或更多的产品,然后将它们并联在一起运行,以兼容多种检测能力。在今天的市场上,两个最常用的网络入侵检测方法是签名检测[/size][/font][size=12pt][font=Times New Roman](signature detection)[/font][/size][font=宋体][size=12pt]和协议异常检测[/size][/font][size=12pt][font=Times New Roman](protocol anomaly detection)[/font][/size][font=宋体][size=12pt]。基于签名的系统在流量中寻找已知的攻击模式(签名)。签名检测可发现与签名配对的攻击,但无法检测出新生成的攻击或大量复杂的攻击。另一方面,基于协议异常检测的系统在检测未知的攻击方面卓有成效,但不能识别那些没有违反协议而进行的攻击。所以还是一定要找到一个最佳的方法。[/size][/font]
[font=宋体][size=12pt]接下来我们将向大家逐个说明每种检测方法里运用的技术及其能力。[/size][/font]
[font=宋体][size=12pt][b][font=宋体][size=12pt]协议异常的入侵检测方法[/size][/font][/b][b][font=Arial][size=12pt][/size][/font][/b]
[font=宋体][size=12pt]协议异常检测[/size][/font][size=12pt][font=Times New Roman]—[/font][/size][font=宋体][size=12pt]有时也叫协议分析[/size][/font][size=12pt][font=Times New Roman]—[/font][/size][font=宋体][size=12pt]能分析封包流量(在两个系统中的单向通信),从而在通行的互联网通信规则里识别不规则流量。这些规则由开放协议和公开标准所定义[/size][/font][size=12pt][font=Times New Roman](RFC)[/font][/size][font=宋体][size=12pt],还包括厂商为网络设备之间的通信所定义的规格。这个目的就是针对不符合规格或违反相关标准的流量,而执行一套可行的入侵检测机制。一旦出现异常配对,系统可以作出网络安全决策。这在检测可疑活动如[/size][/font][size=12pt][font=Times New Roman]buffer-overflow[/font][/size][font=宋体][size=12pt]攻击中非常有效。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]协议异常检测的优点在于它能检测:[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman]1.
[/font][/size][font=宋体][size=12pt]未知的和新的攻击,因为这些攻击偏离了协议标准[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman]2.
[/font][/size][font=宋体][size=12pt]绕过执行其他检测方法的系统的攻击[/size][/font][size=12pt][/size]
[size=12pt][font=Times New Roman]3.
[/font][/size][font=宋体][size=12pt]变形攻击,它们改变了已知攻击模式的格式以避开基于签名的系统,但攻击力未有减弱。[/size][/font][size=12pt][/size]
[i][u][font=宋体][size=12pt]实例[/size][/font][/u][/i][i][u][font=Arial][size=12pt]1[/size][/font][/u][/i][i][u][font=宋体][size=12pt]:检测[/size][/font][/u][/i][i][u][font=Arial][size=12pt]FTP[/size][/font][/u][/i][i][u][font=宋体][size=12pt]回弹攻击[/size][/font][/u][/i][i][u][font=Arial][size=12pt][/size][/font][/u][/i]
[font=宋体][size=12pt]该例子描述了[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]回弹攻击以及如何使用协议异常检测来鉴别该攻击。[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]回弹攻击利用了[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]规范中的设计流程。为了上传和下载一个文件,用户([/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]客户端)必须连接到一个[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]服务器[/size][/font][size=12pt][font=Times New Roman](1)[/font][/size][font=宋体][size=12pt]。当该操作进行时,服务器要求客户端发送[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址和端口号到文件应当被传送和获取的系统。这些通过所谓的“端口命令”的机制来完成。在实际中,该[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址为客户端的地址,然而,端口命令规范并没有限制该[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址为客户端的[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址。因为这个原因,攻击者可以告诉[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]服务器打开一个与客户端不同[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址的连接[/size][/font][size=12pt][font=Times New Roman](2)[/font][/size][font=宋体][size=12pt],然后利用已经打开的端口通过[/size][/font][size=12pt][font=Times New Roman]FTP[/font][/size][font=宋体][size=12pt]服务器向入侵系统传送一个木马程序[/size][/font][size=12pt][font=Times New Roman](3)[/font][/size][font=宋体][size=12pt]。一旦实施完成,入侵者就能够访问被入侵系统并直接从该系统传送文件到入侵者的机器上。为了检测该种攻击,[/size][/font][size=12pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=12pt]系统需要比较在端口命令中的客户端的[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址请求,如果不匹配,[/size][/font][size=12pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=12pt]需要产生一个报警。这种攻击无法通过签名的方法来检测,由于该检测并不是基于匹配特定的字符串(样本)而是两个网络协议元素之间的连系来进行检测。另一方面,协议异常检测被设计用来查看网络之间的连系并判断网络行为是否在正常的规范之内。通过使用协议异常检测,[/size][/font][size=12pt][font=Times New Roman]NIDS[/font][/size][font=宋体][size=12pt]系统可以在任何时候查看和比较从哪一个到达的端口命令中的[/size][/font][size=12pt][font=Times New Roman]IP[/font][/size][font=宋体][size=12pt]地址来解析端口命令请求。[/size][/font][size=12pt][/size]
[i][u][font=宋体][size=12pt]实例[/size][/font][/u][/i][i][u][font=Arial][size=12pt]2[/size][/font][/u][/i][i][u][font=宋体][size=12pt]:检测未知的缓冲区溢出攻击[/size][/font][/u][/i][i][u][font=Arial][size=12pt][/size][/font][/u][/i]
[font=宋体][size=12pt]该例子描述了缓冲区溢出攻击以及如何通过协议异常检测来鉴别该种攻击。这类攻击利用了常见的编程错误,通过允许无限量的数据在没有溢出检测的前提下读到具有固定大小的内存缓冲区中实现。结果,超量的数据溢出了缓冲区并且程序无法进行控制。一旦发生,任意的内存地址被超量的数据改写。如果编程正确,程序将不受控制地地执行额外的数据。如果成功,入侵者可以在被入侵的系统上进行任何想要做的事情。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]入侵者典型地通过试验和错误来实施该攻击。通常他们要获取以下系统和应用程序如何工作的信息,然后系统地发送针对已知系统和应用超范围的数据。基于这点,由于攻击样本不存在,唯一的检测此种攻击的方法为协议异常检测。该种方法可以确定数据传送是否异常和超出规范,一旦发现,即确定为攻击。[/size][/font][size=12pt][/size]
[font=宋体][size=12pt]有趣的现象是一旦缓冲区溢出攻击被发现和公开,它就可以通过基于签名的系统来鉴别此种攻击。这是因为当攻击被记录,实施攻击的步骤被描述,就可以创建一个“攻击样本”。它允许创建一个签名来检测该种攻击。[/size][/font][/size][/font]
页: [1]
查看完整版本: Juniper IDP入侵检测方法——协议异常