【视频】TechWorld2017热点回顾 | 大数据和机器学习真的能让网络安全更美好吗?不一定!

近几年来大数据和机器学习被频繁地用到我们的搜索领域、出行领域和游戏竞技领域里面。

同时,很多安全企业也用到了一些机器学习的手段,来进行用户行为分析、流量分析,以及日志分析。市场的期待对之也是非常高的,很多媒体会报道说机器学习是安全行业的最后一根稻草,或者说机器学习在重塑我们的安全领域,亦或是说机器学习让我们的安全变得更好。

然而,一个非常火的事情自然会产生泡沫,出现和实际预期并不相符的情况。实际上机器学习和大数据并没有想象的那么高效或是能改变很多事情。

大数据与机器学习的局限性

  • 算法黑箱,模型缺乏可解释性

很多机器学习算法都有算法黑箱的性质,它训练出来的模型只是有统计上的准确,并不能说它有安全意义。

  • 需要大量(人工)准确标记的数据

还有一些比如说分类学习这样的情况,需要大量人工标记的数据。人工标记是非常耗时,并且成本非常之高的。

  • 模型与训练数据(环境)强相关 

训练出来的模型在不同的输入数据、不同的输入场景下,准确率会不太一样。

  • 海量数据的关联极易被攻击者污染
  • 攻防手段持续更新改变,模型调参耗时赶不上

调参分类模型通常需要调很久才能够训练出来一个比较准确的模型。我们需要考虑攻防手段是不是能和花费的时间匹配上。

攻方演进——网络安全可能不会因为大数据变得更好,但也绝不会变得更坏

当我们的防御方在应用机器学习的时候,攻击方也在应用机器学习进行攻击手段的演进。比如说有人用机器学习创建恶意软件突破防病毒系统;也有人假冒域名和注册者的关系去污染威胁情报系统,让他们的攻击被归类到另外一个组织里面。所以说我个人有一个特别感性的观点,安全可能不会因为大数据更好,但是也不会变得更坏了。

大数据应用的本质:高层次的自动化手段

大数据应用的本质是一种高层次的自动化手段。仅仅是一个自动化的手段,但是它能做的比人更多。

  • 维度高

跟现有的安全技术团队想比,它能够关联更多的数据、更高的维度。

  • 善总结

它有很强的总结能力。通过聚类、分类或者是深度学习这样的手段,总结出历史的安全事件和历史的安全数据里面体现出来的安全规律和安全知识。

  • 速度快,数量大

它能够用更快的速度,在更短的时间内处理更大量的数据。

大数据应用的定位

大数据在安全领域应用的定位其实是一个辅助发现的手段。大数据可以帮助我们的安全人员、安全运营者去聚焦我们所关注的领域里面的威胁,并且优化运营的效率和机制。所以大数据应该是安全研究员的瑞士军刀和安全运营者的忠实伙伴。

安全场景

说到安全数据的分析自然是需要去对应到不同的安全场景。安全场景要分为内外两大场景:外是公网威胁监测,内是内网安全运营。这两个场景里面我们采用的都是三步走流程。

1.数据驱动

  • 数据广度收集
  • 数据深度分析
  • 数据质量评估

2.专家后验

  • 算法调优
  • 分析结果人工确认
  • 确认结果反馈
  • 安全经验自动化

3.敏捷可运营

  • 分析结果可视化
  • 算法指标可理解
  • 算法结果可排序

整个流程就是:先广泛采集数据,然后深入分析数据,对数据质量有一个评估,之后把分析结果用机器的分析结果交给后台的专家进行后验。后验是为了验证算法的准确率,并且把专家的经验进行总结,最后反馈给运营团队,让运营团队能够根据我们所发现的这些威胁、事件等进行下一步应急。

外:安全大数据的定义

安全大数据会有很多个来源,比如说主动探测、设备上传、被动监测、开源扒取以及和我们的合作厂商交换得来的基础数据、事件数据、样本数据等等。

外:绿盟科技威胁情报生产机制

