• 1. 关于本文档
  • 2. 课程信息
    • 2.1. 实验介绍
    • 2.2. 作业提交说明
    • 2.3. 课程资料
    • 2.4. 联系助教
  • 3. 实验一
    • 3.1. 实验内容
      • 3.1.1. 安装Linux操作系统
      • 3.1.2. 熟悉Linux操作系统的常用命令
      • 3.1.3. 学习使用bash
      • 3.1.4. 学习使用Git
      • 3.1.5. 熟悉GitHub的使用流程
    • 3.2. 作业提交
    • 3.3. 评分规则
  • 4. 实验二
    • 4.1. 实验内容
      • 4.1.1. 写在前面
      • 4.1.2. 准备环境
      • 4.1.3. 构建内核
      • 4.1.4. 构建busybox
      • 4.1.5. 完善根文件系统
      • 4.1.6. 运行操作系统
      • 4.1.7. 写在后面
    • 4.2. 作业提交
    • 4.3. 评分规则
  • 5. 实验三
    • 5.1. 实验内容
    • 5.2. 作业提交
  • 6. 实验四
    • 6.1. 实验内容
      • 6.1.1. 编译目标内核
      • 6.1.2. 使用QEMU测试内核
      • 6.1.3. 漏洞介绍
    • 6.2. 作业提交

漏洞介绍

本实验选取了3个不同类型的漏洞,大家可以根据自身情况选择。

CVE-2017-6074

DCCP模块中的一个double free类型的漏洞。

参考资料

  1. kernel commit
  2. CVE-2017-6074: DCCP double-free vulnerability (local root)
  3. POC
  4. Double Free浅析
  5. 缓冲区溢出——堆溢出
  6. Linux 堆溢出漏洞利用之 unlink

CVE-2017-2636

N_HLDC驱动在竞态条件下存在的一个double free类型漏洞。

参考资料

  1. kernel commit
  2. CVE-2017-2636: exploit the race condition in the n_hdlc Linux kernel driver bypassing SMEP
  3. CVE-2017-2636: local privilege escalation flaw in n_hdlc
  4. Double Free浅析
  5. 缓冲区溢出——堆溢出
  6. Linux 堆溢出漏洞利用之 unlink
  7. Race Condition

CVE-2016-5195

内存子系统在竞态条件下执行写时复制时存在漏洞,致使普通用户可获得其他用户只读内存映射的写入权限。

参考资料

  1. kernel commit
  2. CVE-2016-5195 "Dirty COW" Linux kernel privilege escalation vulnerability
  3. dirtycow.ninja
  4. POCs
  5. 写时复制