[정보관리기술사 137회 1교시 9번] eBPF(extended Berkeley Packet Filter)의 개념과 활용

정보관리기술사 · 137회 1교시 9번 · 배점 10점

eBPF(extended Berkeley Packet Filter)의 개념과 활용

I. 개요

eBPF(extended Berkeley Packet Filter)란 리눅스 커널 내에서 사전 검증된 바이트코드 프로그램을 안전하게 실행할 수 있는 인커널 가상 머신(in-kernel VM)이다. 커널 소스 수정·모듈 재컴파일 없이 커널 훅(kprobe, tracepoint, socket 등)에 사용자 정의 로직을 동적으로 삽입하여 네트워킹·보안·성능 관찰을 수행한다. 커널 4.x 이상부터 지원되며, eBPF 검증기(Verifier)가 무한 루프·메모리 범위 초과를 컴파일 시 차단해 커널 안전성을 보장한다.

II. 기존 커널 모듈과 eBPF 비교

구분 커널 모듈(LKM) eBPF
안전성 버그 시 커널 패닉 가능 Verifier가 사전 안전성 검증
배포 커널 버전 종속 재컴파일 CO-RE(Compile Once, Run Everywhere)
동적 적용 리부팅·insmod 필요 런타임 동적 로드·언로드

III. 주요 활용 분야

분야 기술/도구 설명
네트워킹 XDP, Cilium, Katran NIC 드라이버 수준에서 패킷 처리(DDoS 방어, L4 LB). iptables 대비 10~100배 성능
보안 Falco, Tetragon 시스템콜 실시간 감시·이상 행위 탐지(Runtime Security), 컨테이너 탈출 탐지
관찰가능성 BCC, bpftrace, Pixie 커널·애플리케이션 레이턴시·CPU 프로파일링. 코드 수정 없는 무에이전트 트레이싱
서비스 메시 Cilium Service Mesh 사이드카 프록시 없이 커널 레벨 서비스 메시 구현. Istio 대비 오버헤드 대폭 감소

IV. eBPF 프로그램 실행 흐름

① C 코드 작성 → ② LLVM/Clang으로 BPF 바이트코드 컴파일 → ③ bpf() 시스템콜로 커널에 로드 → ④ Verifier 안전성 검증(타입·경계 검사) → ⑤ JIT 컴파일러로 네이티브 기계어 변환 → ⑥ 이벤트 훅(kprobe·tracepoint·XDP 등)에 attach → ⑦ 이벤트 발생 시 커널에서 직접 실행 → ⑧ BPF Map으로 커널↔사용자 공간 데이터 공유

V. 결론 및 기술사 관점

eBPF는 커널 수정 없이 OS 기능을 프로그래밍 방식으로 확장하는 혁신적 기술로, 클라우드 네이티브 환경의 관찰가능성·보안·네트워킹 분야에서 빠르게 표준화되고 있다. CO-RE 지원으로 배포 복잡도가 해소되면서 엔터프라이즈 도입이 가속화되고 있으며, eBPF Foundation(Linux Foundation 산하)을 통한 생태계 표준화가 진행 중이다.

핵심 키워드: eBPF, BPF Verifier, XDP, Cilium, kprobe, tracepoint, CO-RE, BPF Map, Runtime Security, 무에이전트 관찰가능성

Leave a Comment