SKT 해킹 분석: BPFDoor 백도어에서 배운 점들

안녕하세요, SKT를 10년 4개월째 쓰고 있는 라니입니다. 최근 SK텔레콤(SKT)에서 발생한 해킹 사건 소식에 많은 분들이 적잖이 놀라셨을 것 같습니다. 저 역시 처음 소식을 접했을 때, '대한민국 최고 통신사 중 하나에서 이런 일이 가능하다고?' 하는 생각에 상당히 당혹스러웠는데요, 스마트폰이 거의 신분증처럼 활용되고 통신망 자체가 사회 핵심 인프라로 작동하는 현실에서 이번 사건은 그 무게감이 남다르게 다가옵니다. 하지만 또 한편으로는, 아직 명확한 정보가 모두 공개되지 않은 상황에서 확인되지 않은 추측성 정보들이 너무 빠르게 확산되는 것 같아 우려스러운 마음도 드는 것이 사실입니다.

통신사 핵심 서버가 뚫렸다고?

사건의 발단은 지난 4월 19일 밤으로 거슬러 올라갑니다. SKT의 여러 중요 시스템 중에서도 가입자 정보를 관리하는 핵심 서버인 홈 가입자 서버(HSS, Home Subscriber Server)가 악성코드에 감염되었다는 사실이 알려졌는데, 이 HSS는 우리가 스마트폰을 개통할 때 받는 유심(USIM) 카드와 관련된 중요한 정보들을 중앙에서 관리하는, 어떻게 보면 통신망의 '두뇌'와 같은 역할을 수행하는 데이터베이스라고 할 수 있습니다. 가입자 인증과 같은 매우 민감하고 핵심적인 기능을 담당하기에 최고 수준의 보안이 요구되는 곳인데, 바로 이곳이 외부 공격자에게 침투당했다는 소식은 충격적일 수밖에 없었죠.

SKT AI 데이터센터의 모습 (이번 HSS 서버 사고와는 다름) (SKT 뉴스룸)

이로 인해 해당 서버 내부에 저장되어 있던 가입자의 국제 이동가입자 식별번호(IMSI), 단말기 고유식별번호(IMEI), 그리고 유심 인증 과정에 사용되는 암호화 키(Key) 값과 같은 민감한 식별 및 인증 정보들이 유출되었을 가능성이 제기되었습니다. 조금 더 쉽게 설명하자면, 우리의 스마트폰을 고유하게 식별하고 정상적으로 통신망에 접속할 때 필요한 일종의 '디지털 열쇠' 정보들이 외부로 새어 나갔을 수도 있다는 의미가 됩니다.

SKT 측은 악성코드를 탐지한 즉시 해당 코드를 삭제하고 관련 서버를 네트워크에서 분리하는 등 긴급 조치를 취했다고 밝혔으며, 다행스럽게도 많은 분들이 우려하셨던 주민등록번호나 은행 계좌번호와 같은 직접적인 금융 정보는 유출되지 않았다고 발표했습니다. 하지만 아직 관련 기관의 조사가 진행 중인 상황이라, 공격자가 정확히 어떤 경로로 침입했는지, 그리고 구체적으로 어떤 정보가 얼마나 유출되었는지에 대한 최종적인 결과가 나오기까지는 다소 시간이 걸릴 것으로 보이며, 좀 더 면밀히 상황을 지켜봐야 할 것 같습니다.

특히 이번 사건이 기술적으로 큰 주목을 받는 이유는, 공격에 사용된 것으로 추정되는 악성코드가 BPFDoor 라는, 보안 업계에서는 이미 그 위험성이 잘 알려진 악성코드 계열이라는 분석이 나왔기 때문입니다. 이 BPFDoor는 지난 몇 년간 여러 보안 전문가들이 지속적으로 경고해 온 고도의 은폐 기술을 사용하는 백도어(backdoor)인데, 이번 SKT 서버 공격에서도 이 BPFDoor 계열로 보이는 악성 파일이 발견되었다는 분석 결과가 나오면서 사건의 심각성에 대한 우려가 더욱 커지고 있는 셈이죠. 그렇다면 이 BPFDoor가 대체 어떤 특징을 가졌기에 이토록 위험하다고 평가받는 걸까요?

해킹에 사용된 것으로 파악되는 백도어: BPFDoor

BPFDoor란 무엇이고, 왜 무서운가?

BPFDoor는 주로 리눅스(Linux) 운영체제로 구동되는 서버 시스템을 주된 공격 대상으로 삼는 백도어 프로그램의 일종입니다. '백도어'라는 용어는 아마 익숙하실 텐데요, 정상적인 인증 절차를 거치지 않고 시스템에 몰래 만들어진 '뒷문'처럼, 공격자가 원격에서 시스템에 접속하여 명령을 내리거나 정보를 빼낼 수 있도록 허용하는 악성 소프트웨어를 의미합니다.

