该知识领域涉及如下考点,具体内容分布于如下各个子章节:
- 使用安全设计原理来研究、实施与管理工程过程
- 理解安全模型的基本概念(例如 Biba、Star Model、Bell-LaPadula 等模型)
- 基于系统安全要求选择控制措施
- 理解信息系统 (IS) 的安全功能(例如:内存保护、可信赖平台模块 (TPM)、加密/解密)
- 评估并降低安全架构、设计和解决方案方面的漏洞
- 选择和确定加密解决方案
- 理解密码分析攻击方法
- 将安全原理运用到场所与设施的设计上
- 设计场所和设施安全控制措施
5.1. 密码学
5.1.1. 密码学的历史里程碑
5.1.1.1. 凯撒密码
加密消息时将字母表上的每个字母右移三位,所以凯撒密码也称为ROT3(Rotate 3)。例如A变成D,B变成E。
在凯撒密码中,密钥就是字母表平移的位数。所以密钥只有26中(排除0的,只能25种),可以通过暴力破解来破译密文。
散密码虽然使于使用,但Z颇丰起来也轻而易举。面对一种叫作"频率分析"的攻击类型时,它会非常脆弱,英文中使用最频繁的字母是E、T、A、O、N、R、I、 S 和 H。只需要在被加密的文本中找出最常用的字母,然后尝试替换这些常用字母,便可确定文本模式。
5.1.1.2. 美国南北战争
文字替换+移位
替换密码的密钥为替换表。
5.1.1.3. Ultra和Enigma
Enigma是一种由键盘、齿轮、电池和灯泡组成的机器,可以完成加密和解密。发送者和接收者都必须使用相同的密钥,因此发送者和接收者会事先收到一份叫国防军密码本的册子。
密钥:每个轮子的旋转位置。
5.1.2. 密码学基本知识
基本术语
- P:明文
- C: 密文
- K:密钥
5.1.2.1. 目标
- 保密性
- 完整性
- 身份验证
- 不可否认性:由公钥系统提供。
私密密钥或对称密钥密码系统不可提供不可否认性保障。因为通信双方都知道密钥。
5.1.2.2. 密码数学
逻辑运算
- AND(^) 只有在X和Y都为真时,输出值才为真
- OR(v) X和Y中有一个为真则为真,两个都为假时才为假
- NOT(~或!)
- Exclusive OR(⊕) 只有当一个输入值为真时才返回真值,如果两个值都为假或真时,输出值为假。
MOD
单向函数
Nonce 如IV
0知识证明
你向某个第三方证明,你确实知道一个事实,但同时不把这个事实本身披露给该第三方。通常通过口令和其他秘密鉴别符实现。
分割知识
当执行某项操作所要求的信息或权限被分散到多名用户手中时,任何一个人都不会具有足够的权限来破坏环境的安全。这种把职责分离和双人控制融于一个解决方案的做法叫"分割知识"。
N分之M控制 要求操办人总数N中至少要有 M 个操办人同时在场才能执行高安全级任务。因此,八分之三控制要求,在被指派可执行密钥托管恢复任务的8 个操办人中,要有 3 个同时在场才能从密钥托管数据库中提取一个密钥。
代价函数
你可用代价函数或代价因子从耗费成本和/或时间的角度测量破解一个密码系统需要付出的努力,以此来衡量密码系统的强度。对一个加密系统实施一次完整蛮力攻击所需付出的时间和精力,通常是代价函数所代表的内容。
代价函数的大小应该与受保护资产的价值匹配,代价函数只需要略大于该资产的时间值即可。
5.1.2.3. 密码
代码作用于单词和短语,而密码作用于字符和位。
移位密码 通过一种加密算法(通过密钥建立矩阵)重新安排明文消息的字母,形成官方消息。解密时只需要逆向执行加密转换便可恢复原始消息。
替换密码 通过加密算法用一个不同的字符替换明文消息的每个字符或位。多表替换虽然可以抵御直接频率分析,但周期分析的二阶式频率分析可以破解。
一次性密码本 极强的替换密码,很难破解。为明文消息的每个字母使用一个不同的替换字母表。可用如下 加密函数C = (P + K) MOD 26。
- 单次密本必须随机生成;
- 单次密本必须处于物理保护之下,以防泄露。
- 单次密本只能使用一次;
- 密钥必须至少与消息一样长。
运动密钥密码 解决了单次密本需要物理交换密本的麻烦,通过选用一本书籍中的段落文字作为密钥来进行加密。
块密码 在同一时间对整个消息执行加密算法。比如移位密码,通过了密钥构建了明文的矩阵排列产生了密文;
流密码 一次在消息的一个字符或位上运行。如凯撒密码、单次密本。
混淆和扩散
混淆:明文与密钥之间有复杂的关系。
扩散:明文中发生的一点变化,会导致多个变化在密文中传播。
替换带来的是混淆,移位带来的是扩散。
5.1.3. 现代密码学
5.1.3.1. 对称密钥算法
对称密钥算法依靠一个分发给所有通信参与方的"共享秘密"加密密钥。这个密钥被各方用来加密解密消息。
对称密钥加密有如下缺点:
- 密钥分发是主要问题;
- 对称密钥加密不提供不可否认性
- 算法缺乏可伸缩性:只能适用于小的通信群体。通过对称加密法完全连接 n 个参与方所要求的密钥总数可从下式得出:
密钥数 = n(n-1)/2
- 密钥必须经常重新生成:每当有参与者离开通信群体时,此参与者知道的密钥都必须弃用
优点:
运行速度快
5.1.3.2. 非对称密钥算法
非对称密钥算法算法也叫公钥算法,可提供解决方案消除对称密钥加密的弱点。每个用户都有两个密钥:一个是所有用户共享的公钥,另一个是只有用户自己知道并保守秘密的私钥。
对称 | 非对称 |
---|---|
单个共享密钥 | 密钥对集 |
带外交换 | 带内交换 |
不可扩展 | 可扩展 |
速度快 | 速度慢 |
大批量加密 | 小块数据、数字签名、数字封装、数字证书 |
保密性 | 保密性、完整性、身份验证、不可否认性 |
5.1.3.3. 散列算法
公钥密码系统与消息摘要配套使用可提供数字签名能力。
5.1.4. 对称密码
5.1.4.1. 数据加密标准
数据加密标准(Data Encryption Standard, DES)是一种64位(56位用于加密,8位用于奇偶校验)块密码,通过簸箕的一系列XOR运算生成密文,有5种运算模式:
- 电子密码本(ECB)
- 密码块链接(Cipher Block Chaining,CBC)
- 密码反馈(Cipher Feedback,CFB)
- 输出反馈(Output Feedback,OFB)
- 计算器(Counter, CTR)
5.1.4.1.1. ECB模式
最不安全的模式,算法每次处理一个64位块,它只用选好的密钥给块加密。相同的明文分组会被转换为相同的密文分组,最终生成一个(明文分组,密文分组)的对应表,所以称为电子密码本模式。
5.1.4.1.2. CBC模式
每组明文在加密前先要借用前面刚生成的密文块进行XOR运算。CBC执行一个初始化向量IV并用第一个消息块(分组)进行XOR运算,每次运算生成一个唯一的输出。IV必须发送给接收者。
缺点:如果一个块在传输过程中毁坏,这个块以及其后的块将无法解密
5.1.4.1.3. CFB模式
密码反馈(CFB)模式是CBC模式的流密码版。换句话说, CFB针对实时生成的数据进行运算。但是, CFB 模式不把消息分解成块,而是使用与块大小相同的存储缓冲区 。系统在缓冲区
填满时给数据加密,然后把密文发送给接收者。接下来,系统等待缓冲区下次被新生成的数据 填满,然后将它们加密井传输。除将使用原先就有的数据变成使用实时数据这一点外, CFB采用的方式与CBC相同。它使用了IV,此外使用了链接。
5.1.4.1.4. OFB模式
DES 以与 CFB 模式几乎完全相同的方式运行。所不同的是, DES不是对前一个密文块的加密版进行异或运算,而用一个种子值对明文进行异或运算。 OFB模式的主要优势在于,不存在链接函数,传输错误不会传播。
5.1.4.1.5. CTR模式
以计数器(CTR)模式运行的DES使用了与CFB和OFB模式类似的流密码。但是,CRT 模式不是根据以前的种子值结果为每次加密/解密运算创建种子值,而是利用一个简单的计数器为每次运算增量。与OFB模式一样,CTR模式不会传播错误。
5.1.4.2. 3DES
DES的56位密钥不再被认为足以应对现代密码分析技术和超级计算机能力。改进版DES,3DES可通过相同的算法产生更安全的加密。3DES共有4个版本:
- DES-EEE3:表示用3个不同的密钥K1、K2、K3给明文加密三遍,密钥长度56*3=168
- DES-EDE3:密钥长度56*3=168
- DES-EEE2:密钥长度56*2=112
- DES-EDE2:密钥长度56*2=112
四个模式在安全性水平相当。
5.1.4.3. IDEA
国际数据加密算法(IDEA)块密码是在业界普遍抱怨 DES 算法缺乏充分密钥长度的情况下发出来的。与 DES 一样, IDEA 在 64 位明文/密文块上运行。不过, IDEA 是用一个 128 位密钥开始运算的.IDEA 能在 DES 使用的 5种模式 (ECB、 CBC、 CFB、 OFB 和 CTR)下运行。
5.1.4.4. Blowfish
Blowfish块密码是DES和 IDEA的另一个替代方案。Blowfish与它的前身一样,在64位文本块上运行。不过,Blowfish允许密钥长度可变,其中最短为相对不太安全 的32位,最长为极强的448位,从而进一步拓展了IDE 的密钥强度。
5.1.4.5. Skipjack
Skipjack也在64位文本块上运行。它使用80位密钥,支持 DES 支持的 4种运行模式。但它需要美国政府托管加密密钥,所以并不受欢迎。
5.1.4.6. AES
AES(Rijndael)密码允许使用3种密钥强度: 128位、 192位和 256位。AES只允许处理128位块。
常用知名对称密码算法信息如下:
5.1.4.7. 对称密钥管理
5.1.4.7.1. 创建和分发
线下分发
公钥加密
Diffie-Hellman
有时,无论是公钥加密还是线下分发都不够用。DH算法,通信双方仅通过交换一些可以公开的信息就能够生成出共享的密钥。具体生成过程如下:
在DH算法的交换中,双方的私钥和协商后的共享密钥并没有在网络上进行传输,双方传输的只是自己的公钥,而且传输过程中的p,g,A和B是无法推算出K的。所以,DH算法的本质就是双方各自生成自己的私钥和公钥,私钥仅对自己可见,然后交换公钥,并根据自己的私钥和对方的公钥,生成最终的密钥secretKey,DH算法通过数学定律保证了双方各自计算出的secretKey是相同的。
安全RPC(S-RPC)就是用DH来进行密钥交换的。
5.1.4.7.2. 存储和销毁对称密钥
- 绝不将加密密钥与被加密的数据保存在同一个系统中。
- 对于敏感密钥,可以多个各持一部分,即分割知识。
5.1.4.7.3. 密钥托管和恢复
公平密码系统:多个独立三方各保管一部分。
受托加密标准:如Skipjack,密钥由美国政府托管。
5.1.5. 密码生命周期
摩尔定律:处理器能力大约每两年会提高一倍。
5.1.6. 非对称密码
- Rivest-Shamir-Adleman(RSA)
- EI Gamal
- 椭圆曲线密码(Elliptic Curve Cryptography, ECC)
5.1.6.1. RSA
这个最著名的公钥密码系统以它的创建者命名。 1977 年, Ronald Rivest、 Adi Shamir 和Leonard Adleman提供了RSA公钥算法。RSA依靠因式分解大素数的天然计算难度。
5.1.6.2. EI Gamal
Diffie-Helhnan算法借助大整数和模运算,给经由不安全通信信道安全交换秘密密钥带来了方便。 1985年,T. El Gamal博士发表一篇论文,说明Diffie-Helhnan密钥交
换算法所基于的数学原则经过扩展,可支持用来加密解密消息的整个公钥密码系统。
El Gamal 也有劣势一一把由它加密的任何消息都加长了一倍。这在加密长消息或将通过窄带宽通信线路传输的数据时,会造成很大的困难。
5.1.6.3. ECC
同在 1985 年,另外两位华盛顿大学数学家提出将椭圆曲线密码学(ECC)理论用于开发安全密码系统。ECC可以实现较少的密钥长度提供更高的安全保障。
5.1.7. 散列函数
5.1.7.1. SHA
安全散列算法(Secure Hash Algorithm,SHA)及SHA-1、SHA-2和SHA-3是NIST力推的政府标准散列函数。
SHA-1可以处理512位块中的消息。不足512需要用附加数据填充,由于存在弱点,出现了SHA-2:
- SHA-256 用512位块大小生成256位消息摘要
- SHA-224 借用了SHA-256散列的缩减版本,用512位块大小生成224位消息摘要
- SHA-512 用1024位块生成512位摘要
- SHA-384 借用了SHA-512,用1024位块生成384位摘要
5.1.7.2. MD2
MD2由RSA创始人开发,可为 8 位处理器提供安全散列函数。MD2根据整条消息外加校验和生成一个128位的消息摘要。后来MD2被证明不是单向函数,已经不再使用。
5.1.7.3. MD4
1990年,Rivest 强化了他的消息摘要算法,以支持32位处理器并提高安全性。这一经过强化的算法就是MD4。它首先填充消息,确保消息的长度比 512位的倍数小 64位。例如,一个 16 位消息要填充 432 位数据,使其达到 448 位,而这比 512 位消息小 64 位。
5.1.7.4. MD5
1991年, Rivest 强化了MD4,称为MD5。ID5 还是处理 512 位消息块,但它通过4轮不同的计算生成一个长度与MD2和MD4算法相同的摘要(128位)。
MD2、MD4、MD5算法不被业界认为是合适的散列算法。蛤如今仍然有人使用它们。
5.1.7.5. HMAC
HMAC(Hashed Message Authentication Code)可通过一个共享秘密密钥与任何标准消息摘要生成算法(例如 SHA-3)配套使用。可保证消息在传输过程中的完整性,但不提供不可否认性服务。
5.1.7.6. 数字签名
目的:
- 不可否认性
- 完整性
数字签名利用了公钥加密算法和散列函数。
DSS 还规定了可用来支持数字签名基础设施的加密算法。当前得到批准的标准加密算法有
三种:
• FIPS 186-4规定的数字签名算法(DSA);
• ANSIX9.31 规定的Rivest-Shamir-Adleman(RSA)算法:
• ANSIX9.62 规定的椭圆曲线DSA(ECDSA)
5.1.8. 应用密码学
5.1.8.1. 便携设备
流行操作系统的当前版本如今都有硬盘加密能力,便于用户在便携设备上使用和管理加密。
Windows配备了BitLocker和Encrypting Fi1e System, EFS)技术,采用AES加密, MacOSX配备了FileVault加密,而VeraCrypt开放源程序包可用来在Linux、Windows和Mac系统上给硬盘。
现代计算机往往配有一个叫作可信平台模块(TPM)的专用密码组件。
5.1.8.2. 电子邮件
PGP
PGP有两个可用版本:
- 商业版用RSA进行密钥交换,用IDEA进行加密/解密,用MD5生成消息摘要。
- 免费版(基于极其相似的OpenPGP标准)用Diffie-Hellman进行密钥交换,用 Carlisle Adams/Stafford Tavares(CAST)128 位加密/解密算法进行加密/解密,用 SHA-1散列函数生成消息摘要。
S/MIME
安全/多用途互联网邮件扩展(Secure/Multipurpose Interet Mail Extensions)协议己经成为加密电子邮件的事实标准。S/MIME使用RSA加密算法。S/MIME 目前己被大量商业产品采用,其中包括:
- Outlook、Office 365
- Mozilla thunderbird
- Mac OS X Mail
5.1.8.3. Web应用程序
TLS
Https = Http + TLS
5.1.8.4. 数字版本管理
数字版权管理(Digital Right Management, DRM)软件通过加密在数字媒体上执行版权限制。出版界一直在尝试给各类媒体配上 DRM 方案,其中包括音乐、电影和图书。
音乐DRM
许多情况下,尤其在音乐方面,反对者激烈抵制部署 DRM 的尝试,他们指出, DRM 的使用践踏了他们自由享用得到合法许可的媒体文件并制作拷贝的权利。
电影DRM
高带宽数字内容保护(HDCP)
高级访问内容系统(ACCS)
电子书DRM
5.1.8.5. 联网
IPsec
互联网安全关联和密钥管理协议(Inernet Security Association and Key Management Protocol, ISAKMP)
WPA/WPA2: WiFi受保护访问(WPA)以执行临时密钥完整性协议(TKIP)的方式消除破坏WEP的密码缺陷,从而提高了WEP加密的安全水平。这一技术的进一步改进版叫 WPA2,
增加了AES密码。 WPA2 提供的安全算法适于在现代无线网络上使用。
5.1.9. 密码攻击
分析攻击 这是试图降低算法复杂性的一种代数操作。分析攻击的焦点是算法本身的逻辑。
执行攻击 这是探寻密码系统在执行过程中暴露的弱点的一种攻击。它着重于挖掘软件代码,其中不仅包括错误和缺陷,还涉及用来给加密系统编程的方法。
统计攻击 统计攻击探寻密码系统的统计学弱点,例如浮点错误和无力生成真随机数。统计攻击试图在承载密码应用的硬件或操作系统中找到漏洞。
蛮力攻击 蛮力攻击是直截了当的攻击。这种攻击尝试找出密钥或口令的每种可能的有效组合。
频率分析和唯密文攻击 许多时候,可供攻击者摆弄的只有经过加密的密文消息一一这种情景就是唯密文攻击。频率分析一一即计数每个字母在密文中出现的次数一被证明是可以帮助破解简单密码的一种技术手段。众所周知,E、T、A、O、I、N是英语中的最常用字母。攻击者就是借助这个知识来测试以下两个假设的:
- 如果这些字母也在密文中使用得最频繁,则密码可能是一种移位密码,即重新排列了明
文字符而未加任何改动。 - 如果密文中使用得最频繁的是其他字母,则密码可能是某种替换密码,即更换了明文字符。
已知明文 在己知明文攻击中,攻击者掌握了加密消息的拷贝以及用于生成密文(拷贝)的
明文消息。掌握这些信息可为攻击者破解弱代码提供很大帮助。例如,我们不妨想象一下,如 果你掌握了同一条消息的明文拷贝和密文拷贝,破解凯撒密码将是一件多么轻而易举的事情。
选择密文 在选择密文攻击中,攻击者能够解密密文消息中被选中的部分,然后用解密后的那部分消息来发现密钥。
选择明文 。在选择明文攻击中,攻击者能给他们选中的明文消息加密,然后根据加密算法分析密文输出。
中间相遇 攻击者可能通过中间相遇攻击手段来击败采用两轮加密的加密算法。恰恰因为这种攻击的出现,造成作为 DES 加密可行强化版的2DES很快被弃用,被3DES.
中间人 在中间人攻击中,一个心怀歹意之人在位于两个通信方之间的一个地方拦截所有
通信(其中包括密码会话的设定)。攻击者回应原发者的初始化请求并与原发者建立一个安全会
话。攻击者随后用一个不同的密钥冒充原发者与预期接收者建立第二个安全会话。
生日攻击 也叫碰撞攻击或反向散列匹配。实施生日攻击时,心怀歹意者尝试在有数字签名的通信中换用一条可生成相同消息摘要的不同消息,从而保持原始数字签名的有效性。
重放 重放攻击用于针对没有采用临时保护措施的密码算法。采用时间戳并给每条消息设定过期时间,可以挫败重放攻击。
5.2. PKI
5.2.1. 证书
数字证书其实就是一个人或组织的公钥的签注副本。内容包含具体的识别信息,受国际标准X.509限制:
- 序号
- 签名算法标识符
- 发证者名称
- 有效期
- 主体名称
- 主体的公钥
5.2.2. 发证机构
发证机构 (CA)是将公钥基础设施结合到一起的粘合剂。下面列出几大知名CA:
- Symantec
- IdenTrust
- Amazon Web Services
- GlobalSign
- Comodo
- Ce时um
- GoDaddy
- DigiCert
- Secom
- Entrust
- Actalis
- Trustwave
注册机构(RA)分担了CA签发数字证书前验证用户身份的负担。RA虽然本身并不直接签发证书,但是它们在认证流程中扮演了重要角色,允许CA远程验证用户的身份。
5.2.3. 证书的生成与吊销
5.2.3.1. 注册
想得到一份数字证书,你首先必须以某种方式向 CA 证明自己的身份;这个过程就是注册。身发证机构证明了自己的身份后,你还要向他们提供自己的公钥。CA接下来会创建一个X.509数字证书,内含你的身份识别信息和公钥拷贝。CA 随后会在证书上用 CA 的私钥写上数字签名,并把签了名的数字证书拷贝一个副本交给你。以后,你便可以把这份证书出示给你要与之安全通信的任何人了。
5.2.3.2. 验证
收到某个你要与之通信的人的数字证书时,你要用CA的公钥检查CA在证书上的数字签名。接下来对接CRL(CertificateRevocation List)或在线证书状态协议(Online Certificate Status Protocol, OCSP)确保证书未被注销。要证书满足以下要求,你便可以认定证书所列公钥是真实的了:
- CA的数字签名真实
- 你信任这家CA
- 证书没有吊销
- 证书包含你信任的数据
5.2.3.3. 吊销
发证机构偶尔需要注销证书。这种情况的出现可能由以下原因造成:
- 证书失信(例如,证书拥有者意外泄露了私钥)。
- 证书误发(例如, CA 未经适当验证就错误签发了证书)。
- 证书细节更改(例如,主体名称发生变化)。
- 全关联变更(例如,主体不再被申请证书的机构雇用)。
5.3. 安全模型、设计和能力的原则
5.3.1. 使用安全设计实施和管理工程过程
5.3.1.1. 主体和客体
对安全系统中任何资源的访问控制都涉及两个实体。
5.3.1.2. 封闭系统和开放系统
可以根据两种不同的理念设计和构建系统:封闭系统的设计使其只能与很少的系统协作,通常都是来自同一制造商。封闭系 统的标准一般是专有的,通常不会公并。另一方面,开放系统使用公认的行业标准设计。开放系统很容易与来自支持相同标 准的不同厂商。
与封闭系统相比,在如何攻击开放系统方面,攻击者无疑拥有更多的共享经验和知识。
5.3.1.3. 确保CIA 的技术
5.3.1.3.1. 限制(Confinement)
软件设计者使用"进程限制"来约束程序的行为。简而言之,进程限制使进程只能对某些内存位置和资源进行读取和写入,这 也被称为沙箱。
5.3.1.3.2. 界限 (Bound)
在系统上运行的每个进程都有授权级别。授权级别告知操作系统进程可执行什么操作。在简单系统中,可能只有两种授权级 别:用户和内核。
进程的界限由对其可以访问的内存地址和资源所设置的限制组成。界限规定了限制和包含进程的区域。在大多数系统中,这 些界限划分出每个进程使用的内存逻辑区域。操作系统负责强制执行这些逻辑界限并禁正其他进程访问。更安全的系统可能 需要物理上限制进程。
5.3.1.3.3. 隔离(Isolation)
通过热行访问界限来限制进程时,该进程将以隔离状态运行。进程隔离可确保隔离状态进程的任何行为仅影响与其关联的内 存和资源。隔离用来保护操作环境、操作系统(OS)的丙核以及其他独立应用程序。隔离是一个稳定的操作系统的重要组成部分。隔离能阻止一个应用访问另一个应用的内存或资源,不论是善意还是恶意的。
5.3.1.4. 控制
两种访问控制,分别称为强制访问控制 (MAC)和自主访问控制(Discretionary Access Control,DAC)。
5.3.1.5. 信任与保证
信任可通过实现特定的安全功能 Build-in 系统中,而保证是在真实情况下对这些安全功能的可靠性和可用性的评估,保证 需要持续地维护、更新以及重新验证。
5.3.2. 理解安全模型基本概念
5.3.2.1. 可信计算基 (TCB)
TCSEC(Trusted Compouter System Evaluation Criteria,可信计算机系统评估标准)是美国国防部的一个较早标准(目前已经被CC 标准替代),俗称橘皮书,该标准将TCB描述为硬件、软件和控件的组合,它们协同工作构成执行安全策略的可信根基。
TCB 是系统中唯一可信任的部分,其遵守并执行安全策略。系统中的每个组件未必都是可信的。但从安全角度考虑系统时, 应该对构成系统 TCB的所有可信组件进行评估。
5.3.2.1.1. 安全边界
系统的安全边界(Security Perimeter)是一个假想的边界,将、TCB,与系统的其余部分分开。该边界确保 TCB,与计算机系统 的其余元件之间不会发生不安全的通信或交互。TCB要想与系统的其余部分进行通信,必须创建安全通道,也称为可信路径。
5.3.2.1.2. 参考监视器和内核
当实现安全系统时,必须开发TCB的某些部分以对系统资产和资源(有时称为客体)实施访问控制。TCB中负责在授权访问 请求之前验证资源的部分称为参考监视器。参考监视器位于每个主体和客体之间,在允许任何请求继续之前,验证请求主体 的凭据是否满足客体的访问要求。如果不满足此类访问要求,则拒绝访问请求。实际上,参考监视器是TCB的访问控制执行者。
参考监视器需要有关其保护的每个资源的描述性信息。此类信息通常包括其分类和名称。
TCB中用于实现参考监视器功能的组件集合称为安全内核。
5.3.2.2. 状态机模型
状态机模型描述了二个系统,它无论处于什么状态总是安全的。安全状态机模型是其他许多安全模型的基础。 它基于有限状态机(Finite State Machine,FSM)。
output = F(input,current state), 即输出是输入和当前状态的函数。
5.3.2.3. 信息流模型
信息流模型基于状态机模型,侧重于信息流,信息流模型允许所有已授权信息流(无论是在相同分类级别内还是之间)。Bell-LaPadula和Biba模型,它们都是信息流模型。
- Bell-LaPadula模型关注的是防止信息从高安全级别流向较低安全级别。
- Biba 模型关注的是防止信息从较低安全级别流向高安全级别。
信息流模型不一定只处理信息流的方向,还可处理流动的类型。
信息流模型可以用于建立同一对象不同时间点的两个版本或状态之间的关系。因此,信息流指示对象从一个时间点的一个状态到另一个时间点的另一个状态的转换。信息流模型还可以通过明确排除所有非定义流动路径来解决隐蔽通道问题。
5.3.2.4. 非干扰模型
非干扰模型大致基于信息流模型。然而,非干扰模型并非关注信息流,而是关注较高安全级别的主体的动作如何影响系统状态或较低安全级别的主体的动作。即,主体A(高级别)的行为不应影响主体B (低级别)的行为,甚至不应引起主体B的注意。
5.3.2.5. Take-Grant 模型
Take-Grant模型使用有向图(如下所示)来规定如何将权限从一个主体传递到另一个主体或从主体传递到客体。
- 获取规则(take): 允许主体获取客体的权限
- 授予规则(grant): 允许主体向客体授予权限
- 创建规则(create): 允许主体创建新权限
- 删除规则(delete); 允许主体删除其拥有的权
5.3.2.6. 访问控制矩阵
访问控制矩阵是主体和客体的表,其指示每个主体可对每个客体执行的动作或功能。矩阵的每列是ACL。矩阵的每一行都是一个能力列表。ACL与客体绑定,它列出了每个主体可执行的有效操作。
5.3.2.7. Bell-Lapadula 模型
美国国防部(Department of Defense,DoD)在20世纪70年代开发了Bell-LaPadula模型,以解决保护机密信息的问题。国防部管理多级分类资源,Bell-LaPadula多级模型源自DoD 的多级安全策略。多级安全策略规定,具有任何级别许可的主体 可以访问其许可级别或以下级别的资源。但在较高许可级别内,仅在"知其所需"的基础上授予访问权限。
Bell-LaPadula.模型建立在状态机模型和信息流模型基础上,还采用了MAC和格子概念。状态机有三个基本属性
- 简单安全属性:不准向上读
- *安全/限制属性:不准向下写
- 自由安全属性:使用访问矩阵执行自主访问控制。
Beil-Lapadula模型仅能解决数据保密性疸,但没有涉及数据完整性和可用性。它出现较早,不支持文件共享和网络连接, 没有解决隐蔽通道问题。
5.3.2.8. Biba 模型
于一些非军事组织而言,完整性比保密性更重要。出于这种需求,开发了几种以完整性为重点的安全模型,例如由Biba和Clark-Wilson开发的模型。Biba模型是Bell-LaPadula 模型之后设计的。Bell-LaPadula 模型解决的是保密性问题,Biba 模型解决的是完整性问题。Biba模型也建立在状态机概念上,基于信息流,是一个多级别模型。实际上,Biba 模型看 起来与Beli-LaPadula模型非常相似,除了方向相反之外。两者都使用状态和转换,都有基本属性。两个模型最大的不同在 于主要的关注点:Biba模型主要保护数据完整性。
以下是Biba模型状态机的基本属性或公理:
- 简单完整性属性:不准向下读
- 完整性属性:不准向上写
有一些对Biba模型的批评,揭示出以下缺点:
- 它仅解决了完整性问题,没解决保密性或可用性问题(允许向上读)。
- 重点是保护客体免受外部威胁;它假定内部威胁以程序化方式处理。
- 它没有涉及访问控制管理,也没有提供方法来分配或更改客体或主体的分类级别。
- 它不能阻止隐蔽通道
5.3.2.9. Clark-wilson模型
尽管Biba模型在商业应用中发挥了作用,但在1987年专门针对商业环境设计出另一种模型。 Clark-Wilson模型采用多方面的措施来实施数据完整性。Clark-Wilson模型没有定义正式的状态机,而是定义每个数据项且仅允许通过某一小组程序进行修改。
克拉克-沃森模型不需要使用格子结构;相反,它使用被称为三元组或访问控制三元组的主体/程序或事务/客体的三部分关系。主体无法真接访问客体。客体只能通过程序访问。通过使用两个原则:标准格式的事务和职责分离,Clark Wilson模型 提供了保护完整性的有效手段
Clark-wilson 模型定义了收下数据项和程序:
- CDI(Constrained Data Item, 受约束数据项):完整性受到安全模型保护的任何数据项
- UDI(Unconstrained Data Item,无约束数据项):不受安全模型控制的任何数据项。
- IVP(Integrity Verification Procedure,整性验证过程):是扫描数据项并确认其完整性的过程。
- TP(Transformation Procedures, 转换过程):是唯一允许修改 CDI的过程。通过TP限制对CDI的访问构成了Clark-Wilson完整性模型的支柱。
5.3.2.10. Brewer and Nash模型
Brewer and Nash 模型是为了允许访问控制可以基于用户先前的活动而动态改变(这使其成为一种状态机模型)。该模型创建了一类数据,这个数据类定义了哪些安全域存在潜在的冲突,对于能够访问某个属于特定冲突类的安全域的任何主体,阻正他们访问属于相同冲突类的其他任何安全(例如,如果A和B这两个公司互相竞争,那么在C公司工作且有权访问A公司专有数据的人不应该被允许访问B公司的类似数据)。
5.3.2.11. Goguen-Meseguer模型
Goguen-Meseguer模型是一个完整性模型,基于自动化理论和域隔离,是非干涉概念理论的基础。它基于预先确定集合或域 (主体可访问的客体列表)。
- 主体对预定客体执行预定动作。
- 相似用户分配到域或集合后,相互之间不能干扰彼此活动。
5.3.2.12. Sutherland 模型
Sutherland模型是一个完整性模型。它侧重于防止干扰以支持完整性。它正式地基于状态机模型和信息流模型。但它并没有 直接表明保护完整性的具体机制。相反,该模型基于定义一组系统状态、初始状态以及状态转换的思想。通过仅使用这些预 定的安全状态来保持完整性并且阻止干扰。
5.3.2.13. Graham-Denning模型,
Graham Denning模型专注于主体和客体的安全创建与删除。 Graham Denning 是八个主要保
护规则或操作的集合,用于定义某些安全操作的边界:
- 安全地创建客体。
- 安全地创建主体。
- 安全地删除客体。
- 安全地删除主体。
- 安全地提供读取访问权限。
- 安全地提供授权访问权限。
- 安全地提供删除访问权限。
- 安全地提供传输访问权限。
通常,主体的针对一组客体的特定能力或权限定义在访问矩阵中。
5.3.3. 2.3.3.基于系统安全需求选择控制措施
- 1980 DoD致力于为其购买和使用的系统开发和实施安全标准,创建了TCSEC (可信计算机系统评估标准)
- 1990 欧洲创建了ITSEC (信息技术安全评估标准)
- 1998 CC通用准则替代了TCSEC和 ITSEC, 它被正式称为IT 安全领域通用准则认证认可协议,是一个国际标准。(加拿大、法国、美国、英国、德国联合签署)
5.3.3.1. TCSEC分类和所需功能
TCSEC 融合了功能性和保证,将系统提供的保密性保护等级分为四大类。然后将这些类别 进一步细分为用数字标识的其他子类别,例如 C1和 C2。CSEC 定义了下列主要类别:
- 类别A 验证保护。最高级别的安全性。
- 类别B 强制保护。
- 类别C 自主保护。
- 类别D 最小保护。用于已被评估但达不到其他类别要求的系统。
5.3.3.2. CC通用准则
通用准则(CC)代表了或多或少的全球性努力,涉及 TCSEC 和 ITSEC 参与者以及其他全参与者,最终,它导致了人们能够购买经过 CC 评估的产品。通用准则定义了测试和确认系统安全功能的各种级别,级别的数字表示执行了哪种类型的测试和确认。然而,很容易看出来,即使最高的 CC 评级也不等同于保证这些系统绝对安全,或者说它们完全没有可利用的漏洞或脆弱点。
5.3.3.2.1. CC要素:
- 保护范畴(Protection Profile,PP) 为TOE指定安全要求和保护。(客户相要的安全)
- 安全目标(Security Targets,ST) 指定了供应商在TOE内构建的安全声明(供应商声明的安全)
将PP与来自所选供应商的TOE中的各种ST进行比较。最接近或最匹配的就是客户购买的产品。对于当前可用的系统,客户最初根据已公布或上市的评估保证级别(Evaluation Assurance Level, EAL)选择供应商。
5.3.3.2.2. CC结构
PART 1 简介和通用模型
PART 2 安全功能要求
PART 3 安全保障
级别 | 保证级别 | 说明 |
---|---|---|
EAL1 | 功能测试 | 适用于对正确操作有一定可信度要求,但安全威胁不严重的情况。当采取适当谨慎的态度保护个人信息,需要独立的保证时,这个级别合适 |
EAL2 | 结构测试 | 适用于交付设计信息和测试结果符合良好商业惯例的情况。当开发人员或 用户需要低至中等水平的独立保证安全性时,这个级别很合适。在评估遗留系统时,IT与此级别密切关联 |
EAL3 | 系统测试并检查 | 适用于安全工程从设计阶段开始并且在后续过程中没有实质性更改的情况。当开发人员或用户需要中等程度独立地保证安全性时,包括彻底调查TOE及其开发,这个级别很合适 |
EAL4 | 系统地设计、测试和评审 | 适用于使用了严格、积极的安全工程和良好的商业开发实践的情况。这个级别不需要大量的专业知识、技能或资源。它涉及所有 TOE 安全功能的独立测试 |
EAL5 | 半正式设计和测试 | 使用严格的安全工程和商业开发实践(包括专业安全工程技术),来进行半正式测试。这适用于开发人员或用户,在计划开发方法以及随后严格开发的过程中,都需要高级别的独立保证安全的情况 |
EAL6 | 半正式验证、设计和测试 | 在设计、开发和测试的所有阶段使用直接、严格的安全工程技术,来生产优质的 TOE。这适用于需要针对高风险情况的 TOE,其中受保护资产的价值会证明额外成本是合理的。广泛的测试降低了渗透的风险、隐蔽通道的可能性以及晚受攻击的脆弱性。 |
EAL7 | 正式验证、设计和测试 | 仅用于最高风险情况或涉及高价值资产的情况。仅限于此类 TOE: 密切关注的安全功能需要进行广泛的正式分析和测试 |
尽管CC非常灵活,可以满足大多数那今天需求和需要,但CC指南也有如下缺点:
- 不能确保用户对数据的操作方式是安全的;
- 没有解决特定安全范围之外的管理问题;
- 不包括现场安全评估,不涉及人员、组织实践和过程或物理安全相关的控制
- 没有解决对电磁辐射的控制
- 没有明确规定对加密算法强度进行评级的标准
5.3.3.3. ITSEC
ITSEC代表了欧洲在制定安全评估标准的初步尝试。它作为TCSEC的替代方案而开发。ITSEC将评估中的系统称为评估目标(Target Of Evaluation, TOE)。
ITSEC 使用两个尺度来评估功能和保证:
- 系统的功能等级从 F-D 到 F-B3 进行评级(没有 F-A1)
- 系统的保证等级从 EO 到 E6 进行评 级。
TCSEC 和 ITSEC 之间的差异很多且各不相同。以下是两个标准之间最重要的一些差异:
- TCSEC几乎只关注保密性,而ITSEC除了保密性还解决了IA。
- ITSEC不依赖于TCB概念,也不要求在TCB中隔离系统的安全组件
- TCSEC要求任何已更改的系统都要重新评估,ITSEC在发生相同类别变更(如OS升级、打补丁)不需要新的正式评估。
安全评估标准比较
5.3.3.4. 行业和国际安全实施指南
支付卡行业数据安全标准(PCI DSS) 是一组提高电子支付交易安全性的要求。
国际标准化组织 (ISO) 国家标准组织的代表组成的全球标准制定组织。 ISO定义了工业和商业设备、软件、协议和管理以及其他标准。
5.3.3.5. 认证和鉴定
需要系统安全的组织需要一种或多种方法来评估系统满足其安全要求的程度。正式的评估过程分为两个阶段,称为认证和鉴定。
5.3.3.5.1. 认证(Certification)
系统认证是对计算机系统的各个部分的技术评估,以评估其与安全标准的一致性。步骤如下:
1、选择评估标准;
2、分析每个系统组件以确定是否满足安全目标;
3、评估整个系统后,对结果进行评估,以确定系统在当前环境中支持的安全级别;
4、系统验收。
认证仅对特定环境和配置中的系统有效,任何更改都可能导致认证失效。
5.3.3.5.2. 鉴定(Accrediation)
认可(Accrediation)是由指定许可机构DAA(designated approving authority)正式批准IT系统可以在所描述的风险环境中运行。
5.3.4. 理解信息系统的安全功能
5.3.4.1. 内存保护
内存保护是核心安全组件,在操作系统中必须设计和实现。无论系统中执行哪些程序,都必须执行内存保护,否则可能导致不稳定、侵害完整性、拒绝服务和泄露等结果。内存保护用于防止活动的进程与不是专门指派或分配给它的内存区域进行交互。
2017年发现了两个重要的内存错误。这两个漏洞被命名为Meltdown(熔毁)和Spec仕e(幽灵)。这些漏洞源于现代 CPU用于预测未来指令以优化性能的方法,导致了一些内存中的残余数据处于未保护状态。
内存保护包括:隔离、虚拟内存、分段、内存管理和保护环等。
5.3.4.2. 虚拟化
虚拟化技术用于在单个计算机系统内存中创建一个或多个操作系统。虚拟化有很多好处:
- 实时可扩展
- 能运行特定应用程序所需的操作系统版本
- 能快速恢复
5.3.4.3. 可信平台模块
可信平台模块(Trusted Platform Module,TPM)既是主板上的加密处理器芯片的规范,也是实现此规范的通用名称。TPM芯片用于存储和处理加密密钥,用于满足基于硬件支持/实现的硬盘加密系统。
当使用基于TPM 的全盘加密技术时,用户/操作员必须向计算机提供密码或物理 USB 令牌
设备以进行认证,然后才允许TPM芯片将硬盘加密密钥加载到内存。
通常认为用硬件实现硬盘加密比用纯软件实现更安全。因为如果把硬盘从原始系统中拿走,则无法对其进行解密。
硬件安全模块(HSM)是一种加密处理器,用于管理/存储数字加密密钥、加速加密操作、支持更快的数字签名以及改进身份验证。 TPM只是HSM的一个例子。
HSM为大型(2048位+)非对称加密计算提供加速解决方案而且提供密钥安全存储库。许多证书颁发机构系统使用HSM来存储证书。
5.3.4.4. 接口
通过在应用程序中实现受约束或受限制的接口,限制用户根据其权限执行操作或查看内容。
拥有完全权限的用户可以访问应用程序的所有功能,权限受限的用户访问则受到限制。
受约束接口的目的是限制或约束己授权和未授权用户的操作。这种接口的使用是Clark-Wilson 安全模型的一种实际的实现。
5.3.4.5. 容错
容错是指系统遭受故障后仍然能继续运行的能力。容错通过添加冗余组件实现,如在廉价磁盘冗余阵列(RAID)中添加额外磁盘,或故障转移集群配置中添加额外的服务器。
5.4. 安全漏洞、威胁和对策
5.4.1. 评估和缓解安全漏洞
从计算机体系结构来看安全。
5.4.1.1. 硬件
5.4.1.1.1. CPU
5.4.1.1.2. 存储器
只读存储器(ROM) 可以读取不能更改的内存。适合组织协调计算机中最核心的工作。
可编程只读存储器(PROM) 允许最终用户稍后烧入芯片内容, 一旦烧入后就不能更改。
可擦除可编程只读存储器(EPROM)
- 紫外线擦除可编程只读存储器(UEPROM): 用特殊的紫外光照射时可擦除芯片上的内容
- 电可擦除可编程只读存储器 (EEPROM): 电子可擦除它使用传递到芯片引脚的电压来强制擦除
闪存 是EEPROM的衍生概念,它是一种非易失性存储介质,可通过电子方式擦除和重写。
随机存取存储器(RAM) 是可读写存储器,与ROM 不同,计算机断电后RAM 中存储的所有数据都会消失。- 实际存储器/主存:通常由许多动态RAM芯片组成,由CPU 定期刷新。
- 高速缓荐RAM: 保存即将运行的数据。高速缓存RAM可称为L1、L2、L3、L4缓存。
- 寄存器:CPU 还包括数量有限的板载存储器,称为寄存器。
- 辅助存储器指磁性、光学或基于闪存的介质或其他存储设备,包含 CPU 不能直接获得的数据。CPU 为了访问辅助存储器 中的数据,必须先由OS 读取数据并将其存储在实际内存(主存)中。
存储器安全问题
- 电量残留:静态和动态RAM 芯片是通过使用电容和触发器来存储数据的,从技术角度看,断电后这些电子元件在有限时间 内仍可能保留一些电量。理论上可通过技术手段将设备上存储的部分数据读取出来。
- 数据残留:即使数据被删除后,数据仍可保留在辅助存储设备上
- 耗损均衡:传统的0擦除对SSD 无效;
- 访问控制:通过安全保护机制来控制在计算机使用过程中谁可访问存储在存储器中的数量。
- 可用性:必须选择能够在所有时间长度内保留数据的介质。
5.4.1.1.3. 输入和输出设备
显示器
- TEMPTEST是一种技术,可从远处甚至从另一个位置读取每个监视器产生的电子辐射(称为Van Eck 辐射),从远处读取电 子辐射这个过程称为Van Eck入侵。
- 肩窥、相机上的长焦镜头
打印机
- 窥探
- 副本
键鼠
- TEMPTEST
- 无线键鼠无线电信号可能被截获
调制解调器
已经被宽带和无线网络普及,调制解调器已经过时且少见的计算机组件。除非出于业务原因确实需要,否则应禁用。
5.4.1.1.4. 执行类型
多任务/多进程 单核多任务系统能在任意给定时间处理多个任务或进程 。多任务处理通过使用操作系统在单个处理器 上进行切换来处理多个进程。
多处理 莉用多个处理器 的处理能力来完成多进程应用程序的执行。多处理系统有两种类型:
- SMP(Symmetric Multiprocessing,对称多处理):多个处理器由单个操作系统控制,擅长以极高的速率处理简单操作。
- MMP(Massively Parrallel Multiprocessing,大规模并行处理):容纳数百甚至上千个处理器,每个处理器都,有自己的OS和内存、总线资源。MPP适合处理庞大、复杂和计算密集的任务,这些任务适合分解并分配到多个子任务进行处理。
多程序 多程序设计类似于多任务,它由OS协调,在单个处理器 上模拟同时执行两个任务。目前很少使用,与多任务处理有两个主要区别:
--- 多程序设计通常在大型机上使用,而多任务处理则在个人计算机上使用。 - 多任务通常由OS协调,而多程序需要编写专门的软件 ,通过OS 协调息的活动和执行。
多线程允许在单一进程中执行多个并发任务,这些任务被称为线程,与多任务区别是,多任务处理多个任务时占用多个进程。SMP系统可向每个可用处理器发送一个线程以便并发执行
5.4.1.1.5. 处理类型
许多高安全性的系统控制着分配了不同安全级别的信息的处理工作,例如美国政府将与国防有关的信息指定了分类级别:未分类、敏感、机密、秘密和绝密。设计计算机时必须遵循这种分类,这样它们就不会无意地尚未经授权的接收者泄露信息。
单一状态 单一状态系统需要使用策略机制来管理不同级别的信息。在这种类型的方案中,安全管理员批准处理器和系统一次只能处理一个安全级别的信息。
多状态多状态系统能够实现更高级别的安全性。这些系统经过认证,可使用专门的安全机制同时处理多个安全级别, 如下一节"保护机制"中所述。这些机制旨在防止信息跨越不同的安全级别。
5.4.1.1.6. 保护机制
运行中的计算机在运行时实现和处理安全性的方式可以大致描述为保护机制的集合。以下是各种保护机制的描述,包含保护环、操作状态和安全模式:
1.保护环
OS 设计之初就引入了保护环的概念。
- Ring 0 具有最高的特权级别,可访问任何资源、文件或内存位置,0S中始终驻留在内存中的部分称为内核。它占用环0并可抢占在任何其他Ring上运行的代码。
- Ring 1 各种任务请求、进程切换等而进出内存
- Ring 2 在一定程度上也有特权,是I/O驱动程序和系统应用程序驻留的地方
- Ring 3 应用程序和真他程序
环模型的本质在于优先级、特权和内存分段。任何想要执行的进程都必须排队等待(挂起的进程队列)。环编号最低的进程总比环编号较高的进程提前运行。较低编号环中的进程与较高编号环中的进程相比可访间更多资源并能更直接地写操作系统交置。在较高编号的环中送行的进程通常必须向较低编号环中的处理程序或驱动程序请求它们所需的服务,这有时称为中介访 问模型。在实践中,许多现代操作系统仅将内存分为两个段:
- 一个用于系统级访简(环0到2),通常称为内核模式或特权模式
- 另一个用手用户级的程序和应用程序(环匀,通常称为用户模式。
总结:内核位于中心环0内。环1包含其他操作系统组件。环2用于驱动程序和协议。用户级程序和应用程序在Ring 3上运行。Ring0--2在特权模式下运行,而Ring 3在用户模式下运行。
2.进程状态
3.安全模式
美国政府为处理机密信息的系统指定了4种经批准的安全模式。
1)专用模式
专用系统的用户有下列三个要求:
每个用尸必须具有允许访尚系统处理的所有信息的安全许可。
- 每个用户必须拥有系统处理的所有信息的访问批准。
- 每个用户必须有对系统处理的所有信息具有"知其所需"权限
2)系统高级模式 - 每个用户必须具有允许访问系统处理的所有信息的有效安全许可
- 每个用户必须拥肴系统处理的所有信息的访问批准。
每个用户必须对系统处理的某些信息具有有效的"知其所需"权限,但不要求对系统处理的所有信息都具有有效的"知其所 需"权限。
尽管同一用户既可以访问专用模式系统也可以访问系统高级模式系统,但该用户可以访问前者的所有数据,而对后者的一 些数据的访问却受到限制。
3)分隔模式
分隔模式系统进一步弱化了这些要求:
- 每个用户必须具有允许访问系统处理的所有信息的有效安全许可。
- 每个用户必须具有他们将在系统上访问的任何信息的访问批准
- 每个用户必须有对紫统处理的所有信息冥有"知其所需"权限
4)多级模式
关键字:许可、访问批准、知其所需 - 某些用户不具有访问系统所处理的全部信息的有效安全许可,因此,通过检查主体的许可级别是否能控制客体的敏感性标 签来控制访问。
- 每个用户必须对系统上要访问的所有信息都具有访问批准。
- 每个用户必须对系统上要访问的所有信息都具有一个有效的"知其所需"权限
当丛专用系统向下移到多级系统时,控制访问系统的用户类型的管理要求会逐步降低。但这并没有降低限制个人访问 的重要性,因此用户只能获得他们有合法权限访问的信息。
安全模式的比较
处理来自身多个许可级别的数据 (Proccess Data from Multiple Clearance Levels,PDMCL)
5.4.1.1.7. 操作模式
用户模式 CPU执行用户应用程序时使用的基本模式, CPU只允许执行其全部指令集中的部分指令。可防止用户程序损害 系统。
内核模式也称特权/系统/监管模式,该模式允许操作系统访问CPU支持的所有指令
5.4.1.2. 固件
固件 (Firmware) 用于描述存储在ROM芯片中的软件的术语。有两种类型:BIOS与UEFI
- BIOS包含独立于OS的原始指令,用于启动计算机并丛磁盘加载0S。
- 2011年后,大多数系统制造商已经使用统一可扩展固件接口(Unified Extensible Firmware Interface,UEFI)取代 了主板上的传统 BIOS系统。UEFI是一种硬件和0S 之间更高级的接口,它保留了对传统BIOS 服务的支持。
设备固件许多硬件设备(如打印机)也需要一些有限制的处理能力来完成其任务,同时最小化OS系统本身的负担。
5.4.2. 基于客户端的系统
applet(过时的技术)
Java applet: 通过Internet传输的简短Java 程序,用于在远程系统上执行各种操作。
ActiveX控件:与Java applet类似,可使用多种语言实现,如VB、C/C++、Java。 只能在微软的浏览器上支行。最新 Edge 已经不包含对ActiveX 的支持。
5.4.3. 基于服务端的系统
DDOS
5.5. 数据库系统安全
5.5.0.1. 聚合攻击
聚合攻击用来收集大师较低安全级别或较低价值的数据项,将它们组合在一起生成具有更高安全级别或有价值的数据项。
5.5.0.2. 推理攻击
与聚合攻击类似。推理攻击指利用人类思维的推理能力(区另于聚合依赖数据库原始计算能力)组合若干非第三信息以获取更高分类级别的信息
5.5.0.3. 数据挖掘和数据仓库
数据仓库包含大量易受聚合和推理攻击的潜在敏感信息,必须确保有足够的访问控制和其他安全措施来保护这些数据。
5.5.0.4. 网格计算
网格计算是一种并行分布式处理形式,它将大量处理节点松散地分组,以实现特定处理目标。网格成员可随机进入和离开 网格 。通常,网格成员只有在其处理能力不对本地工作造成负担时才加入网格。当系统处于空闲状态时,它可加入网格组, 下载一小部分工作,然后开始计算。当系统离开网格时,它会保存其工作并可将完成或部分工作元素上传回网格。己经开发 了网格计算的许多有趣用途,包括寻找智能外星人、执行蛋白质折叠、预测天气、地震建模、规划财务决策和解决素数等众 多项目。网格计算最大的安全问题是每个工作包的内容可能会暴露给外界。
许多网格计算项目对全世界开放,因此对谁可运行本地处理应用程序井参与网格项目并没有限制。这也意味着网格成员可保 留每个工作包的副本并检查其内容。因此,网格项目不太可能保护保密性,不适用于私有、机密或专有数据。
5.5.1. IoT
IoT 是一个新的子类别,甚至是一类新的智能设备,它们通过互联网连接,以便为家庭或办公室环境中的传统或新装置或设 备提供自动化、远程控制成AI 处理。物联网设备有时是对本地和手动执行了数干年的功能或操作的革命性改进,你希望继 续使用这些功能或操作。
与物联网相关的安全问题涉及访问控制和加密。通常情况下,物联网设备不是以安全为核心概念设计的,甚至是事后才考虑。 这己经导致许多家庭和办公室网络安全攻击事件。
IoT安全需要进行环境控制:如供暖、通风和空调 HVAC(Heating、Ventilation And Air Conditioning)
5.5.2. 工业控制系统
工业控制系统(Industrial Control System,ICS)是一种控制工业过程和机器的计算机管理设备。ICS广泛用于各行各业,包括制造、加工、发电和配电、供水、污水处理和炼油。有几种形式的 ICS, 包括分布式控制系统(DCS)、 可编程逻辑控制器(PLC)以及监控和数据采集(Supervisory Control and Data Acquisition systems,SCADA)。
5.5.3. BYOD关注点
BYOD(Bring Your Own Deyice, 自带设备)是一项策略,允许员工将自己的个人移动设备投入工作,,并使用这些设备连接, 经由公司网络连接到业务资源和/或互联网。尽管 BYOD 可以提高员工士气和工作满意度,但它会增加组织的安全风险。如 果BYOD,策略是开放的,则允许任何设备连接到公司网络。并非所有移动设备都具有安全功能,因此这种策略允许不符合要 求的设备进入生产网络。
BYOD 策略有多种替代方案,包括
- COPE: 公司拥有个人启用(Company Owned,Personally Enabled)指组织购买设备并将其提供给员工。
- CYOD: 直选设备(Choose Your'Own Device,CYOD)指为用户提供己获准设备的列表,可从中选择要使用的设备。 企业拥有移动设备-公司购买符合安全策略的合规移动设备
- VDI: 虚拟桌面基础设备(Virtual,Desktop Infrastructure)是一种降低终端设备的安全风险和性能要求的方法,通过由 用户远程访问托管在中央服务器上的虚拟机来实现。
- VMI: 虚拟移动基础设施,其中移动设备的操作系统在中央服务器上虚拟化。
隐蔽通道
时间隐蔽通道 通过改变系统组件的性能或以可预测的方式修改资源的时间来传达信息。
存储隐蔽通道 通过将数据写入公共存储区域来传送信息,其中另一个进程进行可以读取它。
隐蔽通道超出了正常数据传输环境,很难检测。隐蔽定时通道以可测量的方式改变资源的使用,以泄露信息。如果用户使用**莫尔斯电码(rhythm of Morse code)**的特定节奏打字,这就是隐蔽定时信道的一个例子。观看或收听击键的人可能会收到一条秘密消息,日志中没有留下任何消息的痕迹。
5.6. 物理安全要求
如果没有对物理环境的控制,任何管理的、技术的或逻辑的访问控制技术都无法提供足够的安全性。
5.6.1. 站点与设施设计的安全原则
5.6.1.1. 安全设施计划
"安全设施计划"需要列出组织的安金需求,井突出保障安全所使用的方法及技术。该计划是通过称为关键路径分析的过程来 完成的。"关键路径分析"是一项系统性工作,用于找出关键应用、流程、运营以及所有必要支撑元素间的关系,生成需要保 护的列表。比如,二台在网上销售产品的电子商务服务器,需要有互联网接入、计算机硬件、电力、温度控制、存储设备等。 >只有安全人员参与物理设施设计,才能确保组织的长期安全自标,不仅在策略、人员与设备上,同时在建筑本身也获得强有 力的支撑
5.6.1.2. 站点选择
成本、位置(可见度、自然灾害)及规模都很重要。最低限度要确保建筑物的设计能承受较为极端天气条件的考验,并能阻 止明显的入侵。
5.6.1.3. 设施设计
安全体系结构里提到一个很好的想法,常称为通过环境设计预防犯罪(Crime Prevention Through Environmental Design, CPTED)。 其指导思想是通过构建物理环境和周边设施,来降低甚至打消潜在入侵者的犯罪企图。
5.6.1.4. 设备故障
老旧的硬件应安排定期进行更换或维修。维修时间的安排应基于每个硬件预先估计的MTTF(Mean Time To Failure, 平均故 障时间)与 MTTR(Mean Time To Repair,平均恢复时间),或是业界最佳实践的硬件管理周期。
- MTTF 是特定操作环境下所预计的设备典型功能周期。
- MTTR 是对设备进行修复所需的平均时间长度。在预计的灾难性故障发生之前,设备常常要经过多次维修。
要确保所有设备在其MTTF失效之前得到及时更换。另一种度量方法是 MTBF(Mean Time Between Failures, 平均故障间隔 时间),这是发生第一次故障与第三次故障之间时间的估值。如果MTTF和MTBF 值相同或接近,制造商通常只列出 MTTF 来同 时表示这两个值。
5.6.1.5. 配线间
配线间也常用于存放、管理建筑物中其他多种重要设施的布线,包括警报系统、断路器面板、电话信息模块、无线接入点与 视频系统。
5.6.1.6. 服务器问与数据中心
服务器间、数据中心、通信机房、布线柜、服务器柜以及IT机柜是封闭的、受限的和受保护的空间,用来放置重要的服务器与网络设备。服务器应们于建筑的核心位置。
数据中心应位于建筑物的核心。将其安置在较低的楼层会使其容易受到洪水和物理入侵的影响。将其放置在顶层会使其容易受到风和屋顶损坏。
对许多组织来说,其数据中心和服务器间相同的。对另外一些组织,数据中心则是外部的一个单独区域;里面部署了大量的后端PC服务器、数据存储设各与网络管理设备。数据中心可能靠近主办公区,也可能是位置较远的一栋独立建筑。
保护电源与设备免受噪声影响,为IT设施提供正常的生产写工作环境干分重要。保护的措施有:提供充足的电力供应、正确的接地、采用屏蔽电缆、远离EMI(Electormagnetic Interference,电磁干扰)和RFI(Radio-Frequency Interference, 无线电频率干扰)发射。
在很多数据中心与服务器机房中,采用各种技术的访问控制来管理物理访问。这些包括但不 限于:智能卡/哑卡,接近式读卡器(proximity reader),生物识别,入侵检测系统 (IDS),以及基于纵深防御的设计。
接近式读卡器是一种无源装置、感应供电装置或应答器,卡内使用了电磁线圈。
5.6.1.7. 介质存储设
质存储设施用于安全存储空白介质、可重用介质及安装介质。无论是硬盘、闪存设备、光盘或是磁带,各种介质都应进行严 格保护以免被盗或受损。新的空白介质也要防止被偷或被植入恶意软件。
5.6.1.8. 证据存储
安全证据存储的要求:
使用与生产网络完全不同的专用存储系统。
- 如果没有新数据需要存入,应让存储系统保持离线状态。
- 关闭存储系统与互联网的连接。
- 跟踪证据荐储系统上的所有活动。
- 计算存储在系统中所有数据的hash值。
- 只有安全管理员与法律顾问才能访问。
- 对存储在系统中的所有数据进行加密
5.6.1.9. 受限区与工作区安全
内部区安全包括工作区域与访客区域,应进行认真的设计与配置。设施内的所有区域不能是整齐划一的访问等级。对存放高 价值或重要性高资产区域的访问,应受到更严格的限制。任何进入设施的人可使用休息室及公共电话,但不能进入敏感区域, 只有网络管理员与安全人员才能进入服务器间。
5.6.1.10. 火灾预防、探测与消防
火灾三角形
- 热量
- 氧气
- 燃料
三角形中心表示三个要素间发生的化学反应。
火灾三角形重点揭示出:只要消除三角形中四项的任何一项,火灾就能被扑灭。
火灾发现的越早越容易扑灭,火灾以及灭火剂造成的损失也越小。
探测
- 火灾探测系统
- 消防
- 喷水消防系统
- 气体消防系统
灭火器类型
- A类灭火器 仅适用于普通可燃材料。他们使用水或苏打酸作为抑制剂。
- B类灭火器 适用于液体火灾。
- C类灭火器 适用于电气火灾,
- D类灭火器 用于可燃金属。
不同的灭火剂针解决火不同方面的问题:
- 水是为了降低温度减少热量。
- 碳酸纳及其他干粉灭火剂是阻断燃料的供应。
- 二氧化碳是为了抑制氧气的供应。
- 哈龙替代物与其他不可燃气体干扰燃烧的化学反应和/或抑制氧气
哈龙灭火系统使用一种氯氟烃(CFC)抑制剂材料,该材料在《蒙特利尔议定书》中被禁止,因为它会消耗臭氧层。
前期章节回顾: