7. 增强系统安全与可信任性

  • 1 安全与可信任性的定义
    • 1.1 安全性
    • 1.2 可信任性与可信计算
  • 2 虚拟化技术如何提高系统安全
    • 2.1 保护系统私密性
    • 2.2 保证系统完整性
    • 2.3 利用虚拟机进行病毒测试
  • 3 虚拟化技术如何提高可信任性
  • 4 案例分析: sHyper、VMware Infrastructure 3和CoVirt

1 安全与可信任性的定义

1.1 安全性

安全性包括两方面: 私密性和完整性.

  • 私密性是指没有得到授权情况下无权访问信息, 如果授权的信息泄露了, 则破坏了私密性

  • 完整性即程序或数据要保持完整, 非法的修改程序、对程序或数据内容进行不适当的增删, 则破坏了完整性。

1.2 可信任性与可信计算

可信任性是指一个实体可以被信任当且仅当这个实体的表现在预期范围内.

可信计算是指在计算机中添加硬件设备从而允许软件利用某些特殊的独立于操作系统的安全策略构建安全的、互信的计算机环境.

2 虚拟化技术如何提高系统安全

安全性的提高主要得益于客户机的高分离性和资源的高可控制性.

  • 高分离性在这里主要包括客户机客户机的分离性以及客户机与宿主机的分离性

  • 资源的高可控制性主要包括资源的完全控制权、资源的分离性和资源的易管理性.

在传统的安全策略中, 一般由操作系统来担任安全的检查与防护. 此方法和客户机担任安全的检查相比, 有以下缺点.

⓵ OS是一个很大且复杂的系统, 相对于客户机来说更加容易被攻破, 一旦OS被攻破, 就谈不上什么检查与防护了

⓶ 在大型的企业环境中, 不同主机上的OS很难检查与保护主机间的安全, 而客户机则可以统一管理, 具有更强大的安全检查能力和易用性.

⓷ 系统在已经被攻破情况下检查和保护仍然可以得以进行, 客户机可以安全地重启被攻破的系统, 对于很多攻击来说, 重启意味着攻击失效(如DoS).

2.1 保护系统私密性

首先可以利用客户机的高分离性来保护你的私密数据, 把不同的私密数据放在不同的客户机中, 即客户机与客户机的分离, 或者把不重要的数据放在客户机中, 私密数据则放在宿主机中, 即客户机与宿主机的分离, 使得及时客户机被攻破, 黑客也无法拿到真正的私密信息.

两种典型用法如下.

客户机与客户机分离: 在自己的机器上运行两个客户机, 一个用来做高风险、高价值的活动, 如银行、投资; 另一个用来进行玩游戏、看新闻等娱乐活动. 即使上网时候被远程攻破, 也无法拿到另一台客户机的信息.

客户机与宿主机分离: 使用虚拟浏览器进行上网活动, 即使上网时候被攻破, 也只是将你的客户机弄崩溃, 并不能窃取宿主机上任何私密信息.

此外, VMM运行在OS这一层, 对整个系统有完全的访问能力, 可以动态地监控私密数据的使用, 当发生私密数据使用不恰当的时候, 客户机有能力阻止私密数据的使用, 从而有效防止私密数据的泄露.

2.2 保证系统完整性

VMM运行在OS之上, 对资源的分配和管理有完全的能力, VMM可以分离数据和程序代码, 动态地监控代码的使用和数据的使用. 用户可以通过客户机提供的接口来配置策略, 当策略不被满足时, 则客户机拒绝执行相应的代码或数据的访问, 从而保证代码和数据的完整性.

策略可以是多种多样的, 一种典型的策略是数字签名, 从用户空间进入内核空间的代码只有当其拥有用户许可(数字签名)的情况下才能得到执行.

2.3 利用虚拟机进行病毒测试

3 虚拟化技术如何提高可信任性

可信计算被应用到软件领域, 通过使用VMM提供的独立的、确定的、抗干扰的虚拟机环境, 隔离运行那些非可信应用和要求高度安全性的应用. 同时, 利用VMM独立于操作系统的特点完全包括加密解密、身份验证、计算机日志记录和入侵程序检查等安全策略.

4 案例分析: sHyper、VMware Infrastructure 3和CoVirt

你可能感兴趣的:(7. 增强系统安全与可信任性)