安全,算法,数据,灌水(上)
2019-10-4 15:55:5 Author: mp.weixin.qq.com(查看原文) 阅读量:2 收藏

网图,侵删

打了三天游戏。太堕落了。

特别是打个单机还被电脑吊打的时候。太难了。

算法

除了近一年来都在打游戏外,之前一直在关注机器学习的进展,以及在安全领域的应用,也在同行手中见到了很多很有价值的实践。就准备写写一些见闻,再过两天该忘光了。想到哪写到哪。

与机器学习已经大放光彩的搜索,翻译,推荐领域来说,安全领域实践基本显得暗淡无光。理论来说,当问题足够复杂多变时,机器学习与规则系统相比前者更优。但即便今天来看,百分之八十应用了机器学习的安全产品也没有逃脱人力的规则运营。

比起其他更加“现实”的应用,安全所处理的领域更加的“有限”。比如翻译所面临的世界各地的语言的差异,其中的词法,谚语,修辞,典故。这种理论上的有限最终在几十年前证明为了现实中的无限而放弃了规则系统的路线。

与之相比安全领域所面临的咋看之下是一种有限,我们所应对的场景是程序,从底层的硬件开始一层层往上,所提供的可能性是有限的,就像你的电脑不会飞起来夹你的脑袋一样。但实际来说它已经在逼近无限。这种有限的集合具有足够的能力提供无数的可能性,足以让每个安全工程师绝望的可能性。而在更多的场景下机器学习的问题并不在于发现威胁,而在于定义威胁。

终端

扯远了,说回来实践领域较早的几个领域,网络,终端,比如杀毒,终端层面的恶意软件检测。这是顶级的安全厂商包含微软,360,腾讯,百度等都有摸索的一个方向。在算法层面通过文件特征+行为特征而输入机器学习。通过黑白名单及一个庞大的规则+沙盒系统的动静态分析,从机器学习及规则系统的结果中提取异常的样本进行分析去改进系统。

目前所见到的特征提取层面还是以系统调用,文件特征,网络操作为主,这几年在特征工程和算法领域有很多创新,可以说得益于深度学习的兴起。比如前几年看过一个把软件映射成图片输入cnn的,很骚。在算法层面又有两种场景,对于是否恶意软件的正负判别,和恶意软件家族的聚类。后者对于那些工厂式的恶意软件作坊通常有着不错的效果,特别是那些一天生成上千个不同哈希的货。

严格来说在聚类层并不会提取太多的特征,一种是计算的规模,一种是大部分用的是近邻模型,计算量比较大而价值没那么高。所以省事的做法是相似度hash再聚类。估计是早年大家都穷所以那时候诞生了很多类型的相似度hash算法,不论如何核心都是抽取关键特征形成可近似比较的唯一hash。

网络

而在另一个层面的网络层,也有很多实践,记得最早的实践都可以追到几十年前的美国军方了。核心的问题还是一样的,关键在于什么是威胁,比如国内有很多针对识别vpn的实践。前几年360宫老师的团队就分享过一个流量分类的工作,大家有兴趣可以去翻一下前几年的bh。

但因为量的原因,很多的工作是针对细分的流量类型来做的。比如DNS,流量五元祖等。说到DNS安全的机器学习,国内的佼佼者是Phunter大牛。几年前他在上家公司的时候做过一个工作是参考了word2vec的思路将域名映射成一组向量,十分优秀。这几年他的猫胖了,也更厉害了。这个领域还有其他不错的工作,比如通过企业内网的dns流量结合一些其他特征来识别大规模的感染。

DNS安全领域的机器学习很多实践都是针对DGA进行的,更加核心的意义上来说,针对DGA的变化,机器学习有更强的适应性。从最基础层面的域名随机性,到网络结构的特殊性,时序上的近似等等。比如opendns的安全团队就有很多图算法博士出身的选手,喜欢玩各种很数学的技巧。严格来说包含很多DGA在内形成的网络结构,要是存储在图数据库里那就是几条sql的事。还有人做了一些传播算法上的尝试,可以说可玩性还是很强的。

除此之外林林总总的实践就多了,即便是抛去风控领域和一些相关场景。当然也有一种最不过脑子的搞法,就是不管来什么都改成One Hot然后扔进模型。有不少时候我都这么干,如果你是识别sql注入这些形式特征较为明显的攻击的话,还真有效。

情报

威胁情报也是个杂项,某种意义上。核心层面上算是一种“数据赋能安全”的思想的体现。作为这个行业混过两天的人,虽然没什么建树,但思考总是有的。

在进一步的层面上我认为威胁情报的价值应该在于算法,规则,运营,数据多者的结合,形成持续的数据运营流程。但在现实的层面上有那闲工夫搞算法真不如多充多洗个几百G数据来的划算。不然客户查询关联的时候你什么都没有,而竞对有几百条关联信息。真是尴尬的不能自己。

某种意义上堆数据也是一种路线的体现,就是“只要我数据够多就能抓得到你”。在很多领域,比如杀毒很早就形成了数据共享联盟,只要每天交几千个还是多少没发现过的恶意软件就行。

分析

其中威胁情报领域分析溯源上来说,核心在于如何有效的辅助人工分析,这个层面有多种方式和搞法。最常见的就是关联图。基于现有的摸索,对于威胁情报数据最多的展现是关联图。相较于其他类型数据不说,对于域名和ip来说他们本身就是作为一种网络结构而设计。最符合认知也最自然的展示就是图。

图分析的层面在我看来有两种路线,认知科学和网络分析,其优点各不相同。最早的需求应该都是以解决图的信息爆炸的问题为核心出发。认知科学的路线偏向通过交互,展示,关联建立最符合人类认知和习惯的分析方式。现在主流的应该是VT的方式,可以通过简单的操作扩展,删除,标记节点。还有xforce的方式我觉得也值得参考,在查询的时候可以关联到各类的安全报告。这种文本信息有时候也是很关键的证据,之前团队内还讨论过要不要爬vt的评论。

前者很多时候的场景通常是针对特定apt团队的跟踪,而后者路线的场景则常见那些广撒网的恶意软件作坊。将恶意软件的活动看作一种数学上的网络结构进行分析,转换。简单的比如提取每个节点的入边和出边输入直方图,比如可以根据图的密度和中心节点进行分析过滤,不同网络活动之间子图的数量特征。

就酱。


文章来源: https://mp.weixin.qq.com/s?__biz=Mzg2MTAxMDE2NQ==&mid=2247483927&idx=1&sn=ed4ddbeee58f009fadfc2c798dc16108&chksm=ce1ce38df96b6a9b247090441f329cc192f284245b6c3ce4f40aac82e48894b9e897aaab896a&scene=58&subscene=0#rd
如有侵权请联系:admin#unsafe.sh