APP下载

基于用户地址动态变化的防御方法

2018-08-17林玉香王慧婷

计算机工程与设计 2018年8期
关键词:IP地址攻击者时刻

林玉香,王慧婷

(1.南阳理工学院 软件学院,河南 南阳 473000;2.北京邮电大学 科学技术发展研究院,北京 100876)

0 引 言

移动通信网络正逐渐趋于IP化,如4G中的IMS网络和EPC网络等。为保护用户数据,IMS网络在接入侧采用AKA方法实现用户与网络间的双向身份认证,并通过IPSec提供了接入安全保护;在网络域引入了安全域的概念,为通信服务提供机密性、数据完整性保护。然而,IP网络先天的脆弱性,导致移动通信网络仍存在许多潜在的安全问题[1-3]:

(1)网络监听攻击。IMS网络中用户通信信息通常以明文形式进行传输,缺乏相关的保密机制,用户数据易被非法监听。

(2)DDoS攻击。攻击者通过不断产生伪造的请求发送给合法用户,使其无法正常使用服务。

(3)重放攻击和中间人攻击。攻击者可以通过一定的方法将自己伪装成通信系统中的合法网元,对会话进行监听或者破坏。

通过对上述安全威胁进行分析发现,攻击者的攻击过程一般包括系统探测、漏洞挖掘、系统突破、系统控制、信息获取等环节,并基于此形成一条攻击链[4],完成攻击目标。针对这一问题,本文提出一种用户地址动态变化(address dynamic mutation,ADM)方法,动态改变网络中用户终端的IP地址,利用动态性带来的随机性和不确定性,使攻击者很难建立起持续可靠的攻击链,从而保护用户信息安全。最后通过理论分析和仿真实验验证了该方法的有效性。

1 相关工作

传统网络体系结构的静态特征使得攻击者能够有足够的时间分析网络中潜在的漏洞,一旦攻击者获得某种权限,他们所发动的攻击行为往往需要很长时间才能被检测出来。这种滞后性的被动防御措施已经无法满足网络空间安全的需求,近几年,美国研究人员提出了移动目标防御(moving target defense,MTD)[4,5]方法,其核心思想是通过动态改变系统的配置参数,使内外部攻击者观察到的硬件执行环境不确定,无法或者很难构建起基于漏洞的攻击链,从而提高系统的安全性。其中的动态IP地址技术,已经取得了大量研究成果。

Antonatos等[6]提出一种称为网络地址空间随机化(network address space randomization,NASR)的主动防御机制,通过配置DHCP(dynamic host configure protocol)服务器使主机在不同时刻的有效期失效,以此来支持地址随机化。多个实验证明NASR方法对于hit list蠕虫攻击有较好的防御效果。Groat等[7]提出一种保护可移动系统中静态节点的MTD方法,通过构建同构移动目标网络,使得系统中的所有节点定期改变其地址,将移动节点(如移动终端)和静态关键节点(如网络服务器)混合,从而达到隐藏静态关键节点的目的。Chavez AR等[8]提出一种移动目标防御机制,利用基于地址、端口和网络路径的随机化隐藏通信双方的身份信息。然而该方法在IP变化过程中要求客户端和服务器相互合作,所以它并非透明化而且仅适用于SDN网络中。M.Dunlop等[9]中提出一种移动目标IPv6防御方法(moving target IPv6 defense,MT6D),通过重复轮换发送和接收者的地址来实现对用户隐私和目标网络的保护。Jafarian等[10]提出一种OF-RHM(OpenFlow-random host mutation)方法,在SDN中设计了一种IP地址动态变化技术,该技术对通信主机透明化并且可以提供较高的IP变化速率。然而上述两种方法在传统网络中却难以部署,而且,由于较高的延时,使其无法在对时延要求比较苛刻的移动通信系统中直接应用。

2 ADM方法设计

2.1 虚假IP地址生成

在当前移动通信网络中,虽然已经兼容IPv6地址格式,但是目前分配给移动用户的IP地址大部分仍然是IPv4格式。IPv4地址由32位2进制数值组成,其地址空间为2^32-1。它可以分为网络地址和主机地址两部分,本文通过生成一系列动态变化的虚假IP地址(virtual IP,vIP)代替用户原IP地址在网络中使用,从而达到隐藏用户地址信息的目的,同时为了保证跳变后的地址仍能正常路由到服务器地址所在的地址段,只改变其主机地址部分。下面以B类地址为例介绍虚假IP地址生成过程,假设用户m的原IP地址的16 bits主机地址为IDm,其在ti时刻的虚拟主机地址IDm(i)可以由IDm,共享秘钥Ks和时间戳ti通过哈希函数计算而成。本文采用单向哈希函数MD5,并取其最后16 bits,计算方法如式(1)所示

