workspace/research/

Research

研究笔记、实验记录与学习资料。

  • Perf与简单的侧信道攻击 CTF

    perf

    简介

    perf 是 Linux 系统性能分析工具集,全称是 Performance Event Counters 它基于 Linux 内核的 perf_events 子系统,能够提供硬件和软件层面的性能分析能力 我们这里会用到它的一些功能以获取一些硬件事件的信息,因此,你必须确保自己的虚拟机支持 PMU 功能

    准备perf

    事前准备

    首先确定你的设备支持 PMU 功能,如果条件允许,实体机上使用 perf 会方便很多,如果你使用的是 wsl2 作为使用的虚拟机,请在设置中开启 性能计数器 ,并使用除 ubuntu 以外的系统,因为 wsl2 对内核的魔改会导致一些兼容性问题,我捣鼓了两天也没能完美解决,可以在 wsl2 上选择其他 Linux 进行尝试,或者换用 VMware ,在使用VMware时,请在硬件设置里,添加上虚拟化 CPU 性能计数器,并禁用所有HyperV相关的设置,并关闭虚拟化保护 包括(仅限VMware使用者,wsl2 不要改):

    • Windows安全中心 -> 设备安全性 -> 内核隔离 -> 内存完整性/本地安全机构保护
    • Windows功能 -> Hyper-V/Virtual Machine Platform/Windows虚拟机监控程序平台

    perf安装

    安装 perf 可以通过

    sudo apt-get install linux-tools-generic
    

    相关设置

    使用权限

    等安装完成后并不能直接使用,你需要先查看

    cat /proc/sys/kernel/perf_event_paranoid
    

    这个perf_event_paranoid设置了运行时权限相关的内容,建议修改成小于等于1的值

    sudo sh -c 'echo -1 > /proc/sys/kernel/perf_event_paranoid'
    
    CPU核心与内存分配

    此时可以尝试一下使用

Terminal

C0nvR3 Lab terminal ready. Type help for commands.