数据安全的技术
大数据应用的一个挑战来自对数据安全性的担忧和对隐私的诉求。这一节我们重点讨论数据安全,在下一节中我们将讨论隐私保护的问题。
数据安全有两层含义,首先是要保证用户的数据不损坏、不丟失。10年前,云计算刚开始普及,大家所担心的是数据存储在云端会丟失。经过了10年,互联网用户或多或少都有了使用云计算的经历,已经体会到数据放在云端上的方便性。在这10年里,也没有发生什么数据存在云端取不回来的情况,实际上比放在自己的电脑上或者手机上安全多了,因此大家不再担心这方面的问题。
但是数据安全还有第二层的含义,即要保证数据不会被偷走或者盗用。在过去的10年里,由于不断传出有犯罪分子或者恶意的黑客进入计算机系统中偷盗数据的事件,而且确实给公司和个人带来了很大的麻烦,因此今天大家担心的是自己的数据是否会被别人偷盗,以至于让自己蒙受很大的损失。
令人遗憾的是,过去各种安全防范的方法,虽然防住了绝大多数黑客和数据偷盗者的入侵,但总是有一些漏网的。好在过去数据通常不是集中存放,因此即使系统被黑客攻破,丟失的数据常常有限,损失也有限。更重要的是,由于数据大多是单一维度,或者是低维度的,所以损失比较直接,可以估量。直到2002年,由于计算机的存储量不足,像美国最大银行之一的美洲银行,各个州储户的账号还是单独存放。那时在美国西海岸加州的美洲银行开户后,到东海岸的马里兰州办事处想要调出个人信息,是一件近乎办不到的事情。对银行来讲,这当然操作不方便,但是也避免了用户信息被一锅端。
但是在大数据时代,由于数据量巨大,数据一旦丟失,损失也是巨大的。比如2013年美国百货连锁商塔吉特数据丟失造成的损失高达1.6亿美元。962014年曝出的索尼丟失数据事件,造成的损失高达1亿美元。97更早的时候,美国折扣连锁店TJ Maxx的数据丟失造成了2亿美元的损失。在这几起信息被偷盗的案件中,用户信息都是被一锅端的。
比商业数据丟失后损失更大的是医疗记录被盗,据加州几家信息安全公司给出的参考数据,在美国黑市上,一个医疗记录的卖价是个人商业数据的50倍左右。美国每年有不少医疗健康信息被盗,甚至个别的医疗仪器被黑客劫持,整个医疗系统被黑客勒索的赎金高达数十亿美元,只是绝大部分患者不知道而已。
图5.15 塔吉特的计算机系统被黑客攻击,半个多月后才被发现,4000万顾客信用卡信息被盗
当然,比数据集中存放更让业内人士不踏实的是一旦黑客得到多维度的数据,从理论上讲,黑客也像数据科学家一样对大数据进行分析,那么机密泄漏的损失就大得难以估量。我们在前面提到,既然合法使用数据的用户利用大数据分析可以得到意想不到的惊喜,那么非法入侵的黑客同样可以得到。
有经验的IT系统主管和架构设计师都知道要尽量将敏感信息放到不同的地方,以免多种敏感数据同时丟失。但是这件事情执行起来并不容易,因为如果一项安全措施导致操作麻烦,很多人就会不遵守,比如在很多公司里,操作人员为了方便,通常习惯把分开存放的数据又拷贝到同一个地方一起处理,原先出于信息安全所做的设计就形同虚设。通常人们在方便性和安全性方面会优先考虑方便性,这是人的天性使然。
在大数据时代,虽然计算机系统在设计时对安全性的考虑比过去周全了许多,但肯定无法百分之百地防止黑客入侵行为,因为很多时候这是人为失误造成的,而不是防火墙不够先进。比如前面提到的塔吉特遭受黑客入侵的事件,其实防火墙已经报警了,但是由于报警频率太高,操作人员嫌烦而关闭了报警系统,这才惹出大祸。有些时候,人的安全防范意识要比想象的差得多,我本人就遇到过一件令人匪夷所思的事情。
几年前,我陪同母亲到加拿大游玩,然后回到美国。根据美加两国的协议,美国把海关设在加拿大机场内,这样在登机前实际上要先经过美国海关。或许是因为海关的计算机设备放在了加拿大,或许是其他原因,总之在海关窗口的那台计算机里找不到我母亲的信息。于是海关工作人员就不得不让她到旁边办公室办理入关手续,因为在那里有一台计算机直接连到美国外交部,能够访问完整的数据库。由于母亲的英语不流利,我就被允许和她一起进入那个房间。或许是因为那台计算机连着外交部的数据库,颇为敏感,如果操作人员两分钟不操作,就自动退出了,这时海关的官员必须重新输入密码登录。那位海关官员对我母亲问话的时间显然不止两分钟,因此他不得不一遍遍输入密码。当然,这样敏感的账号自然要求密码设置非常复杂,比如要各种类型的字符组合在一起,这样的密码其实很难记得住,于是他把密码写在了一张纸上,那张纸就放在办公桌上,密码被旁边的我看得一清二楚。我当然对进入外交部的数据库没有兴趣,但是如果是一个黑客而不是我看到那张纸,麻烦可能就大了。
当然,可能有读者会觉得我遇到的是个案,事实上,我们在Google接到用户账号被盗的报案中,一大部分情况是用户自己把账号写到什么地方,被人给偷盗了。既然不能够完全把偷盗者挡在外面,就需要有更好的方式来保障信息安全。
图5.16 那些很复杂的密码反正记不住,只好抄到纸上,结果更加不安全
科学家和工程师们首先想到的是在文件系统和操作系统设计上加以改进。直到今天,文件系统和操作系统的设计和40年前没有本质的差别,而在那个年代,信息安全的矛盾并不突出,因此在数据安全性上的考虑并不多。早在2001年,一位计算机科学家在IEEE(电气和电子工程师协会)的一个信息安全的研讨会上就指出,计算机系统的设计和高楼设计很大的不同是,前者事先并不考虑安全的隐患,而后者在每一个环节都要考虑安全的问题,这就是我们面临的现实。因此,从系统上根本地解决信息安全的问题,其必要性是显而易见的。不过这并非一朝一夕能够办到的事情。
另一种行之有效的方法恰恰是利用大数据本身的特点,来保护大数据的信息安全。通常一家机构里的业务流程是固定的,被授权操作员的使用习惯也是可以学习的。比如我前面提到的海关官员操作外交部信息档案库的流程,通常可能会是从A点到B点,再到C点、D点……但是,假如外来的闯入者真拿到了密码进入外交部的计算机系统,由于他对外交部内部的业务流程并不了解,他的操作可能直接从A点绕到C点,然后跳到E点,因此可以通过大数据发现并制止异常的操作。麻省理工学院计算机和人工智能实验室(MITCSAIL)的研究表明,利用大数据(2000万用户产生的36亿行的系统日志)分析来防范黑客攻击,要比传统的在防火墙设置各种规则的做法有效5倍。98而在工业界,一些信息安全公司已经开始按照这种思路来设计和研制产品了。
硅谷的Trustlook公司和中国一家电信运营商的信息安全服务公司就是这么做的。它们都利用大数据分析和机器学习了解公司正常的业务流程,发现并防止异常操作。不仅一家公司正常的业务流程可以学习,当数据量足够大时,每个被授权的使用者的操作习惯也可以学习,那么不符合这些习惯的操作就可能来自非法的闯入者,这些操作就会被禁止。类似地,日本一个发明家将这种思路用于汽车的防盗。他发明了一套检测驾驶员身材信息和操作信息的监控系统,能够根据平日里经常驾驶某辆车的人的身材信息、坐姿和动作,判别是原来的司机还是新来的人。如果某个偷车贼偷到了钥匙试图把车开走,那么该系统一旦发现这个人平时没见过,就会要求他输入密码,如果密码输入错误,汽车会完全关闭,不能启动。这种防盗方式和保护信息安全的方式异曲同工。
图5.17用大数据分析流程是否正常,左边为常规的流程,右边为异常的,可能是由黒客在操作