CISSP-D3安全架构与工程 - 1/2
2021-07-17 16:05:19 0 举报
AI智能生成
CISSP八大领域之安全架构与工程
作者其他创作
大纲/内容
一、安全工程概述和系统安全架构:D3-1~3
二、系统安全评估模型:D3-4~5
三、密码学基础:D3-6~9
四、密码学应用和相关攻击:D3-10~11
五、物理环境安全:D3-12~13
D3-1-使用安全设计原则实施和管理工程过程。
理解在系统开发阶段考虑安全的重要性
在每一个系统的开发阶段都应该考虑安全,程序员应该努力为他们开发的每一个应用
程序建立安全,并把这些安全提供给关键系统应用和那些处理敏感信息的应用软件。
在开发项目的早期阶段考虑安全是非常重要的, 因为它比将安全添加到现有系统中更
容易实现。
程序建立安全,并把这些安全提供给关键系统应用和那些处理敏感信息的应用软件。
在开发项目的早期阶段考虑安全是非常重要的, 因为它比将安全添加到现有系统中更
容易实现。
理解访问控制涉及到的两个实体
客体
是用户或进程想要访问的资源
主体
是请求访问资源的用户或进程
理解设计和构建系统理念
封闭式系统
封闭式系统被设计用于与较小范围内的其他系统协同工作, 通常所有系统都来自相同
的制造厂商。封闭式系统的标准一般是专有的, 通常不对外公开。但更为安全。
的制造厂商。封闭式系统的标准一般是专有的, 通常不对外公开。但更为安全。
开放式系统
开放式系统被设计为使用统一的行业标准。这些开放式系统比较容易与来自不同制
造厂商但支持相同标准的系统集成在一起。但更容易受到攻击。
造厂商但支持相同标准的系统集成在一起。但更容易受到攻击。
理解系统开发过程中运用的安全技术:
确保机密性、完整性和可用性的技术
确保机密性、完整性和可用性的技术
一般用于确保机密性、完整性和可用性的技术有:限制、界限和隔离。
限制
限制指的是软件设计人员使用进程限制,来约束程序的操作。简单来讲, 进程限制允
许进程只能在确定的内存地址和资源中,读取和写入数据。这就是常说的沙箱。操作
系统或其他一些安全组件不允许非法的读/写请求。如果进程试图执行的动作超出了它
们被授予的权限, 那么动作就会被拒绝, 并且系统还会采取进一步的行动, 例如记录
违法行为的日志。一些更高安全性级别的系统通常记录所有违规行为,以及通过某些
具体方式做出的响应。一般情况下, 违规的进程会被终止。限制可以在操作系统中进
行,例如通过进程隔离和保护, 也可通过限制应用程序或服务的使用来进行, 或通过
虚拟化或虚拟机解决方案来进行。
许进程只能在确定的内存地址和资源中,读取和写入数据。这就是常说的沙箱。操作
系统或其他一些安全组件不允许非法的读/写请求。如果进程试图执行的动作超出了它
们被授予的权限, 那么动作就会被拒绝, 并且系统还会采取进一步的行动, 例如记录
违法行为的日志。一些更高安全性级别的系统通常记录所有违规行为,以及通过某些
具体方式做出的响应。一般情况下, 违规的进程会被终止。限制可以在操作系统中进
行,例如通过进程隔离和保护, 也可通过限制应用程序或服务的使用来进行, 或通过
虚拟化或虚拟机解决方案来进行。
界限
界限指的是在系统上运行的每一个进程都被分配了一个授权级别。授权级别告知操作
系统进程可以执行哪些操作。在比较简单的系统中, 可能只存在两个授权级别,它们
是:用户和内核。授权级别告知操作系统该如何为进程设定界限。进程的界限由对
进程可以访问的内存和资源所设置的限制组成。进程在界限所划定的区域之内。
系统进程可以执行哪些操作。在比较简单的系统中, 可能只存在两个授权级别,它们
是:用户和内核。授权级别告知操作系统该如何为进程设定界限。进程的界限由对
进程可以访问的内存和资源所设置的限制组成。进程在界限所划定的区域之内。
隔离
隔离指的是当通过实施访问界限对进程进行限制时, 进程就运行在隔离状态中。进
程隔离能够确保任何行为只影响与隔离进程有关的内存和资源。隔离用来保护操作环
境、操作系统的内核和其他独立的应用程序。隔离是稳定操作系统的重要组成部分之
一。隔离能防止某个应用程序去访问仅属于另一个应用程序的内存或资源, 无论是好
意的还是恶意的。操作系统可以提供中间服务,例如剪切、粘贴,以及例如键盘、网
络接口和存储设备访问方面的资源共享 。
程隔离能够确保任何行为只影响与隔离进程有关的内存和资源。隔离用来保护操作环
境、操作系统的内核和其他独立的应用程序。隔离是稳定操作系统的重要组成部分之
一。隔离能防止某个应用程序去访问仅属于另一个应用程序的内存或资源, 无论是好
意的还是恶意的。操作系统可以提供中间服务,例如剪切、粘贴,以及例如键盘、网
络接口和存储设备访问方面的资源共享 。
访问控制
为了确保系统的安全性,必须只有经过授权的主体才允许访问客体。
目的:阻止授权或未经授权主体的未授权访问,从而确保数据的机密性和完整性。
目的:阻止授权或未经授权主体的未授权访问,从而确保数据的机密性和完整性。
强访问控制
自主访问控制
允许主体根据需要,定义访问客体的列表。
自主访问控制与强制访问控制的不同之处在于: 主体具有一些定义访问客体的能
力。在受限制的情况下, 自主访问控制允许主体根据需要,定义访问客体的列
表。这个访问控制列表作为动态的访问规则组, 并且主体能够对其进行修改。
强制访问控制和自主访问控制都限制主体对客体的访问。
力。在受限制的情况下, 自主访问控制允许主体根据需要,定义访问客体的列
表。这个访问控制列表作为动态的访问规则组, 并且主体能够对其进行修改。
强制访问控制和自主访问控制都限制主体对客体的访问。
信任与保证
安全性一旦被集成到设计中,就必须被计划、实现、测试、审计、评估、认证和最后认可。
可信系统
是所有保护机制都协同工作的系统,在维持稳定和安全的计算环境的同时,为许多类型的用户处理敏感数据。
保证
满足安全需求的可信度。保证必须被持续地维持、更新和重新验证。
D3-2-系统架构和可信计算基
了解计算机系统架构相关概念
系统架构描述了系统的主要组件,以及系统组件之间、系统与用户之间,以及系统与其它系统之间,如何相互交互。
从系统开发的全过程来看,架构位于最高层面。
抽象架构提供了“全景”目标,用来指导后面的设计和开发阶段。
术语“开发”是指系统的整个生命周期,包括规划、分析、设计、构建、测试、部署、维护和
退役共8个阶段。尽管许多人认为“开发”只是构建新系统这一过程的一部分,然而,实际上必
须考虑系统从“摇篮到坟墓”的整个生命周期。在此开发过程中,存在一个活动子集,涉及到
如何整合系统。“设计”阶段开始于架构工作,进一步再详细描述系统构建所需的一切。系统
架构创建和使用过程是不断发展的,变得更加规范和标准化。
退役共8个阶段。尽管许多人认为“开发”只是构建新系统这一过程的一部分,然而,实际上必
须考虑系统从“摇篮到坟墓”的整个生命周期。在此开发过程中,存在一个活动子集,涉及到
如何整合系统。“设计”阶段开始于架构工作,进一步再详细描述系统构建所需的一切。系统
架构创建和使用过程是不断发展的,变得更加规范和标准化。
理解系统安全架构概念
目标:安全策略。
安全策略是战略工具,指明了敏感信息和资源如何被管理和保护。它通过制定要完成什么样的安全机制等目标,来精确地标明应该达到什么样的安全级别。
主要决定着如何定义系统的架构和设计。安全策略是一个系统的基础规范,是系统建成后评估它的基准。
评估的目的是:确保在安全策略中提出的目标得以实现。
安全策略是战略工具,指明了敏感信息和资源如何被管理和保护。它通过制定要完成什么样的安全机制等目标,来精确地标明应该达到什么样的安全级别。
主要决定着如何定义系统的架构和设计。安全策略是一个系统的基础规范,是系统建成后评估它的基准。
评估的目的是:确保在安全策略中提出的目标得以实现。
可信计算机系统评价标准:Trusted Computer System Evaluation Criteria,
几乎为今天使用的所有系统提供了应该遵循的安全架构。
安全架构核心内容:
可信计算基
安全边界
引用监视器
安全内核
几乎为今天使用的所有系统提供了应该遵循的安全架构。
安全架构核心内容:
可信计算基
安全边界
引用监视器
安全内核
理解什么是可信计算基、安全边界、
引用监控、安全内核等概念
引用监控、安全内核等概念
可信计算基
(Trusted Computing Base, TCB)指系统内提供某类安全并实施系统安全策略的所有硬件、软件和固件的组合。
启用TCP,系统就拥有一条可信路径、一个可信外壳以及系统完整性检查功能。
TCB并不仅限于操作系统,因为一个计算机系统并不只是由操作系统组成。TCB还用于硬件、软件、组件和固件等多个组件。
安全边界
是划分可信与不可信的边界。安全边界之外的资源是不可信的资源,反之是可信的。这是一种假想的边界。
为了让系统处于一种安全和可信的状态,就必须开发精确的通信标准,以确保在TCB 内部的组件需要和TCB 外部的
组件进行通信时,这种类型的通信不会给系统带来不期望的安全危害。这种通信方法是通过接口来处理和控制的。
组件进行通信时,这种类型的通信不会给系统带来不期望的安全危害。这种通信方法是通过接口来处理和控制的。
引用监视器
定义了引用验证机制必须满足的设计要求,从而它能够正确执行系统型访问控制策略的规定。
是一个访问控制概念,而不是实际的物理概念,通常被称为“引用监控器概念”或“抽象机”
安全内核
位于TCB内的硬件、软件和固件组件组成,并且实现和实施引用监控器概念。
3个主要要求
必须为实施引用监控器概念的进程提供隔离,并且这些进程必须不被篡改。
针对每个访问企图,都必须调用安全内核,而且必须保证不回避调用。因此,
必须以一种完整而且简单牢靠的方式实现安全内核。
必须以一种完整而且简单牢靠的方式实现安全内核。
它必须足够小,以便能够完整地和全面地对其进行测试和验证。
D3-3-安全模型和实例
理解安全模型概念
通常以数学和分析的理念来表示
映射到系统的规范说明上
由编程人员通过编写代码开发出来
理解模型实例
BLP实例
Biba实例
Clark-Wilson模型实例
无干扰实例
无干扰(noninterference)模型是一种表达多层级安全属性的方法。
主要是确定在高安全等级的活动不会影响或干扰低安全级别的活动。
Brewer and Nash实例
D3-4系统安全评估模型
理解TCSEC的相关概念
1970年由美国国防科学委员会提出。1985年公布。主要为军用标准,延用至民用。
橘皮书论述的重点是通用的操作系统,为了使它的评判方法适用
于网络,NCSC于1987年出版了一系列有关可信计算机数据库、
可信计算机网络等的指南等(俗称彩虹系列)。
于网络,NCSC于1987年出版了一系列有关可信计算机数据库、
可信计算机网络等的指南等(俗称彩虹系列)。
根据采用的安全策略、系统所具备的安全功能将系统分为四类七个安全级别。
分级准则
TCSEC从网络安全的角度出发,解释了准则中的观点,从用户登录、授权管理、
访问控制、审计跟踪、隐通道分析、可信通道建立、安全检测、生命周期保障、
文本写作、用户指南均提出了规范性要求,并根据所采用的安全策略、系统所
具备的安全功能将系统分为四类七个安全级别。分级主要依据四个准则:安全
政策、可控性、保证能力、文档。将计算机系统的可信程度划分为D、C1、C2、
B1、B2、B3和A1 七个安全级别。
四个类分别为:
类别A,是指已验证保护, 这是最高的安全级别;类别B,是指强制性保护;类
别C,是指自主性保护;类别D,是指最小化保护, 提供用于那些被评估,但不
符合要求且属于其他类别的系统定级
访问控制、审计跟踪、隐通道分析、可信通道建立、安全检测、生命周期保障、
文本写作、用户指南均提出了规范性要求,并根据所采用的安全策略、系统所
具备的安全功能将系统分为四类七个安全级别。分级主要依据四个准则:安全
政策、可控性、保证能力、文档。将计算机系统的可信程度划分为D、C1、C2、
B1、B2、B3和A1 七个安全级别。
四个类分别为:
类别A,是指已验证保护, 这是最高的安全级别;类别B,是指强制性保护;类
别C,是指自主性保护;类别D,是指最小化保护, 提供用于那些被评估,但不
符合要求且属于其他类别的系统定级
了解ITSEC
欧洲多国安全评价方法的综合产物,军用,政府用和商用。
将安全概念分为功能需求与功能评估两部分
首次提出了信息安全的保密性、完整性、可用性的概念。
ITSEC将正在被评估的系统作为评估目标(Target Of Evaluation,TOE)。
功能性等级
保证等级
理解和掌握通用标准的概念和方法
CC(Common Criteria)表示通用准则,ISO将这个文档转换为名为ISO 15408
CC定义了作为评估信息技术产品和系统安全性的基础准则,全面地
考虑了与信息技术安全性有关的所有因素,与PDR(防护、检听、
反应)模型和现代动态安全概念相符合的,强调安全的假设、威胁
的、安全策略等安全需求的针对性,充分突出保护轮廓
考虑了与信息技术安全性有关的所有因素,与PDR(防护、检听、
反应)模型和现代动态安全概念相符合的,强调安全的假设、威胁
的、安全策略等安全需求的针对性,充分突出保护轮廓
仍强调把安全需求划分为安全功能需求和安全保证需求两个独立的
部分,根据安全保证需求定义安全产品的安全等级
部分,根据安全保证需求定义安全产品的安全等级
目标:
1. 增加购买者对已评估和已划分等级的IT 产品的安全性的信心。
2. 消除重复评估(如果某个国家、机构或验证组织对特定系统的评定等级和配置
遵循CC,那么其他国家、机构或验证组织就不需要进行重复的工作)。
遵循CC,那么其他国家、机构或验证组织就不需要进行重复的工作)。
3. 使安全评估和认证过程更有效益和效率。
4. 确保IT 产品的评估遵循高且一致性标准。
5. 促进评估,并且增强已评估和已划分等级的IT产品的可用性。
6. 评估TOE 的功能性(也就是系统的功能)和保证(也就是系统的被信任程度)。
两个关键元素
保护轮廓(PP),指定被评估目标(TOE)的安全需求和保护, 这也是客户考虑的安全要求或“希望达到的标准”。
安全目标(Security Targets, ST),指定了供应商在TOE 内构建的安全声明。
ST 被视为已实现的安全措施或供应商"提供的安全目标"。
将PP 与选定供应商的TOE 中的各种ST 进行比较, 最接近或最匹配的就是客户要购买的。
ST 被视为已实现的安全措施或供应商"提供的安全目标"。
将PP 与选定供应商的TOE 中的各种ST 进行比较, 最接近或最匹配的就是客户要购买的。
通用标准是一个框架,它包括用户指明的安全需求,供应商就如何满足这些需求做出的说明,以及验证这些说明的独立实验。
在通用准则模型中,对一件产品上进行评估时会给该产品指定一个评估保证级别(Evaluation AssuranceLevel,EAL)。
随着级别的升高,彻底和严格的测试中面向细节的任务也逐步增加。
通用准则有7个保证级别,其范围是从仅仅执行功能测试的EAL1,到执行彻底的测试并验证系统设计的EAL7。
在通用准则模型中,对一件产品上进行评估时会给该产品指定一个评估保证级别(Evaluation AssuranceLevel,EAL)。
随着级别的升高,彻底和严格的测试中面向细节的任务也逐步增加。
通用准则有7个保证级别,其范围是从仅仅执行功能测试的EAL1,到执行彻底的测试并验证系统设计的EAL7。
七个保证级别
• EAL1 功能测试
• EAL2 结构测试
• EAL3 系统地测试和检查
• EAL4 系统地设计、测试和复查
• EAL5 半正式地设计和测试
• EAL6 半正式地验证设计和测试
• EAL7 正式地验证设计和测试
• EAL2 结构测试
• EAL3 系统地测试和检查
• EAL4 系统地设计、测试和复查
• EAL5 半正式地设计和测试
• EAL6 半正式地验证设计和测试
• EAL7 正式地验证设计和测试
ISO/IEC15408 是国际标准,是评估CC框架下产品安全属性的基础。
它通常包括3部分:
它通常包括3部分:
ISO/IEC 15408-1 入门和通用评估模型
ISO/IEC 15408-1 介绍了CC评估模型的通用概念和准则。这部分定义术语、确定
TOE的核心概念、描述评估环境和必要的参与人员。它为PP提供了关键概念,
为安全目标提出了要求和指南。
TOE的核心概念、描述评估环境和必要的参与人员。它为PP提供了关键概念,
为安全目标提出了要求和指南。
ISO/IEC 15408-2 安全功能组件
ISO/IEC 15408-2 定义在评估过程中要评估的安全功能要求。包括符合多数安全
需求的一系列预定义的安全功能组件。这些要求按类别、属别和组件的层级结
构排列。它同样也为在没有预定义的安全功能组件存在时对于个性化安全要求
应如何规定提供了指南。
需求的一系列预定义的安全功能组件。这些要求按类别、属别和组件的层级结
构排列。它同样也为在没有预定义的安全功能组件存在时对于个性化安全要求
应如何规定提供了指南。
ISO/IEC 15408-3 安全保证组件
ISO/IEC 15408-3 定义了保证要求,也是按类别和组件的层级结构排列。这部分
概括了评估保证级别,这是考量TOE保证的标杆,为评估保护配置文件和安全目
标提供了标准。
概括了评估保证级别,这是考量TOE保证的标杆,为评估保护配置文件和安全目
标提供了标准。
D3-5一些对安全模型和架构的威胁
理解维护陷阱
维护陷阱(maintenance hook)是一种后门,是软件内只有开发
人员才知道和能够调用的指令,从而使他们能够方便地访问代码。
人员才知道和能够调用的指令,从而使他们能够方便地访问代码。
对策
使用主机入侵检测系统监视通过后门进入系统的攻击者。
使用文件系统加密来保护敏感信息。
实现审计,以检测任何类型的后门使用。
理解检验时间/使用时间攻击
检验时间/使用时间(TOC/TOU)攻击涉及系统完成某项任务所使用的一系列步骤。
这种攻击利用了多任务处理操作系统中发生的事件的时序依赖性。
这种攻击利用了多任务处理操作系统中发生的事件的时序依赖性。
竞争条件(race condition)是指两个不同的进程需要在同一个资源上执行其任务的情况。
为了避免TOC/TOU攻击,如果操作系统能够应用软件锁,那么最好在它执行“检查”任务时锁定将要使用的项。
D3-6-密码学定义与概念
了解密码学概念
加密、解密
明文、密文
密码系统
提供加密和解密的系统或产品成为密码系统。它由硬件组件和应用程序中的程
序代码构成。密码系统使用加密算法、密钥以及必要的软件组件和协议。算法
是一组被称为密码的规则,它规定如何加密和解密。
序代码构成。密码系统使用加密算法、密钥以及必要的软件组件和协议。算法
是一组被称为密码的规则,它规定如何加密和解密。
算法
密钥
密钥空间
了解Kerckhoffs(柯克霍夫)原则
Kerckhoffs于1883 年发表了一篇论文,指出一个密码系统
唯一需要保密的部分应当是密钥,算法应当公开
唯一需要保密的部分应当是密钥,算法应当公开
如果安全基于过多的秘密,那么就会有更多的脆弱性可供利用。
与当今流行的开源软件和非开源软件之间的争论基本是相似。
理解密码系统的强度
加密方法的强度源自算法的复杂程度、密钥的机密度、密钥的长度、
初始化向量以及它们如何在密码系统内协同工作
初始化向量以及它们如何在密码系统内协同工作
设计加密方法的目标是使破解过程过于昂贵或十分费时
密码系统强度也称为工作因数(work factor),即对攻击者破译一个密
码系统所付出的努力和资源进行估计。
码系统所付出的努力和资源进行估计。
使用何种强弱程度的保护机制,应该取决于被保护数据的敏感程度。
理解密码系统的服务
机密性:除了授权实体之外,其他实体无法理解提交的数据。
完整性:数据从创建到传输、存储都不会被未授权更改。
身份验证:对创建信息的用户或系统的身份进行验证。
授权:证明身份之后,向个体提供允许访问某些资源的密钥或密码
不可否认性:确保发送方无法否认发送过信息。
了解一次性密码本
它的加密方法如下:首先手上要有一本 一次性密码本 用以加密文件,接着将一
次性密码本里的字母,与被加密文件的字母给依序按某个事先约定的规定一一
相混,其中一个相混的作法是将字母指定数字(例如在英语中,将A至Z依序指定
为0至25),然后将一次性密码文本上的字母所代表的数字和被加密文件上相对
应的数字给相加,再除以该语言的字母数,假设是n(如英语为26),若就此得出
来的某个数字小于零,则将该小于零的数给加上n,如此便完成加密。解密过程则是翻过来。
次性密码本里的字母,与被加密文件的字母给依序按某个事先约定的规定一一
相混,其中一个相混的作法是将字母指定数字(例如在英语中,将A至Z依序指定
为0至25),然后将一次性密码文本上的字母所代表的数字和被加密文件上相对
应的数字给相加,再除以该语言的字母数,假设是n(如英语为26),若就此得出
来的某个数字小于零,则将该小于零的数给加上n,如此便完成加密。解密过程则是翻过来。
虽然一次性密码本的加密方式能够提供非常高的安全性,但由于它存在的所有
要求,因此在很多情况下并不实用。每对希望以这种方式通信的实体必须安全
接收密码本,并且密码本必须与实际消息一样长,或者比消息更长。这种密钥
管理可能难以实现,也可能需要比其价值更高的开销。密码本的传送过程也可
能遇到挑战,并且发送方和接收方必须保持完全同步才能使用相同的密码本。
要求,因此在很多情况下并不实用。每对希望以这种方式通信的实体必须安全
接收密码本,并且密码本必须与实际消息一样长,或者比消息更长。这种密钥
管理可能难以实现,也可能需要比其价值更高的开销。密码本的传送过程也可
能遇到挑战,并且发送方和接收方必须保持完全同步才能使用相同的密码本。
了解隐写术
隐写术(steganography)是一种将数据隐藏在另一种介质中以藏匿数据的方法,
这个方法过程为:首先.选择载体文件,接着,选择隐写术方法、然后选择一个
程序将消息隐藏在载体文件中,同时通过不同的通道与接收方交流选定的方法,
如果可能,将消息嵌入载体文件加密,最后选择普通介质来传输载体文件。
这个方法过程为:首先.选择载体文件,接着,选择隐写术方法、然后选择一个
程序将消息隐藏在载体文件中,同时通过不同的通道与接收方交流选定的方法,
如果可能,将消息嵌入载体文件加密,最后选择普通介质来传输载体文件。
隐写术将消息隐藏在图形、波形文件、文档或其他介质中,所以只有发送方和
接收方才能够看到消息。消息并未被加密,而是被隐藏。隐写术通过隐匿实现了安全性。
接收方才能够看到消息。消息并未被加密,而是被隐藏。隐写术通过隐匿实现了安全性。
了解密码算法
对称算法
发送发和接收方使用相同密钥来加密和解密
非对称算法
两个实体中的每个实例都具有不同的密钥
散列算法
将可变长的字符串或消息压缩变换成固定长度的值
0 条评论
下一页