图3-1 系统设计模型 系统主要部件介绍 移动代理环境 本系统采用的移动代理环境是由日本IBM 公司所提出的Aglet,它是完全由Java语言开发,并提供实用的平台Aglets Workbench是开发或执行mobile agent系统。Aglet 这个字是由"agent"与"applet"两个字所合成的,简单的说就是具有agent行为的Java applet物件。在Aglet系统中,Aglet物件是可以在网络中从一台主机移动到另一个主机。Aglet物件在移动时,会携带程序代码和所有对象的状态数据,并采用了内嵌的安全机制,Aglet的实现是采用事件驱动方式,并采用对称算法进行域内的身份认证和对移入的Agent进行一致性检测,并可通过图形界面(Tahiti管理程序)设置安全访问策略。Aglet有丰富的API函数,可以很方便的构造应用程序,它提供的通信协议是应用层协议ATP(基于TCP的Agent传输协议),但同时也支持Java RMI。 数据收集 根据本系统的设计要求,能对分布式攻击检测,所以本文采用入侵检测系统Snort作为数据收集器,记录网络入侵和可疑数据,最终达到在Snort基础上,建立起一个更加完善的入侵检测系统。 模型的工作机理 本系统的工作过程如下: 在分布式的各个节点上运行Snort工具检测攻击,并记录相应的数据到数据库,包括可以数据。 启动移动代理环境,运行移动代理程序,该程序会通过遍历所有节点,自动的将各个数据库里可疑的数据提取出来,并通过代理带回移动主机上。 在代理主机上对这些各节点的可疑数据综合分析。若分析出攻击行为,则自动添加规则到规则文件中,禁止该行为主机对该保护网络的再次访问。 本模型的优缺点分析 优点总结 网络性能好。该模型的实现是分布在网络的一些节点上,检测时对网络不会有影响,占用网络资源少。 自我完善。该模型能对可疑数据记录并综合分析,最终确定是否含有攻击,若有攻击的存在,通过自动添加访问规则来自动完善系统。 降低漏报率。通过移动代理将各节点的数据综合分析,让检测分析数据更为准确,实现了对网段攻击检测,在一定程度上弥补了传统的网络入侵检测这方面的不足。 不足之处 但该模型仍存在着先天的缺陷。因为是对已记录的分布式可疑数据分析,这意味着攻击发生后,才进行系统的检测和完善,即可以检测出这种攻击的再次来袭,但对于第一次的攻击是检测不出来的。 分布式攻击检测实例 DoorKnob攻击基本原理
图3-2 实例所处的网络结构 假设网络结构如图3-2所示,网络由多个子网构成,每个子网拥有多台主机,攻击者发起DoorKnob攻击的步骤如下:攻击者在时刻t以空密码的root用户尝试登录主机A1,隔一段时间T,在时刻t+T以空密码的root用户尝试登录主机B1,依此类推,在时刻t+2nT以空密码的root用户尝试登录主机Bn。如果没有找到可利用的主机,在时刻t+(2n+1)T以密码123456的root用户尝试登录主机A1,然后再依次类推,直至发现可利用的主机。攻击者通过设置适当的时间间隔T,可避免各主机上的入侵检测组件对其的检测。但是基于移动agent的体系结构能有效的检测这种攻击。 检测过程 首先,信息收集器收集主机上的可疑信息,把登录失败的信息看作是一种可疑信息,因为登录失败可能是由于用户输入错误,也可能是由攻击者产生的。当移动agent将各主机中的可疑信息融合后可得出图3-3所示信息:
图3-3 融合后的数据 移动agent在各主机之间移动时,可统计各远程主机的登录失败次数,如果超过了一个门限值(比如15),则认为是攻击发生。图3-3中远程主机222.18.113.4实际上是在发动DoorKnob攻击,由于在各主机上的登录失败次数都没有超过门限,所以驻留在主机上的IDS无法检测到这种攻击。移动代理访问主机1和主机2后,检测到主机222.18.113.4的登录失败次数为13,仍没有超过门限(15),当移动代理迁移到主机3,检测到它的登录失败次数为23,攻击被检测。
首页 上一页 1 2 3 4 5 6 7 下一页 尾页 3/8/8