系统架构设计师-第18章-安全架构设计理论与实践-软考学习笔记

安全架构概述

信息的可用性、元略性、机密性、可控性和不可抵赖性等安全保障显得尤为重要,而满足这些诉求,离不开好的架构设计.

信息安全面临的威胁

常见的安全威胁有以下几种.

(1)信息泄露

(2) 破坏信息的元整性: 数据被非授极地进行增删、修改成破坏而受到损失.

(3) 拒绝服务.

(4) 非法使用(非授权协问):某一资源被某个非授权的人或以非授权的方式使用.

( 5) 窃听: 用各种可能的合法或非法的手段窃取系统中的信息资源和敏感信息.

(6) 业务流分析

(7) 假冒。

(8) 旁路控制: 攻击者利用系统的安全缺陷或安全性上的脆弱之处获得非授权的权利或特权。

(9) 授权侵犯: 被授权以某一目的使用某一系统或资源的某个人

(10) 特洛伊木马

(11)陷阱门:在某个系统或某个部件中设置了"机关",使得当提供特定的输入数据时,允许违反安全策略.

( 12 ) 抵赖:这是一种来自用户的攻雨,例如,否认自己曾经发布过的某条消息、伪造一份对方来信等。

( 13 )重放:所截获的某次合法的通信数据备份,出于非法的目的而被重新发送。

( 14 ) 计算机病毒:所谓计算机病毒,是一种在计算机系统运行过程巾能够实现传染和侵害的功能程序。一种病毒通常含有两个功能: 一种功能是对其他程序产生"感染".另外一种或者是引发损坏功能或者是一种植入攻击的能力。

(15)人员渎职:一个授权的人为了钱或利益、或由于粗心,将信息泄露给一个非授权的人。

(16) 媒体废弃:信息被从废弃的磁盘或打印过的存储介质中我得。

( 17 ) 物理侵入:侵入者通过绕过物理控制而获得对系统的访问。

(1 8) 窃取:重要的安全物品,如令j博或身份卡被盗。

(1 9) 业务欺骗:某一伪系统或系统部件欺骗合法的用户或系统自愿地放弃敏感信息。

安全架构的定义和范围

三道防线:安全架构、安全技术体系架构和审计架构

可用性(Availability )是指要防止系统的数据和资源丢失;

完整性(lntegrity )是指要防止系统的数据和资源在未经授权情况下被修改;

机密性( Confì.dentiality )是指要防止系统的数据和资源在未授权的情况下被披露。

与信息安全相关的国内外标准及组织

安全模型

信息系统的安余目标是控制和管理主体(含用户和进科)对农体(含数据和程序)的访问。

作为信息系统安全国标,就是要实现:

· 保护信息系统的可用性;

· 保护网络系统服务的连续性:

· 防范资源的非法访问及非授权访问:

· 防范入侵者的恶意攻击与破坏:

· 保护信息通过网上传输过程中的机密性、完整性:

· 防范病毒的侵害;

· 实现安全管理。

安全模型是准确地描述安全的重要方陌及其与系统行为的关系

安全策略是从安全角度为系统整体和构成它的组件提出基本的目标, 它是一个系统的基础规范, 使系统集成后评估它的基准。

• HRU: 访问控制矩阵模型(Harrison、Ruzzo 、Ullman) ;

• MAC: 强制访问控制模型( Mandatory Access Control) ;

• DAC: 自主访问控制模型( Discretionary Access Control) ;

• RBAC: 基于角色的访问控制模型(Role-Based Access Control)。

状态机模型

原理:

(1) 状态变盘的默认值必须安全;

(2) 用户试图使用变莹的默认值;

(3) 系统检查主体的身份验证:

(4) 系统确保变更不会使系统置于不安全状态;

(5) 系统允许变量值变更,发生状态改变(STATE CHANGE);

(6) 再重复执行(1) - ( 5) 步, 会导致另一次状态变化。

Bell-LaPadula 模型

Bell-LaPadula 模型的安全规则如下:

(1)简单安全规则C Simple Security Rule) : 安全级别低的主体不能读安全级别高的客体(No Read Up);

( 2) 星属性安全规则(Star Security Property) :安全级别高的主体不能往低级别的客体写(No Write Down);

(3)强星属性安全规则C Strong Star Security Prope时) : 不允许对另一级别进行读写;

