#ELECCIONES2018: Pensando como un hacker
¿Cuál es la real amenaza a los sistemas en México?
Desde algunos meses atrás, una cascada de artículos, editoriales, columnas y opiniones e incluso burlas se centraron en un aspecto que ha tomado gran relevancia a nivel internacional, debido a casos escandalosos y comprobados: la intervención de gobiernos extranjeros en recientes procesos electorales. La probada intrusión del gobierno ruso en votaciones tan importantes como la que colocó a Donald Trump en la presidencia del país más poderoso del planeta, la influencia en la escisión de Gran Bretaña de la Unión Europea (UE) y la presunción de injerencia en general en los distintos procesos electorales de Europa, han encendido los focos rojos y los sensores de alarma de cara al proceso electoral 2018.
Sin embargo, en medio de esta cascada de información, consideramos que no existe dentro de los ar-tículos un diagnóstico más formal sobre los peligros reales a los que están expuestos no sólo el Instituto Nacional Electoral (INE) y sus sistemas de conteo, sino también millones de empresas e instituciones, no sólo en México, sino en todos los países conectados en una red con características mundiales.
Si bien los artículos consultados plantean cuestiones y antecedentes interesantes sobre casos de hackeo de ciberseguridad, escribimos el presente artículo con el interés de explicar, desde una forma comprensible y sin plagar de tecnicismos, las amenazas a las que se ven expuestos los sistemas de seguridad, no sólo para la elección, sino para la seguridad de cualquier empresa o institución en la que trabaje alguno de los lectores de Este País. Todo con base en la experiencia que hemos tenido en Baktun Software sobre temas de seguridad en sistemas diseñados para empresas financieras, tanto nacionales como internacionales.
¿Cómo mantener a los presos en la cárcel?
Para comenzar, imaginemos por un momento que un programa informático, del INE o de cualquier sistema privado o público, funciona como una cárcel de máxima seguridad, de la que obviamente, y por razones ya conocidas ampliamente, no queremos que escapen nuestros presos y, como en el clásico dilema de la teoría de juegos, consideramos a nuestros prisioneros como nuestros datos, como cualquier base de datos, de votantes, usuarios, empleados de nómina, etcétera; y de éstos, a los datos más importantes los consideramos como nuestros presos célebres, digamos que a uno de ellos lo llamaremos El Chapis.
El director del penal y su personal se consideran, entonces, como el administrador o el programa que realiza las diferentes funciones: comprobación de identidad, asignación de pagos de nómina, contabilidad de votos, procesamiento de actas o lo que la imaginación del lector pueda abarcar. Y digamos que los hackers son aquellos ingenieros interesados en lograr cavar un túnel que llegue hasta la celda adecuada y libere al prisionero, sin que lo noten hasta minutos después, como en un acto de magia. El dilema entonces ahora está en qué tan seguros están nuestros prisioneros, sobre todo los prisioneros importantes, y qué tan fácil o difícil es llegar hasta éstos para liberarlos.
Pues bien. Tenemos entonces a nuestros presos, la prisión y el sistema de seguridad, que son todas aquellas bardas, rejas, custodios, perros policías, torres de vigilancia y alambres de púas que sirven para bloquear o, por lo menos, detectar cualquier intento de intromisión en la prisión. Estos recursos de seguridad serían, en términos de programación, programas como Tripwire o barreras físicas como los tiers u otras.
Pensando como un hacker
Una vez que comprendimos los conceptos, pasaremos al uso de la analogía. Nuestras bardas, alambres de púas, perros policías, custodios y demás recursos, deben estar colocados estratégicamente para la protección de nuestros reos, poniendo énfasis en cuidar más, o tener en un lugar más seguro, a los más famosos y peligrosos, pues su fuga puede significar no sólo el despido del director del penal, sino la eventual pérdida de una candidatura presidencial (guiño de ojo).
El problema es también de perspectiva, de cómo vemos a nuestra cárcel. Explicamos: si el director está viendo los planos desde una vista superior del penal y piensa en diseñar su sistema de seguridad desde un plano, éste puede ser vulnerable, si se ve, por ejemplo, desde tierra. Es decir que, desde el diseño de sistema de seguridad, se deben contemplar todas las posibles entradas que cualquier hacker pueda tener en mente.
Lo primero en el diseño de la red de seguridad en la base de datos de una empresa o institución es organizar la logística de la propia red. Esto es, poner bajo custodia los elementos más valiosos de nuestra información con candados, tanto físicos como programáticos; es decir, barreras que impidan al usuario acceder a nuestra información más valiosa.
Separando a los prisioneros
Para esto se necesita separar físicamente la información a la que el público pueda acceder, la informa-ción que queremos mantener inaccesible. Para ello se requiere separar la información de acceso a la red a través de diferentes dispositivos, mejor conocidos como switchs que dirigen a través del firewall al usuario, únicamente de la información que queremos que vea.
Usando un ejemplo práctico, en el caso del portal de un banco, este tipo de separación permite que un usuario pueda acceder a la página de internet para consultar la información disponible y utilizar los servicios, sin que esto implique que a nivel código tenga acceso a otros datos protegidos. Usando la analogía del prisionero, es como si prohibiéramos la entrada a todos los visitantes del penal al área dónde tenemos cautivo a nuestro Chapis, autorizando sólo a aquellos visitantes que son necesarios, como su abogado defensor o los propios custodios y guardias que tenemos para cuidar esta sección de la prisión.
Suena muy lógico, ¿no? Permitir la entrada de cualquier usuario a nuestra página web y que consulte tanto el contenido como los servicios, pero no pueda ingresar a nuestros datos más valiosos. El problema es que muchas empresas e instituciones ni siquiera contemplan esto al momento de diseñar sus sistemas, por lo que, de entrada, por su propio diseño de prisión, sus prisioneros se encuentran vulnerables. Y un hacker lo sabe.
Mandando a nuestros perros guardianes
Como se puede ver, todo sistema es susceptible de ataque desde su diseño. Entonces, ¿qué hacer si algún hacker pretende ingresar a nuestro penal para conocer dónde tenemos a nuestro famoso Chapis? La respuesta está de nuevo en que tenemos que adelantarnos y pensar como los hackers.
Lo primero es tener bien despiertos, atentos y alimentados a nuestros perros para olfatear o detectar cualquier tipo de intromisión. Para esto, es indispensable encriptar nuestros datos, nuestro código base. Supongamos que en nuestro código un renglón de programación expone la carpeta y el archivo donde tenemos nuestra valiosa información, cualquier persona o hacker puede entonces entender perfectamente por dónde estamos expuestos y, al menos, tener información sobre el lugar en el que se encuentra nuestro preso más famoso. Con esto ya estamos, de nuevo, siendo vulnerables. La única forma de protegerse es que nuestra información esté encriptada, es decir, que las letras que integran un nombre o código estén representadas por otras letras, incomprensibles para un visitante externo, para que éste no pueda entender de qué información estamos hablando. A esto en la jerga se le conoce como hash.
La propia encriptación de datos dio origen a la computadora, cuando Alan Turing diseñó el primer ordenador eléctrico para resolver el código Enygma que usaron los nazis durante sus misiones. Es decir, es tan vieja como la informática misma; sin embargo, muchos programadores se olvidan de esto y dejan al desnudo los datos.
Escuchar a los que pretenden entrar
Otra condición para que nuestros sistemas sean seguros es que tengamos programas que funcionen como listeners, es decir, que estén continuamente observando si un usuario está intentando ingresar a nuestros datos o a algunos datos. Es decir, necesitamos adelantarnos y estar monitoreando los comandos que puedan estar de alguna forma amenazando con querer entrar a nuestra web, antes de que lo consigan. Esto implica, además, enviar alarmas que nos alerten cuando está sucediendo, para poder contrarrestarlo al minuto. Es decir, en las prisiones modernas ya no sólo basta con tener barreras, perros guardianes y custodios, también debemos tener detectores de movimientos en el subsuelo, que nos permitan saber cuando alguien está cavando un túnel.
De igual forma, se deben controlar qué puertos de entrada están siendo utilizados para controlar a la cantidad de usuarios que entran y la información que queremos que vean, de tal forma que, si alguien está intentando entrar por un puerto no deseado, automáticamente lo bloquee y nos avise, tal como una alarma sonaría en el momento en el que la puerta del pasillo que conduce a nuestro famoso recluso quiera ser abierta por una persona no autorizada.
¿Dónde están y quiénes son los hackers?
Un hacker puede estar en cualquier lugar, escondido en la red, a la espera de que algún programador incauto abra la información. Puede estar tan lejos como lo desee y enmascarado mediante una imitación de programa (un spoofing), que pretenda estar en otra dirección ip, es decir, puede conectarse desde San Petersburgo, y aparecer como una conexión de Tlaxcala.
Especialistas en materia de seguridad como los empresarios de Silicon Valley, Stuart McClure, Joel Scambray y George Kurtz, autores del multieditado título Hacking Exposed, un clásico en la materia, han advertido que un hacker puede estar escondido en cualquier lugar. Detrás de una apariencia amigable, puede estar haciendo fishing, pescando al programador incauto de cualquier sistema, de cualquier institución o empresa, esperando a que caiga en un error. En el literal submundo de la programación existen numerosos blogs a los que programadores recurren diariamente a todas horas, en búsqueda de soluciones de programación. La complejidad de los idiomas de programación hace necesaria una constante retroalimentación sobre las soluciones a codificar en los sistemas. El problema comienza cuando perfiles de programadores que cuentan con un gran prestigio para dar soluciones, también pueden estar escondiendo a un peligroso hacker en búsqueda de información valiosa, traducible en dinero o en intervención política.
Algunas veces, pecando de inocentes, de novatos, o de olvidadizos, o simplemente por holgazanería o ignorancia, algún programador puede entrar a buscar una solución a uno de estos blogs. El programador del otro lado, con afán de ayudarlo en su trabajo, y en la solución del problema de programación que surja, invariablemente, en un dado proceso de programación, le solicitará información sobre el problema. Si no es cuidadoso, el programador solicitante puede brindar información clave al programador del otro lado que, por valor o por puro interés o simple ocio, podrá perfectamente acceder al código de programación del sistema que se está diseñando.
Volviendo a la analogía de los prisioneros, es como si para proteger a un preso célebre, digamos el famoso Chapis, contratáramos al mismo ingeniero que lo ha ayudado a hacer los túneles y le diéramos los planos de nuestra cárcel. Suena absurdamente estúpido, pero así es como han de haber pensado empresas como Uber o Ashley Madison, las cuales han sufrido de ataques en sus bases de datos, sin saber siquiera cómo han ocurrido.
Manteniendo a los animalitos en el corral
Existen en la web, disponibles para todos, miles de herramientas programáticas para poder mapear, rutear e ingresar en cualquier programa o base de datos, es decir, para obtener los planos y tener clara la estructura y las entradas y salidas a los archivos que constituyen un sitio conectado a una base de datos. La infinidad de herramientas programáticas existentes es tal que cualquier sistema estará siempre expuesto a una intervención de algún hacker profesional o de algún intento deliberado de intervención, por parte de alguna agencia —oficial o no— de otro gobierno, en los sistemas del país.
Un tema aparte es la mención de los ataques a redes sociales y la manipulación y el conocimiento de perfiles para crear influencias y estrategias de difusión de información y creación de empatía con el votante. En otras palabras, manipulación política a través de redes que merece, por lo complejo y vasto del tema, una entrega aparte. Sin embargo, la intención de este texto es alertar sobre las amenazas que enfrentan los diferentes sistemas, públicos y privados, basados en algo más que ruido, antecedentes o alarmismos, sino exponiendo los datos a grandes peligros. Y los relevantes aspectos políticos, económicos y sociales que de estos mismos derivan.
Al intentar metaforizar para este artículo, además de la analogía de la prisión, recordamos los momentos en que por ambas trayectorias profesionales caminamos el campo mexicano. Ya sea que se vaya a buscar información como encuestador para una investigación o como reportero para un medio, uno se atraviesa con lugares donde no hay más camino para autos, y se debe ir a pie o, en el mejor de los casos, a caballo, en búsqueda del registro estadístico correcto, o de la historia más interesante, en el vasto y complejo territorio mexicano. Al encontrar rancherías o ranchos en el camino, es inevitable reconocer algo: siempre las granjas o los territorios están protegidas por perros que con el extraño son bravos hasta su propia muerte, si es necesario. Sin embargo, los perros cumplen una importante función desde hace miles de años, protegen el territorio familiar de cualquier intromisión de un extraño. En muchos casos, basta con caminar un par de metros para que el perro deje de ladrar. Son ellos los que protegen a los animales de lobos, zorros o coyotes y los que avisan al dueño de la propiedad que tiene visitas, y que tal visita es un extraño, un foráneo. Lo mismo entonces sucede con los sistemas.
Como hemos dicho, el dilema de mantener dentro a los prisioneros es tan complejo como en el caso de una prisión de máxima seguridad, más no por ello inviolable para un hacker que sepa cómo entrar y lo que puede obtener. En ambos casos, si se quiere mantener a un prisionero en su celda, o a los animales a salvo dentro del corral, se necesita tener a unos perros contentos que siempre estén olfateando lo que está pasando y a quienes quieren entrar en nuestro sistema; sin embargo, se debe perder la inocencia y comenzar a pensar seriamente contra los hackers y programadores que, de haber una intención de influir en la elección o intervenir en un sistema de conteo de votos, encontrarán cualquier puerta o ventana que hayamos dejado abiertas, entre las que mencionamos en este artículo.
También podemos preguntarnos, ¿hemos dejado todas las puertas y rejas cerradas? ¿Con llave y alarmas puestas? ¿Nadie tiene duplicado de esa llave? ¿Ni el cerrajero tiene una copia? ¿Quién está protegiendo los sistemas que garantizan la validez de nuestro voto, la calidad de nuestras reservas y patrimonios en las cuentas? Sí, es entendible el porqué se ha generado la avalancha de artículos que hablan sobre la materia. Vale la pena preguntarse todo esto a unos meses de la elección más expuesta de este siglo XXI. EP
_________________
Edmundo Berumen Osuna tiene más de 18 años de experiencia aplicando tecnologías de información para resolver necesidades de negocio dentro del ámbito de la investigación, telecomunicaciones y herramientas de colaboración. Dirige la compañía Baktun, empresa filial de Berumen y Asociados.
Luis Parra Meixueiro es escritor, periodista y analista de temas políticos, económicos y sociales. Es columnista del periódico Noticias. Voz e imagen de Oaxaca y analista para Reporte Berumen/SinEmbargo en sinembargo.mx. Ha publicado la novela Serpiente de piedra (Prado, 2009) y el poemario La gloria de los reptiles (Pharus, 2011) bajo el pseudónimo Saúl Díaz Parra.