Acabo de volver de San Francisco, después de una semana de intenso trabajo, y hasta que me adecúe y pueda resolver todas las dudas y temas profesionales que tengo pendientes, estaré tirando de artículos que tenía a medio escribir. Y el primero es éste.
El escenario es ya conocido por todos: Hace unas semanas, el FBI llevaba a los tribunales a Apple, después de la negativa de la tecnológica a ofrecer a la agencia de seguridad una herramienta que le permitiera bypasear los controles de seguridad de los iPhones, en este caso, con la idea de encontrar pruebas incriminatorias en uno de los sospechosos de un atentado terrorista.
Hablé entonces de lo que supone delegar el control de acceso en una agencia al servicio de gobierno, y también, de los riesgos que entraña el vanagloriar a una compañía con ánimo de lucro por la defensa de los intereses de los usuarios.
Los dos puntos no son contrarios, aunque ofrecen lecturas distintas. A mi modo de entender, las agencias de seguridad nacional deberían tener una vía de acceso a esa información que necesitan para hacer velar la justicia, pero SIEMPRE, de manera aislada y pasando por los controles legislativos (jueces) y logísticos (compañías y fabricantes) oportunos. Entes a priori neutrales, y en según qué casos, susceptibles a la desconfianza (una postura crítica es siempre adecuada).
Por otra parte, el usuario (y con usuario, también me refiero a los medios de comunicación, que son a fin de cuentas los que informan al usuario) no debe delegar confianza absoluta en las compañías tecnológicas, por la sencilla razón que éstas cuentan con los recursos y el conocimiento suficiente para «marquetinizar» decisiones como éstas (la carta de Apple es para mear y no echar gota…), y sobre todo, que la única y verdadera razón que mueve a una compañía son los intereses comerciales. Que en este caso, están alineados con los del usuario (dar acceso ilimitado al FBI supondría a la vez una pérdida de confianza por parte de sus clientes, y una puerta trasera que podría suponerles fugas de información, con las denuncias colectivas y pago de multas multimillonarias asociadas), pero que en un futuro podría no estarlo.
Bajo este prisma, me gustaría centrar el artículo de hoy en la rama puramente tecnológica, aludiendo al que sin lugar a duda es el eslabón más débil de la cadena de distribución de servicios digitales: las actualizaciones.
Y de paso, proponer una alternativa que tiene, como cabría esperar, sus pros y sus contras.
El triple rasero de las actualizaciones de software
No será la primera ni será la última que me oiga decir lo importante que resulta mantener un sistema operativo, un servicio digital, actualizado.
hoy en día, la tecnología cambia tan rápido que el ciclo de vida de bienes histórico no es sostenible. Un producto tecnológico comprado hoy puede presentar esta tarde un grave fallo de seguridad, y si la compañía no cuenta con la capacidad de actualizar el software de manera masiva y remota, ese dispositivo tendría que sacarse del mercado, y aun así, todos aquellos que ya lo hubieran comprado, estarían indefensos ante cualquier explotación de dicha vulnerabilidad.
Surgen entonces las actualizaciones de software, y el ciclo de vida vuelve a estabilizarse, hasta que aparecen nuevos conflictos:
- Intermediarios: Conforme la cadena aumenta, el número de intermediarios dificulta las labores de actualización, y lleva a algunos productos a encontrarse desfasados incluso ya desde que salen al mercado (como pasa con muchos terminales Android y su fragmentación). Además, la complejidad de cada sistema, y los numerosos intermediaros implicados (desarrolladores de apps, markets de aplicaciones,…) hace que en primera instancia ya no dependamos de un gestor único, y en segunda, que las actualizaciones, que serán diversas y firmadas por distintos entes, encontrarán barreras temporales (y a veces logísticas) que dificultan aún más el asunto.
- Obsolescencia programada: Lo que a priori debería aumentar el ciclo de vida de un producto (la capacidad de, con el mismo hardware, actualizar el software a las necesidades actuales del cliente), puede ser utilizado para justo lo contrario (abandonar el producto a su suerte, ya que el negocio está en vender las nuevas versiones, o cerrar directamente el servicio digital, que hace inoperativo el producto, aunque en sí cada elemento funcione a la perfección).
A estos dos habría que añadir un tercero, y que viene al hilo de lo expuesto al principio del artículo, y es que ese mismo elemento (actualizaciones de software) que nos permite alargar el ciclo de vida del producto parcheando posibles vulnerabilidades, supone en esencia una debilidad que podría ser utilizada por terceros para acceder de manera sigilosa y completa a la información oculta en los dispositivos.
La debilidad de las actualizaciones de software, y una posible alternativa
Cuando Apple (o cualquier otra compañía de su estilo), quiere liberar una nueva actualización, recurre a un grupo de trabajadores de confianza (llamados habitualmente cosignatarios) que cuentan con las claves oportunas para realizar la distribución de dichas actualizaciones.
Aunque en la práctica la situación no sea exactamente la misma, podemos imaginar a media docena de trabajadores de alto perfil de Apple poniendo cada uno su llave en un centro de mando, y girándolas a la vez, como ocurrió (y ocurrirá…) en buena parte de esos entornos bélicos donde al menos un par de oficiales tienen que estar de acuerdo para lanzar los misiles contra el enemigo.
El problema que entraña esta manera de trabajar es que la disponibilidad de la distribución de actualizaciones recae únicamente en la propia compañía (ejemplificada en cada uno de esos cosignatarios), y que por tanto, existe una relación forzosa en la que éstos podrían estar obligados por la propia compañía o por los cuerpos del orden para abrir la puerta a actualizaciones firmadas oficialmente que contuvieran puertas traseras.
Nada que no haya pasado ya, de hecho, y uno de los sueños húmedos del poder tácito.
Frente a esto, Bryan Ford, profesor adjunto de la Escuela Politécnica Federal de Lausana, propuso en su día un sistema bastante más robusto (EN), denominado «Testigos Cosignatarios Descentralizados», en el que la confianza de esas claves se deposita en estos testigos, que estarán tanto dentro como fuera de la compañía, y en vez de ser unos pocos, podrían ser miles y estar totalmente distribuidos en el globo.
¿Qué se gana con ello? Que en efecto, una compañía como Apple sea incapaz de ofrecer las llaves de firmado de actualizaciones a una agencia como el FBI, ya que ellos solo representan una pata de la múltiple cadena de intermediarios (entre los que estarían otras compañías y organizaciones neutrales como la EFF, y hasta podrían estar usuarios) necesaria. A la hora de liberar una actualización, todos los representantes tienen que estar de acuerdo, algo de lo que estarán cuando venga de la mano de la propia compañía, pero que podrían negarse (no hay relación forzosa que los incite a aceptar) si quien quiere la firma es un tercero, o si hay pruebas de que la actualización tiene algún tipo de puerta trasera.
¿En contra? La falta de un acuerdo unilateral de buena parte de la industria. El principal reto está en conseguir que todas esas compañías trabajen juntas en la defensa de dos de sus bienes más preciados (la confianza del usuario, y el valor de la información que manejan).
El entorno quedaría entonces distribuido entre distintos países, lo que evitaría hasta el punto de hacer inaccesible la aspiración orwelliana de un gobierno, que entraría en conflicto con la legislación de otros territorios. Las compañías no tendrían capacidad por sí solas de entregar las puertas de su casa (lo cual es beneficioso para su negocio). Y el usuario podría respirar tranquilo, ya que uno de los principales temores de un sistema basado en la confianza se diluye bajo el poder de la descentralización de testigos.
Que las autoridades pidan información a las empresas es algo que se hace a diario sin hacer ruido, en juicios es habitual que se pidan informaciones o desactivaciones de terminadas funciones, como segundos factores de autenticación cuando un juez lo solicita formalmente, el ruido de Apple no tiene sentido, cuando a diario si da esas autorizaciones.
Al final, la empresa que no quiere hacer eso hace lo que hizo el de megaupload, cifrado end to end sin acceso a los datos. Si un juez solicita la información, solo podrá darla cifrada, si es sistema de cifrado está considerado como seguro fin de juego.
Las actualizaciones de los dispositivos es el pan nuestro de cada día desde hace muchos años, dispositivos que llevan una serie de logos que presuponen la compatibilidad con tal o cual estándar pero que en la práctica no es así. Actualizaciones que no llegan… Si llegamos a las de seguridad la cosa es de risa… Lógicamente, aquí se debería implicar a toda la cadena, desde el fabricante del dispositivo, los fabricantes de cada componente utilizado (hardware o software) Cierto compañero desarrollador me comentó una vez que cada capa hay que entenderla como una malla de lana, con muchos agujeros, el desarrollador, el compilador, las dlls utilizadas, el sistema operativo… hay veces que queda, entre todas las capas, un agujero por el que pasar la aguja y, a eso, lo llamamos bug, me gustó esa analogía.\r\n\r\nY de ahí nos vamos a los que lo reensamblan, a los consumidores, y si es una empresa, a los distintos departamentos implicados, compras, seguridad, usuario, concienciación, conocimientos y costes, todo un maremágnum de posibilidades, opciones y tiempo que hay que perder, caldo de cultivo para que se abandone la seguridad…. Al final, un fallo en la cadena es un problema global. ¿alguien le ve algún sentido al panorama actual de las apps para dispositivos móviles? No es que un canal de televisión tenga una App para cada programa, hay programas que tienen más de uno, cuando la temporada finaliza esta se queda instalada en los dispositivos, con los problemas de seguridad aparecidos y por aparecer, la siguiente temporada hay una App nueva, ya nadie recuerda la antigua…. La explicación quizás sería que los usuarios cambian cada dos años su parque de juguetes, y si no lo hace… la culpa es suya, total, la responsabilidad siempre es del usuario final, en todos los casos.
Por cierto, la obsolescencia programada, es un concepto que se cambió hace mucho por vida útil, concepto más acorde a la sociedad actual, a los usuarios nos gusta hablar de obsolescencia por que describe lo que realmente hacen, sobre todo después que la 2 haya emitido miles de veces un documental que trata el tema. La vuelta de tuerca es quitarle al usuario cuantos más derechos mejor, cada vez hay menos posibilidades de que tengas servicios corriendo sobre un equipo controlado por ti, para dar servicios a tus dispositivos, ahora, que todos los dispositivos están 24/7 conectados, los usuarios nos vemos forzados a utilizar servicios online, que no sabemos que hacer con los datos que tienes allí, ni cuando van a dejar de estar online, ni que van a hacer cuando dejen de estarlo. Hace unos años leí una noticia en la que cierta empresa, tras cerrar, vendió la base de datos de tarjetas de crédito de sus clientes en el mercado negro… Por poner un inocente ejemplo… ¿Qué hacemos pasados dos años con nuestros juguetes cuando nos obligan a cambiarlos por otros chachis pirulis que hacen exactamente lo mismo?
Las impresoras de chorro de tinta han sido durante años objeto de firmwares que impedían poder utilizar cartuchos que no fuesen los que vendía la marca, o que imprimiesen más hojas de lo habitual. Muchas páginas hablaban de como había que modificar dichos firmwares para quitar dichas limitaciones, y, es que muchas empresas, invierten más en proteger lo que entienden que son sus intereses que en avanzar tecnológicamente y les cuesta asumir que sus avances, en realidad no son tan avances.
La seguridad interna de las empresas es otro tema interesante, puesto que si un juez pide acceso y se lo dan… ¿Quién tiene control sobre esos accesos? ¿Sabemos si las empresas aplican registros que permitan saber quien ha accedido a un dato?¿Se implementan segundos factores de autenticación validados por más de un usuario? ¿Cómo sabemos si se han intentado borrar las huellas? Si no tenemos forma de vigilar a los que nos vigilan, no debería permitirse la vigilancia, ni más ni menos. Eso es lo que supongo que habla el enlace de testigos consignatarios.
Lo de esperar que las empresas que no tienen por que entenderse se entiendan lo veo como una utopía, los ejemplos más simples son muy descriptivos, en una casa en la que viven una pareja muchas veces es complicado ponerse de acuerdo, no digamos cuando una comunidad de propietarios trata de ponerse de acuerdo, o incluso, los políticos, elegidos democráticamente para nos dirijan, incapaces de entenderse entre ellos mismos. Al final, esos acuerdos y entendimientos solo llegan cuando hay intereses comunes y beneficios comunes, si no los hay ni se intentan los acuerdos. Y si hay esa necesidad, viene muy bien que el trabajo se lo hayan hecho antes, coger ese trabajo, no pagarle nada y ponerse la medalla, si es que hay medallas, claro.
Así que, si algunos idealistas debaten sobre como debería funcionar el mundo ideal, y lo publica en internet, y además lo hace y documenta bien, servirá para que el día que existan intereses reales, y cuando tengamos la siguiente «hecatombe tecnológica» habrá que tirar mano de ellas, que hacerlo antes es caro y no está justificado