(1)

其中,IDm表示用户m的真实主机地址。那么用户m在时刻ti的虚拟IP地址IPm(i)可由虚拟主机地址与原IP地址的真实网络地址组合得到,如图1所示。

图1 生成虚拟IP地址

2.2 地址跳变间隔

为了使攻击者收集到的虚假地址随时间推移而失效,我们为每个虚假地址定义其有效持续时间,有效期结束后用户地址就会发生一次跳变。假设用户m在ti时刻的虚假地址IPm(i)的有效时间范围从Tmin,Tmax中随机选择,其中Tmin是虚假地址的最小允许持续时间(地址有效期小于Tmin将会使地址更新消息在下一个地址跳变触发之前没有足够的时间发送到网络中去),Tmax是虚假地址的最大允许持续时间(有效时间大于Tmax将会使ADM方法失去防御效果),Tmin和Tmax的值可由用户根据网络当前安全情况自行设定。即用户在ti时刻使用的地址IPm(i)仅在当前有效时间ΔTm(i)(ΔTm(i)∈[Tmin,Tmax])内有效,当与此关联的有效期结束时,用户便使用ti+1时刻的虚假地址IPm(i+1)代替IPm(i),并随机选择下一个有效时间ΔTm(i+1)。

2.3 重复性检测和地址宣告

需要指出的是,本文所提出的ADM方法只是针对网络中安全等级要求较高的部分用户,称之为移动目标用户(moving target users,MTU)。每当MTU的IP地址发生变化时,它必须将自己的新地址发送给网络DNS,这样才能成功接收到来自其他用户的请求消息,地址更新之后必须及时删除过期的地址,以防止重放等攻击。另外由于哈希函数固有的冲突特性,当子网中MTU数量比较大的时候,有可能产生与未实施ADM方法用户重复的地址,这样容易引起呼叫混乱,造成通信质量的严重下降。因此本文通过将MTU地址映射到动态地址空间的方法来解决该问题。

假设在子网S中,用户地址空间大小为N,分配给MTU用户作为动态地址空间为A={a1,…,an},剩下的地址作为用户的静态地址空间,记为B={b1,…,bm},其中有k个MTU用户,一般k≪m,则N=A∪B。为了方便计算,假设A空间为[0,a]的连续离散空间,则B空间为[a+1,b]。ti时刻,由式(1)计算出MTU用户j的地址bj(i),如果bj(i)∈A,则令aj(i)=bj(i);如果bj(i)∉A,对其由式(2)进行归一化处理

(2)

aj(i)=[pn·a]

(3)

其中,p为需要进行归一化处理的数据,minp为p中的最小值,maxp为p中的最大值,pn为归一化的结果,且pn的取值范围为[0,1], [·]为取整符号。

由式(3)将归一化结果映射到A空间中,得出ti时刻用户j的虚拟地址aj(i),并执行地址检测过程。我们为A空间中的每一个地址占用与否进行标记,即如果在ti时刻该地址已被使用,则将其标记为1,未被占用则将其标记为0,所有地址的初始状态标记为0。则地址检测过程就是对地址aj(i)的状态进行检测,如果为0,则可以使用,如果为1,则将其舍弃,并令i=i+1,重新由式(1)计算,直到该用户在A空间中的虚拟地址未被占用为止。当与其对应的有效时间ΔTj(i)将要结束时,用户便由式(1)提前计算出下一个时刻ti+1将要使用的IP地址aj(i+1),并基于当前地址生成一张真假IP地址转换表,见表1。

表1 真假IP地址转换

表1中存储用户j的真实地址、当前使用的vIP和下一个时刻将要使用的vIP。当ti+1时刻到来时,用户j的地址发生跳变,将aj(i+1)作为当前使用的IP地址(将该地址标记为1),更新转换表中的内容,删除上一时刻的地址aj(i)(将该地址标记为0)。同时将新地址发送给网络DNS和网路由等设备,完成地址宣告过程。

3 分析和评估

本章首先对ADM方法防御攻击的有效性进行理论分析,然后通过仿真实验来验证其对于基于扫描的攻击类型有较好的防御效果,最后以IMS网络为例测试其给用户会话带来的延迟影响。

3.1 有效性分析

3.1.1 理论分析

抵抗网络监听攻击:由于通信中双方用户的 IP 地址每隔一个跳变时间间隔就发生一次跳变,且地址的跳变是伪随机的。即使攻击者截获了用户某一时刻使用的IP地址,当其在该IP地址上进行监听时,用户使用的IP地址在下一个时刻就会发生改变。又或者攻击者通过一定方式获取了用户的真实IP地址,并伪造数据包发送给用户,当该请求到达用户MTG时,会被MTG认为是恶意请求而直接丢掉,故该方法能有效抵抗网络监听攻击。

