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)