MyException - 我的异常网
当前位置:我的异常网» 人工智能 » 安全人工智能应用之小弟我见:时代“风口”的交叉点

安全人工智能应用之小弟我见:时代“风口”的交叉点

www.MyException.Cn  网友分享于:2013-10-19  浏览:0次
安全人工智能应用之我见:时代“风口”的交叉点

想不想知道是什么

 

 

编者按:10月11-14日,为期四天的2017杭州云栖大会(门票火热抢购中!)将再度在杭州云栖小镇起航,作为全球最具影响力的科技展会之一,本届大会将有不少阿里集团专家以及各企业行业领袖的精彩演讲。本文是阿里云资深算法专家施亮所写,他将在10月的云栖大会上分享安全智能带来的思考和变革(想了解嘉宾以及最新议题信息请关注“云栖大会”公众号)。

55bab71ea5dd095a844891a08fad6a299d542dab

施亮

从年初的RSA大会,到前两周刚结束的Blackhat和Defcon,这些大会上一个热议的焦点,就是人工智能和机器学习技术,在安全领域和产品上的应用。

给人的印象是,如果一个安全产品,现在没有运用机器学习技术,都不算是有价值的产品。以人工智能驱动的安全公司也受到了资本的青睐,2017年6月份以来就至少有7家号称运用机器学习技术的安全公司获得新一轮融资,融资总额接近 5 亿美元。

实际上,机器学习技术,在安全领域应用并不是什么新鲜事物。早在10几年前,机器学习和统计分析模型已经应用于垃圾邮件检测、IDS、恶意二进制、URL和DNS分析等领域;特别是垃圾邮件的检测,在十年前,就有非常成熟的商业产品,而机器学习引擎,是其核心检测部分。机器学习能早期应用于垃圾邮件的商业产品,主要原因是垃圾邮件历史上样本的积累足够丰富,而且安全公司愿意投入大量的运营人员进行打标。

当时国外业界一家大型安全公司,邮件的打标团队就有上百人,每日由检测引擎和人工确认的样本,有几十万级之多。邮件用户反馈和灰样本的人工打标,形成了良好的数据闭环,机器学习模型优化迭代很快。而大量精准的样本,和良好的数据闭环,正是机器学习成功应用的基础。

工业界在机器学习安全应用的过往发展史上,有两次大的性能突破性提升,一次是机器学习新技术的应用,一次是数据计算能力的提升。还是以垃圾邮件检测举例,10年前,随机森林RF、GBDT等boosting方法开始流行,这些模型对抗overfitting的能力非常强。

当时国外业界某家大型安全公司内垃圾邮件的机器学习检测模型和各种规则集有上百个,用stacking的方法输出,每个模型或者规则集的贡献权重是由其历史表现决定的。在机器学习的新技术RF、GDBT引入后,最后起统治地位权重dominant weights的,都是使用RF、GBDT等技术的模型,一举可以提升检测精度几个百分点。另一次突破,就是云计算的引入。

最早的机器学习模型特征,都是用大型关系数据库计算的,这家公司当时在全球有6个数据中心,每日回吐的数据量有几百G到T级,昂贵的Oracle系统和数据库query优化专家,也不能很好的解决海量数据query的效率问题,当时有些特征的计算需要1天以上的时间;而有些spam IP的发送时间,是以小时计算的,等到特征产生,spam IP已经转移,拦截效果大打折扣。

2008年,公司内数据挖掘研究小组开始尝试搭建Hadoop,首先用公司计算中心淘汰的废旧机器,搭建了12台服务器的Hadoop集群,使用优化的MapReduce算法,只用了10分钟的时间,就能计算出Oracle大型服务器上一天都计算不出的特征。基于云计算技术的特征工程,训练出的1小时、2小时实效的快速检测模型,将垃圾邮件的拦截效率,又提升了几个百分点。

0032bea181b0405f88bdcf976c5966f02343d1f7

技术的演进总是类似的。21世纪10年代以来, 机器学习领域兴起的深度学习热潮,推动了图像视频、语音、自然语言处理等方向的突破性进展,深度学习的成功,其实是神经网络模型方法理论加GPU集群计算能力的进步,两者叠加所以进展更加迅猛。最近两年,深度学习开始在安全应用领域落地,例如在恶意二进制检测领域,国外的Deepinstinct和国内的瀚思科技,都有深度学习的商业化产品。

深度学习的优势在于,模型的特征工程,相对不需要太深的安全领域经验,深度学习的输入向量化方法、模型的结构和参数设置,就基本可以决定模型的表现。

