모바일 / 보안

"패치 느린 모바일 생태계 헛점 노렸다" 제로데이 익스플로잇 체인 사례들

Lucian Constantin  | CSO 2023.04.04
지난해 다수의 상용 스파이웨어 업체가 iOS와 안드로이드 사용자를 노린 제로데이 익스플로잇을 개발해 공격에 악용했다. 이들이 만든 익스플로잇 체인은 제로데이 외의 알려진 취약점도 이용했다는 점에서 사용자와 디바이스 제조업체 모두에 신속한 보안 패치의 중요성을 일깨웠다.
 
구글 위협 분석 그룹(TAG) 연구팀은 이번 공격 캠페인에 대한 상세 보고서에서 “제로데이 익스플로잇과 n데이 익스플로잇이 함께 사용됐는데, 스파이웨어 업체는 수정이 릴리스되는 시점과 실제 최종 사용자 디바이스에 완전히 배포되는 시점 사이의 긴 시간 공백을 이용했다. 연구 결과를 보면 역사적으로 익스플로잇을 개발하고 운영할 기술 전문성을 갖춘 정부에서만 사용했던 기능이 상용 감시 업체에 의해 얼마나 광범위하게 확산됐는지 알 수 있다”라고 전했다.
 
ⓒ Getty Images Bank
 

iOS 스파이웨어 익스플로잇 체인

애플은 iOS 디바이스와 그 하드웨어에서 실행되는 소프트웨어, 두 가지 모두 단독으로 만드는 만큼 iOS 모바일 생태계에 대한 통제력이 매우 높다. 따라서 구글이 기본 OS를 만들고 수십 개 디바이스 제조사가 각자의 제품에 맞게 조정해 자체적으로 별도의 펌웨어를 유지관리하는 안드로이드에 비해 아이폰과 아이패드의 패치 채택율이 전통적으로 훨씬 더 높다.
 
구글 TAG는 2022년 11월 iOS와 안드로이드, 두 플랫폼의 익스플로잇 체인을 사용해서 이탈리아, 말레이시아, 카자흐스탄의 iOS 및 안드로이드 사용자를 표적으로 실행된 SMS를 통한 공격 캠페인을 발견했다. 이 캠페인에 사용된 bit.ly 단축 URL을 클릭하면 사용자는 익스플로잇을 배포하는 웹 페이지로 이동하고, 이후 이탈리아 물류 회사 BRT의 배송 추적 포털이나 말레이시아의 인기 뉴스 사이트과 같은 정상적인 웹사이트로 다시 리디렉션된다.
 
iOS 익스플로잇 체인에 사파리와 iOS에 사용되는 애플의 웹사이트 렌더링 엔진인 웹킷의 원격 코드 실행 취약점(그 당시 알려지지 않았고 패치도 되지 않은 상태)이 결합됐다. 현재 CVE-2022-42856으로 추적되는 이 결함은 구글 TAG가 애플에 보고한 이후 지난 1월에 패치됐다.

그러나 웹 브라우저 엔진의 원격 코드 실행 취약점만으로는 디바이스를 침해하는 데 충분하지 않았다. iOS, 안드로이드와 같은 모바일 운영체제는 샌드박싱 기술을 사용해 브라우저의 권한을 제한하기 때문이다. 따라서 공격자는 이 제로데이 취약점을 애플이 2021년 10월 iOS 15.1에서 패치한 GPU 드라이버 구성요소인 AGX액셀러레이터(AGXAccelerator)의 샌드박스 탈출 및 특권 승격 결함(CVE-2021-30900)과 결합했다.
 
또한 익스플로잇 체인은 애플이 2022년 3월에 수정한 PAC 우회 기법도 사용했다. 이 기법은 2021년 사이트록시(Cytrox)라는 상용 스파이웨어 업체가 망명한 이집트 정치인과 이집트 신문 기자를 노린 캠페인을 벌일 당시 스파이웨어인 프리데터(Predator)를 배포하기 위해 사용한 익스플로잇에서 관측된 바 있다. 두 익스플로잇에는 공통적으로 make_bogus_transform이라는 매우 구체적인 이름의 함수가 있어 둘 사이의 연관성을 시사했다.
 
구글 TAG가 관측한 11월 캠페인에서 익스플로잇 체인의 최종 페이로드는 감염된 디바이스의 GPS 위치를 공격자에게 주기적으로 보고하고IPA(iOS 애플리케이션 아카이브) 파일을 감염된 디바이스에 배포할 수 있게 해주는 멀웨어였다.
 

안드로이드 스파이웨어 익스플로잇 체인

안드로이드 사용자에게도 크롬 브라우저 엔진의 코드 실행 취약점을 샌드박스 탈출 및 특권 승격과 결합한, 비슷한 익스플로잇 체인이 배포됐다.
 
