본문 바로가기
📖 Study with Video

[영상 리뷰] SKT 유심 해킹

by 헤이즐넛 좋아하는 개발자 2025. 5. 3.

시작하기 전에

코딩애플, 노말틱님 영상을 참고했고, 단순히 사건 정리에 그치지 않고 관련 개념들을 공부하는 데 목적이 있습니다.

또한, 아직 SKT에서 공식적으로 발표한 내용이 아니기 때문에, 여기 정리된 내용들은 모두 현재까지의 추정에 기반한 것입니다.


무엇이 해킹되었는가?

HSS (Home Subscriber Server) 서버가 해킹되었다.


HSS 서버란 무엇인가?

LTE/5G 네트워크의 가입자 관리 데이터베이스이다.

가입자 정보 관리, 네트워크 접속 및 서비스 인증을 담당한다.

 

쉽게 말하면,

우리 휴대폰이 "나야, SKT 사용자야" 하고 신호를 보낼 때,

그걸 확인하고 접속을 허락해주는 존재다.


HSS 안에는 어떤 정보가 있는가?

  • IMSI (International Mobile Subscriber Identity)
    • 전 세계에서 유일한 가입자 식별 번호
    • 기지국과 네트워크에서 "이 사람이 누구인지" 확인할 때 사용
  • KI (Authentication Key)
    • USIM에 저장된 비밀 키
    • 통신망 접속할 때, 네트워크 인증용으로 사용
    • IMSI+KI = 마치 '아이디+비밀번호' 같은 역할
      이 두 가지를 알면, 해커는 USIM 복제가 가능하다.
  • IMEI (International Mobile Equipment Identity)
    • 휴대폰 자체의 고유번호
    • 기기 식별용, 분실폰 차단 등에 활용
    • USIM을 복제해도 IMEI는 바뀌지 않지만, 해커가 "IMEI가 이거니까 나맞다"는 식으로 속일 여지는 일부 존재한다.

※ KI 기반 인증 방법

 왜 대칭키 방식을 썼을까?

※ 비대칭키(공개키) 방식은 뭘까?

더보기

※ KI 기반 인증 방법

USIM과 HSS는 같은 비밀키(KI)를 비밀로 공유한다.

인증할 때는 대칭키(Symmetric key) 암호화 방식을 사용한다.

예를 들어:

  1. 내가 폰을 켜고 네트워크에 접속 요청을 보낸다.
  2. 네트워크(HSS)에서 랜덤 숫자(RAND)를 전송한다.
  3. 내 USIM은 RAND와 KI를 조합하여 응답값(RES)을 생성하여 전송한다.
  4. HSS도 같은 RAND와 KI로 예상 응답값(XRES)을 생성한다.
  5. 둘이 비교해서 값이 같으면, 네트워크는 "오, 너 진짜 우리 가입자 맞네!"하고 접속을 허락한다.

왜 대칭키 방식을 썼을까?

사실 공개키(비대칭키) 방식을 쓰면, 비밀키 유출 위험이 줄어들 수 있다.

그런데도 대칭키 방식을 쓴 이유는:

  • 이동통신은 초대규모, 실시간 서비스라서
  • 1초에 수십만~수백만 명이 접속 요청을 보내는데
    대칭키 방식이 계산이 훨씬 빠르고 부담이 적기 때문이다.
  • 기지국, USIM, 서버 모두 계산 비용을 최소화할 수 있다.

※ 비대칭키(공개키) 방식은 뭘까?

서로 다른 두 개의 키(공개키, 비밀키)를 사용해서 암호화·복호화·인증하는 방식이다.

혼동 방지를 위해 우선 USIM 해킹과는 별도로 생각하자.

  • 공개키(Public Key): 모두에게 공개
  • 비밀키(Private Key): 본인만 비밀로 보관

두 개는 수학적으로 연결되어 있어서

  • 공개키로 암호화 -> 비밀키로만 복호화 가능
  • 비밀키로 서명 -> 공개키로만 서명 인증 가능

예시 1: 암호화로 보안 채널 만들기

  • A(사용자)가 B(통신사)에게 민감한 정보(예: 주민번호, 비밀번호, 인증번호)를 보낼 때:
    • A는 B의 공개키로 데이터를 암호화해 전송
    • 중간에 해커가 훔쳐봐도 암호문만 보임, 내용을 알 수 없음
    • B는 자기 비밀키로 암호문을 복호화해 내용을 확인

예시 2: 인증·서명 검증

  • SKT가 사용자에게 "내가 진짜 SKT야"라고 증명할 때:
    • SKT는 자기 비밀키로 서명
    • 사용자는 SKT의 공개키로 서명을 검증
    • SKT의 공개키는 누구나 볼 수 있지만, 서명 검증은 사용자가 송신자의 신원을 확인하는 데 의미가 있음

예시: RSA 알고리즘

RSA에서 비밀키와 공개키는 이렇게 만들어진다:

  • 매우 큰 두 소수 p, q를 고른다.
  • N = pq를 계산 -> 공개
  • p, q로 비밀키 계산, 공개키도 설정
  • 공개키에는 N만 남기고, p, q는 절대 비공개