BPFDoor가 다른 일반적인 백도어들에 비해 특별히 더 위험하고 탐지하기 어려운 이유는, 리눅스 운영체제의 핵심 구성 요소인 커널(Kernel)에 기본적으로 내장된 정상적인 기능, 즉 버클리 패킷 필터(Berkeley Packet Filter, BPF) 라는 강력한 네트워크 데이터 처리 기술을 매우 교묘하게 악용하여 자신의 존재를 숨기기 때문입니다. 이 악성코드는 2021년 글로벌 컨설팅 기업 PwC의 보고서를 통해 그 상세한 작동 방식이 처음으로 외부에 알려졌는데, 당시 보고서에 따르면 레드멘션(Red Menshen)이라는 이름의 해커 그룹이 이미 수년 전부터 탐지를 피해 가며 다양한 공격에 이 BPFDoor를 활용해 온 것으로 분석되었습니다.

BPFDoor의 기본적인 작동 개념도 (Trend Micro)

이 악성코드의 가장 두드러진 특징은 바로 극도의 은밀함입니다. 일반적인 네트워크 방화벽이나 침입 탐지 시스템(IDS/IPS)과 같은 보안 솔루션들의 감시망을 효과적으로 회피하며 시스템 내부에 아주 오랫동안 잠복 상태로 머무를 수 있는데, 그 이유는 통상적인 백도어들이 특정 네트워크 포트(Port)를 열어놓고 외부 접속을 기다리는 방식을 사용하는 것과 달리, BPFDoor는 네트워크를 통해 오고 가는 데이터 조각, 즉 패킷(Packet) 자체를 시스템 내부의 매우 낮은 레벨에서 몰래 엿듣는 방식으로 외부의 공격자와 통신하기 때문이라고 알려져 있습니다. 마치 투명 망토를 두른 것처럼 시스템 내부에서 활동하면서도 겉으로는 거의 아무런 흔적을 남기지 않아, 시스템 관리자나 보안 장비가 그 존재를 탐지하기가 매우 어렵다는 것이죠. 따라서 BPFDoor에 한번 감염되면 공격자는 아주 오랜 기간 동안 마치 자기 집처럼 해당 시스템을 드나들며 중요한 정보를 유출하거나, 이를 발판 삼아 더 큰 규모의 추가 공격을 준비할 수 있게 되므로 매우 치명적인 위협으로 간주됩니다.

BPF가 뭐죠...?

BPFDoor의 작동 원리를 이해하기 위해서는 먼저 BPF(Berkeley Packet Filter)라는 기술 자체에 대한 이해가 선행되어야 합니다. 저도 이번 기회에 관련 자료들을 찾아보면서 좀 더 자세히 알게 되었는데, BPF는 원래 리눅스 커널 내부에 포함된 매우 유용하고 강력한 성능을 제공하는 네트워크 데이터 필터링 및 처리 기술입니다. 우리가 프로그램을 개발할 때, 이 BPF 기능을 활용하면 운영체제의 커널 수준에서 직접 네트워크 인터페이스를 통해 들어오거나 나가는 모든 데이터 패킷들을 개발자가 정의한 특정 조건에 따라 선별적으로 검사하고, 필요한 처리를 수행할 수 있게 해줍니다.

예를 들어, 네트워크 트래픽을 분석할 때 널리 사용되는 tcpdump와 같은 명령어 도구가 바로 이 BPF 기술을 내부적으로 활용하는 대표적인 사례라고 할 수 있습니다. tcpdump 명령어를 실행하면 내 컴퓨터로 들어오는 모든 네트워크 패킷들을 무조건 다 보여주는 것이 아니라, 사용자가 지정한 특정 IP 주소로부터 오거나 특정 포트(Port) 번호를 사용하는 패킷만을 선택적으로 골라서 화면에 출력해 줄 수 있잖아요? 이것이 바로 BPF 덕분에 가능한 기능입니다. 마치 커널 내부에 아주 작은 규모의 고성능 '패킷 검문소'를 설치해서, 내가 설정한 조건(필터 규칙)에 부합하는 패킷만 통과시키고 나머지 불필요한 패킷들은 효율적으로 걸러내는 것과 유사하다고 볼 수 있습니다. 이렇게 함으로써 불필요한 데이터를 처리하는 데 소모되는 CPU 자원을 크게 절약하고, 매우 효율적으로 네트워크 관련 작업을 수행할 수 있게 되는 것이죠.

원래는 이처럼 시스템의 성능을 최적화하거나 네트워크 보안을 강화하는 등의 긍정적인 목적으로 설계되고 활용되어 온 매우 강력한 기술인데, BPFDoor는 바로 이 BPF의 뛰어난 패킷 검사 및 필터링 능력을 완전히 반대 방향, 즉 악의적인 목적으로 역이용하는 것입니다. 구체적으로는, BPF 기술을 사용하여 오직 공격자 자신만이 알아볼 수 있는 특정한 패턴을 가진 비밀스러운 패킷을 감지해내는 특별한 '검문 규칙'을 시스템 내부에 몰래 설치하는 방식으로 악용하는 셈이죠.

BPFDoor는 어떻게 동작할까?

BPFDoor가 시스템에 침투하여 자신의 존재를 숨기면서 활동하는 과정을 단계별로 살펴보면, 상당히 지능적이고 교묘하게 설계되었다는 점을 알 수 있습니다.

네트워크 트래픽 엿듣기 시작 (BPF 필터 설치)

