作者:王鹏程 胡辟砾
频繁爆发的数据泄漏问题
由于频发数据隐私事件,个人和政府对于数据隐私越发重视,根据今年两会新闻发布会的消息:全国人大常委会已将制定个人信息保护法列入本届立法规划。
前有GDPR,后有在路上的新法律,这个时代,作为个人我们应该对自己的数据隐私有什么样的期望,作为企业如何才能保证自己开发的App 能有效的保护用户的数据呢?
系统安全导致的数据泄漏
21世纪的第2个十年,随着技术的发展,我们的数据存储和处理能力有了长足的进步,随之而来的数据泄露问题,也有愈演愈烈的趋势。下面这张表展示了截止2018年8月主流外媒报道过的10大数据泄露事件( 趋势科技 Data Breaches 101 ):
Company/Organization | Number of Records Stolen | Date of Breach |
Yahoo | 3 billion | August 2013 |
Equifax | 145.5 million | July 2017 |
eBay | 145 million | May 2014 |
Heartland Payment Systems | 134 million | March 2008 |
Target | 110 million | December 2013 |
TJX Companies | 94 million | December 2006 |
JP Morgan & Chase | 83 million (76 million households and 7 million small businesses) | July 2014 |
Uber | 57 million | November 2017 |
U.S. Office of Personnel Management (OPM) | 22 million | Between 2012 and 2014 |
Timehop | 21 million | July 2018 |
能看得出来,即使是有钱有技术实力的大厂,对自己对外暴露的 API 做了规范,做了无数的渗透测试&防御,也不能避免“被数据泄露”。也正是由于是掌握了大量用户数据的大厂,数据泄露一旦发生必然“不同凡响” 。
But,Why???
想要了解其中缘由,要从黑客的攻击手法说起:
黑客的攻击手法
借用趋势科技的一张示意图,黑客攻击一般分为四个阶段:
I 调研
从网络、系统、人等多个角度寻找目标的漏洞,这方面的防御由于牵涉面太广,大部分组织都是以教育和自查为主;
II 攻击
这里可以大致分为两种方式
1. 「正门强攻」:针对基础设施的攻击,传统的防火墙主要防范的就是这类攻击。
2. 「歪门邪道」:指的是偏 “社会工程学” 的攻击手段,例如:邮件钓鱼、盗版软件放木马、假 WiFi 钓鱼、社交网络冒充,甚至肉身混进公司……如果是及其有价值的目标,更是不惜动用大量价值连城的 0Day 漏洞:
- 针对伊朗核设施的”震网APT”。
- 毒云藤(APT-C-01): 持续了11年,针对中国国防机构的攻击。
- 蓝宝菇(APT-C-12): 持续了8年,针对中国核工业和科研机构的攻击。
III 拖库
只要攻进公司办公网、甚至服务器,由于数据库的历史原因(后面会详说)数据库的地址、密码一般都是明文放在代码里的。即使没找到密码,直接把数据文件拷走就是。剩下的事情就是架桥铺路把有价值的数据回传。由于开发简单,适应性强,大部分涉及用户隐私的业务都采用DBMS(Database Management System,关系型数据库)来作为存储。所以,无论是 “正门强攻” 还是 “歪门邪道” 都剑指DBMS。
IV 匿迹
1. 各种数据泄露被曝光的都只是少部分,或者是攻击发生很久以后,数据被黑产逐层消化到价值殆尽才被公众所知;
2. 对于比较有价值目标,黑客会选择潜伏,不断的获取更有价值的数据;
3. 由于大部分的 IDS(Intrusion Detection System)本身也采用的是简单的文件存储或者普通数据库……
管理疏忽导致的数据泄漏
影响比较大的事件,莫过于 2018年3月 发生的「Facebook Cambridge Analytica数据泄露事件」。此次事件中「Cambridge Analytica」在 Facebook 知情的情况下收集了 8700万用户的数据。有分析指特朗普在2016年的美国大选中胜出或与此次泄密门有着诸多联系,而且泄密门背后又有通俄门的阴影。受该丑闻影响,当日 Facebook大跌7%,市值蒸发360多亿美元。
服务提供商怎么做
系统安全防护有一个原则:安防最佳切入点在整个系统架构收敛的点。
第一道防线
大部分的安全措施都集中在API Gateway也正是顺应这种思路自然而然的结果。
现在的App开发,包含了Web App、Android、iOS、Applet 等各种端的开发。为了开发效率和方便管理,一般都是后端为以上所有的 Client 端提供统一的API以供调用。由于各个开发者采用的技术栈的差别,开发出来的API 也是百花齐放。这也同时导致了各种没有足够安全考量的 API 成了数据泄露的重灾区。
绝大部分在API Gateway层面的通用防御机制(包括笔者曾经参与过开发的 “360网站卫士”)效果有限也正是由于协议层以及编码层的复杂性导致。
第二道防线
如果重新考虑现在后端开发的基本架构,我们可以发现:系统中另一个收敛的点就是数据库。
现有可堪大用的DBMS几乎都是上个世纪的产物。由于历史局限性,缺乏语句级别细粒度的权限控制。加上由于数据库本身的理论和工程难度,很久以来大家都是通过DB Proxy为首的增加中间件的方式在外围”缝缝补补”,例如:
- ProxySQL:MySQL 数据库领域著名厂商 Percona 主推的方案;
- Vitess:YouTube 从2011年就在做的方案,工程质量很高。现在 Go 语言的大部分 SQL 语法解析的库都和这个项目颇有渊源;
但即使是 Percona、Google 这样技术实力的大厂也没能让DB Proxy成为主流方案。究其原因,主要有如下几点:
- DB Proxy 方案由于很多执行步骤和数据库是重复的,对系统性能和稳定性有不容易估计的负面影响;
- DB Proxy 的初衷主要是解决数据库水平扩展的问题,解决了一部分问题,但引入了更多的问题;
第〇道防线
当「铜墙铁壁」筑起,看门人的钥匙愈发的烫手。如今,系统防守的技术已经非常成熟,参与系统的人,反而成为了「短板」。许多大规模的数据泄漏,最后都归结到人为的错误、或者管理上的失误,如 Facebook 的 「Cambridge Analytica」 事件。
Zuckerburg 承认在「Cambridge Analytica」事件发酵之前,Facebook 的团队对他们大规模收集用户数据的行为已经有了察觉,但没有引起足够的重视。随后在欧盟议会举行的「Cambridge Analytica」事件听证会开场白中,Zuckerburg 再次承认:
“目前清楚的是,在过去几年中,我们没能很好地阻止自己开发的工具被用来做坏事的行为。不论是假新闻事件、国外团体干涉总统选举事件、还是开发者滥用用户数据事件,我们没能履行好自己的职责。这明显是错误的,我在此进行道歉。”
但是公平的讲,Facebook 在保护用户隐私方面无论从意识还是技术上都是业界领先的水平。却还是没有避免悲剧的发生,这也促使数据安全问题从互联网从业者的事,变成了社会热点问题。
每个人的数据权利
霸道的用户条款
长期以来由于整个社会对于数据权利的漠视导致了,很多无耻的用户条款的诞生,下面是2017年某 App 的用户条款,大致意思为:
1. 你上传上来的视频、你的评论的所有权利都是我的,赚的钱也是我的;
2. 如果由于任何情况你给我惹麻烦了,你是要赔我钱的;
3. 亲爱的用户,注册本 App 相当于承认我是你爸爸,而且是唯一的爸爸。
数据所有权
数据作为这个时代的「新石油」,特别是集中存放的数据对黑客有着致命的吸引力,中国有句老话:“不怕贼偷,就怕贼惦记”。比起和黑客的功放游戏,更根本的问题是:
互联网创生的早期,极少有人意识到数据的价值,几乎所有的厂商都有意无意地通过诱导用户点击同意用户协议把我们的数据绑架,而且这个趋势正在向着更加集中的方向发展。
然而,在这波互联网浪潮中,可能是由于语言和政治的割裂导致欧洲大陆没有产生一个有影响力的互联网寡头。这反而使得欧盟在对于互联网隐私的思考中更偏向于站在普通用户的一方进行思考。GDPR 这样对于互联网厂商极为严苛的法律诞生于欧盟这样看来也是一个必然。
GDPR 的要求和局限
简单来说 GDPR 对于互联网厂商的要求有如下三点:
1. 用户要有对自己的数据会被如何使用的知情权;
2. 用户有被遗忘权有权要求删除自己在站点的所有数据;
3. 如有违反,就处罚上一年全球年营业额的4%,至少2000万欧元。
GDPR总体来说只是一个指导性的法规,对于厂商应该如何做,做到什么程度,没有给出细节的指导。
比如,知情权厂商应该对知情权执行到什么程度?由于数据被存储在互联网厂商控制的数据库中,如何发现和取证用户数据被滥用?
再比如,被遗忘权实际在执行的过程中会是一个及其困难的功能,2019年2月,Zuckerberg 在哈佛大学的研讨会上的发言就提及了这一点:
扎克伯格表示,使Facebook用户能够清除Facebook上的浏览历史数据的工具仍在开发中。 而且他承认,开发这种工具是复杂的,需要花费一段时间。
“信息渠道深入到各种不同的系统,”扎克伯格解释说。这里的意思是,Facebook从如此众多的地方收集如此多的数据,以至于清除这一切的记录变得比Facebook最初想象的要难得多。
香港的 Privacy Ordinance 现状和实践
在法律法规上,笔者认为做的比较好的是中国香港的 Privacy Ordinance,其核心准则是:数据使用和搜集的目的一致;用后即删。和欧盟的 GDPR 异曲同工,甚至更具有操作性,很值得我们去参考。
中国香港作为中国改革开放的窗口,在公民数据权利的探索和实践上也是很超前的,社会各界对于这方面的关注也相较大陆要高一些。早在 2013 年在香港的手机应用市场上线了一个软件名曰”起底你”,和现在大陆的”天眼查”、”企查查” 类似,都是通过汇集向公众开开放的数据,加以整理而成的能够查询工商注册、诉讼信息的 App。
后来由于遭到各种侵犯隐私的投诉而被各应用市场下架,开发者颇为忿忿不平。
随着技术的进步,本来没有被广泛关注的 Open Data 突然被摆在我们面前的时候,也是会让大众措手不及。但作为一个技术人,笔者还是相信,技术的进步最终会让每个人的数据权利得到更好的保障。
科技赋权的未来
现在被广泛使用的 AI(Artificial Intelligence),大致可以理解为已知函数的多组结果:
用各种方法尽量的求一个近似的,尽量让在统计上和 尽量接近。现在的互联网商业上广泛把这种技术用于向你推荐各种商品,也就是这样的一个方程:
(个人信息,购买记录,搜索记录,商品详情)=下单概率打分
然后把所有商品里 下单概率打分 最高的放到最好的位置上,这样你的购买行为在一定程度上就被「AI 预测」了。
基于同样的原理,「Cambridge Analytica」通过收集 8700万 用户的社交网络数据,就可以分析出每个人,对于各种 label 的好恶。举一个不太恰当但容易理解的例子:假设「Cambridge Analytica」受托提高 Trump 相关新闻的点赞率,策略是对每个人投放「定向新闻」,通过分析你是一个特别关注「平权运动」的人。那么就从新闻库里找出一些符合「Trump」& 「支持平权」的新闻,有意无意地在你的社交媒体 Timeline 中展现几次,这样从大的人群行为上就可能对支持率产生了一定的影响。
区块链技术的诞生和被广泛关注,给数据所有权的问题带来了一线转机。
用户重掌数据权利
举一个简单的例子:未来我们的个人数据,都可以存储在去中心化的云端数据库,像比特币一样,可以通过一个密钥完全的控制自己的数据。与之配合的可以制定一个非常具有可行性的数据使用规范,核心是要求厂商对于用户的数据严格执行限定用途、用后删除的原则。例如假设Facebook 是我们可信的厂商,遵循规范,我们可以给Facebook 一个我们授权仅可以读取我们姓名、年龄、朋友列表的密钥。同时,Facebook 对于我们数据的每次读取都会被记录,如果我们发现Facebook用我们的数据做了一些我们不希望的事情,可以随时吊销这个密钥并进行追责。由于用户完全掌握了自己的私人数据,用户的数据库公钥就成为了真正的「互联网 ID」。
数据流通
在数字时代,很多人都说数据是这个时代的「新石油」,但和石油不一样的是,数据只有流通起来,才能释放其中蕴藏的巨大价值。当前,仍有大量数据还沉睡在政府、企业、个人手中,数据的共享、开放、流通和应用程度还远远不够,距离最大程度发挥数据价值让全社会共享还存在巨大的鸿沟。大数据行业的创业公司或者研究机构最为头疼的事情莫过于没有数据,普通的用户可以通过收费的形式对这些研究机构进行数据授权。这样就可以形成一个双赢的局面,避免存储了大量我们数据的巨头的数据霸权。
结语
互联网数据权利的问题是一个需要社会认知、法规、技术一起来解决的问题,需要整个社会一起来推动解决。现在的互联网在这方面显得有些残缺不堪,我们坚信互联网应该不止于此。
作者介绍
王鹏程:电子科技大学 通信工程 2006级,曾就职于 百度、360、同程艺龙、第四范式。对服务端开发、后端安全、Android 底层、基础架构、AI 都只懂一点点。在构建 CovenantSQL:一个致力于改善用户互联网数据权利的去中心化数据库。
胡辟砾:电子科技大学 通信学院 2007级,香港浸会大学传理系一级讲师,长期关注大数据和区块链,探索传媒应用与教学。曾任新闻媒体 CTO、百度核心算法工程师等。公众号: pwords。
· 《起你底》發言人大控訴: https://unwire.hk/2013/08/13/do-not-evil-hk-issue/top-news/
· HK Privacy Ordinance: https://www.elegislation.gov.hk/hk/cap486
· Artificial Intelligence fuels business transformations by learning about and knowing users and contents- Capgemeni http://blog.else-corp.com/2017/04/artificial-intelligence-fuels-business-transformations-by-learning-about-and-knowing-users-and-contents-capgemeni/
·如何看待快手用戶協議中的霸王條款?https://www.getit01.com/p20180115165738442/
· APT 攻击事件
1. 针对伊朗核设施的”震网APT”。
2. 毒云藤(APT-C-01): 持续了11年,针对中国国防机构的攻击。
3. 蓝宝菇(APT-C-12): 持续了8年,针对中国核工业和科研机构的攻击。
· 去中心化的 SQL 数据库 CovenantSQL:https://covenantsql.io/