일반 앱 하나로 스마트폰이 꺼진다면? | 단 3시간 만에 찾아낸 구글 스마트폰 커널 취약점
스마트폰에 깔린 앱 하나가 마음만 먹으면 언제든 폰을 꺼버릴 수 있다면 어떨까요?
구글 스마트폰 '픽셀(Pixel)'에서 실제로 이런 취약점이 발견됐습니다. 국내에서는 낯선 제품이지만, 안드로이드를 만든 구글이 자사 기술을 가장 먼저 적용하는 기준폰입니다.
공격의 트리거는 우리가 흔히 쓰는 일반 앱 하나입니다. 시스템을 장악하기 위한 루트 권한도, 사용자를 속여 얻어내는 권한 승인도 필요 없습니다. 그래픽 처리를 담당하는 GPU 커널 드라이버의 메모리 결함, 즉 UAF(Use-After-Free) 취약점을 건드리기만 하면 스마트폰은 즉시 셧다운되고, 공격자는 원할 때마다 이 과정을 몇 번이고 반복할 수 있습니다.
놀라운 점은, 소스 코드 없이 이 복잡한 취약점을 발견하기까지 단 3시간밖에 걸리지 않았다는 것입니다.
흔히 보안 업계에서 "AI가 커널 버그를 찾았다"고 하면 과장된 마케팅으로 치부하기 쉽지만, 이번 사례는 다릅니다. 참조할 수 있는 코드 저장소도, 디버깅을 위한 심볼도 없었으며, 벤더사의 기술 지원을 받으며 드라이버 구조를 파악한 것도 아닙니다. 오직 시판 중인 기기에서 추출한 '바이너리(실행 파일)'만을 Xint Code 분석 엔진에 입력했을 뿐인데, 점심시간이 끝나기도 전에 이 치명적인 버그가 도출된 겁니다.
단순한 강제 종료는 시작일 뿐, 진짜 위협은 '보이지 않는 유출'
누군가 내 스마트폰을 마음대로 꺼버릴 수 있다는 사실 하나만으로도, 이건 당장 패치해야 할 심각한 문제입니다. 하지만 이번 분석을 주도한 연구팀의 평가에 따르면, 단순한 재부팅은 이 취약점이 가진 파급력의 '최소치'에 불과합니다. 현실적으로는 권한 상승이나 커널 메모리 정보 유출 등 훨씬 더 심각한 공격으로 이어질 가능성이 매우 높습니다.
현재 구글의 공식 패치가 나오지 않은 상태이므로, 구체적인 악용 원리를 공개하거나 당장 기기의 최고 권한을 탈취했다고 섣불리 단언할 순 없습니다. 그러나 어떤 앱에서든 접근할 수 있는 커널 드라이버 영역에 이러한 취약점이 존재한다는 것은, 안드로이드의 샌드박스 보안 모델이 근본적으로 뚫릴 수 있음을 의미합니다.
스마트폰이 강제로 재부팅되는 것은 그저 잠깐의 불편함일지 모릅니다. 하지만 아무 권한도 없는 앱이 사용자의 눈을 피해 기기 깊숙한 커널 메모리를 훔쳐보는 것은 차원이 다른 문제입니다. 겉으로는 기기가 멀쩡하게 작동하는 것처럼 보여, 중요 데이터가 새어나가고 있다는 사실조차 인지하기 어렵기 때문입니다.
버그가 발견된 지점 역시 짚어볼 필요가 있습니다. 구글은 최신 텐서 G5(Tensor G5) 칩셋을 도입하며 픽셀 기기의 그래픽 GPU를 기존 Arm Mali에서 이매지네이션(Imagination) 사의 PowerVR로 교체했습니다. 문제는 PowerVR이 이미 GPU 취약점 분야에서 꽤나 악명 높은 아키텍처라는 점입니다. 과거에도 유사한 커널 취약점 패턴이 수차례 보고되었음에도, 해당 코드가 최신 플래그십 스마트폰의 심장부에 그대로 탑재된 것입니다. 지난 10년 동안 안드로이드 보안 연구가 시장 점유율이 높은 Mali와 Adreno GPU에만 집중되는 사이, 정작 이러한 GPU 변화의 흐름 속에서 보안의 사각지대가 발생했던 셈입니다.
여기서 우리가 진짜 던져봐야 할 질문이 하나 있습니다. 단 3시간이면 찾을 수 있는 버그를, 왜 그동안 아무도 발견하지 못했을까요?
소스 코드라는 '서류'가 가려버린 보안의 사각지대
이 상황은 항구에 들어오는 거대한 화물선에 비유해 볼 수 있습니다. 수만 톤의 화물이 실린 컨테이너들에는 모두 '화물 명세서'가 붙어 있습니다. 누군가 서명한 공식 서류지만, 결국 종이 한 장일 뿐입니다. 그래서 세관은 서류를 더 꼼꼼히 읽는 대신 컨테이너를 엑스레이로 들여다 봐야합니다.
소프트웨어 산업에서는 소스 코드가 바로 이 '화물 명세서'이고, 바이너리가 실제 '컨테이너 속 화물'입니다.
IT 업계는 지난 20년 동안 소스 코드 스캐닝이나 의존성 검사 등 '서류'를 꼼꼼히 검토하는 기술을 눈부시게 발전시켜 왔습니다. 하지만 오늘날 스마트폰 안에는 제조사가 직접 짜지 않은 커널, 벤더사에서 라이선스만 빌려온 드라이버, 출처를 알 수 없는 펌웨어들이 뒤섞여 돌아갑니다. 즉, 우리가 직접 짠 코드는 전체 제품에서 극히 일부에 불과합니다.
결국 이번 취약점은 누군가 실수로 놓친 것이 아니라, 기존의 소스 코드 중심 검사 시스템에서는 아예 보이지 않는 사각지대에 있었던 겁니다. 소스 코드가 없으니 정적 분석(SAST) 도구는 분석할 대상이 없고, 공급망 분석(SCA) 도구는 벤더 이름만 확인한 채 검사를 마칩니다. 리버스 엔지니어링을 통해 GPU 드라이버를 뜯어보는 것은 엄청난 비용과 시간이 드는 연구 과제이기에 통상적인 보안 테스트 범위에서 빠지기 일쑤였습니다.
과거에는 이러한 방식이 나름의 정당성을 가질 수 있었습니다. 밀봉된 바이너리 상자 하나를 열어 분석하려면 고급 보안 전문가가 6주 이상 매달려야 했기에, 비용 대비 효율이 떨어졌기 때문입니다. 하지만 이제 그 분석 시간이 3시간으로 줄어들었습니다. 검사에 드는 비용과 시간이 혁신적으로 낮아지면서, 그동안 비싸서 열어보지 못했던 상자들을 누구나 빠르고 쉽게 열어볼 수 있는 시대가 된 것입니다.
다른 산업군, 예를 들어 세관이나 의료 기기 분야는 이미 서류만 믿고 승인하는 단계를 지났습니다. 소프트웨어 산업 역시 유럽의 사이버 복원력법(CRA) 제정이나 소프트웨어 구성 명세서(SBOM) 제출 의무화 등을 통해 이러한 흐름에 합류하고 있습니다. 하지만 잊지 말아야 할 것은, SBOM 역시 결국 확인해 봐야 할 '종이 명세서'에 불과하다는 사실입니다.
선제적 방어인가, 무방비한 노출인가
본 취약점에 대한 구체적인 기술적 세부 사항은 구글의 공식 패치가 배포된 이후에 상세히 공유할 예정입니다.
그 전까지 우리가 스스로에게 던져야 할 질문은 단 하나입니다. '우리 제품 안에는 한 번도 열어보지 않은 밀봉된 컨테이너가 몇 개나 존재하며, 마지막으로 그 안을 정밀하게 투시해 본 것은 언제인가?'
굳게 닫혀 있던 첫 번째 컨테이너가 열리는 데는 3시간이면 충분했습니다.
방어자가 열지 않는다면, 결국 공격자가 열게 될 것입니다.
📩 최신 보안 인사이트 받아보기
Xint 팀이 분석한 취약점 연구와 최신 보안 인사이트를 이메일로 가장 먼저 받아보세요.
문의: contact@xint.io
웹사이트: xint.io