0%

BPF简介

BPF(Berkeley Packet Filter)是一个在Linux内核运行的安全计算系统 可以简单理解为一个专门为了计算过滤规则的虚拟机 通常配合prctl()seccomp()进行对系统调用的限制 有两个主要32位寄存器:

A(累加器, Accumulator):存储主要操作数据

X(索引寄存器, Index Register):通常用于索引计算或临时存储数据

以及16个32位内存单元mem[idx]

支持常见的数值和位运算 在使用seccomp或prctl添加了BPF过滤器后 每次进行系统调用时都会先对使用的系统调用号sys_number 系统ABIarch 以及传入的参数进行安全计算然后判断是否能够执行系统调用

阅读全文 »

侧信道攻击最原始的想法是直接对程序输入数据进行爆破测试 例如羊城杯2024逆向的Rust-VM:

阅读全文 »

Angr简介

Angr提供了一个处理二进制文件的框架 主流的指令集指令在被载入CLE框架后 会根据功能被抽象为中间语言(IL) Angr提供的就是处理这些被载入为IL的程序 可以用来实现自动化的程序调试 例如直接载入程序然后像模拟的标准输入流输入数据以达到直接利用原程序进行爆破的目的 同时Angr还内置了约束求解器

阅读全文 »