CBK-D2-安全与架构工程
密码学和对称密钥算法
密码通信的基础知识
明文P-plaintext、加密encrypt、密文C-ciphertext、解密decrypt、密钥Key
多数情况下,密钥无非是一个极大的二进制数
每一种算法都有一个特定密钥控制key space,是一个特定的数值范围
密钥空间由位大小bit size决定,是密钥内二进制位0和1的数量
密码术
创建和执行秘密代码和密码的技艺
密码分析
如何打败代码和密码
密码数学
代价函数从耗费成本和或时间的角度衡量破解所需的代价
代码作用于单词和短语,而密码作用有字符、位和块
替换密码–频率分析
多表替换-周期分析的二阶式频率分析
单词密本–替换密码
如果使用得当是不可破解的
1.单次密本必须随机生成
2.单次密本必须处于物理保护之下,以防泄露
3.每个单次密本必须只使用一次
4.密钥必须至少与将被加密的消息一样长
大多数现代加密算法都执行某类块密码
私钥密码系统
密码可为已存储(静态)、通过网络传送(传输中/动态)和存在于内存(使用中/处理中)的敏感信息提供保密性、完整性、身份认证和不可否认性
密码学的基本目标
1.保密性
对称密码系统
使用一个共享秘密密钥
非对称密码系统
使用单独组合的公钥和私钥
2.完整性
确保数据没有在未经授权的情况下被更改
消息的完整性可使用数字签名,在消息传输时创建
完整性保障由公钥和私钥系统提供
3.身份认证
挑战-应答身份认证协议
4.不可否认性
由公钥或非对称密钥提供
现代密码学
通过复杂算法和长密码密钥来实现密码学的目标
对称加密算法
1.密钥分发是问题,通常带外交换
2.不提供不可否认性
3.算法缺乏可扩展性,无法用于多人之间
4.必须经常重新生成
5.运算速度快,比非对称算法快1000~10000倍,本身更适合硬件执行
非对称加密算法
公钥加密,私钥解密
私钥加签,公钥验签
运算速度缓慢,通常使用混合密码传输大量数据
提供保密性、完整性、身份验证、不可否认性
哈希算法
哈希函数无法推导消息本身
存在哈希碰撞
一个哈希函数为两个不同消息产生相同哈希值
几种常见的对称密码系统
GCM、CCM同时包含了保密性和数据真实性
经过验证的加密模式
ECB,CBC,CFB,OFB和CTR模式只提供了保密性
未经验证的模式
美国1977年发布数据加密标准DES
2001年12月被高级加密标准取代
64位块密码,5种运行模式-ECB,CBC,CFB,OFB,CTR
一次性在64位明文上进行计算生成64位密文
使用密钥长度56位,8位是奇偶校验位,但是实践中很少使用到
16轮加密
国际数据加密算法IDEA
良好隐私PGP安全邮件软件包
64位明文/密文块上执行128位密钥运算,被分解成52个16位子密钥
Blowfish
64位块上运行
允许密钥长度变化,从32位到448位
作者开放软件许可
已被许多商用软件产品和操作系统采用
Skipjack
美国政府托管加密密钥
64位块运行,80位密钥,支持4种运行模式
美国财政部和NIST
Rivest Ciphers
Ron Rivest创建的对称密码,称为RC家族,RC4,RC5,RC6
RC4 1987年开发,
只进行一轮加密,使用40-2048位长度可变密钥
被集成到WEP,WPA,SSL,TLS等,导致WEP,WPA,SSL目前不符合现代安全标准
TLS也不再允许把RC4用作流密码
RC5 与RC4完全无关,块大小可变,密钥0~2040位,被认为是RC2的改进版
RC6是RC5的下一版开发的块密码,128位块大小,128、192、256位对称密钥
高级加密标准AES
2001年11月 NIST发布AES/Rijndael
允许使用3中密钥强度:128,192,256位
只允许处理128位块,加密轮数取决于所选密钥长度
对称密钥管理
密钥管理实践规范
1.秘密密钥的创建
2.分发
3.存储
4.销毁
5.恢复
6.托管
创建和分发密钥
线下分发-受制于地理位置遥远
公钥加密
Diffie-Hellman 密钥交换算法
存储和销毁对称密钥
绝不将加密密钥与被加密数据保存在同一个系统
敏感密钥,考虑安排两个人各持一半片段
基于软件的密钥存储,引入软件机制造破坏的风险
基于硬件的密钥管理设备,复杂且成本高,能提供额外的保护
密钥托管和恢复
公平密码系统
####### 密钥被分成两个或多个片段,每个片段交给一个独立的第三方托管
####### 政府部门在得到合法授权后可以出示法庭命令证明,获取组合密钥
托管加密标准
####### 向政府或另一个授权代理提供了解密密文得技术手段–专门针对Clipper芯片提出的
####### N之取M的授权代理
托管密钥的合法用途
####### 密钥恢复代理RA recovery agent
####### 预防密钥丢失,相关人员离职等恢复密钥
密钥生命周期
除单次密本以外,所有密码系统的使用寿命都是有限的
安全专业人员在挑选加密算法时,必须重视密码生命周期
1.规定机构可接受的密码算法,如AES,RSA和3DES
2.根据被传输信息的敏感性,识别可与每种算法配套使用的可接受密钥长度
3.枚举可用的安全交易协议,如TLS
如果是为最近启动的业务系统选用安全密钥,没必要担心10年后的密钥安全性
如果是设计建造比原子弹还危害大的武器,有必要考虑10年后的保密性,比如考虑量子密码
PKI和密码应用
公钥密码系统-非对称密码
公钥和私钥
公钥可通过不受保护的通信自有共享
公钥系统使用的密钥必须比私钥系统更长,才能产生同等的强度
RSA
1977年发明,2000年公开
Merkle-Hellman算法,1984年被破解
密钥强度:对称128位=RSA3072位=椭圆曲线256位
ElGamal
对Diffie-Hellman的扩展,1985年
加密信息都被加长了一倍,不适合大量数据加密
椭圆曲线
ECC,1985年提出,密码强度强
Diffie-Hellman密钥交换
和RSA类似都是由素数数学原理支撑
是公钥密码的例子,
本身不是加密协议,而是密钥交换协议
依赖于大素数的使用
量子密码
当前仅限于理论研究,如果出现会导致量子霸权
带来更新、更复杂的密码算法
实验室已开发量子密钥分发QKD执行方案,尚未实用
量子计算可能已在密码分析攻击中秘密出现了
目前的密码算法的大量级加密可暂抵御量子霸权
哈希函数
消息摘要
是提取一条可能会比较长的消息,然后从消息内容中派生一个唯一的输出值
消息摘要为128位或更长
密码哈希函数的5个基本要求
输入可以任意长度
输入固定长度
哈希计算对任何输入都相对容易
哈希函数是单向的
哈希函数抗碰撞
几乎不可能找到可产生相同哈希值的两条消息
可以修改传输过程中的哈希值和消息,比较难实现
需要截取消息并修改消息
获取加密公钥或加签私钥,重新生成新消息,中间人攻击可以?
几种常见的哈希算法
安全哈希算法SHA
SHA2性能优于SHA3,也优于MD5
SHA2有4个变体-sha256,sha224, sha512,sha384
消息摘要5 MD5
如今不是那么安全,建议SHA2
RIPE消息摘要 RIPEMD
RIPE-160至今被认为是安全的,和RIPEMD-320一样
基于哈希的消息身份认证码HMAC
哈希值长度可变
可变长度哈希HAVAL
MD5修改版
使用1024位块,产生128,160,192,224,256位长度哈希值
数字签名
两个目的
1.可提供不可否认性保障
2.可抵御恶意篡改和无意改动,即完整性
是公钥加密法和哈希函数的组合作用
不仅可用于消息,还可用来鉴别从互联网下载的代码
不对消息所含内容以及签名本身提供保密性保护
只确保密码的完整性、身份认证和不可否认性的目标
消息发送者还可用接受者的公钥进行全加密,保证消息只能接受者可解密
HMAC基于哈希的消息身份认证码
可保证消息在传输中的完整性,不提供不可否认性
使用共享秘密密钥和哈希算法配套使用,
数字签名标准DSS
NIST—通过FIPS 186-4规定
必须使用SHA-3算法,可在硬件中有效运行
DSS规定的加密算法
数字签名算法DSA --ElGamal算法的变体 FIPS 186-4
RSA算法 ANSI X9.31
DSA(ECDSA)–ANSI X9.62
Edwards曲线 (EdDSA) --FIPS 186-5
如何选择密钥
消息加密公钥加密 发给别人,私钥解密 自己解密
数字签名私钥加签发给别人,公钥验签自己用用
公钥基础设施
公钥加密的优势在于它能协助以前不相识的双方进行通信
可以通过公钥基础设施public key infrastructure信任关系层级实现
证书
数字证书实际是一个人公钥的签注副本
内含可识别信息,由X.509国际标准辖制
证书签发对象
计算机、机器
个人用户
电子邮件地址
开发者(代码签名的证书)
证书的主体可包括书名通配符*,表明其可以用于子域,仅用于一层子域
发证机构CA
没有规定禁止什么机构开店经营CA
PKI依靠的正是信任关系的层级体系
离线CA
####### 整个PKI的顶级证书
中间证书
####### 充当在线CA,常规签发证书
证书生命周期
注册
####### 身份证明
####### 证书签名申请
####### CA创建X.509数字证书
####### 发给你CA私钥签名的数字证书副本
####### 常见证书类型
######## DV域验证证书
######## EV扩展验证证书
验证
####### 对照CRL或OCSP对证书进行检查
####### 2017年赛门铁克将CA业务出售给DigiCert
注销
####### 证书注销列表
######## 时间滞后问题
####### 在线证书状态协议OCSP
######## OCSP服务器验证请求负担较大
####### 证书装订CS
######## 装订证书有效期通常是24小时
证书的格式
常见的DER格式,二进制格式,保存在.der,.crt或.cer的文本中
PEM隐私增强邮件证书格式,ASCII文本格式,保存在.pem或.crt扩展名的文本中
PFX个人信息交换格式,二进制格式,保存在.pfx或.p12文本扩展名中----被Windows系统使用
P7B证书,ASCII文本格式,.p7b文件扩展名—被Windows系统使用
非对称密钥管理
挑选加密系统要审慎
选择配备已在公共域公开的算法,且经历业界专家的百般挑剔
挑选合适的密钥
确保密钥确实是随机生成的
若使用公钥加密,务必为私钥严格保密
密钥强制性轮换或定期更换
必须备份自己的密钥,或使用密钥托管服务
硬件安全模块HSM提供密钥管理
混合加密法
对称算法速度快,但会带来密钥分发挑战
非对称算法解决了密钥分发问题,但其计算量大且速度慢
混合加密法将对称加密法和非对称加密法结合到一起
先用非对称密码算法交换随机生成的共享秘密密钥,即临时密钥
传输层安全TLS是混合加密法最著名的例子
应用密码学
运用密码学技术保护静态数据和动态传输的数据
便携设备
硬盘加密能力
BitLocker 加密文件系统EFS—Windows
FileVaule加密技术 —macOS
VeraCrypt开源程序包 ----可用于Linux,Windows和Mac系统
可信平台模块
专用密码组件,防止硬盘替换的硬盘换机读取数据
电子邮件
密码学最大的应用需求之一,是给电子邮件消息加密和签名
电子邮件安全标准
1.良好隐私PGP
####### 使用文本格式,便于兼容
####### openPGP 使用现代加密算法,哈希函数和签名标准
####### 基于WEB的云有电子邮件服务、移动设备应用程序或WEBMAIL插件形式提供基于PGP的电子邮件服务
S/MIME安全/多用途互联网邮件扩展
####### 使用RSA加密算法
####### 已被大量商业产品采用
######## Microsoft Outlook和office365
######## Apple Mail
######## Google G Suite企业版
####### 通过X.509证书交换加密密钥
####### 不支持主流的基于Web的邮件新,需要使用浏览器扩展
Web应用
安全套接字层
SSL已被视为不安全,TLS经常被误称为SSL
传输层安全
2011年 TLS1.2取消了向后兼容性
TLS1.0只是对SSL3.0标准的增强
TLS1.1是1.0的升级版,包含已知的漏洞
2008年TLS1.2已被认为是最低安全选项
2018年发布的TLS1.3也是安全的,并且改进了性能
TLS本身不是加密算法,只是一个框架
####### 不能只验证系统使用的是不是TLS安全版本,还必须确保与TLS配套使用的算法也是安全的
####### 每个支持TLS的系统都有一个TLS支持的密码套件列表
TLS密码套件组成
####### 1.用于交换临时密钥的算法
######## 例如RSA、DH和ESDH
####### 2.用于证明server和或client的身份认证算法
######## 例如RSA,DSA和ECDSA
####### 3.用于对称加密的批量加密算法
######## 例如支持多个版本的AES和3DES
####### 4.用于创建消息摘要的哈希算法
######## 例如不同版本的SHA算法
洋葱网和暗网
可通过加密和一组中继节点在Internet上匿名传送通信流
依靠完全前向保密的技术
隐写术和水印
隐写术通过加密技术把秘密消息嵌入另一条消息的技艺
一般嵌入图像文件或WAV文件
比如iSteg工具
联网
线路加密
链路加密
####### 所有数据都是加密的
####### 每个数据包在每个中继段进行解密,然后重新加密
####### 减慢了路由速度
端到端加密
####### 不给报头、尾部、地址和路由数据加密
####### 传输速度更快
####### 面对嗅探器和窃听者会更脆弱
OSI模型较高层级采用端到端加密;OSI较低层级通常使用链路加密
安全壳SSH是端到端加密的例子,SSH2取消了DES和IDEA的支持,增强了几项措施,比如DH密钥交换协议以及支持一个SSH连接上运行多个会话。
SSH2增加了抵御中间人攻击、窃听和IP/DNS欺骗
IPSec
IPSec协议是一个标准架构,用于两个实体之间建立安全信道以交换消息
IPSec依靠的是安全关联,包含两个部分
####### 1.身份认证头AH
####### 2.封装安全载荷ESP
工作在两种离散模式
####### 传输模式用于端到端加密,只加密数据包载荷,用于对等通信
####### 隧道模式,加密包括报头在内的整个数据包,用于链路加密
建立安全关联来建立IPSec会话
####### SA安全关联代表通信会话,记录了有关连接的所有配置和状态信息
####### SA还代表一次单纯连接
######## 双向信道,建立两个SA
######## 支持AH和ESP的双向信道,需要四个SA
####### 没有明确定义有效SA的情况下,成对的用户或网关之间不能建立IPSec链路
新兴的应用
区块链
一种分布式不可变公共分类账
第一大应用是加密货币
财产所有权记录
跟踪供应链
轻量级加密
专用硬件将能耗降至最低
低延时加密–加密网络链接
专用加密件,如专用VPN硬件可能包含密码硬件
同态加密
解决既要保护个人隐私,又要用个人数据进行计算的情况
给数据加密的同时,保留了数据可进行计算的特点。与明文数据计算结果完全一致
密码攻击
分析攻击
实现攻击
挖掘软件代码错误和缺陷,给加密系统编程的方法缺陷等
统计攻击
浮点错误或无力生成真随机数
可在运行密码应用的硬件或OS中找漏洞
暴力破解攻击
使用处理能力系统化猜测加密通信的密钥
故障注入攻击
利用高压电力,高温或低温等其他因素引发故障
边信道攻击
统计活动轨迹如处理器利用率,功耗,电磁辐射的变化等监视系统活动,并检索当前正在加密的信息
计时攻击
计算完成加密的时间。从中获取可用加密过程的信息
频率分析和唯密文攻击
分析常用字母频率,判断是否移位密码;或是其他字母高频率出现,判断是否替换密码
已知明文
选择明文
选择密文
中间相遇
双重DES破解耗时是最低附加保护的单轮加密时间的两倍
中间人
路径攻击
生日攻击
碰撞攻击或反哈希匹配
从哈希函数的一对一性质中找出破绽
重放
针对没有采用临时保护措施的密码算法
设定过期时间,挑战-应答机制,临时会话密钥给身份认证会话加密等
安全模型、设计和能力的原则
安全设计原则
客体和主体
信任传递
封闭系统和开放系统
商用通常意味着闭源
11项安全设计原则,本章涵盖其中6个
默认安全设置
失效安全
保持简单
零信任
执行内部微分网段和严格落实最小特权原则
通过设计保护隐私
信任但要验证
已不能满足要求
用于确保CIA的技术
限定,进程限定或沙箱
使进程只能对某些内存位置和资源进行读和写。
界限
进程被分配了一个授权级别
给内存划分物理界限时成本高,但比逻辑界限更加安全
隔离
气隙—物理隔离,意味着有线和无线网络链接都不可用
访问控制
信任与保证
安全模型
提供了一种把安全策略形式化的手段,可以抽象可以直观
使设计人员得以把抽象陈述投射到为构建硬件和软件规定了必要算法和数据结构的安全策略中。
令牌、能力和安全标签
安全令牌token是与资源关联的独立客体,描述了资源的安全属性。令牌可在主体请求访问实际客体之前传达有关客体的安全信息。
能力列表,为每个受控客体各保存一列安全属性信息。尽管没有令牌方式灵活,但通常也能在主体访问客体时提供比较快捷的查找。
安全标签,通常是附着在客体上的一个永久部分。一旦设定,往往无法更改。
可信计算基
TCB设计原则是硬件、软件和控制的集合体
安全边界,是一个假想的边界,可将TCB与系统的其余部分分隔开来。
TCB若要与系统的其余部分通信,则必须创建安全通道,也叫可信路径
参考监视器和内核
TCB中负责在授权访问请求之前验证对每个资源的访问的部分被称作参考监视器
参考监视器位于每个主体和客体之间,在允许任何请求继续之前,,验证请求主体的凭证是否符合客访问请求
参考监视器其实是TCB的访问控制执行者。
TCB中用于执行参考监视器功能的组件集合被称为安全内核
安全内核的目的是启动相关组件来执行参考监视器功能并抵御所有已知攻击。
状态机模型
描述了一种无论处于什么状态都始终安全的系统
基于有限状态机FSM的计算机科学定义
下一个状态=F(输入,当前状态)
输出=F(输入,当前状态)
状态是特定时刻的系统快照
接受输入或产生输出时会发生转换,转换总会产生新的状态,因此也叫状态转换state transition
所有状态转换都必须接受评估
如果每个可能的状态转换都产生了另一个安全状态,则这个系统可被称为安全状态机secure state machine
安全状态机模型是许多其他安全模型的基础
安全状态机模型系统总是以一种安全状态启动,在所有转换中保持一种安全状态,并且只允许主体以符合安全策略的安全方式访问资源。
信息流模型
information flow model
专注于控制信息的流动
基于状态机模型
不一定只处理信息流动的方向,还可处理信息流动的类型。
当同一对象的两个版本或状态存在于不同时间点的时候,信息流模型可被用来在它们之间建立联系。
信息流表明了一个对象从一个时间点的一种状态到另一时间点的另一状态的转换。
可通过明确排除所有非定义流动路径来解决隐蔽信道问题。
无干扰模型
noninterference model
大致基于信息流模型
关注的不是信息流,而是较高安全级别主体的动作会对系统状态或较低安全级别主体产生的影响。
主体A(高级别)的动作不应影响主体B(低级别)的动作,甚至不应引起主体B的注意。
如果产生了影响,可能会把B置于一种不安全的状态,或会让人推断出更改涉密级的信息。
无干扰模型的使用可以提供一种防止木马、后门、rootkit等恶意程序造成损害的保护手段
获取-授予模型
take-grant model
规定应该怎样把权限从一个主体传递给另一个主体,或从一个主体传递给一个客体。
获取和授予规则实际上是一种复制功能。
访问控制矩阵
access control matrix
是一个由主体和客体组成的表格,标明了每个主体可对每个客体执行的操作或功能。
矩阵的每一列都是依照客体排列的访问控制列表ACL
定密分类排列完毕后,矩阵的每一行都是每个被列出主体的能力列表。
Bell-LaPadula模型
美国防部于20世纪70年代根据其多级安全政策开发了Bell-LaPadula模型。
多级安全政策规定,具有任何级别许可权的主体可以访问该许可权级别或低于该级别的资源。
然而在许可权 级别内,也只能按因需可知need-to-know原则授予对分隔开的客体的访问权。
在设计上可以防止泄密信息泄露或者被转移到安全性较低的许可权级别。
通过拦截较低密级主体对较高涉密级客体的访问实现的。
着重于借助这些限制来保持客体的保密性,但不涉及客体安全的任何其他方面。
Bell-LaPadula模型建立在状态机概念和信息流模型之上,还采用了强制性访问控制和基于格子的访问控制概念。
简单安全属性
####### 不可向上读
*安全属性
####### 不可向下写
自主安全属性
####### 系统通过一个访问矩阵执行自主访问控制
####### 执行了主体基于其工作或角色按需访问客体的规则
可信主体不受*安全属性约束。
意味着允许可信主体违反*安全属性执行向下写操作。
因是20世纪70年代设计出来的,不支持目前常见的许多操作,如文件共享和网络连接。
Biba模型
在BellLaPadula模型之后被设计出来的,侧重的是完整性问题。
也建立在状态机概念上,基于信息流,而且是一个多级模型
实际上是一个反向Bell-LaPadula模型
简单完整性属性
规定不可向下读
####### 主体不能读取较低完整性级别的客体
*完整性属性
不可向上写
####### 规定主体不能修改较高完整性级别的对象
数据完整性保护由数据定密分类决定
Clark-Wilson模型
通过一种涉及诸多方面的方法实现数据的完整性。
没有定义正式状态机,而是定义了每个数据项并且只允许通过一个受限或受控中间程序或接口进行修改。
不要求使用格子结构,而是采用一个名为三元组或访问控制三元组的主体/程序/客体的三方关系。
主体无法访问客体,只能通过程序访问客体。
借助组织完善的事务和职责分离两项原则提供了保护完整性的有效手段。
####### 组织完善的事务采用程序形式。
####### 三元组关系能提供保护客体完整性的方法
####### 通过TP转换规程限制对CDI受约束数据项的访问,构成了Clark-Wilson完整性模型的支柱
####### 受限接口模型,根据基于定密分类的限制提供只涉及主体的授权信息和功能。
######## 实现了职责分离
通过安全标签授予对客体的访问权,但仅通过转换规程和受限接口模型授予。
在设计上通过访问控制三元组来保护数据的完整性。,但是接口也可以很容易通过编程来限制或约束可向主体显示的客体。因此该概念也适用于保护保密性
许多情况下,主体和客体之间存在一个中间程序,如果这个中间程序专注于保护完整性,那它就是在执行Clark-Wilson模型
如果利用访问控制三元组专注于保护保密性,还没有对应的模型名称。
Brewer and Nash模型
该模型为了让访问控制可以根据用户先前的活动动态地作出改变。使其成为一种状态机模型。
该模型适用于单个集成的数据库,它寻求创建对利益冲突概念敏感的安全域。
管理员根据被分配的工作职责和工作任务对系统中数据拥有完全访问控制权,然而在针对任何数据项执行操作的时刻,对任何冲突数据项的访问都会被临时拦截,只能访问与初始数据项相关的数据项。任务完成后,管理员的访问权将恢复为安全控制。
Goguen-Meseguer模型
是一个完整性模型,但不像Biba模型有名。
被认为是非干涉型概念理论的基础。
该模型以主体可访问的预先确定的客体集或域(即一个列表)为基础。
其根基是自动控制理论和域隔离
只允许主体对预定客体执行预定操作。
主体不能干扰彼此的活动。
Sutherland模型
是一个完整性模型
专注于通过防止干扰来支持完整性。
基于状态机模型和信息流模型
理念:对一组系统状态、初始状态和状态转换给出明确定义。
通过只使用被预先定义的安全状态来保持完整性和阻止干扰。
常见例子:防止隐蔽信道被用来影响进程或活动的结果。
Graham-Denning模型
专注于主体和客体的安全创建与删除。
该模型是八条主要保护规则或操作的集合,用于定义某些安全操作的边界。
八条保护规则
安全创建、删除主体、客体
安全提供读取、授权、删除、传输访问权。
主体在一组客体上执行某些操作的具体能力或权限被定义在一个访问矩阵中。(也叫访问控制矩阵)
Harrison-Ruzzo-Ullman模型
是Graham-Denning模型的扩展
专注于给主体分配客体的访问权限以及这些被分配权限的韧性。
建立一个有限规程集或访问权限集为中心,利用这些规程编辑或更改主体对客体的访问权限。
根据系统安全挑选控制
为某些类型的应用购买信息系统的用户,在达成交易前往往要先了解信息系统的安全优势和弱点。
只考虑事先经过正式评估并已得到某种安全评级的系统
安全评估常常由可信的第三方负责进行。
通用准则CC
Common Criteria
定义了测试和确认系统安全能力的各种级别,级别上标准的数字表示执行了哪种测试和确认
即便是最高CC评级,也不能保证这些系统绝对安全。或者说它们完全不存在可被恶意利用的漏洞和弱点。
CC被设计成一个动态主观性产品评估模型,用于取代以前的静态系统,如可信计算机系统评估准则TCSEC和欧盟的信息技术安全评估准则IITSEC。
1998年加、法、德美英的政府机构代表签署了“IT安全领域通用准则证书认可协议”,使“通用准则”成为一个国际标准。后又有23个国家签署了这份协议。
基于两个要素:保护轮廓和安全目标。
保护轮廓protection profile为将接受评估的产品(即受评估对象)规定了安全要求和保护措施。
####### 可以把这些要求和保护措施视为客户的安全期望或客户“想要的东西”
安全目标security targets,ST规定了应被供应商纳入受评估对象的安全性能。
####### 可以把安全目标视为已经执行的安全措施或供应商“将提供的东西”
可将机构的保护轮廓与被选中供应商的受评估对象的各种安全目标进行比较。
客户购买的往往是PP与ST最接近或匹配度最好的产品。
客户可根据已公布或已面市的评估保证级别EAL为现有系统初步选出一家供应商。
EAL1~EAL7
####### CC和其他评估标准一样,也不包括现场安全评估。
####### CC指南不涉及对电磁辐射的控制。
####### 没有明确规定对密码的算法强度进行评级的标准。
操作授权ATO
就许多环境而言,必须得到正式批准才能将有安全保障的设备用于IT操作目的。
被称为操作授权(Authorization To Operate)
操作授权是一种正式授权
ATO的评估和分配由授权官员(Authorizing Official)AO负责执行。
操作授权有效期通常为5年
重新申请授权的情况
####### 1.ATO时间期限到期
####### 2.系统遭遇严重安全事件
####### 3.系统发生重大安全变化
AO授权官员可自主确定哪些安全事件或安全变化会导致操作授权丧失。一次中度入侵事件或一个重要安全补丁的使用都有可能导致ATO失效。
AO可以作出的4种授权决定
操作授权
通用控制授权
使用授权
拒绝授权
理解信息系统的安全能力
信息系统的安全能力包括内存保护、虚拟化、可信平台模块TPM、加密/解密、接口和容错。
内存保护的目标是防止活动进程与并非专门指派或分配给它的内存区域交互。
虚拟化是隔离操作系统,测试可疑软件或执行其他安全保护机制的一种工具。
TPM既是主板上密码处理器芯片的规范,也是此规范执行方案的称谓。
HSM硬件安全模块就是TPM的一个例子。
HSM可以是主板上的一块芯片,也可以是一张扩展卡(插在路由器、防火墙或机架式刀片服务器上使用)
HSM包含防篡改保护机制,即便HSM被物理访问,也不可能被攻击者滥用。
受约束接口旨在限制或制约得到授权和未经授权用户的操作。是Clark-Wilson安全模型的一种实际执行方式。
容错fault tolerance是指系统虽然发生故障,但仍能继续运行的能力。
为了实现容错,需要添加冗余组件。
例如给廉价磁盘冗余阵列RAID添加硬盘
给故障转移集群配置添加服务器
安全漏洞、威胁和对策
共担责任
共同承担建立和维护安全的责任
机构里每个人都负有一定的安全责任
机构对利益相关方有作出周密安全决策以保持可持续发展的责任
云共担责任模型
威胁情报来源或服务责任
评价和弥补安全架构、设计和解决方案元素的漏洞
硬件
保护环
其本质在于优先级、权限和内存分段
操作模式
用户模式
特权模式
####### 还被称作管理程序模式、系统模式或内核模式
存储器
ROM只读存储器
####### 不可修改性
####### 标准ROM芯片的内容是工厂里“烧入”的,最终用户根本无法更改。
####### NAND闪存,广泛用于存储卡、优盘、移动设备和SSD固态硬盘
RAM可读写存储器
####### 只能在持续供电期间保留内容
####### 只能用于临时存储
####### 真实内存
####### 高速缓存RAM
######## 许多外围设备也配备了高速缓存,如HDD硬盘驱动器、固态驱动器SSD和某些优盘都包含缓存,以提高读写速度
二级内存
不是CPU能直接读取的,必须先由OS将其保存到真实内存中
虚拟内存是一种特殊的二级内存
OS把数据从硬盘读回真实内存的过程叫分页
数据存储设备
主内存,是被计算机用来在运行过程中保存随时可供CPU使用的必要信息的RAM
辅助存储设备,二级内存,如HDD硬盘、固态SSD、闪存驱动器、磁带、CD、DVD和闪存卡等
发射安全
许多电气设备发出的电信号或辐射是可以被人截取的,电信号和辐射里面可能包含保密、敏感或私人数据。
包括显示器、网线、内部或外部介质驱动器-硬盘驱动器、优盘、CD光盘等
用来抵御发射攻击的手段和方式被称为TEMPEST对策。
####### TEMPEST发展成监测发射信号和防止信号被人截取的一项广泛研究。
####### Van Eck偷听
######## 法拉第笼
######## 白噪声
######## 控制区
######## 屏蔽、访问控制和天线管理也有助于防止发射窃听。
######### 屏蔽电缆
######### 屏蔽双绞线
######### 光纤电缆
固件
也叫微码,用于描述存储在ROM芯片中的软件的词语。
通常用于移动设备、物联网设备、边缘计算设备、雾计算设备和工业控制系统
BIOS是嵌在主板的EEPROM或闪存芯片中的传统基本低端固件或软件。
统一可扩展固件接口UEFI
支持BIOS的所有功能
独立运行于CPU的驱动程序
phlashing攻击,通过安装正式BIOS或固件的恶意变体,给设备引入远程控制或其他恶意功能。
引导认证、安全引导
测量启动
基于客户端的系统
以客户端本身或客户端进程为目标的攻击
把恶意移动代码传输给客户端上运行的脆弱浏览器
本地缓存中毒
基于服务器端的系统
关注数据流控制的问题
数据流控制可由路由器、交换机等联网设备提供,也可由网络应用和服务提供。
负载均衡器可采用各种技术,包括随机选择、循环、负载/利用率监控和首选项。
工业控制系统
industrial control system
是一种控制工业流程和机器的计算机管理设备,也叫操作技术
分布式控制系统distributed control system,DCS
可编程逻辑控制器programmable logic controller,PLC
监测控制和数据采集supervisory control and data acquisition,SCADA
分布式系统
是协同一个资源或提供一项服务的一组单个系统的集合。
用户常把DCE看作一个单独的实体,而不是诸多单个服务器或组件。
高性能计算系统
high-performance computing,HPC
是指专用于以极高速度执行复杂计算或数据操控的计算平台
超级计算机和MPP解决方案是HPC系统的常见例子
HPC解决方案的三个主要元素
计算资源
网络能力
存储容量
实时操作系统
real-time operating system
RTOS通常保存在只读存储器ROM上,可在硬实时或软实时条件下运行
硬实时解决方案适用于出于安全原因必须最小化乃至彻底消除延迟的任务关键性操作,如自动驾驶汽车
软实时适用于可接受一定延迟的情况,如数字笔与计算机图形程序之间的延迟
RTOS可以是事件驱动的,也可以是分时的
部署RTOS时应采取隔离和通信监控措施
物联网
物联网设备的功能执行和运行往往很像嵌入式系统
往往涉及访问控制和加密
一个可能的安全方案是将物联网设备部署到独立于主网络并与之隔离的单独网络之中。
及时给系统打补丁,限制物理和逻辑访问,监控所有活动,以及执行防火墙和过滤
传感器是企业环境中常见的物联网设备
通常物联网设备都被设置了不安全的或弱的默认值。
不断评估所购物联网产品的设置和配置选项并适当地做出改动以优化安全性和支持业务功能。尤其是默认口令
边缘和雾计算
边缘计算edge computing,是让数据与计算资源尽可能靠近,在最大限度减少时延的同时优化带宽利用率的一种网络设计理念。
智能和处理被包含在每个设备中
边缘计算往往是作为工业物联网IIOT解决方案的一个元素来执行的
雾计算依靠传感器、物联网设备乃至边缘计算设备收集数据,然后把数据传回一个中央位置进行处理。
雾计算处理的位置被安排在一个局域网中。
集中式计算能力处理从“雾”中收集的信息
边缘计算在分布式边缘系统上执行处理操作,而雾计算对分布式传感器收集的数据进行集中处理。
嵌入式设备和信息物理融合系统
嵌入式系统必须与互联网和专用生产网络隔离,以最大限度地减少远程利用、远程控制或恶意软件危害的风险
静态系统
可联网设备
常常是静态系统
信息物理融合系统
属于由机器人技术和传感器组成的网络中的关键元素
更侧重物理仕杰的结果,而非计算方面
人体增强或辅助功能的假肢,车辆防碰撞系统,精确的机器人手术
专用设备
医疗设备
车载计算系统
自动驾驶系统,无人机等
智能电表
微服务
每个微服务都必须有一个定义明确并受保护的API以实现多个微服务之间以及微服务和其他应用程序之间的输入、输出
微服务是一种编程或设计架构,而API是推动通信和数据交换的标准化框架。
基础设施即代码
infrastructure as code,IaC
像在DevSecOps模式下管理软件和代码那样对硬件配置实施管理。
IaC往往用机器可读的定义文件和规则集来快速部署新设置并对硬件实施一致而有效的管理。
IaC并非仅针对硬件,还适用于监控和管理虚拟机、存储区域网SAN和软件定义网络SDN
常常要求采用硬件管理软件,如Puppet等
虚拟化系统
运行管理程序的计算机叫主机操作系统
在管理程序支持的虚拟机中运行的操作系统叫客户操作系统或虚拟化系统
I型管理程序是一个本地或裸机管理程序。
II型管理程序是一个受托管的管理程序。
虚拟化可提供合理方式运行使用EOL,EOSL、EOS的操作系统
弹性是满足当前处理需要而扩充或缩减资源。
可扩展性是指承担更多工作或任务的能力。
虚拟机逃逸
物理隔离,打补丁,严密监控攻击暴露和滥用索引
容器化
在虚拟机中消除OS的重复元素
应用程序单元或应用程序容器可用于虚拟化软件,使他们能移植到几乎任何操作系统中。
无服务器架构
一种云计算的概念
代码由客户管理,平台或服务器由云服务提供商CSP管理
移动设备
指电池驱动的任何东西
智能手机、平板电脑、智能手表、或计步器
移动设备管理mobile device management,MDM
统一端点管理unified endpoint management,UEM
全设备加密,通信保护-通信加密,远程擦出,设备锁定
屏幕锁,GPS和定位服务,内容管理,应用程序控制,推送通知,第三方应用商店,存储分段,
资产跟踪和存货控制,可移动存储,连接方法,禁用无用性能,生根或越狱,旁加载,自定义固件,
运营商解锁,固件无线更新OTA,密钥管理,凭证管理,手机短信
移动设备的部署策略
基本安全保护机制
人和软件都不可信任–零信任
进程隔离
1.可防止未经授权的数据访问
2.可保护进程的完整性
硬件分隔
通过物理硬件控制
通常用于国家安全执行方案
系统安全策略
系统开发人员最好让安全策略正式成文,以文件形式定义一套规则、实践规范和规程,并阐明系统该怎样管理、保护和分发敏感信息。
常见的安全架构缺陷和问题
安全模型和架构的目标是最大限度地弥补已知缺点。
隐蔽通道
指在不常被通信使用的路径上传递信息的方法
是一种违反、绕过或避开安全策略且不会被检测到的手段。
隐蔽时序通道
通过改变系统组件的性能或以某种可预测方式修改资源时序来传达信息
隐蔽存储通道
通过将数据写入可由另一进程读取的公共存储区来传达信息。
隐蔽时序通道涉及秘密传输数据的方法, 比如闪烁的灯光、变化的声音、流量的变动、多是信号的变动等
隐蔽存储通道,通常是把数据放到一个OS看不到或忽略的位置,比如未分配或未分区的空间、HDD的坏扇区或SSD的坏块、未在目录、文件系统注册直接写入扇区或集群的数据。
基于设计或编码缺陷的攻击
一些维护陷阱或后门,来自系统设计、不完善的测试
在系统开发的最后阶段可轻而易举的删除,而到了测试和维护阶段却很难检测到它们。
编码实践不当或安全考虑的缺乏是系统架构漏洞的常见来源和原因。
人类永远编写不出绝对安全的代码
用整个开发周期的源代码分析工具将最大限度地减少产品缺陷
rootkit
是嵌入操作系统的一种恶意软件
针对rootkit唯一安全的响应是重建或更换整个计算机系统
检测方法是注意系统文件的大小和或哈希值上的变化
####### 可以手动执行,也可HIDS和系统监控安全工具自动执行
增量攻击
攻击以缓慢、渐进的方式发生,而不是通过明显或可识别的尝试来危害系统的安全性或完整性。
数据欺骗
####### 一种主动攻击,通过内部人员不断对数据进行微小、随机或增量更改。
####### 应对方法是文件加密技术或某种形式的文件监控
萨拉米香肠攻击salami attack
####### 系统性消减账户或其他有财务价值的资产,定期和常规性地从余额中扣除不起眼的金额。
####### 被专家认为是有内部人员参与的情况下完全可实现的,不易被发现的攻击方式
####### 应对方法是适当地职责分离和代码控制、设置财务交易监视器跟踪极小金额转移或有财务价值相关项目变动、定期的员工工作准则宣贯
物理安全要求
站点与设施设计的安全原则
安全设施计划
选择或设计安全设施的过程都始于计划。
安全设施计划secure facility plan
需要列出组织的安全需求,并突出用于保障安全的方法及机制。
该计划通过风险评估和关键路径分析来制定
设计安全IT基础设施的第一步是满足组织环境及信息设备的安全要求。
基本要求包括电力、环境控制(建筑、空调、供暖、湿度控制等)以及供水、排水。
同等重要的是针对已完成的或潜在的技术融合的评估
信息安全人员应参与站点与设施的设计
安全设施计划基于分层防御模型。
安全机制被定为为串联运行。
站点选择
基于组织的安全需求。
成本、位置、及规模都很重要,但是优先考虑安全要求。
站点位置与施工建造至关重要
重点考虑站点是否靠近其他建筑物与商业区
考虑附近是否有应急事件响应处理人员以及其他一些因素
考虑当地典型的极端恶劣天气,并避开和阻止大多数明显的入侵意图
考虑站点隐蔽性
工业伪装
例如数据中心可能看起来像食品包装设施厂
设施设计
安全的首要任务始终是保护人员的生命和安全。
确保所有设施设计和物理安全控制符合所有适用的法律、法规
安全体系架构的想法常被称为CPTED(通过环境设计预防犯罪)
CPTED涉及设施设计、景观美化、入口概念、校园布局、照明、道路布置以及车辆和步行车辆的交通管理
CPTED设计指导的地点对人们的行为以及人们对地点的感知有着惊人但微妙的影响。
CPTED三种主要策略
自然环境访问控制
自然环境监视
自然环境领域加固
实现站点与设施安全控制
保护设施的控制包括政策、人员管理、计算机技术和物理屏障
管理类物理安全控制、技术类物理安全控制、现场类物理安全控制
控制的功能顺序
威慑、拒绝、检测、延迟、判定、决定
设备故障
对于老旧硬件应安排定期更换或维修
设备送修时,需有替代件或备份件供临时使用
小故障进行维修的做法是可接受的,设备出现大问题才进行维修更换是难以接受的
配线间
电缆设备管理策略用于定义设施内网络布线和相关设备的物理结构和部署。
接入设施
ISP电缆接入建筑物内部的接入点
设备间
主布线间,通常与接入设施连接或相邻
骨干配线系统
为设备间和通信间提供电缆连接
配线间
中间配线设施,也是连接多个楼层的地方,此处安全非常重要
水平配线系统
提供通信机房与工作区域间的连接。
服务器间与数据中心
服务器间应位于建筑的核心位置
避开一楼顶楼或地下室
远离水、燃气与污水管道
一个数据中心可以是单租户配置、也可以是多租户配置
采用各种技术的访问控制来管理物理访问
智能卡、胸卡、接近式装置及读卡器、生物特征识别、入侵检测系统IDS(重点关注物理入侵)
以及基于纵深防御的设计
应将单日通行证和或访客胸卡清楚地标记为明亮的颜色,以便人员从远处识别,对于需要护送的访客,尤其如此。
入侵检测系统
电源、通信、心跳传感器进行线路探视
保安、自动访问控制、动作探测器以及其他专业监视技术
安全摄像头是一种威慑措施,而检查事件记录信息是一种检测措施。
摄像头
安全摄像头的位置和功能与设施的内部和外部设计相协调
假冒或伪装的摄像头可以以最小的成本实现威慑
访问滥用
配备安保人员或其他监视系统来防止滥用行为,例如未经授权的进入
审计跟踪与访问日志也是有效的技术手段
####### 日志可由安保人员手工记录
介质存储设施
证据存储
事故响应的一个关键部分是收集证据以进行根本原因分析。
受限区与工作区安全
敏感隔间信息设施
SCIF可以建造在陆地设施、飞行器或漂浮平台里
SCIF可以是永久性建筑,也可以是临时性设施
基础设施关注点
电力
####### 电力供应不是持续和洁净的,存在电压波动引起的设备损坏。
####### 浪涌保护器–瞬间断电
####### 电源或线路调节器–先进的浪涌保护器,可消除或过滤线路噪声
####### 不间断电源UPS
######## 双变换和在线交互
####### 使用发电机
噪声
####### 不连续的噪声被标记为瞬态噪声
####### 噪声不仅影响设备电源工作,还可能干扰通信、传输以及播放的质量。
####### 电流产生的噪声能影响使用电磁传输机制的数据通信,如手机、网络、广播等
####### 有两类电磁干扰EMI
######## 普通模式
######## 穿透模式
####### 无线电频率干扰
######## RFI
####### 使铜线缆远离EMI和RFI发射源,使用光纤网络,采用屏蔽电缆
温度、湿度和静电
####### 常见的暖通空调HVAC是正压送风系统
####### 温度变化 产生热振荡会使材料膨胀和收缩,可能导致芯片蠕变或焊接点出现裂纹
####### 湿度标准应保持在20%~80%
####### 保持正气压,并奥驰较高的空气过滤水平
关于水的问题
####### 如漏水和洪水
####### 远离水源或水管的位置
####### 地板或架空地板下面安装漏水探测绳
####### 最好知道水阀及排水系统的位置
火灾预防、探测与消防
阶段1早期、阶段2烟雾、阶段3火焰、阶段4炙热
发现越早,越容易扑灭,火灾以及灭火剂造成的损失也越小
防火管理的一个基础是适当地人员防火意识培训
培训人员如何发现与使用灭火器
员工接受培训后,通过演练和模拟对培训进行测试
####### 应定期进行测试
####### 必须定期检查灭火器、探测器、报警器和电梯楼梯