Apple은 보안 메모리 할당자, 동기식 EMTE, 태그 기밀성 집행을 결합한 Memory Integrity Enforcement(MIE)를 iPhone 17 및 iPhone Air 전 모델에 탑재해, 커널을 포함한 핵심 공격 면을 항시 보호하면서도 성능을 유지하는 업계 최초의 종합적 메모리 안전성 기능을 선보였다.
Memory Integrity Enforcement(MIE)는 반세기에 걸친 전례 없는 설계와 엔지니어링 노력이 결실을 맺은 결과물로, Apple 실리콘 하드웨어의 고유한 강점과 고급 운영체제 보안을 결합해 업계 최초의, 항상 켜져 있는 메모리 안전성 보호를 기기 전반에 제공하면서도 당사의 최고 수준 성능을 훼손하지 않습니다. 우리는 Memory Integrity Enforcement가 소비자용 운영체제 역사상 가장 중요한 메모리 안전성 업그레이드라고 믿습니다.
iPhone을 대상으로 한 성공적인 광범위 악성코드 공격은 단 한 차례도 없었습니다. 우리가 실제 환경에서 관측하는 iOS의 시스템 레벨 공격은 용병 스파이웨어뿐인데, 이는 일반 사이버 범죄 활동이나 소비자용 악성코드보다 훨씬 더 복잡합니다. 용병 스파이웨어는 역사적으로 국가 행위자와 연관되어 있으며, 수백만 달러가 드는 익스플로잇 체인을 사용해 극히 소수의 특정 개인과 그들의 기기를 표적으로 삼습니다. 대다수 사용자는 이런 식으로 표적이 되지 않겠지만, 이러한 익스플로잇 체인은 언제나 가장 비싸고 복잡하며 정교한 공격자 능력을 보여 주며, iPhone 사용자를 가장 정교한 위협으로부터 보호하기 위해 연구할 가치가 있습니다. iOS를 겨냥한 알려진 용병 스파이웨어 체인은 Windows와 Android를 겨냥한 체인과 공통분모를 공유합니다. 바로 메모리 안전성 취약점을 악용한다는 점입니다. 이러한 취약점은 교환 가능하고 강력하며 업계 전반에 존재합니다.
Apple은 메모리 안전성 향상을 위해 안전한 언어로 개발하고 대규모로 완화책을 배포하는 등 폭넓은 노력을 기울이고 있습니다. (우리가 메모리 안전성을 어떻게 바라보는지에 대한 개요는 이 글의 서두를 참고하세요.) 우리는 사용하기 쉬운 메모리 안전 언어인 Swift를 만들었고, 새로운 코드와 특정 구성요소의 리라이트에 사용하고 있습니다. iOS 15에서는 커널용 보안 메모리 할당자인 kalloc_type을 도입했고, iOS 17에서는 사용자 레벨 대응물인 xzone malloc을 선보였습니다. 이러한 보안 할당자는 할당의 타입 — 즉 목적 — 을 파악해 대다수 메모리 손상 취약점의 악용을 본질적으로 어렵게 만드는 방식으로 메모리를 구성할 수 있습니다.
2018년, 우리는 메모리 손상 상황에서 코드 흐름 무결성을 보호하기 위해 A12 Bionic 칩에 Pointer Authentication Codes(PAC)를 업계 최초로 도입했습니다. 이 방어 메커니즘이 익스플로잇 난이도를 크게 높이는 데 큰 성공을 거두면서, 소프트웨어와 하드웨어 보안의 깊은 통합이 우리에게 주어진 가장 큰 보안 과제를 해결하는 열쇠라는 점이 분명해졌습니다. PAC를 도입하자마자, 우리는 Apple 실리콘에 정교한 메모리 안전성 기능을 가장 효과적으로 내장하는 설계와 평가 작업에 착수했습니다.
Arm은 2019년에 하드웨어가 메모리 손상 버그를 찾는 데 도움을 주는 도구로 Memory Tagging Extension(MTE) 사양을 발표했습니다. MTE는 본질적으로 메모리 태깅과 태그 검사 시스템으로, 모든 메모리 할당에 비밀값이 태깅되며, 하드웨어는 이후의 메모리 접근 요청에 올바른 비밀값이 포함된 경우에만 접근을 허용합니다. 비밀값이 일치하지 않으면 앱이 크래시되고 이벤트가 기록됩니다. 이를 통해 개발자는 메모리 손상 버그가 발생하는 즉시 식별할 수 있습니다.
우리는 MTE가 설계된 그대로 하드웨어 지원 메모리 안전성 목표를 충족하는지 여부를 판단하기 위해 심층 평가와 연구 과정을 수행했습니다. 분석 결과, MTE의 원래 릴리스를 실시간 방어 수단으로 사용할 경우 우리에게 용납할 수 없는 약점이 존재함을 발견했고, Arm과 협력해 이러한 단점을 해결한 새로운 Enhanced Memory Tagging Extension(EMTE) 사양(2022년 공개)을 내놓았습니다. 더 중요한 점은, EMTE가 사양대로만으로도 잠재력이 크지만, 하드웨어와 운영체제의 깊은 지원을 갖춘 엄격한 구현을 통해 획기적인 새로운 보안 메커니즘을 만들어 낼 수 있다는 것이었습니다.
MTE는 메모리 손상을 동기식(synchronous) 또는 비동기식(asynchronous)으로 보고하도록 구성할 수 있습니다. 비동기식 모드에서는 메모리 손상이 즉시 예외를 발생시키지 않아 공격자에게 레이스 윈도(경쟁 조건의 시간 창)가 열립니다. 우리는 이런 메커니즘을 구현하지 않을 것입니다. 우리는 메모리 안전 보호가 반드시 엄격히 동기식이어야 하며, 기본적으로 켜져 있고, 지속적으로 동작해야 한다고 믿습니다. 하지만 핵심 공격 면에서 항상 켜져 있는 동기식 MTE를 지원하면서도 뛰어난 고성능 사용자 경험을 유지하는 일은 하드웨어에 매우 높은 요구 사항을 부과합니다.
또한, 적대적 환경에서 MTE가 메모리 안전성을 제공하려면 MTE가 의존하는 새로운 의미론과 메모리 태그의 기밀성을 방어하도록 운영체제를 세밀하게 조정해야 합니다. 궁극적으로, 진정한 최고 수준의 메모리 안전성을 제공하려면 Apple 전사에 걸친 대규모 엔지니어링 노력이 필요하다고 판단했습니다 — Apple 실리콘, 운영체제, 소프트웨어 프레임워크의 업데이트를 포함해 말이죠. 이 노력은 우리가 크게 성공적으로 추진해 온 보안 메모리 할당자 작업과 결합되어, MTE를 유용한 디버깅 도구에서 획기적인 새로운 보안 기능으로 탈바꿈시켰습니다.
오늘 우리는 이 노력이 결실을 맺은 결과, Apple 플랫폼을 위한 종합적 메모리 안전성 방어인 Memory Integrity Enforcement를 소개합니다. Memory Integrity Enforcement는 우리의 강력한 기반인 보안 메모리 할당자와, 동기식 모드의 Enhanced Memory Tagging Extension(EMTE), 그리고 광범위한 태그 기밀성 집행(Tag Confidentiality Enforcement) 정책이 결합되어 구축되었습니다. MIE는 모든 iPhone 17 및 iPhone Air 모델의 Apple 하드웨어와 소프트웨어에 바로 내장되어 있으며, 커널을 포함한 핵심 공격 면 전반에 타의 추종을 불허하는 항상 켜져 있는 메모리 안전성 보호를 제공하면서 사용자가 기대하는 전력 효율과 성능을 유지합니다. 또한 올해 WWDC에서 공개한 새로운 강화된 보안(Enhanced Security) 기능의 일환으로 Xcode에서 모든 Apple 개발자가 EMTE를 사용할 수 있도록 제공합니다.
이 글의 나머지 부분에서는 Memory Integrity Enforcement를 설계하고 검증하는 데 요구된 집중적인 엔지니어링 노력을 살펴봅니다.
Memory Integrity Enforcement는 kalloc_type, xzone malloc, WebKit의 libpas 등 우리의 보안 메모리 할당자에서 시작합니다. 이들 모두는 타입 정보를 이용해 메모리 할당을 어떻게 구성할지 결정합니다. use-after-free와 범위 초과(out-of-bounds) 버그 모두에서 공격자의 목표는 메모리를 겹쳐 해석하는 것이며, 이를 위해 특정 타입의 일부 할당을 자신에게 유리한 정확한 위치로 제어합니다. 우리의 보안 메모리 할당자가 가진 타입 인지 배치 정책은 kalloc_type 글에서 설명했듯, 이러한 메모리 손상 기법을 저지하는 데 도움이 됩니다. 당사의 보안 할당자는 교체 전 할당자와 동일하거나 더 나은 성능을 유지하면서도 메모리 손상에 대한 소프트웨어 보호의 새로운 최고 수준을 제시합니다.
할당자는 메모리 페이지( iOS에서는 16KB ) 단위로만 보호를 적용할 수 있는데, 이는 다중 페이지 할당에 자연스럽게 적합합니다. 더 작은 할당의 경우, 우리의 보안 할당자는 페이지 수준 보호를 사용해 서로 다른 타입 버킷 간의 메모리 손상 공격을 방지할 수 있습니다. 그러나 페이지 수준 보호는 동일한 타입 버킷 내에서의 공격을 방어하기에는 너무 거칩니다. 이 간극을 메모리 태깅으로 메웁니다.
이제 EMTE가 가장 흔한 두 유형의 메모리 손상 — 버퍼 오버플로와 use-after-free 취약점 — 을 어떻게 방어하는지 살펴보겠습니다. 버퍼 오버플로에 대해서는, 인접한 할당에 서로 다른 태그를 사용하는 책임이 할당자에게 있습니다. 접근 요청이 다른 태그를 가진 인접 메모리로 넘치면, 하드웨어가 이를 차단하고 운영체제가 동작을 취해 프로세스를 종료할 수 있습니다. 아래 그림은 서로 다른 비밀값 ⏺️, 🔼, ⏹️로 태깅된 세 개의 인접 할당을 시각화한 것입니다. 🔼 태그로 두 차례의 접근 시도는 🔼 태그 메모리에 허용되지만, 세 번째 시도는 인접한 ⏹️ 태그 할당으로 넘치기 때문에 차단됩니다.
Memory Integrity Enforcement는 버퍼 오버플로를 차단합니다

