martes, agosto 03, 2021

Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)

En las partes anteriores hablamos de los conceptos principales en el mundo de las DeepFakes, desde las técnicas de FaceSwapping en vídeos, hasta el entrenamiento de GANs para tener un Virtual Replicant que se pueda utilizar en tiempo real en una vídeo conferencia. También vimos algunos ejemplos de Lip Sync, como se hizo en el ejemplo del vídeo de Barack Obama, y cómo se puede fabricar un IA con la voz de una víctima entrenada, utilizando Cognitive Services.

Figura 21: Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)

En esta parte del artículo de hoy queremos hablar del proceso de democratización de las técnicas de DeepFakes que hemos visto en estos últimos años, desde los primeros intentos donde se necesitaba gran capacidad de cómputo, con los costes de energía, tiempo y dinero asociados. Todo ello por la complejidad de los algoritmos y el tiempo necesario para su entrenamiento. Sin embargo, hoy en día esto ya no es así. Gracias a los sucesivos estudios y publicaciones, el mundo de las DeepFakes se ha democratizado para todo el mundo. 
Este artículo cientíico, titulado: "Deepfakes Generation and Detection: State-of-the-art, open challenges, countermeasures, and way forward" habla del presente y futuro tanto en la generación de DeepFakes como de las técnicas de detección de las mismas que veremos en la siguiente parte de este artículo. En este artículo, centrados en la parte de la democratización de las tecnologías, recoge este cronograma donde se pueden ver algunos de los hitos más importantes en la evolución de las DeepFakes que, como podéis ver, se han acelerado en los últimos cuatro años de manera exponencial.


Como podemos ver, desde el año 2014, cuando se descubrieron las GANs, se abrió un nuevo mundo que desbloqueo esta rama de estudio. A partir de 2016 todo se aceleró. En el mismo artículo se recoge esta  lista de software para la generación, o al menos para ayudar, a la creación de Deepfakes. Además de poder ver el software, la tabla recoge qué algoritmo o técnica se utiliza en cada una de ellas.


Pero desde el punto de vista de seguridad, hemos visto crecer esta democratización con unos hitos más destacados que los demás, y vamos a recogerlos en los siguientes puntos, que tenemos a continuación.

2018 - DeepFakeApp, DeepFakeLab y DeepFakeCreator

Con la aplicación de las primeras GANs al mundo de las DeepFakes, en el año 2018 aparecieron las primeras apps públicas para que todo el mundo pudiera hacer vídeos con FaceSwapping. Sorprendentemente, los objetivos con esa democratización, donde el tiempo de entrenamiento marcaba la calidad del resultado, se enfocaron principalmente a dos mundos: El primero, al mundo del humor, apareciendo muchos vídeos divertidos en los que se cambiaba a los personajes de las películas más famosas por políticos, otros actores, etcétera. 

Figura 25: Cara de la actriz de Star Wars en el cuerpo de una actriz de cine X

El segundo fue el mundo de las fantasías sexuales, donde comenzaron a aparecer algo que ya es tendencia en la red, que son escenas de cine X en las que se cambian la caras de las actrices para poner la cara de una determinada estrella de Hollywood en lugar de la actriz original, generando mucho revuelo en la opinión pública en una primera instancia.

2019 – StyleGAN

Hasta el momento hemos hablado de la suplantación, pero también existe un camino realmente apasionante derivado de la utilización de estas tecnologías llamado StyleGans o Style-Based GAN. En concreto estos algoritmos nos permiten crear personas que no existen, con todas sus características y complementos, lo que en el mundo de la seguridad informático abrió un interesante mundo para crear perfiles falsos en redes sociales y servicios de Internet.

La base de esta tecnología es el FaceSwaping que ya hemos comentado en más de una ocasión. Pero esta vez el proceso parte de personas que existen (sería el dataset inicial) y a partir de él se generan los estilos para finalmente lograr crear personas totalmente creíbles que no existen. De hecho, ya hay una página web donde puedes ir generando imágenes de este tipo simplemente accediendo a ella llamada ThisPersonDoesNotExists.


El funcionamiento se basa en que se generan dos estados latentes de dos fotografías de esas personas y se le pasa el "estilo" de una a la otra. El Generador hace una imagen y se la envía al Discriminador que tiene que decir si es una persona real o no. Este vídeo lo explica perfectamente:


Figura 28: Explicación de StyleGANs

Estas personas ficticias pueden ser utilizadas por ejemplo, para crear perfiles falsos en redes sociales por ejemplo. Y apartir de aquí crear toda una vida artificial. De hecho no solamente está la opción de crear personas, también podemo crear gatos, muebles, habitaciones, paisajes … que no existen. Así ya tenemos completa la vida artificial para nuestra persona que no existe. Puedes verlo en This X does not exit.

2019 – Talking Heads

Hasta este momento, para poder generar una DeepFake era necesario entrenar muchas horas (o mejor dicho, días) una red neuronal para poder imitar de una forma creíble a otra persona. Pero en 2019 apareció un artículo científico llamado "Few-Shots Adversarial Learning for Realistic Neural Talking Head Models" el cual abrió la primera puerta a reducir drásticamente el entrenamiento que antes hemos mencionado. En concreto, esta aproximación permitía utilizar un número reducido de imágenes de la persona a suplantar. De esta forma se crea lo que denominan “Talking Head”, o “Cabeza parlante” pero esta vez partiendo de ese número reducido de imágenes.

Figura 29: Artículo sobre el algoritmo de "Few-Shots Adversarial Learning
for Realistic Neural Talking Head Models"

