brunch
매거진 통찰

SKT 해킹 백도어 BPF Door에 대한 코드 설명

900줄짜리 코드에 무너진 한국 1위 통신사

by 한상훈
skt-seo.jpg

현 사태에 대한 세 줄 요약

SKT는 유심에 대해 해시 암호화가 되어 있지 않은 평문 데이터로 인해 아웃바운드로 빠져나간 주요 보안 데이터를 전혀 보호하지 못했다.

BPF Door는 오픈소스로 공개된 백도어 툴이다.

이를 통해 SKT는 지난 수십 년간 의심스러운 아웃바운드 패킹 및 프로세스 감시 및 유심과 같은 데이터의 암호화와 같은 핵심 보안 사항을 이행하지 않아 왔다 추측할 수 있다.


BPF Door는 쉽게 소스코드를 구할 수 있는 수준으로 공개된 백도어 툴입니다. 전체 코드는 900줄(단락 구분을 위한 줄까지 모두 포함)로 구현된 아주 짧은 코드이며 c언어로 작성됐습니다.


1. 어떻게 침투했는가?

크게 3가지 방법으로 가능합니다.


1) 웹 쉘, RCE 취약점 등을 이용해 원격으로 코드를 실행

2) 소셜 엔지니어링(내부 직원들에게 이메일 등을 통해 파일 다운로드를 유도)

3) 내부자 공격(SKT 내부에 해킹에 가담한 인물이 있고 이 인물이 설치를 진행)


현재까지의 상황으로 볼 때 3가지 모두 가능한 시나리오로 보입니다. SKT에 가려져있지만 현재 여러 국가 기관 및 기업들이 크고 작은 유사한 패턴의 해킹 공격이 발생하고 있습니다. 즉 백도어를 모든 곳에 뿌리는 형태로 공격한 경우일 수도 있지만 한 편으로는 SKT쯤 되는 기업이 이렇게 쉽게 외부에서 들어오는 공격에 노출되는 것은 상식적으로 이해하기 어렵습니다. 그런 면에서는 해킹에 협력한 내부자 가능성이 매우 높지 않나 생각합니다.


2. 실행 방식

해당 프로그램은 루트 권한으로만 실행이 됩니다. 또한 중복 방지와 데몬화가 적용되어 있습니다. 이후 자기 복사하게 됩니다. /dev/shm/에 자신을 복사한 후 --init을 통해 초기화 후 삭제됩니다. 이후 메모리 상에서 반영구적으로 실행됩니다.(재부팅 등의 상황에서는 정지)


3. 위장

prctl을 통해 일반 시스템 프로세스로 위장합니다. 일반적인 프로세스 모니터링 명령어를 통해서는 쉽게 확인을 어렵게 만듭니다. 또한 신뢰도를 얻기 위해 생성 시간을 과거로 조작합니다. 공개된 소스에서는 2008년 10월 31일로 되어 있으며, 해커가 특정 시점으로 변경해서 위장에 사용했을 가능성이 높습니다.


이와 같은 방식으로 네트워크 트래픽을 감시하거나 원격 쉘을 가능하게 만듭니다.


보통 백도어는 열린 시점을 정확히 아는데까지는 시간이 소요되니 실제로 얼마나 많은 데이터가 얼마나 오랫동안 흘러갔을지는 알 수 없는 상태로 보입니다. 이러한 비상상황에 제대로된 대처로 2차 피해를 방지해주었으면 좋겠습니다. 만약 대처가 늦어지면 다음의 문제가 발생할 수 있습니다.


1. 계좌 해킹

2. 불법 결제

3. 피싱 사기

4. 개인정보 유출: 주소록 및 문자 메시지 등

5. SNS 해킹

6. 신분 도용

7. 대리 가입

8. 국제 로밍 남용

9. 2FA 우회

10. 복구 계정 접근


돈 몇 푼 아끼려고 수천만 국민에게 일방적 피해를 발생시키지 말고 지금이라도 모든 해결책을 다 제공하지 않으면 매우 심각한 상황에 도달할 수 있다고 예상합니다.

keyword
매거진의 이전글사업은 꽃과 같다