相对于其他的分类模型,由于需要深厚安全领域经验支撑的特征工程,特征依赖程度大,模型往往受制于特征提取问题,而深度学习的优势就凸显出来;深度学习的另外一个特点就是匹配复杂度高的模型优势非常明显,这是深度学习模型的多层神经网络组合实现超高非线性适配导致的。当然,深度学习在安全领域的应用也有它的局限性,一是深度学习模型训练需要大量的覆盖范围全面的正负样本,在安全领域,满足这种要求的场景很少;二是深度学习模型适合原子化的数据特征输入,安全领域中,原子化数据特征,在大多数领域,都是比较困难的;三是深度学习是黑盒算法,模型的可解释性很差,对于传统安全运营分析来说,模型的产出很难做类似安全规则的分析和调整。所以深度学习在安全领域的应用,现在还主要集中在恶意二进制检测和WAF等样本比较丰富、输入比较容易原子化的领域。

深度学习加强化学习(RL)的办法在棋牌类的应用,已经超越了人类的水准。

大家都知道AlphaGo的一代和二代,在番棋大战中,连续战胜了人类职业围棋的顶尖棋手;今年1月30日,在宾夕法尼亚州匹兹堡的Rivers赌场,卡耐基梅隆大学(CMU)开发的人工智能系统Libratus战胜4位德州扑克顶级选手,获得最终胜利。

虽然人工智能技术在棋牌领域已经可以随意碾压人类对手,但是在安全领域,人工智能想要在网络攻防对抗上战胜人类黑客,这个道路,从现在的技术看,我认为还比较漫长。原因是不管围棋也好,德扑也罢,虽然变化极多,分别达到10的171次方和10的160次方,但是它们的输赢规则是非常简单,很容易用数学模型描述。只要用合适的机器学习方法,就会在类似的brute force领域取得突破。但是在安全领域,类似的规则描述一般都是极其困难,因为人类黑客的攻击和网络安全专家的防守,并不会遵从现有的固定的一套规则,所以很难用数学模型去描述攻防领域的对抗。目前人工智能对这种创造性很强的领域,效果都不是很好。

一个值得注意的趋势是Generative Adversarial Networks(GANs)的发展,GANs最早由Ian Goodfellow于2014年提出,其基本思想是同时训练两个神经网络,一个网络训练产生混淆攻击样本,一个网络训练识别混淆样本,两个网络互相学习演进。GANs出现后,成功的被用于图片样本的混淆,例如成功的欺骗深度学习引擎,使其将大熊猫图片识别为长臂猿。在安全应用领域,GANs已经被用来产生Malware的混淆样本,今年Blackhat的一篇文章,作者声称自己训练的GANs样本,可以欺骗现在的商业Malware识别引擎,使其误识别率超过70%。

综合这两个进展,今后安全人工智能领域,RL和GANs会得到更广泛的应用,RL主要会用来解决安全领域的样本问题,随机生成或者按照某种规则生成的样本,可以不停的强化模型对某类攻击或者某类正常访问混淆行为的学习,同时提高模型识别的精确率和覆盖率;GANs当前主要用于攻击方对使用机器学习检测引擎的欺骗攻击,从防守方的视角来说,同样可以使用GANs技术,增强自己的检测模型针对混淆黑样本的检测能力;另外,GANs有可能被用于一些攻防规则比较容易用数学模型定义的安全领域,在某些安全领域实现人工智能机器自动攻防的梦想前景。笔者认为,在Malware攻防领域,由于样本的成熟度比较高,安全公司的运营团队成熟,加上这个领域企业的安全需求比较大,所以最有可能取得类似的突破。当前学术界的研究,已经初现Malware自动攻防的端倪。在这个领域笔者认为可以重点关注两个公司,一个是Cylance,一个是Deep Instinct。Cylance广泛使用机器学习技术用于其安全产品,主打的Malware检测产品,大量使用机器学习模型,这个是机器学习广度运用的成功case。 Cylance在去年获得1亿美元的D轮融资。Deep Instinct号称是业界第一家运用深度学习技术进行APT检测的公司,它的Off-the-Shelf Malware检测引擎,在针对阿里云Malware样本上的实测,也取得了不错的成绩。Deep Instinct在上个月刚获得B轮3200万美元的融资。

另外一个快速发展的安全领域将是IoT安全。随着智能设备广泛的应用,IoT在今后几年的发展会更加迅猛,但是由于IoT设备的特性以及历史原因,IoT设备的安全防护一直处于一个低水平。早在2010 年,Stuxnet 蠕虫病毒就针对西门子的监控与数据采集(SCADA)系统进行攻击;去年10月, Mirai恶意软件侵袭了大量存在低级漏洞的智能摄像头、网关、家电等IoT设备,并利用它们作为肉鸡,攻陷了北美地区的主要DNS服务器,使得北美基于DNS的大规模的互联网访问,中断了数个小时,造成很大损失。今后IoT设备,天然结合云端的设备数据上传,会是机器学习发挥能力的绝佳战场。这个领域可以关注一些初创公司例如Bayshore Networks,这家公司在今年3月取得440万美元的A轮融资。

