Avec iOS 26 et les iPhone 17, 17 Pro et Air, Apple a mis en place une nouvelle technologie qui est présentée comme la plus grande avancée dans le domaine de la protection de la mémoire dans l'histoire des systèmes d'exploitation. Et ce qui est intéressant avec le MIE (Memory Integrity Enforcement, qui peut être traduit par une mise en application de l'intégrité de la mémoire), c'est que c'est probablement vrai, et pas uniquement une amazing exagération telle qu'Apple peut en avoir l'habitude.

Soyez prévenus, c'est un sujet ardu. La gestion de la mémoire de nos appareils modernes est tout sauf simple, Apple l'explique bien. C'est une protection très élaborée qui cible des attaques complexes. Dès le début, l'article d'Apple pose les bases en expliquant qu'iOS est un système bien protégé par défaut et qu'il n'y a jamais eu d'attaques de logiciels malveillants à grande échelle. C'est une question de point de vue : les différentes solutions de jailbreak vues au fil des années sont des attaques compliquées et réussies, même si l'utilisateur est généralement consentant. Mais dans l'absolu, iOS est tout de même un système d'exploitation qui résiste bien aux attaques. Mais pas à toutes les attaques.
Ce qu'Apple met en avant, c'est ce que les chercheurs appellent des logiciels malveillants mercenaires. Ils sont complexes et se basent sur de nombreuses failles et étapes qui demandent des ressources colossales et des moyens financiers très importants1. Ils servent à cibler des personnes précises — probablement pas vous, qui lisez ces lignes — et (surtout) reposent habituellement sur des soucis dans la gestion de la mémoire. Ils ne sont pas destinés à être déployés à grande échelle et sont prévus pour être discrets, et c'est eux que la nouvelle technologie tente de bloquer, avec succès selon Apple.

Le malware d’espionnage Pegasus est toujours plus efficace et utilisé
Le MIE bloque les accès illégaux à la mémoire
Cet article est un résumé schématique, suffisant pour comprendre les tenants et les aboutissants du MIE, mais il nécessite tout de même de devoir appréhender les bases de la gestion de la mémoire dans les puces modernes. La mémoire d'un appareil est divisée en petites zones (les pages, 16 ko sur iOS), qui sont numérotées avec une adresse. Quand un processus a besoin de mémoire, il va donc demander au système de lui allouer une zone dans la RAM, un ensemble de pages comprises entre deux adresses. Sur le papier, il doit rester dans la zone qui lui est allouée, et ne peut pas lire ou écrire dans d'autres. C'est un comportement assez logique : si une app pouvait lire ou écrire n'importe où, elle pourrait aller récupérer votre mot de passe dans une autre app, remplacer l'adresse de destination d'un virement dans une autre, etc.