A última hora de la tarde, un viernes a mediados del mes de febrero, Apple publicó discretamente una solución para un bug crítico de validación de certificados en iOS que básicamente podría haber proporcionado a un cibercriminal la capacidad de espiar las comunicaciones supuestamente seguras.
Aunque el bug fue crítico, el anuncio tardío un viernes no podría ser más inadvertido, pero así es el procedimiento habitual de Apple. El gigante de la informática con sede en Cupertino, California, es conocido por operar bajo un velo de secreto legendario.
Sin embargo, las cabezas se volvieron y los intereses se despertaron al día siguiente cuando se supo que el bug no sólo afectaba el sistema operativo iOS de móviles Apple, sino también a su sistema operativo tradicional OSX. La trama se volvió aún más espesa la semana pasada cuando se hizo evidente que un bug inquietantemente similar afectó GnuTLS, un programa de software libre y de código abierto utilizado para implementar el cifrado en varias distribuciones de Linux y otras plataformas.
A medida de que más personas empezaran a tomar nota de los errores (sobre todo los de Apple), más y más medios de comunicación e investigadores publicaron sugerencias de subterfugio. Bruce Schneier, uno de los mejores criptógrafos y expertos en seguridad del mundo, describió la vulnerabilidad del siguiente modo:
“El error es sutil y difícil de detectar durante el escaneo del código. Es fácil imaginar cómo esto podría haber ocurrido por error. Y habría sido trivialmente fácil para una persona aumentar la vulnerabilidad.
“¿Se hizo esto a propósito? No tengo ni idea. Pero si quisiera hacer algo como esto a propósito, así es exactamente como yo lo haría. ”
Otros investigadores fueron más directos, exponiendo que los fallos de codificación que llevaron al bug de Apple – apodado “goto fail” – serían casi imposibles de hacer y aún más difíciles de no notarse en el proceso de revisión de la codificación. Por supuesto, dado el clima actual y la utilidad de la vulnerabilidad de “goto fail”, muchos han especulado que tanto los errores de Apple como los de GnuTLS serían muy valiososs para cualquier persona en el negocio de espionaje.
Aunque, sin duda coincidentes y similares en efecto, los bugs llegaron a existir de maneras muy diferentes. Otro experto de criptografía, Matthew Green, de la Universidad Johns Hopkins, examinó el error GnuTLS y cree que fue un error “sincero” – aunque tonto – de codificación.
Dejando aparte todas las conspiraciones, este bug de validación de criptografía en GnuTLS significa que todos los productos de escritorio y de servidor de Red Hat, así como todas las instalaciones de Debian y Ubuntu (Linux) contienen un error que podría ser usado para rastrear las comunicaciones que tienen lugar en esas máquinas. Los efectos de este bug afectan a los sistemas de abajo hacia arriba. No solo las sesiones seguras de navegación web (indicas por ‘HTTPS’) podrían verse afectadas, también aplicaciones, descargas, y realmente cualquier otra comunicación supuestamente encriptada que utiliza GnuTLS para su implementación.
Para que quede claro, un cibercriminal tendría que estar en una red local con su objetivo para poder aprovecharse de cualquiera de estos bugs. Sin embargo, bajo las circunstancias apropiadas, los bugs podrían permitir a un hacker realizar un ataque man-in-the-middle, donde la víctima cree que está comunicando con un proveedor de servicios online de confianza, pero en verdad está enviando paquetes de datos a un cibercriminal en la red. Ambos bugs proporcionan una manera genial para robar las claves de acceso y vigilar las comunicaciones de la red local.
“La verdad es que no podría ser peor”, dijo Kenneth White, un experto en seguridad y científico principal en Social & Scientific Systems, en Carolina del Norte. “Un hacker puede falsificar trivialmente cualquier dominio arbitrario y hacer que parezca autorizado y de confianza para el solicitante. Por lo tanto, no sólo interceptar los canales sensibles, sino [también] potencialmente subvertir el proceso de firma confiable del paquete. ”
En otras palabras, es posible burlarse de los tipos de información de certificados de confianza que permite a un usuario saber quién desarrolló el software o aplicación que está a punto de descargar.
Si tenéis un aparato con Linux, entonces probablemente sois vulnerable. Recomendamos que instaléis la actualización más reciente de vuestra distribución Linux lo más rápido posible. Si no utilizáis uno de los muchos sistemas operativos de Linux, esto no significa necesariamente que estéis a salvo. GnuTLS es un paquete de software de código abierto usado extensivamente, que se ejecuta en un número indeterminado de sistemas. La moraleja de esta historia, como siempre: instalar los parches a menudo y los más pronto posible.