Productos de Apple vulnerables a los ataques de día cero de FORCEDENTRY – ¡Parche ahora! – Pura seguridad

Sabes lo que vamos a decir, así que digámoslo ahora.

Parchear temprano, parchear a menudo.

El grupo canadiense de privacidad y ciberseguridad The Citizen Lab acaba de anunciar una vulnerabilidad de día cero en los sistemas operativos iPhone, iPad y Macintosh de Apple.

Apodaron el ataque FORCEDENTRY, por razones bastante obvias, a pesar de su nombre oficial CVE-2021-30860.

Citizen Lab ha atribuido la vulnerabilidad y el código que la explota a la controvertida empresa de monitoreo de dispositivos NSO Group, que ya se utiliza para su llamado. es conocida Pegaso Gama de productos similares al software espía.

Según Citizen Lab, el exploit se basó en archivos PDF con trampas explosivas y se descubrió en la naturaleza cuando un activista de Arabia Saudita entregó su teléfono para su análisis después de sospechar que de alguna manera se había implantado software espía en el dispositivo.

El informe de Citizen Lab es consistente con el propio boletín de seguridad HT21807 de Apple, que atribuye el informe a la vulnerabilidad de Citizen Lab, simplemente diciendo:

Aunque Citizen Lab afirma explícitamente que el teléfono investigado se infectó a través de una comunicación de iMessage, el boletín de Apple describe este error de manejo de PDF como en el Gráfico básico Componente del sistema, lo que significa que la vulnerabilidad no se limita a la aplicación iMessage.

El problema de los números enteros

Desbordamientos de enteros Suceden cuando un cálculo aritmético no se ajusta a la precisión numérica disponible, lo que más tarde a menudo conduce a una especie de desbordamiento del búfer de memoria.

Las computadoras generalmente usan un número fijo de bits, generalmente 16, 32 o 64, para hacer cálculos matemáticos con números enteros (números enteros como 1, 42 y 2021), por lo que algunas combinaciones de entradas producen salidas que no se ajustan a las disponibles. espacio.

Esta es la misma clase de errores que el infame Error Y2K, con programas que almacenan el año con dos dígitos, el año posterior a 1999 como. calcularía 99+1 = 100para usar esto como un «enlace» en lugar de calcular 1999+1 = 2000 Completamente.

Con solo dos dígitos para almacenar la respuesta, el resultado, por supuesto, perdería el primer dígito durante «cien años» y volvería a 00, lo que hace que la hora y la fecha retrocedan un siglo a la medianoche en lugar de avanzar un segundo.

En el código de administración de memoria, las envolturas numéricas de este tipo pueden fácilmente dar como resultado que bloques de datos se escriban en bloques de memoria donde simplemente no caben.

Por ejemplo, un programa que se basa en números de 16 bits para almacenar el ancho y el alto de una imagen le permitiría especificar imágenes de hasta 65535 píxeles de ancho y 65535 píxeles de alto (0xFFFF en hexadecimal o por valor de 16 bits 111…111 en formato binario).

A primera vista, esto suena como una imagen más grande de lo que jamás necesitaría.

Pero si el programador olvidó ingresar un número de 32 bits para el número de píxeles (ancho × alto) necesarios y, por costumbre, asignó otro número entero de 16 bits para el resultado, entonces incluso una imagen de, digamos, 1000 × 1000 los píxeles causarían problemas graves.

El producto de 1000 × 1000 debe ser 1.000.000 píxeles, o 0xF4240 en hexadecimal, pero este número requiere 20 bits para almacenarse por completo, o 5 dígitos hexadecimales, debido al desbordamiento de enteros. (Si multiplica dos números de N dígitos, el resultado puede tener hasta 2N dígitos).

Cuando esta respuesta se convierte en un entero de 16 bits, el 0xF al principio, el número se descarta, de modo que solo quedan cuatro dígitos hexadecimales (16 bits), de modo que el «tamaño de imagen» calculado circula a 0x4240 en Hex, como un velocímetro de la vieja escuela que ha recorrido 99.999 kilómetros y ha comenzado de nuevo desde cero.

Eso da una respuesta incorrecta de 16,960 en lugar de 1,000,000.

Si el software asigna ciegamente solo 16,960 bytes de espacio de almacenamiento porque calculó mal el tamaño «correcto» de una imagen de 1000 × 1000 píxeles, se produciría un desbordamiento de búfer enorme y catastrófico tan pronto como la imagen se copiara en el búfer de tamaño insuficiente.

