机器学习安全:鉴别僵尸网络面板

2016-10-17 08:12:00 作者:红黑联盟 分类 : 比特网

  如今越来越多的设备添加了与互联网相连的功能,借此来提高自身性能,改善用户体验。但是大多数设备都没有配备足够的安全措施来保护自己的数据,这就使得这些设备很容易被滥用。

  滥用的最普遍形式之一就是用这些相互关联的设备创建僵尸网络,这是个拥有强大计算能力的互连设备隐蔽网络,这种强大的计算能力往往会被滥用来大范围操纵垃圾电子邮件或DOS攻击活动。经过这几年企业与执法部门之间的共同努力,主要的几个僵尸网络(如Rustock、Ramnet和 Waledac)已经被打破。但是,由于很难确定它们发送指令和控制的服务器,目前仍有无数的此类网络依旧活跃。

  很明显我们需要开发出更先进的识别技术,尤其是查明C2面板的好办法,这样才能提供明确的证据要求禁用托管C2的IP/域名,这也是发生滥用的指标。这种方法也会十分有利于研究僵尸网络,并最终彻底击败僵尸网络。

  一般情况下,我们会先观察到存在恶意软件活动,然后才会发现僵尸网络面板,接下来会确定具体的恶意软件所连接的“背后凶手”。这种鉴定过程往往需要对C2面板类型十分了解的研究人员手动操作。在接下来的文章中,我们将会讨论一种新型的、易于规模化应用的全自动鉴定C2面板方法,这种方法需要的请求数量非常少,所以基本不会被僵尸网络操作人员发现。

  介绍

  机器学习可以解决查明僵尸网络指挥和控制(C2)面板这个大问题。虽然机器学习本身就是一个难以掌握的难题,但是这带来了一个全新的解决问题工具,对于黑客和工程师来说这是划时代的变化。

  在感受过机器学习的能量之后,我迫切地想要将其攻破并运用在更多的安全工具中。在2016年美国黑帽大会上我们展示了这一系列工具。这一项目的相关内容以及项目的Chrome 扩展可以在GitHub 中找到。

  鉴别僵尸网络面板

  在追踪僵尸网络时,像我一样的安全工作者经常会发现隐藏很深的C2面板。尽管DiamondFox的开发者选择确定面板的真正目的,但事实上大多数开发者都习惯于掩盖自己的意图。

  举例来说,Zeus的登陆页面看起来十分正常,毫不起眼:

http://www.2cto.com/uploadfile/Collfiles/20161014/20161014091612131.png

