来源:https://www.normshield.com/machine-learning-in-cyber-security-domain-9-botnet-detection/
机器学习僵尸网络检测;僵尸网络指的是由僵尸组成的有组织的自动化军队,它可以用来创建DDoS攻击以及垃圾邮件行为,如淹没任何收件箱或传播病毒。事实上,这支军队由大量的计算机组成。攻击者利用这支军队进行恶意攻击,通常僵尸甚至不知道他们被用于恶意攻击。
僵尸被广泛用于发送垃圾邮件;截至2005年,全球约有50-80%的垃圾邮件是由僵尸电脑发送的。这使得垃圾邮件发送者可以避免被检测到,并可能降低了他们的带宽成本,因为僵尸的所有者为他们自己的带宽付费。僵尸网络攻击的一般结构如下。
这个过程由一个名为C&C的集中实体执行,C&C也称为botmaster。botmaster是一个实体,协调发起、管理或暂停对所有受感染机器(bot)的攻击。因此,C&C机制的目的是增加僵尸机器的数量,并协调这些机器进行如此多的破坏性操作。僵尸网络与其他类型网络攻击的区别在于网络中存在C&C。此外,机器人从C&C接收指令,并根据这些指令采取行动。这些指令/命令的范围从在互联网上发起蠕虫或垃圾邮件攻击到破坏合法的用户请求。
僵尸网络可以做任何你可以想象到的事情,通过使用许多计算机连接到一个网络。分布式能力是僵尸网络能力的关键。
一、机器学习僵尸网络检测
随着技术的发展,每台个人计算机都具有巨大的处理能力(CPU、GPU)和带宽容量。因此,每一台加入僵尸网络的个人电脑都使得僵尸网络更加强大。
需要太多处理能力的工作可以很容易地在分布式网络中完成。在这种类型的网络中,工作被划分为子工作,并分配给各个机器。僵尸网络攻击的主要目的是将多个资源组合在一起,并构建一个非常强大的资源。组合源可以是带宽或处理能力。在创建了足够多的僵尸网络之后,攻击者可以将其用于许多恶意目的。一些例子;
分布式拒绝服务攻击(DDoS)
垃圾邮件
嗅探流量和键记录
感染新的宿主
身份盗窃
攻击IRC聊天网络
托管非法软件
谷歌广告滥用和广告插件
点击欺诈
操纵在线调查
远程使用电脑
攻击银行计算机(Atm或任何其他计算机,因为它们也是联网的)
操纵比赛
利用私人文件
人类目睹了如此多的僵尸网络及其攻击。每一种都对目标公司造成实质性损害。一些僵尸网络的发展令人难以置信,并在全世界造成了巨大的破坏。黑客新闻用户报告说,以下网站宕机:witter、Etsy、Github、Soundcloud、Spotify、Heroku、Pagerduty、Shopify、Intercom。
Netflix、Slack、Imgur、HBO Now、贝宝(PayPal)、PlayStation Network、Yammer、Seamless等更多服务也在攻击日遭遇中断。可以肯定的是,Mirai不仅仅是物联网僵尸网络,在不久的将来,我们可以看到另一个物联网僵尸网络攻击。
因此,僵尸网络的检测和消除是网络安全领域的重要挑战。担心安全问题的大公司已经付出了巨大的努力来检测和消除僵尸网络。例如,运行在微软操作系统上的宙斯僵尸网络恶意软件包就在这件事上运行了三年多,最终导致了大约7000万美元的被盗资金,并在2010年被联邦调查局逮捕了100多名个人。宙斯是活跃的,甚至当宙斯的创造者被捕。微软是这个僵尸网络的受害者,它花费了巨大的努力来消灭宙斯。最终,在2012年3月,微软宣布成功关闭了ZeuS的“大多数”C&C服务器。
据观察,发现僵尸机器不是一件容易的事。即使检测到一台僵尸机器,那么网络的其他部分呢?检测所有关于特定僵尸网络的网络是一项艰巨的任务。因此,如果僵尸是物联网设备,就更难识别僵尸网络。
二、如何检测僵尸网络?这就是机器学习发挥作用的地方。
僵尸网络检测与其他恶意软件/异常检测系统的检测机制有所不同。在解释僵尸网络检测技术之前,我们想先解释一下僵尸网络检测和恶意软件/异常检测之间的异同,以便大家有一个清晰的认识。
异常检测是指在网络流量中发现不符合预期正常行为的异常通信模式的问题。针对每一类异常检测技术,作者对正常和异常数据的概念作了独特的假设。
与其他攻击检测类型不同,僵尸网络检测是指在受控的网络环境中检测受控制的恶意/异常活动。恶意软件分销商认为僵尸网络是在全球范围内传播恶意和异常活动的手段。因此,僵尸网络变得流行起来,因为它是由被劫持的计算机组成的远程控制网络。
这个分布式协调网络的基本目标是在网络上发起各种恶意活动,包括网络钓鱼、点击欺诈、垃圾邮件生成、侵犯版权、键盘记录,以及最重要的DoS攻击。(上面给出了一些其他的例子。)僵尸网络被认为是对互联网网络资源的严重威胁。总之,在IDS/IPSs中检测到的攻击代表一个单独的模式,这些攻击应用于一个特定的源。僵尸网络产生的攻击是一个大网络的一部分。僵尸网络检测的兴趣是破坏僵尸网络的所有资产并摧毁C&C服务器。
在本章中,我们只关注使用机器学习开发的僵尸网络检测技术,并对这些技术的工作机制作了简要的说明。文献中有很多技巧。僵尸网络检测技术的一般结构如下。
僵尸网络检测技术分为两大类:IDSs和蜜网。蜜网用于收集来自机器人的信息,以进一步分析所使用的技术、僵尸网络特征和攻击强度。此外,利用机器人收集到的信息来发现C&C系统、未知的易感性、攻击者使用的技术和工具以及攻击者的动机。蜜网被用来收集能够穿透僵尸网络的僵尸二进制文件。然而,入侵者开发了新的方法来克服蜜网陷阱。蜜网陷阱的关键组成部分是蜜墙,它用于将蜜机器人从世界其他地方分离出来。
另一种基于IDS的僵尸网络检测技术。IDS是一种软件应用程序或硬件机器,用于监视恶意活动的系统服务。IDS检测技术进一步分为基于签名和基于异常的两种方法。
在基于签名的系统中,僵尸网络签名用于提供关于特定僵尸网络行为的信息。但这类技术不能检测未知的僵尸网络,其签名之前没有创建。
基于异常的检测是僵尸网络检测的一个重要研究领域。其基本思想来自于分析几种网络流量异常,包括通过不寻常端口的流量、高网络延迟、流量增加以及表明网络中存在恶意活动的系统行为。基于异常的方法进一步分为基于主机的方法和基于网络的方法。在基于主机的方法中,监视各个机器以发现可疑的操作。尽管基于主机的监视非常重要,但是这种方法是不可伸缩的,因为所有的机器都需要完全配备有效的监视工具。
与其他技术不同,基于网络的方法使用机器学习技术分析网络流量并收集关于僵尸网络的一些含义。网络监控工具根据不同的网络特性来检查网络行为,例如带宽、僵尸网络C&C证据的突发速率和包定时。它过滤不太可能属于僵尸网络活动的流量,将剩余的流量分类为可能属于僵尸网络的一个组。
机器学习技术在这两种基于异常的方法中都得到了广泛的应用;基于主机和网络。常用的机器学习技术有决策树、神经网络、图论、人工免疫系统、基于聚类的技术、基于数据挖掘的技术、相关性、熵等。
三、基于机器学习主机的僵尸网络检测技术
在基于主机的异常检测技术中,通过扫描与安装在主机上的特定应用程序相关的进程来研究机器人的行为。每个机器人独立地初始化从C&C系统接收到的命令。每个命令都有特定的参数、特定的类型和预先确定的执行顺序。
基于主机的僵尸网络检测方法在客户端应用研究较多。下面将解释其中的一些。在编写这篇僵尸网络检测文章时,我们已经从本文中得到了很大的利用。
BotSwat (Stinson and Mitchell, 2007)是一个用于监视家庭操作系统(如Windows XP、Windows 2000和Windows 7)并将预期的家庭机器识别为机器人的工具。最初,BotSwat充当扫描器,监视Win32库的执行状态,并观察处理器创建的运行时系统调用。此外,尽管有特定的C&C体系结构、通信协议或僵尸网络结构,但它试图发现具有通用属性的机器人。这种方法的问题是缺乏系统调用的安全性。Masud等人(2008)通过将安装在主机上的多个日志文件关联起来,使用基于流的检测方法,开发了一种有效的基于主机的僵尸网络检测技术。由于机器人的响应通常比人类更快,因此可以很容易地识别多个日志文件的挖掘和关联。通过将多个基于主机的日志文件关联起来用于某些C&C流量检测,提出了这些技术可以有效地用于IRC和非IRC机器人。多智能体机器人检测系统(MABDS) (Szymczyk, 2009)是一种将事件日志分析仪与基于主机的入侵检测系统(HIDS)相结合的混合技术。该系统采用多代理技术,结合了管理代理、用户代理、蜜罐代理、系统分析和知识库。该技术的基本问题是新签名与知识库的收敛速度较慢。
四、基于机器学习网络的僵尸网络检测技术
在基于网络的僵尸网络检测策略中,通过观察不同参数下的网络流量来捕获恶意流量,这些参数包括网络流量行为、流量模式、响应时间、网络负载和链接特征。基于网络的方法进一步分为两种类型,主动监视和被动监视。
主动监控:在主动监控僵尸网络检测策略中,为了检测恶意活动,会向网络注入新的数据包。
被动监视:在被动监视中,当数据通过介质时,网络流量被嗅探。应用不同的异常检测技术对网络流量进行分析。采用各种应用模型的被动监测技术包括统计方法、图论、机器学习、相关、熵、随机模型、决策树、离散时间序列、傅立叶变换、基于组的分析、数据挖掘、聚类方法、神经网络、可视化以及这些技术的组合。
BotProb (Tokhtabayev and Skormin, 2007)被认为是一种主动监控策略,它将数据包注入到网络有效负载中,以发现由人类或机器人引起的可疑活动。由于非人类机器人通常按照预定的模式发送命令,这与C&C与机器人之间的因果关系相对应。这种命令和响应体系结构可以很容易地确定机器人的存在,因为响应来自预先确定的命令行为。