Revolución tecnológica, ciencia ficción y software libre

Publicado el 20 julio 2015 por Gaspar Fernández Moreno @gaspar_fm

La situación

El mundo de la tecnología evoluciona al ritmo de Usain Bolt. Y es que, parece que fue ayer, cuando Internet era libre, cuando casi nadie sabía lo que era Facebook, cuando comprábamos un pendrive de 128Mb y nos costaba lo mismo que comer dos semanas, o cuando instalábamos Windows 95 en disquetes (13 disquetes, y el último nunca lo pedía).

Bueno, actualmente, Internet no es libre, y pongo el caso de España, aunque es cierto que muchos países lo tienen peor. De Facebook mejor no hablar. Un pendrive de 256Gb (2000 veces más), cuesta unos 100€, y Windows... en su versión 8.1, podría ocupar unos 1800 disquetes por lo que el soporte sería más caro que el software.

Pero lo que me trae hoy a compartir mis reflexiones es otra cosa, es que gracias a los avances en electrónica, e informática, cada día es mucho más fácil y más barato hacer que cualquier aparato esté gobernado por un ordenador y sean capaces de realizar tareas complejas. Es decir, hace 15 años, los teléfonos móviles, cámaras de seguridad, televisiones, programadores de enchufes, máquinas deportivas o cualquier otro aparato tecnológico, si tenía que correr algún programa o mostrar una interfaz al usuario para configurarse o indicar su estado, éstas solían estar programadas en lenguajes de muy bajo nivel, tal vez código máquina específico para la circuitería que traía el aparato. Era muy caro y costoso energéticamente o en espacio poner una CPU como las de los ordenadores en un aparato, pero los diseñadores se quebraban la cabeza en utilizar microcontroladores o CPUs con capacidades reducidas y adaptar los programas a ellas, de todas formas, una televisión para cambiar los canales, el volumen y sintonizarla no necesitaba mucho, y la máquina de deporte (por ejemplo una bicicleta estática), sólo tiene que marcar la distancia, el tiempo y más o menos la velocidad, tampoco es que necesite una potencia de cálculo bestial para actualizar esa información.

La revolución

La verdadera revolución ha llegado hace pocos años, ya que las capacidades de una CPU han aumentado muchísimo, es más, muchísima gente tiene un ordenador sobredimensionado, quiero decir, quad-core, 2GHz, 4Gb de RAM y 1Tb de disco duro para navegar por Internet y tener como mucho 4 pestañas abiertas, un día excepcional de su vida coger un virus que se apodere de su PC y que use un 50% de su capacidad... además, es posible hacer circuitos integrados más pequeños, e incluso que en un tamaño menor que hace 15 años podamos multiplicar por 100 las características de un microcomputador. Hoy en día, cualquier móvil puede tener cuatro núcleos, 1.2GHz y 1Gb de RAM en el tamaño de una moneda, y además, consumir poco (vale que a los móviles les puede durar la batería 2 días frente a 2 semanas de hace unos años, pero hacen más cosas).

La forma de programar también ha cambiado, ahora, al tener chips más potentes, nos podemos permitir utilizar lenguajes de más alto nivel, que no dependan tanto del chip y así tener ventajas adicionales (entre otras muchas):

  • Al no depender de un lenguaje exclusivo del chip que estamos incorporando, si cambiamos el chip (actualizamos a un modelo nuevo, cambiamos de proveedor, etc), no hay que repetir el trabajo.
  • La forma de desarrollo es mucho más rápida y nos permite automatizar muchos procesos.
  • Podemos aprovecharnos de muchas otras tecnologías a nuestro alcance desarrolladas por miles de personas y empresas alrededor del mundo: algoritmos mejor hechos o más probados, incorporar nuevos elementos como conectividad, acceso a Internet, etc