누구든 N을 보고 공개키로 암호화할 수 있지만, 복호화를 하려면 p, q를 알아야 하고 그걸 구하려면 N을 소인수분해해야 함

1214731이 어떤 두 소수의 곱인지 알 수 있겠는가?

 

만약 비대칭키 방식이었다면? (상상이긴 하지만)

HSS(서버): SKT 비밀키, SKT 공개키

USIM(가입자): USIM 비밀키, USIM 공개키

 

HSS 비밀키가 털렸을 때:

HSS 쪽 인증/서명만 재발급·교체하면 된다.

USIM 쪽은 손대지 않아도 된다.

 

왜 대칭키 방식이 시간이 빠른가?

  • 대칭키(AES, ChaCha20 등): 일반 덧셈, 곱셈으로 이루어져 있어 CPU에서 몇 cycle로 계산 가능
  • 비대칭키(RSA, ECC 등): 큰 수의 지수 연산, 소인수분해 기반이라 연산량 훨씬 큼

이 정보가 유출되면?

      • 해커는 USIM을 복제해서 자신의 폰에서 피해자 번호로 전화·문자 송수신이 가능해진다.
      • 문자 인증까지 풀리니까 할 수 있는 일들이 많아진다.
      • 예:
        • 은행 앱 로그인 (대부분 문자 인증 필요) -> 그래서 현재 은행들이 SKT 문자 인증 중단
        • OTP(일회용 비밀번호) 수신 -> 금융 거래, 송금, 결제 가능
        • 암호화폐 거래소 접속 -> 휴대폰 번호 + 문자 인증만으로 접속 가능
      • 추가 피해 가능성:
        • 갤러리 사진·영상이 클라우드에 자동 백업돼 있으면, 클라우드 계정이 본인인증으로 뚫릴 때 사생활 사진까지 털릴 수 있다.
        • 특히 요즘은 비대면 신분증 인증을 많이 하다 보니, 갤러리에 신분증 사진이 저장돼 있는 경우도 많아서, 비대면 계좌 개설 -> 대출 실행 같은 2차 금융 범죄로 이어질 수 있다.

USIM 교체란?

기존에 털린 IMSI, KI 대신 새로운 아이디, 비밀번호를 발급받는 과정이다.


해킹 방법

BPFDoor라는 고급 해킹 툴이다.


BPFDoor란?

리눅스·유닉스 서버를 공격하는 백도어(backdoor) 해킹 툴이다.

  • 커널에 내장된 BPF(Berkeley Packet Filter) 기능을 악용한다.
  • 방화벽, 백신, IDS 같은 일반 보안 장비를 피해서 숨어들 수 있다.
  • 해커가 서버 내부로 들어가 명령어를 보내거나, 정보를 빼내는 데 사용된다.

BPF는 뭔가?

원래 리눅스 커널에 내장된 네트워크 패킷 필터링 시스템이다.

  • 들어오는 네트워크 패킷을 선별해
  • 분석할 것과 버릴 것을 빠르게 골라내는 고속 엔진이다.

그런데 해커는 이걸 이용해:

  • 서버로 들어오는 모든 패킷을 몰래 감시하고
  • 특정 '암호 같은 신호'를 감지하면
  • 그때부터 백도어 기능을 켜고 해커의 명령을 기다린다.

 백도어(Backdoor)란?

더보기

백도어(Backdoor)란?

시스템, 서버, 네트워크, 소프트웨어에 몰래 숨겨진 비밀 통로로,

원래의 인증 절차나 보안 장치를 우회해서 접근할 수 있게 만들어 놓은 것이다.

 

쉽게 말하면,

워딩 그대로 앞문(정식 로그인) 말고,

몰래 만든 뒷문(백도어)으로 들어가 시스템을 조종하는 것이다.

 

백도어는 처음부터 악성이 아니다.

개발자들이 소프트웨어 개발·테스트할 때 긴급 접근용으로 임시로 만들어 두는 경우가 있다.

예: 비밀번호 잊어버렸을 때 복구용 계정

 

그런데 이걸 해커가 직접 심어버리면 악성 백도어로 바뀌게 된다.


BPFDoor 해킹 흐름

1. 최초 침투

  • 협력사, 약한 서버, 취약한 VPN, SSH 계정을 통해 리눅스 서버에 몰래 들어간다.

2. BPFDoor 설치

  • 서버에 BPFDoor 프로그램을 심는다.
  • BPF로 네트워크 패킷을 감시한다.

3. 시그널 감지

  • 외부에서 해커가 "특정 문자열"을 패킷에 숨겨 보내면
  • BPFDoor가 이를 감지하고 대기모드에서 활성모드로 전환한다.

4. 리버스 쉘 생성

  • 서버에서 해커에게 역방향 연결(reverse shell)을 생성한다.
  • 이제 해커는 서버 안에서 명령어를 마음껏 실행 가능하다.

5. 내부망 침투

  • 서버 안에서 네트워크를 스캔한다.
  • 민감 서버(HSS, MME, PCRF 등)로 접근을 시도한다.
  • 가입자 정보(IMSI, KI)를 탈취한다.
  1.  

'📖 Study with Video' 카테고리의 다른 글

[영상 리뷰] 비밀번호 규제  (4) 2025.06.19