⬆︎
×
TOC
CHAT

系统架构设计理论与实践(7):安全架构

案例分析专题——安全架构

随着科技的发展,信息系统的安全受到诸多方面的威胁,设计信息系统安全架构需要从各个方面考虑,这是一项具有相当技术含量的工作。信息系统的安全跨越物理、网络、硬件、操作系统、软件、管理等诸多层面,是一个复杂的立体空间工程,为此业界组织了诸多机构,制定了诸多标准,也形成了不少设计方法和框架。

伴随多年的技术发展,网络安全政策法规和制度标准体系基本形成,关键信息基础设施安全保护体系和能力显著增强,数据安全治理和个人信息保护工作取得积极进展。在顶层设计框架下,数据与文件加密、数据完整性、通信安全、访问控制技术、抗攻击技术和安全评估与认证是主要的考查内容。

要点:

  • 安全架构概述 ⭐️⭐️
  • 安全模型 ⭐️⭐️⭐️
  • 信息安全整体架构设计
  • 网络安全体系架构设计
  • 区块链技术 ⭐️⭐️
  • 案例分析练习题

案例(常与安全篇一同出)、论文

1 信息安全面临的威胁

1.1 网络与信息安全风险类别

信息系统安全威胁的来源:物理环境、通信链路、网络系统、操作系统、应用系统、管理系统。

网络与信息安全风险类别可以分人为蓄意破坏(被动型攻击,主动型攻击)、灾害性攻击、系统故障、人员无意识行为等,详见网络攻击

1.2 常见的安全威胁

常见的威胁主要有:

  1. 信息泄露:信息被泄露或透露给某个非授权的实体。
  2. 破坏信息的完整性:数据被非授权地进行增删、修改或破坏而受到损失。
  3. 拒绝服务:对信息或其他资源的合法访问被无条件地阻止。
  4. 非法使用(非授权访问):某一资源被某个非授权的人或以非授权的方式使用。
  5. 窃听:用各种可能的合法或非法的手段窃取系统中的信息资源和敏感信息。如对通信线路中传输的信号进行搭线监听,或利用通信设备在工作过程中产生的电磁泄漏截取有用信息等。
  6. 业务流分析:通过对系统进行长期监听,利用统计分析方法对诸如通信频度、通信的信息流向、通信总量的变化等态势进行研究,从而发现有价值的信息和规律。
  7. 假冒:通过欺骗通信系统(或用户)达到非法用户冒充成为合法用户;或者特权小的用户冒充成特权大的用户的目的。黑客大多是采用假冒的方式进行攻击。
  8. 旁路控制:攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。【例】攻击者通过各种攻击手段发现原本应保密,但是却又暴露出来的一些系统“特性”。利用这些“特性”,攻击者就可以绕过防线守卫者侵入系统的内部。
  9. 授权侵犯:被授权以某一目的使用某一系统或资源的某个人,却将此权限用于其他非授权的目的。又称为“内部攻击”。
  10. 特洛伊木马:软件中含有一个察觉不出的或者无害的程序段,当它被执行时,会破坏用户的安全。这种应用程序称为特洛伊木马。
  11. 陷阱门:在某个系统或某个部件中设置了“机关”,使得当提供特定的输入数据时,允许违反安全策略。
  12. 抵赖:这是一种来自用户的攻击,例如,否认自己曾经发布过的某条消息、伪造一份对方来信等。
  13. 重放:所截获的某次合法的通信数据备份,出于非法的目的而被重新发送。
  14. 计算机病毒:在计算机系统运行过程中能够实现传染和侵害的功能程序。
  15. 人员渎职:一个授权的人为了钱或利益,或由于粗心,将信息泄露给一个非授权的人。
  16. 媒体废弃:信息被从废弃的磁盘或打印过的存储介质中获得。
  17. 物理侵入:入者通过绕过物理控制而获得对系统的访问。
  18. 窃取:重要的安全物品遭到窃取,如令牌或身份卡被盗。
  19. 业务欺骗:某一伪系统或系统部件欺骗合法的用户,或使系统自愿地放弃敏感信息。