Ahora vemos, máquinas deportivas que envían al móvil nuestro recorrido o que nos dejan navegar por Internet, cámaras de seguridad a las que podemos acceder desde cualquier parte del mundo para ver qué está pasando en nuestra casa o negocio, coches que aparcan solos, marcapasos que pueden ser revisados a distancia... ¡ hasta el monopatín de Regreso al Futuro ! Pero claro, cuanto más complejo es el software más probabilidad de fallos en su programación (recordemos que los desarrolladores de software aunque digamos en broma que somos máquinas que transforman café y pizza en programas informáticos, somos humanos y metemos la pata... y mucho.

No estoy diciendo con eso que nos conformemos con características estilo años noventa, pero es lo que hay, aunque hay muchas técnicas para detectar y prevenir fallos, metodologías y plataformas que previenen malas prácticas, al final, el software tiene fallos y un programador se empeña en meter el círculo en el triángulo y reinventar las malas prácticas, no todos y no siempre, pero hay muchas cosas que pueden salir mal...

Ciencia ficción

El miedo que nos metían las películas era la inteligencia artificial (IA), las máquinas nos atacarán sin piedad, descubrirán la forma de replicarse y actualizarse y nos utilizarán como baterías cultivándonos cuales pollitos en una granja.
Todo empieza desarrollando comodidades para nuestra vida diaria, es perfecto que un frigorífico detecte su contenido, le digas qué quieres comer esta semana y te haga la compra. ¡ Vivimos en la sociedad de la información ! Es muy importante estar conectado y hacernos sentir en el futuro hablándole a la televisión para que cambie de canal o grabe un programa o activando la calefacción de casa desde el teléfono móvil para estar calentito cuando lleguemos a casa; coger hologramas para manejar una compleja interfaz... en fin muchas cosas que están a nuestro alcance ya, o si no a nuestro alcance, al menos se han conseguido hacer ya.

Aunque poco a poco, incluso en la ficción se está tratando un poco más el tema de la privacidad. Si bien es cierto que en películas y series se tiende a dramatizar un poco, pero claro, si nos podemos permitir hacer tantas cosas con los aparatos o como lo llaman otros el Internet de las cosas, todas estas cosas pueden estar enviando información a una central, o claro, pueden ser hackeadas sin que el dueño se entere y el cibercriminal puede recibir información de ese aparato. Información que puede ser audio, vídeo, coordenadas GPS y más.

Hace poco, en una serie que empecé a ver, CSI Cyber (con Patricia Arquette de Medium, Stigmata, Boyhood... y James Van Der Beek, de Dawson's Creek) vamos CSI de toda la vida, pero en la Unidad de Delitos Cibernéticos. En el episodio piloto tratan el tema de un vigilabebés, que como los padres tienen dinero se han comprado uno que hace muchas cosas, entre otras poder utilizarse desde Internet y que, gracias a que, por un lado, tenía muchas opciones y posibilidades de conexión y por otro lado a que, la empresa desarrolladora permitió un agujero de seguridad (espero no spoilear demasiado), hackearon el aparato. Lo peor de la historia es que puede ser cierto...

Ahora viene la historia de miedo

A día de hoy, tenemos que tener en cuenta una cosa, cuanta más conectividad tenga un aparato, más susceptible de que la información que envía o reciba pueda ser interceptada, más posibles brechas de seguridad que permitan que sea controlado y más fallos puede tener en general. Pero claro, no es plan de rechazar el modo de vida del siglo XXI al que estamos acostumbrados por una pequeña paranoia persecutoria porque, ¿quién va a querer saber mis datos o apoderarse de mis dispositivos?

Porque si hay que espiar a alguien que sea a políticos (bueno, esto ya pasó en los 90 con las líneas de móvil analógicas).
Aunque por otro lado, si te compras una cámara IP que está tan de moda, se han dado casos de algunas en las que cambiando la dirección de entrada, introduciendo algún argumento, o trabajando un poco más, se llega a ver la imagen sin necesidad de contraseña. [ Info / Info ] Y... ¿ quién va a querer ver tu cámara o acceder a ella ? Hay mucho loco suelto, pero imagina que van a cometer un robo y pueden provocar un punto ciego de esta forma.

O, que un coche de última generación pueda ser controlado desde fuera sin mucho esfuerzo [ Info ]. ¿Quién puede querer controlarme el coche? Bueno, si te has comprado un coche con esta tecnología, lo primero es alguien que quiera robártelo, lo siguiente, alguien que quiera provocar un accidente, para matarte a ti, o bien para otra persona y a lo mejor tu eres el que tenía un coche que podía controlar y te ha tocado ser un daño colateral.

Que en un sistema de voto electrónico, un ciudadano pueda emitir varios votos [ Info]. Bueno, ¿esto se permitió por diseño? ¿fue un lapsus?

Que una conversación privada delante de tu televisor pueda ser escuchada [ Info]. Aunque Samsung desmintió la noticia, dice que no escuchan, pero advierten que podría ser posible. Tal vez la compañía no sea la pecadora, puede que alguien intercepte la señal de nuestra televisión, por ejemplo tomando el control de nuestro router. ¿ Y quién puede querer... ? Pues desde una empresa para enviarnos publicidad o conocer nuestras costumbres delante de la televisión, hasta un ladrón que quiera robar en nuestra casa y controle nuestros horarios, una pareja celosa, etc. ¿ He hablado de las cámaras que suelen traer incorporadas muchas televisiones ? No creo que tarden mucho en poder interceptar esas señales.

Lo mismo puede pasar con nuestro teléfono móvil, tenemos teléfonos inteligentes en los que, cada vez más, almacenamos parte de nuestra vida, fotografías, datos de nuestra cuenta del banco... ¡ hasta números de teléfono ! Es más, siempre queremos estar conectados, y claro, como la conexión de datos de la operadora es más lenta y cuesta dinero, queremos WiFi a toda costa, por lo que nuestro terminal haciendo gala de la promiscuidad que le hemos hecho tener, se conectará a redes inalámbricas abiertas, sin pensar en si son de confianza o no, y en muchos sitios públicos, hay quien puede habilitar redes para que se conecten otros terminales y poder espiarles. Por ejemplo, aplicaciones como Whatsapp, que siempre ha destacado por su gran seguridad [ Info], pueden ser interceptadas. ¿ Y quién va a querer ver mi Whatsapp ? ¡Es el radiopatio del siglo XXI!

¡¡Freddy Krueger es un principiante!!

O, imaginémonos que, un marcapasos puede ser utilizado para dar descargas mortales cuando un atacante quiera... [ Info]
Bueno, hasta aquí algunas pequeñas vulnerabilidades de los sistemas, pero claro. Hay muchas más cosas detrás de todo esto, y es que, al mismo tiempo que todos los aparatos puede hacer cada vez más cosas, muchas de las cosas que pueden hacer pueden ser el envío de información hacia el exterior por parte de las empresas. Como comenté antes con las televisiones Samsung, un móvil también puede enviar, tus coordenadas GPS cada cierto tiempo al fabricante, o tus hábitos, o tus datos, y muchas veces esto viene expresado en la licencia o nada más encender el móvil se da su consentimiento sin leer mucho de qué va el tema.

Incluso, aunque muchos fabricantes nos digan que pueden utilizar nuestros datos con fines estadísticos, ¿ es del todo cierto ?

Estamos en la era de las aplicaciones en la nube. Y eso no es más que decir que, tus datos no los almacenas tú, los almacenamos nosotros. Y, si tienes un secreto, cuanta más gente lo sepa, menos secreto será y más probabilidad de que se difunda [ Info]. Y, lo más grave, si esa aplicación en la nube falla, y tiene una filtración, te aguantas, porque puede que tus datos puedan verse, incluso cuando tienes tus dispositivos apagados, porque los datos no están sólo en tu poder, o puede que ni siquiera estén en tu poder.

¿ Damos nuestros datos demasiado pronto ? Hace poco se desveló cuánto cobra change.org por nuestros datos [ Info], y casi siempre son datos de calidad, que podrán ser utilizados, y serán utilizados en el futuro. Aunque para esto, el único remedio es un poco de sentido común y advertencias.

¿ Podemos confiar en la nube ? ¿ En los fabricantes de hardware o software ?

Cuestión de confianza

No podemos detener el futuro, y, aunque hay personas que no usan ciertas tecnologías por miedo a todo esto, no queremos ser los parias de nuestros círculos. Siempre podemos tomar ciertas precauciones al adquirir cierto hardware y software o informarnos sobre aplicaciones en la nube más o menos seguras (si se filtran los datos estamos perdidos, pero al menos tú puedes ser el dueño de los datos.

Algo a tener en cuenta es que el hecho de que una cosa se pueda hacer, no significa que sea bueno, ni mucho menos lo mejor. El otro día viendo un programa en la tele de piscinas (uno de esos que viene algún millonario y quiere construir una piscina en su casa que al final termina siendo una obra de dimensiones exageradas. El constructor, instaló un dispositivo para controlar algunas bombas de agua y luces del complejo que había construido desde el móvil. Hasta ahí bien, pero... ¡ necesitaba conexión a Internet ! Está muy chulo, pero vamos, de toda la vida, se ha podido hacer eso desde un cajón de mando, barato (dentro de lo que cabe, porque construir eso no era barato), y seguro (a no ser que corten los cables). Pero claro, necesitas Internet, eso significa que alguien (sin las llaves de la sala de mandos) puede "tocarte las luces", y que, si se te corta Internet, te quedas sin luces y sin agua en tu piscina. Lo que quiero decir, me parece bien que se pueda controlar desde el móvil, pero me parece excesivo que se necesite Internet para ello.

Un detalle que sí me gustaría aclarar es que el software libre (no digo gratis) puede solucionar algunos de los problemas que se relatan. No digo que sea la solución a todos los problemas del mundo, pero sí a unos cuantos, aunque eso implica que muchas empresas y organismos se pongan las pilas y eso sólo se conseguirá si la gente empieza a preocuparse por su privacidad y seguridad en la red.

Está claro que todos los programadores pueden hacer las cosas mal, y tienen fallos, por supuesto, y los programadores de software libre más aún. Es más, en el software libre se detectan muchos más fallos cada año que en el software privativo. Pero yo lo veo como algo bueno, eso significa que hay más ojos mirando, al poder acceder en cierto modo al código fuente, se puede estudiar y se pueden detectar problemas. También es cierto que hay problemas que llevan 20 años sin solución en ciertos proyectos, pero hay empresas donde ha pasado lo mismo. Sólo digo que hay más posibilidades que de los problemas de software se corrijan. Y pondré como ejemplo el software que controla esas cámaras IP y vigilabebés que pueden tener una puerta trasera, o por ejemplo, un sistema de voto electrónico, seguro que cientos organismos hay pendientes del código fuente para asegurarse de que todo funciona como debe y no beneficia a nadie.

O cientos de programas que utiliza la administración pública con nuestros datos, datos de toda una población que por una puerta trasera podrían estar expuestos.

Si pudiéramos asegurarnos de que la televisión no envía voz a través de la red, tal vez haciendo que los comandos se procesen en la televisión, que se puede, aunque Google, Apple y muchos más prefieran hacerlo enviando toda la información a sus servidores y procesarla allí, no tendríamos problemas de escuchas, bueno con el tema de los móviles, hay mucha controversia, por un lado, lo más fácil es poner un software en nuestro móvil para escucharnos, porque por los saltos en frecuencia de la red móvil actual es muy difícil que nos escuchen, pero claro, estamos enviando una señal con datos, y si algo puede ser reconstruido, puede ser robado.

Y lo más importante, yo no viviría tranquilo, pensando que tengo un marcapasos, que mi vida depende de él, y que puede tener una puerta trasera que permitiría que alguien pudiera matarme. ¿ Y si estuviera disponible el código fuente del software que acompaña a ese marcapasos ? Lo más intuitivo sería pensar que sería lo peor del mundo, que si hay una posibilidad de matar a alguien, se aprovechará. Pero por otra parte, es un dispositivo de vida o muerte, por lo que muchas personas se implicarían en perfeccionar ese software, en que no tuviera puertas traseras que permitan a nadie sin permiso entrar y al final, en mejorar la experiencia del usuario.

Nota al final

He dicho que algún dispositivo es hackeado, bueno, y en las películas se usa la palabra hacker muy a la ligera, es más, la RAE también lo hace y eso no está bien. Me costó mucho trabajo hace muchos años explicarle a mis padres que los hackers no son malos. A los malos, llamémosles crackers o cibercriminales. Porque, al final, un hacker, no es más que alguien apasionado con este mundo que a lo mejor entra sin permiso en un sistema, pero lo hace por el mero hecho de hacerlo, por el descubrimiento y para que esos sistemas sean mejorados y no para robar información o romper nada. Pasteur era un gran hacker... en su campo.

Foto: manuelfloresv (Flickr CC-by)