软件架构师-第十二章 安全架构设计理论与实践
安全架构设计理论与实践
安全架构概述 ⭐⭐
网络与信息安全风险分类
- 人为蓄意破坏:
- 被动型攻击:以窃取信息为目的,包括网络监听、非法登录、信息截取。
- 主动型攻击:主动破坏或篡改系统与数据,如数据篡改、假冒身份、拒绝服务、重放攻击、散播病毒、主观抵赖。
- 灾害性攻击:由外部不可抗力引发,如水灾、火灾、地震、雷击、战争。
- 系统故障:因系统自身问题导致,包括硬件故障、软件故障、链路故障、供电故障。
- 人员无意识行为:因人为疏忽造成,如编程错误、操作错误、无意泄密。
攻击类型
- 被动攻击:以收集信息为主,破坏信息的保密性,不主动篡改或破坏数据。
- 主动攻击:包括中断(破坏可用性)、篡改(破坏完整性)、伪造(破坏真实性),主动干预或破坏系统与数据。
被动攻击的具体类型及描述
攻击名称 | 描述 |
---|---|
窃听(网络监听) | 用合法或非法手段窃取系统中的信息资源和敏感信息。 |
业务流分析 | 长期监听系统,通过统计通信频度、信息流向、通信总量等参数,发现有价值的信息和规律。 |
非法登录 | 部分资料将其归为被动攻击方式,通常指未经授权访问系统。 |
主动攻击的几种类型及其描述,具体内容如下:
攻击名称 | 描述 |
---|---|
假冒身份 | 非法用户冒充为合法用户,或特权小的用户冒充为特权大的用户。 |
抵赖 | 否认自己曾发布过的某条消息,或伪造一份对方来信等行为。 |
旁路控制(旁路攻击) | 在密码学中,绕过对加密算法的繁琐分析,利用密码算法硬件实现运算中泄露的信息(如执行时间、功耗、电磁辐射等),结合统计理论快速破解密码系统。 |
重放攻击 | 截获某次合法的通信数据拷贝,出于非法目的重新发送。添加【时间戳】可识别并应对此类攻击。 |
拒绝服务(DOS) | 破坏服务的【可用性】,无条件阻止对信息或其他资源的合法访问。 |
攻击名称 | 描述 |
---|---|
XSS 跨站脚本攻击 | 利用网页【开发时留下的漏洞】,注入恶意指令代码到网页。 |
CSRF 跨站请求伪造攻击 | 攻击者欺骗用户浏览器访问其曾认证过的网站并执行操作(如转账、购物等)。 |
缓冲区溢出攻击 | 利用【缓冲区溢出漏洞】实施攻击,此漏洞在操作系统和应用软件中广泛存在。 |
SQL 注入攻击 | 攻击者将 SQL 命令插入 Web 表单,诱使服务器执行恶意 SQL 命令。 - 攻击方式:恶意拼接查询、利用注释执行非法命令、传入非法参数、添加额外条件。 - 抵御方式:使用正则表达式、参数化过滤语句、检查用户输入合法性、加密用户相关数据、通过存储过程执行查询、使用专业漏洞扫描工具。 |
安全模型⭐⭐⭐
安全模型的分类
- 基本模型:HRU 模型,作为安全模型的基础框架。
- 机密性相关模型:
- 访问控制:
- MAC(强制访问控制):包括
- BLP 模型(Bell - LaPadula 模型)(确保信息机密性,控制信息流动)
- 它是符合军事安全策略的计算机安全模型,核心安全规则**(下读上写)**如下:
- 简单安全规则:安全级别低的主体不能读取安全级别高的客体,防止低级别主体获取高级别敏感信息。
- 星属性安全规则:安全级别高的主体不能向低级别客体写入信息,避免高级别信息泄露到低级别区域。
- 强星属性安全规则:不允许主体对另一级别的客体进行读写操作,强化级别隔离,确保信息流动的严格控制。
- 自主安全规则:通过访问控制矩阵定义自由存取控制,主体在矩阵允许范围内有一定自主访问权限。
- 它是符合军事安全策略的计算机安全模型,核心安全规则**(下读上写)**如下:
- Chinese Wall 模型(防止利益冲突,限制主体对客体的访问)。
- 安全策略的核心是确保主体访问的信息不与当前可支配信息产生冲突,主要用于防范利益冲突,常见于金融等领域。具体内容如下:
- 访问客体控制的安全规则:
- 主体可访问与曾经访问过的信息属于同一公司数据集合的信息(即 “墙内信息”)。
- 主体可访问属于完全不同利益冲突组的信息。
- 主体对某客体进行写操作的前提是未访问过其他公司数据集合(避免因多源访问导致信息冲突或泄露)。
- 定理:
- 定理 1:主体一旦访问过某客体,后续只能访问同一公司数据集合的客体,或不同利益冲突组的客体。
- 定理 2:在一个利益冲突组中,主体最多只能访问一个公司数据集合,强化对利益冲突的限制。
- 访问客体控制的安全规则:
- 安全策略的核心是确保主体访问的信息不与当前可支配信息产生冲突,主要用于防范利益冲突,常见于金融等领域。具体内容如下:
- BLP 模型(Bell - LaPadula 模型)(确保信息机密性,控制信息流动)
- DAC(自主访问控制):主体对客体的访问权限由主体自主决定。
- RBAC(角色基访问控制):通过角色分配权限,主体通过角色获得访问权限。
- MAC(强制访问控制):包括
- 信息流:关注信息在系统中的流动,确保机密信息不被非法泄露。
- 访问控制:
- 完整性相关模型:
- Biba 模型:防止非授权修改,确保信息完整性,与 BLP 模型相对,关注数据完整性而非机密性。
- 模型特点:与 BLP 模型类似,采用 “主体、客体、完整性级别” 描述安全策略,防止数据从低完整性级别流向高完整性级别。
- 安全规则(上读下写):
- 星完整性规则:完整性级别低的主体不能对完整性级别高的客体写入数据,避免低完整性数据污染高完整性客体。
- 简单完整性规则:完整性级别高的主体不能从完整性级别低的客体读取数据,防止低完整性数据干扰高完整性主体的操作。
- 调用属性规则:完整性级别低的主体不能从级别高的客体调用程序或服务,确保高完整性程序或服务不被低完整性主体滥用。
- Clark - Wilson 模型:通过认证机制、事务处理等确保数据完整性,适用于商业和工业应用
- Biba 模型:防止非授权修改,确保信息完整性,与 BLP 模型相对,关注数据完整性而非机密性。
信息安全整体架构设计
WPDPRRC 模型该模型由 6 个环节和 3 大要素构成:
- 6 个环节:
- 预警:提前发现潜在安全威胁,发出警报。
- 保护:采取措施(如加密、访问控制)保护系统与数据安全。
- 检测:通过技术手段监测系统,及时发现安全事件。
- 响应:针对安全事件采取应对措施,降低影响。
- 恢复:在受攻击后恢复系统正常运行,确保业务连续性。
- 反击:对攻击源进行追踪和反击,遏制进一步攻击。
这些环节涵盖了预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力,形成完整的安全防护链条。
- 3 大要素:
- 人员:安全工作的执行者,负责策略制定与技术实施。
- 策略:指导安全工作的规则与流程,确保行动有章可循。
- 技术:实现安全防护的手段(如防火墙、入侵检测),是落实策略的工具。
WPDPRRC 模型通过整合 6 个环节与 3 大要素,构建了全面的信息安全整体架构,提升系统的综合安全防护水平。
不同安全模型在预警、保护、检测、响应、恢复、反击和管理这 7 项安全防范功能上的支持情况,具体分析如下:
- PDR 模型:具备保护、检测、响应能力,无预警、恢复、反击及管理功能。
- PPDR 模型:具备保护、检测、响应能力,无预警、恢复、反击及管理功能。
- PDRR 模型:在 PDR 基础上增加恢复能力,无预警、反击及管理功能。
- MPDRR 模型:在 PDRR 基础上增加管理能力,无预警及反击功能。
- WPDPRRC 模型:全面覆盖预警、保护、检测、响应、恢复、反击、管理所有功能,是最完整的安全模型。
网络安全体系架构设计
安全服务与安全机制的对应关系:
- 鉴别服务:对应认证机制、数字签名机制。
- 访问控制服务:对应访问控制机制、路由控制。
- 数据机密性服务:对应加密机制、业务流填充机制。
- 数据完整性服务:对应数据完整性机制。
- 抗否认性服务:对应公证机制。
认证框架
- 鉴别的基本目的是防止其他实体冒用或独立操作被鉴别实体的身份。
- 鉴别的四种方式:(1)已知的;(2)拥有的;(3)不改变的特性;(4)依靠可靠第三方建立的鉴别。
- 鉴别信息类型:交换鉴别信息(AI)、申请鉴别信息、验证鉴别信息。
访问控制框架
- 基本访问控制功能示意图:
- 发起者:访问请求的发起实体,向 AEF 递交访问请求。
- AEF(访问执行功能):接收发起者的请求,一方面将请求呈递给 目标(被访问的资源或实体),另一方面向 ADF 提交判决请求。
- ADF(访问判决功能):对 AEF 的判决请求进行处理,做出是否允许访问的判决,并反馈给 AEF。
- 目标:接收 AEF 呈递的访问请求,其能否被访问取决于 ADF 的判决结果。
机密性框架 和完整性框架
机密性框架
- 目的:确保信息仅对被授权者可用。
- 机密性机制:
- 通过禁止访问提供机密性;
- 通过加密提供机密性(该要点用红笔标注突出)。
完整性框架
- 目的:通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性及数据相关属性完整性。
- 完整性机制类型:
- 阻止对媒体访问的机制;
- 用以探测对数据或数据项序列的非授权修改的机制。
抗抵赖框架
- 抗抵赖服务:包括证据的生成、验证和记录,以及在解决纠纷时进行的证据恢复和再次验证,旨在防止相关方对行为或事件的否认。
- 抗抵赖的四个阶段:
- 证据生成:创建与交易或行为相关的证据,作为后续处理的基础。
- 证据传输、存储及恢复:将生成的证据安全传输、妥善存储,并在需要时能够恢复证据以备使用。
- 证据验证:对证据的真实性、完整性进行检查,确保证据可靠。
- 解决纠纷:利用经过验证的证据,处理各方之间的争议,确保责任可追溯,防止抵赖。
小结
- 安全架构概述:
明确网络与信息安全风险的类型,包括人为蓄意破坏、灾害性攻击、系统故障和人员无意识行为等。 - 安全模型:
- 基本模型:HRU 模型。
- 机密性模型:BLP 模型、Chinese Wall(中国墙)模型、DAC(自主访问控制)、RBAC(角色 - 基于访问控制)和信息流模型。
- 完整性模型:Biba 模型和 Clark - Wilson 模型。
- 信息安全整体架构设计(WPDRRC 模型):
- 6 个环节:预警、保护、检测、响应、恢复、反击,对应网络安全能力为预警能力、保护能力、检测能力、响应能力、恢复能力和反击能力。
- 3 大要素:人员、策略和技术,是架构设计的关键组成部分。
- 网络安全体系架构设计:
- 涵盖开放系统互联安全体系结构、安全服务与安全机制的对应关系。
- 具体框架包括认证框架、访问控制框架、机密性框架、完整性框架和抗抵赖性框架。
区块链技术⭐⭐
区块链技术的特点
- 去中心化:采用分布式核算与存储,无中心化硬件或管理机构,节点权利义务均等,数据块由系统中具备维护功能的节点共同维护。
- 区块链的数据(链表)存储在多个结点,无中心结点。当数据不一致时,遵循 “少数服从多数” 原则。
- 若要篡改数据,需篡改超过 51% 的结点数据,这极大增加了篡改难度,保障了数据安全性。
- 开放性:系统开放,区块链上的交易信息公开,但账户身份信息高度加密。
- 自治性:基于协商一致的规范与协议(如公开透明的算法),使节点在去信任环境中安全交换数据,将对 “人” 的信任转为对机器的信任,排除人为干预。
- 安全性(信息不可篡改):数据在多个节点存储多份,篡改需修改 51% 以上节点的数据,难度极大。另如比特币交易通过私钥签名,确保交易不可伪造。
- 匿名性(去信任):节点交互遵循固定算法,数据交互无需信任(程序规则自行判断活动有效性),交易对手无需公开身份即可建立信任,利于信用累积。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 DIUDIU 小菜鸟!
评论