기타 Hacker News · 3일 전

문자 받자마자 폰 통신 먹통… 안드로이드 '죽음의 SMS' 취약점 발견

핵심 요약
  • 조작된 WAP 푸시 문자 수신 시 사용자 조작 없이도 안드로이드 핵심 통화 프로세스가 강제 종료되는 제로클릭 취약점이 공개되었습니다.
  • 진행 중인 통화가 즉시 끊길 뿐 아니라 연속 수신 시 DB 손상으로 기기 통신 기능이 영구 마비될 수 있으며, 갤럭시와 픽셀 전 기종에서 재현되었습니다.
  • 일반적인 초기화로도 해결하기 어려운 심각한 결함임에도 구글 보안 보상 프로그램(VRP) 측은 이를 비보안 이슈로 분류해 수정을 거부한 상태입니다.
요약 문자 한 통만 보내면 상대방의 안드로이드 스마트폰 통신 기능을 완전히 마비시킬 수 있는 제로클릭(Zero-Click) 취약점, 이른바 '죽음의 SMS(SMS of Death)'가 공개되었습니다. 피해자가 문자를 열어보거나 알림을 누를 필요도 없이, 특정 조작된 WAP 푸시(WAP Push) 메시지를 수신하기만 해도 시스템 백그라운드 프로세스가 즉각 강제 종료되는 치명적인 결함입니다. 이 취약점은 안드로이드의 `WapPushOverSms.decodeWapPdu()` 함수가 WAP 헤더 길이를 읽고 처리하는 과정에서 발생합니다. 부호 없는 32비트 정수 값을 범위 확인 없이 부호 있는 정수(`int`)로 형변환(캐스팅)하면서, 특정 5바이트 헤더(`88 80 80 80 00`)가 음수(-2,147,483,648)로 처리됩니다. 이 음수 크기로 바이트 배열을 할당하려다 `NegativeArraySizeException` 예외가 발생하고, 통화 및 통신을 담당하는 핵심 프로세스인 `com.android.phone`이 크래시를 일으키며 뻗어버립니다. 문제는 이 메시지가 데이터 SMS 형태로 조용히 수신되어 문자함에도 남지 않고 발신자 번호도 표시되지 않는다는 점입니다. 메시지가 도착하는 순간 진행 중이던 음성 통화는 긴급 전화까지 포함해 강제로 끊기며, 1~2초간 통신 두절 상태에 빠집니다. 게다가 단말기가 수신 확인을 보내지 못하면 통신사가 메시지를 계속 재전송하기 때문에 단 한 통의 문자만으로도 일주일 넘게 간헐적인 먹통 현상이 반복될 수 있습니다. 특히 공격자가 약 30통가량의 페이로드를 단시간에 연속 전송할 경우 상황은 훨씬 심각해집니다. 프로세스 강제 종료와 통신 DB 쓰기 작업이 꼬이면서 메시지를 저장하는 내부 SQLite 데이터베이스가 손상되는 레이스 컨디션이 발생합니다. DB가 깨지면 기기가 부팅될 때마다 통신 프로세스가 즉시 크래시되어 재부팅이나 단순 초기화로도 복구되지 않는 영구적인 벽돌(Persistent DoS) 상태가 됩니다. 이를 복구하려면 물리 SIM을 아이폰 등 비안드로이드 기기로 옮겨 통신사의 재전송을 멈추게 한 뒤, ADB 명령어로 손상된 DB를 직접 지워야 해 일반 사용자에게는 사실상 복구가 불가능에 가깝습니다. 픽셀 9 및 다양한 삼성 갤럭시 기종에서 100% 재현율이 확인되었으나, 구글 측은 이 문제를 비보안 이슈로 분류하고 '수정 안 함(Won't Fix)' 처리한 것으로 알려져 논란이 일고 있습니다. 특히 호주 등 긴급전화 연결 실패 시 규정에 따라 통신사가 해당 단말기의 망 접속을 차단해야 하는 국가에서는 기기 자체가 통신망에서 영구 차단당할 수 있는 심각한 위험을 안고 있습니다.
Sponsored · 광고