《数字银行安全体系构建》读书笔记
很开心可以在新的一年中,以这样一本书开场,联系业界,将现在的国家重点研发项目,不断改进,不断总结
《数字银行安全体系构建》
数字银行安全体系设计
安全体系的有效性
- 安全目标与方向的正确性
- 安全责任范围是否明确
- 安全体系的合理性与完备性
- 安全资源投入度与重点风险的匹配度
- 安全能力与风险的匹配度
- 安全能力覆盖率与持续有效性
CAP理论:一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availabitlity)和分区容错性(Partition tolerace)这三项中的两项
风险类型:已知风险和未知风险、存量风险和增量风险、软件风险和硬件风险、可控风险和不可控风险、外部攻击风险和内部威胁风险、有特征攻击风险和无特征攻击风险
风险阶段:事前安全威胁的识别、安全意识的提升、上线前的风险规避机制,上线后的安全防护、风险利用时的感知与应急止血,以及红蓝演练的持续检验,事后的溯源和司法打击
默认安全(上线前规避已知风险)
- 上线前规避风险在风险治理和成本上都最优
- 一切目标实体的变更都可产生安全风险
- 现实中大部分安全事件都是由一只安全风险导致的
- 默认安全体系由增量风险管控和存量风险治理组成:
增量风险管控:通常由不符合安全要求的需求、代码、策略、权限等引起,当实体的状态发生变化时,往往会伴随新风险的产生,如何在实体变更过程中识别、修复和抵御这些风险,以此目标为导向的一系列全面、整体的安全规范和措施就是默认安全机制的体现
存量风险治理:建立线上风险巡检能力,对已知的安全风险进行全天候巡检,指定风险处置标准流程,涵盖风险的发现、修复、验证等环节 - 引入安全风险的变更类型分为需求设计、应用迭代、网络资源、计算资源、存储资源、策略配置、人力资源
- 改变安全在研发生命周期中被动的局面:
- 第一时间知道业务变更
- 高效地发现变更中的安全风险
1)风险识别:业务场景、历史漏洞数据、安全风险扫描能力、安全防护能力构建风险矩阵图
2)风险修复
3)修复验证环节 - 在上线前默认集成全链路的安全防护能力
1)基础安全基线(存储资源的安全策略、镜像签名和容器加固)
2)接入层(HTTPS、WAF、办公网零信任、前端安全响应头)
3)运行时的可信纵深防御(RASP应用运行时的自我保护、链路加密、服务鉴权、容器应用可信、出口流量管控)
4)业务层(RDS人机识别系统、业务逻辑防护) - 上线前最后的准入管控
默认安全建设方案
安全资产建设
- 识别哪些资产需要防护、识别资产上存在的风险、对风险进行治理与防护,并度量整体资产风险水平
- 传统定义中的资产主要包括域名、IP、虚拟机、容器、物理机、负载均衡器、数据库、代码库
- 安全资产的粒度应该细化到什么程度呢?笔者认为应该细化到可以直接进入实质漏洞挖掘阶段的程度。如域名 IP 相关的 Web 应用或 RPC 服务,需要细化到有哪些接口地址;虚拟机、容器需要细化到有哪些常驻进程、开端口,以及有什么系统软件包、业务进程相关的依赖。
- 数据资产
- 数据资产盘点是风险治理的基石
(1)数据资产的范围
(2)数据资产的分类分级
(3)数据链路可视化 - 数据资产风险治理
(1)数据风险地图
(2)数据流动的合规管控
(3)支持安全威胁感知与响应运营
- 数据资产盘点是风险治理的基石
- 不可忽视的大数据平台类资产
(1)数据存储类的各种大数据计算集群(如hadoop)、机器学习相关的 GPU 集群,虽然底层硬件资源依然是基于物理机、虚拟机、容器构建等,但从安全角度,前面提到的细化资产的方法已经不再适用。因为业务流量完全体现不出来的细节,在机器内部也看不到可疑、暴露的端口服务,真正攻击存在于应用内或应用间的数据流转。
(2)安全风险依附于资产而存在,在这种新形态下也不为例外。可以着重加强代码库、镜像、供应链相关的收集能力,毕竟最终风险还是大概率会在研发的代码、镜像中的软件、供应链的依赖组件。 - 防护组件默认集成
- 防护默认集成
(1)可信纵深防御:只有预期内的业务行为才能被允许执行,非预期的业务行为均被阻断
(2)自动化接入:默认防护的目标是应用(关联的 VIP、容器等)上线前默认具备现有的安全防护能力,避免因防护能力未覆盖或防护不及时导致的入侵事件
- 安全准入
- 所谓准入,是指只有符合预期的变更才能够被允许在生产环境执行。符合预期可以理解为,变更经过安全评估、确认无风险或已知风险被修复、具备一定的未知风险防御能力。
- 设计了一套完整的 VIP 准入完整方案,包括
(1)产品研发:重点关注与端产品底层相关的基础安全能力,如协议的通信加密、加签、安全探针、设备指纹
(2)产品编译:重点关注编译阶段中需要引入的框架安全配置,特别是运行时防护产品
(3)产品打包产物:重点关注产品打包后的安全加固配置,如代码混淆、符号混淆、防注入、防动态调试等
- 所谓准入,是指只有符合预期的变更才能够被允许在生产环境执行。符合预期可以理解为,变更经过安全评估、确认无风险或已知风险被修复、具备一定的未知风险防御能力。
- 防护默认集成
默认安全治理应用实践
- 面临的软件供应链风险
- 信息安全风险:软件供应链攻击
- 内容安全风险:政治主张、恶意破坏性代码
- 质量及长期支持风险:软件产品得不到长期保障
- 知识产权风险
- 软件供应链产品可分为六部分,这里重点分析以下内容
1)日常办公使用的各类工具、软件
2)各类三方组件:开源组件(Fastjson、Log4j),外购SDK
3)各类三方软件:开源软件(Jenkins),外购软件
可信纵深防御概念及架构
《数字银行安全体系构建》读书笔记