Hace unas semanas, se produjo la que es considerada por muchos como la mayor filtración en la historia del iPhone y quizá de Apple: el código fuente de iBoot, un componente fundamental de iOS, se publicó en GitHub.

iBoot es la parte de iOS que es responsable de asegurar un arranque confiable del sistema operativo. Y aunque el código es para iOS 9 (estamos ahora en iOS 11) y tiene dos años, puede servir tanto a investigadores de seguridad como a la comunidad Jailbreak a encontrar errores y vulnerabilidades en una parte clave del ecosistema de uno de los teléfonos más usados del mundo. Pero no solo a estos, sino también a delincuentes y a servicios de inteligencia de cualquier parte del mundo.

Según Apple, esta filtración no es un riesgo de seguridad para los usuarios. Sin embargo, puso a la empresa en una situación embarazosa, especialmente porque se enorgullece de que esforzarse en que estas cosas no sucedan y que, cuando suceden, los responsables reciban su castigo oportuno.

Precisamente fue debido a esta actitud que mucha gente se preguntó cómo podía haber sucedido algo de tal calibre. En Motherboard consiguieron hablar con personas cercanas a quien fue el autor original de la filtración, el cual no fue quien lo subió a GitHub pero sí quien lo sacó de Apple.

Movidos por el afán de aprender

aprender

Sucedió en 2016. Un empleado de bajo rango de Apple, que no respondió a la solicitud de comentarios hecha por Motherboard, cogió el código mencionado mientras trabajaba en la sede de Cupertino. Lo hizo espoleado por unos amigos que formaban parte de la comunidad Jailbreak y que querían el código para examinarlo.

No solo se llevó el código de iBoot, sino también código adicional que no se ha filtrado y cuya existencia pudo corroborar Motherboard. Según declaró uno de sus amigos, «Lo sacó todo, todo tipo de herramientas internas de Apple y demás».

Al principio, iBoot solo se compartió con dos personas, pero luego el círculo creció un poco más pero no pasó de allí. En Motherboard no citan un número concreto, pero en algunos sitios se ha hablado que fue un grupo de tan solo 5 personas.

La razón de restringir la disponibilidad del código fue porque eran conscientes de su importancia y de las consecuencias que podía traer su amplia difusión: creación de exploits y jailbreaks maliciosos que sirvieran para atacar a usuarios de iPhone.

Además, sabían que si se perdían el control de lo que tenían entre manos, sería muy fácil que terminase a disposición de todo el mundo: «Personalmente nunca quise que ese código viera la luz del día. No por codicia, sino por temor a la tormenta de fuego legal que se produciría. La comunidad interna de Apple está llena de niños y adolescentes curiosos. Sabía que si un día los niños lo conseguían, serían tan tontos como para subirlo a GitHub».

Los miembros del pequeño grupo hicieron todo lo que pudieron para asegurarse de que, si se filtraba, solo ocurriese una vez que el código fuese demasiado viejo como para ser útil. Sin embargo, un año después de que fuese robado, uno de ellos se lo dio a «alguien más que no debería haberlo tenido. Se suponía que nada de esto saldría de un puñado de personas, lo que ha pasado es desastroso».

Los momentos críticos

momentos_criticos

Es en este punto en el que las cosas se complican. Ninguno de aquellos con los habló Motherboard sabe con exactitud quién lo filtró fuera del grupo, como tampoco saben qué pasó después excepto que, en un momento dado, perdieron el control sobre el acceso al código y este se fue extendiendo poco a poco.

Uno de los tres momentos críticos de esta historia sucedió en otoño de 2017. En Discord, un grupo de jailbreakers, alguien que no estaba vinculado con los poseedores originales del código publicó capturas de pantallas del mismo para presumir y burlarse de otros miembros. Eso hizo que uno los miembros del grupo de amigos eliminase todas las copias que tenía de iBoot: «si esto se hace público no quiero ser parte de filtrarlo. Si sale por ahí, sale por ahí, pero no viene de mí».

A partir de ahí, la gravedad del asunto continuó escalando. Poco después, alguien con una cuenta desechable de Reddit de nombre «apple_internals» publicó en r/jailbreak un enlace a un archivo subido a Mega que contenía el código fuente. Parece ser que tuvo poco alcance porque un bot moderador no tardó en eliminarse el enlace.

Y entonces, poco después, un usuario llamado «ZioShiba» subió el código a GitHub. Y fue cuando estalló la bomba, haciéndose viral rápidamente. Primero, dentro de la comunidad de jailbreak. Luego, en la de investigación de seguridad de iOS. Y en cosa de horas, en Twitter se hablaba de ello y la prensa especializada escribía sobre el tema.

Las buenas intenciones nunca son suficiente

Según una de las fuentes entrevistadas por Motherboard, lo que se apareció en GitHub el 7 de febrero «ni siquiera es la filtración completa realmente. No es la filtración original, es una copia». Es por ello que, junto con el resto, cree que quien lo subió no pertenecía al grupo de amigos del principio.

Sin embargo, si hay un lado bueno de la amplia difusión del código es que Apple ha podido tomar el control sobre él. ¿O ya lo tenía? Según declaró un empleado de la compañía, esta ya conocía la filtración antes de que se publicara en GitHub, pero no dijo cuando se enteraron de su existencia.

Siguiendo su costumbre, Apple declinó responder preguntas acerca de si sabían acerca de la filtración y de si estaban investigando. En su declaración, todo lo que afirmaron fue «Por diseño, la seguridad de nuestros productos no depende del secreto de nuestro código fuente. Hay muchas capas de protecciones de hardware y software incorporadas en nuestros productos».

A la luz de las declaraciones de los involucrados, está claro que las intenciones originales de hacerse con el código no eran maliciosas. Sus intenciones eran buenas, pero ya se sabe lo que se dice sobre las buenas intenciones: que son lo que pavimenta el camino al infierno.