Kubernetes_쿠버네티스

SK텔레콤 유심 정보 유출 사고 : 오픈소스 BPF 백도어 공격 의심 사례

BoChan 2025. 4. 29. 00:42
반응형

 

 

2025년 4월, 대한민국 최대 고객이 사용하는 통신사인 SK텔레콤이 대규모 유심(USIM) 정보 유출 사고를 겪으며 소비자와 국내외 보안 업계에 큰 충격을 주었다.

 

이번 사고는 약 2,300만 명의 고객에게 영향을 미쳤으며, 특히 오픈소스로 공개된 BPF (Berkeley Packet Filter) 기반 백도어 공격 가능성이 제기되며 오픈소스 공격 기법에도 취약하다는 비판을 받고 있다.

 

이 글에서는 사건의 구체적인 흐름을 살펴보고, 인프라 보안 측면에서 BPF 백도어 공격의 원리를 분석해보고자 한다.


사건 개요

SK텔레콤 유심 데이터 유출

 

  • 발생 일시: 2025년 4월 18일 밤
  • 유출 정보:
    • 가입자 식별번호 (IMSI)
    • 전화번호 (MSISDN)
    • 인증 키 (Ki 등 USIM 저장 정보)
  • 피해 규모: 약 2,400만 명 추정
  • 침입 방식: 악성코드 기반 원격 접근
  • 의심되는 공격 기법: BPF 백도어 및 커널 레벨 침투

 

주요 피해 및 대응

SK텔레콤은 악성코드 제거 및 유심 무상 교체를 시행중에 있으며,

 

한국인터넷진흥원(KISA)과 공동으로 사고 분석에 착수했다.

 

다만, 보안 커뮤니티에서는 공격의 기법과 범위로 보아 BPF 기반 백도어가 사용되었을 가능성을 제기하고 있다.

 

 


BPF 백도어란 무엇인가?

 

BPF(Berkeley Packet Filter)의 역할 및 장점

 

BPF는 원래 네트워크 패킷 필터링을 위해 만들어진 커널 기술이다.

 

쉽게 말하면, 네트워크 트래픽 중 필요한 정보만 빠르게 걸러내기 위한 기술이라고 할 수 있다.

 

게다가 리눅스 커널 안에서 직접 실행되기 때문에, 매우 빠르고 효율적이다.

 

 

 

최근에는 BPF가 확장되어 eBPF (Extended BPF)가 되었다. eBPF는 단순 필터링을 넘어, 네트워크 모니터링, 보안 분석, 시스템 성능 최적화까지 지원한다.

 

이는 도커나 쿠버네티스 환경에서도, 리눅스 커널을 사용하는 이상 어디서든 동작할 수 있다.

 


 

 

하지만 이런 기술적 장점이 단점으로 작용하기도 한다.

 

커널 내부에서 몰래 움직일 수 있기 때문에 공격자에게도 매력적이게 된다.

 

 

BPF도어의 작동 원리

 

BPF도어는 정상적인 시스템 프로세스처럼 위장하여 탐지를 어렵게 만든다.

 

이 백도어는 시스템 내부에서 다음과 같은 방식으로 작동한다.

  • 위장 경로 활용:
    • 예: /tmp/zabbix_agent.log, /bin/vmtoolsdsrv
    • 일반 로그 파일이나 VM 도구처럼 보이는 경로에 설치되어, 디지털 포렌식 분석을 어렵게 한다.
  • 네트워크 트래픽 위장:
    • 방화벽 우회를 위해 정상 트래픽처럼 위장된 패킷을 사용
    • 비정상적인 포트 스캐닝이나 트래픽을 회피
  • 역방향 셸(reverse shell) 생성:
    • 감염된 시스템에서 외부 공격자의 전용 컨트롤러로 접속 요청
    • 암호 기반 인증 후, 공격자가 시스템을 원격 제어
  • BPF 필터 사용:
    • 커널 수준에서 패킷 필터링 및 변조 가능
    • 시스템 호출이나 네트워크 연결을 조작해 실시간 모니터링 회피

 

