论文部分内容阅读
[摘 要]对IPv6局域网攻击的原理、IPV6局域网邻居发现协议进行阐述,分析IPv6局域网攻击检测策略,设计扫描攻击检测的实现方法。
[关键词]IPv6 局域网 攻击 检测
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0720039-01
一、局域网攻击原理
局域网攻击的基本原理是扰乱邻节点发现各过程次序。攻击主机要对网络流量进行侦听,通过对数据报的分析,来获知其他主机状态及邻节点发现过程的阶段,进而发出包含指定信息的数据报,来扰乱邻节点发现过程的进行。甚至,攻击主机主动发出请求报文,误导其他主机对某目标主机进行应答而导致目标主机的瘫痪,或者伪装路由器,发送公告报文,误导主机使用攻击主机当作路由器进行转发等等。
局域网攻击的范围主要局限在本链路内,但破坏力极大,尤其当前接入网的主要形式是以太网,多主机共用一条物理链路,局域网攻击一旦发起,将会威胁所有主机的信息安全及正常通信。
二、IPV6局域网邻居发现协议(ND)
主机与外界连接成功后,使用邻节点发现协议来确定邻节点的可达性及路由器的可用性,并在路由器不可用时,寻找新的候选。所以,从功能上看,邻节点发现协议可以按功能分为几个部分,地址解析,邻节点不可到达检测,重复地址检测,路由器发现和重定向等功能。
这些功能通过使用ICMPv6协议定义的不同报文进行消息的交互与确定。报文包括路由器公告报文(Router Advertisement 简称RA),路由器请求报文(Router solieitation 简称Rs),邻节点请求报文(Neighbor Solieitation 简称NS),邻节点公告报文(Neighbor Advertisement 简称NA)及重定向报文(Redireet)。
(一)邻节点地址解析
如果报文源地址(即发出RS主机的IP地址)是非未确定地址(0:0),则目标主机根据报文中的源地址对邻节点缓存(Neighbor Cache)进行创建或者更新。然后,发送一个邻节点公告NA对该请求进行回应,该NA消息中包含目标链路层地址选项。当请求主机接收到来自目标主机的NA消息后,使用其提供的目标链路层地址选项中的信息,对邻节点高速缓存进行项的创建及更新。
在地址解析的过程中,请求主机与目标主机间通过NS及NA消息进行交互。其成功的前提是其他主机遵守协议的规则,对目标地址为不是自身接口地址的请求报文进行回应。当网络中的某个主机不遵守协议,擅自进行应答时,地址解析的后果将不可预测,甚至出现异常。
(二)重复地址检测
主机连接到网络,使用无状态自动配置或者静态设置进行IP地址的配置。IP地址首先要经过重复地址检测,确保链路上没有其他主机使用,该IP才一能被成功设置。重复地址的检测过程与地址解析比较相似。所不同的是,地址解析的目的是获取目标主机的MAC地址,重复地址检测是为了确认护地址在链路上的唯一性。假如已经有主机设置该丁(称为目标主机),那么目标主机就会广播一个邻节点公告报文NA,使用目标链路层选项来说明自己的IP地址及MAC地址。重复地址检测合理性的前提是链路上的其他主机不响应检测自己伊的NS请求。如果某主机假冒IP对其他主机的重复地址检测请求报文进行响应,就会影响其他主机的网络服务,导致其他主机无法正常获得IP。
三、攻击检测与策略分析
(一)阻止IP攻击的检测分析
根据DosNewIP的攻击原理,攻击主机应答局域网出现的所有DAD检测报文,即使该检测地址并未被攻击主机使用。一般的检测思路是对捕获的数据报进行特征分析,如果特征匹配成功,则检测到该攻击。DosNewIP的攻击特征是一个DAD检测的应答报文,假如单纯从报文来进行特征的匹配,会造成误报和漏报。比如,通过事先对DosNewIP代码的分析,使用应答报文中的MAC地址等字段作为特征进行攻击识别,在攻击者修改源代码并使用其他MAC地址后,Snort就无法检测新的DosNew正攻击。所以,使用这类手段进行检测,会导致漏报率的升高。被动等待攻击报文的出现,并进行特征匹配的方法,无法保证对DosNewIP攻击的有效检测。只能采取其他手段利用DosNewIP攻击的特性进行检测。攻击主机开启DosNewIP攻击后,会对局域网内所有的DAD检测报文进行应答,以阻止新IP地址的使用。进行攻击检测的前提是,部署Snort的监控主机不能受到DosNewIP攻击的影响。如果前提无法满足,那么监控主机无法使用网络,更谈不上网络监控。所以必须保证监控主机的存在早于攻击行为的产生。
(二)阻止IP攻击的检测实现
1.总体设计。DosNewIP的检测模块,包括三大模块:检测数据报的生成与发送、应答报文的捕获与解析、警报的产生与发布。检测模块首先按照邻节点请求报文结构构造检测数据报,然后进行发送。其重点在于取得自身lP及报文格式的构造。自身lP地址可以通过打开/proc/net/if_inet
6文件,并匹配相应接口,如“eth0”,来完成。分析模块完成对Snort传入数据报的分析工作。检查数据报是否是对监控主机自身IP地址进行的DAD应答报文。预警模块对上述的检查结果进行预警。
2.详细设计。程序开始后首先进行初始化工作:将标志done置为NOTD,并生成用于存储监控主机护地址的ADDR变量和用于存放时间的变量ts。然后,程序分成两个线程分别进行操作。分线程获得自身伊地址,并存储到ADDR中,然后按照邻节点请求报文的格式进行诱饵数据报的构造。如果标志done此时为NOTD,表明预处理器不清楚网络中是否存在DosNewIP攻击。然后发送诱饵数据报,并睡眠一段时间,再进行条件判断部分。主线程进行捕获数据报的分析及报警工作。当Snort捕获到数据报后,主线程首先测试标志done,如果值为NOTD,则检查数据报,报文如果是DAD检测的应答报文,则提取数据报中的几rgetIP选项,然后与ADDR相比较,相同则说明发现了DosNewIP攻击,将标志done置为DONE并记录当前时间到ts,然后产生警报。如果TargctIP与ADDR不匹配,说明该应答报文是执行正常的DAD检测,不需对数据报进行动作。
标志done为DONE时,说明己探测到DosNewIP攻击。此时,局域网中如果有主机进行DAD检测,其IP地址都会被阻止使用。将来如果出现数据报使用这些地址作为源地址或者目的地址,那么很有可能攻击主机使用这些护地址作为掩饰,向其他主机发送攻击报文。所以,这些被阻止的IP地址需要被记录。主线程中,当done值为DONE时,如果捕获到DAD检测请求数据报,则提取其TargetIP,并进行记录及报警。
参考文献:
[1]DE CASTRO L N,VON ZUBEN F J,The clonal selectionalgorithm with engineering applications[A].WorkshopProceedings of GECCO'00,Workshop on Artificial Immune Systems and their Applications[C].2000.
[2]Rolf Oppliger,Security at the Internet Layer,IEEE Computer,1998,43-47.
[关键词]IPv6 局域网 攻击 检测
中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0720039-01
一、局域网攻击原理
局域网攻击的基本原理是扰乱邻节点发现各过程次序。攻击主机要对网络流量进行侦听,通过对数据报的分析,来获知其他主机状态及邻节点发现过程的阶段,进而发出包含指定信息的数据报,来扰乱邻节点发现过程的进行。甚至,攻击主机主动发出请求报文,误导其他主机对某目标主机进行应答而导致目标主机的瘫痪,或者伪装路由器,发送公告报文,误导主机使用攻击主机当作路由器进行转发等等。
局域网攻击的范围主要局限在本链路内,但破坏力极大,尤其当前接入网的主要形式是以太网,多主机共用一条物理链路,局域网攻击一旦发起,将会威胁所有主机的信息安全及正常通信。
二、IPV6局域网邻居发现协议(ND)
主机与外界连接成功后,使用邻节点发现协议来确定邻节点的可达性及路由器的可用性,并在路由器不可用时,寻找新的候选。所以,从功能上看,邻节点发现协议可以按功能分为几个部分,地址解析,邻节点不可到达检测,重复地址检测,路由器发现和重定向等功能。
这些功能通过使用ICMPv6协议定义的不同报文进行消息的交互与确定。报文包括路由器公告报文(Router Advertisement 简称RA),路由器请求报文(Router solieitation 简称Rs),邻节点请求报文(Neighbor Solieitation 简称NS),邻节点公告报文(Neighbor Advertisement 简称NA)及重定向报文(Redireet)。
(一)邻节点地址解析
如果报文源地址(即发出RS主机的IP地址)是非未确定地址(0:0),则目标主机根据报文中的源地址对邻节点缓存(Neighbor Cache)进行创建或者更新。然后,发送一个邻节点公告NA对该请求进行回应,该NA消息中包含目标链路层地址选项。当请求主机接收到来自目标主机的NA消息后,使用其提供的目标链路层地址选项中的信息,对邻节点高速缓存进行项的创建及更新。
在地址解析的过程中,请求主机与目标主机间通过NS及NA消息进行交互。其成功的前提是其他主机遵守协议的规则,对目标地址为不是自身接口地址的请求报文进行回应。当网络中的某个主机不遵守协议,擅自进行应答时,地址解析的后果将不可预测,甚至出现异常。
(二)重复地址检测
主机连接到网络,使用无状态自动配置或者静态设置进行IP地址的配置。IP地址首先要经过重复地址检测,确保链路上没有其他主机使用,该IP才一能被成功设置。重复地址的检测过程与地址解析比较相似。所不同的是,地址解析的目的是获取目标主机的MAC地址,重复地址检测是为了确认护地址在链路上的唯一性。假如已经有主机设置该丁(称为目标主机),那么目标主机就会广播一个邻节点公告报文NA,使用目标链路层选项来说明自己的IP地址及MAC地址。重复地址检测合理性的前提是链路上的其他主机不响应检测自己伊的NS请求。如果某主机假冒IP对其他主机的重复地址检测请求报文进行响应,就会影响其他主机的网络服务,导致其他主机无法正常获得IP。
三、攻击检测与策略分析
(一)阻止IP攻击的检测分析
根据DosNewIP的攻击原理,攻击主机应答局域网出现的所有DAD检测报文,即使该检测地址并未被攻击主机使用。一般的检测思路是对捕获的数据报进行特征分析,如果特征匹配成功,则检测到该攻击。DosNewIP的攻击特征是一个DAD检测的应答报文,假如单纯从报文来进行特征的匹配,会造成误报和漏报。比如,通过事先对DosNewIP代码的分析,使用应答报文中的MAC地址等字段作为特征进行攻击识别,在攻击者修改源代码并使用其他MAC地址后,Snort就无法检测新的DosNew正攻击。所以,使用这类手段进行检测,会导致漏报率的升高。被动等待攻击报文的出现,并进行特征匹配的方法,无法保证对DosNewIP攻击的有效检测。只能采取其他手段利用DosNewIP攻击的特性进行检测。攻击主机开启DosNewIP攻击后,会对局域网内所有的DAD检测报文进行应答,以阻止新IP地址的使用。进行攻击检测的前提是,部署Snort的监控主机不能受到DosNewIP攻击的影响。如果前提无法满足,那么监控主机无法使用网络,更谈不上网络监控。所以必须保证监控主机的存在早于攻击行为的产生。
(二)阻止IP攻击的检测实现
1.总体设计。DosNewIP的检测模块,包括三大模块:检测数据报的生成与发送、应答报文的捕获与解析、警报的产生与发布。检测模块首先按照邻节点请求报文结构构造检测数据报,然后进行发送。其重点在于取得自身lP及报文格式的构造。自身lP地址可以通过打开/proc/net/if_inet
6文件,并匹配相应接口,如“eth0”,来完成。分析模块完成对Snort传入数据报的分析工作。检查数据报是否是对监控主机自身IP地址进行的DAD应答报文。预警模块对上述的检查结果进行预警。
2.详细设计。程序开始后首先进行初始化工作:将标志done置为NOTD,并生成用于存储监控主机护地址的ADDR变量和用于存放时间的变量ts。然后,程序分成两个线程分别进行操作。分线程获得自身伊地址,并存储到ADDR中,然后按照邻节点请求报文的格式进行诱饵数据报的构造。如果标志done此时为NOTD,表明预处理器不清楚网络中是否存在DosNewIP攻击。然后发送诱饵数据报,并睡眠一段时间,再进行条件判断部分。主线程进行捕获数据报的分析及报警工作。当Snort捕获到数据报后,主线程首先测试标志done,如果值为NOTD,则检查数据报,报文如果是DAD检测的应答报文,则提取数据报中的几rgetIP选项,然后与ADDR相比较,相同则说明发现了DosNewIP攻击,将标志done置为DONE并记录当前时间到ts,然后产生警报。如果TargctIP与ADDR不匹配,说明该应答报文是执行正常的DAD检测,不需对数据报进行动作。
标志done为DONE时,说明己探测到DosNewIP攻击。此时,局域网中如果有主机进行DAD检测,其IP地址都会被阻止使用。将来如果出现数据报使用这些地址作为源地址或者目的地址,那么很有可能攻击主机使用这些护地址作为掩饰,向其他主机发送攻击报文。所以,这些被阻止的IP地址需要被记录。主线程中,当done值为DONE时,如果捕获到DAD检测请求数据报,则提取其TargetIP,并进行记录及报警。
参考文献:
[1]DE CASTRO L N,VON ZUBEN F J,The clonal selectionalgorithm with engineering applications[A].WorkshopProceedings of GECCO'00,Workshop on Artificial Immune Systems and their Applications[C].2000.
[2]Rolf Oppliger,Security at the Internet Layer,IEEE Computer,1998,43-47.