일단 어떤 경로를 통해서든 목표 시스템에 성공적으로 침투하여 실행되면, BPFDoor는 가장 먼저 자신만의 고유한 BPF 필터 규칙을 리눅스 커널에 등록하는 작업을 수행합니다. 이렇게 BPF 필터가 커널에 등록되고 나면, 해당 서버로 들어오거나 또는 서버에서 외부로 나가는 모든 네트워크 패킷들이 운영체제에 의해 최종적으로 처리되기 바로 직전 단계에서 BPFDoor가 먼저 해당 패킷들을 가로채 그 내용물을 들여다볼 수 있는 상태가 됩니다.

리눅스 시스템에는 원시 소켓(raw socket)이라는 특별한 종류의 네트워크 소켓이 존재하는데, BPFDoor는 바로 이 원시 소켓을 활용하여 마치 네트워크 케이블(랜선)에 직접 도청 장치를 연결한 것처럼 매우 낮은 레벨에서 네트워크 패킷들을 중간에서 잡아챌 수 있습니다. 이 초기 '엿듣기' 단계의 주된 목적은, 정상적인 통신 과정에서 발생하는 수많은 일반 트래픽 속에서 오직 공격자가 의도적으로 보낸 '비밀 신호'가 담겨 있는 특정 패킷만을 정확하게 식별해내기 위해서입니다.

BPFDoor가 커널에 설치하는 BPF 필터는, 공격자와 사전에 약속된 특정 패턴(예를 들어, 패킷 데이터 영역의 특정 위치에 미리 정해진 특정 숫자나 문자열이 포함되어 있는 경우 등)을 가진 패킷, 소위 매직 패킷(Magic Packet)만을 탐지하도록 정교하게 만들어져 있으며, 이 조건을 만족하지 않는 다른 모든 일반적인 네트워크 패킷들은 아무런 처리 없이 그냥 통과시킵니다. 이처럼 운영체제의 가장 깊숙한 부분인 커널 레벨에서 아주 조용히 네트워크 패킷들을 감시하고 있기 때문에, 시스템 외부에서는 물론이고 내부의 다른 프로세스들조차 백도어가 은밀하게 귀를 기울이고 있다는 사실을 눈치채기가 거의 불가능에 가깝습니다.

매직 패킷 탐지 → 백도어 기능 활성화

BPFDoor의 BPF 필터는 지속적으로 네트워크 인터페이스를 통해 오가는 패킷들을 감시하다가, 마침내 공격자가 약속된 형태로 만들어 보낸 매직 패킷을 발견하게 되면 즉각적으로 반응합니다. 이 매직 패킷은 일종의 비밀 암호나 노크 신호와 같은 역할을 수행한다고 볼 수 있는데, 오직 공격자만이 이 비밀 신호를 정확하게 생성하여 목표 시스템으로 전송할 수 있습니다. 이 신호가 BPFDoor에 감염된 서버에 도달하면, 커널에 설치된 BPF 필터가 "아, 이건 해커가 보낸 신호다!"라고 즉시 인지하고, 그동안 숨어있던 백도어의 핵심 기능들을 깨워서 활성화시키는 일종의 스위치(trigger) 역할을 하게 됩니다.

여기서 BPFDoor의 설계가 정말 교묘하다고 느껴지는 점은, 만약 시스템의 방화벽(Firewall)이 외부에서 들어오는 이 매직 패킷을 비정상적이거나 의심스러운 패킷으로 판단하여 차단하려고 시도하더라도, BPFDoor는 방화벽보다 훨씬 더 안쪽(커널 레벨)에서 이미 패킷을 엿보고 있었기 때문에, 설령 방화벽이 해당 패킷을 차단하든 말든 상관없이 이미 매직 패킷 신호를 성공적으로 수신하고 백도어 기능을 작동시킬 수 있다는 것입니다. 이는 마치 현관문은 굳게 잠겨 있지만, 벽 너머에서 들려오는 비밀 노크 소리를 들은 내부의 조력자가 몰래 문을 열어주는 것과 유사한 상황이라고 비유할 수 있겠습니다.

포트 열지 않고 원격 명령 실행 (쉘 획득)

일단 매직 패킷 신호를 통해 성공적으로 활성화되면, BPFDoor는 외부의 공격자로부터 원격 명령을 수신하여 시스템 내부에서 실행할 준비를 갖추게 됩니다. 일반적인 백도어 프로그램들은 보통 시스템의 특정 네트워크 포트 번호(예: 12345번 포트)를 열어놓고 공격자가 해당 포트로 접속해 오기를 기다리는 방식을 사용하는데, 이렇게 특정 포트를 계속 열어두게 되면 시스템 관리자가 netstat -an 과 같은 기본적인 네트워크 상태 점검 명령어를 사용했을 때 비정상적으로 열려 있는 의심스러운 포트가 발견되어 백도어의 존재가 들통날 위험이 있습니다.

하지만 BPFDoor는 평상시에는 시스템의 어떤 네트워크 포트도 열어놓지 않은 상태를 유지하다가, 오직 매직 패킷 신호를 수신하고 공격자로부터 실제 명령을 받아야 할 때만 아주 짧은 시간 동안 임시로, 그리고 매우 은밀한 방식으로 통신 채널을 생성합니다. 이러한 작동 방식 덕분에 시스템 관리자가 주기적으로 시스템 상태를 모니터링하더라도 딱히 눈에 띄는 의심스러운 점을 발견하기 어렵게 만드는 것이죠.

