硬件安全:应对隐蔽通道与侧信道攻击
1. 限制隐蔽和侧信道攻击的现有方法
在限制隐蔽和侧信道攻击时,一种方法是枚举可被主体引用或修改的资源,并仔细检查每个资源,看其是否可用于在主体间隐蔽传输信息。共享资源矩阵的行代表所有共享资源以及主体可见的资源属性,每列对应一个操作。通过识别引用或修改属性的操作来确定矩阵的条目。当发送者和接收者能够访问共享对象的同一属性,且发送者可修改、接收者可引用时,矩阵就能揭示这种情况。不过,隐蔽通道还需要一种机制来启动发送者和接收者的进程,并对其访问进行排序。
2. 缓存干扰
- 单核处理器:在单核处理器上,通常通过在不同安全域执行之间(如进程上下文切换时)对缓存进行归一化(如清空所有缓存行)来处理缓存干扰。但从片外内存补充缓存非常耗时,为此人们开发了各种技术以避免不必要的操作。
- 支持并发执行的处理器:对于支持并发执行的处理器,如芯片多处理器(CMP)、具有同步多线程(SMT)的单核计算机以及具有缓存一致性机制的对称多处理器(SMP)系统,上述方法无效。因为这些系统中对缓存的访问比进程切换更精细,微架构干扰成为重大挑战,常规操作系统虚拟化技术难以有效解决。近期研究成果不一,例如:
- 缓存分区:可按策略等价类对缓存进行物理或逻辑分区(若硬件支持虚拟缓存),但物理分区需修改处理器,且两种分区都会减小有效缓存大小。
- 缓存禁用:有多种缓存禁用方式,从完全关闭到针对特定核心或进程关闭,但都会导致响应时间增加。 <