系统安全隔离技术

读《系统安全隔离技术综述》有感

三类隔离技术:

  • 硬件隔离技术

  • 软件隔离技术

  • 系统级隔离技术

隔离策略优势:

  • 有效在一个系统内部署加密服务

  • 降低安全失败带来的损失

动态数据:传输的数据,其安全依赖于网络安全协议

静态数据:其安全依赖存储介质加密

硬件隔离技术

专用安全硬件模块,提供相对安全的硬件隔离环境,利用硬件实施访问控制

一般由处理器或与主处理器连接的专用设备提供

  • MMU通过虚拟地址,实现进程隔离
  • IOMMUs,IO Memory Management Uints,转换设备DMA地址到物理地址,实现隔离设备驱动,限制硬件对虚拟机的直接访问
  • DMA,Direct Memory Access,DMA传输将数据从一个地址空间复制到另一个地址空间,比如将外部内存的区块移动到芯片内部更快的内存区

主流的硬件隔离:在SoC内部或者外部设计一个专门的硬件安全模块

软件隔离技术

在软件层构建一个可信的隔离运行环境,从而限制恶意代码的扩散或将可信软件或敏感数据保护在该隔离环境中。

典型的软件隔离技术:

  • 虚拟化技术
  • 基于瘦特权软件层的隔离技术

虚拟化技术

抽象一个虚拟的软件或硬件接口。来保证其上的软件模块能运行在一个虚拟出来的环境上

实质是再现了整个物理服务器作为一个虚拟机来运行一个应用,并由虚拟化监控程序来抽象服务器资源和分配资源给虚拟机(VM)。但是监控程序执行抽象的开销会造成一定程度的性能损耗。

  • 硬件虚拟化
  • OS虚拟化
  • 应用程序虚拟化

基于瘦特权软件层的隔离技术

大内核或大虚拟机意味着大的可信计算基,TCB,会引起一系列安全问题。基于瘦特权软件层的隔离技术,如经过验证的微内核或微虚拟机

微内核操作系统采用多级安全架构,可以将任务划分成多种安全级别,这样就可以根据用户的安全需求进行设置,根据任务的安全等级进行更加细粒度的划分,进而采用相应的访问控制策略来实现隔离.这样就可以隔离安全工具来验证每个操作并监控内核的完整性

瘦虚拟化层:大大减少攻击面并增加了系统的整体安全性

轻量级虚拟机Hytux,拥有比Linux内核更高的权限,保证实现在Hytux中的防护系统内核的安全机制免于遭到恶意攻击

几个典型

  • Docker实现软件隔离

Docker为应用程序提供隔离的运行空间,是从操作系统内部实现了进程的隔离,是一种操作系统层的虚拟化,每个容器独享一个完整的用户环境空间,且一个容器的变动不会影响其他容器的正常运行。

Docker容器之间共享一个系统内核,因此启动速度快,然而同一个库可能被多个容器同时使用,因此内存的使用效率显著提高。

采用Linux namespace进行空间隔离,cgroups确定每个容器可以使用多少资源,采用文件系统的挂载点来决定容器允许访问的文件

  • 沙盒(Sandbox)

一种软件隔离的运行机制,按照严格的安全策略来限制不可信进程或不可信代码运行的访问权限,用户执行未被测试或不可信的应用

隔离机制:

  1. 发出读系统资源的请求

  2. 系统核查该资源是否在他所操作的权限范围内

  3. 核查通过则完成读请求,否则拒绝

sandbox能够为不可信应用提供虚拟化的内存、文件系统和网络资源等,也正是其内资源虚拟化,才能将不可信应用的恶意行为限制在有限的机制内。防止其损害其他应用甚至威胁系统安全

  • 蜜罐(Honeypot)

是一种入侵检测机制,能收集系统所遭受的攻击,因此能够提高系统检测机制的检测能力

诱骗攻击者,使其误认为成功侵入目标主机或网络,从而对攻击行为进行分析并完善安全策略,进而构建更加安全全面的入侵检测机制

只能捕获与他直接交互的攻击行为

而且,它一般自身携带一定的预期特征或者行为,攻击者能够识别出其身份,并对他实施狗估计,甚至危害系统的安全

系统级隔离技术

对硬件进行安全扩展,并配合相应的可信软件从而在系统中构建一个相对安全可靠的可信执行环境,Trusted Execution Environment,TEE

TEE,可以在各种移动设备上保护这些高价值的内容,利用TEE来加密保护和传送这些内容,只有拥有特定密钥的TEE才能解密并使用这些内容。

TEE是主处理器上的一个安全区域,提供了一个隔离的执行环境,可以保证程序的隔离执行、可信应用的完整性、可信数据的机密性及安全存储等。并能保证加载到该环境内部的代码和数据的安全性、机密性和完整性

Guess you like

Origin blog.csdn.net/qq_41667409/article/details/121331014