SKT해킹에 사용한 방식인 BPFDoor(BPF도어)에 대해 알아보자
[BPF]
- 리눅스 커널에서 네트워크 패킷을 효율적으로 필터링하고 분석하기 위해 개발된 기술로, 사용자가 정의한 코드를 커널 내부 특정 지점에서 안전하게 실행시켜 시스템 성능 분석, 보안 모니터링 등 다양한 작업에 활용되는 강력한 커널 확장 기술
- 가상 머신처럼 작동하며, 로드-검증-연결의 3단계 과정을 거쳐 특정 이벤트에 반응하는 프로그램을 만들 수 있다.
- 패킷 필터링 : 특정 조건에 맞는 네트워크 패킷만 선별하여 처리함으로써, 불필요한 데이터 처리를 줄이고 성능을 향상시킵니다.(예: tcpdump)
- 커널 수준 실행 : 사용자 영역이 아닌 커널 공간에서 코드가 실행되므로 매우 빠르고 효율적입니다.
- 안정성 및 보안 : 엄격한 검증(Verifier) 과정을 거쳐 커널 충돌을 방지하고, 안전한 환경에서 코드가 실행되도록 보장합니다 (샌드박스 엔진)
- 이벤트 기반 프로그래밍 : 시스템 호출, 네트워크 이벤트 등 다양한 커널 이벤트를 후킹하여 프로그램을 실행시킬 수 있습니다.
- 확장성 (eBPF) : 기존 BPF의 기능을 확장한 eBPF(Extended BPF)는 더 많은 종류의 프로그램을 커널에서 실행할 수 있도록 하여, 추적, 모니터링, 보안 등 활용 범위를 넓혔습니다.
[BPFDoor(BPF도어)]
- 리눅스 및 솔라리스 시스템을 대상으로 하는 스텔스형 백도어 악성코드
- 방화벽을 우회하고 장기간 탐지되지 않은 채 시스템에 남아있도록 설계되어 주로 사이버 첩보 활동에 사용
- BPF 기술 악용 : BPF는 원래 네트워크 트래픽에서 필요한 패킷만 효율적으로 필터링하기 위한 커널 레벨 기술입니다. 악성코드는 이 기술을 이용해 특정 "매직 패킷(magic packet)"이 수신될 때만 반응하도록 설정됩니다.
- 방화벽 우회 : 일반적인 백도어는 특정 포트를 열어두고 통신하므로 방화벽에 의해 탐지될 수 있습니다. 그러나 BPFDoor는 포트를 열 필요 없이 커널 레벨에서 직접 패킷을 검사하므로 방화벽을 효과적으로 우회합니다.
- 스텔스 및 지속성 : 시스템 프로세스로 위장하고 감시 도구를 회피하며, 감염된 시스템에서 이름을 변경하는 등의 은닉 기술을 사용합니다. 또한 시스템 재부팅 후에도 지속성을 유지합니다.
- 기능 : 공격자의 명령 및 제어(C&C) 서버와 통신하며, 원격 셸(reverse shell, bind shell)을 실행하여 공격자에게 시스템에 대한 완전한 접근 권한을 부여합니다.
'보안 > 보안 개념' 카테고리의 다른 글
| DLL(Dynamic Link Library, 동적 연결 라이브러리) 개념 (0) | 2026.04.07 |
|---|---|
| Triage (0) | 2026.04.06 |
| 크로스C2(CrossC2) (0) | 2025.12.03 |
| IOC (Indicator of Compromise, 침해지표) (0) | 2025.11.13 |
| 위협 인텔리전스(TI, Threat Intelligence) (0) | 2025.11.13 |