一、背景描述
二、正文
三、应用在开发生命周期中
四、应用在漏洞运营中
五、应用在数据生命周期中
六、应用到安全理念中
最近在准备CISSP的考试,在OSG的D2 资产安全里面有这么一句话感觉概括的挺好的(尽管我觉得里面所说的"后续操作都取决于分类"或许有些绝对)
资产安全领域的一个主要工作是根据信息对组织的价值进行分类。所有后续操作都取决于分类。例如,高度机密的数据需要严格的安全控制。相比之下,非机密数据使用较少的安全控制。
本文只是通过分享笔者此时片面的思考来引发大家的思考,抛砖引玉。
数据分类的必要性不应该仅仅是局限于数据安全之中,而是于整个企业安全体系的建设中。
假设我们制定了一下数据分类标准(当然这只是我参考CISSP的书中编写的,在实际情况中应该需要更加具体,且应该有示例),然后对数据进行了分类。
类别/级别
定义
Class 1
1)可以公开到外部的数据
2)不会对公司和个人造成不利影响的数据
Class 2
1)默认不可公开到外部的数据
2)内部全员均可(申请)查看的数据
2)未授权的泄漏可能会给公司或个人造成不利的影响
Class 3
1)默认不可公开到外部的数据
2)未授权的泄漏会给公司或个人造成不利的影响
Class 4
1)仅在公司内部使用的信息
2)法律法规不允许泄露的数据
3)未授权的泄漏会给公司财产、形象、名誉等带来严重损害
下面我们对分好类的数据根据不同的场景制定一些不同的安全需求。
根据项目涉及的数据级别,设置项目对应的级别。如果一个项目涉及C2、C3级别的数据,那么这个项目便应该设置为C3级别。
项目设计阶段:
1)C3、C4级的项目,需要做安全风险评估
2)C3、C4级的项目,需要做隐私风险评估
编码阶段:
1)C3、C4级的项目,需要安全人员做人工的白盒测试
2)所有级别的项目,需要做自动化的SAST
3)所有级别的项目,需要做自动化的SCA
测试阶段:
1)C3、C4级的项目,需要安全人员做人工的黑盒测试
2)C3、C4级的项目,需要安全人员做隐私风险评估
3)所有级别的项目,需要做自动化的DAST
4)所有级别的项目,需要做自动化的IAST
运维阶段:
1)C2、C3、C4级的项目,必需要接入到WAF中
根据应用程序涉及的数据级别,设置应用程序对应的级别。如果一个应用程序涉及C2、C3级别的数据,那么这个应用程序便应该设置为C3级别。
当一个操作系统上面运行这C3级的应用程序,那么这个系统便应该设置C3级别。
内部安全测试周期:
1)C4级的应用程序每个月完成一轮内部安全测试
2)C3级别的应用程序每个季度完成一轮内部安全测试
3)C3、C4级别的应用程序每个双季度完成一轮内部安全测试
外部安全测试周期 :
1)C3、C4级别的应用程序每个双季度完成一轮外部的渗透测试
漏洞定级:
1)访问控制类的漏洞(像为未授权访问、水平越权、垂直越权),依据涉及的数据最高等级设置漏洞原始等级。
2)权限类的漏洞(像数据库权限、管理后台权限、操作系统权限),依据涉及的数据库、管理后台、操作系统的等级设置漏洞原始等级。
漏洞修复周期:
1)C4级别的漏洞,需要在12个小时内完成修复
2)C3级别的漏洞,需要在7天内完成修复
2)C2级别的漏洞,需要在24天个内完成修复
漏洞举一反三:
1)C3、C4级别的漏洞,应该通过分析代码/与研发沟确定原因,以举一反三。
采集、使用、存储、传输、销毁
传输
1)涉及C2、C3、C4的数据应该使用https
2)涉及C3、C4的数据应该对数据进行加密
存储
1)涉及C3、C4的数据应该保证数据备份
2)涉及C4的数据应该使用加密存储
销毁
1)C4级的数据应该采用消磁、物理销毁这种可以完全销毁的方式
默认开放/拒绝原则
1)C1、C2级别的数据可以默认开放访问
2)C3、C4级别的数据应该默认拒绝访问
纵深防御理念
1)C3、C4级别的数据应该至少有3个不同维度的控制措施(管理/技术/物理、预防/检测/纠正),且必需覆盖预防、检测、纠正三个类型。
假设我们将一电商应用用户的订单信息设置为C3级别,那么在应用后台做的控制措施可能有:
1.1)管理类预防型:在申请查看用户订单的权限时,需要采用这样的流程,申请者申请 -> 上级领导审批 -> 数据管理员审批 -> 分配权限;
1.2)技术类预防型:程序拥有良好的身份标识、身份验证、授权机制;
1.3)技术类检测型:员工在查看用户订单应该记录相关的日志(应该包括时间、主体、客体、事件、结果这几个维度,例如账户san.li查看了订单id是23的信息,请求成功);
1.4)技术类纠正型:使用完整备份组合增量备份或差分备份。