‘kdmtmpflush’ 삭제 기록 및 검증 화면과 신규 생성된 프로세스 화면[자료: 지니언스]

 

 

 


SK텔레콤 사건과 BPF도어의 연결고리

 

사건의 흐름:

  • 2025년 4월 19일, SK텔레콤의 시스템에 알 수 없는 악성코드가 침투.
  • 유심 정보가 빠르게 유출되었고, 기존 보안 시스템이 이를 늦게 인지했다.
  • 시스템을 재부팅하고도, 여전히 이상 현상이 지속되었다.

이러한 정황은 일반적인 악성코드보다 더 깊숙한 시스템 내부, 즉 커널 수준에서 무언가가 작동하고 있었다는 것을 암시한다.

 

 


트렌드마이크로의 보고서:

  • 이 사건 5일 전, 글로벌 보안 기업 트렌드마이크로는 아시아 및 중동 지역에서 BPFdoor 활동을 포착했다.
  • 특히 한국 통신사를 타깃으로 한 공격이 언급되었고, 이를 연결해 보면 SKT도 피해자가 되었을 가능성이 있다.

 


APT 단: 레드멘션(Red Menshen)의 주요 활동

  • 중국 기반 해킹 그룹으로, BPF도어를 오픈소스로 배포함
  • 최근 공격에서 통신사를 주요 표적으로 삼음

 

이러한 배경에서 SK텔레콤도 BPF도어의 피해자일 가능성이 높으며, 오픈소스로 공개된 해킹 기법 상 공격자 특정이 어렵다는 분석도 나왔다.

 


 

해당 사건을 접한 이후, 인프라 직무에 관심을 갖고 있는 학생으로서 큰 충격과 함께 많은 고민이 들었다.

 

과거, 몇 년 전 친한 선배 역시 개인 서버 기반 클러스터를 운영하다 해킹을 당한 경험이 있었다는 이야기를 들으며, 보안이라는 분야의 중요성을 더욱 실감하게 되었기 때문이다.

 

이러한 계기로, 이번 사건을 통해 컨테이너 및 인프라 환경에서 발생할 수 있는 보안 위협에 대해 더 깊이 이해하고자 하여 관련 내용을 직접 조사하여 정리해보고자 한다.

 

도커와 쿠버네티스 환경에서 BPF도어가 더욱 위험한 이유

  1. 호스트 네트워크 접근
    • 쿠버네티스 클러스터에서 각 노드는 리눅스 커널을 공유한다.
    • BPF 프로그램이 한 노드에서 로드되면, 해당 노드의 전체 네트워크 트래픽을 감시하고 분석할 수 있다.
    • 특히, 호스트 네트워크 모드를 사용하는 경우 컨테이너와 호스트의 네트워크 경계가 모호해지므로 BPF 기반 공격의 효율이 극대화된다.
  2. 컨테이너 사이드카(Sidecar) 위장
    • BPF도어는 정상 컨테이너처럼 보이는 사이드카 형태로 배포될 수 있다.
    • 운영자는 이 사이드카가 단순한 로깅이나 모니터링 용도라고 착각할 수 있으며, 이는 공격자에게 지속적인 은폐 공간을 제공한다. (군에 비유하면 참호에 들어가 있는다는 비유랄)
    • 쿠버네티스 내에서 멀티컨테이너 파드 구조를 악용해 정상 서비스와 백도어를 함께 운영할 수 있다.
  3. 노드 간 통신 및 서비스 디스커버리 조작
    • BPF 필터는 Pod 간 통신 흐름을 감시하거나 변경할 수 있다.
    • DNS 요청, 서비스 디스커버리, API 서버와의 통신 등 클러스터 내부의 중요 트래픽이 BPF를 통해 분석 또는 변조될 수 있으며, 이는 데이터 유출권한 상승으로 이어질 수 있다.

도커와 쿠버네티스 환경에서 BPF도어를 막기위한 방법

 

시스템 내 BPF 활동 점검

