您还未登录! 登录 | 注册 | 帮助  

您的位置: 首页 > 软件开发专栏 > 网络/安全 > 正文

数据安全在交付中的思考

发表于:2018-08-15 作者:杨璐 来源:51cto

2017年7月,Equifax用户数据泄露事件使得1亿4千300万个人信息(包括社会保障号码、出生日期、地址、驾照编号)和20万9千个用户的信用卡数据被盗。该事件直接导致1.43亿美国人的个人信息的破坏和泄露。CEO Richard Smith在数据泄露之后直接提出辞职,公司股价跌幅超过8%,市值蒸发35亿美元。

2016年9月,Yahoo宣布遭遇史上最严重的数据泄露,导致5亿用户的真实姓名、电邮地址、出生日期、电话号码的信息泄露。到了12月,新的数据泄露记录被打破,10亿账户数据被窃取,除了上述那些账户信息被盗外,连安全问题和答案也一起被盗。这两次的数据泄漏使得雅虎的售价降低了3亿5千万美元。

数据安全在交付中的思考

这些问题的原因距离我们并不遥远,Equifax将其数据泄露归咎于应用程序的安全问题,可能在于Java应用程序的开源Apache Struts框架中已知的安全漏洞,在这之前的数据泄露则很多来自SQL注入或者其他的业务逻辑漏洞。

伴随欧盟的通用数据保护条例和新的网络安全法的颁布,数据安全已经成为每个企业和IT从业者都必须要关注的一个话题。而我认为依赖于传统控制论基础上的主动防御和合规理论正在逐渐丧失其领导地位,要解决数据安全的问题,需要有一个场景化的方式,体系化的方案。接下来我们逐一解析。

重中之重的是数据安全的意识,意识是能力的基础,我们只有明确了这件事对于我们业务有价值之后,才能继续后面的方法和过程。上文中的数字已经说明,数据安全对于组织和个人来说都有价值且是必须的事情。Build Security In Our DNA, 我们需要不断增强我们在安全上的意识和理解。

在明确了意识在数据安全中的作用之后,我们需要去定义数据安全到底是什么,国际标准化组织(ISO)对计算机系统安全的定义是:为数据处理系统建立和采用的技术和管理的安全保护,保护计算机硬件、软件和数据不因偶然和恶意的原因遭到破坏、更改和泄露。由此计算机网络的安全可以理解为:通过采用各种技术和管理措施,使网络系统正常运行,从而确保网络数据的可用性、完整性和保密性。

数据安全在交付中的思考

狭义的数据安全是指直接围绕数据的防护技术,主要是指的是数据的访问控制,审计,加密,脱敏等。下面几个举措可以完善数据安全性在系统或者应用构建中的实践。在业务探索和系统设计的环节,我们需要建立以数据安全性为主的分析过程,下面几点需要重点关注一下。

首先,需要明确在当前场景下法律法规的约束和要求

本文以《网络安全法》中的数据安全要求为例。涉及到技术和管理两个方面,概括起来有如下几点:

  • 对数据访问的日志进行审计,且日志留存时间不低于六个月。
  • 对数据进行分类,将敏感数据和普通数据区别化处理。
  • 对重要的数据进行备份,容灾。(第21,34条)
  • 对重要数据进行加密(第21条,31条)
  • 对个人信息进行脱敏(第42条)

第二,需要结合数据安全目标和构建整个交付项目的数据安全评估体系

思路如下:

  • 了解场景,做影响性评估
  • 数据收集和数据处理的分析
  • 数据安全实现评估
  • 数据安全的验证和补救

第三,安全虽然现在已经逐渐和业务紧密结合,出现像态势感知、自适应安全等新的方式,但是从总体上来说,它还是来源于体系化的控制,其核心是识别风险,做出改变。

整体的业务风险我们需要一个框架来做诠释,这其中包括:

(1) 安全的策略和架构:数据安全在设立之初应该了解到组织对于数据安全的要求,明确哪些是敏感的,哪些是隐私数据,对待不同的数据资产,组织的态度是什么。

(2) 风险,业务连续性和合规:这是控制的方式和目标,在识别差异化之后,我们要了解一些业务上的风险,这部分可以用风险分析的方法了解到业务上的风险所产生的问题,结合与具体应用的场景,需要将风险和技术威胁结合起来

(3) 数据安全运维:这部分需要在运维或者DevOps阶段考虑到,由于数据本身有生命周期的概念,那作为运维人员,需要考虑更多来自数据完整性上的要求,需要在DevOps和运维环节定期备份数据,需要有如下的措施,第一,在生产环境中要防止机密数据的丢失,第二,需要保护和备份敏感数据。第三,需要能够通过脱敏或者其他措施屏蔽或者加密某些字段。第四,要满足个人数据隐私保护法规的要求,对于个人数据的部分进行删除和屏蔽。

(4) 数据的获取,存储,传输和接入。这是数据生命周期中的主体,也是数据保护的难点,这部分会是我们考虑的重点。

(5) 在数据获取方面我们需要关注所要处理的一些敏感数据,这些数据包括一些敏感的生产数据,知识产权,个人身份识别或受保护的信息。我们在做Discovery和Inception的过程中要处理这些不同的数据,将其分类和定义。过程大概如下,需要对元数据进行分类解析,包括PCI,PII,PHI等等,这些数据的分类和获取,需要经过客户或者用户的同意(注意:GDPR当中已经对这部分有明确的立法)。其次作为敏感的数据以及一些合规数据和日志,这部分的存取和处理,也需格外关注。第三,管理敏感数据的访问方式,谁授予访问,修改和共享敏感数据的权限需要被关注到,这其中包括对于系统用户的验证和授权,还包括对于用户的行为提供监控和审核。这部分在系统设计的时候需要重点考虑。

认证方面包括服务器和服务器之间的认证,客户端之间以及用户之间的认证。而在授权方需要对不同的阶段和用户进行响应的认证,在秘钥管理以及用户身份侧进行处理。比如,应用系统采用专用的登录控制模块,对登录用户进行身份标识和鉴别,具有用户身份唯一标识和鉴别信息复杂度检查功能,保证应用系统中不存在重复的用户身份标识,身份鉴别信息不易被冒用。应对同一个用户采用两种或两种以上组合鉴别技术实现用户身份鉴别。

(6) 在云计算环境中,安全问题的形势会变得特别严峻。数据安全和隐私保护是用户关注云技术的两个主要因素。尽管学术界和行业研究了许多关于云计算主题的技术,但数据安全和隐私保护对于政府,工业和商业中的云计算技术的未来发展变得越来越重要。数据安全和隐私保护问题与云架构中的硬件和软件相关。

最后,我想总结一下数据安全策略上的理解和认识,数据安全是通过完整性和机密性的控制来实现总体安全性上的目标,所采用的方案包括身份认证,访问授权和安全审计等措施,在用户,服务以及主机端完成的数据传输的一系列实践。