할당자는 또한 메모리가 다른 용도로 재사용될 때 재태깅(retagging)하는 책임을 집니다. 아래 그림에서 🔼로 태깅된 할당은 해제된 뒤 시스템에 의해 재할당되면서 ⏹️로 재태깅됩니다. use-after-free 익스플로잇에서와 같이 오래된 🔼 태그로 이 재태깅된 메모리에 접근 요청이 이뤄지면, 하드웨어는 이를 차단하고 운영체제에 후속 조치를 맡깁니다.
Memory Integrity Enforcement는 use-after-free 접근을 차단합니다

원래 MTE 사양의 핵심 약점 중 하나는 전역 변수와 같은 비태깅 메모리에 대한 접근이 하드웨어에 의해 검사되지 않는다는 점입니다. 이는 공격자가 핵심 애플리케이션 구성과 상태를 제어하려 할 때 방어 제약이 줄어든다는 뜻입니다. 강화된 MTE에서는, 태깅된 메모리 영역에서 비태깅 메모리에 접근하려면 해당 영역의 태그를 알아야 하도록 명시함으로써, 동적 태깅 메모리의 범위 초과 버그를 비태깅 할당을 직접 수정하는 우회로로 바꾸기 훨씬 어렵게 만들었습니다.
마지막으로, 우리는 태그 기밀성 집행(Tag Confidentiality Enforcement) 을 개발해 보안 할당자 구현을 기술적 위협으로부터 보호하고, 사이드 채널과 추측 실행 공격을 포함해 EMTE 태그의 기밀성을 수호합니다.
우리의 타입 기반 할당자와 EMTE는 사용자 애플리케이션으로부터의 커널 데이터 구조 기밀성과, 할당자가 선택한 태그의 기밀성에 모두 의존합니다. 공격자는 이러한 비밀을 드러내 EMTE, 나아가 Memory Integrity Enforcement를 무력화하려 시도할 수 있습니다. 커널 할당자의 백킹 스토어 및 태그 저장소를 보호하기 위해 우리는 Secure Page Table Monitor를 사용합니다. 이는 커널이 손상된 경우에도 강력한 보장을 제공합니다. 또한 커널이 애플리케이션을 대신해 메모리에 접근할 때에도 사용자 공간과 동일한 태그 검사 규칙을 적용합니다.
추측 실행 기반 공격은 비밀을 노출하는 데에도 사용될 수 있습니다. 성능을 높이기 위해 현대 CPU는 지연 시간이 더 긴 이전 명령을 따르는 명령의 실행을 예측합니다. 예측이 맞으면 계산은 매우 빠릅니다. 틀리면 CPU가 예측을 폐기해 계산이 느려집니다. 안타깝게도, 폐기된 예측은 시스템 상태와 데이터를 드러낼 수 있는 관측 가능한 영향을 남깁니다. 또한 추측 공격은 사용 중 시스템을 크래시시키거나 관측 가능한 오동작을 일으키지 않기 때문에, 공격자에게 특히 유용합니다. 예를 들어, 포인터 인증 명령을 추측 실행으로 평가하면 우리 PAC의 초기 구현에서 타이밍 차이가 노출되어 유효한 서명을 분리해낼 수 있었습니다. Memory Integrity Enforcement를 설계하는 과정에서, 태그 기밀성을 약화시킬 수 있는 세 가지 추측 취약점을 식별하고 해결했습니다.
첫째, EMTE가 활성화되면 메모리에 대한 접근 요청은 하드웨어가 태그를 검사하게 합니다. 태그 검사 명령을 추측 평가하는 과정에서 공격자가 유효한 태그를 분리해낼 수 있는 타이밍 차이가 노출되지 않는 것이 매우 중요합니다. 처음부터 우리는 Apple 실리콘 구현에서 태그 값이 추측 실행에 어떠한 방식으로도 영향을 미치지 않도록 설계했습니다. 최근 공개된 보안 연구는 Google Pixel 기기의 MTE 구현이 이 유형의 공격에 취약해, Google Chrome과 Linux 커널에서 MTE를 우회할 수 있음을 보여줍니다.
둘째, 할당자는 메모리에 무작위 태그를 할당하며, 공격자는 시스템이 선택할 태그 값을 예측할 수 없어야 합니다. 우리는 새로운 태그 선택에 사용되는 기반 의사난수 생성기를 자주 재시드(re-seed)해 이 문제를 해결했습니다.
셋째, Spectre variant 1(V1)은 조건 분기를 악용해 데이터( MTE 태그 값 포함 )를 유출하도록 하는 추측 실행 취약점입니다. Speculative Load Hardening과 같은 일반적 완화책은 CPU 비용이 과도하기 때문에, 현재까지 소비자용 운영체제에서는 이 문제에 대한 해결책이 없었습니다. EMTE가 존재하면 Spectre V1은 공격자가 공격을 이끌어 가는 데 사용할 수 있는 마지막 경로 중 하나로 남습니다. 그래서 우리는 Spectre V1 유출의 실질적 도달 범위를 제한하고 — CPU 비용은 사실상 0에 가깝게 — 공격자가 타입 분리와 맞서야 하도록 하는 완전히 새로운 완화책을 설계했습니다. 이 완화책으로 인해 공격자가 Spectre V1을 실용적으로 사용하기 어려워졌습니다. 일반적으로 95% 이상의 악용 가능성에 도달하려면 25개 이상의 V1 시퀀스가 필요하기 때문입니다 — 단, kalloc_type 분석에서와 유사한 논리로, 이들 시퀀스 중 하나가 악용 중인 버그와 관련되어 있지 않은 이상 말입니다.
Memory Integrity Enforcement의 사명은 모든 사용자를 기본값으로 보호하고, 메모리 손상 취약점 악용에 대대적인 혼란을 야기하는 것입니다. 이를 위해 우리는 사이드 채널과 같이 가장 까다로운 위협을 포함한 광범위한 위협을 고려했고, 타 MTE 구현에는 없는 광범위한 기능 조합에 도달했습니다. Google은 지난해 위험 사용자 프로그램에 옵트인한 사용자에게 MTE를 제공하며 훌륭한 첫걸음을 내디뎠습니다. 그러나 사용자가 이를 켠다 하더라도, Android의 MTE 효과는 Memory Integrity Enforcement가 보여 주는 운영체제와의 깊은 통합과 Apple 실리콘에서의 EMTE 활용이 부족해 제한됩니다.
새로운 A19 및 A19 Pro 칩이 Memory Integrity Enforcement를 지원하도록 우리는 그 어느 때보다도 많은 Apple 실리콘 리소스를 보안에 할애했습니다. 여기에는 CPU 다이 면적, CPU 속도, 태그 저장용 메모리가 포함됩니다. 그리고 이 하드웨어 투자를 완전히 실현하기 위해, 우리는 보안 할당자, EMTE, 태그 기밀성 보호 등 MIE의 새로운 운영체제 요소를 하드웨어 작업과 함께 공동으로 설계했습니다.
EMTE 태그 검사는 성능 비용을 수반하기 때문에, 우리는 Memory Integrity Enforcement를 설계할 때 우선 보안 할당자를 최대한 활용하고, 소프트웨어 할당자만으로는 방어할 수 없는 타입 버킷 내의 더 작은 개별 할당에만 EMTE를 사용하도록 했습니다. 그런 다음 EMTE를 어디에 어떻게 배포할지 알게 됨으로써, 운영체제의 태그 검사 수요를 정확히 모델링하고 이를 만족하도록 실리콘을 설계할 수 있었습니다. 우리의 하드웨어 구현은 추가적인 소프트웨어 설계 결정에도 영향을 주어 태그 검사 오버헤드를 더욱 줄였습니다. 중요한 점은, 이런 정밀한 수준으로 EMTE를 배포하면 EMTE를 지원하지 않는 이전 세대 iPhone 사용자에게도 가능한 많은 메모리 안전성 개선을 제공하려는 우리의 전략을 뒷받침한다는 것입니다.
Memory Integrity Enforcement의 보안 평가를 위해, 우리는 초기부터 공격 연구팀을 참여시켰습니다. 2020년부터 2025년까지 우리 팀은 지속적으로 시스템을 분석하고 공격했습니다 — 먼저 이론적 익스플로잇 경로로 개념적 분석을 했고, 이어 시뮬레이션 환경에서의 실전 공격으로, 최종적으로는 새로운 하드웨어 프로토타입에서까지 진행했습니다. 공격 연구팀의 장기간 관여 덕분에 우리는 공격자가 발견하기도 전에 전체 공격 전략과 기법을 식별하고 뿌리 뽑을 수 있었고, 그 결과 처음부터 더 강력하고 성숙한 기능을 제공할 수 있었습니다.
우리 공격 연구팀은 공격자가 시스템을 침투할 가능성이 가장 높은 위치와 방법을 식별했으며, Memory Integrity Enforcement의 배포는 이들의 발견에 깊이 기반합니다. 특히 소셜 네트워크, 메신저 앱, 특정 사용자를 표적으로 삼을 수 있는 그 어떤 앱 등 공격자의 진입점이 되기 쉬운 서드파티 앱에서도 이 강력한 새 보호 기능을 사용할 수 있도록 했습니다. MIE 출시와 동시에 모든 개발자는 Xcode의 강화된 보안 설정을 이용해, EMTE를 포함해 하드웨어가 지원하는 경우 자신의 앱에서 이 강력한 보호 기능을 테스트하기 시작할 수 있습니다.
Memory Integrity Enforcement의 면밀한 기획과 구현 덕분에, 우리는 플랫폼의 모든 까다로운 워크로드에 대해 동기식 태그 검사를 유지하면서, 최소한의 성능 영향으로 획기적 보안을 제공하고, 사용자에게는 완전히 보이지 않게 만들 수 있었습니다.
Memory Integrity Enforcement는 대단히 야심 찬 목표에서 출발했습니다. 바로, 우리 플랫폼을 대상으로 메모리 손상에 기반한 용병 스파이웨어 공격의 개발 및 유지 비용과 난이도를 압도적으로 높이는 것입니다. 완벽한 보안이란 없지만, MIE는 공격자와 그들의 익스플로잇 중 자유도를 극적으로 제약하도록 설계되었습니다.
Memory Integrity Enforcement의 설계와 구현 전반에 걸쳐, 우리의 공격 연구팀은 과거 우리 플랫폼을 겨냥해 사용된 정교한 익스플로잇 체인, 최근 취약점, 내부 연구를 통해 진척 상황을 평가했습니다. 먼저, 우리는 과거 관측된 익스플로잇 체인을 MIE로 보호된 시스템에 맞게 재구성하고 적응하는 작업을 진행했습니다. 그러나 MIE가 존재하기 이전에 개발된 과거 체인만 고려하는 것으로는 충분치 않습니다. 공격자들이 새로운 보호에 맞춰 분명히 적응할 것이기 때문입니다. 따라서 우리는 MIE를 견뎌낼 가능성이 가장 높은, 비교적 최근의 취약점 일부도 평가 대상으로 삼았습니다. 이에 대해서는 SockPuppet의 kalloc_type 평가 때와 유사하게 모든 가능한 익스플로잇 기회를 세밀하게 열거했습니다.
두 접근법 모두 동일한 결론을 보여 주었습니다. Memory Integrity Enforcement는 공격자에게 허용되는 익스플로잇 전략을 대폭 축소합니다. 메모리 손상 버그는 대체 가능성이 높은 편이지만, MIE는 많은 익스플로잇 단계를 근본적인 수준에서 차단해, 새 버그로 대체해 체인을 복원하는 것이 불가능했습니다. 상당한 노력을 기울였음에도, 우리는 MIE를 우회하도록 이러한 체인 중 어느 것도 재구성할 수 없었습니다. 남아 있는 소수의 메모리 손상 효과는 신뢰성이 떨어지며, 공격자가 이러한 버그를 성공적으로 악용하기에 충분한 동력을 제공하지 못했습니다.
다음은 공격자 관점에서 이것이 어떻게 보이는지의 시각적 표현입니다. 아래 차트는 우리가 평가한 실제 환경의 익스플로잇 체인 6개를 나타내며, Memory Integrity Enforcement — 보안 할당자, EMTE, 혹은 둘 다 — 가 공격을 멈추는 단계를 보여 줍니다.
Memory Integrity Enforcement vs. 실제 환경 익스플로잇 체인

