zoukankan      html  css  js  c++  java
  • Proj THUDBFuzz Paper Reading: DIFUZE: Interface Aware Fuzzing for Kernel Drivers

    PDF

    https://acmccs.github.io/papers/p2123-corinaA.pdf

    Github

    https://github.com/ucsb-seclab/difuze

    Abstract

    P1:
    1-2 Device Driver重要、数目多
    3 安全问题(susceptible to security vulnerabilities and lack proper vetting)
    4 挑战:复杂数据结构

    P2:
    本文:工具DIFUZE
    特点:interface-aware
    目的:自动生成有效输入并触发kernel drivers的执行
    方法:

    1. 静态分析
    2. 自动化
    3. 自动识别driver handlers
    4. 自动映射handler到device file names
    5. 自动构建复杂参数实例
      实验:
      对象:7个Android智能机
      效果:
      1. 能有效识别kernel driver bugs
      2. 报告了32个未知缺陷,其中包括能导致任意代码执行的缺陷

    1. Intro

    P1 移动设备重要性
    P2 安全重要性;
    已有方法:1. 沙盒 2. 多种面向userspace的防御(如Address Space Layout Randomization, Data Execution Protection, SELinux)
    缺点:对移动设备内核的安全保护不够多
    P3 Kernel代码分类:

    1. 核心-多为syscall, open, execve等代码,其中syscall有详细的规格说明
    2. driver device- 在POSIX兼容系统上一般为ioctl,需要在特定设备的valid command集中取command和对应的数据结构。Google统计85%Bugs发生在driver device中。
      P4 本文 DIFUZE
    3. 自动静态分析,确定相关io ctl interface
    4. 使用recovered interface来生成inputs
    5. 指导有意义的变异
    6. 着重于测试有问题或者暴露过严重安全缺陷的Driver

    贡献:

    1. interface-sensitive targets
    2. 自动分析device kernel源码

    2. Background

    2.1 POSIX Device Drivers

  • 相关阅读:
    jq-demo-阻止冒泡,阻止默认行为
    jq-demo-轮播图
    jq-demo-点击选择(英雄联盟)
    jq-demo-tab切换
    jq-demo-拖拽
    hdu 4031 Attack 线段树
    codeforces 633C. Spy Syndrome 2 hash
    sublime模式下开启vim并修改esc
    codevs 1256 打鼹鼠 LIS
    codevs 1455 路径 计算m^n%p
  • 原文地址:https://www.cnblogs.com/xuesu/p/15506387.html
Copyright © 2011-2022 走看看