El proceso es prácticamente idéntico a las anteriores aproximaciones, pero al tener un número menor de dataset de entrada, la salida limita los movimientos de la persona. Es decir, mientras que con un entrenamiento completo partiendo de un vídeo de varios minutos podríamos detectar diferentes posiciones de toda la cabeza, en este caso nos limitamos a los landmarks asociados a los diferentes rasgos faciales detectados (básicamente contorno, ojos y boca) en la/s foto/s de entrada. A pesar de esta limitación si las imágenes de entrada tienen la suficiente resolución, el resultado es bastante espectacular. Y lo mejor de todo, abrió la posibilidad de generar DeepFakes de una manera sencilla sin necesidad de entrenamiento previo.

Figura 30: Modelo de generación de imágenes con Adversarial Learning

Para poder conseguir estos resultados sin necesidad de entrenamiento, se basa en un modelo ya entrenado denominado First Order Motion Model creado por Aliaksandr Siarohin. Este modelo ya tiene pre-entrenado todo tipo de movimientos, tanto de cuerpo como de cara o cabeza, por lo que cualquier entrada (por ejemplo, la webcam) que encaje con alguno de los modelos ya entrenados (cabeza, cuerpo humano, etc) y por lo tanto poder simular su movimiento. Es decir First Order Motion Model tiene todos los movimientos que faltan en el dataset de entrada (recordemos que sólo es una foto o varias) y por lo tanto sólo tiene que limitarse a superponer los landmarks de la cara.

2019 – Living Portraits & Deep Nostalgia

Siguiendo la estela de las “Talking Heads” y la maravillosa aportación del First Order Motion Model, aparece una aplicación la cual ha tenido bastante repercusión mediática: los Living Portraits. Como ya hemos comentado antes, utilizando el First Order Motion Model es posible utilizar una sola foto para simular todo el movimiento completo (o al menos gran parte) de la cara y parte de la cabeza. Por lo tanto, podemos conseguir imágenes de personas fallecidas o incluso ficticias y simular movimiento, dándoles un soplo de vida.

A partir de esta publicación comenzaron a aparecer diferentes simulaciones de Living Portraits utilizando a gente ya fallecida famosa (Einstein, Alan Turing, etcétera) con un resultado que es la vez espectacular e inquietante. Incluso existe una web llamada Deep-Nostalgia que te permite online, subir cualquier foto y darle movimiento. Algo realmente espectacular ya que podemos ver una aproximación real de cómo serían esas personas si estuvieran delante de una cámara de vídeo en aquella época.

2019 a 2021 - Social DeepFakes: Wombo AI, Reface, ZAO

Llegados a este punto, entendemos que lo mostrado hasta el momento muestra la evolución de la tecnología, del Faceswapping o de las GANs, pero la democratización real de estas tecnologías ha ido llegando poco a poco por la parte más social y podemos decir que en el año 2021 es real debido a la cantidad de apps y herramientas que existen para hacer DeepFakes de alta calidad y bajo coste.

Entendemos la democratización de una tecnología cuando puede ser utilizada al completo por cualquier persona, es decir, se acerca a cualquiera con un uso sencillo y accesible al conocimiento de cada individuo. En otras palabras, cualquiera puede hacer uso de esta tecnología gracias a las apps móviles que han ido saliendo o a las aplicaciones de escritorio que simplifican el entrenamiento o los datos de entrada de los que hay que dotar a las aplicaciones.


Si antes veíamos que necesitamos horas de entrenamiento, recortes de fotogramas, landmarks en frames para identificar puntos de la cara, etcétera. Hoy día tenemos en el bolsillo aplicaciones que permiten, fácilmente, con una solo foto poder hacer una GAN con un modelo pre-entrenado o poder hacer un faceswapping en un video de forma sencilla y rápida. Este tipo de tecnología ha avanzado muy rápido, con todo lo bueno y con todo lo malo que esto puede traer.

(Continúa en la parte 4 de este artículo)

**************************************************************************************************
- Una historia de Blade Runners & Virtual Replicants (Parte 1 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 5 de 5)
**************************************************************************************************

lunes, agosto 02, 2021

HBSCON: Una CON online de ciberseguridad y hacking los días 17, 18 y 19 de Septiembre

Nuestros compañeros y amigos de HackBySecurity se han liado la manta a la cabeza y han organizado la HBSCON una CON para mediados del mes de septiembre, en el que nos han acabado metiendo a muchos amigos y compañeros, con el objetivo de que no se pierda el espíritu de las CONs, esperando ya que nos podamos volver a reunir todos juntos en los grandes acontecimientos.

Figura 1: HBSCON: Una CON online de ciberseguridad y hacking
los días 17, 18 y 19 de Septiembre

Para ello, los días 17, 18 y 19 de Septiembre tienes la HBSCON con un calendario de actividades alrededor del hacking y la ciberseguridad para compartir conocimiento, herramientas, experiencias y proyectos todo lo juntos que nos permiten estos eventos virtuales, que al final es nuestro entorno natural: Internet & Computador desde pequeños.


Figura 2: HBSCON 17, 18 y 19 de Septiembre

El evento comenzará el viernes por la tarde con la presentación a cargo de Kevin Mitnick, que no sé ni cómo ni de qué manera, ha sido liado por los compañeros de HackBySecurity para que después yo de la siguiente charla, donde os hablaré de unas pruebas que estuvimos haciendo tiempo atrás con WhatsApp & Telegram Worms. Tendré una sesión de preguntas al final, y después de mí, vendrá Pablo González para dar paso al Capture The Flag, que como buena CON que se precie tiene el suyo. Entre esa primera sesión del viernes, la lista de ponentes y actividades es más larga aún. Entre las charlas podrás ver a Deepak Daswani, Jordi Ubach y Rafa Mateus para terminar la sesión del viernes. 