http://www.2cto.com/uploadfile/Collfiles/20161014/20161014091612132.png

  在许多案例中,僵尸网络的运行者都会粉饰自己的C2面板,甚至会骗过最专业的研究人员,使其难以辨别真相。

  但是按常理来说,这些运营商一定不会花费心思改写整个面板,所以总会有一些残留的内容。这些残留一般会藏在资源文件中。

  机器学习vs 僵尸网络面板

  我们可以结合机器学习与模糊哈希打造一个弹性分类器,这样可以按需优化成尽可能少的请求,用来查明这些僵尸网络面板,不管这些面板是否经过修改。

  从机器学习的角度来看,这一课题带来了许多有趣的挑战。最大的问题就是已知的活跃僵尸网络面板数量有限。回顾过去可以找到很多已知的活跃面板,但是在给定时间内已知的活跃面板少之又少。这是因为在大多数案例中,某个面板一经发现,用不了多少时间就会被取缔。

  活跃样本数量稀缺使得分类变得困难,只有找到更多的数据我们才能更顺利地开展工作。此外,由于这是一个对抗性问题,我们的分类手段必须要能适应僵尸网络运营商的策略,以避免检测。这就意味着我们可能会需要做很多不必要的工作。

  最后,我们需要隐身和效率,这就意味着请求数量越少越好。因此,我们需要尽可能减少分类所需的信息量,这就要求我们要以一种微妙的平衡来处理这一问题。

  经过这一方法分类之后,僵尸网络面板主要有以下几类:

  Andromeda

  Betabot

  Citadel

  Cythosia

  Dendroid

  Dexter

  DiamondFox

  Ice IX

  JackPOS (Easter variety)

  Pony

  Solar bot

  VertexNet

  Zeus

  收集特征和样本

  将机器学习融入现实世界面临的最重要也是最困难的问题之一就是特征工程。特征通常情况下会表示为0到1之间的值,这些值会从数据中提取,然后输入机器学习的算法当中。

  在许多情况下,这一过程中的困难就是确定有关信息,这将会贯穿所有样本(数据点),并且为分类提供了所需值。在我们的示例中,我们正打算在请求结果的基础上创建特征,借此来确定它是否是C2面板。

  为了创建功能设置,我们需要确定所有已知的、与僵尸网络C2面板有关的偏移量,我将这一设置叫做“prevectors”。我们对测验组中的每一个样本都请求了所有的已知偏移量,这组测验组当中的所有URL我们都已经确定了它们的属性。这样操作之后界面非常混乱,因为每一个面板都产生了成千上万个请求。

  为了更加清晰,我们为测验组中的每一个面板都请求了所有已知偏移量,并将HTTP回应代码和使用这些结果返回结果的ssDeep都存储下来。这使得我们能够确认所有的状态代码都是相同的,并且比较内容时无需存储这些内容。因为首先会匹配回应代码,所以ssDeep对比产生的评分就相当于特征值。

  我们已经在所有已知僵尸网络和非僵尸网络中运行了 prevectors,之后需要通过查找重复结果来减少请求数量。如果对于同一个给定请求,相应代码是相同的,那么ssDeep值就是100%匹配,那我们就可以删除这个多余特征。

  在减少了特征集之后,我们开始将prevectors 转换为矢量。简单来说,机器学习领域的矢量就是一维数组的值,它们代表从样品中提取的特征。将一个样本转换成矢量时,我们会以同样的顺序处理每一个特征,并且更新矢量中的每个值来匹配特征结果。

  一旦生成了矢量集,就可以将其贴上“标签”存储起来,标签会说明这是哪个僵尸网络的面板:

http://www.2cto.com/uploadfile/Collfiles/20161014/20161014091612133.png

  训练

  现在我们有了自己的矢量和对应标签,可以将其分类为训练组和测试组。训练组大约占到样本数量的80%,剩下的就是测试组。

  我们需要确保每一个标签都经过这两个组的检验,尽管这一步骤十分简单,却是极其重要不容忽略的一步。如果我们没能在每个组中包括每一个标签的样本,我们就无法让模型学会区分每个标签,并在模型建成后测试其准确性。

  在我们的示例中,我们选择使用决策树集合以满足需求。决策树是一个简单的分类,针对每个特征制定二进制决策,从而将训练数据完美地分成包含大多数(或全部)标签的多个小组。决策树的最大优势就是能够基于很小数目特征制定决策,并因此为我们提供实际所需的信息。

  不幸的是,这种做法总会过拟合,意思就是它们从训练数据中提取太多信息,对测试数据却完全不够。为此,我们重新整合了决策树(训练多重决策树并让其表决答案),这可以避免过拟合:

http://www.2cto.com/uploadfile/Collfiles/20161014/20161014091613134.png

  分类

  一旦模型建立,我们就可以将其传递给决策树。每一个决策树都会为其分配标签,之后所有的决策树结果会结合出出现最多的最终结果。对于这种对抗性问题,用户还会看到标签的置信水平,可以说明该标签的可信程度。

  例如:

  Chrome扩展

  一般来说,我会在浏览器中检查、搜索页面来确定僵尸网络。为此,我已经创建了一个Chrome扩展,结合这个模型可以在我访问的任何网站中自动执行这个分类方法。

  在访问一个新的网站目录时,它就会自动执行请求分类(请求数目少于40个),如果发现有关僵尸网络的任何迹象会立刻警告用户。相关结果会存储下来,以便日后参考。

  详情请参考:

  结论

  僵尸网络面板分类是个棘手的问题,但是机器学习的创新应用可以快速有效地解决它,随着数据的不断增长,这个强有力工具的价值会日益显现。它对安全专业人员和工程师的作用也会越来越大,至少目前这是个了解机器学习的好帮手。

