리눅스 기반 시스템을 겨냥한 고도화된 백도어 악성코드로, 2021년 PwC의 위협 보고서를 통해 처음 공개되었습니다. 이 악성코드는 중국계 APT 그룹인 Earth Bluecrow(일명 Red Menshen)에 의해 사용된 것으로 알려져 있으며, 주로 아시아와 중동 지역의 통신, 금융, 소매 산업을 대상으로 한 사이버 스파이 활동에 활용되었습니다. 페이스북+4LinkedIn+4연합뉴스+4연합뉴스+8Medium+8Industrial Cyber+8
🔍 주요 특징
- BPF(Berkeley Packet Filter) 악용: BPFDoor는 리눅스 커널의 BPF 기능을 활용하여 네트워크 패킷을 필터링하고, 특정 ‘매직 시퀀스’가 포함된 패킷을 통해 명령을 수신합니다. 이러한 방식은 방화벽이나 침입 탐지 시스템(IDS/IPS)을 우회할 수 있게 해줍니다. NordVPN+3Medium+3LinkedIn+3
- 다양한 통신 프로토콜 지원: TCP, UDP, ICMP 프로토콜을 통해 비표준 통신을 수행하며, 이를 통해 리버스 셸 연결 및 명령어 실행이 가능합니다. Medium+1MITRE ATT&CK+1
- 은닉 및 지속성: 프로세스 이름 위장, 메모리 기반 실행, 히스토리 기록 차단 등 다양한 안티 포렌식 기술을 적용하여 시스템 내에서 장기간 은닉할 수 있습니다. Medium
- 측면 이동 및 추가 감염: 감염된 시스템 내에서 다른 호스트로의 측면 이동을 지원하며, 추가적인 악성 도구를 업로드하여 네트워크 내 확산이 가능합니다. Medium
🛡️ 대응 및 방지 방법
- 보안 점검 도구 활용: 파이오링크에서는 최근 BPFDoor 악성코드를 점검할 수 있는 무료 도구를 배포하였습니다. 이 도구는 리눅스(CentOS, Ubuntu 등) 환경에서 테스트되었으며, 파이오링크 공식 홈페이지에서 다운로드할 수 있습니다. 지디넷코리아+1페이스북+1
- 정기적인 시스템 점검: 비정상적인 소켓 연결, 실행 파일 위변조, 프로세스 이름 변조 여부 등을 주기적으로 점검하여 이상 징후를 조기에 발견할 수 있습니다. Medium
- 보안 솔루션 업데이트: 안랩 V3, 트렌드마이크로 등 주요 보안 솔루션에서 BPFDoor 탐지 및 대응 기능을 제공하고 있으므로, 최신 버전으로 업데이트하여 보호 기능을 강화해야 합니다. Medium
- KISA 보안 공지 참고: 한국인터넷진흥원(KISA)에서는 BPFDoor 관련 보안 공지를 통해 악성코드 해시값 및 대응 방법을 안내하고 있으므로, 이를 참고하여 보안 조치를 취하는 것이 중요합니다. 지디넷코리아+3페이스북+3연합뉴스+3
BPFDoor는 리눅스 시스템을 표적으로 하는 고도화된 스텔스형 악성코드로, 시스템 관리자와 보안 담당자의 각별한 주의가 필요합니다. 정기적인 보안 점검과 최신 보안 솔루션의 활용을 통해 이러한 위협에 대비할 수 있습니다.LinkedIn+1지디넷코리아+1
BPFDoor는 Linux 시스템을 노린 백도어 악성코드로, 고급 지속 위협(APT) 그룹 Red Menshen이 사용하는 것으로 알려졌습니다. 이 악성코드는 BPF(Berkeley Packet Filter)를 활용해 네트워크 트래픽을 은밀히 감시하고, 포트 백로그를 활용한 명령 수신 및 원격 제어 기능을 수행합니다. 시스템에 거의 흔적을 남기지 않기 때문에 탐지 및 분석이 매우 어렵습니다.
다음은 BPFDoor 감염 여부를 점검하는 방법입니다.
🔍 1. 프로세스 및 바이너리 검사
BPFDoor는 자신을 sshd
, cron
등 정상적인 시스템 프로세스로 위장합니다.
1 2 3 4 |
bash복사편집<code>ps aux | grep -E 'sshd|cron|kworker|systemd' |
이 중에서 다음 항목을 확인하세요:
- **UID가 0(root)**이 아닌데 이상한 경로에서 실행 중인
sshd
,cron
등이 있는지 - 정상 위치가 아닌 경로 (예:
/tmp/sshd
,/dev/shm/cron
)에서 실행되는 프로세스
📂 2. 파일 경로 기반 수상한 실행파일 탐지
BPFDoor는 일반적으로 다음 경로에 설치됩니다:
/dev/shm/
/tmp/
/var/tmp/
이 경로에서 실행 권한이 있는 파일을 찾아봅니다:
1 2 3 4 |
bash복사편집<code>find /dev/shm /tmp /var/tmp -type f -executable |
📡 3. Netstat/ss 로 수상한 포트 리스닝 탐지
BPFDoor는 일반적으로 리스닝 포트를 열지 않고도 패킷을 수신합니다. 그러나 간혹 다음을 통해 감지 가능합니다:
1 2 3 4 5 |
bash복사편집<code>ss -pant netstat -antup |
LISTEN
상태가 아닌데도 외부 연결을 기다리는 듯한 프로세스가 있는 경우 주의.
🧪 4. 패킷 필터링 기능(BPF) 검사
BPFDoor는 SO_ATTACH_FILTER
로 BPF 필터를 소켓에 연결합니다. 이걸 검사하려면:
1 2 3 4 |
bash복사편집<code>sudo bpftool prog show |
BPFDoor와 같은 백도어는 종종 이 목록에 **”unspecified”**로 나옵니다.
📈 5. ld.so.preload 파일 검사
BPFDoor는 종종 라이브러리를 악용하기 위해 /etc/ld.so.preload
를 수정합니다.
1 2 3 4 |
bash복사편집<code>cat /etc/ld.so.preload |
이 파일이 비어 있지 않거나, 의심스러운 경로가 있다면 감염 의심.
🧰 6. 포렌식 도구 활용
Chkrootkit
1 2 3 4 5 |
bash복사편집<code>sudo apt install chkrootkit sudo chkrootkit |
rkhunter
1 2 3 4 5 6 |
bash복사편집<code>sudo apt install rkhunter sudo rkhunter --update sudo rkhunter --check |
🛡️ 7. 메모리 및 동작 기반 탐지 (고급)
bpftool
, strace
, lsof
, auditd
등을 활용하여:
- 실행 중인 프로세스의 라이브러리 동적 로딩
- raw socket 사용
- fork+exec 없이 명령을 수행하는 패턴 등을 분석
✅ 요약
항목 | 점검 |
---|---|
ps, find 명령으로 위장 프로세스 탐지 | ✅ |
/dev/shm, /tmp 등에서 실행 파일 검사 | ✅ |
bpftool로 BPF 필터 확인 | ✅ |
ld.so.preload 내용 확인 | ✅ |
rkhunter, chkrootkit 등 도구 사용 | ✅ |
💡 대응 권장 사항
- 감염 의심 시 즉시 네트워크 격리
- 시스템 백업 확보 후, 포렌식 분석 또는 클린 재설치 권장
- 취약한 포트를 닫고, SSH 등 접근을 제한
- 로그를 외부 로그 서버로 전송하여 tamper-proof 유지