Python Hacker
首发于Python Hacker

网络安全即将迎来机器对抗时代?

自从 DeepMindAlphaGo 横空出世,战胜人类围棋冠军之后,机器学习,受到了人们的空前关注。机器学习开始被广泛的应用到从教育到医疗,从翻译到无人驾驶的各个领域中。既然 AI 可以利用传感器感知环境,作出判断,驾驶汽车,那为什么不可以让 AI 控制漏洞扫描器,感知系统环境,从而进行渗透呢?同样地,既然 AI 能够根据人们的胸透图和其他症状,判断是否患病,那为什么不可以让 AI 根据用户的行为特征,判断用户是否合法呢?我们完全可以利用机器学习来解决安全问题。


十年前, WAF (Web 应用防火墙)和 IDS (入侵检测系统)就是基于规则的,到今天,市场上绝大多数的 WAFIDS 还是基于规则的,它们需要人为的根据安全专家们的经验和已知的漏洞去编写规则:当出现 xx 字段,或者存在 xx 特征,就认为该条记录属于攻击行为。对于新出现的漏洞,由于不存在对应规则,所以它们完全没有办法检测。但是,利用机器学习是可以检测到的。 如何检测,下次再说。抵御未知威胁,这是机器学习相对传统的规则的一大优势,也是我们最需要机器学习的地方。

事实上,早在机器学习成为热门之前,对于机器学习在安全领域的应用的研究就已经开始了。1998 年 MIT 就开始了 DARPA Intrusion Detection Evaluation 项目,直到今天,我们还经常利用 DARPA 的数据集来评估基于机器学习的 IDSWAF 。2009 年,PRA Lab (这是一个相当厉害的实验室) 就推出了 HMM-Web 项目,利用 HMM (隐马尔可夫模型,机器学习概率图模型中的一种) 检测 Web 攻击。在此基础上,后来出现了很多基于 HMM 的 WAF 的相关研究。在不久之前的先知白帽大会上,也有演讲者提到了利用 RNN (循环神经网络) 检测 Web 攻击,这也是近来出现的一种新思路。


到目前为止,从病毒检测,到 Web 攻击检测,再到 APT 防御,风控,甚至在威胁情报与态势感知,在安全领域的各个方面,都有与机器学习相关的研究。传统的利用规则和特征的安全应用,在今天都可以利用机器学习进行改造,使之更智能,更精准,更高效。

但另一方面,机器学习不仅能被用来优化安全应用,攻击者也可能利用机器学习打造更智能的攻击工具深度强化学习 ( Deep Reinforcement Learning ) 的应用,使围棋 AI 的棋力大幅提高。简单来说,强化学习 就是感知环境,作出最优决策。深度强化学习深度学习强化学习 的结合。它可能会被应用到漏洞扫描器里,使扫描器能够实现自动化地入侵目标。这方面还没有看到具体案例,但国外已经有人在研究。

机器学习同安全的结合,还有很长的路要走。这方面国内外的差距还比较大,国外已经有很多相关的研究成果,也有部分安全公司专门研究相关问题。机器学习首先要考虑的是数据集,目前数据还比较难获取,安全领域没有一个像 ImageNet那样的开源数据集。更多的问题细节和具体的研究方法下次再谈。

机器学习应用到安全领域,这是未来的趋势,但是目前还有很长的路要走。

编辑于 2017-03-30

文章被以下专栏收录