CVE-2022-3723으로 분류된 이 코드 실행 결함은 형식 혼동 취약점으로, 안티바이러스 업체 어배스트 연구팀에 의해 발견된 후 2022년 10월 크롬 버전 107.0.5304.87에서 패치됐다. 이 결함과 2022년 11월 안드로이드에서 수정된(그러나 취약점이 악용된 시점에서는 제로데이였음) 크롬 GPU 샌드박스 우회(CVE-2022-4135)가 결합됐다.
 
페이로드가 회수되지 않은 이 익스플로잇 체인은 ARM 말리(Mali) GPU와 크롬 버전 106 미만을 사용하는 안드로이드 디바이스 사용자를 표적으로 동작했다. 문제는 ARM이 코드 패치를 내놓더라도 디바이스 제조사가 패치를 자체 펌웨어에 통합하고 자체 보안 업데이트를 내놓기까지 몇 개월이 걸릴 수 있다는 점이다. 업데이트와 캠페인까지 한 달이 채 걸리지 않았고 사용자는 그 기간 내에 업데이트를 설치해야 했다.
 
이 사건은 디바이스 제조업체가 심각한 취약점에 대한 패치 통합 속도를 높이고, 사용자가 디바이스의 앱, 특히 브라우저 및 이메일 클라이언트 같은 핵심 앱을 최신 상태로 유지하는 것이 얼마나 중요한지를 잘 보여준다.
 

삼성 디바이스를 대상으로 하는 스파이웨어 익스플로잇 체인

2022년 12월에 발견된 또 다른 캠페인은 삼성 안드로이드 기기의 기본 브라우저이며 크로미엄 오픈소스 프로젝트를 기반으로 하는 삼성 인터넷 브라우저 사용자를 대상으로 했다. 또한 이 캠페인은 SMS를 통해 아랍 에미리트 연합국의 사용자에게 전송되는 링크도 사용했는데, 도착 페이지는 이전에 상용 스파이웨어 업체 배리스톤(Veriston)이 개발한 헬리코니아(Heliconia) 프레임워크에서 TAG가 발견한 것과 동일했다.
 
이 익스플로잇은 여러 제로데이 결함과 n데이 결함을 결합했지만 그 시점의 삼성 인터넷 브라우저 또는 삼성 디바이스에서 실행되는 펌웨어를 기준으로는 제로데이였다.
 
크롬의 코드 실행 형식 혼동 취약점 CVE-2022-4262는 2022년 12월에 수정됐다. 이 취약점에 2022년 8월 크롬 버전 105에서 수정된 샌드박스 탈출(CVE-2022-3038)이 결합된 형태다. 그러나 공격 캠페인이 일어난 당시 삼성 인터넷 브라우저는 크로미엄 버전 102 기반이었으며 이러한 최신 수정을 포함하고 있지 않았다. 마찬가지로 공격자가 느린 패치 윈도우를 어떻게 이용할 수 있는지를 잘 보여주는 사례다.
 
이 익스플로잇 체인은 ARM이 2022년 1월에 수정한 ARM 말리 GPU 커널 드라이버의 특권 승격 취약점(CVE-2022-22706)도 이용했다. 그러나 2022년 12월에 공격이 발생했을 때 삼성 디바이스의 최신 펌웨어 버전은 아직 이 수정을 포함하지 않은 상태였다.
 
익스플로잇 체인에는 공격자에게 리눅스 커널 읽기 및 쓰기 액세스 권한을 부여한 리눅스 커널 사운드 서브시스템의 또 다른 제로데이 특권 승격 취약점(CVE-2023-0266)과, 구글이 ARM과 삼성에 모두 보고한 여러 커널 정보 유출 제로데이도 포함됐다.
 
구글 TAG 연구팀은 “이러한 캠페인은 계속해서 패치의 중요성을 보여준다. 사용자가 완전히 업데이트된 디바이스를 실행 중이었다면 이들 익스플로잇 체인의 영향을 받지 않았을 것”이라며 “PAC, V8 샌드박스, 미라클PTR(MiraclePTR)과 같은 중간 완화책은 익스플로잇 개발자들에게 실질적인 영향을 미친다. 이를 우회하기 위해서는 또 다른 버그가 필요해지기 때문”이라고 말했다.
editor@itworld.co.kr 

회사명 : 한국IDG | 제호: ITWorld | 주소 : 서울시 중구 세종대로 23, 4층 우)04512
| 등록번호 : 서울 아00743 등록발행일자 : 2009년 01월 19일

발행인 : 박형미 | 편집인 : 박재곤 | 청소년보호책임자 : 한정규
| 사업자 등록번호 : 214-87-22467 Tel : 02-558-6950

Copyright © 2024 International Data Group. All rights reserved.