抵抗DoS/DDoS攻击:DoS/DDoS攻击是向IMS网络中的某一用户发送大量服务请求,导致其正常业务的失败。但是在该方法中,通信用户的IP地址每隔一个跳变时间间隔就发生一次跳变,攻击者无法连续地向同一用户发送大量的服务请求,也就无法耗尽用户的服务资源。故该方法能有效抵抗DoS/DDoS 攻击。

3.1.2 仿真实验

本文利用Open SER软件搭建IMS网络仿真环境如图2所示,实验环境为Intel(R)Core(TM)i7-4790 CPU@3.6 GHz,4 GB内存,Ubuntu 14.04.1操作系统,C语言编程环境。通过配置openser.cfg文件中的相关参数实现IMS网络中CSCF实体的基本会话功能。B用户为MTU用户,MTG的功能通过在用户B处编程实现。

图2 基本IMS网络测试环境

实验中用户A和B的初始IP地址分别设为192.168.1.2和192.168.199.151。未施加ADM方法时,用户之间基于静态的地址进行通信,通过Wireshark抓取流量包如图3(a)所示;对用户B实施ADM方法之后,用户B的地址动态变化,抓取的流量包如图3(b)所示。

图3 用户间通信数据包

为了对地址动态跳变方法的有效性进行量化分析,我们采用文献[11]提出的衡量标准:跳变成功率:用户地址没有被扫描探测器发现的概率。假设某MTU的隐藏地址空间大小为N,在每个地址跳变时刻ti选择一个隐藏地址,则用户地址跳变频率fi=1/ti。假设采用非重复地址检测方法对IMS网络中用户地址进行扫描,扫描的频率为f,则网络扫描速度与用户地址跳变速度比k=f/fi。N次扫描之后,扫描探测器错过目标用户的概率P如式(4)

(4)

特别地,当k=1时,错过目标用户的概率为

(5)

在实验中,当用户所采用的隐藏地址数量N=300、600时,300次扫描对应的扫描比率σ分别为1、0.5,实验结果如图4所示,可以发现,仿真结果与理论结果基本一致。当对用户整个网络地址空间进行扫描,改变成功率P可达到的最大值约为0.4;当无法对用户的整个地址空间进行扫描时,改变成功率也会相应增加。

图4 MTU的地址跳变成功率

另外,对于来自网络外部的攻击者来说,从目标发现到发起攻击之间的时间过于漫长,所发现的MTU地址在此期间早已发生了改变。为了证明ADM方法对于外部攻击者的有效性,本文采用Nmap软件对网络中所有用户进行50次不同的扫描,共持续40 min。其中MTU所占的比例20%,扫描结果如图5所示。在比较所有50次扫描结果之后发现,只有不到3%的真实IP地址被识别出来。

3.2 延 迟

为了分析ADM方法对用户会话建立流程的影响,对用户完成一次会话建立所使用的时间进行了测量。当用户实施ADM方法时,测试从用户发送INVITE消息到接收到表明会话建立成功的200 OK响应消息的时间,设为T1;当用户不采用实施ADM时,用户进行常规的会话建立流程,测试时间设为T2。分别对时间T1和T2进行20次测试,测试结果如图6所示。

图5 Nmap扫描结果

图6 用户会话建立时间比较

从图6可以看出,ADM方法在一定程度上增加了用户会话建立的时间。其中,会话建立时间差最大值Tmax=0.0858 s,最小值Tmin=0.0533 s。对T2的30次测量值取平均值可得用户的正常会话建立流程平均运行时间,其值为1.2152 s。定义PΔ反映ADM方法对用户会话建立时间的影响程度,其表达式如下

(6)

依据上述公式,对图6所示的测量值进行分析可以看出

(7)

将具体数值代入式(7)可得:4.39%≤PΔ≤7.06%,因此,实验结果表明ADM方法对用户会话建立时间的影响不大。

4 结束语

针对基于IP的移动网络中用户固有地址信息容易泄露的问题,本文提出了一种基于用户地址动态变化(ADM)的安全通信方法。该方法通过动态改变端用户的IP地址,使得攻击者获得的地址信息随时间增加而失效,从而防御基于地址探查类型的攻击。文中还给出了基于ADM方法的通信流程。最后,实验结果表明,提出的方法能在有限的通信时延中有效提高用户的安全性。

猜你喜欢

IP地址攻击者时刻
冬“傲”时刻
捕猎时刻
铁路远动系统几种组网方式IP地址的申请和设置
正面迎接批判
正面迎接批判
公安网络中IP地址智能管理的研究与思考
有限次重复博弈下的网络攻击行为研究
《IP地址及其管理》教学设计
一天的时刻