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

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

施亮

从年初的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小时实效的快速检测模型,将垃圾邮件的拦截效率,又提升了几个百分点。

技术的演进总是类似的。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%的企业都安家云上,安全一定不是能通过人去解决的事情,每个机器大脑背后的智慧,是推动云安全前进的关键。

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

相关推荐