数据安全架构设计与实战
上QQ阅读APP看书,第一时间看更新

前言

你一定听说过非常厉害的黑客,各种奇技淫巧,分分钟拖走大量数据!或入侵到目标内网,Get Shell、提升权限、拖走数据库!抑或根本不用进入内网,直接远程操作一番,就能窃取到大量数据,犹如探囊取物一般容易。

可是,站在黑客的对立面,作为防御的一方,公司频频遭遇入侵、网络攻击或数据泄露事件,一方面会面临巨大的业务损失,另一方面也会面临来自用户、媒体、监管层面的重重压力。

数据安全这是一个非常严峻的问题。数据泄露事件层出不穷,就算是安全建设得比较好的企业,也不能保证自己不出问题,况且在日常安全工作中,还面临着三大困境——资源有限、时间不够、能力不足,使得我们距离数据安全的目标还有不小的差距。

“资源有限”体现在企业在安全方面的投入往往不足,特别是在预防性安全建设、从源头开始安全建设的投入方面,更加缺乏。在有的产品团队,人力几乎全部投在业务方面,没有人对安全负责,产品发布上线后,也缺乏统一的安全增强基础设施(例如在统一的接入网关上实施强制身份认证),导致产品基本没有安全性可言。

“时间不够”是因为业务开发忙得不可开交,完成业务功能的时间都不够,哪里还有时间考虑安全呢?这也是为什么我们经常会发现有的JSON API接口根本就没有身份认证、授权、访问控制等机制,只要请求过来就返回数据。

“能力不足”体现在具备良好安全设计能力和良好开发能力的人员太少,基层开发人员普遍缺乏良好的安全实践和意识,写出来的应用频频出现高危漏洞。就算能够事先意识到安全问题,在实现上,安全解决方案也是五花八门,重复造轮子,且互不通用,往往问题多多,效率低下;就算发现了安全问题,然而牵一发而动全身,修改了问题还担心业务服务是否正常运转。

在几大困境面前,各产品团队往往寄希望于企业内安全团队的事后防御。殊不知,事后解决问题,也有诸多局限:

时间不等人,险情就是命令!当漏洞或事件报告过来的时候,无论是节假日,还是半夜时分,都需要立即启动应急响应,“三更起四更眠”屡见不鲜。数量不多时还可以承受,但长此以往,负责应急的同学身体也吃不消,需要不断招聘新人及启用岗位轮换机制。

依赖各种安全防御系统,没有从根本上解决问题,属于治标不治本,黑客经常能找到绕过安全防御系统的方法,就如同羸弱的身体失去了铠甲的保护。

事后修复很可能会影响业务连续性,即便产品团队已经知道问题出在哪里了,但是由于业务不能停,风险迟迟得不到修复,因此还可能引发更大的问题。

安全不是喊口号就能做好的。实际上,安全是一项系统性工程,需要方法论的指导,也需要实践的参考。

我们如何才能克服上述三大困境,更好地保护业务,防止数据泄露呢?本书尝试通过一套组合拳逐一化解:

通过安全架构方法论的引入,探讨如何从源头开始设计产品自身的安全架构,快速提升产品自身的安全能力,让产品(网络服务等)天然就具有免疫力,构建安全能力的第一道防线。

梳理安全技术体系架构,建立并完善安全领域的基础设施及各种支撑系统,让产品与安全基础设施分工协作,并对协作进行疏导(即“哪些应该交给产品自身来实现,哪些交给安全基础设施进行落地”),减少各业务在安全上的重复性建设和资源投入,避免重复造轮子,让业务聚焦到业务上去,节省业务团队在安全方面投入的时间。产品外部的安全能力,构成了第二道防线。

以数据安全的视角,一览企业数据安全治理的全貌,协助提升大家的架构性思维,站在全局看问题,了解数据安全与隐私保护治理实践。

总的来说,这是一本有关数据安全架构的技术性书籍,但也会涉猎数据安全治理的内容,目的在于让大家了解数据安全的全局,培养架构性思维模式,希望能给企业安全建设团队或有志于从事安全体系建设的读者一些建设性的参考。

内容简介

随着数据时代的到来,安全体系架构逐步由之前的“以网络为中心”(称之为网络安全)过渡到“以数据为中心”(称之为数据安全)。本书将使用数据安全这一概念,并以数据的安全收集或生成、安全使用、安全传输、安全存储、安全披露、安全流转与跟踪、安全销毁为目标,透视整个安全体系,进而将安全架构理念融入产品开发过程、安全技术体系及流程体系中,更好地为企业的安全目标服务。