공격자에게 시스템의 완전한 제어권, 즉 쉘(shell) 접근 권한을 넘겨주는 방식 또한 주로 두 가지가 사용되는 것으로 알려져 있습니다. 이러한 과정을 통해 공격자는 결국 BPFDoor에 감염된 서버의 쉘 프롬프트에 접근할 수 있게 되고, 이는 곧 해당 시스템을 완전히 장악했음을 의미합니다. 심지어 BPFDoor는 이 쉘 연결 과정에서 잠시 동안 필요에 의해 방화벽 규칙을 열었다가도, 쉘 연결이 성공적으로 완료되는 즉시 해당 규칙을 다시 삭제하여 자신의 활동 흔적을 지우는 치밀함까지 보이는 것으로 분석되었습니다.

  1. 리버스 셸 (Reverse Shell): 이 방식은 BPFDoor에 감염된 서버가 먼저 공격자의 컴퓨터 쪽으로 접속을 시도하는 형태입니다. 마치 감염된 서버가 "저 여기 준비되었어요!" 하고 공격자에게 전화를 거는 것과 비슷하다고 생각할 수 있습니다. 일반적으로 기업이나 기관의 내부 네트워크에서는 외부에서 내부로 들어오는 접속(Inbound)은 엄격하게 통제하지만, 내부에서 외부로 나가는 접속(Outbound)은 상대적으로 덜 엄격하게 관리하는 경우가 많기 때문에, 이 리버스 셸 방식을 사용하면 방화벽 정책을 비교적 쉽게 우회하여 외부의 공격자와 연결될 수 있습니다. 공격자는 자신의 컴퓨터에서 단순히 들어오는 연결 요청을 받아서 수락하기만 하면 됩니다.
  2. 바인드 셸 (Bind Shell): 이 방식은 리버스 셸과는 반대로, 감염된 서버가 아주 잠깐 동안만 특정 포트를 열어놓고 공격자의 접속을 기다리는 형태입니다. 그런데 단순히 임의의 포트를 여는 것이 아니라, 예를 들어 이미 정상적인 서비스 제공을 위해 사용되고 있는 SSH(기본 22번 포트)나 웹 서버(기본 80번 또는 443번 포트)와 같이 잘 알려진 포트를 재활용하는 교묘한 트릭을 사용하기도 합니다. 공격자가 이러한 정상적인 서비스 포트로 접속을 시도하면서 동시에 특정 비밀 신호(앞서 언급한 매직 패킷과 유사한 형태)를 함께 보내면, BPFDoor가 이를 중간에서 가로채서 실제로는 자신이 몰래 열어둔 다른 임시 포트로 연결을 돌려버리는 방식으로 작동할 수 있습니다.

들키지 않으려는 노력 (은폐 기술)

BPFDoor는 가능한 한 오랫동안 시스템 관리자나 보안 솔루션에게 들키지 않고 잠복 상태를 유지하기 위해 몇 가지 추가적인 은폐 기술(evasion techniques)을 사용합니다. 실행 파일 자체를 숨기고, 실행 중인 프로세스의 모습까지 위장하기 때문에, 숙련된 시스템 관리자가 직접 시스템을 점검하더라도 백도어가 활동 중이라는 사실을 알아채기가 정말 어려울 수 있습니다.

  • 메모리에서만 실행 (Fileless Execution): BPFDoor는 처음 실행될 때, 자기 자신의 실행 파일 코드를 리눅스의 임시 메모리 저장 공간인 /dev/shm 과 같은 영역에 복사해 둔 다음, 원래 디스크 상에 존재했던 파일은 즉시 삭제해 버리는 경우가 많습니다. 이렇게 하면 하드 디스크를 아무리 정밀하게 스캔하더라도 악성코드 파일을 찾을 수 없게 되고, 백도어는 주로 시스템의 주 메모리(RAM) 상에서만 활동하게 됩니다. (컴퓨터 전원이 꺼지면 내용이 사라지는 RAM의 휘발성 특징과, 전원이 꺼져도 내용이 유지되는 디스크의 영속성 차이를 생각해보면, 이것이 왜 은폐에 도움이 되는지 짐작할 수 있을 겁니다.)
  • 프로세스 이름 위장 (Process Masquerading): 현재 시스템에서 실행 중인 자기 자신의 프로세스(process) 이름을, 마치 원래부터 시스템 운영에 필요하여 실행되고 있는 정상적인 시스템 프로세스인 것처럼 교묘하게 변경합니다. 예를 들어, [kthreadd][kworker/u16:0-events_unbound] 같이, 우리가 터미널에서 ps 명령어를 사용하여 현재 실행 중인 프로세스 목록을 확인했을 때 특별한 의심 없이 그냥 지나치기 쉬운 이름으로 자신의 모습을 위장하는 것이죠.

왜 이렇게 탐지하기 어려울까?