Figura 3: Ponentes de HBSCON. Kevin Mitnick, Chema Alonso, Pablo González,
Deepak Daswani, Angel Núñez, Fernando Mairata y Fernando Nadador.

El sábado estarán, Ángel Núñez - MVP de Microsoft y autor del libro de Windows Server 2016: Administración, Seguridad y Operaciones - , Fernando Mairata y Fancisco Nadador, Marcelo Vázquez a.k.a. s4vitar, Pedro Baños, Daniel Echevarry a.k.a. "Adastra"- que es autor de tres de los libros más populares de 0xWord como son "Python para pentesters 2ª Edición", "Hacking con Python" y "Deep Wep: Privacidad y Anonimato en TOR, FreeNet e I2P",  Silvia Hernández y Ainoa Guillén González, Luis Márquez Carpintero que nos contará su experiencia con el reporte del bug de WhatsApp, y la despedida de ese día que la hará el gran DragonJAR.

Figura 4: Ponentes HBSCON. S4vitar, Adastra, Pedro Baños, Silvia Hernández,
Ainoa Guillén González, Luis Eduardo Máquez, DragonJAR y The_XXLMan

El domingo, aún tendremos más actividades, ya que estarán Andrés Naranjo a,k.a. "TheXXLMan" y uno de los directores del popular podcasts "Cosas de Hacker", Rames Sarwat que llevamos ya casi 20 años entre aventuras por Microsoft, Informática 64, Smart Access, ElevenPaths y Telefónica trabajando juntos y Selva Orejón, que dará la última charla del domingo. Acompañando a los ponentes, tenemos a gente que se ha sumando a la actividad como "maestros de ceremonia" para colaborar en las actividades. Estarán Beatriz Cerrolaza, CEO de MyPublicInbox, Yolanda Corral de "Palabra de Hacker", y cómo no, Rafael García y Miguel Ángel Martín de HackBySecurity.

Figura 5: Ponentes HBSCON. Rafa Mateus, Yolanda Corral, Beatriz Cerrolaza,
Rafael García, Miguel Ángel Martín, Rames Sarwat y Selva Orejón.

Como últimas actividades tendremos la entrega de premios, los sorteos y actividades de reconocimiento a los que han hecho posible esta CON. Y como colaboradores, por supuesto, estará 0xWord para que haya libros para los premios, MyPublicInbox ya que también se repartirán Tempos para contactar con los ponentes a través de la plataforma - o con quién quieras -, Singularity Hackers que entregará un token de acceso a las pruebas de evaluación de futuros profesionales en ciberseguridad, MorterueloCON, Miriadax o Telefónica Tech, todos apoyando la CON.
Así que, resérvate estas fechas en el calendario, reserva tu acceso a la HBSCON y nos vemos por allí todos juntos esos días. 

¡Saludos Malignos!

domingo, agosto 01, 2021

Solución al Reto Hacker para estudiantes del curso pasado

Sí, a finales de noviembre del año pasado, publiqué el enunciado de un Reto Hacking para estudiantes, algo que realmente me gusta proponer a mis alumnos y a cualquiera que esté interesado, tenga ganas de aprender y de ponerse a prueba, y además pueda ir creando un portafolio que pueda presentar en las entrevistas de trabajo.

Figura 1: Solución al Reto Hacker para estudiantes del 30 de noviembre de 2020.

Andes de comenzar, me gustaría pediros disculpas por la demora de la publicación de este artículo con vuestras soluciones. Ha sido mucho el tiempo, ilusión y ganas que habéis invertido para veros sin la recompensa merecida durante todos estos meses, salvo el sentimiento de esperanza de que algún día igual podría salir publicado en este “Maligno Blog”. Para mí, este curso ha sido muy exigente en lo profesional, pero sobre todo en lo personal: por desgracia la COVID19 se ha cobrado un buen número de objetivos. 

Motivación del reto hacker

Como os he contado algunas veces, me gusta proponer este tipo de retos o problema por diversos motivos:

• El aprendizaje se acentúa más cuando es algo novedoso, compartido entre iguales y, por qué no, a veces resulta transgresor al salirse del programa estipulado. El aprendizaje basado en retos o problemas hace que el alumno se involucre en la búsqueda de soluciones a retos globales o reales. Incluye el aprendizaje cooperativo, la visión de problemas en entornos reales, la integración de conocimiento de varias disciplinas (aprendizaje multidisciplinar) y además, hace que el alumno aprenda en períodos extra-académicos.

• El alumno debe investigar problemas con diversas soluciones, debe identificar las cuestiones esenciales a nivel conceptual, debe investigar el conocimiento que pueda utilizar. 
 
• El profesor debe cumplir diversos roles: “experto” en la materia, colaborador de aprendizaje, facilitador de información. Se propicia la participación de otras personas con perfiles adecuados, en colaboración con el profesorado.

• Se trabaja de manera transversal la comunicación escrita en el momento de la generación del informe que justifiquen todas las etapas y los resultados obtenidos en cada una de ellas, Personalmente, considero que, en todas las etapas de aprendizaje, al igual que los idiomas, debiera de haber asignaturas obligatorias relacionadas con la comunicación, oral y escrita. Presentar tu trabajo es un arte, como explica Gonzalo Álvarez Marañón en su libro "El arte de presentar".

• Los alumnos pueden ir forjando un portafolio para presentar en una entrevista de trabajo o para unas prácticas. A parte de la titulación académica, pueden presentar algo más que quizás el resto de los candidatos no puedan. Como decía Chema Alonso en su artículo "Ponte a trabajar desde ya si no tienes trabajo, y quieres trabajar en seguridad informática".

• Y, sobre todo, del algo fundamentan en el sentimiento y Comunidad Hacker: generar y compartir de manera gratuita el conocimiento para que otros puedan avanzar.