最近更新
科普

科普图集
从《中国互联网+指数报告(2018)》看数字经济

从《中国互联网+指数报告(2018)》看数字经济>>详情

“互联网+”的这些新变化,你知道吗?

“互联网+”的这些新变化,你知道吗?>>详情

邮件订阅

软件信息化周刊
比特软件信息化周刊提供以数据库、操作系统和管理软件为重点的全面软件信息化产业热点、应用方案推荐、实用技巧分享等。以最新的软件资讯,最新的软件技巧,最新的软件与服务业内动态来为IT用户找到软捷径。
商务办公周刊
比特商务周刊是一个及行业资讯、深度分析、企业导购等为一体的综合性周刊。其中,与中国计量科学研究院合力打造的比特实验室可以为商业用户提供最权威的采购指南。是企业用户不可缺少的智选周刊!
网络周刊
比特网络周刊向企业网管员以及网络技术和产品使用者提供关于网络产业动态、技术热点、组网、建网、网络管理、网络运维等最新技术和实用技巧,帮助网管答疑解惑,成为网管好帮手。
服务器周刊
比特服务器周刊作为比特网的重点频道之一,主要关注x86服务器,RISC架构服务器以及高性能计算机行业的产品及发展动态。通过最独到的编辑观点和业界动态分析,让您第一时间了解服务器行业的趋势。
存储周刊
比特存储周刊长期以来,为读者提供企业存储领域高质量的原创内容,及时、全面的资讯、技术、方案以及案例文章,力求成为业界领先的存储媒体。比特存储周刊始终致力于用户的企业信息化建设、存储业务、数据保护与容灾构建以及数据管理部署等方面服务。
安全周刊
比特安全周刊通过专业的信息安全内容建设,为企业级用户打造最具商业价值的信息沟通平台,并为安全厂商提供多层面、多维度的媒体宣传手段。与其他同类网站信息安全内容相比,比特安全周刊运作模式更加独立,对信息安全界的动态新闻更新更快。
新闻中心热点推荐
新闻中心以独特视角精选一周内最具影响力的行业重大事件或圈内精彩故事,为企业级用户打造重点突出,可读性强,商业价值高的信息共享平台;同时为互联网、IT业界及通信厂商提供一条精准快捷,渗透力强,覆盖面广的媒体传播途径。
云计算周刊
比特云计算周刊关注云计算产业热点技术应用与趋势发展,全方位报道云计算领域最新动态。为用户与企业架设起沟通交流平台。包括IaaS、PaaS、SaaS各种不同的服务类型以及相关的安全与管理内容介绍。
CIO俱乐部周刊
比特CIO俱乐部周刊以大量高端CIO沙龙或专题研讨会以及对明星CIO的深入采访为依托,汇聚中国500强CIO的集体智慧。旨为中国杰出的CIO提供一个良好的互融互通 、促进交流的平台,并持续提供丰富的资讯和服务,探讨信息化建设,推动中国信息化发展引领CIO未来职业发展。
IT专家网
IT专家新闻邮件长期以来,以定向、分众、整合的商业模式,为企业IT专业人士以及IT系统采购决策者提供高质量的原创内容,包括IT新闻、评论、专家答疑、技巧和白皮书。此外,IT专家网还为读者提供包括咨询、社区、论坛、线下会议、读者沙龙等多种服务。
X周刊
X周刊是一份IT人的技术娱乐周刊,给用户实时传递I最新T资讯、IT段子、技术技巧、畅销书籍,同时用户还能参与我们推荐的互动游戏,给广大的IT技术人士忙碌工作之余带来轻松休闲一刻。