[Pwn] Pwnable · 작성: 2026-07-20 03:10:34 · 수정: 2026-07-20 03:11:15 · 조회 8
eBPF(extended Berkeley Packet Filter)는 커널을 재컴파일하지 않고도 커널 내부에서 샌드박스된 프로그램을 실행할 수 있게 해주는 리눅스 기능이다. 원래는 네트워킹/트레이싱/모니터링 목적(Wazuh 같은 도구도 이걸 활용한다)이지만, 공격자 입장에서는 커널 레벨에서 프로세스·파일·네트워크를 몰래 조작할 수 있는 강력한 지속성 수단이 된다. BPFDoor 같은 실제 악성코드가 이 방식을 쓴다.
# execve 호출을 커널 레벨에서 실시간 관찰
bpftrace -e 'tracepoint:syscalls:sys_enter_execve { printf("%s %s\n", comm, str(args->filename)); }'
실제 공격에 쓰이는 eBPF 프로그램은 이 관찰 능력을 반대로 이용해서, 특정 조건에서 자기 자신의 흔적(프로세스, 소켓, 파일)을 결과에서 제외시키는 방식으로 은폐한다.
bpftool prog list로 현재 로드된 모든 eBPF 프로그램을 점검할 수 있다kernel.unprivileged_bpf_disabled)