주목할 점은, 공격자는 익스플로잇 과정 초기부터 Memory Integrity Enforcement와 맞닥뜨린다는 것입니다. 일부 이슈 — 예를 들어 할당 내부(intra-allocation) 버퍼 오버플로 — 는 MIE를 견뎌내기도 하지만, 이런 이슈는 극히 드물며, 그중에서도 완전한 엔드 투 엔드 익스플로잇으로 이어질 수 있는 경우는 더더욱 적습니다. 결국 공격자는 능력이 아직 매우 제한된 단계에서 MIE와 대면해야 하며, 실질적으로 사용할 수 있는 경로가 거의 남지 않습니다. 이는 사소한 한 단계만 깨져도 전체 익스플로잇 전략이 무력화되는 취약한 체인으로 이어집니다. 그렇게 되면 체인의 대부분 구성 요소는 재사용할 수 없으며, 공격자는 전혀 새로운 버그로 익스플로잇 개발을 처음부터 다시 시작해야 합니다.
iPhone의 업계 선도적 보안 덕분에 대다수 사용자는 기기에서 시스템 레벨 공격을 전혀 겪지 않습니다. 우리의 메모리 안전성 작업은 주로 용병 스파이웨어 및 감시 산업을 겨냥합니다. 이들은 메모리 손상 취약점을 악용해 소수의 개인을 그들의 신원이나 활동 때문에 표적으로 삼기 위해 수백만 달러를 씁니다. 지난 5년 동안 우리는 하드웨어와 소프트웨어 역량의 장점을 통합한 종합적 메모리 안전성 접근을 개발했으며, 오늘의 발표는 이 야심 찬 비전의 결실입니다. iPhone 17 라인업과 iPhone Air의 도입으로, 우리는 EMTE 위에 구축되고 타입 기반 보안 할당자와 태그 기밀성 보호로 보강된 — 커널과 70개 이상의 유저랜드 프로세스를 포함한 핵심 공격 면을 포괄하는 — 업계 최초의 종합적이며 항상 켜져 있는 메모리 안전성 보호인 Memory Integrity Enforcement를 제공하게 되어 기쁩니다.
지난 3년간 가장 정교한 용병 스파이웨어 공격을 상대로 한 평가에 기반해, 우리는 MIE가 익스플로잇 체인의 개발과 유지를 훨씬 더 비싸고 어렵게 만들고, 지난 25년간 가장 효과적이었던 다수의 익스플로잇 기법을 붕괴시키며, Apple 제품의 메모리 안전성 지형을 완전히 재정의할 것이라고 믿습니다. 우리 기기에서 공격자가 메모리 손상 취약점을 악용할 수 있는 능력을 극적으로 약화시키는 만큼, Memory Integrity Enforcement는 소비자용 운영체제 역사상 가장 중요한 메모리 안전성 업그레이드를 대표한다고 확신합니다.