一部分僵尸网络通常是用分布式拒绝服务(DDoS)攻击让垃圾数据淹没服务器。还有一部分僵尸网络通过窃取密码或挖掘加密货币来瞄准特定设备。特别是加密货币挖掘对于最近工业物联网领域的企业来说已经成为一个急剧增长的威胁,Coinhive和CryptoLoot等僵尸网络使网络犯罪分子每年能够以牺牲受害者的计算能力为代价赚取多达1亿美元。Smominru是最大的加密货币挖掘僵尸网络之一,利用从NSA泄漏的臭名昭著的EternalBlue漏洞感染了超过50万台机器。
为了防止僵尸网络感染,留存有IoT设备的企业必须能够检测它们。但僵尸网络检测并不容易。下面咱们来探讨一下IoT僵尸网络检测所面临的一些技术升级和挑战。
僵尸网络检测方法
那么,什么是僵尸网络?简而言之,它是一组僵尸程序 - 受损的计算机和设备 - 执行僵尸网络所有者提供的命令。通常,僵尸网络所有者将专门使用命令和控制服务器(C2),这是一个受损的服务器,用于与机器人通信,通常通过Internet Relay Chat命令。僵尸网络所有者使用C2服务器命令僵尸网络执行攻击,无论是DDoS攻击,数据窃取,身份盗窃还是其他类型的攻击。
不幸的是,找到C2通常不是一项简单的任务。许多僵尸网络命令来自多个服务器或采用隐藏的形式,将恶意命令屏蔽为无害的活动,例如Tor网络流量,社交媒体流量,对等服务之间的流量或域生成算法。更复杂的是,命令通常非常微妙,使得难以检测到任何异常。
尝试检测C2的一种方法是分解和分析恶意软件代码。IoT安全人员可以尝试通过OD脚本类似的反汇编工具获取已编译的代码,有时可以从中识别僵尸网络命令的根源。但是,由于僵尸网络创建者和管理员越来越多地使用集成加密,因此这种技术的效果越来越差。
通常,C2检测需要了解C2服务器与其机器人之间的通信,但只有专门保护C2服务器的安全解决方案才具有这种可见性。检测僵尸网络的一种更常见的方法是跟踪和分析攻击本身 - 标准安全解决方案提供可见性 - 并确定哪些攻击来自僵尸网络。
在查看漏洞利用尝试时,僵尸网络有一些可能的迹象。例如,如果相同的IP地址攻击相同的站点,同时使用相同的有效载荷和攻击模式,那么它们很可能是僵尸网络的一部分。如果涉及许多IP和站点,则尤其如此。一个突出的例子是僵尸网络在Web服务上的DDoS尝试。
误报
误报的可能性使得僵尸网络检测特别困难。一些有效载荷被广泛使用,增加了随机发生的模式触发误报的可能性。此外,攻击者可以通过使用虚拟专用网络或代理来更改其IP地址,使其看起来像真正只有一个攻击者或机器人。
黑客工具和漏洞扫描程序的行为也类似于僵尸网络,通常会返回误报。这是因为黑客工具产生相同的有效载荷和攻击模式,并且许多黑客使用它们,无论其帽子的颜色如何。而且,如果不同的玩家碰巧同时在同一网站上进行渗透测试,它可能看起来像僵尸网络攻击。
IoT安全人员通常可以通过Google搜索有效负载并参考其周围的任何记录信息来识别误报。另一种技术涉及简单地收集安全解决方案中原始请求中可用的任何信息。例如,如果要更好的利用漏洞扫描程序,大多数安全解决方案都会通过识别它来揭示它,特别是如果它是更常见的漏洞扫描程序之一。
鉴于潜在的大量事件,误报是僵尸网络检测中不可避免的挑战; 最近的研究表明,27%的IT专业人员每天收到超过100万次安全警报,而55%的人收到超过10,000次。但是,通过正确的技术和勤奋,组织可以识别来自恶意的,僵尸网络驱动的流量的无害流量。