지금까지 살펴본 내용들을 종합해보면, BPFDoor 악성코드가 기존의 보안 시스템으로 탐지하기 극도로 어려운 이유는 크게 두 가지 측면에서 설명할 수 있습니다.

  1. 네트워크 레벨에서의 은밀함: 정상적인 서비스 포트를 열어두지 않고, 운영체제의 핵심 기능인 BPF를 악용하여 커널 수준에서 네트워크 패킷을 몰래 가로채는 방식으로 통신합니다. 또한, 오직 공격자만 아는 비밀 신호인 매직 패킷을 사용하며, 심지어 시스템의 방화벽이 이 매직 패킷을 차단하더라도 이미 커널 레벨에서 신호를 감지했을 가능성이 있습니다. 이는 기존의 네트워크 기반 침입 탐지/방지 시스템(IDS/IPS)이나 방화벽 장비가 BPFDoor의 통신 활동을 효과적으로 탐지하고 차단하기 어렵게 만드는 핵심적인 요인입니다.
  2. 시스템 레벨에서의 은폐: 악성코드 실행 파일 자체는 디스크에서 삭제하고 주로 메모리 상에서만 활동하며(fileless), 실행 중인 프로세스의 이름까지 정상적인 시스템 프로세스로 위장하여 시스템 내부의 모니터링 도구나 관리자의 육안 검사로도 그 존재를 발견하기 매우 어렵게 만듭니다.

이러한 복합적인 은폐 및 회피 기술들 때문에 BPFDoor는 한번 시스템에 성공적으로 감염되면 아주 오랜 기간 동안 들키지 않고 숨어 있을 수 있으며, 공격자가 원하는 시점에 언제든지 해당 시스템에 다시 접속하여 중요한 정보를 지속적으로 빼내거나, 이를 거점 삼아 내부 네트워크의 다른 시스템으로 공격을 확산시키는 등의 지능형 지속 위협(APT, Advanced Persistent Threat) 공격을 수행하기에 매우 적합한 도구로 평가받고 있습니다.

실제로 많은 보안 전문가들은 만약 어떤 시스템에서 BPFDoor 감염 흔적이 발견되었다면, 이는 이미 해당 시스템이 상당히 심각한 수준으로 공격자에 의해 장악당했을 가능성이 높다는 것을 시사한다고 경고합니다. 따라서 BPFDoor와 같은 고도화된 위협에 대해서는 사후 탐지 및 대응도 물론 중요하지만, 애초에 이러한 악성코드가 시스템 내부에 설치되지 않도록 예방하는 것이 훨씬 더 근본적이고 중요한 대응 방안이라고 할 수 있겠습니다.

현재까지 알려진 피해 상황과 잠재적 위험

다시 이번 SKT 해킹 사건으로 초점을 돌려보면, 현재까지 파악된 피해 상황의 핵심은 역시 앞서 언급했던 유심(USIM) 관련 핵심 정보들의 유출 가능성에 있습니다. 만약 HSS 서버에 저장되어 있던 가입자별 IMSI, IMEI, 그리고 인증 키(Key) 값과 같은 정보들이 실제로 해커의 손에 넘어갔다면, 과연 어떤 구체적인 위험들이 발생할 수 있을까요? SKT의 이동통신 가입자 수가 2천만 명을 훌쩍 넘는다는 점을 감안할 때, 정확히 얼마나 많은 가입자의 정보가 유출되었는지 아직 명확히 밝혀지지 않은 현 상황은 상당한 불안감을 야기하고 있는 것이 사실입니다.

스마트폰에 사용되는 USIM 카드 (SKT 뉴스룸)

SKT 측의 발표대로 이름, 주민등록번호, 은행 계좌번호와 같은 직접적인 개인 식별 정보나 금융 정보가 유출되지 않았다는 점은 그나마 다행스러운 부분이지만, 유심 인증 정보만으로도 충분히 심각한 2차, 3차 피해가 발생할 수 있다는 것이 전문가들의 공통된 지적입니다. 예를 들어, 만약 특정 가입자의 IMSI와 인증 키 값이 유출되었다면, 이론적으로 공격자는 이 정보를 이용하여 해당 가입자와 동일한 정보를 가진 유심 카드를 불법적으로 복제하거나, 네트워크 상에서 해당 가입자인 것처럼 행세하는 소위 심 스와핑(SIM Swapping) 공격을 시도할 수 있게 됩니다.

만약 내 휴대폰 번호로 복제된 유심이 만들어져 악용된다면, 정상적으로 나에게 도착해야 할 각종 문자 메시지(특히 은행 거래나 온라인 서비스 이용 시 필요한 일회용 인증번호 등)를 공격자가 중간에서 가로채서 심각한 금융 사고를 일으키거나 중요한 온라인 계정들을 탈취하는 등의 범죄로 이어질 수 있는 것이죠.

실제로 국내에서도 지난 2022년에 이러한 심 스와핑 공격을 통해 피해자들이 적게는 수백만 원에서 많게는 수억 원에 달하는 암호화폐나 예금을 도난당하는 피해 사례가 발생하여 사회적으로 큰 파장을 일으킨 바 있습니다. 당시 피해자들은 대부분 갑자기 자신의 스마트폰 통신이 끊기고 '단말기가 변경되었다'는 내용의 문자 메시지를 받은 직후에 이러한 금전적 피해를 입었다고 했었죠. 이번 SKT HSS 서버 해킹 사건으로 인해 만약 관련 정보가 유출되어 암시장에서 거래되거나 악용된다면, 이러한 심 스와핑 범죄가 다시 기승을 부릴 수 있다는 위험성을 결코 무시할 수 없습니다.

물론 SKT 측에서는 "자체적으로 구축된 다중 보안 시스템이 유심 정보의 불법적인 사용 시도를 효과적으로 탐지하고 차단하고 있기 때문에, 당장 대규모의 직접적인 피해가 발생할 가능성은 낮다"는 입장을 밝히고 있습니다. 예를 들어, 동일한 전화번호로 두 개 이상의 유심이 동시에 네트워크에 접속하려고 시도하는 경우 이를 감지하여 차단하는 기능 등이 이미 운영되고 있다는 설명입니다.