我们将站在黑客的对立面,以防御的视角,系统性地介绍安全架构实践,共包含四个部分。

第一部分为安全架构的基础知识,为后续章节打好基础。

第二部分为产品安全架构,从源头开始设计产品自身的安全架构,提升产品的安全能力,内容包括:

安全架构5A方法论(即安全架构的5个核心要素,身份认证、授权、访问控制、审计、资产保护)。

产品(或应用系统)如何从源头设计数据安全(Security by Design)和隐私安全(Privacy by Design)的保障体系,防患于未然。

第三部分为安全技术体系架构,通过构建各种安全基础设施,增强产品的安全能力,内容包括:

建立和完善安全技术体系(包括安全防御基础设施、安全运维基础设施、安全工具与技术、安全组件与支持系统)。

安全架构设计的最佳实践案例。

第四部分为数据安全与隐私保护领域的体系化介绍,供读者了解数据安全与隐私保护的治理实践,内容包括:

数据安全治理,包括如何设定战略,组织、建立数据安全文件体系,以及安全运营、合规与风险管理实践等。

隐私保护治理,包括隐私保护基础、隐私保护技术、隐私保护治理实践等。

本书使用的源代码发布在https://github.com/zhyale/book1,欢迎读者在此提交问题或反馈意见。

安全理念

本书将使用如下安全理念:

“主动预防”胜于“事后补救”。

默认就需要安全,安全贯穿并融入产品的生命周期,尽可能地从源头改善安全(架构设计、开发、部署配置);对数据的保护,也不再是保护静态存储的数据,而是全生命周期的数据安全与隐私保护(包括数据的安全收集或生成、安全使用、安全传输、安全存储、安全披露、安全流转与跟踪、安全销毁等);在安全设计上,不依赖于广大员工的自觉性,而是尽量让大家不犯错误。

数据安全与隐私保护可以和业务双赢,数据安全与隐私保护不是妨碍业务的绊脚石,也可以成为助力业务腾飞的核心竞争力。只有真正从用户的立场出发,充分重视数据安全,尊重用户隐私,才能赢得市场的尊重。

在安全架构实践中,我们将采用基于身份的信任思维:默认不信任企业内部和外部的任何人、设备、系统,需基于身份认证和授权,执行以身份为中心的访问控制和资产保护。在涉及算法或理论细节时,我们将基于工程化及建设性思维:不纠缠产品或技术的理论细节,只考虑是否属于业界最佳实践,是否可以更好地用于安全建设,做建设性安全。

读者对象

本书主要面向安全领域的从业者、爱好者,特别是:

网络安全、数据安全从业人员;

希望提升产品安全性的应用开发人员;

各领域架构师;

有意进入安全行业、隐私保护行业的爱好者、学生。

致谢

感谢我所任职过的公司,在工作中让我有了练兵、成长、积累的机会,也感谢各位领导、同事、安全圈同行与各位朋友的帮助,他们包括但不限于:谭晓生@赛博英杰、李雨航@CSA、聂君(君哥的体历)@奇安信、王绍斌@亚马逊、蔡一兵@恒安嘉新、杨勇(coolc)@腾讯、赵彦(ayazero)@美团、吴翰清@阿里巴巴韦韬(Lenx)@百度、彭国军@WHU、董志强(killer)@腾讯、胡珀(lake2)@腾讯、郑斌(天明)@阿里巴巴、宋文宽@小米、方勇(包子)@腾讯、刘焱(兜哥)@百度、赵弼政(职业欠钱)@美团、马传雷(Flyh4t)@同盾、王珂、郑兴(sim)@腾讯、刘宁@腾讯、郭铁涛@腾讯、胡享梅(梅子)@腾讯(排名不分先后)以及一大批曾经一起奋战过的同事们(应公司要求不能列出名字和单位)。

感谢云安全联盟CSA大中华区主席、中国科学院云安全首席科学家李雨航为本书作序。

感谢资深网络安全专家、腾讯安全平台部总监胡珀为本书作序。

感谢编辑吴怡,为本书提出大量改进意见和建设性建议。感谢机械工业出版社的各位编辑、排版、设计人员。

感谢我的家人,是你们的支持,我才得以完成此书。