(4) 自主安全规则( Discretionary Security Prope吗r) : 使用访问控制矩阵来定义说明自由存取控制。其存取控制体现在内容相关和上下文相关。

Biba模型

B iba 模型能够防止数据从低完整性级别流向高完整性级别,其安余规则如下:

(1 )星完整性规则(*-i ntegrity Axiom): 表示完整性级别低的主体不能对完整性级别高的客体写数据:

( 2) 简单完整性规则( Simp1e lntcgrity Axiom): 表示完整性级别高的主体不能从完整性级别低的客体读~数据:

(3)调用属性规则( lnvocation Property) :表示一个完整性级别低的主体不能从级别高的客体调用程序或服务。

Clark-Wilson模型

CWM 的主要特征是:

( 1 )采用SubjectIProgram /Object 三元素的组成方式。Subject 要访问Object 只能通过Program 进行;

( 2 ) 权限分离原则: 将要害功能分为有2 个或多个Subject 完成, 防止己授权用户进行未授权的修改:

(3)要求具有审计能力( Auditing ) 。

Chinese Wall模型

Chinese Wall模型的访问客体控制的安全规则如下:

( 1 )与主体曾经访问过的信息属于同一公司数据集合的伯息,即墙内信息可以访问;

(2) 属于一个完全不同的利益冲突组的可以访问:

(3)主体能够对一个客体进行写的前提是主体未对任何属于其他公司数据集进行过访问。

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

定理2: 在一个利鼓冲突组中, 一个主体最多只能访问一个公司数据集。

系统安全体系架构规划框架

安全技术体系架构是对组织机构信息技术系统的安全体系结构的整体描述。

安全技术体系架构

安全技术体系架构的目标是建立可持续改进的安全技术体系架构的能力

OSI参考模型和TCP/IP 参考模型将网络划分为物理、数据链路、网络、传输和应用等5 层

信息系统安全体系规划

信息系统安全体系主要是由技术体系、组织机构体系和管理体系三部分共同构成的。

信息系统安全规划框架

  1. 信息系统安全规划依托企业信息化战略规划

2 . 信息系统安全规划需要围绕技术安全、管理安全、组织安全考虑

  1. 信息系统安全规划以信息系统与信息资源的安全保护为核心

规划工作的四个方面:蓝图、现状、需求和措施

(1)对信息系统与信息资源的规划需要从信息化建设的蓝图入手,知道企业信息化发展策略的总体目标和各阶段的实施目标,制定出信息系统安全的发展目标。

(2) 对企业的信息化工作现状逝行整体的、综合、全面的分析,找出过去工作中的优势与不足。

(3)根据信息化建设的目标提出未来几年的需求,这个需求最好可以分解成若干个小的方面,以便于今后的实施与落实。

( 4 ) 要明确在实施工作阶段的具体措施与方法,提高规划工作的执行力度。

信息安全整体架构设计( WPD RRC 模型)

WPDRRC信息安全体系架构模型

WPDRRC ( Waring/Protect/Detect/React/Restore/Counterattack ) 信息安全模型是我国"八六三"信息安全专家组提出的适合中国国惰的信息系统安全保障体系建设模型。

保护( Protect) 、检测( Detect) 、反应( React ) 、恢挺( Restore) 的有机结合,称为PDRR 模型。

WPDRRC 模硝有6 个环节'和3 大要素。

6 个环节包括:预警、保护、检测、响应、恢复和反击,

3 大要素包括:人员、策略和技术。

信息、安全体系架构设计

信息系统安全设计重点考虑两个方面: 其一是系统安全保障体系; 其二是信息安全体系架构。

1 . 系统安全保障体系

安全保障体系是由安全服务、协议层次和系统单元等三个层面组成

  1. 信息安全体系架构

具体在安企控制系统,我们可以从物理安全、系统安全、网络安全、应用安全和管理安全等5 个方面开展分析和设计工作。

网络安全体系架构设计

OSI的安全体系架构概述

1.OSI 概述

OSI ( Open System Interconnection/Reference Mode, OSIIRM ) 是由国际化标准组织制定的开放式通信系统互联模型

OSI 安全体系结构提供以下内容。

(1)提供安全服务与有关安全机制在体系结构下的一般描述,这些服务和机制必须是为体系结构所配备的。

(2) 确定体系结构内部可以提供这些服务的位置。

