2025. 4. 27. 16:57ㆍInformation Security 정보보안
주요내용:
사건주요내용 및 타임라인
VirusTotal
BPFdoor(Berkeley Packet Filter)
매직패킷
이번에 큰 이슈가 되고있는 SKT 해킹 사건.. 찌라시에 따르면 관제가 특이사항(이상징후) 발견해서 팀장한테 말했더니 팀장이 그럴일없다고 넘겼다는 소리가 있다. 뿐만아니라 SKT는 3월에 '보안 + 방산' 신사업을 추진해 새브랜드인 "T밀리터리" 상표권 출원하고 특허청의 심사를 진행중일텐데 보안이슈가 났다. 그러면서 SKT 고객인 사람들은 USIM 을 바꾸고 있는데.. 루트서버가 털린 지금, 보유중인 여유 물량까지 전부 폐기 처리 대상이지 않을까 싶다.
우선은 글 읽기전 본인이 SKT 이용자라면 해커가 유출된 유심 정보로 복제폰을 만들어 금전적 피해를 일으킬 상황에 대비, 유심 보호 서비스를 제공하고 있는데 이 서비스를 바로 신청하도록하자
방법 : T world 앱 실행 ▶ 오른쪽 상단 돋보기 클릭 ▶ 유심 보호 서비스 입력 ▶ 가입하기
만약 유심 보호 서비스를 신청하지 않은 이용자의 경우 휴대전화가 계속 켜져 있으면 단말기 사용 주도권이 해커에 탈취되지 않지만, 휴대전화 전원이 꺼진 경우나 비행기 모드로 변경했을 때는 그렇지 않을 수 있다고 한다. 즉, 휴대전화가 꺼지거나 비행기 모드로 변경됐을 경우 해커가 유심 정보를 통해 사용 권한을 탈취할 가능성이 있다는 것이다.
다만, 유심 보호 서비스에 신청한 사람은 이러한 위험에 노출되지 않는다고 하니 이 글을 읽어보기 전 위에 방법 바로 하길바란다.
사건주요내용 및 타임라인
- 4월 18일 (금) 18:09 → 내부 시스템에서 의도치 않은 데이터 이동 최초 감지
- 4월 18일 (금) 23:20 → 악성코드 발견, 내부적으로 해킹 사실 확인
- 4월 19일 (토) 01:40 → 유출된 데이터 분석 착수
- 4월 19일 (토) 23:40 → HSS 서버 감염 및 USIM 사용자 정보 유출 확인
- 4월 20일 (일) 16:46 → KISA(한국인터넷진흥원) 침해 사고 공식 신고
- 4월 22일 (화) 10:00 → 개인정보보호위원회에 보고 및 경찰 수사 요청, 사건 공개
- 4월 23일 (수) → 서울지방경찰청 사이버수사대 수사 착수 , 정부 기관 현장 조사 시작
- 4월 24일 (목) → 금융감독원, 금융사에 ‘USIM 해킹 사고 관련 유의사항’ 배포
- 4월 25일 (금) 오전 → SKT, 고객 보호 조치 발표 및 공식 사과 , 2,500만명 대상 USIM 무상 교체 실시 예정
- 4월 25일 (금) 오후 → 일부 보험사, SKT 인증 중단 공지 (전면 중단 예정 포함)
- 4월 25일 (금) 오후 → KISA, SKT 해킹 관련 악성코드·공격 IP 정보 보안 공지 통해 공개
요약
2025년 4월 18일, SK텔레콤의 사내 시스템에서 의도치 않은 데이터 이동이 발생(APT Advanced Persistant Threat 의 초기징후) 하고, 이후 악성코드와 해킹 공격이 확인됐다. 4월 19일, 유출된 데이터 분석이 시작되고, HSS 서버에서 악성코드 감염 및 사용자 USIM 정보 유출이 확인됐다. (USIM 정보 포함 내용 아래의 "유출된 USIM 관련정보" 표 확인)
4월 20일, SK텔레콤은 한국인터넷진흥원(KISA)에 침해 사고를 신고했으며, 4월 22일에는 개인정보보호위원회에 사고를 보고하고 경찰 수사를 요청했다. 4월 23일, 경찰과 정부 기관들이 조사에 착수했고, 4월 24일에는 금융감독원이 관련 유의사항을 배포했다. 4월 25일에는 SK텔레콤이 대국민 사과문을 발표하고 유심 무상 교체를 실시한다고 발표했으며, 일부 보험사에서는 SK텔레콤 인증 중단을 공지했다.
유출된 USIM 관련 정보 | |
유출된 정보 | 용도 |
전화번호 |
|
USIM 인증 코드 |
|
IMSI(International Mobile Subscriber Identity) |
|
IMEI(International Mobile Equipment Identity) |
|
해킹 공격 사실을 처음으로 확인했음에도 불구하고, 관계기관에 '사고 인지 후 24시간 이내'에 신고해야 한다는 규정을 위반한 논란또한 있었음
2025.04.25 금요일
KISA 위협대응단 상황관제팀에서 최근 해킹공격에 악용된 악성코드, IP 등 위협정보 공유 및 주의 안내라는 제목으로 아래와 같이 공유 되었다.
1. 공격 IP : 165.232.174[.]130
악성코드 해시값 및 파일정보 | ||
hpasmmld | - size : 2,265KB | |
- SHA256 : c7f693f7f85b01a8c0e561bd369845f40bff423b0743c7aa0f4c323d9133b5d4 | ||
- MD5 : a47d96ffe446a431a46a3ea3d1ab4d6e | ||
smartadm | - size : 2,067KB | |
- SHA256 : 3f6f108db37d18519f47c5e4182e5e33cc795564f286ae770aa03372133d15c4 | ||
- MD5 : 227fa46cf2a4517aa1870a011c79eb54 | ||
hald-addon-volume | - size : 2,071KB | |
- SHA256 : 95fd8a70c4b18a9a669fec6eb82dac0ba6a9236ac42a5ecde270330b66f51595 | ||
- MD5 : f4ae0f1204e25a17b2adbbab838097bd | ||
dbus-srv-bin.txt |
- size : 34KB | |
- SHA256 : aa779e83ff5271d3f2d270eaed16751a109eb722fca61465d86317e03bbf49e4 | ||
- MD5 : 714165b06a462c9ed3d145bc56054566 |
이런정보로 어떻게 사용해요?
데이터 무결성 검사나 보안 목적에 사용되는 SHA256(Secure Hash Algorithm 256-bit)이란 값을 보면 3f6f108db37d18519f47c5e4182e5e33cc795564f286ae770aa03372133d15c4 라는 해쉬값을 가지고 있다 이를 VirusTotal 홈페이지에서 검색창에 해시값을 입력하면 결과 페이지에서 이 파일이 악성으로 분류되면, 탐지된 보안 엔진 목록과 함께 악성코드 유형이 나타난다.
- VirusTotal 홈페이지에서 검색창에 해시값을 입력:
그러나 입력해봤지만 'We currently don't have any comments that fit your search' 가 나오는 걸로 봐서 해당 해시값에 대한 결과가 아직 등록되지 않았거나 알려지지 않은 악성코드일 수 있다. 이 경우에는 몇 가지 다른 방법으로 접근할 수 있다. 파일 업로드를 통한 검색, 다른 해시 값 또는 형식 확인, 또는 다른 보안 툴 사용하여 확인가능하다.
이번엔 표 2번째에 있는 smartadm 을 https://www.virustotal.com/ 에서 입력해보니 이번에는 악성코드라고 발견이 된다. 사진 아래쪽에 보면 AhnLab-V3 과 ALYac 에서는 Linux 의 BPFDoor 백도어 공격으로 보고있다.
그럼 BPFDoor 이란게 무엇일까?
BPF ?
버클리 패킷 필터(BPF) 또는 리눅스 소켓 필터링(LSF)이라고 불리는 BPF는 원래 네트워크 패킷 필터링을 위해 설계된 커널 수준 엔진으로, 이후 eBPF(확장된 BPF)로 확장되어 다양한 작업을 처리할 수 있는 기능을 갖추게 된다. BPF는 바이트코드를 해석하는 가상 머신을 통해 커널에 프로그램을 로드하고 실행하는 방식으로 작동한다 ( BPF는 네트워크 패킷 필터링 엔진으로 시작했지만 ✔️ 지금은 **범용 커널 확장 기술(eBPF) 으로 진화했다)
왜? 이 BPF 구조가 너무 효율적인 걸 알게 된 리눅스 커널 개발자들이 네트워크 말고도 다른 데도 써보자!" 하면서 eBPF로 확장 시스템 동작을 효율적으로 제어하는 데 활용됨( 그래서 지금은 네트워크를 넘어서 트레이싱, 보안, 시스템 분석까지 전방위적으로 쓰이고 있지만, 뿌리는 네트워크 패킷 필터링 엔진)
BPF의 원래 목적
- 1992년에 등장한 초기 BPF는 tcpdump와 같은 툴에서 네트워크 패킷 필터링을 효율적으로 수행하기 위해 만들어졌다.
- 예를 들어, “포트 80만 캡처하라” 같은 조건을 커널에 미리 전달하고, 필요한 패킷만 사용자 공간으로 보내도록 설계
- 이 구조 덕분에 불필요한 패킷 처리를 줄이고 성능을 획기적으로 개선
(tcpdump, iptables, eBPF, XDP 같은 기술들이 이걸 기반으로 작동함)
시나리오를 줘서 쉽게 이해해보자.
시나리오: "포트 80 트래픽만 캡처하고 싶다"
🟥 ① BPF 없이 (필터링을 사용자 공간에서)
- 커널은 모든 패킷을 tcpdump에 전달
- tcpdump는 사용자 공간에서 각 패킷을 검사하고
- 포트 80만 골라내고 나머지는 무시함
결과: 많은 불필요한 패킷을 사용자 공간까지 복사해야 하므로,
→ CPU 사용률이 높고, 성능 저하 발생
→ 고속 네트워크 환경에서는 패킷 드롭 가능성 증가
✅ ② BPF 필터 적용 (필터링을 커널 공간에서)
- tcpdump 실행 시 port 80 같은 BPF 필터 전달
- 커널은 BPF 가상 머신을 통해 패킷을 즉시 검사
- 조건에 맞는 패킷만 tcpdump로 전달
결과: 필요한 패킷만 사용자 공간으로 복사됨
→ CPU 사용량 감소, 훨씬 효율적
→ 고속 네트워크에서도 안정적 작동
📊 성능 차이 예시 (단순화된 예제)
조건 | 처리 방식 | 사용자 공간 전달 패킷 수 | CPU 사용량 | 패킷 손실 가능성 |
BPF 없이 전체 캡처 | 사용자 공간 필터 | 10,000개 중 10,000개 | 높음 | 높음 |
BPF 필터: port 80 적용 | 커널 공간 필터 | 10,000개 중 200개 | 낮음 | 낮음 |
즉, BPF의 핵심 장점은 불필요한 패킷을 사용자 공간까지 올리지 않음으로써 리소스를 절약하고 성능을 높이는 것이다.
BPF 에 대해 어느정도 이해했다면 BPFDoor 는 그럼 뭘까?
BPFDoor (Berkeley Packet Filter Door) 이란?
BPFDoor는 리눅스와 솔라리스 시스템을 타깃으로 하는 스텔스형 백도어 악성 코드로, 2017년부터 약 5년간 탐지되지 않았을 만큼 강력한 악성 코드다. 2021년, PwC 연구진에 의해 처음 발견되었으며, 다양한 취약점을 통해서 감염되는데 관련된 CVE 들중에서는 아래와 같다.
CVE-2021-3156 | sudo 권한상승 취약점 (Baron Samedit) |
CVE-2021-26084 | Atlassian Confluence RCE |
CVE-2021-22986 | F5 BIG-IP RCE 취약점 |
CVE-2022-22954 | VMware Workspace ONE Access RCE |
※ ( BPFDoor 자체는 악성코드 (취약점X)이지만, 이 백도어가 설치되기 위해 공격자들이 악용하는 진짜 취약점(CVE) 리스트)
BPFDoor는 이러한 BPF를 악용하여 시스템의 네트워크 패킷을 모니터링하거나 필터링하는 기능을 통해 시스템에 백도어를 설치한다. BPF는 본래 리눅스 커널에서 패킷 필터링, 네트워크 트래픽 모니터링, 성능 분석 등을 위해 사용되는 강력한 기능이지만, BPFDoor는 raw socket + BPF (Berkeley Packet Filter) 를 이용해 원격 공격자가 시스템을 제어할 수 있도록 만드는데 이러면 포트도 안 열리고, 방화벽에도 안 잡히고, 로그도 안 남는 완전 스텔스 모드 백도어이다.
아래의 예시를 보자
일반적인 서버는 이렇게 동작:
- bind() 함수로 특정 포트를 열고
- listen()으로 연결 대기하고
- accept()로 클라이언트와 통신
이러면 포트가 열려 있고, netstat 같은 걸로 확인할 수 있음.
🕵️♂️ 그런데 BPFDoor는 이렇게 다름:
- raw socket을 열어 → 네트워크 인터페이스의 모든 패킷을 직접 읽음
- BPF 필터를 걸어 → 관심 있는 패킷(예: 특정 포트, 시그니처, 매직 바이트)만 골라냄
- 시스템 콜 없이 트래픽을 감지하고 명령 수행
📌 이 과정에서는 bind도 안 하고, 포트도 열지 않음
그래서 ss, netstat, lsof 이런 툴로 봐도 "열려 있는 포트가 없음" 으로 보임.
🧠 비유하면 이런 느낌
- 보통 서버는 문 열어놓고 손님 기다리는 가게
- BPFDoor는 CCTV로 길거리 지나가는 사람 중 특정 패턴 가진 사람만 골라 보는 도둑
🔒 그럼 어떻게 막을 수 있는가?
- raw socket 사용 감지 → 일반적인 시스템에서는 raw socket 잘 안 쓰니까, 탐지 포인트가 됨
- **eBPF 추적 툴(bpftrace, tracee, Falco 등)**로 감시
- 패킷 검사 → 비정상적인 매직 바이트나 명령 트리거 형태 탐색
이러한 BPFDoor 공격은 아래와 같이 아시아 및 중동 타깃 공격에 사용되고 있으며 트랜드마이크로에 따르면 위협 행위자는 중국 기반 APT 그룹인 Red Menshen의 소행으로 추정하고 있으며 이 조직은 Linux 서버를 표적으로 삼는다고한다.
날짜 | 국가 | 산업 |
2024년 12월 | 대한민국 | 통신 |
2024년 12월 | 미얀마 | 통신 |
2024년 10월 | 말레이시아 | 소매 |
2024년 9월 | 이집트 | 금융 서비스 |
2024년 7월 | 대한민국 | 통신 |
2024년 1월 | 홍콩 | 통신 |
표 1. 2024년 BPFDoor가 목표로 하는 기업의 국가 및 산업 분포
그들은 /tmp/zabbix_agent.log , /bin/vmtoolsdsrv , /etc/sysconfig/rhn/rhnsd.conf 와 같은 다양한 경로를 사용하여 악성코드를 숨겼으며 어떤 초기 진입점이 사용되었는지에 대한 조사는 아직 진행 중이라고 한다.
트렌드마이크로의 원격 측정 데이터에 따르면, 터키와 홍콩의 통신 분야 기업들이 이 위협 행위자의 주요 표적이 되고 있는 것으로 나타났다. 2023년 상반기 기준으로도, 2022년에 비해 해당 국가와 산업에서의 고유 탐지 사례가 뚜렷하게 증가하고 있다.
이러한 경향은 PwC가 2022년 발표한 최초 보고서 내용과도 일치하며, 당시 보고서에서는 정부, 교육, 물류를 제외한 모든 산업 분야가 공격 대상으로 지목된 바 있다.
BPFDoor 컨트롤러
Trendmirco 에서 BPFDoor 컨트롤러는 위협 행위자가 사용하는 기술에 대한 몇 가지 흥미로운 세부 정보를 공개했다.
BPFDoor 맬웨어가 삽입한 BPF 필터에서 검사하는 "매직 패킷" 중 하나를 보내기 전에 컨트롤러는 사용자에게 BPFDoor 측에서도 검사할 비밀번호를 묻는다.
제공된 비밀번호와 사용된 명령줄 옵션에 따라 컨트롤러는 감염된 컴퓨터에 다음 작업 중 하나를 수행하도록 요청한다.
- 역방향 쉘을 연다
- 특정 포트의 셸로 새 연결 리디렉션
- 백도어가 활성화되었는지 확인
역방향 연결 모드
아래의 링크는 Trendmicro 에서 Victim 과 Attacker 가 위와 같은 과정이 실제로 어떻게 작동하는지 보여주는 시뮬레이션 영상을 보여준다
https://www.trendmicro.com/ko_kr/research/25/d/bpfdoor-hidden-controller.html
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, Ma
www.trendmicro.com
BPFDoor 작동 방식 :
- BPF 필터 로드:
- BPFDoor는 setsockopt() 또는 libpcap을 사용하여 BPF 필터를 커널에 로드.
- 이 필터는 특정 매직 넘버를 포함하는 패킷을 감지하고, 해당 패킷이 도착하면 백도어를 활성화.
- 매직 넘버 기반 활성화:
- BPFDoor는 UDP, ICMP, TCP 패킷에 포함된 특정 매직 넘버(예: 0x7255, 0x5293, 0x39393939)를 감지하여 역방향 연결을 오픈.
- 매직 넘버가 포함된 패킷이 도달하면, BPFDoor는 원격 공격자의 IP 주소로 역방향 연결을 시도.
- 역방향 셸:
- BPFDoor는 역방향 셸을 열어, 공격자가 원격으로 명령을 실행할 수 있도록 함.
- 이 셸은 루트 권한을 갖고 있어 공격자는 시스템에 완전한 제어 권한을 가질 수 있음.
- 다양한 프로토콜 및 필터:
- 초기 BPFDoor 샘플은 UDP, ICMP, TCP 패킷에 대해 각각 다른 매직 넘버를 기대하는 필터를 사용.
- 2023년 샘플에서는 추가적인 매직 넘버와 TCP 필터를 사용하여 백도어를 더 은밀하게 활성화하려고 함.
- MAC 주소 확인 (의심스러운 기능):
- 어떤 BPFDoor 샘플은 MAC 주소의 특정 패턴을 확인하여 백도어를 활성화하는 기능을 포함.
- 목적지 MAC 주소가 0x4로 시작하는 경우에만 활성화되는 방식으로, 특정 제조사의 NIC(네트워크 카드)를 사용하는 시스템을 표적으로 삼을 수 있음.
- 다양한 변종:
- BPFDoor는 다양한 버전과 매직 넘버를 사용하여 점차 발전
- 최신 변종에서는 매직 넘버를 추가하거나, MAC 주소, ICMP ECHO 요청 등을 확인하는 등 탐지를 어렵게 만드는 방식을 사용
BPFDoor 작동 방식 요약
1. 감지되지 않게 시스템에 설치 ( 시스템에 숨어서 설치 )
- 공격자가 침투 후, BPFDoor를 시스템에 루트킷 형태로 설치
- 서비스나 프로세스 목록에 눈에 띄지 않게 위장
2. raw socket + BPF 필터 등록 ( 네트워크 패킷 감시 준비)
- raw socket을 생성하여 네트워크 인터페이스 전체 트래픽을 수신
- 여기에 BPF 필터를 적용해, 특정 조건의 패킷(매직 바이트 등)만 감지
- 포트를 열지 않고도 외부 명령 수신 가능 (포트 스캔 탐지 회피)
3. 명령 신호(Trigger Packet) 대기 ( 특별한 패킷을 기다림 )
- 공격자가 특정 "매직 패턴"이 들어간 패킷을 전송
- BPFDoor는 BPF 필터로 그 패킷을 감지하고 활성화됨
4. 명령 실행 또는 리버스 셸 연결 ( 명령 실행 또는 리버스 셸 연결 )
- 명령 패킷이 확인되면, 리버스 셸 생성 또는 명령어 실행
- 종종 socat, netcat 같은 도구를 활용해 C2 서버와 연결
5. 활동 은폐 ( 발자국 없이 활동 은폐 )
- 로그를 거의 남기지 않음 (커널 수준에서 트래픽 처리)
- 포트도 열려 있지 않아, netstat, ss 등으로는 확인 불가
- 운영 체제 보안 정책이나 방화벽을 우회 가능
[감염된 시스템]
↓
[raw socket 생성 + BPF 필터 등록]
↓
[네트워크 트래픽 감시]
↓
[매직 패킷 감지 → 활성화]
↓
[명령 실행 또는 리버스 셸 연결]
그러면 이러한 것들을 어떻게 막을수있을까?
탐지 및 대응 방법
네트워크 모니터링:
- TCP 패킷에서 24바이트 페이로드 시작 부분의 매직 바이트 0x5293을 검색.
- UDP 패킷에서 매직 바이트 0x7255를 검색
- ss -0pb 명령어를 사용하여 BPF 필터에서 매직 넘버 (0x7255, 0x5293, 0x39393939)를 확인
규약 마법의 숫자( 16진수) 마법의 숫자( 소수 ) UDP 0x7255 29 269 ICMP 0x7255 29 269 TCP 0x5293 21 139 TCP 0x39393939 960 051 513
다음 Linux 명령어 매직 넘버를 확인하여 의심스러운 BPF 프로그램을 조사하는 데 도움이 될 수 있다.
ss -0pb | grep -EB1 --color "$((0x7255))|$((0x5293))|$((0x39393939))"
프로세스 분석:
- /proc/*/stack 파일에서 packet_recvmsg, wait_for_more_packets 함수 호출을 검색
- 의심스러운 프로세스 이름(예: hald-addon-acpi) 또는 TCP 포트 42391~43391 범위에 바인딩된 프로세스를 확인
파일 및 로그 분석:
- /var/run/haldrund.pid 또는 /dev/shm/kdmtmpflush 파일의 존재 여부를 확인
- iptables에서 비정상적인 리디렉션 규칙을 점검
대응 전략
- 패치 관리:
- CVE 알려진 취약점에 대한 패치를 적용
- BPF 분석:
- Radare2와 같은 도구를 사용하여 BPF 바이트코드를 분석
- 보안 솔루션:
- Trend Micro Vision One과 같은 AI 기반 플랫폼을 활용하여 실시간 위협 탐지를 수행
- 자동화 스캔:
- Sandfly와 같은 도구를 사용하여 패킷 소켓을 사용하는 프로세스를 자동으로 스캔
이렇게 정리하긴했는데 틀린부분있으면 과감히 지적 부탁드려요 :)) 공부겸 한번 찾아본건데 너무 자료가 방대하네용
Bibilography
※ 연합뉴스(2025.04.24) : SKT, 최초 이상 인지는 18일…24시간 내 해킹 보고 규정 위반(종합) https://www.yna.co.kr/view/AKR20250424072451017
※ 한국인터넷진흥원 보안공지(2025.04.25) : 최근 해킹공격에 악용된 악성코드, IP 등 위협정보 공유 및 주의 안내
※ 보안뉴스(2025.04.25) : KISA, SKT 해킹 악성코드 공개...보안 점검 권고
https://m.boannews.com/html/detail.html?idx=137004
※ Trend (2025.04.14) BPFDoor의 숨겨진 컨트롤러, 아시아 및 중동 타깃 공격에 사용
https://www.trendmicro.com/ko_kr/research/25/d/bpfdoor-hidden-controller.html
※ Trend (2023.10.19) BPF 지원 맬웨어의 작동 방식
https://www.trendmicro.com/vinfo/us/security/news/threat-landscape/how-bpf-enabled-malware-works-bracing-for-emerging-threats
※ 탐지및 대응 - [月光愛靑狼:티스토리] (2025.04.18) : SK텔레콤(SKT) 해킹사태 : 유심(USIM) 정보 유출 사고 출처: