0
最近阿里工程师很火。
除了穿特步被相亲对象diss的小伙,更有朋友圈刷屏的阿里安全资深专家杭特,吐槽安全圈八大怪象。
“我觉得不止八大,应该有十八大怪象。”说这话的是梆梆安全副总裁付杰,其中让他印象最为深刻的怪象即以攻代防,“在安全行业,谈破解远比谈渗透的多。”
▲付杰
媒体:今日XXX公司发现了某车高危漏洞,利用这一漏洞可以乾坤大挪移想开哪辆车开哪辆。
吃瓜群众:蛤?好可怕,怎么办怎么办?
安全公司:(微笑脸)请及时更新/请注意编码的问题/请静待厂家修复……
吃瓜群众:……
在付杰看来,安全的本质是一攻一防,但防守问题在今天整个信息安全行业中一直处于停滞阶段。
为何是停滞的?
“低垂的果实”已被摘完
在被誉为“下一个弗里德曼”的美国经济学家泰勒·考恩出版的名为《大停滞》的书中,他用“低垂之果”解释近半个世纪以来技术进步的趋缓:人类上一轮技术大爆发,实际上得益于最近四百年内科学上的“范式革命”。如今我们已经将这场“范式革命”相对易得的技术果实基本摘完了,想让技术继续维持高速增长,人类要么需要投入更多成本,爬得更高些去采摘更多果实,要么找一棵新树——让科学再次爆发“范式革命”。
类比安全行业,付杰把信息行业迅速发展、政策红利、频发的安全事件、愈发廉价的资源比作“低垂的果实”,过去几年安全行业依赖这些唾手可得的“果实”发展,但这些果子被摘光了怎么办?
一些需要解决的问题没有取得大的进展,比如司空见惯的薅羊毛、抢票事件一直未能有效制止。甚至还衍生出了一种畸形思维:“依赖白帽黑客通过众测方式寻找漏洞来取代安全防护,这很奇怪。”
找棵新树有点难,要不寻求点“外挂”帮助?比如人工智能、大数据等。
知乎上有个帖子这样形容人工智能,“人工智能是一种技术,但如果其不能找到一种业务场景落地,基本上只能装13。”
把人工智能或大数据当做外挂付之以安全行业,在付杰看来是可行的。尽管目前业内对此多处于半探索状态,离实现真正商用尚需时日,但也在某些尝试中实现了单点突破。
人工智能到底能为安全解决什么?先要退一步看看人工智能能做到什么。
付杰谈了几个方面。
首先是用机器学习来进行知识关联分析,以及无标签的网络流量分析。
传统分析网络的做法是人工的为每个字段划分标签,这一段是IT,这一段是译码,这一段是金额,有时还需要进行二次编码,之后再进行审计,这一系列的复杂工作都要依靠人力。
要知道,目前在网络安全行业维护一个庞大的协议库工作量巨大,特别在工业物联网领域工作成本更高。但如果用机器学习、监督学习对网络流量做无标签分析,则可以节省许多人力成本。当然这在今天已经可以实现。
另外人工智能还可应用于病毒检测,以及源代码符号化处理等方面。
付杰笑称在这方面他既是参与者也是受害者更是受益者。大概七八年前,他在使用某款专业工具扫描自己的源代码时报出7000多个所谓的问题。
“当时我就懵逼了,因为总共我的源代码才5000多个,这要去改吗?”事实上这7000多个问题可能有6900个是误报。
为何?
这还要从这类工具的原理说起。
这类工具基本依靠的还是特征识别技术,简单理解就是先把众多有问题的源代码摆在那里,然后对你要扫描的源代码进行匹配,尽管不同扫描工具匹配规则可高可低,处理语言的种类可多可少,但最终能发现的多不是漏洞,而是不规范的代码问题。
所有的源代码最后都会被转化成什么?一段标准的符号机器码。如果可以用深度学习、机器学习来处理源代码,将源代码做一个整体进行分析发现其存在的漏洞,远比通过匹配发现的漏洞准确得多。
“好歹程序是标准的,人的语言是不标准的。”
上面几项是将人工智能与安全结合可以走得通的路,那再往下可以做些什么?
“回到最开始的问题,如果要构建一套比较安全的业务系统,抛开人的能力问题来讲,我们应该会怎么做?”
开发过程中的源代码漏洞挖掘、测试过程中的程序漏洞及业务逻辑漏洞挖掘、运行过程中的漏洞攻击及业务漏洞利用、运行过程中的欺诈行为识别,曾几何时,这些工作仅能由专业人员完成。
“去给客户审十万个源代码里面的漏洞,经常需要花费大量人力物力,审的昏天暗地。”付杰笑道。
所以梆梆安全计划在明年推出一套新系统,叫下一代应用安全。
为什么叫下一代应用安全?因为梆梆安全不但做了下一代、还做了上一代应用安全。
时间回溯过去的三到五年,梆梆安全的上一代应用安全主要聚焦于移动应用保护技术,基于加密、加壳、混淆、虚拟化等技术手段,阻止恶意攻击者发现移动应用内部的缺陷、漏洞,保护移动应用免遭恶意破解、篡改、二次打包各类攻击。
“也就是过去五年,我们用了各种技术防止别人发现应用内部的安全隐患。但是今天更好的手法是什么?是找出问题,把它彻底解决。”
现在梆梆安全希望构建的下一代安全体系是从静态分析,到动态分析,再到实时防护的完整体系。其与上一代本质的区别就是,无论是静态安全性测试还是动态安全性测试,使用大量的深度学习技术来知道所有的业务流量特征,以此用这种方法构建出所有的可能攻击状况,进而测试应用是否安全。此处可以想做上帝视角,下一代安全体系就是“天黑不闭眼”的预言家了。最后,通过对用户的业务学习,来构建业务的实时防御规则。
“整个目标指向的是在静态和动态层面上,挖掘漏洞,并且提供自动的漏洞修复能力。”
此处还有趣事,付杰告诉雷锋网,在下一代安全体系开发出来后,梆梆安全选择了市面上一些知名的开源软件进行扫描,结果竟然发现了一个非常严重的安全漏洞。
付杰告诉雷锋网,整个过程就是让计算机自己发现自己的问题,人只需要看结果就好。厉害了word机~
另外,编程、测试人员常需要构建所有异常业务访问,或试图造成攻击的业务访问。现在有了动态安全性测试这一神器之后可以用其分析所有的网络流量,分析得出对的流量与错的流量,并发送所有的错误网络流量,根据其反映尝试挖掘漏洞。
当这些漏洞被发现后,如果还是要依靠人工书写规则,或者依赖开发人员的经验用打补丁的方式来修复,这仍然不叫下一代应用安全。
有没有机会实现自动防护?
付杰告诉雷锋网,他们在前端构建了一块系统来阻挡这些攻击,也就是所谓的并行式自防护系统。目前来说,这一系统在整个安全行业属于半启动状况,未达到成熟。
到此,就构成了一个完全基于机器学习驱动的,从发现到证实,再到修补,完整的应用安全防护体系,所以梆梆安全把它定义为下一代应用安全。
当然这仅是AI与安全结合的冰山一粟,不久之后这一范围会继续扩大。
付杰表示,“我很看好这套系统在工业物联网上的应用。”
实际上今天工业物联网的协议种类远远超出人们预期的协议种类,其中一些老旧协议的存在给分析和修改都造成了难度,更新协议更是不可能。如果能将这套系统应用在工业物联网上,对硬件或是服务器协议进行维护,实现漏洞的修复,将非常有意义。
在最后,付杰用一个神秘的微笑结束了谈话,“我们也利用这套系统在无监督的环境下发现了一个工业物联网漏洞。”
雷峰网原创文章,未经授权禁止转载。详情见转载须知。