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

  • 相关阅读:
    drf 之 JWT认证 什么是集群以及分布式 什么是正向代理,什么是反向代理
    drf 之自定制过滤器 分页器(三种)如何使用(重点) 全局异常 封装Response对象 自动生成接口文档
    课堂练习之“寻找最长单词链”
    《人月神话》读书笔记(三)
    用户体验
    第十四周进度报告
    课堂练习之“寻找水王”
    《人月神话》读书笔记(二)
    第二阶段冲刺(十)
    第二阶段冲刺(九)
  • 原文地址:https://www.cnblogs.com/asver/p/14130830.html
Copyright © 2011-2022 走看看