zoukankan      html  css  js  c++  java
  • 一个侧信道安全结合机器学习的方法


    上图是一个计算机内部可信区域与外部不可信区域的交互过程。
    简单说如下:
    一个app上层数据下来之后,通过ORAM这个硬件原语加密之后,送到外部OS和memory进行IO和存储交互。
    那么问题来了,我想要知道这些数据怎么做呢?
    以下是所有攻击者都会遇见的问题:
    1,在步骤3之后,操作系统只观察到一组随机的页面(加密的)被读取/写入。
    2,攻击者可以选择篡改页面,但这将在运行时的第6步之后被检测到。
    3,对内存有物理访问权的攻击者也会看到密文。
    解决方法:
    新的侧信道攻击方法:reuse distance(我看了两篇论文,里面的定义都不一样,所以我现在对这个方法也有点晕,以下给出我理解的reuse distance)
    什么是reuse distance?

    上图显示了两种访问模式。说明重用距离和访问模式之间的关系。框内的数字是页面地址,而框上方的标签显示特定地址的重用距离。
    在上图(a)中,程序重复扫描数组。这导致了线性访问模式,其中标记为0到3的4个页面被重复访问。假设enclave的工作集中只有两个页面,并且使用了LRU页面替换算法。当访问第2页时,将需要清除第0页。两个页面错误之后,当再次访问page 0时,它将返回到enclave中。对于此访问模式,每个页面的重用距离为2。相反,上图(b)显示了重复遍历二叉树的程序的访问模式。对于树遍历,根的重用距离为2,因为在每次迭代中都要访问根节点(标记为0)。非根页面的重用距离是2的倍数,因为它们可能在后续迭代中被访问,也可能不会被访问。
    Training(机器学习方法)
    ● Collect trace of reuse distances for many apps on many inputs
    ● Train CNN sequence classifier on these
    ● Classes are the different applicationsTesting

  • 相关阅读:
    达梦数据库学习(二、管理数据库实例)
    达梦数据库学习(一、linux操作系统安装及数据库安装)
    SQL Server 数据库还原进度查看
    关于索引的学习(主要是聚集索引与非聚集索引)
    SQL Server批量向表中插入多行数据语句
    最大流-前置push-relabel算法实现
    调度算法(二)
    调度算法(一)
    软件工程:提问回顾
    软件工程:个人阅读作业与总结
  • 原文地址:https://www.cnblogs.com/asver/p/14130830.html
Copyright © 2011-2022 走看看