CISSP 重点知识点总结-3-安全工程
安全工程
第 6 章 密码学和对称密钥算法
术语和基本概念
科学地涉及隐藏、伪装或加密信息 指软件、算法、协议、密钥和密钥管理功能的整体密码操作 **算法 Algorithm: ** 数学函数加密和解密过程 (数学运算) 输入密码算法运算(运算参数) 密码算法或其他安全措施(如密码)中密钥可能值的总数 打破保护措施所需的时间和精力(解决难度) 自然格式的新闻 (明文可读于人类) **密文 Ciphertext/Cryptogram:**明文加密后获得的信息。(人们无法理解其内容) 通过一个代码将消息转换为另一种格式 (为了某种规范,通常用于确保消息的完整性而非保密性) 编码的逆向过程 **加密 Encryption: ** 从明文到密文的过程 逆向过程系加密 替换另一个字母或字节的过程 (非原文) 以隐藏消息的过程重新安排明文顺序 (原文打乱顺序) 每轮加密过程中使用的密钥值形成 (使密文与密钥统计的关系更加复杂, 随机性替代 让明文中的每一个影响密文中的许多位,或者让密文中的每一个都受到明文中许多位的影响 (隐藏明文的统计特征, 随机性换位 即使密钥或明文有轻微变化, 密文也会发生重大变化. 这也是强散列算法的一个特点 在按顺序加密密文块时,将非保密二进制向量作为初始输入算法,引入附加密码方差,可提高安全性(增加破解难度) 立即处理每个加密或解密请求 加密/解密请求排队等待处理. 硬件设备和多处理器系统可用于加速加密 输入任意长度, 通过散列算法, 将输出转换为固定长度, 该输出为散列值 (输出固定, 输入不同,输出不同, 无法逆推) **密钥汇聚 Key Clustering: ** 不同的加密密钥从同一的明文信息生成相同的密文 试图破解密码技术(分析算法,破解密钥) 不同的信息散列值相同 原文(明文或加密后的密文)通过哈希算法得到散列值,散列值由发送者私钥加密得到。(完整性和耐久性) 电子文件,内含机构名称或个人姓名、公司地址、发放该证书的发证机构的数字签名、证书持有人的公钥、证书序号和到期日 **证书颁发机构(CA) Certificate Authority:**发放 、撤销和管理数字证书的权威机构 代表CA提供证书注册服务的机构应验证用户身份 一项保留证据的安全服务使数据的发送者和接收者不能否认他们参与了所涉及的通信(分为原始不可靠和不可靠接收) 同一密钥用于加密和解密 使用不同的密钥进行加密和解密加密和解密。公钥可以交换,私钥永远自己持有)。
-
密码学的目标
机密性, 完整性, 身份验证(真实性), 不可否认性(抵抗)
-
密码学概念
- Cryptology(密码学) : Cryptography(密码术) Cryptanalysis(密码分析/密码破译)
- : 明文与密文的关系尽可能复杂,一个明文位会影响几个密文位
- 混淆 Confusion : 与密钥的关系尽可能复杂。密钥很难通过改变明文来确定。
现代密码学
对称密钥算法 : 秘密密钥, 密钥共享 非对称密钥算法 : 公开密钥(公钥公开), 私钥不公开 散列算法(哈希算法):
对称密码技术
对称密码技术:发件人和收件人使用单个密钥 ,该密钥用于加密 ,也用于解密 ,称为机密钥(也称为对称密钥或会话密钥) ), 提供信息机密性 (无密钥信息无法解密), 完整性 (不能解密改变的信息)服务. 对称密码学又称: 单钥密码学、秘密密码学、会话密码学、私钥密码学、共享密钥密码学
- DES (数据加密标准) Lucifer ,作为 NIST 对称加密标准; 64 位(有效位 56 位、校验 8 位),分组算法
- 3DES : 128 位,分组算法
- IDEA (国际数据加密算法): 128 位,比 DES 快,分组算法
- Blowfish : 32-448 位、算法公开、分组算法
- **RC4 :**密钥长度可变 (破解不安全)
- RC5 :分组密码,密钥长度可变,最大 2048 位
- Rijndael : 128 位 /196 位 /256 位
- DES 升级版,算法出自 Rinjindael
- Safer :分组算法
- Skipjack :分组算法
-
优点
用户只需要记住一个 密钥可用于加密和解密, 与,加密解密的,, ,,**适用于加密海量数据 **
-
缺点
如果 ,密钥的安全性会丧失, 特别是在电子商务环境中,当客户是未知的、不可信的实体时,如何安全地获取密钥成为一个大问题(), 如果用户有更多的密钥管理问题()
-
1997年NIST开始征集AES要求分组算法支持128、192和256密钥长度 最终决斗的五个算法是
- MARS:IBM设计
- RC6:RSA设计 (分组),
- Serpent:Ross Anderson等设计
- Twofish: Bruce Schneier 灯设计
- Rijindael:Joan Daemen和Vincent Rijmen设计 最终 Rijindael中选 ,它支持密钥和分组 128、192、256位
- 128位分租,10轮运算
- 192位分组,12轮运算
- 26位分组,14轮运算
-
是RSA三人组中的头Ronald Rivest在1987年设计的密钥长度可变( 8-2048位 )的 流加密 算法簇。之所以称其为簇,是由于其核心部分的S-box长度可为任意,但一般为256字节。该算法的速度可以达到DES加密的10倍左右,且具有很高级别的非线性。典型 应用于SSL/TLS, 802.11 WEP 协议.
-
其它
DES/2DES/3DES/CCMP/IDEA/CAST/SAFER/Blowfish/Twofish/RC5 -
对称密钥管理
- 密钥分发
线下分发 固有缺陷(不安全) 公钥加密 需要 PKI (公钥基础设施) 最实用的机制
- 存储和销毁
-
公平密码系统 秘密密钥被分解成两个或多个片段 受托加密标准 由 维护一个 或者用于加密信息的密钥的拷贝 双方必须彼此信任,密钥提供的条件必须被清晰地定义
- 密钥分发
密码的生命周期
-
三个阶段(密码/密钥的抗破解性随时间下降)
- 强壮的
- 虚弱的
- 缺乏抵抗力的
-
算法/协议治理
如何迁移存在的信息系统和密码学元素到新的平台,安全专家必须采取相应的治理过程确保这个过渡过程,相关的策略、标准、程序至少要关注:
- 被批准的密码算法和密钥大小
- 针对老的密码算法和密钥的过渡计划
- 在组织内对于加密系统的使用程序和标准,要表明哪些信息有加密的需求
- 密钥的生成、托管、销毁
- 加密系统弱点或密钥丢失的事件报告
- 算法可靠性、密钥强度、密钥管理方式
-
其他一些安全问题
- 知识产权 保护与个人隐私
- 国际出口控制
- 法律强制
- 安全专家需要理解密码如何被错误的使用给组织造成影响,进而采取适当的安全控制措施。一个典型的例子是 “ 密码时间炸弹 ” (密码时效性防护)
密码系统
-
加密的基本原理、手段
替代 : 其他字符替代原文字符。单字母表替代密码、多字母表替代密码、Playfair密码 换位 (排列 Permutation) :
- 在换位密码中,所有字符都是混乱的,或者采取不同的顺序, 密钥决定了字符移动到的位置
- 栅栏密码 (The Rail Fence) (行列错位) 其他:
- 滚动密码隐藏式密码 : 采用模块化数学以及用每个字母在字母表中的位置来表达每个字母,和密钥一起循环滚动计算。(公开书籍中的文字对应)
- 一次性密码本 : 1917年Gilbert Vernam提出的,被认为不可破译, 使用随 机的替换值 加密,在计算机中,使用随机的二进制位串 和明文位串进行异或/同或 操作(exclusive-OR, XOR ; exclusive-NOR, XNOR )
- 密文接收者必须有相同的一次性密码本
- 密码本 只使用一次
- 密码本 与明文消息长度一样
- 密码本必须要安全的分发并在发送端和接收端都 高度保护
- 密码本必须由 真随机值组成
-
-
是一种将数据隐藏在另一种介质中以藏匿数据的方法。数据并未被加密而是被隐藏
-
要素: 载体 (如照片)、 隐写介质 (如JPEG)、 有效载荷 (信息)
例子:The saying “The time is right”is not cow language , so is now a dead subject. 每第三个单词组成 The right cow is dead .
-
隐藏:1. 藏头诗, 2. 数字水印
-
-
按照明文的处理方法(对称式加密算法)
- 分组加密
消息被划分为若干分组,这些分组通过数学函数进行处理,每次一个分组 一个强密码具有两个属性:
- 扰乱(通过替代实现),使密钥和密文之间的关系尽可能复杂。
- ,单独一个明文位会影响到若干密文位
- 流加密
将消息作为位流对待,并且使用数学函数 分别作用在明文每一个位上。 流密码使用密码流生成器,它生成的位流与明文位进行异或,从而产生密文。 类似一次性加密 , 密钥流尽可能随机 。 (拉拉链) 典型流加密:RC4 (WEP)
- 分组加密
-
其他密码学转换技术
-
初始向量(initialization vector,IV)
与密钥一同使用,传输时不用加密。算法使用IV和密钥来提高加密过程的随机性
-
雪崩效应
与扩散类似,算法输入值轻微的变化会引起输出值的显著变化
-
明文加密之前对其进行压缩
可以降低原始明文的长度
-
明文加密之前对其进行填充
目的是把明文的最后一个块增加到每一块需要的长度
-
混合使用子密钥(subkey)和主密钥(masterkey)以限制密钥暴露时间, 密钥方案中是由主密钥生成子密钥的( 密钥导出函数 )
-
-
按照加密方法分类(密钥特点)
混合加密
密钥管理过程
-
Kerckhoff原则
1883年,Auguste Kerckhoff 发表论文认为 “密码系统中 唯一需要保密的是密钥 ” “算法应该公开” “太多的秘密成分会引入更多的弱点”
-
密钥管理方面的进展
XML Key Management Specification 2.0 (XKMS),包含两个部分
- XML Key Information Service Specification (X-KISS)
- XML Key Registration Service Specification (X-KRSS) XKMS提供
- 操控复杂的语法和语义
- 从目录收回信息
- 撤销列表验证
- 信任链创建和处理 金融机构的标准 ANSI X9.17描述了确保密钥安全的方法
- 职责分离 : 不能实现职责分离的要考虑补偿控制
- 双人控制 : 关注两个或以上人参与完成一个工作
- 分割知识 : 关注参与的每个人都是唯一的且是必须的
-
密钥创建
要考虑可扩展性和密钥完整性, 采用自动化系统来创建密钥,不仅对用户透明也便于密钥策略实施, 工作因子与构成密钥的位的随机性水平有关
- 伪随机数
- 随机数生成器 非对称密钥长度
- 1024位RSA密钥加密强度相当于80位的对称密钥
- 2048位RSA密钥加密强度相当于112位的对称密钥
- 3072位RSA密钥加密强度相当于128位的对称密钥
- 224位ECC密钥加密强度相当于112位的对称密钥 密钥包装和密钥加密密钥(KEK)
- KEK是保护会话密钥的一个解决方案,用于密钥分发和密钥交换。使用KEK来保护会话密钥的过程被叫做密钥包装。
- 如果使用对称密码来封装会话密钥,那么发送方和接收方需要使用同一个密码;如果使用非对称密码来封装会话密钥,发送方和接收方需要彼此的公钥。
- SSL、S/MIME、PGP都是用KEK来保护会话密钥
-
密钥分发
密钥交换可以采用“带外管理”(out of band),但其可扩展性较差 一个可扩展的密钥交换方法是采用一个密钥分发服务器(KDC) 存放所有人的公钥 KDC 用户与KDC共享的密钥,用于KDC和用户之间传输加密信息用户和应用资源通信的会话密钥,需要使创建,用完则删除
-
密钥存储与销毁
所有密钥都需要被保护防止被修改,所有会话密钥和私钥需要被保护防止被非授权暴露。密钥保护方法包括: 可信的、防篡改的硬件安全模块,带密码保护的智能卡,分割密钥存储在不同地点,使用强口令保护密钥,密钥期限,等 相关标准
-
NIST SP800-21-1 联邦政府实施密码学指南
-
NIST SP800-57 密钥管理建议
简单的删除操作不能完全清除密钥,可能需要用不相关信息(如随机数、全为0或1)多次复写
-
-
证书替换成本和撤销
人员、设备规模大造成证书替换成本较高, 人员离职,人员岗位变更、丢失密钥等要注意撤销证书, 证书的生命周期
-
密钥恢复
从可信的目录或密钥注册的安全机构, 一种方法为多方密钥恢复 (密钥信封), 密钥恢复涉及到个人隐私和法律问题
第 7 章 PKI和密码应用
非对称密码技术
可以安全地交换公钥,保障了密钥的安全性, 公钥交换,私钥自己保存,便于密钥的管理, 可扩展性好,密钥数量 2n 个
**缺点 : ** 计算量大,速度慢,不适合与海量数据加密
-
第一个非对称密钥, ,重点解决问题, 基于“有限域上的离散对数计算困难”的难题, 通信双方在不可信的网络上交换他们彼此的公钥,再在各自的系统上生成相同的对称密钥。不提供加密、数字签名功能。
-
是1977年由罗纳德·李维斯特(Ron Rivest), 阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的。RSA算法的安全性基于数论中 分解大因数为原始质数的困难性,在已提出的公开密钥算法中,RSA是最容易理解和实现的,这个算法也是最流行的。
-
最初由Koblitz和Miller两人于1985年提出,其数学基础是利用椭圆曲线上的有理点构成Abel加法群上 椭圆离散对数的计算困难性。
- 160bit密钥相当于RSA 1024bit
- 210bit密钥相当于RSA 2048bit
-
l
基于Diffie-Hellman工作的离散对数计算,
-
背包算法(Merkle)
已被破解,不再有效 -
对称与非对称密码技术结合保证机密性
散列函数
-
哈希验证完整性
-
MD5
在1992年由Ron Rivest在MIT开发。它是最广泛被采用的Hash算法,并在RFC 1321中被描述。MD5消息分组为512位,产生128位的散列值. MD5被用于验证在犯罪调查中的数字证据的完整性,以及确保原始信息从被创建后未被篡改。
2004年8月17日美国加州圣巴巴拉国际密码学会议(Crypto’2004),来自山东大学的王小云做了破译MD5、HAVAL-128、 MD4和RIPEMD算法的报告,按照她的方法,数小时之内就可以找到MD5碰撞。这使目前电子签名的法律效力和技术体系受到挑战
-
SHA
-
SHA-1
安全散列算法1(SHA-1)是由NSA设计的,并由NIST将其收录到FIPS 180-1(Federal Information Processing Standard)中,作为散列数据的标准,在1995年被发布,并在RFC 3174中被描述。它可产生一个160位的散列值
-
SHA-2/SHA-3
SHA-256
SHA-224
SHA-384
SHA-512
-
-
-
基于同一种散列函数,如果有两个不同的消息,得到相同的消息摘要,则扰乱了散列函数应具备的规则,被称作碰撞(Collision)利用“生日攻击”(birthday attack)可以寻找碰撞
- 一个房间中,最少应有多少人,才使至少有两人具有相同生日的概率不小于1/2? (答案是23人。概率结果与人的直觉是相违背的。)
- 一个房间中,最少应有多少人,才能保证其中有一个人的生日与你的生日是一样的概率不小于1/2? (答案是253人。)
-
彩虹表
根据散列值重构原始消息 发现另一个消息具有同样的散列值,或者发现任何消息对具有相同的散列值 (瞎编原文得到相同散列)
-
密码分析
Side-Channel攻击是典型的密码分析的一个例子。攻击者不攻击算法而是算法的执行。彩虹表是另一个密码分析的例子。防止彩虹表攻击的一个方法是“Salted Hash”
-
消息验证码
-
HMAC
私钥混入明文计算散列值 (完整性、身份验证)
-
CBC-MAC
密码分组链接解密 CBC 模式下,把明文分组,最后一组加密后密文最为MAC值和明文一起发送(完整性、身份验证)
-
CMAC
是CBC-MAC的一种变体,提供与 CBC-MAC相同 的数据源认证和完整性,但在数学上更为安全。 把密钥加密后得出散列值 (有身份验证)
-
-
数字签名
数字签名
用于保证代码的的技术确定谁开发的那段代码, 并确定开发者打算将这段代码用于何处, 代码签名证书和数字证书帮助用户, 代码被签名可以确定代码的可靠度并检测带是否被开发人员之外的人所修改
- 确保代码片段不被修改
- 识别代码来源(开发者或签名者)
- 确定代码是否值得为特定目标的信任
- 不能保证代码片段免于安全漏洞
- 不能保证在执行过程中APP不会装载不安全或更改的代码(如不可行的插件)
- 不是数字版权管理(DRM)或拷贝保护技术
公钥基础设施 (PKI)
PKI是由 软件、通信协议、数据格式、安全策略 等用于使用、管理、控制 公钥密码 体制的一套系统。它主要有三个目的:发布公钥/证书,证明绑定公钥的实体,提供一个公钥有效性的验证。
-
数字证书
PKI技术采用证书管理公钥,通过 第三方的可信任机构 认证中心CA (Certificate Authority),把用户的公钥和用户的其他标识信息(如名称、email、身份证号等)捆绑在一起,在Internet网上验证用户的身份。
公钥证书是以数字方式签名的声明,它将公钥的值与持有相应私钥的主体(个人、设备和服务)的身份绑定在一起。通过在证书上签名,CA可以核实与证书上公钥相应的私钥为证书所指定的主体所拥有。
数字证书的格式是由 国际标准所规定的,它包含了以下几点:
- 证书拥有者的姓名
- 证书拥有者的公钥
- 公钥的有效期
- 颁发数字证书的单位
- 数字证书的序列号(Serial number)
- CA的名称,并用CA的数字签名签署该证书
- CA所遵循的用来确定证书主体身份策略的标识符
- 在证书中标识的密钥对(公钥及相关的私钥)的用法
- 证书废止列表(CRL)的位置
- 用CA的数字签名签署该证书
ITU-T X.509并非证书的惟一格式。例如,====安全电子邮件 是依赖PGP所独有的一种证书。
-
CA中心
负责发放和管理数字证书的权威机构
具体功能:
- 接收 验证 RA转发来的最终用户数字证书的申请。
- 确定是否接受最终用户数字证书的申请-证书的审批。
- 生成 密钥对和证书
- 向申请者 颁发 证书
- 为签发的证书提供组织与责任的权威 公证
- 接收最终用户数字证书的查询、 撤销
- 产生和发布证书 废止 列表(CRL)
- 密钥管理 (密钥备份、密钥恢复、密钥更新)
- 数字证书的归档
- 密钥归档
- 历史数据归档。
-
RA
证书注册机构,不发放证书,验证证书申请人身份。(基础资料核实)
非对称密钥管理
需要看一下书上的解析
应用密码学
能够提供的服务 :
-
链路加密
也称为在线加密,通常由服务商提供,如:卫星链路、T3、电话线路
链路加密发生在 , 加密沿某种特定通信通道传输的所有数据 ,攻击者得不到任何数据,为防止包嗅探和偷听提供了保护
**数据包在 经过两端之间的每一台设备 时都需要 进行解密 **
-
端到端加密
数据包的 未加密
端到端加密发生在 端到端加密对 中间通信设备是透明 的,传输过程中始终保持加密状态
-
PGP
由Phil Zimmerman在1991年作为一个免费电子邮件保护程序设计, 支持多种公钥 和 对称算法 ;使用可信Web的方式信任 数字证书 ,即Web互相签名证书,形成一个信任社区;用户保存一个密钥环(key ring)文件,其中存储其他可信用户的公钥。
机密性、完整性、真实性
-
HTTPS
是运行于SSL之上的http,SSL(Secure Sockets Layer)是嵌入在 上的 安全协议 ,
SSL通信过程可分为 三个阶段 :对等协商双方所支持的算法;基于证书的认证和基于公钥加密的密钥交换;基于对称密钥的加密传输, **TLS (Transport Layer Security) 是SSL开源等价协议 **
-
SET
它是由VISA和MasterCard两大信用卡公司于1997年5月联合推出的规范。是基于信用卡在线支付的电子商务安全协议,目的是为了确保在Internet网站和银行之间传输信用卡结算信息时提供安全保证
-
S/MIME
标准的邮件(多媒体邮件)安全协议,利用哈希算法和公钥与私钥的加密体系,对发信人和收信人进行身份识别,保证信件完整性和信件内容包括附件的机密性
密码攻击
-
唯密文攻击
攻击者拥有若干消息的密文,每条消息都是使用相同的加密算法加密的。攻击者目标是找出加密过程中试用的密钥,
-
已知明文攻击
攻击者拥有一条或多条消息的明文和相对应的密文。例如某些文本有固定的格式、起始和结束语句。
-
选定明文攻击
攻击者选择特定明文发给受害者,待受害者加此明文发送出去后,再截获之。不同于已知明文攻击在于输入可以由攻击者来选定
-
差分密码分析
攻击者查看对具有特定差异的明文进行加密并得到相应的密文,并分析这些差异的影响和结果
-
线性密码分析
攻击者对使用 相同密钥加密的几条不同消息 执行已知明文攻击,再通过执行函数来确定使用分组算法的加密过程中利用某个特定密钥的最大概率 ()
-
通过 收集外部信息来分析密钥 ,例如收集CPU占用率、电磁辐射、总运算时间后,逆向分析运算过程来猜测密钥和算法
-
错误分析
强行 , 获得一个 , 然后与一个正确的结果对比进而分析密钥和算法
-
探测攻击
通过连接加密模块的 来访问和操纵其中的数据获取来获取信息 ()
-
重放攻击
攻击者捕获了某种类型的数据(通常是身份验证信息)并重新提交已通过的身份验证的信息, 欺骗接收设备误以为这是合法信息
-
代数攻击
分析算法内使用的数学原理中存在的弱点, 并利用其内在的代数结构
-
频率分析
在简单的替换密码中, 每个字母被替换成另一个字母, 那么在密文中====最高的字母就最有可能是E. 频率分析法除了需要用到统计学外, 也需要用到语言学, TH这两个字母连起来是最有可能出现的字母对
-
逆向工程
通过进行 逆向分析 及研究,从而演绎并发现加密系统的弱点或算法运算的关键信息
-
攻击者不采用任何技术性攻击, 仅利用各种社会工程学攻击类型诱使人们提供加密密钥 ()
-
攻击随机数生成器
RNG所产生的随机数如果可预测, 攻击者就能够猜测到用于构成 的随机数( )
-
临时文件
大多数的密码系统使用 临时文件 来执行计算, 如果这些文件没有被删除或复写,可能会泄露信息给攻击者
-
其它
因素攻击(针对 RSA) , 生日攻击(针对 Hash ), 字典攻击, 暴力破解, 彩虹表
第 8 章 安全模型,设计和能力的原则
安全设计原则
-
主体和客体
-
封闭系统和开放系统
-
进程控制
- 限制(confinement)
- 界限(Bound)
- 内存重用/对象重用 (Memory reuse/Object reuse )
-
访问控制(OSG第14章)
-
信任与保证
-
SELC 系统工程生命周期 (Systems Engineering Life Cycle)
需求分析,设计,实施,验证,运营 Requirements analysis, Design,Implementation, Verification, Operation
安全架构
-
企业安全架构
-
目标:
表达了一个简单、长期的控制视图, 提供了一个统一的愿景整合已经存在的技术投入对于当前和未来的威胁和核心功能需求提供一个灵活的方法
-
收益
描述用于指导安全相关技术决策和方案的安全战略, 对IT架构师和管理层提供指导,使他们更好的做出安全相关投资和设计决策, 建立未来要达到的技术架构, 支持、驱动、扩展安全政策和标准整合行业标准和模型确保最佳安全实践被应用
-
架构框架和实际架构是有区别的。每个组织的架构都不同原因在于它们有不同的业务驱动、安全和规定需求、文化和组织结构。
-
-
系统安全架构
企业架构和系统架构虽然有重叠之处,但它们还是有区别的。企业架构解决的是组织的结构,系统架构解决的是软件和计算机组件的结构
-
安全模型
要保障系统的安全必须建立安全策略作为安全的抽象目标,安全模型将抽象的安全策略目标映射为信息系统的表达,通过确定的数据结构和必要的技术执行行安全策略
(参考访问控制模型 自主、强制、 基于角色)
-
要保障系统的安全必须建立安全策略作为安全的抽象目标,安全模型将抽象的安全策略目标映射为信息系统的表达,通过确定的数据结构和必要的技术执行行安全策略
-
可信计算基(TCB)
-
TCB是硬件、软件和控制的组合,是执行安全策略的可信基础
-
安全边界 : 假想的边界,将TCB与系统的其他部分分隔开
-
可信路径 : 系统的其他部分与TCB进行通信的安全通道
-
参考监视器/引用监视器
- TCB中定义访问控制的
- 验证主体访问客体的权限
-
实现参考监视器功能的组件集合
-
-
状态机模型
-
状态机模型(State Machine Model)
-
状态机模型描述了一种无论处于何种状态都是安全的系统
-
一个状态(State)是处于特定时刻系统的一个快照, 如果该状态所有方面都满足安全策略的要求, 就称之为安全的
-
状态机可归纳为 4 个要素,即 这样的归纳, 主要是出于对状态机的内在因果关系的考虑“现态”和“条件”是因, “动作”和“次态”是果
-
状态转换/迁移
-
许多活动可能会改变系统状态,状态迁移总是导致新的状态的出现。
-
如果所有的行为都在系统中允许并且不危及系统使之处于不安全状态,则系统执行一个安全状态机模型:secure state model。
-
一个安全的状态机模型系统, 总是从一个安全状态启动, 并且在所有迁移当中保持安全状态, 只允许 资源
-
-
-
信息流模型
-
在信息流模型中,数据被看作保存在独立的分割区间内,关注的是在 是否被允许或不允许访问
-
信息流模型用于防止未授权的, 不安全的或者受到限制的信息流,信息流可以是同一级别主体之间的,也可以是不同级别间的
-
信息流模型允许所有授权信息流, 无论是否在同一级别
-
-
无(非)干扰模型
-
无干扰模型并 不关心信息流 ,而是关心影响系统状态或者其他主体活动的某个主体的活动
-
确保在 。如果在较高安全级内的一个实体执行一项操作,那么它不能改变在较低安全级内实体的状态
-
如果一个处于较低安全级的实体感受到了由处于较高安全级内的一个实体所引发的某种活动,那么该实体可能能够推断出较高级别的信息,引发信息泄漏
-
基本原理为,一组用户(A)使用命令©,不被用户组(B)(使用命令D)干扰,可以表达成A, C:| B, D,同样,使用命令C的组A的行为不能被使用命令D的组B看到
-
-
取予模型(Take-Grant模型)
-
访问控制矩阵
基于矩阵的模型
访问控制矩阵是一个包含主体和客体的表,它关注在每个主体和客体之间一对一的关系。
访问控制矩阵由两个维度。
-
以 :指定了某些主体对特定客体进行操作的访问权限
-
以 :是一些主体被授权访问特定客体的权限列表。
-
矩阵模型没有描述客体之间的关系
-
-
格子模型 (晶格模型/点阵模型)
- Lattice 模型通过划分安全边界对 进行了 , 它将 进行 并允许它们之间交换信息,这是多边安全体系的基础。
- 多边安全的焦点是在不同的 (部门, 组织等), 而不仅是垂直检验其敏感级别。
- 建立多边安全的基础是为分属不同安全集束的主体划分安全等级,同样在不同安全集束中的客体也必须进行安全等级划分,一个主体可同时从属于多个安全集束,而一个客体仅能位于一个安全集束。
- 在执行访问控制功能时,lattice模型本质上同BLP模型是相同的,而lattice模型更注重形成"安全集束"。BLP模型中的"上读下写"原则在此仍然适用,但前提条件必须是各对象位于相同的安全集束中。主体和客体位于不同的安全集束时不具有可比性,因此在它们中没有信息可以流通
- 最小上界和最大下界
- 主体被分配了格子中的位子,主体只能访问介于格子中的客体
信息系统安全评估模型
-
-
TOE (Target of Evaluation)
评估对象
-
与实现无关的,针对一类TOE的,满足特定用户需求的一组安全要求, 在标准体系中PP相当于产品标准,也有助于过程规范性标准的开发;国内外已经对应用级防火墙、包过滤防火墙、智能卡、IDS、PKI 等开发了相应的 PP
-
作为指定的 TOE评估基础的一组安全要求和规范, ST 是针对具体 TOE 而言,它包括该 TOE的安全要求和用于满足安全要求的特定安全功能和保证措施, ST包含的技术要求和保证措施可以直接引用该TOE 所属产品和系统类的 PP; ST 是开发者、评估者和用户在 TOE 安全性和评估范围之间达成一致的基础; ST 相当于是产品和系统的实现方案
-
- 功能檢測
- 结构性測試及檢查
- 系統化測試及檢查
- 系統化設計、測試及審查
- 半形式化測試及檢查
- 半形式化查證、設計及測試
- 形式化查證、設計及測試
-
-
行业指南和ISO标准
- PCI DSS : 支付卡行业数据安全标准
- ISO 15408 : 能用准则 CC
-
认证和认可 (Certification & Accreditation)
-
认证
认证 : 评定安全机制和评估安全效果的一种技术性审查
认证过程可采用控制评估、风险分析、验证、测试和审计技术来评估系统的适用性
认证的目标是为了确保系统、产品和网络能够适合客户的目的
认证过程及相应的文档可以指明产品的优点、缺点和有待改善的功能
-
认可
管理层正式接受认证过程中的调查结果
-
信息系统安全功能
- TPM 可信平台模块 (Trusted Platform Module)
- 存储、管理BIOS开机密码以及硬盘密码
- TPM安全芯片可以进行范围较广的加密
- 加密硬盘的任意分区
- 内存保护 (OSG 第9章)
- 虚拟化
- 接口
- 容错
第 9 章 安全漏洞 威胁和对策
评估和缓解安全漏洞
系统越复杂,可能的安全问题越多
- 执行类型
- 线程 多进程多线程更容易导致竞态条件攻击
基于客户端的系统
-
Applet
-
Active X
-
本地缓存
-
ARP缓存中毒
-
DNS缓存中毒
Hosts 文件中毒
DNS 查询欺骗
-
基于服务器端的系统
数据流控制
负载均衡
数据库系统安全
数据仓库
如果数据库服务器物理的或逻辑的边界被打破,非授权用户能够获取组织的所有数据(数据库的访问控制); 关注数据的备份与恢复(数据库的可用性), 数据聚合、数据推理、数据挖掘 (提升数据价值), 大规模并行数据系统(分布式数据库性), 大数据平台, 安全架构师面临的挑战:信任、隐私问题、通用安全; 分布式系统(防止从操作系统层面攻击数据库); 典型的Client/Server,Peer to Peer系统,需要共享协议和接口; 挑战:协调资源、授权、漏洞控制; 数据库的可用性(容量、性能、备份), 数据的机密性、完整性; 数据的机密性、完整性(访问控制、事务处理)
- 数据挖掘和数据仓库
- 数据分析
- 大规模并行数据系统
分布式系统和端点安全
-
云计算
云安全
- IaaS
- PaaS
- SaaS
-
网格计算
不同于集群,网格计算是异构的,集群是同构的, 关注节点通信采用VPN,强认证控制,软件检测、应用隔离
-
端点安全
终端设备负责其自身的安全性
物联网
物联网是指将各种信息传感设备与互联网结合起来而形成的一个巨大网络, 物联网的三大特征:全面感知,可靠传递,智能处理; 物联网的架构分为:应用层、网络层、感知层、编码层; 物联网的常用设备有:RFID设备、传感器、视频监控设备、GPS
监控和控制工业系统和关键基础设施的简单计算机被称之为工业控制系统(ICS), 被熟知的ICS类型包括:
SCADA 系统(数据采集与监控系统 supervisory control and data acquisition systems)、
DCS (分布式控制系统 distributed control systems)
ICT相关可参考的安全标准:
- Critical Infrastructure Protection(CIP)
- Cybersecurity Standard NIST IR 7268 智能电网信息安全指南
- NIST SP800-39 管理信息安全风险
- NIST SP800-82 工业控制系统安全指南
监控和控制工业系统和关键基础设施的, 简单计算机被称之为工业控制系统(ICS)
-
被熟知的ICS类型
-
特点
实时, 响应时间紧迫, 不能接受高延迟或抖动, 不要求高吞吐量, 往往要求高可用性(不能随便停机), 服务支持通常依赖单一供应商
-
NIST SP800-82 工业控制系统安全指南
基于web系统的漏洞
由于当前大部分应用都采用web的形式访问,因此对于保护web应用相关服务器就尤为重要。
- 可采用的保护措施举例
- 系统加固
- 漏洞扫描
- IDS/IPS
- 卸载不必要的文档和库
- 基于证书的强认证
- 采用应用防火墙防范SQL注入
移动系统的漏洞
从90年的的PDA,2000年左右的BlackBerry,到后来Apple的iPhone,运行Android和Windows的智能设备,移动设备应用越来越广泛。从2010年以来,针对移动设备的恶意代码不断的被发现,并且呈现爆发式增长,随之而来移动设备面临的风险也逐年增加。
-
来自于远程计算的风险
- 可信客户端—谁在使用这个移动设备
- 网络架构—管理和控制移动设备的基础设施在哪
- 策略实施—不正确、不充分、强度较弱的安全控制
- 丢失或被盗—存有敏感数据的设备没有充分的控制
-
来自于移动办公人员的风险
管理平台和设备数量激增—每人有多个移动设备,设备平台类型多样化, 移动设备在家里及工作场所混用带来的数据方面的风险, 攻击移动设备的方式:SMS、WiFi、Bluetooth、Infra-red、Web, browser、USB、Email client、Jail-broken Phone、第三方应用、操作系统漏洞、物理访问……, 攻击例子:短信劫持、伪造邮件、窃听通话、获取照片/视频、敏感文件、定位位置、获取缓存的口令等
-
-
锁定(应对暴力破解)/锁屏
-
GPS/应用程序控制/资产跟踪/库存控制/设备访问控制/库存控制/设备访问控制/可移动存储/关闭不使用的功能
-
人为地在存储介质上划分各种类型或数据值
-
移动设备管理(MDM)
管理员工用于访问公司资源地无数移动设备
目的:
- 提高安全性
- 提供监控
- 启用远程管理
- 支持故障排除
-
应用安全
密钥管理/凭证管理/身份验证/地理位置标记/加密/应用白名单(默认拒绝/隐式拒绝) 可禁止未经授权的软件执行
-
BYOD
- 可接受使用策略(AUP)
- 数据所有权
- 所有权支持
- 补丁管理
- 反病毒管理
- 取证 / 隐私 / 入职/离职 / 遵守公司策略 / 用户接受度 / 架构/基础设施考虑 / 法律问题
嵌入式设备和信息物理系统(CPS) Cyber-Physical Systems
典型应用:智能家居、车联网、物联网、工业控制系统…… 涉及行业:制造业、医疗、交通、农业、能源、国防、应急管理、……
-
关注两个方面
- 信息安全(不同于传统安全)
- 互操作性
-
集成和管理CPS的技术
安全架构师应和从业者一起设计关注CPS安全的开发和集成方案
关注三个方面: 风险评估 、 坏数据探测 机制、设计系统的弹性和 生存能力面对攻击 (APT)
-
抽象化、模块化、可组合性
-
基于系统工程的架构和标准
-
自适应可预测分等级的混合控制
-
多个物理模型和软件模型的集成
-
分布的探测、通信和感知
-
可诊断和可预测
-
信息安全
-
验证、确认、和认证
-
自治和人员交互
-
基本安全保护机制
-
技术机制
-
分层
操作系统访问隔离–操作系统保护环
-
抽象
抽象化是指从实体中去除特点以更清晰显示实体的本质属性。抽象化否定了用户了解实体运行细节的需要。他们只需掌握使用客体的正确语法和所示信息的性质就可以了. 不知道实体真实情况
-
数据隐藏
数据隐藏在不同的安全层级保持活动,把这些层级相互分离开来。这有助于防止一个安全层级的数据被在其他安全层级运行的流程看到
-
进程隔离
操作系统为每个进程的指令和数据提供单独的内存空间
-
硬件分隔
使用物理硬件控制分隔
-
安全内存管理
通过多种机制保证存储器(内存)的安全访问控制
4个控制机制:
- 对象封装
- 共享资源分时复用
- 命名区分
- 虚拟映射
-
加密保护
通过加密技术把信息明文变为密文从而保护信息的 和
-
主机防火墙
防火墙及IDS的种类:基于主机的、基于网络的
-
虚拟化
虚拟机通常被隔离在一个沙箱环境中,若是受到感染,可迅速将其移除或关机,用另一台虚拟机取代。
虚拟机:
- 对硬件资源拥有有限访问权,因此可帮助保护主机系统和其他虚拟机。
- 要求有强配置管理控制和版本控制,以确保需要时用已知好拷贝将其恢复。
- 还要符合针对基于硬件系统提出的所有典型要求,其中包括防恶意软件程序、加密、HIDS、防火墙和打补丁。
作用:** 不
-