Cat Solution

[240102 보안뉴스 요약] 아이폰에 스파이웨어 심는 '트라이앵귤레이션 작전' 본문

보안뉴스

[240102 보안뉴스 요약] 아이폰에 스파이웨어 심는 '트라이앵귤레이션 작전'

Casol 2024. 1. 2. 22:39

아이폰에 스파이웨어 심는 ‘트라이앵귤레이션 작전’, 정교한 사슬처럼 엮인 공격

국제부 문가용 기자(globoan@boannews.com)

http://www.boannews.com/media/view.asp?idx=125369

 


 

기자님의 3줄 요약

1. 공식 문서로 남겨지지 않았던 기능 하나, 아이폰 겨냥한 제로데이 공격에 악용됨.
2. 아이폰 겨냥한 공격 기술, 갈수록 고도화 되고 있음.
3. 숨김으로써 안전하게 지킨다는 건 오히려 재앙이 될 수 있음.

 


 

애플 아이폰의 SoC 하드웨어에 있는 기능 중 하나에서 다량의 취약점이 발견됐다.

문제는 이 기능이 공식 문서화 되지 않았고, 이 기능이 존재하는지조차 모르는 사람이 태반이라는 것이다.

이 때문에 아이폰의 업데이트를 자동으로 설정하지 않고 사용할 경우 패치를 놓칠 수 있다.

이 취약점들을 익스플로잇 하는 데 성공할 경우 공격자는 하드웨어 기반 메모리 보호 장치를 우회할 수 있게 된다.

 

이 취약점에 주목해야 하는 건 현재 아이폰을 노리는 APT 캠페인이 진행되고 있기 때문이다. (트라이앵귤레이션 작전, Operation Triangulation)

공격자들은 제로클릭 취약점을 통해 피해자들을 추적하고 감시한다.

트라이앵귤레이션 작전 자체는 아이폰의 아이메시지 앱을 주로 겨냥하며, iOS 16.2 버전까지가 공격 대상이다.

 

트라이앵귤레이션 작전, 제로클릭 모바일 공격

 

최근 아이메시지의 경우, CVE-2023-41990 이라는 원격 코드 실행 취약점을 익스플로잇 하는 것으로 분석됐다.

이 취약점은 애플에만 있는 어드저스트 트루타입 (ADJUST TrueType)이라는 폰트 관련 명령과 관련이 있다. 아주 오래된 기능이고, 공식 문건을 통해 설명된 적은 없다.

 

그런 후 공격자들은 ROP (return-oriented programming) 와 JOP (jump-oriented programming) 라는 공격 기법이나 엔에스엑스프레션 (NSExpression) 및 엔에스프레디케이트 (NSPredicate) 와 같은 쿼리 언어를 활용해 자바스크립트코어 라이브러리를 조작한다.

공격자들은 자바스크립트 내에 권한을 상승시키는 익스플로잇을 임베드 해 놓았고, 이를 가짜 콘텐츠 안에 숨겨놓는다.

 

이렇게 익스플로잇이 포함되어 있는 자바스크립트 익스플로잇은 자바스크립트코어의 메모리 및 네이티브 API 기능을 통해 구현된다.

이 때 공격자들이 악용하는 것은 자바스크립트코어의 디버깅 기능인 달러브이엠 (DollarVM / &vm) 이다.

 

이후 공격자들은 페이지보호층위 (Page Protection Layers, PPL) 를 우회한다.

이 때 하드웨어 메모리맵 I/O (MMIO) 레지스터들을 활용한다.

이 때 익스플로잇 되는 취약점도 처음에는 제로데이였고, 번호는 CVE-2023-38606이었다.

아이폰 장비에 있는 기본 방어 장치들을 뚫기 위해 공격자들은 아이엠에이전트(IMAgent)라는 프로세스를 활성화하여 페이로드를 주입하고 익스플로잇의 흔적들을 지우기도 했다.

 

그런 후에는 보이지 않도록 사파리 프로세스를 발동시키고, 다음 단계 익스플로잇이 포함되어 있는 웹 페이지로 우회 접속시킨다. 이 페이지에서는 피해자 인증이 진행되고, 통과한다면 사파리에 대한 익스플로잇이 발돈된다. 이 때 악용되는 취약점은 CVE-2023-32435이다. 이 취약점을 통해 공격자들은 셸코드를 실행시킨다. 이 셸코드는 또 다른 익스플로잇을 시작하는데, 이 때 연관되어 있는 취약점은 CVE-2023-32434와 CVE-2023-38606이었다.


여기까지 공격을 진행한 공격자는 루트 권한을 얻게 되고, 그것을 바탕으로 추가 공격을 기획할 수 있게 된다. 캠페인의 진행자들은 이 단계에서 스파이웨어를 설치한다.