编者注:从Nikhil Buduma的《深度学习的基础》开始了解深度学习和神经网络
安全数据科学正在蓬勃发展,有报告显示安全分析市场将在2023年达到八十亿美元的价值, 26%的增长率。这要感谢不屈不挠的网络攻击。如果你想要在2017年走在不断涌现的安全威胁的前面,那么投资在正确的领域是很重要的。在2016年3月,我写了一篇《2016年需要注意的4个趋势》。而2017年的文章由我与来自Netflix的Cody Rioux合作,带来他的平台化视角。我们的目标是帮助你为2017年的每一个季度形成一个计划(例如,4个季度有4个趋势)。对于每一个趋势,我们都提供了一个短小精悍的理论基础,即为什么我们认为现在这个时间投资是对的;以及如何充分利用这一投资,并指明具体的工具和可用资源。
1.自动化安全响应和协助的机器人
我们认为,安全行业将会见证以聊天机器人形式出现的自动和自主反应。当一个模型判定到相关信息时或者符合需求时,机器人将会响应提供信息。这种响应将会整合在目前用于与团队成员进行沟通的事件响应平台里。这并不是一个新的想法,聊天机器人至少和IRC存在一样长的时间了,但是要感谢”ChatOps”使它们流行起来。Shivon Zilis和James Cham将这称为“2016年最大的聊天机器人爆发潮”。在他们给出的信息图表中列出了15家正在开发自主代理机器人的公司。
为什么是现在?
Chris Messina(@chrismessina,哈希标签的发明者)最近写了一篇名为《聊天机器人不是一时的流行,它们是一场革命》的文章。高科技组织通常处在这样一个地位,即对于生产环境中的自主系统有着充分的信任,这使得自动化各种琐碎的任务(包括那些在安全领域的任务)成为可能。机器人框架主要用于开发各种沟通协作平台,包括Slack、 IRC 以及Skype等,你很可能在日常生活和安全事件发生时已经在使用这样的平台进行沟通了。这使得机器人成为在事件中快速执行任务或是执行和报告例行检查(例如证书更新以及确认是否符合安全标准)的理想伙伴。Jason Chan (@chanjbs)最近也发表了关于Netflix在安全方面是如何使用机器人的相关演讲:从安全咨询讲到批准部署更新,再到如何设定明显的安全关键字等。
下一步
-
与你的运营团队/网络运营中心谈谈,看看他们是否已经有了可以进行调用的解决方案。
-
看看微软的机器人框架、Slack机器人,或者许多IRC机器人框架之一。
-
调研Security Monkey(Netflix的一个安全开源项目)中的自动化技术,并尝试复制它们。
2.将威胁情报与机器学习检测相结合
威胁情报可以被认为是已知的不良行为的离散实例,或是一个折衷指标的集合。它们是多种多样的,可以是已知恶意文件的哈希值、僵尸网络的控制服务器以及命令的IP地址,甚至是持久威胁所试用的用户代理字符串。威胁情报长期被安全社区用于安全监控的定点检查,但是我们认为数据科学社区应该在2017年将它们利用到行为检测系统中去。
为什么是现在?
贝叶斯错误率是任何在给定数据集上的分类器的最基本的限制。改进错误率的标准方法是包含新的信息来源。我们假设威胁情报是一个简单的网关,并且是引入新的数据来源的第一步。
另外还有可替代的能解释性——他们还提供了解释警告的洞察。例如,如果你的机器学习系统判断出登陆人是不正常的,且登陆的IP地址出现在一个“肉鸡”网络情报列表里,那么我们就能推测出这次登陆不正常,是一个受到感染的“肉鸡”机器进行的。尽管有些玄乎且不是100%确信,但这也提供了对告警的一种好的解释。
下一步
-
引入威胁情报最简单的方式是直接将威胁情报数据加入到机器学习系统的结果中去。而最直接的方法是将威胁情报作为一个过滤器放置在机器学习系统之后。
-
另外一个选项是将它们作为二元的特征放置到训练集中去。这带来额外的好处就是只要管理一份代码。这个方法的缺点是每当你新添加一个新的威胁情报,你需要改动一次代码并且重新训练和部署你的机器学习系统,这是很麻烦的。
在你开始威胁情报的相关实验之前,要注意这些数据在不同的指标上有不同级别的置信度,需要反复尝试调整。商业威胁情报的供应商包括Team Cymru,、iSight、 iDefense以及 Webroot。开源威胁情报项目包括Project Honeypot、Malware Domain List,而诸如 Feodo Tracker, Zeus Tracker 和 OpenPhish 等的追踪器是便宜的原型系统之选。
3.继续投资在对抗性机器学习上
对抗机器学习是指攻击者可以破坏机器学习系统从而获利。攻击方可以增加系统的误报率到很高,使得安全分析师感到挫败、精疲力竭。或者也可以增加系统的假阴性率,从而使得攻击可以完全不被注意地通过雷达监控。甚至可以完全控制整个安全系统。对抗机器学习是真实会发生的,与Ian Goodfellow一起在这一话题写过很多论文的Nicholas Papernot曾写过一篇很棒的博客来解释其中的一些奥妙,其核心就是说,对抗性机器学习是非常可能发生的。
为什么是现在?
这一趋势已经在我2016年发表的文章中列举过。但是考虑到热度的提升以及可能的损害,我们认为有必要提醒我们的读者,在2017年开始保护他们的机器学习检测防护系统是有价值的。尽管安全专家之前在恶意软件过滤领域中已经预见这一趋势,2016年还是出现了许多的例子,打击了几乎所有的大公司。首先,微软的“Tay the Tweet”机器人不得不关停,因为它开始冒出种族方面的用词。然后,来自康奈尔的研究人员展示了他们是如何能够从亚马逊和BigML偷取机器学习模型的。最后,对抗机器学习甚至出现在2016大选,谷歌曾经显示过一张总统候选人的图片,上面写着“病态的骗子”。
下一步
-
开始对你的对外暴露的机器学习系统进行威胁建模,Nicholas Papernot (@nicholaspapernot)等有一些靠谱的指导,比如这篇新论文《论安全科学以及机器学习中的隐私》。
-
看一看cleverhans。这是一个新的库,模拟了对于机器学习解决方案的各种类型的攻击。
-
在允许用户输入成为模型的训练数据之前仔细地检查用户输入,特别是在线机器学习的场景下。
4.深度学习用于安全
深度学习使以与人类相当的水平来完成一些任务成为可能,从开车到以你最喜欢的艺术家的风格来绘画。有时甚至是完全超越人类的水平,比如说下围棋。诸如流量识别、恶意软件识别、命令检测、服务器控制等安全任务已经在向这一趋势发展。而神经网络也具有无监督学习的技术能力,可以自动编码和强化学习,这为诸如异常检测和建立自治系统等任务提供了即使没有标记数据也可用的解决方案。简而言之,如果你需要人类级别的性能并且有相当多的数据和处理它们的计算资源,那么你可能想要利用这一趋势来自动化那些曾经被视为只有人类可以完成的任务。
为什么是现在?
深度学习的实现层一度沦为数据科学家的机器拼凑上包含数百行Theano代码的python脚本。然而早已不是这样了,产品级深度学习组件的工具是应有尽有,无论你的软件栈是什么。并且用来训练大型模型的分布式计算资源也是司空见惯的,你很可能已经有一个可用的Spark或者Hadoop集群。你可能也正在生成足够的数据来训练一个数据饥饿的算法,例如深度神经网络。集合分布式计算集群上的数据和计算资源,再加上可以使得用户能够简单地训练、预测、监控和维护深度学习模型的产品级软件包,意味着把深度学习整合到你的产品的威胁监控系统中是前所未有得简单。
下一步
-
如果你不了解深度学习,在http://course.fast.ai/看看Jeremy Howard (@jeremyphoward)的新课程,务实、关注代码,并且非常实用。
-
调研你的技术栈中的神经网络相关的包。Python (Keras, Lasagne, Theano, Tensorflow), Java (deeplearning4j), 或者 .NET (accord)。你可能更愿意将这一职责交给一个管理服务,例如Azure ML。
-
一旦你选定了软件包,动手尝试一下Cyber Defense Exercise数据集。
-
调研恶意软件识别的研究,可以从以下论文开始:《 Deep Neural Network-Based Malware Detection Using Two-Dimensional Binary Program Features 》和《Droid-Sec: Deep learning in android malware detection》。
总地来说,对抗机器学习将继续成为重要焦点,而正如它在其他领域所做的那样,深度神经网络将开始在安全数据科学领域产生影响力。与此同时,分析师的日常工作将更简单,通过整合威胁情报和通过带有“安全口味”的聊天运营机器人尽可能自动化所有任务。进一步的自动化任务可以只执行一次并且自动地通过聊天机器人将信息传播到相关群体中。
我们乐意听取你对于安全数据科学的趋势预测的想法,欢迎通过推特@ram_ssk和 @codyrioux联系我们,并加入到讨论中来。
Ram Shankar是微软Azure的安全数据科学团队的安全数据总监。他的主要关注点是对海量安全日志进行建模来发现恶意活动。他的成果曾出现在核心安全会议(像DerbyCon、MIRCon、BlueHat等),以及大数据会议(像Strata+Hadoop 世界大会)和机器学习实践大会。Ram毕业于卡内基梅隆大学电气与计算机工程专业,并获得工程与技术创新管理硕士。
Cody Rioux是一名高级软件工程师,设计和开发实时机器学习系统来支持Netflix在AWS上的高可靠和可用。Cody曾参与过Netflix的异常值检测、自动化Hystrix部署等项目,实现了针对实时流式数据查询的查询语言。Cody的成果在Netflix的技术博客、一些集会、Strata+Hadoop世界大会以及PyData上发表过。Cody毕业于莱斯布里奇大学,获得计算机科学学士学位。
阅读原文:http://2431145941.lofter.com/post/1e77c193_e2434da
网友评论