Características del reto hacker

Este reto hacker estaba preparado para descubrir y explotar vulnerabilidades en un ecosistema web, aplicando técnicas y herramientas descritas en el libro “Hacking Web Technologies”.

Figura 3: Libro de Hacking Web Technologies 2ª Edición en 0xWord de
Chema Alonso, Enrique Rando, Amador Aparicio, Pablo González y Ricardo Martín

Las pruebas que se han realizado y los resultados obtenidos para la resolución de este reto hacker están perfectamente descritas y explicadas en los informes de cada uno de los ganadores y en el vídeo que se ha subido a Youtube por cortesía del gran Gerard Fuguet, que tenéis en la Figura 5.


A nivel metodológico, este reto hacker presentaba las siguientes características o problemas con los que el alumno se tenía que enfrentar:
  • Descubrimiento del activo a auditar y comprobación de la comunicación con el target a nivel de red.
  • Análisis de los puertos a nivel de trasporte.
  • Análisis de los servicios presentes en los puertos con estado “open”.
  • Explotación de las siguientes vulnerabilidades a nivel de aplicación
  • Persistencia dentro del sistema.
Ganadores de este Reto Hacker

Sin más dilación paso a publicar, en orden estricto de recepción, las tres primeras soluciones recibidas. Cada una de ellas aportan algo diferente, por la metodología utilizada, pero también por las herramientas y forma de explotar las vulnerabilidades presentes.
  1. Samuel Castillo (@pr3ventor) [Solución].
  2. Marta González Arnaiz (@maaartaa_g) [Solución].
  3. Héctor Alonso del Bosque (@hector6598) [Solución].
Y como os he dicho, os dejo la presentación del gran Gerard Fuguet, que ha tenido la gentileza de grabar un vídeo donde explica todos los pasos realizados hasta obtener las ansiadas gominolas.

  
Figura 5: Solución de Gerard Fuguet al Reto Haking 

Saludos y, ¡gracias a todos por participar!

sábado, julio 31, 2021

Bio Hacking: Chips NFCs en tus uñas con Smart Nails

Desde hace unos años la tecnología Contactless o "Sin Contacto" se ha convertido en una de las más utilizadas para todo, desde tarjetas de credenciales para acceder a edificios, hasta chips que se pueden introducir en teléfonos y otros dispositivos como relojes inteligentes para poder operar con aplicaciones de banca digital sin utilizar tarjetas de crédito. Hoy en día son muy pocos los establecimientos o entidades bancarias que no operen con este tipo de tecnología, de hecho, las grandes tecnológicas como Apple o Samsung también han apostado por lanzar sus propias aplicaciones para gestionar nuestras tarjetas y los pagos que realizamos con ellas.

Figura 1: Bio Hacking: Chips NFCs en tus uñas con Smart Nails

La primera vez que oímos hablar de esta tecnología fue en el año 2007 cuando la empresa de banca online Barclaycard lanzó la primera tarjeta contactless en Reino Unido, esta tecnología llamó tanto la atención que ese mismo año se lanzó en Nueva York el Nokia 6131, el primer móvil de la historia en incorporar un chip NFC. En apenas un año algunas compañías de restauración comenzaron a incorporar esta tecnología como forma de pagos.

Figura 2: Nokia 6131 con NFC.

Con el paso de los años cada vez se ha vuelto más común el uso de chips RFID o NFC, en ambos casos estas tecnologías cuentan con un chip que almacena la información y una antena con la que transmitir la información de este. Hoy en día es raro encontrar una entidad bancaria o una compañía tecnológica que no utilice esta tecnología en sus smartphones o wereables, de hecho, esta tecnología también se utiliza en los chips identificadores de las mascotas. Esta tendencia al uso del pago contactless aunque resulta mucho mas cómoda que introducir nuestra tarjeta de crédito en los datafonos en algunas ocasiones, su pérdida o robo puede suponer un aumento de las posibilidades de sufrir una estafa. El libro de Salvador Mendoza  (Nexting) llamado "Show me the (e-)money: Hacking a sistemas de pagos digitales NFC, RFID, MST y Chips EMV" recoge todas las técnicas de ataque a este tipo de medios de pagos digitales.

Figura 3: Show me the (e-)money. Hacking a sistemas de pagos digitales
NFC, RFID, MST y Chips EMV por Salvador Mendoza (Netxing)

Hasta hace poco esta tecnología seguía siendo bastante insegura, de hecho, para pagos inferiores a 20 € no se solicita que ingresemos el PIN de nuestra tarjeta. Por suerte, con el aumento de proveedores de banca digital que ofrecen la posibilidad de pagar con el móvil y de aplicaciones de cartera virtual como son Apple Pay o Samsung Pay también ha aumentado la seguridad del pago sin contacto. A la hora de realizar cualquier pago, independientemente de su importe, nuestro smartphone o smartwatch nos solicitarán que utilicemos la biometría, o en su defecto una contraseña para confirmar que somos nosotros los que estamos pagando.

Smart Nail: Uñas con NFC

Hace unos días se convirtió en noticia un salón de belleza de Dubai que acaba de añadir a su catálogo un nuevo tratamiento que ofrece la posibilidad de incorporar chips NFC en las uñas de sus clientes cuando les realizan una manicura. Con este tratamiento, que ha recibido el nombre de Smart Nail ya es posible almacenar información en las uñas de sus clientes sin que nadie lo sepa. Por el momento el tratamiento solo se utiliza para almacenar información como identificadores de perfiles en redes sociales, tu número de teléfono o incluso tarjetas de visita, pero su fundador quiere ir mas allá y utilizar esta nueva técnica para almacenar la información de las tarjetas de crédito de sus clientes y que así puedan realizar pagos contactless con las uñas.

