机器学习在计算机架构安全与云资源管理中的应用
1. 微架构侧信道攻击(SCAs)的机器学习检测
1.1 基于受害者应用硬件性能计数器(HPCs)数据的检测
侧信道攻击(SCAs)会故意影响受害者应用的缓存或分支预测器,通过刷新/预加载缓存、错误训练分支预测器,然后观察缓存集的访问时间,从而改变受害者应用的数据缓存和微架构行为。这为通过观察微架构行为的变化来检测SCAs提供了机会。
为了检测SCAs,我们可以使用受害者应用的HPC数据。具体步骤如下:
1. 数据收集 :在隔离和非隔离场景下收集“无攻击”和“受攻击”的HPC数据。“隔离”环境指计算机仅处理受害者应用,“非隔离”环境指计算机系统在一个核心上处理受害者应用,而其余核心执行良性应用。
2. 特征选择 :评估HPC的重要性,仅选择4个最突出的HPC用于基于机器学习的检测。
3. 模型训练与测试 :使用训练好的模型进行测试。
以一个示例来说明HPC在检测侧信道攻击中的有效性。在这个示例中,展示了测试受害者应用在无攻击(RSA)和受L3 Flush Reload攻击(RSA with FR)时L1 HIT的HPC跟踪。可以观察到,受攻击的受害者应用的L1 HIT趋势与无攻击时明显不同,这突出了仅使用受害者应用的HPC数据(排除攻击应用HPC的影响)检测SCAs行为的有效性。
1.2 机器学习分类器的实现
按照类似的过程,收集受攻击和无攻击的受害者的HPC数据,并将所有数据按70%和30%的比例进行训练和测试划分。然后,使