iiliiiili 2025. 4. 26. 09:10

1. 개요

BPFdoor는 리눅스 시스템을 표적으로 한 고급 백도어로, APT 그룹(예: Red Menshen, Gallium 등)에 의해 사용된 것으로 분석되었다. 이 백도어는 전통적인 통신 방식이나 시스템 로그를 우회하여 탐지 회피 및 은폐성을 극대화한 설계로 주목받고 있다.

특히 포트를 열지 않고 raw socket, Berkeley Packet Filter(BPF) 기반으로 네트워크 트래픽을 감지하며, 무포트 통신(backdoor without listener port)유휴 프로세스 상태를 유지함으로써 상용 보안 솔루션의 탐지를 피한다.


2. 주요 기능 및 특징 요약

기능 설명
raw socket 기반 수신 포트를 열지 않고 패킷 수신 가능 (AF_PACKET)
BPF 필터 특정 패턴의 패킷만 필터링하여 쉘 실행 트리거
리버스 쉘/바인드 쉘 제공 공격자 명령에 따라 TCP 연결을 생성하여 쉘 전달
로그 남기지 않음 syslog, bash_history 등에 명령이 기록되지 않음
은폐된 실행 방식 .sshd, .bash, kworker 등 정상 프로세스명으로 위장
파일 삭제 후 메모리 상주 디스크 상에는 흔적이 남지 않음
root 권한으로 동작 SELinux 우회, 시스템 호출 제어 우회 가능성

3. 내부 동작 방식

3.1 초기 실행

  • 공격자는 취약점을 이용하거나 사회공학 기법 등을 통해 루트 권한으로 바이너리를 설치
  • 실행 즉시 포트 바인딩 없이 raw socket 생성
  • setsockopt() 및 ioctl() 등을 이용해 BPF 필터를 삽입

3.2 패킷 트리거

  • 특정 포맷의 "마법 패킷"이 수신되면 이를 분석하여 내부 명령을 실행
  • 트리거 예: 특수 포트 번호, 특정 MAC 주소, 패킷 내 암호 문자열 등
  • payload 분석 결과:
    • 연결 모드 설정 (reverse/bind)
    • 인증값 포함

3.3 쉘 세션 생성

  • 공격자 요청에 따라 fork() → execve(/bin/sh) 수행
  • STDIN/STDOUT을 소켓에 바인딩하여 쉘을 터널링함
  • 백도어는 여전히 포트 리스닝 없이 작동 중

3.4 은폐 및 지속성

  • 일부 변종은 /dev/shm, /tmp 경로에 위치
  • nohup, daemon() 호출, 또는 initrc, systemd 등록으로 지속성 확보
  • 바이너리 실행 후 자기 삭제 기능 포함 가능

4. 감염 징후 및 IoC

4.1 프로세스 분석

  • 실행 중인 프로세스 명이 .sshd, .bash_history, .dbus-daemon 등 위장됨
  • ps, top, netstat 결과에서 수상한 바인딩 포트 없이 존재
  • 부모 프로세스가 init 또는 systemd인 경우 위장 가능성 높음

4.2 파일 흔적

  • 실행 바이너리가 /tmp/.X11-unix/, /dev/shm/, ~/.cache/ 등 사용자 접근이 용이한 경로에 존재 가능
  • ELF 헤더가 UPX 등으로 패킹된 경우도 있음

4.3 네트워크 분석

  • netstat, ss에 출력되지 않음
  • tcpdump, Wireshark로 분석 시 특정 포맷의 ICMP, UDP 또는 TCP 패킷에 반응
  • ARP 응답도 일부 변종에서 조작 가능

4.4 관련 IoC 예시

SHA256: a3f2... (샘플 해시)
파일명: .sshd, .bash_history
통신 포맷: TCP/UDP 패킷 내 "0xdeadbeef" 마커
패킷 도착 후 /bin/sh 스폰

5. 탐지 및 대응 방안

5.1 탐지 방법

  • 메모리 기반 탐지 도구 사용: volatility, avml, LiME
  • eBPF 기반 syscall 추적: bpf(), socket(AF_PACKET), execve() 탐지
  • auditd 설정:
auditctl -a always,exit -F arch=b64 -S bpf -k detect_bpfdoor
  • SELinux 정책으로 bpf, net_raw, tmp_exec 차단

5.2 방어 전략

항목 권장 설정

SELinux/AppArmor Enforcing 모드 + 사용자 정의 정책 적용
/tmp 실행 차단 fstab 설정 또는 SELinux로 tmp_t:file execute 거부
SUID, Capabilities 정리 find / -perm -4000 등으로 점검
네트워크 정책 방화벽으로 수신 포트 외 포맷 필터링 제한
무결성 검사 AIDE, RPM -V 등으로 백도어 삽입 탐지

6.  밴더 분석 보고서 모음

(1) 트랜드마이크로

https://www.trendmicro.com/en_us/research/25/d/bpfdoor-hidden-controller.html

 

BPFDoors Hidden Controller Used Against Asia, Middle East Targets

A controller linked to BPF backdoor can open a reverse shell, enabling deeper infiltration into compromised networks. Recent attacks have been observed targeting the telecommunications, finance, and retail sectors across South Korea, Hong Kong, Myanmar, Ma

www.trendmicro.com

(2) 지니언스

https://www.genians.co.kr/blog/threat_intelligence/bpfdoor

 

BPFDoor 리눅스 악성파일 분석 보고서

사이버 간첩 활동을 위해 설계된 BPFDoor은 리눅스 기반 백도어로, BPF 기능을 악용합니다. 최근 BPFDoor을 활용한 공격이 대한민국, 홍콩, 미얀마, 말레이시아, 이집트의 통신, 금융, 소매 부문 등을

www.genians.co.kr

(3)