对于任何注意网络安全评估的公司而言,定期执行边界漏洞测试是至关重要的。有一些攻击由内部发起,而有许多攻击是来自于公司外部。这意味着,公司必须能够验证边界设备,保证系统及时安装补丁,并且保持更新。边界测试一般包括网络扫描、检查入侵检测(IDS)与入侵防御系统(IPS)、防火墙测试和蜜罐技术部署与测试。
网络扫描是渗透测试应该执行的第一个活动。毕竟,您应该尽量从攻击者的角度去检查网络。您对于网络的看法是由内而外,但是攻击者的角度则不同。执行边界扫描可以帮助您确定边界设备的操作系统和补丁级别,从网络外部是否能够访问设备,以及SSL和T传输层安全(TLS)证书是否存在漏洞。此外,网络扫描有助于确定可访问的设备是否具有足够的保护措施,防止在设备部署之后不会被暴露漏洞。Nmap是一个免费的开源安全扫描工具,它可用于监控网络;这个工具支持各种不同的交换机,能够发现开放端口、服务和操作系统。
部署IDS和IPS是另一种检测恶意软件活动的方法。大多数公司都会在网络边界部署IDS或IPS,但是现在人们对于这些设备对抗攻击的效果仍然存在争议。有许多方法可以测试IDS和IPS,其中包括:
插入攻击。这些攻击形式是,攻击者向终端系统发送数据包被拒绝,但是IDS却认为它们是有效的。当出现这种攻击时,攻击者会在IDS中插入数据,却不会被其他系统发现。
躲避攻击。这个方法允许攻击者使IDS拒绝一个终端系统可以接受的数据包。
拒绝服务攻击。这种攻击的形式是,攻击者向IDS发送大量的数据,使IDS完全失去处理能力。这种淹没方式可能会让恶意流量悄悄绕过防御。
假警报。还记得那个谎报军情的小男孩吗?这种攻击会故意发送大量的警报数据。这些假警报会干扰分析,使防御设备无法分辨出真正的攻击。
混淆。IDS必须检查所有格式的恶意软件签名。为了混淆这种IDS,攻击者可能会对流量进行编码、加密或拆分,从而隐藏自己的身份。
去同步化。这种方法(如连接前同步和连接后同步)都可用于隐藏恶意流量。
防火墙是另一种常见的边界设备,它可用于控制入口流量和出口流量。防火墙可以是有状态或无状态的,可以通过各种方法进行测试。常见的测试方法包括:
防火墙识别。开放端口可能有利于确定所使用的特定防火墙技术。
确定防火墙是有状态还是无状态的。有一些简单技术(如ACK扫描)可以帮助确定防火墙的类型。
在防火墙上拦截广告。虽然这种方法并不一定有效,但是一些较老的防火墙可能真的会在广告中添加一些版本信息。
最后,还有蜜罐。这些设备可用于诱捕或“囚禁”攻击者,或者有可能更深入了解他们的活动。蜜罐分成两类:低交互和高交互。蜜罐可以通过观察它们的功能检测。一个很好的低交互蜜罐是Netcat,这个网络工具可以读写通过网络连接传输的数据。
执行nc-v-l-p80,可以打开TCP80监听端口,但是如果进一步检测,则不会返回广告。高交互诱捕则不仅会返回一个开放端口,还会返回当前广告,这使得攻击者更难确定它是一个真实系统或者诱捕系统。
虽然我介绍了几种方法可以让你知道攻击者眼里的网络边界是什么样,但是一定要注意,许多攻击者能够通过由内而外的方式绕过边界设备和控制。如果攻击者能够让一位终端用户在网络内部安装工具,如点击一个链接或访问恶意网站,那么攻击者就可以由内而外通过通道传输流量,这在本质上比由外而内的方式更简单