机器学习在计算机架构安全中的应用
1. 硬件性能计数器(HPC)概述
硬件性能计数器(HPC)每个核心的数量有限,不过可以通过复用性能计数器来缓解这一限制,但会导致精度下降。这些寄存器在所有平台上都易于编程,能够对各种低级事件进行计数,如缓存访问和缺失、TLB 命中和缺失、分支预测错误以及芯片的核心停顿等。这些事件可用于多种优化目标,如性能提升、能源效率优化和安全增强。特别是,HPC 可以被编程为在计数器溢出时发出中断,甚至可以设置从所需的值开始计数。
2. 机器学习在计算机架构安全对策中的应用
2.1 特征选择:关键微架构特征
确定最重要的低级特征是开发有效的基于机器学习的安全对策的重要步骤。由于存在众多微架构事件(例如,英特尔至强处理器中有超过 100 个),每个事件代表不同的功能,收集所有特征会导致高维数据。此外,处理原始数据集会涉及计算复杂性并导致延迟。而且,纳入无关特征会降低机器学习分类器的检测准确性和性能。这就引出了两个研究问题:
- 哪些低级特征与检测和分类一类恶意攻击相关?
- 如何对收集的数据进行特征约简,以减轻不必要的计算开销?
因此,为了以最小的开销执行基于机器学习的高效安全对策来检测安全攻击,需要确定一组最小的 HPC,这些 HPC 能够有效地代表应用程序的行为。
特征选择方法能够提高学习过程的性能,降低计算复杂性,构建更具泛化能力的机器学习模型,并减少计算系统所需的存储和内存。在使用机器学习技术进行硬件级恶意软件和侧信道攻击(SCAs)检测的过程中,特征选择步骤旨在识别一组关键的 HPC,这些 HPC 能够有效地代表攻击应用程序的行为。对于嵌入式和资源有限的系统中的有