Ikoct的饮冰室

你愿意和我学一辈子二进制吗?

0%

Linux 虚拟文件系统

除了存放在物理内存中的文件外Linux还提供了一系列虚拟文件系统来访问系统资源 其中/proc可以访问一个进程的所有信息 可以用来读取一些敏感程序信息 使用/proc/<pid>/来访问pid所指进程的资源 详细信息参考Linux内核文档

阅读全文 »

BPF简介

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

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

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

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

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

阅读全文 »