Aquí hay muchos unos y ceros.
Es lo que llamamos información binaria.
Así hablan las computadoras.
Así almacenan información.
Así piensan las computadoras.
Así las computadoras
hacen todo lo que saben hacer.
Soy investigador de seguridad informática;
o sea, mi trabajo consiste en analizar esta información
y tratar de darle sentido,
tratar de entender qué significan esos unos y ceros.
Por desgracia para mí, no solo estamos hablando
de los unos y ceros que tengo aquí en la pantalla.
No estamos hablando de pocas páginas de unos y ceros.
Estamos hablando de miles y miles de millones
de unos y ceros;
más de los que alguien podría comprender.
Ahora, apasionante como suena,
cuando empecé a trabajar en ciberseguridad...
(Risas)
cuando empecé con la ciberseguridad, no estaba seguro
de que tamizar unos y ceros
fuera lo que quería hacer el resto de mi vida,
porque, para mí, la ciberseguridad
era mantener la computadora de mi abuela libre de virus,
era mantener las páginas de MySpace libres de ciberataques,
y solo quizá, en un día de gloria,
salvar a alguien del robo a la información de su tarjeta de crédito.
Son cosas importantes,
pero no es la forma en que quería pasar mi vida.
Luego de 30 minutos de trabajo
como contratista de defensa,
pronto advertí que mi idea de ciberseguridad
era un poco errónea.
De hecho, en materia de seguridad nacional,
mantener la computadora de mi abuela libre de virus
estaba sorprendentemente abajo en la lista de prioridades.
Y esto se debe a que la ciberseguridad
es mucho más importante que cualquiera de esas cosas.
La ciberseguridad es parte integral de nuestras vidas,
porque las computadoras son parte integral en nuestras vidas,
incluso si uno no tiene una computadora.
Las computadoras controlan todo en nuestros autos,
desde el GPS hasta los airbags.
Controlan el teléfono.
Son la razón por la cual podemos llamar al 911
y alguien nos atiende en la otra línea.
Controlan toda la infraestructura nacional.
Gracias a ellas tenemos electricidad,
calefacción, agua potable, alimentos.
Las computadoras controlan nuestros equipos militares,
todo, desde los silos de misiles y los satélites
hasta las redes de defensa nuclear.
Todas estas cosas son posibles
gracias a las computadoras
y, por lo tanto, gracias a la ciberseguridad.
Y cuando algo sale mal,
la ciberseguridad puede hacer imposible estas cosas.
Pero ahí es donde entro yo.
Gran parte de mi trabajo consiste en defender estas cosas,
en mantenerlas en funcionamiento.
Pero, cada tanto, parte de mi trabajo consiste en romper alguna de estas cosas,
porque la ciberseguridad no es solo defensiva,
también es ofensiva.
Estamos entrando a una era en la que hablamos
de ciberarmas.
De hecho, tan grande es el potencial de la ciberofensiva
que la ciberseguridad se considera como un nuevo dominio de la guerra.
La guerra
no necesariamente es algo malo.
Por un lado, implica que hay todo un nuevo frente
en el que tenemos que defendernos,
pero por otro lado,
que hay toda una nueva forma de atacar,
una nueva forma de impedir que los malos
hagan cosas malas.
Consideremos un ejemplo de esto
completamente teórico.
Supongamos que un terrorista quiere volar un edificio,
y quiere hacerlo una y otra vez
en el futuro.
No quiere estar en el edificio cuando explote.
Usará su móvil
como detonador remoto.
La única forma que solíamos tener
para detener a este terrorista
era con una balacera y una persecución en auto,
pero esto ya no necesariamente es así.
Estamos entrando en una era en la cual podemos detenerlo
con solo presionar un botón
a 1600 km de distancia
porque, lo sepa o no,
cuando decidió usar su móvil
entró al dominio de la ciberseguridad.
Un ataque cibernético bien elaborado podría entrar en su teléfono,
desactivar la protección de sobretensión en la batería,
sobrecargar drásticamente el circuito,
y hacer que la batería se sobrecaliente y explote.
No más teléfonos, no más detonador,
quizá no más terrorista,
todo con solo presionar un botón
a más de mil kilómetros de distancia.
¿Cómo funciona esto?
Se reduce a esos unos y ceros.
La información binaria hace que funcione el móvil,
y usado correctamente, puede hacer que el móvil explote.
Cuando empezamos a ver la ciberseguridad desde esta perspectiva,
pasar la vida hurgando en información binaria
se torna un poco apasionante.
Pero aquí está el truco: Esto es difícil,
muy, muy difícil,
y este es el porqué.
Piensen en todo lo que tienen en el móvil.
Tienen las fotos que tomaron.
Tienen la música que escuchan.
Tienen la lista de contactos,
el correo, y probablemente 500 apps
que nunca usaron en sus vidas,
y debajo de todo esto está el software, el código,
que controla el móvil,
y, en algún lugar, enterrado en ese código,
está un fragmento que controla la batería,
y eso es lo que me interesa.
Pero todo esto, un montón de unos y ceros,
está todo mezclado.
En ciberseguridad a esto lo llamamos encontrar una aguja en una pila,
porque todo más o menos se parece.
Estoy buscando una pieza clave,
pero está mezclada con todo lo demás.
Apartémonos de esta situación teórica
de hacer explotar el móvil de un terrorista,
y veamos algo que me ocurrió a mí.
Casi sin importar qué haga,
mi trabajo siempre empieza analizando
un montón de información binaria,
y siempre busco una pieza clave
para hacer algo específico.
En este caso, estaba buscando un fragmento de código
muy avanzado, muy de vanguardia
que sabía que podría hackear,
pero estaba enterrado en algún lugar
dentro de mil millones de unos y ceros.
Por desgracia para mí, yo no sabía
bien lo que estaba buscando.
No sabía bien el aspecto de lo que buscaba,
y eso dificultaba mucho la búsqueda.
Cuando tengo que hacer esto
básicamente analizo varias piezas
de esta información binaria,
tratando de descifrar cada pieza, y de ver si puede ser
lo que busco.
Después de un tiempo, pensé que había encontrado la información
que estaba buscando.
Pensé que quizá era eso.
Parecía estar bastante bien, pero no podía confirmarlo.
No podía decir qué representaban esos unos y ceros.
Pasé un tiempo tratando de unir las piezas,
pero no tenía mucha suerte,
y finalmente decidí
hacerle frente a la situación,
quedarme el fin de semana,
y no abandonar
hasta averiguar qué representaban.
Y así hice. Llegué el sábado por la mañana,
y en unas 10 horas tenía todas las piezas del rompecabezas.
Solo que no sabía cómo unirlas.
No sabía qué significaban estos unos y ceros.
En la marca de 15 horas,
empecé a hacerme una idea de lo que había,
pero tenía una leve sospecha
de que lo que estaba buscando
no estaba para nada relacionado con lo que quería.
A las 20 horas, las piezas empezaron a encajar
muy lentamente... (Risas)
y estaba bastante seguro de que iba
por el camino incorrecto,
pero no me daría por vencido.
Luego de 30 horas en el laboratorio,
me di cuenta exactamente de lo que estaba buscando,
y tenía razón, no era lo que quería.
Pasé 30 horas atando cabos,
y los unos y ceros formaban la imagen de un gatito.
(Risas)
Desperdicié 30 horas de mi vida buscando este gatito
que no tenía nada que ver
con lo que estaba tratando de lograr.
Estaba frustrado, estaba agotado.
Después de 30 horas en el laboratorio, quizá olía horrible.
Pero en vez de ir a casa
y ponerle punto final a esto, di un paso atrás
y me pregunté: ¿qué salió mal?
¿Cómo pude cometer un error tan tonto?
Soy realmente muy bueno en esto.
Me gano la vida con esto.
¿Qué pasó?
Bueno, pensé, cuando uno mira la información a este nivel,
es fácil perder la noción de lo que está haciendo.
Es fácil que el árbol tape el bosque.
Es fácil irse por las ramas
y perder una enorme cantidad de tiempo
haciendo lo incorrecto.
Pero tuve esta revelación:
Estuvimos viendo los datos de manera totalmente incorrecta
desde el primer día.
Así piensan las computadoras, con unos y ceros.
Las personas no pensamos así,
pero hemos tratado de adaptar nuestras mentes
para pensar como computadoras
y poder entender esta información.
En vez de tratar de hacer que nuestras mentes se adapten al problema,
deberíamos hacer que el problema
se adapte a nuestras mentes,
porque nuestros cerebros tienen un potencial enorme
para analizar grandes volúmenes de información,
pero no de este modo.
¿Y si pudiésemos desatar ese potencial
con solo traducir esto
en el tipo correcto de información?
Con estas ideas en mente,
pasé del sótano de mi trabajo
al sótano de mi casa,
que se parecían mucho.
La principal diferencia es que en el trabajo
estoy rodeado de cibermateriales,
y lo ciber parecía ser el problema en esta situación.
En casa, estoy rodeado por todo lo demás que he aprendido.
Me sumergí en todos los libros que pude encontrar,
en cada idea que había encontrado,
para ver cómo traducir un problema
de un dominio a algo completamente diferente.
La gran pregunta era:
¿en qué queremos traducirlo?
Nuestros cerebros ¿qué hacen de forma perfectamente natural
que podamos explotar?
Mi respuesta fue: la visión.
Tenemos una gran capacidad para analizar la información visual.
Podemos combinar gradientes de colores, señales de profundidad,
todo tipo de señales diferentes
en una imagen coherente del mundo circundante.
Eso es increíble.
Por eso, si pudiésemos encontrar una forma de traducir
estos patrones binarios en señales visuales,
realmente podríamos desatar el potencial de nuestros cerebros
para procesar este material.
Empezamos a analizar la información binaria,
y me pregunté qué haré
cuando encuentre algo así por primera vez?
Y lo primero que quiero hacer,
lo primero que quiero responder,
es ¿qué es esto?
No me importa qué hace, cómo funciona.
Solo quiero saber qué es esto.
Y la manera de averiguarlo
es analizando los fragmentos,
fragmentos secuenciales de información binaria,
y estudiar las relaciones entre esos fragmentos.
Cuando reuní suficientes secuencias,
empecé a hacerme una idea de exactamente
qué debía ser esta información.
Volvamos a la situación
de volar el móvil del terrorista.
Un texto en inglés tiene este aspecto
a nivel binario.
Así se vería una lista de contactos
si la examinásemos.
Es muy difícil analizarlo a este nivel,
pero si tomamos esos mismos fragmentos binarios
que yo trataba de encontrar,
y en cambio los traducimos
a representaciones visuales,
si traducimos esas relaciones,
obtenemos esto.
Este es el aspecto de un texto en inglés
desde una perspectiva de abstracción visual.
De repente,
nos muestra la misma información
que estaba en los unos y ceros,
pero de manera totalmente diferente,
que podemos entender de inmediato.
En un instante podemos ver todos los patrones.
Me lleva segundos detectar patrones aquí,
pero horas o días hacerlo
entre unos y ceros.
A cualquiera le lleva minutos aprender
lo que representan estos patrones,
pero años de experiencia en ciberseguridad
aprendiendo lo que esos patrones representan
en unos y ceros.
Este fragmento se forma
con minúsculas seguidas por otras minúsculas
dentro de esa lista de contactos.
Esto con mayúsculas y mayúsculas,
mayúsculas y minúsculas, minúsculas y mayúsculas.
Esto con espacios. Esto con retornos de carro.
Podemos analizar cada pequeño detalle
de la información binaria, en segundos,
en lugar de semanas, meses, a este nivel.
Así se ve una imagen
desde un móvil.
Pero así se ve
en una abstracción visual.
Así se ve la música,
y aquí su abstracción visual.
Lo más importante, para mí,
así se ve el código que hay en sus móviles.
Esto es lo que me interesa en definitiva,
pero esta es su abstracción visual.
Si encuentro esto, no puedo hacer explotar el móvil.
Podría pasar semanas tratando de encontrar esto
en los unos y ceros,
pero me lleva segundos analizar
una abstracción visual como esta.
Una de las partes más notables de todo esto
es que nos da una forma totalmente nueva de entender
la información nueva, cosas que no hemos visto antes.
Sé como se ve el texto en inglés a nivel binario,
y sé cómo se ve su abstracción visual,
pero nunca he visto binario en ruso en toda mi vida.
Me llevaría semanas solo averiguar
qué estaba buscando a partir de unos y ceros,
pero como nuestros cerebros pueden detectar al instante
y reconocer estos patrones sutiles dentro
de estas abstracciones visuales,
inconscientemente podemos aplicarlos
a nuevas situaciones.
Así se ve el ruso
en una abstracción visual.
Dado que sé cómo se ve un idioma,
puedo reconocer otros idiomas
incluso si no me resultan familiares.
Así se ve una fotografía,
y así un clip de arte.
Así se ve el código del teléfono,
y así se ve el código de la computadora.
Nuestros cerebros pueden detectar estos patrones
de formas que nunca podríamos hacer
mirando unos y ceros en crudo.
Pero solo hemos rozado la superficie
con lo que puede hacerse con este enfoque.
Recién empezamos a desatar las capacidades
de nuestras mentes para procesar información visual.
Si en cambio tomamos esos mismos conceptos y los traducimos
a tres dimensiones,
encontramos formas totalmente nuevas de darle sentido a la información.
En segundos, podemos identificar cada patrón.
Podemos ver la cruz asociada al código.
Podemos ver cubos asociados con el texto.
Podemos incluso detectar los más diminutos artefactos visuales.
Las cosas que nos llevarían semanas,
o meses encontrar entre unos y ceros,
son evidentes de inmediato
en algún tipo de abstracción visual,
y a medida que avanzamos en esto
y le arrojamos cada vez más información,
encontramos que podemos procesar
miles de millones de unos y ceros
en cuestión de segundos
con solo usar nuestra capacidad cerebral innata
para analizar patrones.
Esto es muy bueno y ayuda,
pero me dice lo que estoy viendo.
En este momento, con los patrones visuales,
puedo encontrar el código en el teléfono.
Pero eso no es suficiente para hacer explotar una batería.
Luego necesito encontrar el código
que controla la batería, pero volvemos
al problema de la aguja en la pila.
Ese código se parece mucho a los otros tipos de código
de ese sistema.
Podría no encontrar el código que controla la batería,
hay muchas cosas similares a eso.
Hay código que controla la pantalla,
otro que controla los botones, otro que controla los micrófonos,
e incluso si no puedo encontrar el código de la batería,
apuesto a que puedo encontrar una de esas cosas.
El paso siguiente en mi proceso de análisis del binario
es analizar fragmentos de información
que tengan similitudes.
Es muy, muy difícil de hacer a nivel binario,
pero si en cambio traducimos esas similitudes en abstracciones visuales,
ni siquiera tenemos que tamizar los datos en bruto.
Solo tenemos que esperar a que la imagen se ilumine
para ver cuándo tenemos un fragmento similar.
Seguimos estas hebras de similitud como un rastro de migas de pan
para encontrar exactamente qué buscamos.
En este punto del proceso,
ubicamos el código
responsable de controlar la batería,
pero eso aún no es suficiente para volar un teléfono.
La última pieza del rompecabezas
es entender cómo controla
ese código la batería.
Para esto, tenemos que identificar
relaciones muy sutiles, muy detalladas
entre esa información binaria,
otra cosa muy difícil de hacer
mirando unos y ceros.
Pero si traducimos esa información
en una representación física,
podemos dejar que nuestra corteza visual haga el trabajo difícil.
Puede encontrar los patrones detallados,
las piezas importantes por nosotros.
Puede descubrir exactamente cómo trabajan juntas
las piezas de ese código para controlar la batería.
Todo esto puede hacerse en cuestión de horas,
mientras que el mismo proceso
antes demandaba meses.
Todo esto está muy bien
para la voladura teórica del teléfono de un terrorista.
Yo quería descubrir si esto funcionaría
en mi trabajo diario.
Así, estaba jugando con estos mismos conceptos
con algunos datos que analicé en el pasado,
y, otra vez, trataba de encontrar
un fragmento muy detallado, muy específico
dentro de un gran volumen de información binaria.
Así que lo miré a este nivel,
pensando que buscaba lo correcto,
solo para ver que esto no tiene
la conectividad que cabría esperar
para el código que estaba buscando.
De hecho, no estoy muy seguro de qué es,
pero si me apartaba un nivel
y analizaba las similitudes dentro del código
veía que no tenía similitud
con cualquier código que había allí.
Ni siquiera podía ver código.
De hecho, desde esta perspectiva,
podría decir que esto no es código.
Es una imagen de algún tipo.
Y a partir de aquí, pude ver,
no es solo una imagen, es una fotografía.
Ahora que sé que es una fotografía,
tengo decenas de otras técnicas de traducción de binarios
para visualizar y entender esa información,
así que en cuestión de segundos, puedo tomar esta información,
pasarla por una decena de otras técnicas de traducción visual
para descubrir exactamente qué estábamos mirando.
Vi... (Risas)
era ese gatito otra vez.
Todo esto fue posible
gracias a que pudimos encontrar la forma
de traducir un problema muy difícil
en algo que nuestros cerebros hacen con mucha naturalidad.
¿Qué quiere decir esto?
Bueno, para los gatitos significa
ya no esconderse entre los unos y ceros.
Para mí, significa ya no desperdiciar más fines de semana.
Para la ciberseguridad significa que tenemos una nueva forma radical
de abordar los problemas imposibles.
Significa que tenemos una nueva arma
en el teatro cambiante de la ciberguerra,
pero para todos,
significa que los ciberingenieros
ahora pueden ser los primeros en responder
en situaciones de emergencia.
Cuando los segundos cuentan,
hemos desatado los medios para detener a los malos.
Gracias.
(Aplausos)