CWE 4.3:强化你的数据自我保护能力
摘要:如何通过软件自动的检查法规中涉及的数据保护, 新版的CWE 4.3 给出了一个解决途径。
1. 按照惯例,先说故事
用12月初在深圳参加的"全球C++及系统软件技术大会"里C++之父Bjarne讲的一个故事, 致敬一下这位大能。
由于疫情, Bjarne不能亲自来到会场, 只能通过视频的方式和大家沟通。 下面这张照片,是我在他在做"C++20 与C++的持续演化"的演讲时,拍摄的的一张照片.
演讲中,Bjarne回顾了C++的发展历程, 重点介绍了C++20的新特性。同时也坦言面对一个语言发展方向的各种选择时的不易, 更多的是需要平衡。 在报告的最后,讲述了"瓦萨号"的故事, 来说明对于C++新特性的发布的慎重。
- Be careful remember Vasal
- "瓦萨"号的沉没
- 瑞典瓦萨王朝(1523-1654)统治时期,瑞典是欧洲的强国之一。为了与劲敌丹麦、波兰对抗,称霸波罗的海,瑞典国王古斯塔夫·阿道夫斯二世要求建造一批新的战舰,并要求战舰航速要快、火力要强、装饰要华丽,只有这样才彰显瓦萨王朝的权力、财富和战斗力。1626年初,作为其中最大的战舰“瓦萨”号,在国王的亲自监督下正式开始建造。
- 在“瓦萨”号建造期间,他不断下令依照他的旨意改变设计和建造要求。比如在“瓦萨”号的骨架已经安装好的时候,他下令增加战舰的长度;
- 国王得知了丹麦建成双层炮舰的消息,于是他又决定,在原计划修建单层炮舰的“瓦萨”号增加一个枪械甲板,把它改建成“双层”炮舰。这样一来,“瓦萨”号便拥有了双排共64门舰炮,全长达到了69米,成了当时装备最齐全、武装程度最高的战船。
- “瓦萨”号进行的稳定性测试:让30个船员从船一端跑到另一端,以此检测船的摇动情况。试验中“瓦萨”号发生了危险的摇动,但对这个预警信号,建造师却视而不见,还是决定取消试验,准备航行。
- 1628年8月10日,斯德哥尔摩码头人头攒动,观看着堪称世界最顶级的“瓦萨”号战舰。但离岸还没来得及扬帆远航的“瓦萨”号在一阵大风浪过后,开始倾斜,接着又慢慢恢复平衡,但随即再一次朝右舷倾斜, 下层甲板在慢慢进水,舰体开始晃动下沉。就这样“瓦萨”号就在众目睽睽之下沉没了。“瓦萨”号首航仅仅10多分钟就结束了。
- “瓦萨”号上安置了太多的重炮,却没有足够的压舱物,导致战舰重心过高;以及首航前没有经过严格测试等等,都是造成“瓦萨”号沉没的原因。
这些年各种语言越来越成熟,Go、Rust都对C++的应用市场形成了不小的冲击,为此C++也在不断的调整发布节奏和内容。 但一旦在语言特性方向发生战略性的错误,很可能就会导致无法挽回的局面。
2. CWE 4.3的新视图
才写完话说CWE 4.2的新视图, CWE就又赶在2020年结束之前, 12月10号发布了CWE 4.3.
2.1. CWE-1340 CISQ 数据保护检测视图
在CWE 4.3 中, 又增加了一张非常有用的视图: CWE-1340 CISQ Data Protection Measures. 在话说CWE 4.2的新视图中, 我们介绍了CISQ的CWE-1305: CISQ Quality Measures (2020)视图, 也介绍了有关CISQ的一些信息, 这次又是一个CISQ的视图, 不禁让人有些惊奇。
- 下面是CWE-1340 CISQ 数据保护检测视图的具体内容:
- CWE-1340 CISQ 数据保护检测视图的节点分类信息汇总:
节点类型说明详见:话说CWE 4.2的新视图
2.2. CISQ自动源码数据保护检测工作组
CWE-1340 CISQ 数据保护检测视图 是CISQ的一个"自动源码数据保护检测(AUTOMATED SOURCE CODE MEASURE FOR DATA PROTECTION)"工作组,组织制定的,我们来看下这个工作组的一些主要信息。
- 工作目标
这个工作组创建的目的是为了, 根据一组相关的软件弱点(CWE), 创建一个自动源代码数据保护措施,该措施将用于支持企业和供应链在保护数据、机密信息、知识产权和隐私方面的需求。 - 参与人员
- Dr. Bill Curtis, CISQ的创立者;
- Synopsys和CAST两个工具厂商的专家;
- MITRE、CGI的几位专家;
- 来自诺斯罗普·格鲁曼(Northrop Grumman)一位专家。 这个公司是世界第三大军火商,世界上最大的雷达制造商和最大的海军船只制造商。我们熟悉的B-2隐形轰炸机、RQ-4全球鹰无人机、E2-C预警机等都是出自这个公司。
- 规范制定的机理
规范通过包含与数据泄漏(未经授权的访问可以读取/修改数据)相关的CWE, 来形成一个可以使用自动源代码检测的防范方法, 从而使数据保护措施成为一个可以落实到具体检测工具的保护规范. - 规范的关联性
标准与GDPR、CCPA和CMMC高度相关,重点关注寻求遵守与数据保护和隐私相关的监管指南的企业和软件弱点(CWE)与的相关性。许多组织为了接受与CMMC、GDPR、CCPA、ISO 27001、NIST SP 800-53 r5、NIST SP 800-171等相关的过程评估,在企业中对运行的系统、设备、传输数据的软件进行代码扫描,以发现是否存在数据泄漏,从而揭示与流程评估相关的数据保护/隐私控制是否得到了适当实施。 - 规范的适用范围
可以为软件开发、第三方软件的验收测试和审核、以及独立验证和校验(Independence Verification & Validation(IV&V))的用例。 - 规范的将来
作为后续工作,CISQ寻求使其与ISO/IEC 25000系列(25010软件产品质量特征)保持一致,以将数据保护指定为安全的子特征。
项目组是2020年5月开始工作,2020年12月向对对象管理组织(Object Management Group (OMG))提交了规范, 预计该措施将在2021年初成为OMG标准。OMG就是CISQ的背后的资助组织, 是一个国际性、开放成员、非营利性技术标准联盟。OMG标准由供应商,用户,学术机构和政府机构推动,OMG工作组针对各种技术和更广泛的行业制定企业集成标准。 可见这个规范刚刚完成制定(12月初),就立刻(12月10号)被纳入了CWE的新版本中了。
2.3. 建议的违规报告
在工作组的网站上还给出了一个建议的违规报告, 如果这些工具给出了些软件弱点(CWE)相关的缺陷, 则说明软件中存在未经授权访问以读取或修改数据的源地方,会存在数据泄漏或数据损坏的场景。 如果这些软件作为网络连接资产的一部分运行,则组织企业将面临不符合CMMC、GDPR、CCPA或HIPAA监管要求的风险。
- 报告中列举了违反以下规范的具体条目:
- NIST SP 800-171 Rev 2: 7 类, 20个规则;
- NIST SP 800-53: 7 类,19个规则;
- ISO/IEC 27001: 7 类,13个规则;
3. 主要涉及法规和规范
从规范的关联性我们可以知道,为了满足或支持企业和供应链在保护数据、机密信息、知识产权和隐私方面的需求,参考了目前业界主要的法规或标准中与数据保护相关的部分,并把这些条例、规则或内容,映射成了一个可以通过工具检测的软件弱点(CWE),从而实现对数据保护可实施的自动检测措施。下边我们对这些涉及的法规或规范做个介绍。
3.1. 隐私保护
3.1.1. GDPR
通用数据保护条例(General Data Protection Regulation (GDPR)),旨在协调整个欧洲的数据隐私法,以保护和授权所有欧盟公民数据隐私,并重塑整个地区的组织处理数据的方式隐私。 GDPR于2018年5月25日生效,为组织提供了有关如何处理个人数据的框架。适用于向欧盟 (EU) 民众提供商品和服务的组织,或收集并分析欧盟居民相关数据的组织。无论你或你的企业位于何处,都要遵守这些新规定。
GDPR 授予人们管理组织收集的个人数据的权限, 可通过数据主体请求 (Data subject requests(DSR)) 来行使这些权限。组织需要及时提供有关 DSR 和数据泄露的信息,并执行数据保护影响评估(Data Protection Impact Assessment (DPIA))。
- 个人数据
是指与已识别或可识别的自然人(“数据主体”)相关的任何信息;可识别的自然人是指可以直接或间接识别的人,尤其是通过引用诸如名称、识别号、位置数据、在线标识符或该自然人的身体、生理、遗传、精神、经济、文化或社会身份所特有的一个或多个因素。 - 个人数据泄露
是指导致传输、存储或以其他方式处理的个人数据遭到意外或非法破坏、丢失、更改、未经授权披露或访问的违反安全之事宜。 - 与应用程序安全性有关,并要求企业在其产品和服务的设计和开发过程中保护个人数据的GDPR章节为
- 第25条,通过设计和默认方式进行数据保护-要求“控制者应采取适当的技术和组织措施,以确保默认情况下仅处理处理每个特定目的所需的个人数据。”
- 第32条,处理的安全性-要求企业保护其系统和应用程序“免受意外或非法破坏、丢失、更改、未经授权披露或访问个人数据”。
3.1.2. CCPA
《California Consumer Privacy Act》, 简称《CCPA》。 加州是世界第五大经济体,与 GDPR 类似,CCPA 的影响范围是全球性的。 在2020年1月1日,在加利福尼亚州开展业务的公司或组织将必须遵守该州严格的新隐私法,该法律为每个加利福尼亚州居民建立了合法且可执行的隐私权,于2020年7月1日起正式实施。
- 营利性企业如果收集加州居民的个人信息,并满足以下任何一条,则需要合规:
- 年营业额超过2500万美元;
- 购买、获取、销售达到或超过5万个消费者、家庭和设备的信息;
- 超过50%的年度营收由销售消费者个人信息获得
- CCPA为加利福尼亚消费者的个人数据提供以下保护:
- 所有权:保护消费者有权告诉企业不要共享或出售个人信息的权利;
- 控制:提供消费者对收集到的有关他们的个人信息的控制权;
- 安全:要求企业负责保护个人信息。
3.1.3. GDPR vs CCPA
尽管CCPA的范围与GDPR有所不同,但它们都授予了消费者控制和否决其数据使用的相关权利。两项法规都要求公司安全地存储数据,对收集的个人数据类型保持透明,并管理消费者删除个人数据的请求(“被遗忘的权利”),这意味着能够从整个系统的所有系统中删除个人数据。相同之处包括:
- 透明度/披露义务;
- 消费者访问、删除和接收数据副本的权利;
- “服务提供商”的定义,它与 GDPR 定义具有类似合同义务的“处理者”的方式一样;
- “公司”的定义,它包含了 GDPR 对“控制者”的定义。
CCPA 中最大的差别是,准许选择不出售数据给第三方的这一核心要求(其中,“出售”广义定义为包含共享数据来换取有值对价的行为)。 与反对数据处理的广义 GDPR 权利相比,该项义务范围更窄且更具体,它包含此类型的“出售”,但并未特别局限于包含此类型的共享。 CCPA要求用户具有选择性退出的能力,而不是需要在收集个人身份信息(PII)之前获得明确同意的能力。
3.2. NIST Special Publication 800
SP800是美国NIST(National Institute of Standards and Technology)发布的一系列关于信息安全的指南(SP是Special Publications的缩写)。它们专门为美国联邦机构提供基线和框架,是联邦信息安全管理法案(FISMA)合规性的重要组成部分。
在NIST的标准系列文件中,虽然NIST SP并不作为正式法定标准,但在实际工作中,已经成为美国和国际安全界得到广泛认可的事实标准和权威指南。NIST SP800系列成为了指导美国信息安全管理建设的主要标准和参考资料。
大家重视这个框架有以下原因:
- 它比ISO 27002略为全面,因为它包括选择控制和评估安全性的过程(通过NIST SP 800-53A),以及修订版5中与隐私相关的特定控制,这使得NIST 800系列几乎成为一个现成的安全计划。
- 许多美国组织更喜欢使用NIST框架。向联邦机构提供服务的组织,必须遵守NIST SP 800-171,该标准与NIST SP 800-53紧密结合。使用NIST SP 800-53作为初步或扩展到800-171合规性,是合乎逻辑的步骤。
目前,NIST SP 800系列已经出版了近176个同信息安全相关的正式文件,形成了从计划、风险管理、安全意识培训和教育以及安全控制措施的一整套信息安全管理体系。
3.2.1. NIST SP800-53
2020/10/12, NIST SP 800-53:联邦信息系统和组织机构的安全和隐私控制(Security and Privacy Controls for Information Systems and Organizations)。
随着计算机信息系统和设备日益复杂,2017年美国防科学委员会(Defense Science Board(DSB))的网络威胁工作组提交的报告显示,对美国关键基础架构和支持任务必需的操作和公共和私营部门资产的信息系统中的漏洞对系统的威胁更大。因此迫切需要一种更加主动和系统的方法来应对美国的网络威胁,进一步加强国家在关键基础架构的每个部门中依赖的基础信息系统、组件产品和服务。 确保这些系统、组件和服务足够值得信赖,并提供必要的弹性来支持美国的经济和国家安全利益。
2005年,NIST SP800-53发布,采取了积极主动的系统方法来制定,并向广泛的公共和私营部门组织提供针对所有人的计算平台提供全面保护措施。这些计算机系统包括:通用计算系统、网络物理系统、基于云的系统、移动设备、物联网(IoT)设备、武器系统、空间系统、通信系统、环境控制系统、超级计算机和工业控制系统。这些保护措施包括实施安全和隐私控制,以保护组织的关键和必要操作和资产以及个人隐私。目标是使我们依赖的信息系统具有更高的抗渗透性,限制攻击发生时的破坏,使系统具有网络弹性和生存能力,并保护个人隐私。
NIST SP 800-53是一个独立的控制框架,为安全治理提供了全面的方法。它为信息系统和组织提供了安全和隐私控制的目录(catalog),以保护组织的运营和资产、个人、其他组织和国家免受各种威胁和风险的侵害,包括敌对攻击、人为错误、自然灾害、结构性威胁故障、外国情报实体和隐私风险。并有助于确保信息技术产品和依赖这些产品的系统具有足够的可信度。安全和隐私控制目录以及基于风险的控制选择过程的组合,可以帮助组织遵守既定的安全和隐私要求,为其信息系统获得足够的安全,并保护个人隐私。
- 这些控件是灵活且可自定义的,并作为组织范围内的风险管理过程的一部分而实施;
- 这些控件满足了从任务和业务需求、法律、行政命令、指令、法规、政策、标准和指南中得出的各种要求;
- 控件目录从功能的角度(即控件提供的功能和机制)和保证的角度(即控件提供的安全性或隐私功能的可信度)解决安全性和隐私问题;
- 控件独立于控件的使用过程。控制选择过程可以是:组织范围的风险管理过程、系统工程过程[SP 800-160-1],风险管理框架[SP 800-37]、网络安全框架[NIST CSF]或隐私框架[NIST PF];
- 可以根据许多因素来指导和告知控制选择标准,包括任务和业务需求、利益相关者保护需求、威胁,漏洞以及遵守联邦法律、行政命令、指令、法规、政策、标准和准则。
目前修订版本Rev5,是2020/10/12发布。
3.2.2. NIST SP800-171
NIST SP 800-171: 保护非联邦系统和组织中的受控非密信息(Protecting Controlled Unclassified Information in Non federal Systems and Organizations)。
为响应有关管理受控未分类信息 (Controlled Unclassified Information(CUI)) 的管理命令 13556,发布了 NIST SP 800-171,保护非 Federal 信息系统和组织中的受控未分类信息。 CUI 定义为数字和物理信息,由政府 (或代表其实体创建) 虽然未分类,但仍敏感且需要保护。
NIST SP 800-171是NIST SP 800-53的一个子集,与特定的过程要求一起。NIST SP 800-171在附录中包括了与NIST CSF和NIST SP 800-53的控制映射。NIST SP 800-171 最初于 2015 年 6 月发布,此后为了响应不断变化的网络威胁,已进行了多次更新。2020/02/21 发布Rev2。
它提供有关如何安全访问、传输 CUI 以及将 CUI 存储在非信息系统和组织的准则;其要求分为四个主要类别:
- 用于管理和保护的控件和过程;
- 监视和管理 IT 系统;
- 针对最终用户的清晰做法和过程;
- 技术和物理安全措施的实施。
3.3. 网络安全成熟度模型认证(CMMC)
美国国防部(The United States Department of Defense(US DoD)) 每年在都需要为美军进行多达$1.8万亿的巨量武器采购, 这些采购涉及30万个国防部国防工业基地(Defence Industry Base(DIB))供应商。这些采购活动是在各种不同的数字平台上完成的。如果这些DIB的网络系统收到攻击,则可能对DIB承包商带来经济影响,进而影响到国防部供应链中产品和服务的流动,并可能影响一线作战力量。
为了网络防御要求,于是出台了国防联邦采购要求补充(Defence Federal Acquisition Requirements Supplement (DFARS))。DFARS是一套全面的要求,列出了向美军采购和供应产品与服务的期望。定义了实施NIST(SP)800 – 171(当前修订版2)的必要性,其中详细介绍了NIST(SP)800-171的一系列网络安全实践保护受控未分类信息(Controlled Unclassified Information(CUI))。所有CUI类别均在美国国家档案局控制的未分类信息(CUI)注册表中进行了描述。 根据DFARS 252.204-7012的规定,DIB承包商及其分包商应自2017年12月31日起遵守NIST(SP)800 – 171规定。
但是这个一个要求并未完全满足确保国防部供应商已实施适当网络安全实践的要求。为了解决这个问题,国防部于2019年提出了DFARS正式案例– D041“战略评估和网络安全认证要求”。启动程序以实施一种方法来评估国防部承包商对NIST(SP)800 – 171的遵守情况以及对受控非保密信息(CUI)的保护。为此,在2019年5月底对合作的研究机构卡内基梅隆大学和约翰霍普金斯大学应用物理实验室有限责任公司提出了整合现有体系标准,开发网络安全成熟度模型认证(Cybersecurity Maturity Model Certification(CMMC))框架的要求,将要保护的信息数据类型和敏感性以及相关的威胁范围相结合,形成来自多个网络安全标准、框架和其他参考的成熟流程和网络安全最佳实践。
CMMC解决了DFARS的监督和保证的空白,CMMC计划将需要对DIB承包商进行独立的网络安全评估,然后才能完成适用的DoD合同。第三方评估机构(C3PAO)的认证和CMMC评估人员的认证。它将适用于所有30万家全球承包商,美国国防部将仅接受经过认可的C3PAO组织的CMMC评估,因此承包商将必须确认他们符合国防部在建议书(RFP)中定义的网络安全成熟度级别。
网络安全成熟度模型认证(CMMC)框架包含:
- 17个功能域,43个功能
- 跨五个级别的5个流程来衡量流程的成熟度;
- 跨五个级别的171个实践以衡量技术能力。
CMMC 成熟度过程使网络安全活动制度化,以确保它们是一致的、可重复的和高质量的。
- 成熟度等级过程描述:
- CMMC 1.0 与NIST SP800-171对应表
3.4. [ISO 27001]
信息安全管理要求ISO/IEC27001的前身为英国的BS7799标准,该标准由英国标准协会(BSI)于1995年2月提出,并于1995年5月修订而成的。1999年BSI重新修改了该标准。BS7799分为两个部分:
- BS7799-1,信息安全管理实施规则。第一部分对信息安全管理给出建议,供负责在其组织启动、实施或维护安全的人员使用;
- BS7799-2,信息安全管理体系规范。第二部分说明了建立、实施和文件化信息安全管理体系(ISMS)的要求,规定了根据独立组织的需要应实施安全控制的要求。
它提供了一套综合的、由信息安全最佳惯例组成的实施规则,其目的是作为确定工商业信息系统在大多数情况所需控制范围的参考基准,适用于大、中、小组织。
2000年12月,BS7799-1:1999《信息安全管理实施细则》通过了国际标准化组织ISO的认可,正式成为国际标准ISO/IEC 17799:2000《信息技术-信息安全管理实施细则》,后来该标准已升版为标准版。
规定了在组织范围内建立,实施,维护和持续改进信息安全管理系统的要求。 它还包括针对组织需求量身定制的信息安全风险评估和处理要求。 ISO/IEC 27001:2013中列出的要求是通用的,旨在适用于所有组织,无论类型,规模或性质如何。
该标准规定了一个组织建立、实施、运行、监视、评审、保持、改进信息安全管理体系的要求;它基于风险管理的思想,旨在通过持续改进的过程(一个基于“计划、执行、检查、行动”(PDCA 模型)使组织达到有效的信息安全。该标准使用了和 ISO 9001、ISO 14001 相同的管理体系过程模型,是一个用于认证和审核的标准。
- ISO27001 标准要求的ISMS 文件体系应该是一个层次化的体系,通常是由四个层次构成的:
- 信息安全手册:该手册由信息安全委员会负责制定和修改,是对信息安全管理体系框架的整体描述,以此表明确定范围内ISMS 是按照ISO27001 标准要求建立并运行的。信息安全手册包含各个一级文件。
- 一级文件:全组织范围内的信息安全方针,以及下属各个方面的策略方针等。一级文件至少包括(可能不限于此):信息安全方针风险评估报告适用性声明(SoA)
- 二级文件:各类程序文件。至少包括(可能不限于此):风险评估流程风险管理流程风险处理计划管理评审程序信息设备管理程序信息安全组织建设规定新设施管理程序内部审核程序第三方和外包管理规定信息资产管理规定工作环境安全管理规定介质处理与安全规定系统开发与维护程序业务连续性管理程序法律符合性管理规定信息系统安全img审计规定文件及材料控制程序安全事件处理流程。
- 三级文件:具体的作业指导书。描述了某项任务具体的操作步骤和方法,是对各个程序文件所规定的领域内工作的细化。
- 四级文件:各种记录文件,包括实施各项流程的记录成果。这些文件通常表现为记录表格,应该成为ISMS 得以持续运行的有力证据,由各个相关部门自行维护。
- ISO27001的3个内容:
- 14个控制领域
- 39个控制目标
- 133个控制措施
4. [总结]
- CWE-1340 CISQ 数据保护检测视图, GDPR、CCPA和CMMC高度相关,并重点寻求通过软件弱点(CWE)来遵守与数据保护和隐私相关的监管指南的企业的相关性;
- 代码扫描工具可以通过检测CWE-1340 CISQ 数据保护检测视图中对应的软件弱点(CWE), 从而发现系统或设备是否存在数据/隐私泄漏;
- 这样的扫描将揭示与流程评估相关的数据保护/隐私控制是否得到了适当实施;
- 这样的扫描可以满足CMMC、GDPR、CCPA、ISO 27001、NIST SP 800-53 r5、NIST SP 800-171等相关的过程评估;
- 这个的扫描可以实现工具对数据保护/隐私控制的自动化检测。
5. [参考]
- CISQ自动源码数据保护检测工作组
- General Data Protection Regulation
- California Consumer Privacy Act
- Cybersecurity Maturity Model Certification
- NIST.SP.800-53r5
- NIST.SP.800-171r2
- 2020-02-27 网络安全成熟度模型 (CMMC) 解读:美国防部网空防御能力的重要变革
本文分享自华为云社区《话说CWE 4.3的新视图 - 数据保护检查》,原文作者:Uncle_Tom 。