Figura 4: Tratamiento Smart Nail con chip NFC.

Nour Makaren, el director del salón Lanour Beauty Lounge de Dubái asegura que no fue para nada fácil encontrar chips adecuados para implantar en las uñas ya que era necesario que fuesen pequeños y muy livianos para mantener el aspecto natural de la uña. Implantar el chip es muy sencillo, se utiliza un pegamento para colocarlo en su sitio y después se cubre con una capa protectora que se aplica igual que el esmalte de uñas, tras hacer esto se puede pintar encima de la uña y el chip queda totalmente oculto.

Nour asegura que su salón de belleza ya ha realizado más de 500 tratamientos y que se está convirtiendo en toda una tendencia en Dubái. Por el momento el tratamiento Smart Nail tiene un precio de 250 dirham, el equivalente a unos 60 €, y ofrece 2kb de almacenamiento, lo que lo convierte en una opción mas asequible y menos invasiva que los chips intradérmicos que se implantaron en Suecia y de los que os hablo ahora mismo.

Chips intradérmicos

Y ese que, aunque esta idea suene a ciencia ficción no es la primera vez que se implantan chips NFC en seres humanos, de hecho, hace tan solo 2 años esto se convirtió en una moda en Suecia. Una empresa llamada Biohax implanto chips intradérmicos a mas de 4000 personas en el país nórdico. Los chips son fabricados por DSruptive una empresa con sede en Suecia, pero fundada por Juanjo Tara, un ingeniero almeriense que ha sido de las primeras personas en España en implantarse un chip NFC bajo la piel de su mano. 

Figura 5: Implantando chip intradérmico de DSruptive.

DSruptive ofrece desde hace un par de años un kit que incluye el chip y material esterilizado para implantarlo por tan solo 200€ y que se puede comprar a través de su página web. Eso sí, recomienda acudir a un estudio de tatuajes o piercings para que el chip se implante correctamente y en un lugar adecuado para no sufrir ningún tipo de infección.

El chip se suele implantar entre los dedos pulgar e índice para que sea cómodo y para evitar dañar las terminaciones nerviosas de la mano al implantarlo, por el momento estos chips solo permiten almacenar 2kb de información, pero se puede grabar en ellos lo que se quiera y para acceder a la información es necesario utilizar un lector o un smartphone con NFC y una aplicación para su lectura. 

Bio Hacking

Las técnicas de Bio Hacking ya llevan tiempo entre nosotros. Son muchos los humanos que han decidido implantarse chips, sensores, y unidades de almacenamiento en su cuerpo. Desde dispositivos que vibran cuando suben las mareas hasta chips que almacenan tu vida. La decisión de mejorar las capacidades de los los llamados cyborgs solo está empezando. Nuestro compañero Gabriel Bergel habló del Bio Hacking en una charla que merece la pena que veas.


Estos tratamientos de Bio Hacking pueden resultar muy funcionales, ya que olvidarnos la cartera en casa o el coche no es muy habitual, pero puede suceder, olvidarse de llevar una uña o la propia mano es algo imposible. Sin embargo, estaríamos poniéndonos en la misma tesitura que antes, al llevar nuestras tarjetas de crédito implantadas en la uña o en la mano no resultaría muy difícil acercar un lector NFC o un datáfono y cometer un robo de información o una estafa sin que nos diésemos cuenta ya que en estos casos no contamos con un doble factor de autenticación.

Saludos,
 
Autor: Sergio Sancho, Security Researcher en Ideas Locas.

viernes, julio 30, 2021

aDLL: Análisis de binarios y búsqueda automática de DLL Hijacking

Hace ya unos meses desde que se publicó el artículo "Qué es una DLL y en qué consiste el DLL Hijacking" en el que os hacia una introducción a la razón e la existencia de las bibliotecas de enlace dinámico y al concepto de DLL Hijacking, el ataque que tiene lugar cuando un auditor o un ciberdelincuente tienen la capacidad de suplantar una de estas bibliotecas por otra con código malicioso. Después de explicar los conceptos a nivel teórico se publicaron otros dos artículos más sobre el tema: "Identificando programas vulnerables con Process Monitor" y "Cómo explotar una vulnerabilidad de DLL Hijacking en Slack".

Figura 1: aDLL: análisis de binarios y búsqueda automática de DLL Hijacking

En el primero de ellos hablaba sobre cómo analizar programas para dar con DLLs que no son encontradas en las carpetas donde el programa las busca, lo que podría dar lugar a un caso de DLL Hijacking si se disponía de permisos en dichos directorios para depositar la DLL maliciosa. En el segundo artículo pasábamos a la acción y os demostraba cómo se podría realizar el ataque haciendo uso del mecanismo DLL Proxy.

Figura 2: Máxima Seguridad en Windows Gold Edition
de Sergio de los Santos en 0xWord

Hoy, dentro de las investigaciones de Hacking & Hardening en Windows, continuamos con la serie dedicada al DLL Hijacking para presentaros una herramienta que he desarrollado durante mi paso por el equipo de Ideas Locas de Telefónica y que estará disponible en GitHub como herramienta Open Source, por lo que os animo a probarla y colaborar para hacerla mayor y mejor.

Adventure of Dinamyc Link Library (aDLL)

aDLL nació de la idea de automatizar todo el proceso de búsqueda de las DLL que importa un programa para saber cuáles de todas ellas pueden dar lugar a un ataque de DLL Hijacking. Algo así como lo que se hace habitualmente con Procmon pero a través de terminal y con la posibilidad de analizar de golpe varios ejecutables. Para detectar DLL candidatas a un caso de DLL Hijacking simple lo primero que se necesita conocer es cuáles son las DLL que cargará el programa que estamos analizando. Si recordamos las formas que tiene un programa para cargar una DLL sabemos que existen tres formas principales: en load-time, en run-time y mediante delay-load