1.3 信息系统安全目标

信息系统安全目标是控制和管理主体对客体的访问,从而实现:

  1. 保护系统可用性。
  2. 保护网络服务连续性。
  3. 防范非法非授权访问。
  4. 防范恶意攻击和破坏。
  5. 保护信息传输机密性和完整性。
  6. 防范病毒侵害。
  7. 实现安全管理。

2 安全体系结构的范围

安全架构的范围包括:

  1. 安全防线:产品安全架构、安全技术架构、审计架构。
  2. 安全架构特性:可用性、完整性、机密性。
  3. 安全技术架构:主要包括身份鉴别、访问控制、内容安全、冗余恢复、审计响应、恶意代码防范、密码技术。

3 安全模型 ⭐️⭐️⭐️

上读、下读、上写、下写:

  • 上读:低级别主体对高级别客体的读操作
  • 下读:高级别主体对低级别客体的读操作
  • 上写:低级别主体对高级别客体的写操作
  • 下写:高级别主体对低级别客体的写操作

“星”(Xing)规则——写(Xie)操作

安全模型(Security Model)的分类(可以交叉):

  • 基本模型:HRU(Harrison, Ruzzo, Ullman)
  • 机密型
    • 访问控制
      • MAC强制
        1. BLP
        2. Chinese Wall
      • DAC自主
      • RBAC角色
    • 信息流
  • 完整性
    1. Biba
    2. Clark Wilson

3.1 状态机模型

一种安全状态模型系统,总是从一个安全状态启动,并且在所有迁移中保持安全状态,只允许主体以和安全策略相一致的安全方式访问资源。

3.2 BLP

BLP(Bell-LaPadula):属于机密型模型,是符合军事安全策略的计算机安全模型。

安全规则:下读、上写

  1. 简单安全规则:安全级别低的主体不能读安全级别高的客体。——下读(不能上读)
  2. 星属性安全规则:安全级别高的主体不能往低级别的客体写。——上写(不能下写)
  3. 强星属性安全规则:不允许对另一级别进行读写。——同级别可读写(不能上下读写)
  4. 自主安全规则:使用访问控制矩阵来定义说明自由存取控制。

3.3 Biba

Biba:属于完整性模型,主要用于防止非授权修改系统信息,以保护系统的信息完整性。该模型同BLP模型类似,采用主体、客体、完整性级别描述安全策略要求。BiBa模型能够防止数据从低完整性级别流向高完整性级别。

安全规则:上读、下写

  1. 星完整性规则:表示完整性级别低的主体不能对完整性级别高的客体写数据。——下写(不能上写)
  2. 简单完整性规则:表示完整性级别高的主体不能从完整性级别低的客体读取数据。——上读(不能下读)
  3. 调用属性规则:表示一个完整性级别低的主体不能从级别高的客体调用程序或服务。——相同及以下级别可调用

相关定理:

  • 定理1:一个主体一旦访问过一个客体,则该主体只能访问位于同一公司数据集的客体或在不同利益组的客体。
  • 定理2:在一个利益冲突组中,一个主体最多只能访问一个公司数据集。

3.4 CWM

CWM模型(Clark-Wilson Model)将完整性目标、策略和机制融为一体,提出职责分离目标,应用完整性验证过程,实现了成型的事务处理机制,常用于银行系统。

CWM模型具有以下特征:

  1. 包含主体、程序、客体三元素,主体只能通过程序访问客体。
  2. 权限分离原则,功能可分为多主体,防止授权用户进行未授权修改。
  3. 具有审计能力。

3.5 Chinsese Wall

Chinese Wall是一种混合策略模型,应用于多边安全系统,防止多安全域存在潜在的冲突。该模型为投资银行设计,常见于金融领域。工作原理是通过自主访问控制(DAC)文择安全域,通过强制访问控制(MAC)完成特定安全域内的访问控制。

该安全策略的基础是客户访问的信息不会与当前他们可支配的信息产生冲突。