绿盟科技拥有两个平台来生产威胁情报:安全能力平台和大数据能力平台。安全能力平台是从基础数据里面提取出来威胁信息。当有了这些安全威胁之后,我们需要用到大数据能力平台,将这些零散的、个体的现象串联起来,形成事件,形成攻击手段,形成更多的威胁情报。我们现在已经实现了云端的分析结果能够通过情报和设备形成闭环。我们能够通过大数据的方式,通过情报闭环,让更多的人尽可能快的止损。

内:内网安全运营与自适应安全

在内部的安全运营方面,我们的整体思想和Gartner提到的2017十大技术趋势——自适应安全架构是比较相似的。

Top 10 Strategic Technology Trends for 2017: Adaptive Security Architecture

在内网安全运营上面的分析,主要在以下四块。

自适应建模区别于以前的IPS或者是云端分析的分析手段。它是根据不同用户、不同用户关系的一些流量行为以及用户行为,去建立他们平常的访问模型以及访问模式,并且对用户环境里面的用户、帐户、实体、IP等等建立他们的一些行为画像。有了这些,我们能制定出一些白名单和黑名单。

而历史溯源分为两部分,一是用户行为的历史溯源;二是攻击手段的历史溯源。通过攻击链的方式我们可以找到攻击者一步步是怎样做的。

最后就是威胁排序。刚刚也说了,即使是99%准确率的安全产品,实际上也会产生大量的误报与告警。解决办法是什么?通过大数据、通过内部的用户行为,把这些海量告警进行评分、排序。让用户在前十条告警就能找到最急需处理的攻击事件。

公网威胁监测

公网威胁监测主要分为三个部分:

第一,看见。

第二,剖面。

第三,聚焦。

公网威胁监测:看见

公网威胁监测首先是要能够感知公网里面的基础数据,感知公网里面的威胁。

千里眼可视化引擎结构

绿盟科技开发了一套千里眼可视化引擎。它能通过可视化前端的配置,把业务的需求细化成一个个可视化的组件,并且可以动态调配。由于在海量数据里面检索,不能保证在一秒内就得到结果,因此我们需要管理后台调度的查询的任务。有些任务是离线的,有些任务是迭代式放在内存里面的,还有一些任务是实时的。

自研大数据查询引擎

绿盟科技的大数据查询引擎放弃了市面上Thiftserver的方式,而是采用了基于Spark的查询引擎,从而解决以往spark查询不能跟踪任务状态的问题。系统通过http server实现UI和查询之间的耦合,所有数据交互均以webservice接口的方式实现。系统充分利用Spark的缓存机制,在第一次查询完HDFS文件之后,将结果数据缓存在Memory cache内存中,用于之后的数据分析。对于较大时间范围的数据挖掘,在查询出数据之后,以临时表的方式保存在HDFS的tmp_db中。

千里眼可视化引擎分析模型

我们的分析模式主要是有三种:在线、内存和离线。

  • 内存高速挖掘 :将挖掘数据存放于内存中,可快速调用,用于反复使用的渐进式查询,优于数据量巨大,非常消耗群集内存,所以Cache模式适用于挖掘小数据量1天内数据,并且挖掘时建议先由过滤器过滤数据。
  • 在线挖掘模式 :输入挖掘条件,自动将挖掘条件生成过滤器,直接查询原始Flow表,方便快速查看某个分析场景,无需等待创建Cache,适用于单次且数据范围小于一天的查询。
  • 离线挖掘模式:分析较长时间(大于1天),预先查询需要数据,再进行数据压缩(合并小文件),新建物理表存于硬盘,后续可以重复且快速使用。由于数据量大,一般需要限定条件,如查询单个IP。

可视化前端配置引擎

可视化前端配置是我们对业务的思考。

  • 同一个分析场景可能会出现在不同的功能模块当中,同一个分析场景中,图表信息数据的获取途径可能不同
  • 为了提高代码复用率,相同的分析场景下可配置不同的信息,存放到配置文件,调用时通过配置的Key直接调用对应的场景,分析的数据字段等接皆可配置
  • 后端根据配置的信息调用对应的接口查询对应的数据
  • 可利用已有分析场景更新配置,组装成新功能,做到快速开发