Figura 3: Funcionamiento general de aDLL

La vinculación de DLL en load-time y delay-load es llevada a cabo por el Linker y las DLL en run-time por llamadas a las funciones LoadLibrary / LoadLibraryEx durante la ejecución de un programa. En el esquema anterior se muestra el funcionamiento general de aDLL para “extraer” todas las DLL que un programa intenta cargar en memoria.

DLL Implícitas y formato PE

A las DLL importadas por el Linker las llamamos de Vinculación Implícita y pueden encontrarse en la información almacenada por el propio binario. Como el objetivo de este artículo no es hacer una descripción del formato PE32/PE32+ que es el que tienen hoy en día los archivos del tipo Portable Ejecutable (PE) de Windows como son los ejecutables y las DLL. Basta con saber que la estructura que tiene un binario ya compilado está estandarizada de forma que esos bytes que forman el binario están organizados en secciones que contienen toda la información que el loader de Windows necesita para ejecutar ese binario correctamente.

Utilizando un lenguaje de bajo nivel como C/C++ podemos cargar un ejecutable como imagen en la memoria, es decir, como un mapa de bits. Con la imagen cargada en memoria se pueden recorrer los bytes mediante punteros (la dirección de la memoria de esos bytes) extrayendo y analizando la información que nos interese. Para calcular con exactitud la dirección de la memoria a la que queremos acceder se debe conocer muy bien cómo está organizado el formato PE y las estructuras de datos que lo forman.

Figura 4: Hacking Windows: "Ataques a sistemas y redes Microsoft"
de Pablo González, Carlos García y Valentín Martín.

aDLL carga la imagen del binario en memoria y busca directamente en la IMPORT TABLE del binario para extraer los nombres de las DLL que se cargaran en load-time y en la DELAY IMPORT NAME TABLE para extraer los nombres de las delay-load DLLs. Una vez “extraídos” los nombres de éstas DLL se almacenan en un buffer para su posterior análisis.

DLL explícitas y Microsoft Detours

Microsoft Detours es una biblioteca diseñada para interceptar llamadas de un programa a la API win32 con la finalidad de que los programadores puedan analizar y debuggear su código. El proceso de interceptar funciones en un proceso de un programa que se está analizando se conoce como hook de una función y tiene lugar cuando se “captura” la función y se desvía el flujo de ejecución normal del programa para que podamos inyectar código antes de que esa función haga su return.

aDLL hace uso de la biblioteca Detours para extraer el nombre de las DLL cargadas por las funciones LoadLibrary, que son las que llamamos DLL de vinculación explícita. Para ello se utilizan las funciones de Detours para generar una nueva DLL con hooks a las funciones LoadLibrary y se crea un nuevo proceso del programa analizado en el que se inyecta esa DLL con los hooks. Cada vez que se “captura” una función LoadLibrary se extrae el nombre o ruta de la DLL que el programador pasó como parámetro a la función (y también las FLAGS que se hayan usado con LoadLibraryEX) y se escriben los datos extraídos en un fichero temporal que luego será leído por el proceso principal de aDLL.

Análisis de las DLL

Una vez que se ha analizado el ejecutable y se han extraído las DLL que importa, aDLL filtra todas aquellas DLL que pertenecen a la lista de Known DLLs (no se buscarán en disco y no darán lugar a un Hijacking) y, de momento, también se filtran las DLL que pertenecen al Api Set schema debido a la complejidad que supone la resolución de la redirección de estas DLL virtuales a la DLL física que contiene sus funciones, y también se filtran aquellas DLL que hacen uso del sistema side by side assembly.

Para aquellas DLL que no han sido filtradas se analizan junto a la FLAG con la que hayan sido importadas si la hubiera y se replica el mecanismo de búsqueda de Windows para conocer la ruta de los directorios donde la DLL será buscada y no encontrada. En la siguiente figura se demuestra cómo aDLL analiza un binario vulnerable a DLL Hijacking, se trata de la versión 2.0.3 de utorrent publicada en exploit-db.

Figura 5: Análisis de la versión 2.0.3 vulnerable de utorrent

Para aquellas DLL que sí son encontradas aDLL dispone de la opción “-r” para hacer una búsqueda recursiva de las dependencias que son importadas a su vez por esa DLL. Una vez se tiene una lista de DLLs no encontradas para el programa analizado, con la opción “-aaDLL comprobará automáticamente para cada DLL en la ruta en la que no ha sido encontrada si da lugar a un Hijacking, lo que se consigue copiando una DLL maliciosa con el nombre de la DLL legítima en dicha ruta. Si la ejecución de la DLL maliciosa tiene lugar se generará un fichero temporal y aDLL comprobará la creación de ese fichero como demostración de que el Hijacking ha tenido éxito.

Figura 6: Test automático de Hijacking

En los vídeos aparecen distintos casos de uso de la herramienta, cómo el análisis de múltiples ejecutables y un ejemplo de análisis automático en utorrent en el que se selecciona una DLL cuyo payload genera una reverse shell de Meterpreter.


Figura 7: PoC lista de DLLs implícitas en un binario de Windows


Figura 8: PoC análisis de DLLs candidatas a ser vulnerables a DLL Hijacking con addl

Figura 9: PoC de aDLL y explotación con Meterpreter

Espero que te animes a probar la herramienta y en cuanto esté publicada en el GitHub, eres libre de mejorarla y ampliarla, que nos encantará.

Saludos,

jueves, julio 29, 2021

Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)