安全规则:

  1. 与主体曾经访问过的信息属于同一公司数据集合的信息,即墙内信息可以访问
  2. 属于完全不同的利益冲突组的可以访问
  3. 主体能够对一个客体进行的前提是主体未对任何属于其他公司数据集进行过访问

Chinese Wall图示:

CWALL


4 信息安全整体架构设计

4.1 WPDRRC信息安全模型

WPDRRC信息安全模型是我国“八六三”信息安全专家组提出的适合中国国情的信息系统安全保障体系建设模型,由PDRR等模型发展而来,新增了预警与反击。WPDRRC模型的内容(6大环节、3大要素)如下——

6个环节:

  1. 预警(Warning)
  2. 保护(Protection)
  3. 检测(Detection)
  4. 响应(Response)
  5. 恢复(Response)
  6. 反击(Counterattack)

3大要素:人员、策略、技术

各模型安全防范功能:

各模型安全防范功能

4.2 信息安全体系结构

具体可以从以下5个方面开展安全体系的架构设计工作:

  1. 物理安全(前提):包括环境安全、设备安全、媒体安全。
  2. 系统安全(基础):包括网络结构安全、操作系统安全、应用系统安全。
  3. 网络安全(关键):包括访问控制、通信保密、入侵检测、网络安全扫描、防病毒。
  4. 应用安全:包括资源共享、信息存储。
  5. 安全管理:包括健全的体制、管理平台、人员安全防范意识。

5 网络安全体系架构设计

5.1 开放系统互联安全体系结构(OSI/RM)

OSI/RM开放系统互联安全体系结构):GB/T 9387.2-1995给出了基于OSI参考模型的7层协议之上的信息安全体系结构。

OSI/RM信息安全架构图:

开放系统互联安全体系结构

安全服务与安全机制的对应关系:

安全服务与安全机制的对应关系

OSI定义了分层多点的安全技术体系架构,又叫深度防御安全架构,它通过以下3种方式将防御能力分布至整个信息系统中:

  1. 多点技术防御:通过网络和基础设施,边界防御(流量过滤、控制、如前检测),计算环境等方式进行防御。
  2. 分层技术防御:外部和内部边界使用嵌套防火墻,配合入侵检测进行防御。
  3. 支撑性基础设施:使用公钥基础设施以及检测和响应基础设施进行防御。

5.2 安全服务

5.2.1 认证框架

认证又称为鉴别(Authentication),其目的是防止其他实体占用和独立操作被鉴别实体的身份。

鉴别的主要方式:

  1. 已知的(口令)
  2. 拥有的(IC卡,令牌等)
  3. 不可变特征(生物特征)
  4. 受信第三方鉴别
  5. 环境(主机地址)

鉴别服务阶段:安装、修改鉴权信息、分发、获取、传送、验证、停活、重新激活、取消安装。

5.2.2 访问控制框架