安全领域应用场景对机器学习算法的应用有几个特殊的要求,一是对误报率的要求非常高。误报的含义就是将正常的用户行为解读为攻击。最近几天Facebook颁了一个十万美金的安全奖,给CMU的一个鱼叉钓鱼攻击检测研究团队,主要技术因素就是这个检测方法的误报率非常低。安全领域的问题,如果误报高,就算告警结果涵盖所有的攻击,实际的结果仍然不可用,因为没有哪家公司可以提供庞大数量的安全工程师,去分析过滤机器学习的告警,遑论安全工程师的水平也会参差不齐,会有人工误差。二是安全领域的问题,往往没有ground truth,也有人喜欢说没有上帝视角。也就是说,其实没有人知道某种异常行为,到底是不是攻击,这个事情听起来很沮丧,但是这个确实是现实,一些诡异和精心设计的攻击,很难用常规的办法去确认。造成机器学习模型,在这种场景下,没有反馈,很难形成数据闭环去不断优化;三是在安全领域,大多数的问题,没有样本或者极少的样本,导致很难建立相对比较精准的监督学习模型,无监督学习的模型,又会造成问题一中误报率高的问题。综上所诉,这三个问题互相交织作用,造成机器学习在安全领域的应用一直比较艰难。

近年来云计算的发展,为解决上述难题,提供了一个良好的环境;云平台本身每天面对的攻击体量和频率都远远大于线下环境,比如,阿里云平台每天防御的体量为16亿次攻击,其中成功防御的DDoS攻击占全网一半以上,对攻击数据的甄别和保存,形成了大量和多样性的攻击样本沉淀;

另外,云计算平台本身提供了海量数据的计算能力,对人工智能大数据模型提供了平台级的计算支持。在阿里云, 我们依托阿里云计算平台和大数据的优势、国内顶尖的安全和机器学习算法人才, 针对上述难题,找寻和攻克解决这些问题的答案。这也是我认为基于云的安全算法,大有可为的原因。

针对安全告警误报的问题,我们运用较长历史的大数据流量,使用统计学习模型+深度学习模型,学习人、设备等的正常行为,如果现有安全告警被这些模型分辨为历史上出现过的正常访问行为,就可以判断为误报,使用这种方法,我们可以将目前主机入侵的日告警量,降低85%以上,并且全部保留对阿里云真正有威胁的攻击告警。

针对第二个问题,我们从工程上运用灰度测试的技巧,及时比对模型和模型之间,模型和安全规则之间的误差,从有限的用户反馈,来最大限度的达到拦截攻击流量,同时保留正常用户的访问不受干扰。为了解决上述第三个问题中提到的没有样本或者样本少的问题,除了做好数据打标的留存工作,我们还使用了深度学习模型去生成样本,再用当前的机器学习检测模型做样本的甄别, 生成的混淆样本可以极大的增强现有模型的鲁棒性[1],这里我们引入了一个强化学习样本生成的思想,使用机器学习模型自身,去加强机器学习模型自己。

阿里云安全的数据智能团队,主要运用机器学习技术,支持阿里云平台自身的安全,也让安全服务变得更智能、高效。我们希望将安全传统的防守视角,转变为攻守兼备。

安全是网络安全和人工智能时代“风口”的交叉点。我从机器学习算法出身,在安全领域游荡了9年,研究风控、机器学习和算法研发,但至今仍深感对这两个领域的了解不足。对于安全算法的未来之星们,我的建议是:均衡发展,同时培养和积累两个领域的能力和经验,并且不断付诸于实践,才是在这个行业里成就自己梦想的关键突破口。

据我所了解,每年国内的安全人才缺口在10万级,从事安全事业的人才,又掌握机器学习算法武器的,少之又少。于我来说,交叉型人才最聚集的地方,除了国内外顶尖的安全公司和人工智能厂商之外,还有各大高校,这也是为什么,阿里云每年举办安全算法大赛,从行业和高校,寻找“跨界”的参赛队伍。在切磋与合作中,每年1000多位来自算法或者安全领域的高手,取长补短,激发出新的灵感和技术方向。不仅如此,安全算法虽然目前“稀缺”,但在未来,必然会成为云安全的必备武器。当有一天,100%的企业都安家云上,安全一定不是仅仅用人力可以解决的问题,每个机器大脑背后的智慧,是推动云安全前进的关键。

一切技术发展的背后,人才是最珍贵的源泉。我们当下的所思、所想和所为,会在一次又一次的技术变革中得到印证。而我们现在要做的,就是开始。

云栖大会购票通道请戳这里!


