如何利用AI对抗“数据污染”和”数据中毒“?

由中国计算机学会主办的全球人工智能与机器人大会(CCF-GAIR)在深圳召开。在智能安全专题论坛,阿里巴巴集团安全部资深总监路全做了题为《对抗“数据中毒”——机器学习在阿里巴巴网络安全的应用》的演讲。对于安全界来说,其观点具有很好的实践意义。

我以智能汽车为例展开我的演讲,因为大家可能这两天听了很多关于智能汽车的比喻,它确实是一个非常典型的智能安全体。大家想一想,我们有几种方式可以去攻击智能汽车?

 

攻击智能汽车的方式

第一个方式是可以去改变这些交通标志,来利用智能算法本身的缺陷攻击智能汽车,这个就不展开讲了。

第二个方式是传统的方式,比如在电影《速度与激情8》,它能够控制那些平民的汽车,最后完成它的攻击行为,这是传统的黑客或者渗透入侵的例子。

第三个方式就是利用“数据中毒”的方式来攻击人工智能系统。

我刚才简单介绍了数据污染或者叫数据中毒,一提这个,大家脑海里浮现出来的可能有些非常直观的例子,比如说微软小冰的例子,它是一个人工智能对话系统,刚上线的时候因为用实时对话的数据进行训练的,所以你给他一些不好的对话,就会被污染,这是非常直观的。

还有一个直观的例子,SEO(搜索引擎优化)也可以当做一种利用数据去掌握或者控制搜索的推荐算法,因为它其实就是根据推荐算法去用新的数据,去让推荐算法或者说搜索算法把你排到他想要的位置。

再总结一下数据中毒和数据污染,其实我用这个图来说,无论是什么样的数据中毒和污染其实都是一个,如果左边是我们的目标,我们的统计模型或者现在所有机器学习的模型都是统计模型,其实有一个嘉宾分享得很好,他说所有的机器学习模型其实都是在做最小化你的目标函数,所有的机器学习模型都是在解一个最小化的问题,然后这个最小化问题是在你的训练样本上,所以你可以想象他最后做的是一张网,每张网是训练样本,但是不能保证样本和样本之间是没有空档的,所以用机器学习来做安全攻防的话,更像一张网,我要训练一张网去覆盖我的正确目标,但是数据中毒的目的就是让你训练的这张网跑偏。

 

机器流量防控体系

阿里安全除了在传统网络安全上建立安全的防御体系,防御黑客入侵和渗透,还要建立一张网是防止脏数据或者数据中毒、数据污染。

我们叫机器流量是万恶之源,机器流量最后会造成很多的数据中毒,比如爬虫爬取信息的例子,还有商家的信息泄露,还有在搜索上排序刷单,这些都是用机器流量来完成目的的,所以我们要防止数据中毒或者数据污染,根治机器流量。

阿里在机器流量防控体系的建立实际主要是由三个方面组成。

检测模块

检测模块听起来不是很智能,但其实如果把整个智能系统比作一个人的话,检测模块就是眼睛,没有眼睛的话很多事情是做不了。

我把检测模块比作整个系统的眼睛,这个眼睛是要满足这四方面的要求,第一个很简单,你必须要能判断出你的目标是0是1,判断不出来就不是一个好的检测系统。

第二个可能经常被忽视,尤其是安全攻防领域,这个检测是想尽量做到被攻击者无感知的,因为在攻防上,传统来讲我们作为防守方,其实是有一个很大的劣势,就是我们好像永远都站在明处,那些攻击者都是站在暗处,他们可以不断的来测试我们的系统,但是我不知道他什么时候在测试我,我完全被动,他可以随时在暗处躲着,随时打我一拳,随时看到我的动作。检测系统实际把刚才我说的攻防不利方面转化了,因为我们有检测系统的话,检测系统如果做到对方无感知,在检测系统上我们是站在暗处,他们站在明处,因为他没有感知到我是在什么时间,什么点去做检测的。