Como vimos en la primera parte de este artículo, tanto para construir una DeepFake con FaceSwapping como para crear una GAN entrenada para crear un Virtual Replicant que utilizar en vídeo conferencias, necesitamos utilizar los servicios cognitivos de visión artificial, que hace unos años ya consiguieron alcanzar la paridad humana en muchos de los aspectos en los que utilizamos la visión los seres humanos, como el reconocimiento de objetos, el reconocimiento de personas, etcétera.

Figura 8: Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)

Los investigadores de Microsoft Research construyeron en el año 2017 un modelo de Inteligencia Artificial entrenado con 1 millón de fotografías de 100.000 celebrities de todo el mundo - entre las que se encuentran entre otros Chema Alonso y Kevin Mitnick - capaces de reconocerlos en cualquier fotografía, incluso si Kevin se pone el gorro de Chema Alonso y Chema se pone las gafas de Kevin Mitnick como podemos ver en esta fotografía.


Esta capacidad de crear un modelo de inteligencia artificial capaz de reconocer a una persona de manera acertada cuando se tienen suficientes fotografías de ella, es lo que permite tener una GAN funcional, ya que el Discriminador será el que se encuentre entrenado con las fotos originales, haciendo que el Generador deba trabajar duro para engañarla con una DeepFake.

Engañar al Discriminador con una cara falsificada en un vídeo de DeepFakes es una cuestión de grado de certeza en el reconocimiento. Si se baja el nivel, será más fácil que el Generador engañe al Discriminador pero al mismo tiempo será menos realista y puede que no engañe a las personas. Un ejemplo de esto es el modelo de Inteligencia Artificial de Microsoft para recocer si dos caras en dos fotografías son las mismas, donde una fotografía de Chema Alonso fue capaz de confundir al modelo y hacer que pensara que George Clooney eran la misma persona.

Figura 11: ¿Son Chema Alonso y George Clooney la misma persona?

Al final, la base de todo lo que rodea a los DeepFakes es la visión artificial, y en concreto, como ya hemos dicho, los servicios cognitivos de reconocimiento facial. Este procedimiento de reconocimiento de caras es bastante sencillo con pocas líneas de código utilizando OpenCV por ejemplo y el clasificador Haar Cascade como podemos ver en este sencillo ejemplo ejecutado sobre Google Colab:

Figura 12: Ejemplo de utilización de detección de caras con OpenCV.

Los diferentes algoritmos de reconocimiento de caras han ido evolucionando y también las posibles aplicaciones prácticas. Y claro, una de estas aplicaciones es el reconocimiento de personas que se podría integrar en cámaras de seguridad y así detectar cuándo una persona entra por ejemplo a una habitación o ha sido grabada en un acto delictivo. Esto, por supuesto, también puede ser una violación de nuestra privacidad, debido a tres factores. 

El primero de ello es la aparición de las cámaras de gran resolución que son capaces de captar grandes espacios de una ciudad con una sola instantanea, capturando la vida de muchas personas. Puedes ver un ejemplo de esto en esta fotografía de 195 Megapíxeles en 360º de la ciudad de Shanghai

En segundo, porque como hemos visto en el caso de George Clooney y Chema Alonso, los modelos han alcanzado la paridad humana, pero no la perfección, y por tanto, como los humanos se pueden equivocar. Y el tercero se basa en la garantía de que los datos que se han utilizado para su entrenamiento son correctos, y de qué ha aprendido correctamente, lo que no siempre es posible, como vimos en el modelo de IA que tendía a aclarar la piel en las imágenes de poca calidad - como las que se utilizan en muchas cámaras de seguridad -.


Por supuesto, también podemos pensar en la gran cantidad de aplicaciones prácticas y útiles que tendría. Usando el ejemplo de Google, los servicios cognitivos de visión artificial permiten detectar gestos, emociones, etcétera, pero si además, si eres algún tipo de personalidad, existen aplicaciones que te detectan y reconocen como hemos visto en el ejemplo anterior.

Toda la tecnología que rodea a la detección de caras seguirá evolucionando y estará cada vez más en aplicaciones que usaremos día a día. No debemos olvidar que todos llevamos encima un potente ordenador capaz de hacer una foto de alta resolución y enviarla a cualquiera de estos servicios en tiempo real y casi sin latencia con la llegada del 5G y así saber con quién estamos hablando o a punto de encontrarnos.

2018 – Faceswapping Axl Rose y Chema Alonso

Conociendo esto, decidimos explorar las posibilidades, sobre todo en el mundo de las Fake News, y en el año 2018 comenzamos a trabajar con el concepto de FaceSwapping, donde vimos de los riesgos que podían suponer para la sociedad, para las organizaciones y los estados. La tecnología avanzaba muy rápido y nosotros hicimos una pequeña prueba de concepto de cara a nuestro evento anual de la antigua ElevenPaths - ahora Telefónica Tech - llamado Security Innovation Day.

En este primer contacto con las técnicas de Faceswapping trabajamos con autoencoders y cambiamos el rostro de Axl Rose por el de Chema Alonso en un vídeo de unos segundos para hacer una Fake News. Aprendimos que en el caso de las DeepFakes, con la finalidad de mezclar caras, entrenar dos autoencoders de forma separada no tendría ningún sentido, pues la representación de los espacios latentes aprendidos por cada uno sería totalmente diferente y no podrían ser usadas al mismo tiempo.

(Hoy en día se ve pobre, pero en 2018 ya se veía su pontencia si mejoraba).

La tecnología de FaceSwapping es posible si se codifican dos clases diferentes de datos de entrada en una misma representación latente. Esto se ha conseguido construyendo dos redes neuronales que comparten el mismo encoder pero usan dos decoders diferentes. En la Figura 7 de la primera parte de este artículo se puede ver claramente el funcionamiento. Esto se hace por cada fotograma del vídeo en el que se quiere hacer la suplantación de las caras.

