第四章 防御理念与技术新进展
4.1 网络防御技术新进展
-
传统防御技术只能防范已知的攻击
-
新型防御是:基于动态性、冗余性、异构性等基础防御手段构造具有“测不准”效应的运行环境,改变系统的静态性、确定性和相似性,以最大限度的降低漏洞等的成功利用率,破坏或扰乱后门等的内外协作功能,阻断或干扰攻击的可达性,从而显著的增加攻击难度和成本。
-
新型防御本质上就是通过目标系统结构层面和运作机制上的创新引入内生安全属性,内生安全属性应当包含四个基本特征:
-
与内置安全不同,内生安全属于构造效应,不需要附加专门的安全构建或插件,如同冗余构造那样能显著提高原功能的可靠性
-
与内在或本质安全不同,内生安全本身不能排除内生安全问题
-
内生安全应该能同时支持功能安全和信息安全,即ESS
-
内生安全的安全性可用概率表达,应能量化设计与验证度量
-
-
现有新型防御的主要技术:
-
可新技术
-
定制可信计算
-
移动目标防御
-
-
新型在系统设计上应当着重考虑一下几个方面
-
适应性(adaptability):系统为应对外部事件而动态的修改并配置或运行番薯的重构能力。
-
冗余性(redundancy)
-
容错设计(fault-tolerance),容错是系统容忍故障以实现可靠性的方法,通常分为三类:硬件容错、软件容错、系统容错
-
减灾机制(mitigation), 减灾系统具备自动相应故障或支持人工应对故障的能力。
-
可生存性设计(surivability),系统在(未知)攻击、故障或事故存在的情况下,仍然能够保证其使命完成的能力,可生存性被认为是弹性的一个子集,也可称之为鲁棒性。
-
可恢复性,指在服务中断时、网络系统能够提供快速有效恢复操作。
-
4.2 可信计算
学术界与工业界对“可信计算”有着众多不同的理解。集中主流的说法:
-
一个可信组件、操作或过程的行为应是可预测的并能抵御应用软件、病毒攻击和一定级别的物理干扰
-
当一个实体的行为总是按照预期的方式达到预定的目标是,他就是可信的。
-
综上可见:可信计算是指一个实体对其他实体能否正确地、非破坏性地进行某项活动的主观可能性预期, 当一个实体始终以预期的方式达到预期的目标时,它就是可信的。
4.2.1 可信计算的基本思想
可信计算认为:要增强信息系统的安全,必须从芯片、主板、硬件结构、基本输入输出和操作系统等硬件底层做起,结合数据库、网络、应用进行设计,进而实现可信计算。 可信计算的一般思路为:首先建立一个信任根,作为信任的基础和出发点;然后在建立一条信任链,以信任根为起点、一级度量一级,一级信任一级,把这种信任扩展到整个系统中,从而保证整个计算环境的可信。
4.2.2 可信计算的技术思路
目前,可信计算的技术路线为信任根、信任度量模型与信任链,以及可信计算平台。
-
信任根 一个可信计算平台必须包括三个信任根:可信度量根(Root of Trust for measurement, RTM)、可信存储跟(Root of Turst for Storage, RTS),可信报告根(Root of Trust for Report, RTR)。
-
可信度量根 可信度量根指的是度量的初始根或信任链的起点,是平台启动过程中最先执行的代码,能可靠的度量任何用户定义的平台配置。 - 固化在BIOS中 - 禁止为其提供访问接口 - 不可以修改和刷新。
-
可信存储根 可信存储根是平台配置寄存器(Platform Configuration Register, PCR)的存储器和存储跟密钥(Storage Root Key,SRK),是可信计算平台内进行可信存储的基础,直接或间接地保护所有委托存储的密钥和数据。
-
可信报告根 在可信平台模块芯片中,可信报告根为PCR和背书密钥,是可信计算平台实现可信完整性报告的基础。
-
信任度量模型与信任链 一般信任链的构建包含以下三个部分,分别为:对平台的可信性进行度量、对度量的可信值进行存储,对访问客体询问时提供报告。
-
度量 对数据完整性的度量,采用hash函数来检测系统数据的完整性是否受到破坏。对于正确的系统资源数据,是先计算出其hash值,并存储到安全存储器中,在系统启动时,重新计算系统资源的hash值,并于实现存储的正确值做比对,如果不相等,则人为系统完整性遭到破坏。
-
存储 Hash值被存储在PCR(平台配置寄存器)中,同时在磁盘中的日志中保留备份,二者相互印证。
-
报告 在度量、存储之后,当访问客体询问时,可以提供报告,以供客体判断平台的可信状态。
-
-
可信计算平台
-
定义:可信计算平台(Trusted Computing Platform,TCP)是一种能够提供可信计算服务并可以确保系统可靠性的计算机软硬件实体。
-
可信计算平台实现可信计算的基本思路是:利用可信计算的核心技术(TPM)建立可信计算的信任根,再把信任根作为信任的起点,在可信软件的协助下,建立一条信任链,并通过信任链,把原始的底层可靠的信任关系扩展到整个计算机系统,从而确保整个计算机系统的可信。
-
信任链的工作流程:
-
系统加电
-
可信度量根(Core Root of Trust of Measurement,CRTM)首先对BIOS的完整性进行度量,通常就是把BIOS当前代码的Hash值与预期值比对,若一致,则认为BIOS可信,可继续加载BIOS,同时系统可信边界会从CRTM扩大到CRTM+BIOS
-
BIOS使用类似的方法对OS Loader的完整性进行度量,如果OS Loader也是可信的,则加载OS Loader,同时系统可信边界进一步扩大到OS Loader
-
以此类推继续验证OS及APP
-
-
-
可信计算平台
-
可信计算的信任根是可信平台模块(Trusted Platform Module,TPM),与普通计算机相比,可信计算机最大的特点就是在主板上嵌入了一个安全模块——TPM。 可信计算强调实体行为必须具有可预期性,正常情况下,实体按照预期行为与运行,一旦行为轨迹出现偏差,实体行为的可信性将受到影响。也就是说,可信计算需要掌握实体的预期行为或状态,而不能将实体看作黑盒。
-
4.2.3 可信计算的新进展
-
可信计算3.0
-
可信计算1.0来自计算机可靠性,主要以故障排除和冗余备份为手段,是基于容错方法的安全防护措施
-
可信计算2.0以TCP出台的TPM1.0为标志,主要以硬件芯片作为信任根,以可信度量、可信存储、可信报告等手段,实现计算机的单机保护。
-
可信计算3.0是基于“主动免疫设计模式” 提出的,主要包括:平台创新方案,提出了可信计算密码模块(Trusted Cryptographic Module, TCP),提出了可信平台控制模块(Trusted Platform Control Module, TPCM),TPCM作为自主可控的可信节点值入可信根,先于CPU启动并对BIOS进行验证。
-
可信3.0有一个逻辑上可以独立运行的可信子系统,通过这一可信子系统,一主动的方式向宿主系统提供可信支撑功能。可信子系统以一个监控者的身份管理安全。监控的方式是利用钩子机制在系统中引入监视点和控制点,由安全机制处理监视点和控制点的行为。这个监视点和控制点在一个完整的信息系统中一般是跨层次、跨节点而存在的,而可信机制则用来把监控这些点的安全机制组合成一个完整的安全体系,并提供可信保障。
-
-
可信云
-
可信云定义: 可信云架构是云环境安全管理中心、宿主机、虚拟机和云边界设备等不同节点上可信根、可信硬件和可信基础软件通过可信连接组成的一个分布式可信系统,支撑云环境的安全,并向用户提供可信服务。
-
第三方可信监管 一般而言,可信云机构需要与一个可信第三方相连,有可信第三方提供云服务商何云用户共同认可的可信服务,并由可信第三方执行对云环境的可信监管。
-
-
SGX
-
全称:Software Guard Extensions
-
主要思想:在硬件上提供一个强隔离的软件执行环境(enclave,飞地)
-
SGX不识别和隔离平台上的所有恶意软件,而是利用可信计算的思路,将合法软件的全操作封装在一个独立的存储空间中,保护其不受恶意软件的攻击。
-
一旦软件和数据位于该独立存储空间中,即使操作系统或者虚拟机监控器也无法影响独立空间里面的代码和数据。
-
4.3 定制可信空间
可信网络空间领域的三大支撑:
-
通信
-
计算
-
安全 三大领域的技术进步为定制可信空间的提出奠定了基础
4.3.1 前提
-
通信
-
IntServ,资源预留协议(Resource Reservation Protocol,RSVP)
-
区分服务(Differentiated Service, DiffServ)
-
-
计算
-
异构计算(Heterogeneous Computing)
-
地址计算(Customizable Computing)
-
云计算(Cloud Computing)
-
-
安全方面
-
可信计算
-
4.3.2 定制可信空间
可信网络空间领域的三大基础支撑:通信、计算、安全;三大领域的取得的技术进步,催生了定制可信空间。
-
通信方面
-
IntServ,资源预留协议(Resource Reservation Protocol, RSVP)
-
区分服务(Differentiated Service, DiffServ)
-
-
计算方面
-
异构计算(Heterogeneous Computing)
-
定制计算(Customizable Computing)
-
-
安全方面
-
可信计算技术
-
4.3.3 定制可信空间
定义:定制可信空间(Tailored Trustworthy Space,TSS)致力于创建灵活、分布式的信任环境以支撑网络空间中的各种活动,并支持网络多维度的管理能力,包括机密性、匿名性、数据和系统完整性、溯源、可用性以及性能。 TSS主要包括三个方面:
-
在不可信环境实现可信计算
-
开发通用框架,为不同类型的网络行为和事务提供各种可信空间策略和特定上下文的可信服务。
-
指定可信的规则、可测量指标、灵活可信的协商工具,配置决策支持能力以及能够执行通告的信任分析。 目前关于TSS的研究进展主要分为四个方面:
-
特征研究
-
信任协商
-
操作集
-
隐私
4.4 移动目标防御(Moving Target Defence, MTD)
MTD核心思想致力于构建一种动态、异构、不确定的网络空间目标环境来增加攻击者的攻击难度,以系统的随机性和不可预测性来对抗网络攻击。
4.4.1 移动目标防御机制
-
随机化机制
-
地址空间布局随机化(Address Space Layout Randomization, ASLR)通过随机化内存对象地址,使依赖于目标地址的攻击过程无法定位正确的代码或数据,从而失效
-
指令集随机化(Instruction Set Randomization,ISR)使通过模糊目标指令集来组织代码注入攻击的技术。代码存储时与一段随机数异或,加载时再次与通过一段随机数异或以还原指令代码。
-
数据存储位置随机化,其基本思想是将一个内存存储指针与一个随机密钥进行异或来组织通过指针错误产生的攻击。
-
多样化机制
-
多样化机制的安全思想是改变目标系统相似性的被动条件,使攻击者无法简单地将某目标成功的攻击经验直接利用到相似目标上,试图营造一个具有“抗性”的应用生态圈。
-
目前普遍利用编译优化原理,通过调整编译参数生成多种变体的执行文件,在功能不变的前提下增加执行文件之间的差异化。
-
动态化机制
-
尽管随机化和多样化机制为目标系统带来了不确定性,但长时间运行的服务器进程仍然需要重新进行随机化和多样化的加载,否则系统的安全性将大打折扣,为此,MTD引入了动态化机制来改变愿用系统的静态特征,进一步提升系统安全性。
-
共生机制
-
共生机制使用共生嵌入机与任意可执行文件紧密共存,协作防御,在从宿主中获取计算资源的同时,保护宿主免受攻击。
-
宿主程序的每个实例都有一个嵌入其中的共生机,且每个共生机都是自治的、与众不同的。共生机可以驻留在成语的任意未知,不需要考虑程序在系统栈中的位置。
-
共生机采用多种方式注入宿主中,并通过一个多态引擎对其代码进行随即变形。
4.4.2 移动目标防御路线图及其挑战
-
技术发展路线
-
MTD技术发展规划为三个里程碑:创建阶段、评价/分析阶段、部署阶段,每个阶段又分为近期、中期和长期目标。
-
-
挑战:
-
系统开销过高影响服务性能
-
虚拟化基础设施本身的安全
-
虚拟环境中移动目标的安全和弹性技术
-
自动变体技术
-
自动改变和管理网络及系统结构的手段
-
科学论证激动目标机制和有效性的抽象思维及方法
-
4.5 区块链
4.5.1 基本概念
-
分类:
-
公共链
-
联盟链
-
私有链
-
4.5.2 核心技术
-
密码技术
-
共识机制
-
智能合约
4.5.3 安全性分析
-
去中心化避免了所有因中心CA带来的安全性问题
-
数据篡改成本大幅增加
-
地域分布式拒绝服务
4.6 零信任安全模型
-
产生的背景: 云计算、移动互联的快速发展导致传统内外网边界模糊,企业无法基于传统的物理边界构筑安全基础设施,只能诉诸于更灵活的技术手段来对动态变化的人、终端、系统建立新的逻辑边界,通过对人、终端和系统都进行识别、访问控制、跟踪实现全面的身份化,这样身份就成为了网络安全新的边界,以身份为中心的零信任安全成为了网络安全发展的必然趋势。
-
中心思想: 零信任是一个安全概念,中心思想是企业不应自动信任内部或外部的任何人/事/物,应在授权前对任何试图接入企业系统的人/事/物进行验证。 简言之,零信任的策略就是不相信任何人。除非网络明确知道接入者的身份,否则任谁都别想进入。什么IP地址、主机之类的,不知道用户身份或者不清楚授权途径的,统统不放进来。
4.7 新型防御技术带来的思考
新型防御技术存在的问题和不足:
-
可信计算与定制可信空间的“可信的”未必意味着对用户而言的“值得信赖的”,目前可信计算的不足有:
-
可信根的安全性难以保证
-
信任链状态的检查点难以准确设置
-
可信性检查规范如何证明自身的可信。
-
黑盒问题
-
兼容性问题,与其他安全技术冲突
-
防外而不防内
-
-
MTD技术的不足:
-
没有体系化技术
-
安全性难以衡量,攻击困难的同时,防御者同样无法衡量防御的效果
-
影响目标系统的性能
-
未知的未知风险难以防御
-