最后这两个也是必须的,第一个是要检测到未知的新攻击,因为机器学习是用历史来告诉未来,用历史的数据来告诉你未来的行为,很容易陷入到你的特征只能表示已知的攻击行为,而对未知的不可预测,所以这个检测系统必须提取的特征是一个对所有的攻击行为都适用。最后一个是无偏的,听起来是非常自然的一件事,但是在实际中会有很多的陷井,如果不注意的话会把你的检测结果带偏。

分类模型

分类模型是机器学习的一种在工业界最常用的模型,如果我们还是把这个比作有机体的话,分类模型就是大脑。

这个是大的分类模型框架,从输入到输出,可以看到输入的信息基本上有四个方面,一个当然你是在检测流量是不是机器流量,所以肯定有流量的信息,第二是生态的数据,这个其实是阿里现在一个越来越有优势或者越来越有利的,因为阿里的生态包括集团、UC浏览器、高德、优酷,这些都是并入到阿里的大生态中,大生态里的各个方面和数据可以做到互相的补充,形成一个联动的防御机制,这是生态数据的重要方面。第三是情报,这里主要是公开有的这些数据,但是去经过分析,可以得到一些有价值的情报,其实安全问题本质上是一个大数据的问题,但这个大数据问题我的观点是通过小数据来解决的,撬动大数据问题的杠杆的小数据,其实就是情报。第四是专家经验,因为昨天大家在会场上也听到讲了很多知识图谱或者知识库,可能那些是比较新的名字,但是在工业界用就是我们要把专家经验作为特征之一结合到系统。有了这些输入之后,特征会用各种各样的方法去计算各种维度的相似度的特征和提取,最后识别出来的结果可以用在离线的识别服务和在线识别服务,这就是一个模型的框架。

辅助系统

因为我做机器学习已经很久,有十几年的历史,在工业界来说,英特尔的CTO也讲到他们提供机器学习整个训练的线下的部分,但我的经验是,模型是在有效的系统中占比是有效的,现有的已经有效的机器学习系统还有两个是非常重要需要加进去的,一个是跟控制有关,反馈控制是一个研究的已经很透的领域,但其实在实际系统中,反馈控制往往能起到和机器学习模型叠加组合起来能起到好效果。

辅助系统在工业界其实是机器模型能够合理的利用和产生价值的必不可少的一些部分,第一个是持续检测,因为如果把检测比作眼睛的话,如果你想整个攻防体系最后是自动化的话,一定需要持续检测,这也是我刚才讲的控制上的应用。第二是多模型防控,机器学习模型其实最后训练出来的是像一张网,这张网覆盖上会有很多洞,我怎么解决这些洞?从模型训练角度讲你只有加更多例子,你可以理解为这个网的节点就更加多了,但这个有的时候数据是不可得的,所以多模型防控就好像用不同模型去训练不同网,我把网叠加起来,希望这种叠加效应能够对我的整个防御体系产生更好的拦截作用。第三是分场景防守,分场景防守也是呼应我刚才讲的,除了控制模块,第二块是我们要在实际中,运筹学或者传统的有条件的优化上,其实已经帮我们指明了很多路,他们在供应链管理上已经做得非常好,分场景防守就是在我们模型的上面加上一些系统,不等同于是采取分段模型,而其实是增加了一个决策系统,去让模型更好的在不同场合、不同策略适应。最后一个在实际中也是必须的,不管你采取多复杂的系统,用什么模型,最后是要兜底的,他们都会有可能产生一些不可预期的结果,所以这个系统现在不管人工智能发展得多好,还是要留一个出口,当我一旦有一些没有预料到的情形发生的时候,我要让人知道这些报警,有专家去做控制。

 

总结

第一个是由于我们有越来越多的人工智能算法和人工智能体,这些都成为安全所要保护范围里面的重要成分之后,我们一定要警惕这些智能体被数据中毒或者数据污染,因为他们都是数据驱动。作为像阿里巴巴这样的网络公司来讲,数据中毒或者数据污染的主要途径是通过机器流量,因为这些智能体都是用大数据训练的,他要用数据污染你,一定是用大量的垃圾数据去污染,大量的垃圾数据不大可能是由人产生,一定是机器产生。最后我简单的介绍了阿里安全关于防止机器行为数据中毒的清洗体系的三个组成部分。

审核人:yiwang   编辑:边边

(完)