实际应用场景

  • DDoS溯源分析:当发生DDoS的时候,我们可以溯源它的机器以及联系过得C&C。
  • 安全溯源-远程登录溯源。和威胁情报以及IP信誉相结合,进行登录行为溯源。
  • 业务排障溯源。例如运营商出现4G问题的时候,可以进行故障排查。
  • 威胁情报IOC(攻击指示器)-乌克兰。还可以和威胁情报结合,查看IOC的连接状况。

公网威胁监测:剖面

这是我们根据市面上很多家威胁情报厂商的API文档和介绍文档整理出来的热词,看出来威胁情报本质上是一个信息,主要功能是关联和查询,最主要的两个用户去查询的威胁是域名IP和文件。

网络实体多剖面画像

我们总结了一下威胁情报平台里面的网络实体的范围,包括IP、域名、邮件、md5和SSL证书。通过这些用户能有一个总体的感知,包括基础属性、IP域名对应的服务,域名所对应的服务到底是计算机还是广告还是论坛,这些都在威胁情报里面可以查询到。

威胁信息通过IPS以及各种设备,再加上我们搜集的攻击事件,我们能整理出来威胁情报平台里面的网络实体的标签。通过行业信息,我们能定位到攻击者的倾向行业,以及IP域名所处的行业,以及其它一些关联信息。大数据平台而,很多时候并不能给出来定性的结果,而是给出来一个整体评估的分值。在这个分值的情况下我们去进行联动。整体评估结果包括四个方面,脆弱性、威胁性、搜索热度和可信度,通过这几个维度和我们的设备形成闭环。

属性与关联性梳理

威胁情报里面有多种多样的文件、域名、IP,相互之间是有关联的。如果我们只监控到一点,而不对它进行关联梳理,情报平台是不能够继续再生产的。比如说像信誉的传播,当我们监控到一个域名是一个钓鱼网站的时候,相应的注册者或者是相应指向的IP,应该也被定性为一定程度上的钓鱼网站。我们可以通过这样的信誉度的传播和过滤,做到这点。

现在很多威胁情报平台都只提供黑IP或者域名。而我们基于历史的信誉、基于访问量、基于原来的历史告警,可以定义出来一部分白域名和IP。这些IP和域名在以后的统计上和计算上就可以用到。

公网威胁监测:聚焦

接下来我们讲一下在公网威胁监测里面,我们如何用大数据平台帮助我们聚焦。

这是我们在一个监测点上的DNS的数据,每天原始的数据量是60亿,处理后的白名单过滤后大概13亿。然后用一个算法把一些待分析的域名进行组合,数量级降到16万。最后每天分析出来的恶意的或者是有问题的域名组合大概是8000个。所以说这一系列都是通过威胁情报做到的聚焦,从而把大数据变成小数据和小结果集。

我们聚焦的第一个手段是通过关联性聚类。因为在检测中很多恶意域名往往会指向一组IP或者是进行轮换,他们之间是有关联性的,没必要每个域名都去看,只需要分析有关联的一组域名和IP就可以了。

刚刚说过,我们每天处理出来的结果还是有16万。16万仍然太多。而一个安全管理员每天能处理的告警顶多是20条。如果出现20条以上的告警,管理员通常会不看,认为是没有问题的。所以我们还是需要另外一种方式让他们关注到更有威胁的事情。因此我们就需要评价。在聚类结果中,我们会制定一些评价指标去评价这个事情是不是更加恶意,我们会根据它的域名特征、行为特征去判断恶意度、获益度和覆盖度。

整体来讲我们希望能够提供给安全管理员的是我们每天Top20、Top100,急需处理确认的攻击或者是域名和IP的组合。

在线视频

Spread the word. Share this post!

Meet The Author

Leave Comment