4년간 이어진 iPhone 백도어 캠페인, 고급 익스플로잇 체인 사용
(arstechnica.com)- Operation Triangulation은 최소 4년 동안 iMessage만으로 iPhone을 감염시킨 캠페인으로, Kaspersky 직원 기기와 러시아 내 외교 공관·대사관 관계자들의 iPhone이 영향을 받은 것으로 알려짐
- 감염은 사용자가 아무 행동을 하지 않아도 처리되는 악성 iMessage 첨부파일에서 시작됐고, 재부팅으로 감염이 사라지면 새 메시지를 보내 다시 감염시키는 방식으로 유지됨
- Kaspersky는 이 체인이 4개 제로데이를 사용했다고 분석했으며, Apple은 CVE-2023-32434, CVE-2023-32435, CVE-2023-38606, CVE-2023-41990을 모두 패치함
- 가장 핵심적인 돌파구는 문서화되지 않은 하드웨어 기능의 취약점으로, 공격자가 iPhone의 하드웨어 기반 메모리 보호를 우회해 커널 수정과 악성 코드 주입 제한을 넘어설 수 있었음
- 공격 주체는 특정되지 않았고, NSA와 Apple 관여 의혹에 대해 Kaspersky는 증거가 없다고 했으며 Apple은 협력 주장을 부인함
Operation Triangulation의 감염 방식
- Operation Triangulation은 Kaspersky가 악성코드와 이를 설치한 캠페인에 붙인 이름임
- 감염은 iMessage 메시지로 전달됐고, 수신자가 아무 행동을 하지 않아도 복잡한 익스플로잇 체인이 실행됨
- 설치된 스파이웨어는 공격자 제어 서버로 민감 데이터를 전송함
- 마이크 녹음
- 사진
- 지리 위치
- 기타 민감 데이터
- 감염은 재부팅을 넘기지 못했지만, 공격자는 기기가 다시 시작된 직후 새 악성 iMessage를 보내 감염을 유지함
- 감염 탐지는 고급 포렌식 전문 지식이 있는 사람에게도 매우 어려움
- 감염 지표 목록은 Kaspersky의 Triangulation validators/modules 페이지에서 확인할 수 있음
4개 제로데이와 영향 범위
- Kaspersky는 Triangulation이 4개의 치명적 제로데이 취약점을 사용했다고 분석함
- Apple은 4개 취약점을 모두 패치함
- 이 취약점들과 비밀 하드웨어 기능은 iPhone 외에도 여러 Apple 플랫폼에 존재했음
- Mac
- iPod
- iPad
- Apple TV
- Apple Watch
- Kaspersky가 회수한 익스플로잇은 이들 기기에서도 작동하도록 의도적으로 개발돼 있었고, Apple은 해당 플랫폼도 패치함
- Apple은 관련 논평을 거부함
문서화되지 않은 하드웨어 기능
- 공격자가 표적으로 삼은 알려지지 않은 하드웨어 기능이 Operation Triangulation의 핵심 요소로 확인됨
- 이 기능의 취약점은 공격자가 Apple 기기의 하드웨어 기반 메모리 보호를 우회하는 데 결정적 역할을 함
- 해당 보호 장치는 커널 메모리를 조작할 수 있는 상태가 된 뒤에도 다음 행위를 막도록 설계됨
- 다른 프로세스에 악성 코드 주입
- 커널 코드 수정
- 민감한 커널 데이터 변경
- Kaspersky 연구진은 Triangulation 감염 기기를 수개월 동안 역공학한 뒤에야 이 기능을 파악함
- 공격자가 사용한 일부 MMIO 주소는 하드웨어 구성을 기계가 읽을 수 있게 설명하는 device tree에 없었음
- 소스 코드, 커널 이미지, 펌웨어를 추가로 조사해도 해당 MMIO 주소에 대한 언급은 발견되지 않음
- Boris Larin은 공격자가 알 수 없는 하드웨어 레지스터에 원하는 데이터, 대상 물리 주소, 데이터 해시를 써서 하드웨어 기반 메모리 보호를 우회한다고 정리함
- Kaspersky는 이 기능이 Apple 엔지니어 또는 공장용 디버깅·테스트 목적이었거나 실수로 포함됐을 가능성을 제시했지만, 펌웨어가 이 기능을 사용하지 않아 공격자가 이를 어떻게 알았는지는 확인하지 못함
익스플로잇 체인의 흐름
- 체인은 먼저 Apple의 TrueType 폰트 구현 취약점인 CVE-2023-41990을 이용해 원격 코드 실행을 달성함
- 이 단계는 return oriented programming과 jump oriented programming을 사용해 현대적 익스플로잇 방어를 우회함
- 실행 권한은 최소 시스템 권한 수준이었음
- 다음 단계는 iOS 커널을 겨냥함
- CVE-2023-32434는 XNU의 메모리 손상 취약점임
- CVE-2023-38606은 비밀 MMIO 레지스터의 취약점으로, Page Protection Layer 우회를 가능하게 함
- 이후 체인은 Safari 취약점인 CVE-2023-32435를 이용해 셸코드를 실행함
- 생성된 셸코드는 다시 CVE-2023-32434와 CVE-2023-38606을 사용해 루트 접근 권한을 얻고 최종 스파이웨어 페이로드 설치로 이어짐
- Kaspersky의 체인 요약에는 다음 특징이 포함됨
- 악성 iMessage 첨부파일은 사용자에게 표시되지 않은 채 앱에서 처리됨
- Apple 전용 TrueType 폰트 명령 ADJUST를 이용한 원격 코드 실행이 포함됨
- JavaScript 익스플로잇은 난독화됐고 약 11,000줄 규모였으며, JavaScriptCore와 커널 메모리 파싱·조작에 대부분의 코드가 쓰임
- JavaScriptCore의 디버깅 기능 DollarVM을 활용해 JavaScriptCore 메모리를 조작하고 네이티브 API 함수를 실행함
- 구형·신형 iPhone을 모두 지원하도록 설계됐고, 신형 모델 익스플로잇을 위한 Pointer Authentication Code 우회도 포함됨
- 최종 단계의 커널 익스플로잇은 mach object file 형태였고, 규모와 기능이 크며 다양한 사후 익스플로잇 유틸리티를 포함했지만 대부분 사용되지 않음
공격 주체와 남은 의문
- Kaspersky는 공격자가 문서화되지 않은 하드웨어 기능을 어떻게 알게 됐는지 확인하지 못함
- Boris Larin은 과거 펌웨어 또는 소스 코드 공개 과정의 우발적 노출, 하드웨어 역공학 가능성을 검토하고 있음
- 이 기능의 정확한 목적은 아직 알려지지 않음
- 해당 기능이 iPhone의 기본 구성인지, ARM CoreSight 같은 제3자 하드웨어 구성 요소로 활성화된 것인지도 확인되지 않음
- 러시아 National Coordination Center for Computer Incidents는 2023년 6월 이 공격이 NSA의 더 넓은 캠페인 일부라고 주장했고, FSB는 Apple이 NSA와 협력했다고 주장함
- Apple 담당자는 협력 주장을 부인함
- Kaspersky 연구진은 NSA나 Apple의 관여를 뒷받침하는 증거가 없다고 봄
- Larin은 Operation Triangulation의 고유한 특성이 알려진 캠페인 패턴과 맞지 않아, 현재로서는 알려진 위협 행위자에게 확정적으로 귀속할 수 없다고 함
- Larin은 Kaspersky가 Adobe, Apple, Google, Microsoft 제품에서 30개가 넘는 실제 악용 제로데이를 발견·보고했지만, 이번 체인을 지금까지 본 것 중 가장 정교한 공격 체인으로 평가함
댓글과 토론
Hacker News 의견들
- (대부분의) 댓글은 여기로 옮겨졌음: Operation Triangulation: The last (hardware) mystery - https://news.ycombinator.com/item?id=38783112 - 2023년 12월, 댓글 71개
- Ars Technica의 Dan Goodin이 쓴 이번 글은 정말 훌륭함. 글이 점진적 공개 방식으로 읽히고, 프로그래머가 아닌데도 끝까지 따라갈 수 있었음
- Dan은 정말 대단함. 예전에 인터뷰를 받은 적이 있는데, 기술적 뉘앙스를 이해하고 일반 독자에게 정확히 전달하려는 관심이 인상적이었음
기술 저널리즘에서 만난 많은 사람들처럼 제목 장사에 매달리는 타입이 전혀 아니고, Ars는 그를 둔 게 행운임
- Dan은 정말 대단함. 예전에 인터뷰를 받은 적이 있는데, 기술적 뉘앙스를 이해하고 일반 독자에게 정확히 전달하려는 관심이 인상적이었음
- 주요 익스플로잇의 기술적 세부 사항도 담긴 글을 함께 링크하고 싶음. 문서화되지 않은 하드웨어 GPU 레지스터를 이용해 메모리 보호를 우회하는 내용임: https://securelist.com/operation-triangulation-the-last-hard...
- Operation Triangulation에 대한 연재 글도 있음: https://securelist.com/trng-2023/
- 2023년 6월 Ars Technica 기사도 참고할 만함: https://arstechnica.com/information-technology/2023/06/click...