viernes, 11 de agosto de 2017

¿DNA para controlar un PC?


Hace un par de días fue publicado un interesante artículo científico en el que Peter Ney, Karl Koscher, Lee Organick, Luis Ceze y Tadayoshi Kohno buscaban demostrar algo que, a priori, podría sonar un poco absurdo. La capacidad de una secuencia genética para tomar el control de un ordenador.

Ellos se basan, como premisa, en la capacidad actual de sintetizar DNA artificial de forma que, al enviar una "inocente" muestra a secuenciar se pueda tomar el control del ordenador encargado del manejo del equipo de secuenciación, o de análisis de la muestra.
Para los que tengáis curiosidad podéis acceder al artículo original en esta página. Yo intentaré resumirlo un poco y, sobre todo, dar mi opinión sobre el tema.

En primer lugar explicar que, para llevar a cabo esta prueba de concepto, exitosa por otro lado, lo primero que hicieron fue modificar un programa existente para añadirle una vulnerabilidad conocida que, a posteriori, sería utilizada por el DNA sintetizado y secuenciado para ejecutar código malicioso en el pc de destino.
Al producir un fallo en el programa con la secuencia que ellos conocen pueden, posteriomente, conseguir que el sistema salte a ejecutar una orden que ellos elijan y que también va codificada en el DNA sintentizado. Una aproximación muy elegante que demuestra que, con un poco de maña, se pueden realizar cosas sorprendentes con la información contenida en el DNA, todo depende de cómo se interprete.
Por otro lado, en el artículo también analizan algunas de las aplicaciones más habituales utilizadas en el análisis de los datos de secuenciación masiva, realizando una búsqueda muy sencilla de llamadas que se saben vulnerables a ataques para, de esta forma, comprobar cómo de protegidos se encuentras los programas más usados en este campo. De una forma no muy sorprendente llegan a la conclusión de que estos programas contienen una gran cantidad de agujeros potenciales.
Esto no quiere decir que hayan creado secuencias que ataquen estos programas, como el bowtie o las samtools, sólo demuestran que tienen una enorme cantidad de agujeros potenciales que, si alguien quiere explotarlos, es posible que no le costase demasiado trabajo hacerlo. Como ya he dicho es lógico que existan estas puertas ya que, en muchos casos, estos programas no se han creado pensando en la seguridad informática, al fin y al cabo ¿quién iba a pensar que por ahí se podría presentar un ataque?
Ellos mismos hablan de la problemática que se podría producir por la expansión de la secuenciación masiva a análisis forenses. Imaginemos que alguien quiere entrar en los ordenadores de la policía científica y puede hacerlo por uno de estos agujeros. Claro que en España eso no es un problema dada la enorme calidad del sistema informático judicial, pero de eso ya hemos hablado otro día.
Sin tener que ir a investigaciones policiales abiertas o a casos médicos de estudio, este hallazgo representa un peligro potencial muy importante para todos los laboratorios que hagan uso de secuenciación masiva y, muy especialmente a aquellos que realicen la propia secuenciación y no dispongan de conocimientos de seguridad informática adecuados. 
Con un pequeño diseño de una secuencia maliciosa un hacker podría hacerse con el control completo de los sistemas informáticos de ese laboratorio de secuenciación, al fin y al cabo hay una serie de tareas que siempre se realizan de la misma forma y con los mismos programas. Basta encontrar una vulnerabilidad en uno de ellos y explotarla. De hecho, teniendo en cuenta que los secuenciadores de Illumina llevan Windows 7 como sistema operativo de funcionamiento podría incluso haberles entrado el famoso WannaCry, o alguno de sus "hermanos" por la red local a la que se encuentren conectados.
Una cosa que me ha hecho gracia al leer el artículo es que le dan mucha importancia a la posibilidad actual de sintetizar DNA para realizar estos exploits. Pero lo cierto es que ¿en realidad es necesario mandar crear una secuencia a tal efecto? Los que también trabajamos in silico estamos acostumbrados a crear secuencias artificiales y a probar nuestros programas y sistemas sin recurrir a la secuenciación y yo me pregunto ¿no sería igualmente factible explotar una vulnerabilidad conocida a través de un fastq con esa secuencia ya incorporada, sin necesidad de que haya pasado por todos los procesos biológicos?
Teniendo en cuenta que las secuencias de los experimentos se depositan en bases de datos abiertas con nula revisión de los datos previa publicación... se podría incorporar un dataset malicioso a las mismas a modo de ataque mundial. O simplemente para tomar el control de los sistemas de los analistas a los que se les envíe un dataset infectado. Las posibilidades son casi ilimitadas.
De hecho, los propios autores del estudio abren una última posibilidad sin darse cuenta. Teniendo en cuenta que la formación informática real de la mayoría de las personas que se dedican a analizar datos de secuenciación masiva es bastante escasa sería bastante sencillo introducir una modificación maliciosa de uno de los programas de análisis estándar con una vulnerabilidad conocida y explotable por medio de la secuencia que nosotros elijamos. 
O sea, hacer el diseño a la inversa. Coger una secuencia que vaya a secuenciar "la víctima" y diseñar un agujero a medida para ello. Crear e introducir la modificación en el programa de análisis pertinente y, simplemente, esperar a que esa víctima potencial realice su experimento. Ni tan siquiera habría que hacer un diseño elegante de la secuencia de DNA, sólo habría que adaptar lo que ya nos da la naturaleza.

Por suerte, y por desgracia al mismo tiempo, los hackers maliciosos no suelen atacar los sistemas minoritarios como son éstos en concreto. Y digo que también "por desgracia" porque ya se sabe que cuantos más ataques reciba un sistema más seguro tiene que volverse y no estaría de más que también se diseñaran los programas de análisis pensando en una buena construcción del software. Al final, en la arquitectura de software como en la arquitectura normal, se tiende a eliminar todo aquello que se cree prescindible y por ello las casas construidas en zonas de baja actividad sísmica no llevan protección anti terremotos. Pero eso no quiere decir que no se puedan producir catástrofes y si no que se lo pregunten a Lorca.
Lo más importante del artículo, bajo mi punto de vista, es que demuestra que estos ataques son una posibilidad real y pone el foco en que, al extenderse su uso de forma más "masiva" y, sobre todo, a sistemas especialmente sensibles como son los policiales y sanitarios, se pasan a convertir en un blanco algo más apetecible para los hackers y, por tanto, está muy bien que estemos prevenidos para no llevarnos luego las manos a la cabeza cuando ocurran catástrofes.

No hay comentarios: