본문으로 건너뛰기

© 2026 Molayo

Dev.to헤드라인2026. 05. 15. 19:26

Apple의 수년간의 최고 보안 작업이 5일 만에 뚫렸다 — 개발자가 알아야 할 사항

요약

Apple이 M5 칩에 적용한 메모리 무결성 강제(MIE) 시스템은 수년간의 막대한 투자가 이루어졌음에도 불구하고, Mythos Preview라는 AI 모델을 활용한 소규모 팀에 의해 단 5일 만에 작동 가능한 커널 익스플로잇으로 우회되었습니다. 이 공격은 실행 코드를 주입하는 것이 아니라 커널 내부 데이터 구조를 조작하여 제어 흐름을 탈취하는 '데이터 전용(data-only)' 방식이었습니다. 이는 현대 보안 방어 기제가 아무리 강력하더라도, 적절한 취약점과 인간-AI 협업 역량을 통해 새로운 공격 패턴을 발견할 경우 우회될 수 있음을 보여주며, 모든 개발자에게 실질적인 교훈을 제공합니다.

핵심 포인트

  • Apple의 MIE는 메모리 오염 버그를 방어하기 위해 하드웨어 수준에서 강화되었으나, AI 기반 도구(Mythos Preview)를 통해 우회될 수 있음이 입증됨.
  • 이번 익스플로잇은 실행 코드를 주입하지 않고 커널 데이터 구조만 조작하는 '데이터 전용' 방식으로, 기존 방어 기제를 회피하기 어려움.
  • 공격의 발견 과정에서 AI 시스템(Mythos Preview)이 광범위한 취약점 패턴을 식별하고, 인간 전문가가 새로운 우회 로직에 대한 판단력을 제공하는 협업 모델이 핵심 역할을 함.
  • MIE와 같은 최신 보안 방어 기제도 적절한 취약점이 발견되면 회피될 수 있으며, 이는 현대 소프트웨어 개발 및 보안 설계의 지속적인 재검토 필요성을 시사함.

최근의 보안 공개 자료에 숨겨진 통계 중 모든 개발자를 멈춰 서게 만들 만한 수치가 있습니다. Apple은 M5 칩을 위한 메모리 무결성 강제(Memory Integrity Enforcement, MIE)를 구축하는 데 5년의 시간과 아마도 수십억 달러를 소비했습니다. Calif의 작은 팀이 Mythos Preview라는 AI 모델을 사용하여, 단 5일 만에 이를 대상으로 하는 작동 가능한 커널 익스플로잇(kernel exploit)을 구축했습니다. 이것은 Apple이 실패했다는 이야기가 아닙니다. 이것은 현대 보안의 상태에 관한 이야기이며, 오늘날 소프트웨어를 작성하는 모든 개발자에게 실질적인 교훈을 줍니다.

메모리 무결성 강제(Memory Integrity Enforcement)란 정확히 무엇인가?
익스플로잇(exploit)에 대해 알아보기 전에, 무엇이 우회되었는지 이해해야 합니다. 버퍼 오버플로(buffer overflows), use-after-free 오류, 힙 스프레이(heap sprays)와 같은 메모리 오염(Memory corruption) 버그는 수십 년 동안 소프트웨어 익스플로잇의 근간이 되어 왔습니다. 이들이 계속 작동하는 이유는 간단합니다. 대부분의 언어는 메모리에 대해 안전하지 않은(unsafe) 작업을 수행할 수 있게 허용하며, 전통적으로 하드웨어는 이를 신경 쓰지 않았기 때문입니다. 2019년에 도입된 ARM의 메모리 태깅 확장(Memory Tagging Extension, MTE)은 이를 변화시키려는 첫 번째 진지한 하드웨어 수준의 시도였습니다. 그 아이디어는 우아합니다:

  • 메모리의 모든 16바이트 청크(chunk)는 비밀 4비트 태그를 가집니다.
  • 해당 메모리에 대한 모든 포인터(pointer)는 동일한 태그를 가집니다.
  • 코드가 메모리에 접근할 때, CPU 하드웨어는 태그가 일치하는지 확인합니다.
  • 일치하지 않는다면? 즉각적인 예외(exception) 발생 — 익스플로잇도, 임의 쓰기(arbitrary write)도 불가능합니다.

Apple은 단순히 MTE를 그대로 출시하지 않았습니다.

그들은 수년간 이를 강화하여 EMTE (Enhanced MTE)라고 부르는 것으로 발전시켰으며, 이를 MIE라고 불리는 시스템 전반의 방어 체계로 감싸 안았습니다:

  • 동기식 검사 (Synchronous checking)만 수행 — 공격자가 검사를 우회할 수 있는 비동기(async) 모드가 없음
  • 태그 기밀성 강제 (Tag Confidentiality Enforcement) — 사이드 채널(표준 MTE를 4초 미만에 95% 성공률로 무너뜨린 TikTag 공격과 같은 방식)을 통해 태그가 유출되는 것을 방지
  • 태그가 지정되지 않은 메모리 보호 (Non-tagged memory protection) — 공격자가 전역 변수를 타겟팅하여 태그를 우회할 수 있는 표준 MTE의 허점을 보완
  • 커널 전반에 적용, 하드웨어 가속, 항상 활성화됨

Apple은 최근 유출된 상용 익스플로잇 키트(exploit kits)를 포함하여, MIE가 현대 iOS를 대상으로 하는 모든 알려진 공개 익스플로잇 체인을 차단한다고 — 증거와 함께 — 주장해 왔습니다.

그러다 2025년 5월이 찾아왔습니다.

익스플로잇: 데이터 전용 커널 LPE (A Data-Only Kernel LPE)

Calif 팀은 MIE가 활성화된 M5 하드웨어에서 최초의 공개 macOS 커널 익스플로잇을 구축했음을 공개했습니다. 그들이 공유한 주요 기술적 사실은 다음과 같습니다:

  • 유형: 데이터 전용 커널 로컬 권한 상승 (Data-only kernel local privilege escalation, LPE)
  • 대상: 베어메탈(bare-metal) M5 상의 macOS 26.4.1
  • 시작점: 일반적인 시스템 호출(system calls)만을 사용하는 권한이 없는 로컬 사용자
  • 최종 결과: 루트 셸 (Root shell)
  • 사용된 버그: 두 개의 취약점을 체이닝(chained)함
  • 구축 시간: 약 5일 (4월 25일에 버그 발견, 5월 1일까지 작동하는 익스플로잇 완성)

'데이터 전용(data-only)'이라는 용어는 매우 중요합니다. 이는 익스플로잇이 실행 가능한 코드를 주입하는 것이 아니라, 커널 내부의 데이터 구조를 조작하여 제어 흐름(control flow)을 하이재킹한다는 것을 의미합니다. 전통적인 메모리 안전(memory safety) 방어 기제는 종종 코드 주입에 집중하지만, 데이터 전용 공격은 CPU 관점에서 볼 때 단순히... 메모리를 정상적으로 읽고 쓰는 것처럼 보이기 때문에 탐지하기가 더 어렵습니다.

그들은 아직 전체 기술 보고서를 발표하지 않았습니다. 보고서는 Apple이 수정 패치를 배포한 후에 나올 예정입니다. 하지만 핵심적인 통찰은 이미 드러나 있습니다. 적절한 취약점이 있다면 MIE도 회피될 수 있다는 것입니다. 공격자가 메모리 레이아웃과 태그 값을 추론할 수 있는 프리미티브(primitives)를 가지고 있다면, 태그는 여전히 우회될 수 있습니다.

AI의 관점: 이것이 당신을 밤잠 설치게 할 부분입니다. 이번 공개에서 진정으로 새로운 점은 다음과 같습니다. 이 익스플로잇(exploit)은 혼자서 몇 달 동안 작업한 전설적인 해커 한 명에 의해 발견된 것이 아닙니다. AI 시스템과 함께 작업한 소규모 팀에 의해 발견되었습니다. Mythos Preview는 해당 버그들이 알려진 취약점 클래스(vulnerability classes)에 속하기 때문에 이를 식별해냈습니다. 즉, AI 시스템이 한 번 학습하고 나면 방대한 코드 영역에 걸쳐 일반화할 수 있는 패턴들입니다. 그 후 팀 내의 인간 전문가들은 새로운 추론이 필요한 부분에 대해 판단력을 적용했습니다. 구체적으로는, AI가 참고할 수 있는 이전 사례가 없을 정도로 새로운 기술인 MIE를 어떻게 우회할지 파악하는 작업이었습니다. 이러한 인간-AI 협업 역학(human-AI pairing dynamic)은 중요합니다. AI는 광범위함(breadth)을 담당했습니다. 즉, 대규모로 알려진 패턴을 스캔하는 것입니다. 인간은 깊이(depth)를 담당했습니다. 즉, 새로운 완화 기술(mitigation)을 무력화하는 새롭고 창의적인 문제를 해결하는 것입니다. 이들은 함께 Apple의 최고 사양 하드웨어를 상대로 일주일 만에 커널 익스플로잇(kernel exploit)을 성공시켰습니다. 이것이 시사하는 바는 다음과 같습니다. "이것은 너무 모호하거나 복잡해서 아무도 신경 쓰지 않을 것이다"라는 기존의 보안 모델은 무용지물(irrelevance)을 향해 가속화되고 있습니다. AI 시스템은 광범위함(breadth)의 문제를 해결하는 데 점점 더 능숙해지고 있습니다. 새로운 코드베이스에서 알려진 버그 클래스를 찾아내는 비용이 빠르게 낮아지고 있습니다.

개발자가 실제로 배울 수 있는 점

  1. 사용하는 언어의 메모리 안전성(memory safety)이 그 어느 때보다 중요합니다. 만약 당신이 여전히 C 또는 C++로 시스템 레벨 코드를 작성하고 있다면, 이는 MIE와 같은 하드웨어 완화 기술(hardware mitigations)이 당신을 대신해 방어 역할을 수행하고 있으며, 그 방어 또한 뚫릴 수 있다는 점을 상기시켜 줍니다. Rust, Swift 및 메모리 안전 언어(memory-safe languages)로 향하는 업계의 움직임은 과장된 것이 아닙니다. 만약 언어를 전환할 수 없다면, CI 파이프라인에서 새니타이저(sanitizers; ASan, MSan, UBSan)를 사용하십시오. 최소한 공격자가 발견하기 전에 버그를 잡아낼 수 있을 것입니다.

  2. 완화 기술(mitigations)은 시간을 벌어줄 뿐, 안전을 보장하지는 않습니다. MIE는 놀라운 공학적 성취입니다. 이는 익스플로잇(exploitation)의 비용을 극적으로 높입니다. 하지만 Calif 연구는 보안 엔지니어들이 잘 알고 있는 원칙을 보여줍니다. 완화 기술(mitigations)은 수정(fixes)이 아니라는 점입니다.

이러한 기술들은 근본적인 버그를 제거하지 않고 공격의 경제성(economics of exploitation)만을 변화시킵니다. 속도 제한(rate limiting), WAF(Web Application Firewalls), 샌드박싱(sandboxing), ASLR(Address Space Layout Randomization) 등 애플리케이션에 추가하는 모든 보안 제어(security control)는 시간을 벌어주고 공격자의 비용을 높여줄 뿐입니다. 이 중 그 어떤 것도 애초에 정확하고 안전한 코드를 작성하는 것을 대체할 수는 없습니다.

  1. 웹 및 앱 보안에서도 "데이터 전용(Data-only)" 공격이 과소평가되고 있습니다. 여기서 발생한 커널 익스플로잇(kernel exploit)은 코드 인젝션(code injection)을 완전히 피하고 대신 커널 데이터 구조(kernel data structures)를 조작했습니다. 이러한 사고 패턴의 웹 버전은 로직 버그(logic bugs), IDOR(Insecure Direct Object Reference) 취약점, 레이스 컨디션(race conditions)에서 나타납니다. 즉, 코드를 주입하지는 않지만 애플리케이션이 신뢰하는 상태(state)를 조작하는 공격들입니다. 이러한 공격은 단순히 메모리 레이아웃(memory layout)뿐만 아니라 의미론적 의도(semantic intent)를 이해해야 하는 경우가 많기 때문에, 정적 분석(static analysis)이나 퍼징(fuzzing)만으로는 포착하기 매우 어려운 것으로 악명이 높습니다. 여러분의 위협 모델(threat model)에는 전통적인 "입력값 검증(input validation)" 체크를 전혀 트리거하지 않고 애플리케이션의 상태를 오염시키려는 공격자까지 고려되어야 합니다.

  2. AI 지원 취약점 발견(AI-assisted vulnerability discovery)은 이미 시작되었습니다. 보안 환경이 변하고 있습니다. 버그 바운티 헌터(bug bounty hunters), 레드 팀(red teams), 그리고 불행하게도 악의적인 행위자들 모두 이번 Calif의 사례와 마찬가지로 AI를 인간의 전문 지식과 결합하기 시작했습니다.

  3. 책임 있는 공개(Responsible disclosure)는 여전히 유효하며 중요합니다. Calif는 일반적인 버그 바운티 홍수 속에 제출하는 대신, Apple Park로 직접 걸어 들어가 레이저 프린트로 출력한 보고서를 대면으로 전달했습니다. 연극적이었을까요? 아마도 그럴지도 모릅니다. 하지만 그들은 또한 Apple이 수정 사항을 배포할 때까지 기술적 세부 사항을 공개하지 않기로 선택했습니다.

더 큰 그림
Calif 팀은 게시물의 마지막을 베트남 속담인 "nhỏ mà có võ — 작지만 강력하다"로 끝맺었습니다. 적절한 AI 도구를 갖춘 소수의 연구자가 과거에는 국가급 자원이 필요했던 일을 해낼 수 있는 시대에 어울리는 문구입니다. 개발자들에게 주는 교훈은 공포가 아니라 명확함입니다. 가능한 곳에서는 메모리 안전(memory-safe) 코드를 작성하고, 방어 계층을 쌓으며, 완화 기술(mitigations)을 벽이 아닌 과속 방지턱으로 취급하고, 취약점 보고를 진지하게 받아들이십시오. 공격자들이 사용할 수 있는 도구들은 계속해서 발전하고 있습니다.

당신의 도구들도 그래야 합니다. 해당 익스플로잇 (exploit)에 대한 전체 기술적 세부 사항은 Apple이 패치 (patch)를 출시한 후 Calif에 의해 공개될 예정입니다. Apple의 MIE 블로그 게시물은 그와 상관없이 읽어볼 가치가 있습니다. 이는 하드웨어 지원 메모리 안전성 (hardware-assisted memory safety)에 대해 지금까지 작성된 가장 훌륭한 공개 설명 중 하나입니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0