먼저, 시스템에서 BPF 프로그램이 어떻게 사용되고 있는지 주기적으로 점검해야 한다. 공격자는 정상적인 BPF 기능을 악용하여 커널 수준에서 악성 코드를 실행하기 때문에, 현재 로드된 BPF 프로그램이나 필터가 정상적인지 확인하는 작업이 필요하다.

특히, BPF 프로그램의 수와 유형, 로드 시간, 사용 중인 커널 리소스 등을 확인하여 의심스러운 동작이 없는지 살펴야 한다.


네트워크 트래픽의 정밀 분석

BPF도어는 방화벽을 우회하기 위해 정상적인 트래픽처럼 위장한다.

따라서 단순한 트래픽 차단으로는 한계가 있으며, 네트워크 수준에서 세부적인 트래픽 패턴 분석이 필요하다.

  • 비허가된 포트를 사용하는 트래픽
  • 익숙하지 않은 IP 주소와의 통신
  • 일정 시간마다 반복되는 외부 연결 시도

이러한 특징을 가진 트래픽은 모두 BPF 기반 역방향 셸의 징후일 수 있다.

네트워크 흐름을 상시 모니터링하고, 비정상적인 트래픽 패턴을 탐지할 수 있는 환경을 갖추는 것이 중요하다.


IDS/IPS 및 EDR 솔루션 도입

  • 침입 탐지 시스템(IDS)는 클러스터 네트워크 전반을 감시하여 외부의 침입 시도를 실시간으로 탐지할 수 있다. 이를 통해 BPF도어가 생성하는 위장 트래픽도 일부 식별이 가능하다.
  • 침입 방지 시스템(IPS)는 탐지된 위협을 자동으로 차단하여 공격의 확산을 막는다.
  • 엔드포인트 탐지 및 대응(EDR) 솔루션은 각 서버나 노드 내부에서 발생하는 비정상 행위를 모니터링하고, 커널 수준의 위협에도 대응할 수 있도록 지원한다.

이러한 보안 시스템들은 클러스터 전반에 걸쳐 상시적으로 운영되어야 하며, 이벤트 발생 시 신속한 대응 체계를 마련하는 것이 중요하다.


BPF 로딩 및 실행 제한

컨테이너 보안의 핵심은 최소 권한 원칙을 철저히 준수하는 것이다.

 

BPF도어는 커널 기능을 이용하므로, 컨테이너나 애플리케이션에서 불필요한 권한을 사전에 차단하면 공격자가 BPF 프로그램을 실행할 가능성을 줄일 수 있다.

  • 불필요한 시스템 권한은 컨테이너 실행 시 제거해야 하며, 특히 BPF와 관련된 권한은 기본적으로 비활성화하는 것이 안전하다.
  • 시스템 콜 레벨에서 BPF 기능 사용을 제한할 수 있는 보안 정책을 설정하여 BPF 실행 자체를 차단한다
  • BPF 파일 시스템이 필요하지 않은 경우, 해당 기능을 마운트하지 않도록 설정하여 프로그램 로딩 경로 자체를 원천 봉쇄할 수 있다.

 


 

BPF도어를 공부해보면서 해당 기법은 단순한 악성코드와는 차원이 다른, 커널 레벨의 은밀한 공격이라 생각한다.

 

특히 도커와 쿠버네티스처럼 리눅스 기반 컨테이너 기술이 확산된 현재, 이러한 위협에 대응하지 못하면 시스템 전체가 위태로워질 수 있다.

 

이번 SK텔레콤 사건은 BPF 기반의 커널 수준 공격이 현실적인 위협임을 여실히 보여준 사례라고 생각한다.

 

이를 통해 개발자와 인프라 운영자 모두가 커널 보안의 중요성을 다시금 인식해야 한다고 생각한다.

 

특히... 통신사는 개인정보가 담긴 서버의 철저한 보안 체계 강화가 반드시 필요하다.

 

 

무엇보다, 이번 사고로 인한 소비자 피해가 최소화되길 바라며, 앞으로는 국내 이동통신사가 이처럼 허술하게 보안이 뚫리는 일이 다시는 발생하지 않기를 바란다.

 

 

반응형