하지만 일부 보안 전문가들은 공격자들이 끊임없이 새로운 공격 기법과 우회 수법을 개발하고 있기 때문에 현재의 방어 체계만으로는 절대 안심할 수 없다고 경고하며, 애초에 가장 중요하고 안전하게 관리되어야 할 HSS 서버 자체가 외부 공격에 의해 뚫렸다는 사실 자체가 SKT의 보안 시스템 어딘가에 심각한 빈틈이 존재했었다는 명백한 증거가 아니냐는 비판적인 시각도 제기되고 있습니다.

만약 공격자들이 SKT의 방어 시스템마저 우회하여 유출된 유심 정보를 성공적으로 악용할 수 있게 된다면, 이를 이용해 불법적인 대포폰을 개통하여 각종 범죄에 사용하거나, 피해자 명의로 금융 앱의 본인인증 절차를 통과하고, 소액결제를 통해 금전적 이득을 취하거나, 카카오톡이나 페이스북과 같은 주요 SNS 계정을 탈취하여 지인들에게 금전을 요구하는 등의 2차 피해가 걷잡을 수 없이 확산될 가능성도 배제할 수 없습니다. 그렇기 때문에 이번 SKT HSS 서버 해킹 사고는 그 잠재적인 위험성이 매우 크다고 평가받는 것입니다.

통신사 내부적으로도 HSS 서버가 해킹당했다는 것은 정말 유례없이 심각한 보안 사고로 받아들여지고 있다고 합니다. 집으로 비유하자면 가장 안전해야 할 안방의 금고가 통째로 털린 것이나 마찬가지인 셈이니까요. 그런데 여기서 이번 사건 처리 과정과 관련하여 약간의 논란이 된 부분이 있습니다.

SKT는 4월 18일 오후 6시경에 이번 해킹 사고를 처음으로 인지했다고 밝혔는데, 관련 법규에 따라 침해사고 사실을 의무적으로 신고해야 하는 관계 기관인 KISA(한국인터넷진흥원)에는 최초 인지 시점으로부터 거의 이틀(정확히는 약 45시간)이 지난 4월 20일 오후 4시경이 되어서야 처음으로 관련 사실을 보고한 것으로 알려졌습니다.

현행 정보통신망 이용촉진 및 정보보호 등에 관한 법률(정보통신망법) 및 관련 고시에는 개인정보 유출 등 침해사고 발생 사실을 인지한 경우, 24시간 이내에 KISA 또는 방송통신위원회에 신고하도록 규정하고 있는데, SKT가 이 신고 기한을 하루를 넘겨서 신고한 셈이죠.

이 때문에 늑장 신고 논란이 불거졌고, 이는 법규 위반에 해당하여 향후 과태료 부과 등의 행정 처분 대상이 될 수 있다는 지적도 나오고 있습니다. 어쨌든 이러한 논란 속에서도 SKT는 KISA 등 관계 기관과 함께 침해 경로 및 피해 규모 등에 대한 합동 조사에 착수했으며, 모든 가입자들을 대상으로 유심 불법 개통 및 기기 변경 시도를 차단해주는 유심(USIM) 보호 서비스를 제공하는 등의 후속 조치를 발표했습니다.

하지만 4월 23일에 이르러서야 가입자들에게 문자 메시지를 통해 이러한 사고 발생 사실과 주의사항 등을 안내했는데, (앞서 언급된 늑장 신고 논란과 더불어) 일부 가입자들 사이에서는 "사고 발생을 인지하고 나흘이나 지나서야 고객에게 알리는 것은 너무 늦은 대응 아니냐"는 비판적인 목소리가 나오기도 했습니다. 이는 그만큼 이번 HSS 서버 해킹 사건이 이동통신 서비스 이용자들에게 얼마나 민감하고 심각한 사안으로 받아들여지고 있는지를 보여주는 반응이라고 해석할 수 있겠습니다.

한편, SKT가 후속 조치로 제공하는 유심 보호 서비스 역시 100% 완벽한 방어막이라고 단정하기는 어렵다는 신중론도 제기되고 있습니다. 이 서비스가 비정상적인 유심 변경이나 기기 변경 시도를 탐지하고 차단해주는 역할을 수행한다고는 하지만, 만약 이번 해킹을 통해 IMEI(단말기 고유식별번호)와 같은 추가적인 핵심 정보까지 유출되었다고 가정할 경우, 공격자가 이 정보들을 조합하여 매우 정교하게 정상적인 기기 변경 절차처럼 위장하여 유심 복제나 심 스와핑을 시도한다면, 현재 제공되는 보호 서비스마저 무력화될 가능성도 완전히 배제할 수는 없다는 지적이 일부 보안 전문가들 사이에서 나오고 있습니다.