2019 – GAN de Chema Alonso

En el año 2019, con una aceleración brutal de todas las tecnologías de DeepFakes y FaceSwapping,  comenzamos un trabajo en el que se quería comprobar las posibilidades de llevar a cabo una estafa del CEO a través del aprendizaje por parte de una IA a hablar como él y a ser capaz de generar una imagen de vídeo de la persona a suplantar en tiempo real. Para esto comenzamos trabajando con GANs con el objetivo de poder crear imágenes falsas de una persona, en este caso, como no, le tocó otra vez a  Chema Alonso, y poder ver los posibles resultados. 

Además, decidimos realizar el estudio para sintetizar una voz usando un modelo de Inteligencia Artificial que reprodujera las frases como de la forma más parecida posible a la forma en la que lo haría Chema Alonso, aunque tuvimos que usar el inglés, debido a que es en esta lengua donde estaban más avanzadas las tecnologías en estos servicios cognitivos de visión y voz que necesitábamos.

Otro tema interesante es que se quería hacer con recursos de bajo coste y Open Source para demostrar que en ese momento, principios del año 2019, todo estaba en Internet y accesible a cualquier usuario. Eso sí, la complejidad de montar todo y de trabajar el entrenamiento de los modelos no era sencillo. Es decir, queríamos demostrar que con dos redes neuronales enfrentadas se puede generar una imagen resultante que puede engañar a cualquier ojo humano en tiempo real, y sin necesidad de grandes recursos.

Figura 16: Enrique Blanco controlando la GAN de Chema Alonso

Para este caso se utilizaron los siguientes requisitos, que aplicaríamos sobre un vídeo elegido. En nuestro caso un vídeo en el que nuestra "víctima" habla a la webcam como si fuera una vídeo-conferencia y explica cosas con un fondo más o menos blanco. Nos pareció bueno para hacer la simulación y extraer de él los rostros necesarios para traerlo a la vida como si fuera nuestra marioneta. En el vídeo anterior podéis ver a nuestro compañero Enrique Blanco controlando la GAN de Chema Alonso.
  • PC con una NVidia como GPU
  • Anaconda / Python 3.5
  • OpenCV 3.0
  • Dlib 19.4
  • Pix2pix-tensorflow
  • CUDA 8.0
  • CUDNN 6.0
  • Drivers aplicables a la GPU
La librería para generar este tipo de caso se puede encontrar en el siguiente Github y se llama face2face-demo. Con ella se creó la GAN de Chema Alonso para controlarlo en tiempo real, y que abría las posibilidades, más que reales, de que aparecieran los Virtual Replicants.

2019 – Generación Voz MS Custom Voice

La siguiente prueba consistía en crear un modelo de inteligencia artificial que crease, mediante un servicio cognitivo de text-to-speech, frases realistas que suplantaran a la víctima. En nuestro caso, para la generación de audio de esta prueba se utilizó el servicio Custom Voice de Microsoft con el que se puede entrenar una IA para que a través de texto y audios se pueda enseñar al modelo de inteligencia artificial a hablar como una determinada persona.
Tuvimos que hacerlo en inglés, ya que, como hemos dicho antes, los idiomas disponibles eran inglés y chino (simplificado). En este caso nos surgió un problema ya que teníamos audios de Chema Alonso de sus charlas en DefCON, Blackhat y demás dadas en inglés, pero necesitábamos los textos. 

Figura 18: Datos completos para entrenar la voz

Para ello, utilizamos otro servicio cognitivo basado en inteligencia artificial, en este  el servicio cognitivo de Google Cloud Speech-To-Text para transformar los audios a texto. Con esos textos y los audios asociados, en fragmentos de 30 segundos, ya podíamos pasarle la info a MS Custom Voice y poner a entrenar la IA. El resultado era bueno, aunque con un toque metálico que se podía trabajar en post-producción, como veremos luego.

 2019 – Ataque CDO por Skype

Juntando la parte de vídeo con el ejercicio de la GAN y la parte del audio y el entrenamiento de la IA y la voz con MS Custom Voice se montó la prueba de concepto del ataque de CDO (hoy CDCO) como si de una llamada de Skype se tratase. En esta demo se puede ver al Virtual Replicant de Chema Alonso  con su voz solicitando que se haga una transferencia desde un bar.


2019 - Ataque de CEO real con Voz generada por IA

Ese mismo año, el día 30 de Agosto, el Wall Street Journal contó que este tipo de ataque del CEO utilizando Inteligencia Artificial ya se comenzó a utilizar con éxito - al menos que se conozca - en una empresa del Reino Unido en la que la voz de un CEO fue reconstruida en un modelo de IA que se utilizó para solicitar a un empleado de la firma que hiciera una transferencia de 220.000 €.

Figura 20: Noticia en el Wall Street del ataque del CEO usando IA

Por supuesto, mucho ha llovido en estos dos años, y tanto los esquemas de ataques, como las herramientas, como los estudios de Inteligencia Artificial en este área no han parado de aumentar, pero eso lo veremos en la siguiente parte de este artículo.

**************************************************************************************************
- Una historia de Blade Runners & Virtual Replicants (Parte 1 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 2 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 3 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 4 de 5)
- Una historia de Blade Runners & Virtual Replicants (Parte 5 de 5)
**************************************************************************************************

Entrada destacada

Singularity Hackers: Para descubrir el trabajo de Ciberseguridad & Seguridad Informática que mejor se adapta a ti

Hoy me toca hablar de Singularity Hackers , la nueva plataforma de Inteligencia Artificial que te ayuda a descubrir el trabajo en Cibersegu...

Entradas populares