본문 바로가기
서버인프라/IT 뉴스

🛡 WebShell vs BPFdoor – 웹서버 백도어와 커널 백도어의 본질적 차이

by techwold ted 2025. 5. 20.

보안 침해 사고를 분석하다 보면, 다양한 유형의 백도어가 등장합니다. 이 중에서 특히 자주 언급되는 것이 WebShellBPFdoor입니다. 이름은 비슷해 보여도, 두 백도어는 작동 방식, 은닉성, 목적에서 본질적으로 다릅니다.

이번 글에서는 이 둘의 차이를 심층적으로 비교해보겠습니다.

 

☠️ WebShell: 웹 기반 백도어

WebShell은 공격자가 웹 서버의 취약점을 이용해 설치하는 웹 스크립트 기반의 백도어입니다. PHP, JSP, ASP 같은 언어로 작성되며, 공격자는 웹 브라우저를 통해 이를 제어합니다.

🔧 특징

  • 설치 위치: 웹 서버의 공개 디렉토리 (ex: /var/www/html)
  • 언어: PHP, JSP, ASP 등
  • 기능: 명령어 실행, 파일 업로드/다운로드, DB 조작
  • 접근 방법: HTTP 요청 (GET, POST 등)
  • 탐지 용이성: 시그니처 기반 보안 솔루션에 의해 비교적 쉽게 탐지 가능

💬 예시

<?php system($_GET['cmd']); ?>

 

공격자는 http://example.com/shell.php?cmd=ls 와 같이 명령을 실행

 

🐚 BPFdoor: 스텔스 커널 백도어

BPFdoor는 최근 몇 년간 국가 기반 APT 공격 그룹이 사용한 리눅스 백도어입니다. eBPF (extended Berkeley Packet Filter) 기술을 악용하여, 방화벽을 우회하고 탐지를 피하며, 거의 흔적 없이 명령을 수신하고 실행합니다.

🔧 특징

  • 설치 위치: 리눅스 시스템 (일반적으로 백그라운드 프로세스)
  • 동작 방식: eBPF로 패킷 검사 → 특정 시그니처가 들어오면 쉘 실행
  • 기능: 명령어 실행, 역방향 쉘, 포트리스닝 없이 명령 수신
  • 접근 방법: 비정상적인 TCP/UDP 패킷 이용, 포트 열지 않음
  • 탐지 난이도: 매우 어렵다. 대부분의 보안 솔루션으로 탐지 불가

🔥 핵심 차별점

  • 방화벽 우회: 방화벽이 열려있지 않아도 내부로 접근 가능
  • 로그 미기록: 커널 레벨에서 수신 → 시스템 로그에 남지 않음
  • 포트리스: 리스닝 포트 없이도 명령 수신 (정적 분석으로도 탐지 어려움)

⚔️ WebShell vs BPFdoor 비교표

항목WebShellBPFdoor
🧩 설치 대상 웹 서버 리눅스 OS (시스템 전체)
🌐 통신 방식 HTTP 기반 (브라우저 요청) TCP/UDP 패킷 기반 (eBPF 필터)
🎯 공격 진입점 웹 애플리케이션 취약점 서버 내부 침투 이후 설치
🛠 실행 권한 웹서버 권한 (www-data) 루트 또는 시스템 권한
🔍 탐지 여부 비교적 탐지 쉬움 탐지 매우 어려움 (은닉성 극대화)
🔒 포트 리스닝 O (보통 웹 포트 80/443) X (무포트 백도어)
📄 로그 남김 웹 서버 로그에 흔적 남음 시스템 로그에 거의 안 남음
💣 위협 수준 낮음~중간 매우 높음 (APT급 위협 도구)
 

🧠 보안 담당자 관점 요약

항목위험 신호대응 방법
WebShell 웹 서버에 이상한 .php, .jsp 파일 존재 웹 취약점 점검, WAF 설정 강화
BPFdoor 리스닝 포트 없이도 외부 명령이 실행됨, 이상한 프로세스 eBPF 탐지 가능한 EDR/NDR 사용, 시스템 무결성 검사
 

📝 마무리

  • WebShell웹 애플리케이션 단의 위협, 관리 부주의나 취약점에서 발생
  • BPFdoor시스템 커널 레벨에서 동작하는 은폐형 백도어, APT 공격자의 고급 툴

이 둘은 같은 "백도어"라는 이름을 공유하지만, 침투 경로, 위협 수준, 탐지 난이도까지 완전히 다릅니다. 특히 BPFdoor는 방화벽이나 포트 설정만으로는 막을 수 없는 신종 위협이므로, 고도화된 탐지 체계를 갖춘 보안 체계가 필요합니다.

댓글