1鲁棒是Robust的音译,也就是健壮和强壮的意思。 它是在异常和危险情况下系统生存的关键。 比如说,计算机软件在输入错误、磁盘故障、网络过载或有意攻击情况下,能否不死机、不崩溃,就是该软件的鲁棒性。 所谓鲁棒性,是指控制系统在一定(结构,大小)的参数摄动下,维持其它某些性能的特性。

云栖大会报道:

专访新浪微博黄波:千人千面,机器学习赋能用户信息流消费

专访iDST NLP负责人——淘宝内容搜索、评价归纳的幕后英雄

专访阿里云易立:从实践积累到需求沉淀,容器技术必将引领主流

专访阿里云异构计算负责人:异构计算,GPU、FPGA、ASIC芯片将三分天下

专访阿里云量子技术首席科学家施尧耘:量子计算前途辉煌而任重道远

专访iDST华先胜:城市大脑,对城市的全量、实时认知和搜索

云栖大会变迁史(2009-2017)
图说历届云栖大会精彩内容(长图鉴赏)

 

想不想知道是什么

文章评论

写给自己也写给你 自己到底该何去何从
写给自己也写给你 自己到底该何去何从
为啥Android手机总会越用越慢?
为啥Android手机总会越用越慢?
程序员和编码员之间的区别
程序员和编码员之间的区别
我是如何打败拖延症的
我是如何打败拖延症的
程序员必看的十大电影
程序员必看的十大电影
聊聊HTTPS和SSL/TLS协议
聊聊HTTPS和SSL/TLS协议
如何区分一个程序员是“老手“还是“新手“?
如何区分一个程序员是“老手“还是“新手“?
如何成为一名黑客
如何成为一名黑客
看13位CEO、创始人和高管如何提高工作效率
看13位CEO、创始人和高管如何提高工作效率
老美怎么看待阿里赴美上市
老美怎么看待阿里赴美上市
总结2014中国互联网十大段子
总结2014中国互联网十大段子
旅行,写作,编程
旅行,写作,编程
当下全球最炙手可热的八位少年创业者
当下全球最炙手可热的八位少年创业者
60个开发者不容错过的免费资源库
60个开发者不容错过的免费资源库
程序员的一天:一寸光阴一寸金
程序员的一天:一寸光阴一寸金
 程序员的样子
程序员的样子
中美印日四国程序员比较
中美印日四国程序员比较
那些争议最大的编程观点
那些争议最大的编程观点
那些性感的让人尖叫的程序员
那些性感的让人尖叫的程序员
漫画:程序员的工作
漫画:程序员的工作
程序员都该阅读的书
程序员都该阅读的书
程序员应该关注的一些事儿
程序员应该关注的一些事儿
10个帮程序员减压放松的网站
10个帮程序员减压放松的网站
我的丈夫是个程序员
我的丈夫是个程序员
老程序员的下场
老程序员的下场
每天工作4小时的程序员
每天工作4小时的程序员
编程语言是女人
编程语言是女人
团队中“技术大拿”并非越多越好
团队中“技术大拿”并非越多越好
Java程序员必看电影
Java程序员必看电影
做程序猿的老婆应该注意的一些事情
做程序猿的老婆应该注意的一些事情
要嫁就嫁程序猿—钱多话少死的早
要嫁就嫁程序猿—钱多话少死的早
我跳槽是因为他们的显示器更大
我跳槽是因为他们的显示器更大
一个程序员的时间管理
一个程序员的时间管理
程序员最害怕的5件事 你中招了吗?
程序员最害怕的5件事 你中招了吗?
“懒”出效率是程序员的美德
“懒”出效率是程序员的美德
程序员的鄙视链
程序员的鄙视链
程序猿的崛起——Growth Hacker
程序猿的崛起——Growth Hacker
为什么程序员都是夜猫子
为什么程序员都是夜猫子
Web开发人员为什么越来越懒了?
Web开发人员为什么越来越懒了?
十大编程算法助程序员走上高手之路
十大编程算法助程序员走上高手之路
2013年中国软件开发者薪资调查报告
2013年中国软件开发者薪资调查报告
Web开发者需具备的8个好习惯
Web开发者需具备的8个好习惯
初级 vs 高级开发者 哪个性价比更高?
初级 vs 高级开发者 哪个性价比更高?
Java 与 .NET 的平台发展之争
Java 与 .NET 的平台发展之争
科技史上最臭名昭著的13大罪犯
科技史上最臭名昭著的13大罪犯
2013年美国开发者薪资调查报告
2013年美国开发者薪资调查报告
程序员周末都喜欢做什么?
程序员周末都喜欢做什么?
10个调试和排错的小建议
10个调试和排错的小建议
“肮脏的”IT工作排行榜
“肮脏的”IT工作排行榜
软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有