물론 이것은 아직까지 확인되지 않은 최악의 시나리오를 가정한 것이기는 합니다만, 이는 역설적으로 이번 HSS 서버에서 유출되었을 가능성이 제기된 정보들이 얼마나 민감하고 위험한 성격을 가지고 있는지를 잘 보여주는 대목이라고 할 수 있겠습니다. 따라서 이러한 부가적인 보호 서비스에만 전적으로 의존하기보다는, 사용자 스스로도 자신의 스마트폰 이용 패턴에 갑작스러운 변화는 없는지, 의심스러운 문자 메시지나 알림은 없는지 등을 평소보다 더 주의 깊게 살펴보는 자세가 필요해 보입니다.

해킹보다 위험한 무책임한 정보들

이처럼 사회적으로 큰 파장을 일으키는 보안 사건이 발생하면 늘 그렇듯이, 각종 인터넷 커뮤니티 게시판이나 SNS(소셜 미디어) 등 온라인 공간에서는 이번 SKT 해킹 사건과 관련된 온갖 추측과 확인되지 않은 주장들이 넘쳐나고 있습니다. 물론 많은 사람들이 이번 사건에 대해 관심을 가지고 관련 정보를 찾아보는 것은 당연하고 필요한 일이지만, 그 과정에서 정확한 사실 확인을 거치지 않은 정보들이 너무나 빠르고 광범위하게 퍼져나가면서 오히려 불필요한 혼란과 불안감을 가중시키는 경우도 적지 않은 것 같아 안타까운 마음이 듭니다.

예를 들어, 이번 해킹 사건은 분명히 SKT의 통신망 내부 시스템에서 발생한 일임에도 불구하고, SKT 회선이 갑자기 해지되더니 KT 망을 사용하는 알뜰폰에 가입되어 수천만 원 상당의 금융 피해를 입었다는 과거의 다른 사건 사례가 마치 "이번 SKT 해킹 사건의 여파로 발생한 피해"인 것처럼 잘못 인용되어 퍼져나가기도 했습니다.

아시다시피 SKT 망과 KT 망, 그리고 LGU+ 망은 서로 독립적으로 운영되는 별개의 시스템이기 때문에, 어느 한쪽 통신사의 내부 시스템 해킹이 다른 통신사 망 가입자에게 직접적인 영향을 미칠 가능성은 현실적으로 매우 낮습니다. 오히려 HSS 정보를 탈취한 해커가 금전적 이득을 취하고자 했다면 다른 통신사 회선이 아닌 SKT 회선을 사용해야 심 클로닝이 가능하므로 일부러 다른 통신사 회선에 가입해 명의를 도용할 이유가 없습니다.

그럼에도 불구하고 이러한 잘못된 정보가 확산되면서 일부 커뮤니티에서는 "불안해서 다른 통신사로 번호이동했다", "그냥 해지하고 다른 통신사로 새로 가입하는 게 낫겠다"는 등의 글들이 올라오는 것을 보면, 근거가 불확실한 정보가 실제 소비자들의 행동에 얼마나 큰 영향을 미치고 불필요한 불안감을 조장할 수 있는지를 다시 한번 생각하게 됩니다.

또한, "이번 해킹으로 개인정보는 이미 다 털렸다더라", "이건 무조건 중국 해커 조직의 소행이다" 와 같이 너무나 단정적인 어조로 확산되는 글들도 경계해야 할 필요가 있습니다. 앞서 언급했듯이 SKT 측은 주민등록번호나 금융 정보와 같은 민감 정보는 유출되지 않았다고 공식적으로 밝혔으며, 아직까지 이번 사건으로 유출된 것으로 추정되는 유심 정보가 실제 범죄에 악용되었다는 구체적으로 확인된 사례 역시 보고되지 않았습니다. 공격의 배후가 누구인지에 대해서도 현재로서는 여러 가능성을 열어두고 조사가 진행 중일 뿐, 특정 국가나 집단을 단정할 수 있는 명확한 증거는 제시되지 않은 상태입니다. 이러한 상황에서 섣부른 단정이나 추측은 문제의 본질을 흐리고 사회적 불안감만 증폭시킬 수 있다는 점을 유념해야 합니다.

SIM PIN을 설정해야 한다는 내용을 담은 기사들

특히 최근 일부 웹사이트나 커뮤니티를 중심으로 스마트폰의 유심(USIM) 카드에 비밀번호(PIN 번호)를 설정해 두어야 한다는 내용의 글들이 많이 공유되고 있는 것을 보았는데, 솔직히 말해서 이것은 이번 SKT HSS 서버 해킹 사건의 본질적인 위험과는 직접적인 관련성이 다소 떨어진다고 보는 것이 맞습니다.

우리가 설정하는 USIM PIN 번호는 보통 스마트폰의 전원을 껐다가 다시 켤 때 입력하도록 요구되는데, 이 기능의 주된 목적은 타인이 나의 유심 칩을 물리적으로 훔치거나 분실된 내 폰에서 유심을 빼내어 다른 스마트폰에 삽입하여 사용하는 것을 방지하기 위한 물리적 보안 장치에 가깝습니다.

즉, 유심 카드의 물리적인 도난이나 분실 상황에 대비하는 보안 기능이지, 이번 사건처럼 통신사의 중앙 서버가 해킹되어 나의 유심 정보가 원격에서 데이터 형태로 유출되었을 가능성이 있는 상황과는 그 맥락이 상당히 다르다고 할 수 있습니다. 물론, 평소에 USIM PIN 번호를 설정해 두는 것 자체는 혹시 모를 스마트폰 분실이나 도난 시에 내 개인 정보를 보호하는 데 도움이 되는 좋은 보안 습관임에는 틀림없습니다만, 이것이 이번 SKT 서버 해킹 사건으로 인해 발생할 수 있는 잠재적 위험에 대한 직접적인 해결책이나 방어 수단은 아니라는 점은 명확히 인지하고 혼동하지 않는 것이 좋겠습니다.

