基于软件定义网络的移动目标防御应对网络侦察
摘要
在线主机和网络由于其静态特性,容易成为网络攻击的目标,这种静态特性造成了信息不对称,使得攻击容易而防御困难。为了打破这种不对称性,提出了移动目标防御以向计算机系统引入不确定性。该方法可应用于各个层面的防护,涵盖应用程序、系统软件、操作系统和网络。本文提出了一种名为嗅探反射器的新方法,用于实践针对网络侦察的移动目标防御,而网络侦察通常被认为是大多数攻击的第一步。嗅探反射器利用软件定义网络来干扰网络侦察。我们使用虚拟化技术为攻击者提供混淆的侦察结果。我们的方法还可以轻松地与现有的网络安全取证工具结合使用。
我们在一个虚拟局域网中开发了原型系统。实验结果表明,嗅探反射器在模糊各类网络侦察方面是有效且高效的。
关键词 :网络侦察 · Network反射器 · Software-定义网络 · Moving 目标防御 · Shadow Networks
1 引言
在线主机和网络由于其静态特性而容易成为各种攻击的目标。在当前的互联网架构下,联网计算机系统一旦建立,就很难更改其网络参数。大多数网络服务都是基于一套精心设计的计算基础设施部署的,并在稳定的网络环境中运行。
例如,通常面向公众访问的Web服务器会使用固定的域名进行部署,连接到物理网络设备(如路由器或交换机),并分配一个可在互联网上定位的公共IP地址。部署完成后,Web服务器的网络参数不会频繁更改。这种做法是合理的,因为用户可以通过服务器的域名或IP地址轻松访问在线服务。然而,这也向攻击者暴露了宝贵的网络信息,可供其恶意利用。理论上,攻击者有无限的时间来研究服务器的网络环境并找出最终接管它的方法。尽管现有的安全工具(如防火墙和入侵检测系统)可以防止大多数常见攻击,但这些防护本质上是静态的,无法改变在线服务器的静态特性。在线主机和网络的静态特性导致了攻击者与防御者之间的不对称性,攻防博弈始终不公平。
为了改变攻防博弈,提出了移动目标防御(MTD)以打破攻击者与防御者之间的不对称性。通过引入不确定性和多样化,MTD为攻击者提供了动态的防御环境。攻击者被迫重新探测、重新评估和重新研究受保护的环境。例如,一种MTD策略可以周期性地更改操作系统的一部分,使得攻击者更难找到特定操作系统的已知漏洞。在MTD保护的环境中,攻击者难以确定并验证所获取信息的真实性。因此,攻击者几乎无法在MTD保护的环境中发起有效攻击。受 MTD这一有前景的防御理念的启发,已有大量研究被提出[8]以寻求适用于现代计算机系统的自适应、动态且实用的安全解决方案。
软件定义网络(SDN)是一种新兴的网络技术,为用户提供了充分的控制灵活性,能够动态地修改网络行为。考虑到越来越多的关键服务从线下迁移至线上,网络自然成为大多数攻击场景中的首要攻击向量。攻击者必须利用网络基础设施来实现其攻击目标。通常,一次针对网络的攻击包含四个攻击阶段[13]:网络侦察1,、定位易受攻击的机器、寻找漏洞利用以及实施有效攻击。每个阶段代表一个攻击步骤。例如,网络侦察用于收集目标网络中的有效信息,如存活节点数量、系统版本等,这些信息为攻击者后续的攻击步骤提供了重要依据。
现有研究成果表明,端口扫描应被视为网络攻击流程[2,6],的初始步骤,且超过70%的网络扫描[16]与攻击活动相关。我们致力于利用移动目标防御( MTD)结合SDN技术来缓解网络侦察带来的威胁。
扫描是一种特殊的网络活动,既可以被保护者使用,也可以被攻击者使用。保护者(如安全工程师和网络管理员)利用网络扫描来评估目标网络的安全状态。在大多数情况下,扫描活动在实际网络中被视为高度危险的行为。在本研究中,除非特别说明,我们将网络扫描视为一种攻击活动。
本文提出了一种新的基于软件定义网络的对抗网络扫描的移动目标防御方法——嗅探反射器。与传统的保护机制不同,嗅探反射器不会阻断或丢弃网络扫描流量。相反,它将扫描流量反射到一个影子网络,在该网络中生成并混淆扫描回复。影子网络可以以可接受的开销模拟任意的网络结构和服务,并具有可接受的开销。因此,攻击者只能从影子网络获得混淆后的网络视图,而无法获取目标网络的真实信息。通过我们的方法,攻击者不再能够通过网络侦察收集有效的网络信息。因此,攻击者难以继续后续三个攻击阶段并完成预期的攻击。
总之,嗅探反射器的主要贡献如下:
– 提出一种针对网络侦察的新型移动目标防御方法。据我们所知,这是首次将移动目标防御应用于网络扫描的工作。我们试图阻止攻击者通过网络扫描收集有效的网络信息。考虑到攻击者依赖扫描响应来收集漏洞信息,我们的方法通过混淆返回的扫描响应使攻击者无法得逞。
– 利用影子网络混淆攻击者的视图。我们使用影子网络对扫描流量提供伪造的响应。影子网络可以构建任意期望的网络环境,以混淆攻击者的视图,该环境是隐蔽且隔离的,并通过虚拟化技术以较小的开销实现。
– 实现隐蔽保护。嗅探反射器提供针对网络扫描的“隐蔽”防护。这里的“隐蔽”是指攻击者无法察觉其收到的响应来自影子网络而非目标网络。我们的方法在链路层完成,不会泄露任何存在提示。因此,嗅探反射器对网络层及以上是不可见的。
Sniffer Reflector 可以轻松地与其他安全工具结合,用于网络取证。我们使用虚拟化技术开发了一个 Sniffer Reflector 原型。它主要包含三个组件:扫描传感器、反射器和影子网络,这三个组件协同工作以保护目标网络。我们的实现可以轻松部署在真实的生产网络环境中。实验结果表明,Sniffer Reflector 在防御各种网络扫描方面是有效且高效的。我们在一个局域网中测试了该原型,实验结果表明攻击者只能从影子网络接收到混淆的扫描响应。
2 背景
2.1 移动目标防御
长期以来,网络安全防御主要是静态的。安全分析人员遵循传统流程,在生产网络中部署防护措施,包括评估信息属性、规划防御策略、部署防御技术和进行渗透测试。一旦防御体系建立,便会以初始部署的状态长期静态运行。因此,攻击者可以有充足时间系统性地研究网络环境,策划恶意活动,找到突破口,最终攻破受保护的系统。
移动目标防御通过向计算机系统引入不确定性和多样性,试图提高攻击者发起攻击的门槛。它迫使攻击者必须重新探测、重新评估和重新研究目标系统。动态防御特性使移动目标防御成为学术界一个颇具前景的研究课题。现有的移动目标防御研究可分为两个层次:系统级和网络级。在系统级[5],研究人员已在操作系统、处理器架构、程序运行时环境、应用程序源代码和二进制代码等方面尝试了移动目标防御。在网络级[1,21],移动目标防御则通过频繁的IP地址重排、网络端口重映射、网络配置自适应、网络拓扑变异、路由信息的动态变化以及IP跳变来实现。更多关于移动目标防御的研究细节将在第6节中讨论。
2.2 网络扫描
网络扫描由一系列系统地从目标网络收集网络信息的网络活动组成。根据不同的目的,网络扫描可分为以下三个阶段:
主机检测 。网络扫描的第一阶段是主机检测。主机检测试图确定未知网络中的可访问主机及其IP地址。最常用的主机检测方法是发送ICMP回显请求。如果远程主机处于活动状态且请求未被阻止,则会收到ICMP回显应答。当接收到 ICMP回显应答时,我们就知道该远程主机在线。
端口发现 。端口发现是网络扫描的第二阶段,旨在查找活动主机上的所有开放网络端口。通常,有两种方法用于发现主机的开放端口:UDP扫描和TCP扫描。其中占主导地位的是TCP扫描,因为大多数有价值的服务都是基于TCP协议实现的。本文主要介绍TCP扫描。执行TCP扫描有多种方式:(1)完整TCP扫描:扫描主机会尝试完成经典的TCP 三次握手,并与目标主机建立完整的TCP连接;(2)半开TCP扫描:扫描主机向目标主机的指定端口发送一个SYN段。如果收到SYN/ACK应答,则扫描主机知道该端口是开放的,且目标主机处于运行状态;如果收到RST应答,则表示该端口为关闭状态。此方法不会建立完整的TCP连接;(3)隐蔽扫描:“非法”一词指标准的TCP三次握手中不包含这些段。攻击者伪造非法TCP段(主要在控制位上)来发起隐蔽扫描[20],,包括FIN扫描、圣诞树扫描、NULL扫描等。
Vulnerability Assessment . 漏洞评估是网络扫描的最后阶段。在识别出活动主机和开放端口后,攻击者需要进一步了解目标系统的详细信息,例如操作系统版本、服务版本,以及配置信息,以制定进一步的攻击策略。由于大多数安全漏洞都依赖于操作系统,因此有必要对操作系统信息进行指纹识别。此外,协议和服务版本对攻击者而言也具有重要价值,可用于选择合适的漏洞利用方式。通过确定具体的操作系统和协议信息,攻击者可以找到相应的漏洞并发起有效攻击。
2.3 软件定义网络
软件定义网络(SDN)是学术界和工业界的一个热门话题。SDN的关键创新在于改变了网络设备的静态特性,使其变得可编程[11]。SDN将网络设备的控制功能与转发功能分离,使用户能够动态地改变网络行为。在SDN出现之前,网络设备被设计得像“死板”的盒子。每个网络设备在工厂中都会安装相同的芯片和固件。一旦交付,网络设备只能以预定义的方式工作。如果用户想要对网络进行某些更改,则必须重新开始并重建物理网络环境,这是一项耗时的任务。
通过SDN,用户可以轻松修改网络数据包、改变流量流向、形成新的网络拓扑等。
受移动目标防御(MTD)防御理念的启发,我们考虑将MTD实践应用于网络侦察防护。由于软件定义网络(SDN)能够在运行时修改网络行为,我们尝试利用SDN的灵活性来修改扫描流量流并提供混淆的扫描响应。如果网络扫描被混淆,后续的攻击步骤将无法成功。我们相信该方法能够显著提高攻击者面临的攻击门槛。
3 系统架构
在本节中,我们提出嗅探反射器架构,该架构旨在利用软件定义网络技术和影子网络向攻击者提供伪造的扫描响应。图1展示了嗅探反射器架构。
如图1所示,嗅探反射器包含三个主要组件:扫描传感器、反射器和影子网络。整个受保护的网络环境称为保护域。每个保护域将包含一个或多个受保护对象。每个对象至少连接一个反射器,且每个反射器连接一个或多个受保护对象。在图中,一个保护域内有两个受保护对象,分别为一个目标主机和一个目标网络。绿色节点代表扫描传感器,负责监控网络流量。红色节点代表攻击者节点,并发出扫描流量,以红色曲线箭头表示。红色虚线表示扫描流量经过反射器时对扫描传感器可见。一旦检测到扫描流量,扫描传感器将向反射器发送一条反射消息。反射器在接收到反射消息后,将操控该扫描流量并将其反射至影子网络,在影子网络中生成扫描响应。嗅探反射器架构的工作流程可以说明如下步骤:(1)扫描传感器将监控目标主机和目标网络的 incoming 流量。(2)一旦检测到扫描流量,扫描传感器会向相应的反射器发送一条反射消息,反射器将根据该消息把扫描流量重定向至影子网络。(3)影子网络接收来自反射器的重定向流量,并通过生成混淆的扫描响应来干扰攻击者的视图。
3.1 扫描传感器
扫描传感器是本架构中的一种扫描检测引擎,负责检测扫描活动并生成反射消息。为了感知扫描活动,需要监控保护域内的所有网络流量。一旦检测到扫描活动,扫描传感器将通知反射器,反射器与影子网络将协同合作以反射扫描流量。扫描传感器完成两个功能:(1)检测扫描流量。扫描传感器监控网络流量并检测扫描活动,利用扫描检测算法识别可能的扫描流量。(2)生成反射消息。在确认扫描活动后,扫描传感器需生成一条反射消息以通知反射器。该消息包含扫描类型、扫描源、扫描目标、端口信息、敏感级别和操作。一个示例消息如下:(TCP圣诞树扫描,源IP 192.168.2.12,目标IP 192.168.1.105,目标端口 80,高密度,反射标志)。反射器将接收该消息并执行相应的反射操作。
3.2 反射器
反射器负责反射扫描流量。它与扫描传感器和影子网络通信,并执行反射操作以重定向扫描流量到影子网络。在保护域中,每个反射器至少连接一个受保护主机或受保护网络。对于这些连接对象,反射器应当是不可见的。当没有扫描活动时,反射器表现为普通的网络设备,为连接节点提供流量转发功能。它像大多数网络设备一样,维持分组交换和流量管理。考虑到扫描类型可能涵盖ICMP、 TCP、UDP及其他协议,在进行反射时,反射器应能够按协议对扫描流量实施细粒度的流量控制。此外,为了反射扫描流量,反射器需要提供至少两条路径来改变扫描流量的流向:一条用于正常流量,通向目标主机;另一条用于扫描流量,通向影子网络。
3.3 影子网络
所有扫描流量都将被重定向到影子网络。影子网络是一个隔离且不可见的网络,由影子节点组成。除了反射器之外,保护域中的任何节点均不知道影子网络的存在。除非从反射器接收到扫描流量,否则影子网络不会向保护域产生任何网络流量。一个保护域可以拥有多个影子网络,这些影子网络可以协同工作以模拟复杂的网络结构。一种典型策略是模拟保护域的副本,伪造的网络环境在节点数量、网络拓扑和配置等方面与保护域相同,可用来欺骗攻击者,使其相信所到达的网络就是目标网络。如果攻击者继续攻击,影子网络还可以提供进一步的响应。
4 设计与实现
4.1 设计原则
我们有三个设计原则。第一,嗅探反射器的三个组件都应是可信的,且不受攻击者干扰。此外,嗅探反射器内部的通信对攻击者和目标节点应是不可见的。第二,在保护域内,所有网络流量都无法逃脱监控,扫描传感器能够观测保护域内发生的任意通信。第三,一旦被检测并触发反射机制,攻击者无法绕过嗅探反射器的反射机制。
4.2 原型实现
基于我们的三个设计原则,我们实现了一个嗅探反射器原型,以在虚拟网络中提供扫描防护。该原型运行一个保护域,该保护域由两部分组成:目标网络和嗅探反射器框架。如图2所示,目标网络包含两个虚拟机器节点,且它们都连接到反射器。因此,嗅探反射器框架包含三个组件,正如我们在第3节中讨论的,即扫描传感器、反射器和影子网络。
我们选择在虚拟化平台上实现该原型,因为越来越多的组织正在将其服务迁移到云和数据中心。我们采用内核虚拟机(KVM)[10]虚拟化平台。在 KVM平台上,客户机上的80%指令可直接在物理CPU上执行,从而实现了高资源利用率。我们定制了一个虚拟交换机VDE交换机,使其作为反射器运行。KVM客户机和VDE交换机均在宿主操作系统上作为用户进程运行。以下介绍这三个组件的实现细节。
我们修改了Snort以实现一个扫描传感器。Snort有三种工作模式:嗅探模式、数据包记录模式和NIDS模式。为了符合我们的目的,我们采用了NIDS模式。在NIDS模式下,Snort允许安全工程师安装一组安全规则来检测网络上的可疑事件。当检测到可疑事件时,将生成告警信息并写入日志文件。我们定位了生成告警信息的源代码,并插入了一个额外的模块。该模块负责查找扫描告警模式并生成反射消息。消息内容包括扫描类型、扫描源、扫描目标、端口信息、敏感级别和操作。此外,我们开发了一个通信模块,用于将反射消息发送到反射器。有关消息内容和扫描检测策略的更多细节将在第5节中给出。
反射器的实现基于一个虚拟交换机,即VDE交换机[3]。VDE交换机的基本功能是为连接节点接收、处理和转发网络数据包。每个连接节点都将被分配一个专用端口号,用于分组交换。我们对VDE交换机进行了修改并为其插入了一个额外的用于数据包检查功能的层级。当接收到反射消息时, VDE交换机会将这些消息转换为反射规则。反射规则包含扫描流量的特征,例如扫描源IP和协议信息。所有反射规则将被存储在一个Refl Rules List中。所有经过VDE交换机的数据包都将通过该列表进行检查。如果有任何流量匹配,就会被反射。修改后的VDE交换机能够验证从链路层到传输层的数据包头部,这使得VDE交换机能够按协议识别流量流,从而帮助我们实现细粒度的流量控制。
为了在嗅探反射器内部通信时实现秘密通道,我们在VDE交换机中设计了两个保留端口号。这两个保留端口号分别专用于扫描传感器和诱骗网络。对于每个保留端口,我们设置了一个开关标志。当没有扫描流量时,开关标志将关闭,保留端口被阻塞;当检测到扫描流量时,开关标志将开启,扫描流量将通过保留端口进行反射。具体的反射决策如算法1所示。
算法1. 扫描流量反射决策
Require: 当前数据包 p;开关标志 sf;反射规则集:Refl Rules List;影子网络使用的端口: SN port
1: 对于 每个数据包 p执行
2: 如果 ((p.source IP, p.protocol) ∈[Refl Rules List]) 且(sf 开启) 则 发送 p到 SN port
3: 结束如果
4: 结束循环
影子网络也通过虚拟化技术实现。我们使用KVM虚拟机来模拟影子网络中的节点。这些虚拟机通过虚拟网络设备相互连接,构建出网络结构。在每台虚拟机上,我们部署相应的操作系统和网络服务,旨在向攻击者提供混淆的扫描响应。这些虚拟机完全可控,可配置任意网络参数以模拟所需的网络行为。我们在影子网络中使用真实虚拟机而非虚拟蜜罐/蜜网的原因在于,虚拟机能够为攻击者提供一个完全响应的操作系统和TCP/IP协议栈。一些轻量级的虚拟蜜网 (如honeyd[17],可用于模拟网络,但其响应容易被攻击者识别。
5 评估
我们在一个虚拟局域网192.168.1.0/24中评估我们的原型。整个虚拟网络设施部署在一台物理机上,所有其他网络节点和设备都作为虚拟机运行。我们的测试平台部署在配备3.4Ghz Intel Core i7‐3370处理器和16 GB内存的主机上。该主机运行CentOS 6.0 with kernel2.6.32 x86 64和qemu‐kvm‐0.15.1。同样,所有其他客户操作系统也均运行CentOS Linux。扫描传感器虚拟机运行Snort 2.9.7.5以进行扫描检测。影子网络部署了两个虚拟机作为影子节点,以提供伪造的扫描响应。反射器采用VDE Switch 2.3.2。
如图2所示,我们的原型中有五个节点。宿主操作系统的IP地址为 192.168.1.107。另外两个节点192.168.1.153和198.168.1.154作为保护域中的普通节点运行Linux操作系统。节点192.168.1.153开放端口 22、23、80、111 和 443;节点192.168.1.154开放端口 22、80 和 111。影子网络包含两个影子节点,均运行 Windows XP系统,并使用与普通节点相同的IP地址,分别为192.168.1.153和 192.168.1.154。这两个影子节点均配置为开放端口 53、135、139、445 和 3389。攻击者节点的IP地址为192.168.2.1,位于子网 192.168.2.0/24中,用于发送扫描流量并收集扫描结果。此外,Snort和VDE交换机作为用户空间进程在宿主操作系统上运行。
扫描检测规则已配置为在Snort上检测TCP SYN泛洪和TCP隐蔽扫描。规则内容如图3所示。第一条规则用于检测TCP SYN泛洪扫描,其定义为在Y时间内出现X个TCP SYN请求。在我们的评估中,将TCP SYN泛洪定义为在5秒内发送超过100次的任意TCP连接请求(此假设可根据不同的检测场景进行调整)。接下来的检测规则详细说明了TCP隐蔽扫描,包括FIN扫描、NULL扫描和圣诞树扫描)。
我们使用nmap生成扫描流量。为了展示我们保护机制的有效性,我们设计了三种类型的扫描:SYN扫描、圣诞树扫描和版本检测扫描。参见以下nmap命令:
-
nmap ‐sS 192.168.1.0/24 -
nmap ‐sX 192.168.1.153/154 -
nmap ‐A ‐T4 ‐F 192.168.1.153/154
第一条nmap命令对局域网192.168.1.0/24执行TCP SYN扫描。TCP SYN扫描通过完整的TCP三次握手探测远程端口。由于TCP SYN扫描是互联网上最常见的扫描方式,大多数系统日志默认会捕获TCP SYN扫描。接着,第二条扫描命令在两个主机192.168.1.153/154上启动TCP圣诞树扫描。TCP圣诞树扫描是一种TCP隐蔽扫描,通常被大多数防火墙阻止。我们评估中的第三次扫描是组合扫描,包含一系列扫描活动。‐A选项表示该扫描命令将执行操作系统检测、版本检测、脚本扫描和路由跟踪。nmap会将扫描结果与其指纹数据库进行匹配,并推测被扫描主机的操作系统和版本信息。我们分两轮执行这些扫描命令。第一次扫描在没有嗅探反射器保护的情况下执行;第二轮在嗅探反射器的保护下进行扫描。随后,我们比较了扫描结果,结果表明我们的原型在防御各种网络扫描方面是有效且高效的。
表1. 192.168.1.0/24 上的扫描结果对比
| 无 嗅探器反射器 保护 | 启用嗅探反射保护 | |
|---|---|---|
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 192.168.1.107 已开启 | 192.168.1.107 已开启 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 0.00015 秒延迟 | 0.00032 秒延迟 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 未显示:998 个关闭的端口 | 未显示:998 个关闭的端口 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 端口 状态 服务 | 端口 状态 服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 22/tcp 开放 ssh | 22/tcp 开放 ssh |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 111/tcp 开放 rpcbind | 111/tcp 开放 rpcbind |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 192.168.1.153 已启动 | 192.168.1.153 已启动 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 0.00029 秒延迟 | 0.015 秒延迟 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 未显示:995 个关闭的端口 | 未显示:995 个关闭的端口 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 端口 状态 服务 | 端口 状态 服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 22/tcp 开放 ssh | 53/tcp 开放 域名 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 23/tcp 开放 telnet | 135/tcp 开放 微软远程过程调用 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 80/tcp 开放 HTTP | 139/tcp 开放 NetBIOS会话服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 111/tcp 开放 RPC绑定 | 445/tcp 开放 微软目录服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 443/tcp 开放 HTTPS | 3389/tcp 过滤 MS终端服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 192.168.1.154 正在运行 | 192.168.1.154 正在运行 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 0.00023秒 延迟 | 0.015秒 延迟 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 未显示:997 个关闭的端口 | 未显示:995 个关闭的端口 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 端口 状态 服务 | 端口 状态 服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 22/tcp 开放 ssh | 53/tcp 开放 域名 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 80/tcp 开放 HTTP | 135/tcp 开放 微软远程过程调用 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 111/tcp 开放 rpcbind | 139/tcp 开放 NetBIOS会话服务 |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 445/tcp 开放 微软目录服务 | |
| TCP SYN扫描 nmap ‐sS 192.168.1.0/24 | 3389/tcp 过滤 MS终端服务 |
表2. 单个主机上的扫描结果对比
| 无嗅探反射保护 for 153 | 无嗅探反射保护 for 154 | 启用嗅探反射保护 for 153 | 启用嗅探反射保护 for 154 | |
|---|---|---|---|---|
|
TCP
Xmas scan nmap ‐sX 192.168.1.X |
192.168.1.153 已启动
0.00029s 延迟 995个关闭的端口 端口 状态 服务 22/tcp 开启/过滤 SSH 23/tcp 开放/过滤 telnet 80/tcp 开放/过滤 http 111/tcp开放/过滤 rpcbi 443/tcp 开放/过滤 https 在14.26秒内扫描完成 |
192.168.1.154 已启动
0.00028秒延迟 997个关闭的端口 端口 状态 服务 22/tcp 开放/过滤 ssh 80/tcp 开放/过滤 http 111/tcp 开放/过滤 rpcbin 在14.25秒内扫描完成 |
192.168.1.153 已启动
0.015秒延迟 999个关闭的端口 端口 状态 服务 3389/tcp 开放/过滤 微软终端服务 扫描耗时 14.28 秒 |
192.168.1.154 已启动
0.0020延迟 999 个关闭的端口 端口 状态 服务 3389/tcp 开放/过滤 微软终端服务 25秒内扫描完成 |
表格1显示了在子网192.168.1.0/24上的扫描结果。第一列是nmap扫描命令。第二列和第三列分别展示了未启用和启用嗅探反射器保护时的扫描结果。从第二列可以看出,扫描结果返回了192.168.1.0/24中的所有活动节点。对于每个活动节点,结果显示了扫描延迟、关闭端口数量以及开放端口/状态/服务信息列表。当没有嗅探反射器时,扫描器能够从保护域中接收到网络信息。根据返回的IP地址和开放端口信息,可以看出攻击者可以轻松地从目标网络收集网络信息。第三列列出了在嗅探反射器保护下的扫描结果。所列出的开放端口与我们配置为影子节点的虚拟机相匹配,这表明扫描器实际上是从影子网络获取网络信息。比较两列的扫描结果,可以看出扫描延迟存在差异。在启用嗅探反射器的情况下,模拟诱骗服务的平均延迟为0.015秒,高于真实节点的延迟(0.00015秒)。这种延迟可能是因为反射是在软件中实现的,并且 VDE交换机需要逐个数据包反射扫描流量。
表格2展示了对两台主机192.168.1.153/154进行TCP圣诞树扫描的结果。第一列为nmap扫描命令,其余各列展示了在启用和未启用嗅探反射器保护情况下的扫描结果。与SYN扫描不同,圣诞树扫描结果中的端口状态信息显示为“o/f”,表示“开放或被过滤”。扫描结果显示,当嗅探反射器开启时,两次扫描均返回了来自影子节点的模拟结果,表明扫描流量已被反射,且扫描结果来源于影子网络。此外,我们还获得了nmap组合扫描的扫描结果。结果表明,在嗅探反射器的保护下,组合扫描也能在本框架中被检测并反射。
6 相关工作
近年来,移动目标防御研究非常热门。许多移动目标防御方法被提出以缓解安全威胁。现有的移动目标防御研究可分为两个层次:系统级和网络级。网络级的移动目标防御方案[1,4]包括IP地址重排、网络配置随机化等。这些方法都试图在网络级上混淆攻击者。系统级的移动目标防御方法涵盖平台[15],运行环境[19],和软件应用[18]。Kewley等人[9]提出利用动态网络重构来减少网络攻击。他们试图迫使攻击者使用过时的网络配置来准备攻击。Groat等人[7]实现了一个实时的IPv6版本移动目标防御。通过使用DHCPv6协议,在IPv6地址与DHCP标识之间建立了一条隐蔽连接,可用于保护政府或机密组织中的敏感通信。与我们的方法不同,这些方法仍处于原型阶段,距离成熟部署还很遥远。
我们的工作也受到软件定义网络(SDN)研究的启发。OpenFlow [14] 是目前最广泛接受的 SDN 协议。它旨在通过控制器和交换机动态改变网络行为。控制器负责管理所连接的交换机并决定交换机的流表,而交换机则利用流表来转发网络流量。Lara等人 [12] 对 OpenFlow 的创新进行了综述,该技术已被应用于网络管理、流量分析、容错、安全以及许多其他领域。SnortFlow [22] 被提出用于在云环境中将入侵防御系统(IPS)与 OpenFlow 集成。其基本思想是利用 IPS 警报来改变云的行为。然而,由于云结构较为复杂,对安全事件做出及时响应是不现实的。相比之下,嗅探反射器能够对反射操作进行即时更改,并且可以毫无困难地部署在真实网络中。
7 结论
当今计算和网络系统的相对静态特性导致了攻击者与防御者之间的信息不对称。为了打破这种不对称性,本文提出了一种新的基于软件定义网络的移动目标防御方法——嗅探反射器(Sniffer Reflector),以混淆攻击者对目标网络信息的视图。我们已在虚拟局域网中设计并实现了一个原型。针对各种扫描活动的实验结果表明,嗅探反射器是有效且高效的。
1万+

被折叠的 条评论
为什么被折叠?