访问控制(Access Control)可分为如下几种:

  1. 自主访问控制(Discretionary Access Control,DAC
  2. 访问控制列表(Access Control Lists,ACL)
  3. 强制访问控制(Mandatory Access Control,MAC
  4. 基于角色的访问控制(Role-Based Access Control,RBAC
  5. 基于任务的访问控制(Task-Based Access Control,TBAC)

当发起者请求对目标进行特殊访问时,访问控制管制设备(Access Control Enforcement Facilities,AEF)就通知问控制决策设备(Access Control Decision Facilities,ADF),ADF可以根据上下文信息(包括发起者的位置、访问时间或使用中的特殊通信路径)以及可能还有以前判决中保留下来的访问控制决策信息(Access Control Decision Information,ADI) 做出允许或禁止发起者试图对目标进行访问的判决。

5.2.3 机密性框架

机密性服务目的是确保信息仅仅是对被授权者可用。

机密性机制包括:

  1. 通过禁止访问提供机密性
  2. 通过加密提供机密性

5.2.4 完整性框架

完整性服务目的是组织威胁或探测威胁,保护数据及其相关属性的完整性。

完整性服务的分类:未授权的数据创建、数据创建、数据删除、数据重放

完整性机制类型:

  1. 阻止对媒体访问的机制:隔离,访问控制,路由控制
  2. 探测非授权修改的机制:数字签名,数据重复,数字指纹,消息序列号

5.2.5 抗抵赖框架

抗抵赖(Non-Repudiation)服务的目的是提供特定事件或行为的证据。

抗抵赖服务的5个阶段:证据生成、证据传输、存储及回复、证据验证、解决纠纷

主要方式:数字签名


6 数据库系统安全设计

相关阅读:数据库完整性约束数据库的安全性

6.1 数据库完整性设计原则

完整性设计原则具体包括:

  1. 依据完整性约束类型设计其实现的系统层次和方式,并考虑性能。
  2. 在保障性能的前提下,尽可能应用实体完整性约束和引用完整性约束。
  3. 慎用触发器。
  4. 制订并使用完整性约束命名规范。
  5. 测试数据库完整性,尽早排除冲突和性能隐患。
  6. 设有数据库设计团队,参与数据库工程全过程。
  7. 使用CASE(Computer Aided (or Assisted) Software Engineering,计算机辅助软件工程)工具,降低工作量,提高工作效率。

6.2 数据库完整性的作用

数据库完整性的作用体现在以下几个方面:

  1. 防止不合语义的数据入库。
  2. 降低开发复杂性,提高运行效率。
  3. 通过测试尽早发现缺陷。

7 系统架构脆弱性分析

7.1 系统架构脆弱性组成

系统架构脆弱性可至少分为以下几类:

  1. 物理装备脆弱性
  2. 软件脆弱性
  3. 人员管理脆弱性
  4. 规章制度脆弱性
  5. 安全策略脆弱性

7.2 典型架构的脆弱性表现

常见架构的脆弱性表现总结如下:

  1. 分层架构的脆弱性表现:
    • 层间脆弱性:一旦某个底层发生错误,那么整个程序将会无法正常运行。
    • 层间通信脆弱性:如在面向对象方法中,将会存在大量对象成员方法的调用(消息交互),这种层层传递,势必造成性能的下降。
  2. C/S架构的脆弱性表现:客户端脆弱性、网络开放性脆弱性、网络协议脆弱性。
  3. B/S架构的脆弱性表现:如果B/S架构使用的是HTTP协议,会更容易被病毒入侵。
  4. 事件驱动架构的脆弱性表现:组件脆弱性、组件间交换数据的脆弱性、组件间逻辑关系的脆弱性、事件驱动容易死循环、高并发脆弱性、固定流程脆弱性。
  5. MVC架构的脆弱性表现:(这些脆弱性促进了MVP、MVVM的产生)
    • 复杂性脆弱性:如一个简单的界面,如果严格遵循MVC方式,使得模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。
    • 视图与控制器连接紧密脆弱性:视图与控制器是相互分离但却是联系紧密的部件,如果没有控制器的存在,视图应用是有限的。反之亦然,这妨碍了它们的独立重用。
    • 视图对模型低效率访问脆弱性:依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问也将损害操作性能。
  6. 微内核架构的脆弱性表现:
    • 整体优化脆弱性:微内核系统的核心态只实现了最基本的系统操作,因此内核以外的外部程序之间的独立运行使得系统难以进行良好的整体优化。
    • 进程通信开销脆弱性:微内核系统的进程间通信开销也较单一内核系统要大得多。
    • 通信损失脆弱性:微内核把系统分为各个小的功能块,从而降低了设计难度,系统的维护与修改也容易,但带来的问题是通信效率的损失。
  7. 微服务架构的脆弱性表现:
    • 分布式结构复杂带来的脆弱性:开发人员需要处理分布式系统的复杂结构。
    • 服务间通信带来的脆弱性:开发人员要设计服务之间的通信机制,通过写代码来处理消息传递中速度过慢或者不可用等局部实效问题。
    • 服务管理复杂性带来的脆弱性:在生产环境中要管理多个不同的服务实例,这意味着开发团队需要全局统筹。

8 安全架构设计实践

8.1 远程认证拔号用户服务(RADIUS)

远程认证拔号用户服务(Remote Authentication Dial-In User Service, RADIUS)是应用最广泛的高安全级别认证、授权、审计协议(Authentication, Authorization, Accounting,AAA),具有高性能和高可扩展性,且可用多种协议实现。

RADIUS通常由协议逻辑层,业务逻辑层和数据逻辑层3层组成层次式架构:

  1. 协议逻辑层:起到分发处理功能,相当于转发引擎。
  2. 业务逻辑层:实现认证、授权、审计三种类型业务及其服务进程间的通信。
  3. 数据逻辑层:实现统一的数据访问代理池,降低数据库依赖,减少数据库压力,增强系统的数据库适应能力。

8.2 基于混合云的工业安全生产管理系统

混合云融合了公有云和私有云。在基于混合云的工业安全生产管理系统中,工厂内部的产品设计、数据共享、生产集成使用私有云实现。公有云则用于公司总部与智能工厂间的业务管理、协调和统计分析等。

整个生产管理系统架构采用层次式架构,分为设备层、控制层、设计/管理层、应用层,如下所示:

基于混合云的工业安全生产管理系统

  1. 设备层:包括智能工厂生产用设备,包括智能传感器、智能仪器仪表、工业机器人、其他生产设备。
  2. 控制层:包括智能设备控制用自动控制系统,包括采集与监视控制系统(Supervisory Control and Data Acquisition,SCADA)、分布式控制系统(Distributed Control System,DCS)、现场总线控制系统(Fieldbus Control System,FCS)、可编程控制器(Programmable Logic Controller,PLC)(内置编程程序)、人机接口 (Human Machine Interface,HMI),其他现场控制程序。
  3. 设计/管理层:包括智能工厂所有控制开发,业务控制和数据管理相关系统及其功能的集合,实现了数据集成和应用,包括制造执行系统(Manufacturing Execution System,MES)(很多企业称之为生产信息管理系统)、计算机辅助设计/工程/制造(CAD/CAE/CAM)、供应链管理(Supply Chain Management,SCM)、企业资源规划(ERP)、客户关系管理(Customer Relationship Management,CRM)、供应商关系管理(Supplier Relationship Management,SRM)、商业智能分析(Business Intelligence,BI)、产品生命周期管理(Product Life-Cycle Management,PLM)。
  4. 应用层:云平台上的信息处理,包括数据处理与管理、数据与行业应用相结合,如定制
    业务、协同业务、产品服务。

在设计基于混合云的工业安全生产管理系统时,需要考虑的安全问题有:设备安全、网络安全、控制安全、应用安全、数据安全。

8.3 区块链技术 ⭐️⭐️

区块链(Blockchain)的特点:

  • 去中心化:由于使用分布式核算和存储,不存在中心化的硬件或管理机构,任意节点的权利和义务都是均等的,系统中的数据块由整个系统中具有维护功能的节点来共同维护。
  • 开放性:系统是开放的,例如区块链上的【交易信息是公开的】,不过【账户身份信息是高度加密的】。
  • 自治性:区块链采用基于协商一致的规范和协议(比如一套公开透明的算法)使得整个系统中的所有节点能够在去信任的环境自由安全地交换数据,使得对“人”的信任改成了对机器的信任,任何人为的干预不起作用。
  • 安全性信息不可篡改):数据在多个结点存储了多份,篡改数据须修改51%结点的数据,相当困难。同时还有其它安全机制,例如:比特币的每笔交易都由付款人用私钥签名,证明确实是他同意向某人付款,其它人无法伪造。
  • 匿名性去信任):由于节点之间的交换遵循固定的算法,其数据交互是无需信任的(区块链中的程序规则会自行判断活动是否有效),因此交易对手无须通过公开身份的方式让对方对自己产生信任,对信用的累积非常有帮助。

区块链 ≠ 比特币!比特币底层采用了区块链技术,比特币交易在我国定性为非法运用

8.3.1 去中心化

区块链是一个分布式账本,一种特殊的分布式数据库(如下右图所示):

  1. 链表在多个结点存储没有中心结点。数据不一致时,以“少数服从多数”原则执行。
  2. 因此要篡改成功,除非篡改51%的结点。

去中心化

8.3.2 哈希加密/防篡改

每个区块通过本块哈希和所记录的上一块哈希串成一条链。(单链表)

哈希加密/防篡改

8.3.3 共识算法(博弈论)/全民记账

共识算法存在多种筛选方案:PoW(Proof of Work,工作量证明)、PoS(Proof of Stake,权益证明)、DPoS(Delegated Proof of Stake,股份授权证明机制)……

比特币常采用PoW(或PoS):争夺记账权 = 挖矿,本质是在尝试计算一个哈希碰撞。

方法(其一):计算出来的账单结点哈希值前13个字符为0,则符合规则,得到记账权。有一个结点计算出结果,则广播消息告知其它结点,其它结点更新数据。

广播后,其他结点要更新只需验证,而验证则简单的多。计算困难,但验证却很容易的例子:218903 = 哪两个质数的乘积457 * 479


9 案例分析练习

【例1】随着科技进步、社会发展,尤其是以计算机为代表的信息技术飞速发展,各种信息呈爆炸式发展。计算机及信息技术的应用领域在不断扩展,计算机在政府、企业、民生等各个领域中都得到越来越广泛的应用,安全问题也日益突显。近来火热的区块链技术的核心便是一系列的信息安全技术。
问题1(5分):
请从以下选项中选出与区块链相关的技术,最多选5个,多选不得分。
A. 对称加密;B. 非对称加密;C. 时间戳;D. 哈希函数;E. 数字信封;F. 数字证书;H. 二维表结构;I. 智能合约;J. CA认证;K. POS
问题2(8分):
( 1 )属于哈希算法,哈希算法作用包括( 2 )。
A. 3DES;B.PGP;C.MD5;D.RSA (2048);E. SHA;F. IDEA;G. 用于保障信息完整性;H. 用于保障信息可用性;I. 用于信息加密;J. 用于数字签名;K. 用于防篡改
问题3(12分):
某军区要架设一套内部文件安全传输系统,该文件以加密方式传输,支持最大2G的单个文件传输,为保障安全可靠性,发送者不可抵赖发送过的文件,若文件被第三方截获,第三方无法解密也无法篡改其内容。根据此需求,架构设计师王工设计了如下的安全架构:
安全综合
请用以下选项补充图中缺失部分:
(a)发送方公钥Pa;(b)发送方私钥Sa;(c)接收方公钥Pb;(d)接收方私钥Sb;(e)随机密钥K;(f)文件密文;(g)文件摘要
【解】
问题1:B、C、D、I、K
问题2:第1空为C、E,第2空为G、K
问题3:(1)为(e);(2)为(b);(3)为(a);(4)为(c);(5)为(d);(6)为(g)

【例2】访问控制是保障信息系统安全的主要策略之一,其主要任务是保证系统资源不被非法使用和非常规访问。访问控制规定了主体对客体访问的限制,并在身份认证的基础上,对用户提出的资源访问请求加以控制。
问题1(6分):
针对信息系统的访问控制包含哪三个基本要素?
问题2(7分):
BLP模型是一种强制访问控制模型,请问:
(1) BLP模型保证了信息的机密性还是完整性?
(2)BLP模型采用的访问控制策略是上读下写还是下读上写?
问题3(12分):
ISO安全体系结构包含的安全服务有:①鉴别服务;②访问控制服务;③数据保密性服务;④数据完整性服务;⑤抗否认性服务。请问:
(1)针对跨站伪造请求攻击可以采用哪种安全服务来解决或者缓解?
(2) 针对口令明文传输漏洞攻击可以采用哪种安全服务来解决或者缓解?
(3)针对签名伪造攻击可以采用哪种安全服务来解决或者缓解?
(4) 如果下载的软件被植入木马,可以采用哪种安全服务来进行解决或者缓解?
【解】
问题1:主体、客体、控制策略
问题2:(1)机密性;(2)下读上写。
问题3:(1)①;(2)③;(3)⑤;(4)④。

《系统架构设计理论与实践(7):安全架构》有2条评论

发表评论