본문 바로가기
IT 정보

🛑 BPFdoor 악성코드 탐지 가이드

by 망고노트 2025. 6. 21.
728x90
반응형

🛑 BPFdoor 악성코드 탐지 가이드

📌 개요

항목 내용
플랫폼 Linux (x86, x64, 일부 Solaris)
기반 기술 BPF(raw socket) + 패킷 매직값
주요 기능 백도어 쉘 제공, 방화벽 우회, 흔적 거의 없음
공격 대상 APT 그룹이 서버 대상, 아시아/중동 주 타겟
포트/방식 기존 포트 숨김 사용 (ssh, http 등)

🔍 주요 탐지 포인트

  • 프로세스 위장 탐지: ps -ef | grep -E 'init|sshd|httpd'
  • 비정상 소켓 확인: ss -lntp, lsof -i
  • 숨겨진 설치 경로 탐색: find /var -name '.*'
  • BPF 관련 strace 분석: strace -f -e trace=socket ./의심파일

🧪 YARA 룰 예시

rule BPFdoor_Linux_Backdoor {
    meta:
        description = "Detect BPFdoor Linux backdoor variant"
    strings:
        $a = "SOCK_RAW"
        $b = "AF_PACKET"
        $c = "recvfrom"
        $d = "fork"
        $e = "/var/run/.systemd-service"
    condition:
        4 of ($a,$b,$c,$d,$e)
}

🛡 대응 방안

  • ✅ 비인가 포트 수신 여부 점검 및 차단
  • ✅ LD_PRELOAD 등 라이브러리 감염 여부 점검
  • chkrootkit, rkhunter 등 루트킷 스캐너 활용
  • ✅ 감염 의심 시 즉시 포렌식 및 외부 연결 차단

🧰 유용한 도구

도구 설명
chkrootkit, rkhunter 일반적인 루트킷 탐지 도구
Sysdig, Falco 시스템 콜 + 행위 분석 기반 탐지
auditd, eBPF BPF tracepoint 기반 실시간 감시 가능

 

BPFdoor는 2021~2022년경부터 주목받기 시작한 Linux 백도어 악성코드입니다. 공격자는 BPF(Berkeley Packet Filter)를 이용하여 방화벽을 우회하고, 시스템에 은밀하게 원격 쉘을 열어줍니다.


🔍 BPFdoor 개요

항목 내용
플랫폼 Linux (주로 x86, x64, 일부 Solaris 변종)
기반 기술 BPF(raw socket 기반 패킷 수신) + 특정 패킷 매직값
기능 백도어 쉘 제공, 방화벽 우회, 감염 흔적 거의 없음
감염 대상 중국계 APT 그룹이 아시아/중동 서버를 주로 타겟
포트/방식 기존 열려있는 포트를 사용 (예: ssh/ftp/http), 흔히 reverse shell or bind shell
 

📌 주요 탐지 포인트

1. 프로세스 탐지

  • 일반적으로 init, sshd, httpd 등 정상 프로세스 이름을 위장
 
ps -ef | grep -E 'init|sshd|httpd'

2. BPF 사용 확인

  • 커널 수준에서 패킷 필터링하는 BPF 접근 감시 (rare)
 
strace -f -e trace=socket ./의심파일

3. 비정상 open socket

 
ss -lntp  # 이상한 포트로 LISTEN 상태인 프로세스 확인
lsof -i -n | grep -i listen

4. 스텔스 파일/실행 위치

  • /var/run/.systemd-service 같은 숨김 경로에 설치
 
find /var -name '.*' -type f -exec ls -l {} \;

5. 기억장치 접근 시도 감시

 
dmesg | grep BPF
auditctl -l

🧪 YARA 룰 예시 (BPFdoor 탐지용)

rule BPFdoor_Linux_Backdoor
{
    meta:
        description = "Detect BPFdoor Linux backdoor variant"
    strings:
        $a = "SOCK_RAW"
        $b = "AF_PACKET"
        $c = "recvfrom"
        $d = "fork"
        $e = "/var/run/.systemd-service"
    condition:
        4 of ($a,$b,$c,$d,$e)
}

🛡️ 대응 방안

  • 방화벽 상태 확인 및 로그 점검: 비인가 포트 수신 여부
  • LD_PRELOAD / 시스템 라이브러리 훼손 여부 확인
  • 정기적으로 프로세스 & 네트워크 포트 이상 탐지
  • ✅ EDR(Linux 대응형) 또는 chkrootkit, rkhunter 활용
  • ✅ 감염 의심시 즉시 포렌식 및 원격 접속 차단

🧰 유용한 도구

도구 설명
chkrootkit, rkhunter 일반적인 루트킷 탐지
Sysdig, Falco 시스템 콜 추적 + 비정상 행위 감시
auditd, eBPF tracepoint BPF 탐지 및 행동 로깅
 

 

이 글이 도움이 되셨다면
🔔 구독❤️ 좋아요  꾸우욱 눌러 주세요!🙏

그리고 💖커피 ☕, 💚차 🍵, 💛맥주 🍺, ❤️와인 🍷  중 마음에 드시는 한 잔으로 💰 후원해 주시면 큰 힘이 됩니다.

                                                                             👇 지금 바로 아래 🔘버튼을 꾸욱 눌러 📣 응원해 주세요! 👇  

728x90
반응형

 

이 글이 도움이 되셨다면
🔔 구독❤️ 좋아요 꾸우욱 눌러 주세요!🙏

그리고 💖커피 ☕, 💚차 🍵, 💛맥주 🍺, ❤️와인 🍷 중 마음에 드시는 한 잔으로 💰 후원해 주시면 큰 힘이 됩니다.

👇 지금 바로 아래 🔘버튼을 꾸욱 눌러 📣 응원해 주세요! 👇