← 목록으로

BPFDoor 악성코드 점검 스크립트 (KISA 가이드 기반)

[ProJ] 프로젝트 · 작성: 2026-07-19 19:10:37 · 조회 6

Linux 서버에 BPFDoor 악성코드 감염 흔적이 남아있는지 점검하는 Bash 스크립트를 만들었다. KISA(한국인터넷진흥원)의 BPFDoor 관련 침해사고 대응 가이드를 기준으로, 단일 스크립트(bpfdoorcheck.sh) 실행만으로 9개 항목(BPF-01~BPF-09)을 순서대로 점검하고 리포트 파일을 생성한다.

이 도구는 점검 전용이다. 악성코드를 제거하지 않으며, "강한 의심" 판정이 나오면 망 분리 후 공식 침해사고 대응 절차(보호나라 등)를 따라야 한다.

점검 항목

코드 항목
PRECHECK 실행 환경(OS/권한/필수 명령어) 확인
BPF-01 뮤텍스/락 파일 점검
BPF-02 자동 실행 구문 점검
BPF-03 BPF 필터에서 매직 시퀀스 탐지
BPF-04 RAW 소켓 사용 프로세스 점검
BPF-05 백도어 쉘 특징적인 환경변수 조합 점검
BPF-06 BPFDoor 관련 포트 대역 리스닝 여부
BPF-07 정상 프로세스로 위장한 흔적 점검
BPF-08 문자열 패턴 점검
BPF-09 YARA 룰 기반 최종 검증

각 항목에서 발견한 의심 PID/파일은 공용 큐에 쌓아두고, 뒤쪽 항목(BPF-08, BPF-09)에서 재사용해 정밀 검사한다. 실행 파일이 이미 삭제된((deleted)) 상태라도 프로세스가 살아있으면 /proc/<pid>/exe로 원본 바이너리 내용을 읽어와 검사 대상에 포함시킨다.

오탐을 줄이는 데 신경 쓴 부분

BPFDoor는 udevd, abrtd, atd, Postfix의 pickup처럼 실제로 존재하는 정상 프로세스명으로 위장한다. 그래서 이름만 보고 판정하면 오탐이 많이 난다. 대응 방식은 "1차로는 넓게 탐지하되, 독립적인 근거가 있을 때만 등급을 낮추는" 쪽으로 잡았다.

즉 탐지 범위 자체는 줄이지 않고, 반복되는 오탐 알림만 줄이는 방향으로 설계했다.

사용법

chmod +x bpfdoorcheck.sh
./bpfdoorcheck.sh

실행하면 <IP>_<hostname>.txt(전체 리포트)와 <IP>_<hostname>.tar(제출용 압축)가 생성된다. 리포트에는 항목별 판정(양호/정보/중간 의심/강한 의심/위험(탐지)/수동 진단), 근거, 의심 PID/파일 요약, 후속 조치 가이드가 담긴다.

코드: github.com/Martina7Park/BPFDoor-malware-scanner-KISA-guide-aligned-

프로젝트 카테고리의 글 (1/5)

  1. BPFDoor 악성코드 점검 스크립트 (KISA 가이드 기반)
  2. VulnCheck_KR — 전자금융/주요정보통신기반시설 취약점 점검 컨버터
  3. pcap-sniffer — libpcap으로 패킷 캡처 프로그램 만들기
  4. WHS3 SIEM/SOAR — 탐지부터 자동 복구까지, 팀 프로젝트
  5. 보안 프로젝트 용어 정리: SIEM/SOAR부터 IaC까지
VulnCheck_KR — 전자금융/주요정보통신기반시설 취약점 점검 컨버터 →