(3)保证安全服务完全准确地得以配置,并且在信息系统的安全周期中一直维持,安全功能务必达到一定强度的要求。

2 . OSI 安全架构

OS I 开放系统~联安全体系的5类安全服务包括鉴别、访问控制、数据机密性、数据元整性和抗抵赖性.

多点技术防御、分层技术防御、支撑性基础设施

支撑性基础设施为网络、边界和计算环境中信息保障机制运行基础的支撑性基础设施,包括公钥基础设施以及检测和响应基础设施。

认证框架

鉴别( Authenticalion ) 的基本目的是防止其他实体占用和独立操作被鉴别实体的身份。

鉴别的方式宅要基于以下5 种.

( 1 ) 己知的,如一个秘密的口令。

( 2 ) 拥布的,如lC卡、令牌等。

(3)不改变的特性,如生物特征。

( 4 ) 相信可能的知三方建立的鉴别(递推)。

( 5 ) 环境( 如主机地址等) 。

鉴别服务分为以下阶段: 安装阶段、修改鉴别信息阶段、分发阶段、技取阶段、传i恙阶段、验证阶段、停活阶段、重新激活阶段、取消安装阶段。

访问控制框架

访问控制(Access Control) 决定开放系统环境中允许使用哪些资源、在什么地方适合阻止未授权访问的过程。

机密性框架

  1. 机密性概述

机密性(Confìdcntiality) 服务的目的是确保信息仅仅是对被授权有可用

  1. 机密性机制

完整性框架

完整性( Integrity)框架的目的是通过阻止威胁或探测威胁,保护可能遭到不同方式危害的数据完整性和数据相关属性完整性。

所谓完整性,就是数据不以未经授权方式进行改变或损毁的特征。

完整性机制的类型

(1) 阻止对媒体访问的机制。包括物理隔离的不受干扰的信道、路由控制、访问控制。

(2) 用以探测对数据或数据项序列的非授权修改的机制。

按照保护强度,完整性机制可分为

不作保护

对修改和创建的探测

对修改、创建、删除和重复的探测:

对修改和创建的探测并带恢复功能

对修改、创建、删除和重复的探测并带恢复功能。

抗抵赖框架

抗抵赖(Non-repudiation ) 服务包括证据的生成、验证和记录,以及在解决纠纷时随即进行的证据恢复和再次验证。

抗抵赖由4 个独立的阶段组成: 证据生成:证据传输、存储及恢复:证据验证和解决纠纷。

数据库系统的安全设计

数据库安全设计的评估标准

数据库的完整性设计

数据库完整性是指数据库中数据的正确性和相容性。

在实施数据库完整性设计时,需要把握以下基本原则:

( 1 ) 根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。

(2) 实体完整性约束、可用完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽盘应用。

(3)要慎用目前主流DBMS 都支持的触发器功能, 一方面出于触及器的性能开销较大; 另一方面, 触发器的多级触发难以控制, 容易发生错误, 非用不可时,最好使用Before 型活句级触发器。

(4) 在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、罗'IJ 名A 下画线等组合,使其易于识别和记忆,如CKC_EMP_REAL_ 附COMEEMPLOYEE 、PK EMPLOYEE 、CKT EMPLOYEE o 如果使用CASE 工具, 一般有默认的规则,可在此基础上修改使用。

(5 ) 要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。

( 6) 要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS 的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。

(7)应采用合适的CASE 工具来降低数据库设计各阶段的工作量。好的CASE 工只能够支持整个数据库的生命周期,这将使数据库设计人员的工作效率得到很大提高,同时也容易与用户沟通。

数据库完整性的作用

(1) 数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。

(2) 利用基于DBMS 的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的其余性,提高应用程序的运行效率。同时,基于DBMS 的完整性控制机制是集中管理的,因此比应用程序更容易实现数据库的完整性。

(3) 合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的效能

(4) 在应用软件的功能测试中, 完普的数据库完整性有助于尽早发现应用软件的错误。

( 5) 数据库完整性约束可分为6 类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束和关系级动态约束。

数据库完整性设计示例

基于DBMS 的数据库完整性设计大体分为以下几个阶段。

1 )需求分析阶段

  1. 概念结构设计阶段

3 )逻辑结构设计阶段

系统架构的脆弱性分析

安全架构的设计核心是采用各种防御手段确保系统不被破坏,

而系统的脆弱性分析是系统安全性的约一方面技术,即系统漏洞分析。

