개요
Berkeley Packet Filter(BPF) 도어는 중국의 국가 지원 해킹 그룹인 Red Menshen(일명 Earth Bluecrow, DecisiveArchitect)이 개발한 고도로 정교한 Linux 백도어입니다. 2021년 PwC에서 처음 발견된 이후, 2024-2025년에도 아시아와 중동 지역의 통신, 금융, 소매업체를 지속적으로 표적으로 삼고 있습니다.
이 백도어의 가장 큰 특징은 Berkeley Packet Filter 기술을 악용하여 커널 수준에서 네트워크 패킷을 모니터링하고, 매직 바이트 시퀀스를 통해 방화벽을 우회하며 활성화될 수 있다는 점입니다.
BPF 기술의 원리와 악용 방식
Berkeley Packet Filter란?
Berkeley Packet Filter(BPF)는 운영체제 수준에서 네트워크 패킷을 캡처하고 필터링할 수 있는 네트워크 탭 및 패킷 필터입니다. 사용자 공간 프로세스가 필터 프로그램을 제공하여 수신하고자 하는 패킷을 지정할 수 있게 해줍니다.
정상적인 BPF 사용 예시:
- tcpdump와 같은 네트워크 모니터링 도구
- 방화벽 규칙 설정
- 네트워크 성능 분석
BPF 도어의 악용 메커니즘
BPF 도어는 BPF 필터를 로드하여 네트워크 패킷의 상위 계층을 검사할 수 있게 하고, “매직 시퀀스”가 포함된 네트워크 패킷에 의해 활성화됩니다.
주요 매직 시퀀스:
- TCP: 0x5293
- UDP/ICMP: 0x7255, 0x39393939
BPF가 대상 운영체제에서 구현되는 방식 때문에, 매직 패킷은 방화벽에 의해 차단되더라도 백도어를 활성화시킵니다. 패킷이 커널의 BPF 엔진에 도달하면 상주하는 백도어가 활성화됩니다.
2024-2025년 공격 캠페인 분석
최신 위협 동향
2024년 연구진들은 BPF 도어와 연관된 새로운 컨트롤러 컴포넌트를 발견했습니다. 이 컨트롤러는 리버스 셸을 열 수 있어 공격자가 손상된 네트워크에 더 깊이 침투하여 측면 이동을 수행할 수 있게 합니다.
표적 조직
최근 공격은 한국, 홍콩, 미얀마, 말레이시아, 이집트의 통신, 금융, 소매 부문을 표적으로 삼았습니다.
기술적 분석
실행 과정
- 초기 배치: BPF 도어가 처음 실행되면 자신을 “/dev/shm” 경로에 “kdmtmpflush”라는 이름으로 복사한 후 자신을 삭제합니다.
- 프로세스 위장: 다음 10개의 이름 중 하나를 무작위로 선택하여 정상적인 Linux 시스템 데몬으로 위장합니다:
- /sbin/udevd -d
- /sbin/mingetty /dev/tty7
- /usr/sbin/console-kit-daemon –no-daemon
- hald-addon-acpi: listening on acpi kernel interface /proc/acpi/event
- dbus-daemon –system
- BPF 필터 등록: TCP 프로토콜의 경우 0x5293, UDP 및 ICMP 프로토콜의 Echo Request의 경우 0x7255를 확인하는 필터를 등록합니다.
네트워크 통신 메커니즘
BPF 도어는 세 가지 프로토콜을 지원합니다:
- TCP: 직접 연결을 통한 셸 액세스
- UDP: 상태 비저장 통신
- ICMP: 스텔스 통신을 위한 핑 패킷 악용
각 프로토콜에 대해 하드코딩된 매직 시퀀스를 사용하지만, 공격자가 수동으로 설정할 수도 있어 다양한 BPF 도어 샘플과 작동할 수 있도록 준비되어 있습니다.
실습: BPF 도어 탐지 및 분석
1. 기본 탐지 방법
프로세스 모니터링
# 의심스러운 프로세스 확인
ps aux | grep -E "(udevd|mingetty|console-kit-daemon|hald|dbus-daemon|auditd|systemd)"
# 실제 시스템 프로세스와 비교
systemctl status udevd
systemctl status console-kit-daemon
네트워크 소켓 검사
# Raw 소켓 사용 프로세스 확인
lsof -i | grep SOCK_RAW
netstat -anp | grep SOCK_RAW
# BPF 프로그램 확인
bpftool prog list
bpftool map list
2. BPF 필터 분석
BPF 필터 덤프
# 활성 BPF 프로그램 확인
bpftool prog dump xlated id <PROG_ID>
bpftool prog dump jited id <PROG_ID>
# BPF 맵 내용 확인
bpftool map dump id <MAP_ID>
매직 패킷 탐지
# tcpdump를 이용한 매직 시퀀스 모니터링
tcpdump -i any -X 'tcp[2:2] = 0x5293 or udp[2:2] = 0x7255'
# Wireshark 필터
tcp.payload contains 52:93 or udp.payload contains 72:55
3. 파일 시스템 검사
의심스러운 파일 확인
# /dev/shm 디렉토리 모니터링
ls -la /dev/shm/
find /dev/shm -type f -executable
# PID 파일 검사
ls -la /var/run/*.pid
file /var/run/haldrund.pid
stat /var/run/haldrund.pid
YARA 규칙 활용
다음은 BPF 도어 탐지를 위한 YARA 규칙 예시입니다:
rule BPFDoor_Detection {
meta:
description = "BPFDoor Linux Backdoor Detection"
author = "Security Research Team"
date = "2025-08-14"
strings:
$magic1 = {52 93}
$magic2 = {72 55}
$magic3 = {39 39 39 39}
$bpf_filter = "SO_ATTACH_FILTER"
$process_names = "/sbin/udevd"
condition:
any of ($magic*) and ($bpf_filter or $process_names)
}
공격 시나리오 및 피해 사례
실제 공격 시나리오
- 초기 침입: 취약한 웹 애플리케이션 또는 SSH 브루트포스 공격을 통한 서버 액세스 획득
- 권한 상승: 로컬 권한 상승 취약점을 이용하여 root 권한 획득
- BPF 도어 설치: 루트 권한으로 BPF 도어 바이너리 실행 및 지속성 확보
- 스텔스 운영: 매직 패킷을 통한 은밀한 명령 및 제어
- 측면 이동: 새로운 컨트롤러를 이용한 네트워크 내 다른 시스템으로의 확산
피해 영향
- 데이터 유출: 민감한 기업 정보 및 고객 데이터 탈취
- 인프라 손상: 중요 시스템에 대한 지속적인 액세스
- 규제 위반: GDPR, 개인정보보호법 등 위반으로 인한 법적 처벌
- 비즈니스 연속성 중단: 시스템 신뢰성 저하 및 운영 중단
방어 및 대응 전략
예방적 보안 조치
1. 커널 수준 보안 강화
# BPF 기능 제한
echo 'kernel.unprivileged_bpf_disabled = 1' >> /etc/sysctl.conf
sysctl -p
# 컴파일 시 BPF 옵션 비활성화
# CONFIG_BPF_KPROBE_OVERRIDE 비활성화
2. 네트워크 모니터링
하이퍼바이저 기반 감사를 통해 게스트 OS의 eBPF 프로그램을 실행 전에 검사하는 방법이 2023-2024년 연구에서 제안되었습니다.
# Suricata를 이용한 매직 패킷 탐지 규칙
alert tcp any any -> any any (msg:"BPFDoor Magic Packet TCP"; content:"|52 93|"; sid:1000001;)
alert udp any any -> any any (msg:"BPFDoor Magic Packet UDP"; content:"|72 55|"; sid:1000002;)
alert icmp any any -> any any (msg:"BPFDoor Magic Packet ICMP"; content:"|72 55|"; sid:1000003;)
3. EDR/XDR 솔루션 활용
Qualys Multi-Vector EDR와 AhnLab EDR 등 차세대 보안 솔루션들이 BPF 도어의 의심스러운 행동을 탐지할 수 있습니다.
사고 대응 절차
1. 즉시 격리
# 네트워크 격리
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP
# 프로세스 종료
pkill -f "kdmtmpflush"
pkill -f "haldrund"
2. 포렌식 수집
# 메모리 덤프
dd if=/proc/kcore of=/tmp/memory_dump.img
# 네트워크 연결 상태 저장
netstat -anp > /tmp/network_connections.txt
lsof -i > /tmp/open_files.txt
# BPF 프로그램 상태 저장
bpftool prog show > /tmp/bpf_programs.txt
bpftool map show > /tmp/bpf_maps.txt
3. 시스템 복구
- 감염된 바이너리 제거
- 시스템 재이미징
- 패치 적용 및 보안 강화
- 모니터링 강화
최신 연구 동향 및 대응 기술
하이퍼바이저 기반 탐지
2024년 연구에서는 경량 하이퍼바이저를 사용하여 게스트 메모리를 스냅샷하고 Volatility 플러그인을 사용하여 의심스러운 eBPF 헬퍼 함수를 추출 및 분류하는 방법이 제시되었습니다.
AI 기반 행동 분석
머신러닝 알고리즘을 활용한 비정상 네트워크 패턴 탐지:
- 매직 패킷 시퀀스의 통계적 이상 탐지
- 프로세스 행동의 베이스라인 대비 편차 분석
- 네트워크 플로우의 엔트로피 분석
제로 트러스트 아키텍처
- 마이크로 세그멘테이션을 통한 측면 이동 차단
- 지속적인 인증 및 권한 검증
- 최소 권한 원칙 적용
결론
BPF 도어는 커널 수준에서 작동하는 매우 정교한 백도어로, 전통적인 보안 솔루션으로는 탐지하기 어려운 특성을 가지고 있습니다. 2024-2025년에도 지속적으로 진화하며 새로운 컨트롤러 기능을 추가하는 등 활발히 사용되고 있습니다.
조직은 다층 보안 전략을 통해 이러한 고급 위협에 대응해야 합니다:
- 예방: 커널 수준 보안 강화 및 BPF 기능 제한
- 탐지: 행동 기반 분석 및 하이퍼바이저 수준 모니터링
- 대응: 신속한 격리 및 포렌식 분석
- 복구: 시스템 재구축 및 보안 강화
특히 통신, 금융, 정부 기관과 같은 중요 인프라 운영 조직은 이러한 국가급 APT 그룹의 표적이 될 가능성이 높으므로, 지속적인 위협 인텔리전스 수집과 보안 태세 강화가 필수적입니다.
추가 리소스
본 블로그는 교육 및 방어 목적으로 작성되었으며, 악의적인 용도로 사용되어서는 안 됩니다. 모든 실습은 격리된 환경에서 수행하시기 바랍니다.