BPF vs eBPF BPF: seccomp , setsocketopt 등에서 필터프로그램을 전달할때 쓰는 classic 한 ISA.구조가 매우 단순하고 call 이나 signed, unsigned 비교등이 없고 레지스터 갯수가 작음. eBPF: BPF 의 ISA 를 확장한 버전. 리눅스 커널 4.13인가부터 들어감. bpf() 라는 시스템콜을 통해서 프로그램을 전달할수있고, eBPF 바이트코드에 대해서는 최신커널이 JIT 도 수행해줌. eBPF 를 인터프리트하던 JIT 으로 네이티브로 돌리던 바이트코드의 안전성 검사를하는 verify 단계가 있는데, 이부분에 취약점이있어서 bypass 한뒤 악성 eBPF 프로그램을 통해 커널 임의 메모리읽기쓰기를 수행해서 루트를 따는 CVE-2017-16995 가 있었음. (https://.. 더보기 이전 1 2 3 4 ··· 423 다음