弱性分析主要是分析信息系统中产生脆弱性的根源、脆弱性可能造成的影响、如何利用脆弱性进行攻击、如何修补脆弱性、如何防止脆弱性被利用、如何探测目标系统的脆弱性、如何预测新的脆弱性的存在等一系列问题。

从技术角度而言,漏洞的来源主要有以下几个方面:

( 1 ) 软件设计时的瑕疵。

( 2 ) 软件实现中的弱点。

( 3 ) 软件本身的瑕疵。

( 4 ) 系统和网络的错误配置。

软件脆弱性

软件脆弱性有其自身的特点,主要包括4 个方面:

(1 )脆弱性是软件系统中隐藏的一个弱点, 本身不会引起危害, 但被利用后会产生严重的安全后果;

(2) 在软件开发过程中,自觉或不自觉引入的逻辑错误是大多数脆弱性的根本来源;

(3)与具体的系统环境密切相关,系统环境的任何差异都有可能导致不同的脆弱性问题:

(4) 旧的脆弱性得到修补或纠正的同时可能引入新的脆弱性,因此脆弱性问题会长期存在。

脆弱性的引入阶段:引入软件脆弱性的原因有:

(1)输入验证错误;

(2) 权限检查错误:

(3)操作序列化错误;

( 4 ) 边界检出错误;

( 5) 软件设计时的缺陷;

(6) 其他错误。

产生破坏效果节段:主要包括:

(1)非法执行代码;

(2) 非法修改目标对象:

(3) 访问数据对象;

( 4 ) 拒绝服务攻击。

修补阶段:主要包括:

(1)删除伪造实体(如TP 伪造、名字伪造等);

(2) 增加新的实体:

(3)写该实体不正确的位置;

(4) 其他情况。

软件脆弱性分析可从三个方面考虑:

(1) 分析软件故障现象, 分析故障的技术本质、总结脆弱性模式;

(2) 分析软件开发,发现安全管理和技术的薄弱环节,提高软件安全性:

(3) 分析软件使用,发现其脆弱性,采取相应措施,避免脆弱性转化为安全故障。

典型软件架构的脆弱性分析

软件脆弱性包括了软件设计脆弱性和软件结构脆弱性,软件架构的脆弱性是结构脆弱性的一种。

分层架构的脆弱性主要表现在两个方面:

(1)层问的脆弱性。一旦某个底层发生错误, 那么整个程序将会无法正常运行,如产生一些数据溢出, 空指针、空对象的安全性问题, 也有可能会得出错误的结果。

(2) 层间通信的脆弱性。

C/S 架构的脆弱性主要表现在以下几个方面:

(1)客户端软件的脆弱性。

(2) 网络开放性的脆弱性。

(3)网络协议的脆弱性。

B/S 架构的脆弱性主要表现在:系统如果使用HTTP 协议, B/S 架构相对C/S 架构而言更容易被病毒入侵,虽然最新的HTTP 协议在安全性方面有所提升,但还是弱于C/S .

事件驱动架构的脆弱性主要表现在:

( I )组件的脆弱性。

( 2 ) 织件间可交换数据的脆弱性。

(3) 组件间逻辑关系的脆弱性。事件架构使系统中各组件的逻辑关系变得更加复杂。

( 4 ) 事件驱动容易进入死循环,这是由编程逻辑决定的.

( 5 ) 高并发的脆弱性.

( 6) 固定流程的脆弱性.

MVC 架构的脆弱性主要点现在:

( 1) MVC 架构的复杂性带来脆弱性。

(2) 视图与控制器fllJ 紧窜连接的脆弱性。

(3)视图对模型数据的低效率访问的脆弱性

微内核架构的脆弱性主要表现在:

(1)微内核架构难以进行良好的整体化优化。

(2) 微内核系统的进程间通信开销也较单一内核系统要大得多。

(3)通信损失率高

微服务架构的脆弱性主要表现在:

(1) 开发人员需要处理分布式系统的复杂结构。

(2) 开发人员要设计服务之间的通信机制,通过写代码来处理消息传递中速度过慢或者不可用等局部实效问题。

(3)服务管理的复杂性,在生产环境巾要管理多个不同的服务实例,这意味着开发团队需要全局统筹。

安全架构设计案例分析

电子商务系统的安全性设计

