A inicios de la semana, Apple presentó su nueva serie de iPhone 17, equipada con los chips A19 y A19 Pro. Además de un modelo ultrafino y otros rediseños, los nuevos smartphones incorporan una mejora menos llamativa que podría convertirse en su verdadera característica estrella: una función de seguridad llamada Memory Integrity Enforcement. Esta combina protecciones a nivel de hardware, siempre activas, con defensas de software, en un esfuerzo por reforzar los iPhone frente a las vulnerabilidades más comunes y frecuentemente explotadas.
En los últimos años, ha crecido un movimiento dentro de la industria tecnológica global para abordar un tipo específico de errores conocidos como “vulnerabilidades de seguridad de la memoria”. La memoria de una computadora es un recurso compartido entre distintos programas, y los problemas surgen cuando un software accede o modifica datos que están fuera de su alcance autorizado. Incluso los desarrolladores más experimentados y enfocados en la seguridad pueden cometer errores cuando trabajan con lenguajes de programación históricos y ampliamente utilizados, como C y C++, que facilitan la aparición de este tipo de fallos. Por ello, han proliferado herramientas proactivas, incluidos lenguajes de programación diseñados para hacer estructuralmente imposible que el software contenga este tipo de vulnerabilidades, en lugar de simplemente intentar prevenirlas o detectarlas.
En un informe de junio, la Agencia de Seguridad Nacional (NSA) y la Agencia de Ciberseguridad y Seguridad de las Infraestructuras (CISA) de EE UU subrayaban que “no se puede exagerar la importancia de la seguridad de la memoria”, señalando que las consecuencias pueden ser graves: desde violaciones de datos hasta fallos del sistema e interrupciones operativas.
Alternativas a las brechas de seguridad
El lenguaje de programación Swift, lanzado por Apple en 2014, es seguro para la memoria. La compañía afirma que lleva años escribiendo nuevo código en Swift y también revisando y reescribiendo partes del código existente en este lenguaje, con el objetivo de reforzar la seguridad de sus sistemas. Esto refleja un desafío común en toda la industria: aunque el nuevo software puede escribirse con lenguajes más seguros, gran parte del código actual se desarrolló durante décadas en lenguajes que no ofrecen garantías de seguridad en la gestión de memoria.
A pesar de que el ecosistema cerrado de Apple ha logrado, en general, evitar ataques masivos de malware contra iPhones, los atacantes más persistentes, especialmente los desarrolladores de spyware, continúan creando complejas cadenas de exploits para iOS, con altos costos, dirigidas a objetivos específicos.
Incluso con los avances de Apple en la revisión de su código, la compañía ha comprobado que estas cadenas de ataque especializadas casi siempre incluyen la explotación de fallos de memoria. “Las conocidas cadenas de spyware mercenario utilizadas contra iOS comparten un denominador común con las dirigidas a Windows y Android: explotan vulnerabilidades de seguridad de la memoria, que son intercambiables, potentes y están presentes en toda la industria”, escribió Apple en su anuncio sobre Memory Integrity Enforcement.
Apple ha incrementado su inversión en este ámbito mediante el uso de Swift y de asignadores de memoria seguros, que gestionan qué regiones de memoria se asignan y liberan para determinados datos, una fuente frecuente de vulnerabilidades. Sin embargo, Memory Integrity Enforcement se inspiró originalmente en avances a nivel de hardware, diseñados para proteger la integridad del código incluso cuando el sistema sufre una corrupción de memoria.