本文转载自Tombkeeper的微信公众号 皮相 (微信id: OnTheSurface)
(2016年11月9日在中国互联网安全领袖峰会的演讲)
今天有两件大事:第一件大事是美国人民正在选他们的领袖,第二件就是我们在这里参加中国互联网安全领袖峰会——开个玩笑,不过两件事其实真有点关系。2008年的美国大选,通常被认为是互联网第一次影响了大选;而今年的美国大选,则是信息安全问题第一次影响了大选的结果。
现在大家应该都可以接受这样一个观点:我们同时生活在两个空间,一个是物理空间,一个是数字空间。自计算机和互联网诞生,这么多年过去,我们对数字空间的依赖不断加深,我们在物理空间中活动也不断向数字空间转移,而这两个空间的交融也变得越来越深入,数字空间对人类的影响越来越大。
刚才讲到物理空间,大爆炸理论认为是150亿年前一次大爆炸形成了宇宙。宇宙中的物质最早是基本粒子,然后基本粒子形成了最早的星际物质,星际物质形成了星球,星球形成了星系,150亿年之后有了我们今天这样的宇宙。这是一个由简单到复杂的过程。
当然还有一种观点,认为宇宙其实是由神创造的。但是不管宇宙是谁创造的,不管物理空间是谁创造的,数字空间一定是我们创造的,这也是我们作为人类的荣耀。
我们回顾创造数字空间的过程,回顾数字空间前几十年的发展历史,会发现:数字空间也有一个类似物理空间这样由基本粒子一步步演化的发展过程。而在数字空间的创世早期,安全问题也大多数是一些微观层面的问题。
早期的安全问题往往是由什么而引起的呢?可能是某一处代码有问题,某一处配置文件有问题,或者是某一个变量设定有问题,是一些微观层面的问题形成了微观的安全问题,影响了一个微观的对象。
现在我们看一张比较鲜艳一些的图。这张图展示的是生物演化的过程,从一个单细胞生物的诞生,一直到产生了地球上最为复杂,最为壮观的生命,那就是我们人类。
虽然今天的地球上仍然存在着单细胞生物,但整个演化过程总体还是变得越来越复杂,个体的功能变得越来越多样。同时还有一点:就是个体的脆弱点也同样变得越来越复杂。
虽然人类是万物之灵,但是人类无论是精神还是肉体都是非常脆弱的,比很多动物都脆弱。而且很多的这种脆弱到现在还搞不清楚。因为在演化过程中,不光这些对象演化了,对象的弱点也会演化。
今天人们在数字空间中,操作的对象颗粒度变得越来越粗,对象之间的联系也变得越来越复杂。
所以今天很多安全问题已经不再是某一行代码的问题,或者说某几处代码之间的问题。而是一个协议和一个协议之间的问题,或者是某些协议共同作用发生的问题。甚至是一个设备和一堆设备之间的问题,一个系统和一个系统之间的问题,而且甚至这些对象它们相互之间看不到特别明显的关系。这些其实就是演化的结果。
传统那些安全问题是否还存在?就像今天地球上仍然存在单细胞生物一样,这些问题仍然存在,但是新的问题已经演化出来了。
有个非常典型的例子,是很多电商系统都犯过的一个错误。当我们去电商网站买一样东西的时候,在付款的过程中会进入到交易结算的系统,交易结算的系统和电商系统通常是两个系统,甚至于是隶属于不同的公司所有。这两个系统在产生关系的时候,就有可能发生问题。交易系统的设计是由一组人员去完成的,而结算支付系统往往是另外一组人员去完成的。
无论他们之间怎么去约定,怎么沟通,这种沟通都是不能达到百分之百透彻的。所以出现过这样一种情况:攻击者可以在购买完成之后结算的时候将交易金额修改成一个非常小的数字;而电商系统只是判断了这个交易结算系统返回的信息是否交易成功,它并不知道交易数字到底是多少,就是说他不知道攻击者买一台冰箱到底是花了2千元还是花了1元。所以攻击者就可以用1元买下冰箱。以前很多电商网站都犯过这样的错误。
还有个例子比较新一些。前几年很多运营商向用户提供了一种叫做“短信保管箱”的服务,这是完全正常的一种业务。但是这种业务引起了什么样的后果呢?他破坏了我们用手机短信作为第二验证因子的这样一种安全设计。
因为手机短信在以前是被认为相对可信的另外一重因子。但当运营商把短信存储到服务器上,可以在电脑上登陆去查看的时候,实际上就已经把双因子又变成了单因子。本来是出于一个美好的初衷设计出来的美好的业务,和网银业务遭遇后,就可以被网络犯罪者用来窃取用户网银上的资金。这事儿已经发生了很多起了。
最后的结果是什么?运营商逐渐取消了这个业务。这是运营商和银行两个看起来没有关系的对象,关联产生出来的这样一套问题。
刚才的例子里银行是作为受害者。下面要说的例子中银行扮演的就不是受害者了。现在很多银行搞了叫做“虚拟卡”的业务。有一家银行的虚拟卡业务遭遇了苹果的应用商店之后,被人找到了其中结合上的问题。后果是什么呢?就是利用虚拟卡业务的某些特性,不花钱就可以在苹果的应用商店里充值。
还有一个案例,可能前一阵子大家都听说过:美国的FBI为了解锁一个苹果手机,费了很大的力气。可能很多朋友也遇到过身边的朋友手机被窃,偷手机的人用了很多的方法试图去解锁这个手机。
当然,我们知道苹果对手机的安全性做了很多很好的设计,去保护用户手机中数据的安全。即使被窃取之后,仍然可以通过云端对手机的数据进行删除,把这个手机清空,包括窃取的小偷也无法直接的去解开这个手机的密码。
但现在犯罪分子找到了一条通道。当你的手机丢失的时候,随着手机一起丢失的还有什么?你插在手机里的SIM卡。虽然SIM卡插在这台手机里是不能使用的,但是把它拔出来,装到另外一台手机上,这个SIM卡可以打电话,可以收发短信,而且是你的号码。
我们知道很多的网络服务为了安全性,它会要求用户跟他的手机号码绑定。所以你用手机号可以重置很多网络服务的密码。这些窃贼们拿到你的手机之后,虽然他不能直接用这个手机,但是他可以用这个SIM卡,通过SIM卡可以去控制你的某个网络服务,比如说你的邮箱。
如果你苹果的ID是用绑定这个手机号的邮箱注册的,那么他通过控制这个邮箱就可以控制你的苹果ID。如果你通过苹果的iCloud把手机清空了,清空之后这台手机就可以用你的苹果ID进去。所以现在这套机制被很多的盗窃手机的犯罪团伙在使用。
我们看这整个的过程里面,包括我之前举的这些例子,看起来谁都没有犯错误,动机都是美好的,每个对象的设计单独看起来也是美好的,大家都在为用户服务,都想把产品做好。但是这些问题纠缠在一起之后,就变成了我们要面临的新的安全问题。
所以我们说,今天信息安全问题和网络空间中其它的对象一样发生了演化,我们抛开软件或者硬件这样的视角,将网络空间中的这些我们与之进行互动的对象抽象出来,同样可以发现这些对象之间的安全问题如同生物进化一样,今天他们进化成了一种非常复杂的形态,而这种形态的安全问题用传统的方法是难以进行发现、分析和防御的。
相应的我们也必须随之进化。作为防御者,作为安全研究者,我们需要随之进化。当一切都进化的时候,你不进化是没有办法去应对这种新的情况的。当然这种情形是一种非常大的挑战,但是我相信这里面也一定蕴含着非常大的机会。
谢谢大家。