lunes, agosto 01, 2011

Jugada redonda de Apple con un bug de solera

Si Apple lo quiere hacer adrede no le sale tan bien. Después de que apareciera JailbreakMe 3.0, para conseguir que con visitar una página web se hiciera el jailbreak a todos los dispositivos en el mercado, resulta que ahora, tras parchearse los fallos que se explotaban, se ha descubierto un bug en el proceso de validación de las restricciones de los certificados digitales que hace que todas las conexiónes SSL sean vulnerables a man in the middle, sin generar ninguna alerta de seguridad. Todo transparente y limpio.

Moxie Marlinspike publió este bug hace 9 años para Internet Explorer, y el fallo es tan simple como curioso. Supongamos a la entidad certificadora A, en la que confía el equipo víctima, en este caso un usuario de ay!fon, ay!Pad, ay!Pad2 o ay!Pod que no se haya actualizado a la versión 4.3.5.

Supongamos que la entidad A emite un certificado digital para www.tiendademibarrio.com, que va a ser utilizado en una conexión http-s con el sitio web y al que llamaremos certificado B. La diferencia entre el certificado A que identifica a la entidad certificadora A y el certificado B, que identifica a la tienda del barrio, es una serie de constraints que limitan lo que se puede hacer con ellos. Así, el certificado B no se "puede" utilizar para generar certificados digitales de, por ejemplo www.bankofamerica.com, www.gmail.com, www.hotmail.com o www.facebook.com.... en teoría.

El problema es que sí que se pueden utilizar en la práctica, y el certificado B podría emitir un certificado para www.hotmail.com, claro está, en él apareciría que las constraints no se lo permiten. Sin embargo, es labor del cliente que recibe ese certificado digital comprobar que se ha emitido por un certificado al que la entidad A no permitió emitir certificados y debería rechazarlo.

Pues bien, iOS (el sistema operativo de Apple par los ay!cacharros) no lo ha hecho en toda su vida. Esto permite que, con cualquier certificado digital de www.loquesea.com se pueda utilizar una herramienta Man in the Middle para hacer el ataque.

Así, Moxie Marlinspike, commemorando los 9 años de vida de la alerta de seguridad ha publicado una versión nueva de SSLSniff que permite hacerlo directamente para iOS con un bonito parámetro.

Y aquí viene la jugada maestra de Apple:

Con la actualización iOS 4.3.4 se cerraron los bugs que usa JailbreakMe 3.0 (la evolución de jailbreakme 2.0 que fue el cachondeo público hasta en las tiendas de Apple). Lógicamente, todos los jailbreakers pasaron en canoa de instalar esa versión.

Sin embargo, el fallo de SSL en la evolución de las BasicConstraints se soluciona solo en la versión iOS 4.3.5, de la que solo hay posibilidad de hacer jailbreak en versión tethered, es decir, que en cada reinicio debe volver a hacerse el proceso de jailbreak... (un coñazo para un dispositivo móvil), pero para iPad 2, no hay posibilidad de hacer ningún jailbreak.

A esto, hay que sumar que todos los ay!cacharros indican en su USER-AGENT de navegación la versión exacta del sistema operativo, y tenemos la fiesta.

La alternativa de los jailbreakers de iPad 2 es inseguro o no jailbreak, la del resto es inseguro o tethered jailbreak....¿Le ha salido redonda a Apple esta cagada o no?

Saludos Malignos!

Entrada destacada

Hacking IA: Jailbreak, Prompt Injection, Hallucinations & Unalignment. Nuestro nuevo libro en 0xWord

Pocas veces me ha hecho tanta ilusión que saliera un nuevo libro en 0xWord como con este libro de " Hacking IA: Jailbreak, Prompt Inje...

Entradas populares