Se corrigieron dos errores

Curiosamente, Apple también solucionó otro error en estado salvaje al mismo tiempo, llamado CVE-2021-30858.

Este segundo agujero de día cero se encontró en el software de renderizado web de Apple, WebKit, que está en el corazón del navegador Safari integrado en todos los sistemas operativos de Apple.

De hecho, todos los programas de iPhone y iPad de la App Store (desde los juegos y utilidades más simples hasta los navegadores web más potentes) que pueden representar y mostrar contenido HTML están obligados por Apple a utilizar WebKit.

Incluso los navegadores como Edge y Firefox, que normalmente usan el software de renderizado web Chromium y Gecko, respectivamente, tienen que usar WebKit en su lugar, por lo que los errores de seguridad de WebKit pueden tener consecuencias de gran alcance para iPhones y iPads.

El error CVE-2021-30858 es un Vulnerabilidad de uso después de la liberacióndonde un programa devuelve memoria al sistema operativo que ya no necesita para que pueda usarse en otro lugar …

… pero luego, involuntariamente, continúe usándolo y pisotee todos los datos nuevos que se han almacenado allí para otro propósito.

Este tipo de error casi siempre da como resultado fallas de la aplicación y la oportunidad ocasional para que los atacantes desarrollen exploits completos de ejecución remota de código (RCE), lo que aparentemente sucedió aquí.

No tenemos idea de si los dos errores en esta historia están relacionados: el informe de Citizen Labs solo menciona CVE-2021-30860, y el error de WebKit CVE-2021-30858 simplemente se atribuye «Un investigador anónimo».

¿Qué tengo que hacer?

Con dos errores aparentemente no relacionados en la naturaleza al mismo tiempo, y hasta ahora con pocas pistas sobre qué buscar en archivos PDF o páginas web con trampas explosivas, no hay mucho que puedas hacer …

…excepto parche temprano, parche a menudo.

Parches actuales [2021-09-14T00:01Z] están documentados en los últimos boletines de seguridad de Apple de la siguiente manera:

  • HT212804: macOS Big Sur 11.6, solucionó ambos errores.
  • HT212805: 2021-005 Catalina, corrige solo los errores de PDF.
  • HT212806: watchOS 7.6.2, corrige solo los errores de PDF.
  • HT212807: iOS 14.8 y iPadOS 14.8, solucionó ambos errores.
  • HT212808: Safari 14.1.2 al Catalina y Mojave, solo corrige los errores de WebKit.

Esto significa que actualmente necesita dos parches en macOS Catalina, uno para el sistema operativo y el otro para WebKit / Safari.

Para buscar actualizaciones (y obtenerlas automáticamente si no se han descargado automáticamente), haga lo siguiente:

  • En un iPad o iPhone. Ir a ajustes > Generalmente > Actualización de software. Si está usando iOS 14, querrá 14,8.
  • En una computadora portátil MacBook o una Mac de escritorio. Ir a Menú de Apple > Ajustes del sistema > Actualización de software. Si está utilizando macOS Big Sur 11, querrá 11,6.

Por lo que sabemos, esto se refiere al error de Citizen Lab. «Todos los iPhone con versiones de iOS anteriores a la 14.8», que suponemos que contiene iOS 12, que todavía es oficialmente compatible con Apple.

Pero no podemos encontrar ningún boletín de seguridad reciente que mencione iOS 12, lo que significa que los teléfonos más antiguos pueden ser vulnerables pero aún no están parcheados.

El boletín HT212803, que precede inmediatamente a esta serie de parches de día cero, contiene la última y quizás no sorprendente noticia de que conectar un iPhone directamente a una motocicleta de alto rendimiento o bicicleta de montaña utilizada en la conducción todoterreno es prematuro Las vibraciones pueden causar daños al finos componentes mecánicos en la lente de su teléfono. El boletín HT212809, el siguiente en una fila después de este lote, aún no existe [2021-09-14T00:01Z].

Para los usuarios de iPhones más antiguos, solo podemos recomendar por el momento Tenga más cuidado de lo habitual cuando sepa de quién acepta archivos PDF y de qué sitios web los descarga.

En particular, no se deje engañar solo porque el documento que lo tienta parezca estar relacionado con su propio trabajo o pasatiempos.

Los ciberdelincuentes pueden descubrir fácilmente sus intereses tanto en su vida profesional como personal simplemente leyendo la descripción de su trabajo o echando un vistazo a sus páginas de redes sociales.

¡En caso de duda, dejarlo fuera!