第五章 基础防御要素与作用分析
5.1 多样性
5.1.1 概念
-
网络空间缺乏多样性
-
多样性是保证网络空间服务功能或网元、终端抗攻击的有效手段之一
-
多样性设计的核心在于,在功能等价和不过分增加实现成本的前提下,用多样性的方式将一个目标实体以多种变体方式表达出来,以达到增加攻击复杂度的目的。
5.1.2 执行体多样性
-
硬件执行体多样性
-
软件执行体多样性
5.1.3 执行空间多样性
执行体不变,为执行体营造多样的实行环境,包括硬件环境、操作系统、编程语言等。
5.1.4 多样性与多元性区别
多元性与多样性的一个重要差异是,功能等价但非同源。
5.2 随机性
5.2.1 概述
5.2.2 地址空间随机化
5.2.3 指令系统随机化
5.2.4 内核数据随机化 (对指针随机化)
5.2.5 导入性代价
-
不同软硬件本本需要不同的团队来设计维护
-
构成多版本服务系统的成本必然增加
-
多版本同步更新成为挑战 注:这部分内容的未知编排可能有误,应该在5.1 多样性的最后
5.3 动态性
5.3.1 概述
-
动态性是指系统随时间变化的一种属性,也称“时变性”。
-
系统的输出不仅与输入有关,还与输入发生的时间有关。
-
动态性面临的挑战:
-
资源冗余配置
-
随机性代价
-
能效代价
-
5.3.2 动态性防护技术
-
动态网络:动态变动通信地址,随机化分组头部信息等
-
动态平台:动态改变平台的OS、处理器架构、虚拟机实例等
-
动态软件:动态改变应用程序的代码,包括修改指令顺序、分组和样式。
-
动态数据:改变应用程序数据内部或者外部的表现形式,以保证语义内容不给修改,未经授权的使用或者介质能被阻止。
5.3.3 动态性的挑战
-
网络、平台或运行环境对外呈现的服务机制和功能很难动态化。
-
不能不考虑统一处理环境或共享资源条件下,动态化需要付出的性能和能效损失。
-
如何在一个“有毒带菌”环境下保证动态化控制调度环境自身的安全可信。
-
动态性、随机性和多样性需要能发挥迭代或叠加效应的承载架构。
5.4 OS多样性分析实例
异构冗余的入侵容忍系统中使用多种操作系统可以获得潜在安全收益:
-
所配置的操作系统的多样性或相异性越高,系统越安全
-
来自相同家族的OS的公共漏洞数量较多,来自不同家族的OS的公共漏洞数量较少,大多数情况下为零。
-
通过删除应用程序和限制系统进行远程访问,可以极大地降低OS之间的常见漏洞数量。(减小攻击表面)
-
驱动程序漏洞占比很小(小于1%)
-
提出的3种策略
-
所有常见漏洞具有同等重要性
-
越近期的通用漏洞越重要
-
漏洞报告越不频繁越好
-
-
一个拥有4个操作系统的组合,在所有3种用于入侵容忍的配置策略中都是最佳组合。