(1)认证(Authentication) :验证用户是否可以获得访问权,认证信息包括用户名、用户密码和认证结果等。

(2) 授权(Authorization ) :授权用户可以使用哪些服务,授权包括服务类型及服务相关信息等。

(3)审计(Accounting) :记录用户使用网络资源的情况,用户IP 地址、MAC 地址掩码等。

RADI US 软件主要应用于宽带业务运营的支撑管理,是一个需要可靠运行且高安全级别的软件支撑系统。RADIUS 软件的设计还需要考虑一个重要的问题,即系统高性能与可扩展性。

RADDIUS 软件架构分为三个层面:协议逻辑层、业务逻辑层和数据逻辑层。

RADIUS 的功能,一是实际处理大量用户并发的能力,二是软件架构的可扩展性。负载均

衡是提高RADIUS 软件性能的有效方法,它主要完成以下任务。

(1)解决网络拥塞问题,就近提供服务,实现地理位置无关性。

(2) 为用户提供更好的访问质量。

(3)提高服务器响应速度。

(4) 提高服务器及其他资源的利用效率。

(5) 避免了网络关键部位出现单点失效。

基于混合云的工业安全架构设计

在设计基于混合云的安全生产管理系统中, 需要重点二号店、5 个方而的安全问题。设备安全、网络安全、控制安全、应用安全和数据安全。

以下是一个简单的安全架构设计案例:

背景信息:

假设我们正在为一家大型企业设计安全架构。该企业拥有数百个员工和多个部门,并处理大量敏感数据,包括客户数据、财务信息、知识产权等。

在我们的设计中,我们需要确保企业数据的保密性、完整性和可用性,同时也需要确保员工和客户可以方便地访问和使用所需的数据和系统。我们还需要考虑到可能的攻击类型和风险,并设计相应的防御和应对策略。最后,我们需要确保我们的架构符合政府和行业相关的安全法规和标准。

设计方案:

  1. 网络设计:企业内部网络分为多个子网,每个子网都有自己的防火墙和访问控制列表(ACL)。敏感数据存储在专用服务器上,这些服务器不可公开访问,只有特定的员工可以访问。所有网络设备都有最新的安全补丁和防病毒软件。

  2. 身份验证和访问控制:员工需要使用双重身份验证(例如使用密码和硬件令牌)才能进入系统。访问控制策略会限制员工对敏感数据的访问权限,并对员工行为进行审计和监控。

  3. 数据加密:所有敏感数据都会被加密存储和传输。可以使用对称加密和非对称加密来确保安全。

  4. 备份和恢复策略:数据备份会定期进行,并存储在远程数据中心中。备份数据也会加密。出现数据丢失或系统崩溃时,可以通过备份数据恢复系统。

  5. 应急响应:设立应急响应团队,在发生安全事件时采取相应的应对措施。可以使用安全信息和事件管理系统对事件进行跟踪和管理。

  6. 员工培训:企业将为员工提供关于保护敏感数据的培训,包括强密码的选择、社工攻击的防范、电子邮件和社交媒体的使用等。

结论:

以上是一个简单的安全架构设计案例。可以根据不同的企业需求和安全风险制定不同的设计方案。在设计时,需要充分考虑数据和系统的安全性、易用性和可扩展性。最后,需要对设计方案进行定期评估和审查,以确保其在不断变化的安全环境中保持有效。

相关推荐
oneouto6 分钟前
selenium学习笔记(二)
笔记·学习·selenium
sealaugh3211 分钟前
aws(学习笔记第十九课) 使用ECS和Fargate进行容器开发
笔记·学习·aws
炭烤玛卡巴卡38 分钟前
学习postman工具使用
学习·测试工具·postman
thesky1234561 小时前
活着就好20241224
学习·算法
蜗牛hb1 小时前
VMware Workstation虚拟机网络模式
开发语言·学习·php
汤姆和杰瑞在瑞士吃糯米粑粑1 小时前
【C++学习篇】AVL树
开发语言·c++·学习
虾球xz2 小时前
游戏引擎学习第58天
学习·游戏引擎
LuH11242 小时前
【论文阅读笔记】Scalable, Detailed and Mask-Free Universal Photometric Stereo
论文阅读·笔记
科技互联人生2 小时前
微服务常用的中间件及其用途
微服务·中间件·系统架构
奶香臭豆腐2 小时前
C++ —— 模板类具体化
开发语言·c++·学习