그나마 가능성 있는 해결책으로 USIM 자체를 교체하는게 하나의 방법인데요. SKT에서는 28일부터 USIM 교체를 무상으로 전국 지점에서 진행한다고 하니 아래 링크를 참고하여 우선 USIM을 교체하는 선제 조치를 취하는게 좋을 것 같습니다.

T world 상세 | T world
여기를 눌러 T world로 이동하세요.

SKT 사이버 침해사고 관련 안내

이제라도 보안에 더 많은 관심을

결론적으로, 이번 SKT HSS 서버 해킹 사건은 우리가 매일 편리하게 이용하고 있는 이동통신 시스템의 기반 인프라가 우리가 생각했던 것보다 더 취약할 수 있다는 현실적인 가능성을 보여주었으며, 동시에 BPFDoor와 같이 고도로 지능화되고 은밀하게 작동하는 사이버 해킹 기술이 더 이상 영화 속 이야기가 아니라 실제로 우리 주변에 존재하며 심각한 위협이 될 수 있다는 사실을 다시 한번 일깨워 준 매우 중요한 경고성 사건이라고 평가할 수 있습니다.

개인적으로는 이번 사건을 계기로, 현재 널리 사용되는 스마트폰 앱 푸시 알림이나 SMS 문자 메시지 기반의 본인 인증 방식의 잠재적 취약성에 대해 다시 한번 생각해보게 되었고, 차라리 FIDO(Fast Identity Online)를 기반으로 최근 여러 빅테크 기업들이 도입을 추진하고 있는 패스키(Passkey)와 같이 생체 정보 등을 활용하여 피싱이나 중간자 공격에 더 강한 인증 방식을 적극적으로 도입하고 확산시키는 편이 장기적으로 더 안전한 디지털 환경을 만드는 데 도움이 되지 않을까 하는 생각도 해보게 됩니다. 아무튼 이제라도 관련 기업들은 물론이고 서비스를 이용하는 우리 개개인 모두가 사이버 보안의 중요성을 다시 한번 깊이 인식하고, 이에 대해 더 많은 관심과 경각심을 가져야 할 시점이라고 생각합니다.

물론, 아직 공식적인 조사가 진행 중이고 앞으로 추가적으로 밝혀져야 할 내용들이 많이 남아있기 때문에, 현시점에서 이번 사건의 모든 측면을 속단하거나 섣부른 결론을 내리기보다는, 발표되는 정보들을 차분히 지켜보면서 확인된 사실에 기반하여 상황을 판단하고 이해하려는 노력이 중요합니다. 서두에서 언급했듯이, 부정확하거나 악의적으로 왜곡된 정보에 휩쓸리는 것은 실제 해킹 피해만큼이나 우리 사회에 해로울 수 있기 때문입니다.

앞으로 SKT가 이번 사건을 계기로 더욱 강력한 보안 대책을 마련하고, 진행 상황과 후속 조치에 대해 고객 및 사회와 투명하게 소통함으로써 실추된 신뢰를 회복할 수 있을지 주의 깊게 지켜봐야 할 것 같습니다. 그리고 바라건대, 이번의 불편하고 안타까운 경험이 우리 사회 전체의 사이버 보안 인식 수준을 한 단계 높이고, 기업과 사용자 모두가 디지털 환경의 위험에 대해 보다 현명하게 대처하고 예방할 수 있는 역량을 키워나가는 계기가 될 수 있기를 기대해 봅니다.

레퍼런스

GitHub - gwillgues/BPFDoor: BPFDoor Source Code. Originally found from Chinese Threat Actor Red Menshen
BPFDoor Source Code. Originally found from Chinese Threat Actor Red Menshen - gwillgues/BPFDoor
Detecting BPFDoor Backdoor Variants Abusing BPF Filters
An analysis of advanced persistent threat (APT) group Red Menshen’s different variants of backdoor BPFDoor as it evolves since it was first documented in 2021.
Quick and Simple: BPFDoor Explained
BPFDoor isn’t new to the cyberattack game — in fact, it’s gone undetected for years — but PwC researchers discovered the piece of malware in 2021.
BPFDoor Linux Malware Detected by AhnLab EDR - ASEC
BPFDoor is a backdoor using the Berkeley Packet Filter (BPF), first revealed through a threat report by PWC in 2021 [1]. According to the report, the China-based threat actor Red Menshen has been using BPFDoor for several years in attacks targeting the Middle East and Asia regions, with its source being released recently. BPFDoor […]
SK Telecom warns customer USIM data exposed in malware attack
South Korea’s largest mobile operator, SK Telecom, is warning that a malware infection allowed threat actors to access sensitive USIM-related information for customers.
BPFDoors Hidden Controller Used Against Asia, Middle East Targets
A controller linked to BPF backdoor can open a reverse shell, enabling deeper infiltration into compromised networks. Recent attacks have been observed targeting the telecommunications, finance, and retail sectors across South Korea, Hong Kong, Myanmar, Malaysia, and Egypt.