Mostrando entradas con la etiqueta Skype. Mostrar todas las entradas
Mostrando entradas con la etiqueta Skype. Mostrar todas las entradas

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.

jueves, octubre 08, 2020

Digital Enterprise Show: A World of AI. A World to Build.

Durante el año 2019 participé en el evento de Digital Enterprise Show Madrid con una charla de media hora más o menos con el título que encabeza este post "A World of AI. A World to Build". El evento tenía las charlas en inglés, así qué, que no os extrañe que no esté en Español la charla que os dejo hoy.


El contenido de la presentación no trae cosas que nos haya contado a lo largo del último año, pero he conseguido la grabación y os la he puesto a disposición por si queréis verla. En ella me centro en el tema de los Cognitives Services, o lo que es lo mismo, los modelos de Inteligencia Artificial construidos para reproducir las capacidades cognitivas de los seres humanos, como son la visión, el habla, la traducción, la lectura de labios o la comprensión lectora.


Figura 2: Skype con Translator Services

El tema que utilicé como referencia para esta presentación es de la Paridad Humana, o cómo los servicios de cognitivos cada vez van superando a las personas. Eso sí, cometiendo también los errores que tenemos las personas, como cuando os contaba que un servicio de reconocimiento facial podría reconocerme fácilmente en cualquier foto, y sin embargo otro pensar que George Clooney y yo compartimos la misma cara.


Figura 3: Digital Enterprise Show: A World of AI. A World to Build.

Al final, se pueden hacer cosas que hagan la vida de las personas mejor gracias al desarrollo de estos servicios cognitivos, pero debemos asegurarnos de que sea así y que no tengamos servicios que hagan cosas malas a las personas, como vemos con las DeepFakes en las Fake-News, la suplantación de personas en vídeoconferencias o conversaciones telefónicas para robar dinero a las empresas, o "la adicción de las personas a la tecnología".


Figura 4: BigData & AI for guys

Tenemos que decidir nosotros cómo queremos construir este mundo de Inteligencia Artificial en el que estamos inmersos.

Saludos Malignos!

lunes, septiembre 30, 2019

El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 4 de 4)

Y llegamos a la última parte de esta serie dedicada a mi querido, caótico, y necesario sistema de correo electrónico, pero que a la vez forzamos para cubrir necesidades que no siempre puede cubrir. Como hemos visto hasta aquí, tiene muchas carencias que yo he querido resolver en esta pequeña lista que os dejo a continuación.

Figura 17: El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 4 de 4)

Como principales problemas con el correo electrónico, estos son algunos de los temas a los que nos tenemos que enfrentar, y aceptar, cuando lo utilizamos. Yo los he resumido en 10 puntos que recogen, más o menos, todo lo explicado en las tres partes anteriores.
1.- Identidad del remitente: Mientras no se utilice PGP o S/MIME, la identidad del remitente de una comunicación es siempre algo muy dudoso. Por eso existen los ataques de Phishing, aunque tengamos tecnologías de mitigación como Reverse MX Lookup, SPF, Sender ID y DMARC.
2.-  Privacidad: Las comunicaciones no siempre van cifradas extremo a extremo. El sistema de correo electrónico enruta los mensajes entre servidores que están en medio del camino entre el servidor de correo saliente y el servidor de correo entrante, y mientras el usuario no cifre sus mensajes con PGP o S/MIME, los mensajes pueden pasar por tramos sin cifrar, aunque se use SMTP-S, POP3-S, HTTPs o Mutual-TLS en algunos tramos.
3.- SPAM: La posibilidad de que cualquiera pueda enviarte publicidad masivamente a tu dirección de correo electrónico es algo muy barato como para desdeñar su uso. Hemos puesto regulaciones como LSSI, LOPD o GDPR, pero muchas empresas no están sujetas a ellas o directamente las ignoran. Por supuesto, los Filtros Bayesianos, los sistemas de reporte de SPAM con interacción de usuario, las técnicas de Machine Learning y las DNSBL o RBLs (RealTime BlackHole Lists) mitigan el impacto, pero ni mucho menos acaban con él.
4.- Seguridad: Al igual que con la publicidad, las campañas de Fraude (ventas falsas, estafas "scams" etc..), de ransomware personal o empresarial, de exploits e instalación de R.A.T.s (Remote Administration Tools) para meter los equipos clientes en botnets, etc... hacen que el correo electrónico sea el canal preferido por todos.
5.- Confiabilidad: Debido a que tenemos que aplicar filtros anti-Spam, Anti-Phishing, y Anti-malware que no son perfectos ni mucho menos, tenemos una pérdida de correos legítimos de muchas personas, que pueden ser una oportunidad de negocio, una comunicación esperada o un mensaje necesario para una gestión, lo que hace que muchos acabemos llamando por teléfono a las personas a las que enviamos mensajes importantes para garantizar que el mensaje ha llegado.
6.- Productividad: Algunas personas dedican hasta cinco (5) horas al día de su tiempo a procesar el correo electrónico, lo que hace que su productividad no se esté viendo siempre mejorada por el uso de un sistema de comunicación como el e-mail. Esto se debe a que el coste de enviar un correo electrónico es prácticamente cero, muchas personas no hacen un uso responsables de las comunicaciones y tienen en cuenta el tiempo que debe invertir el (o los) receptor(es) en su lectura y contestación.  A la gente le sale barato robar tiempo de la vida profesional o personal por medio de un mensaje de e-mail.
7.- Trabajo extra: Si el miedo a perder mensajes hace que configuremos umbrales a los filtros muy pequeños, o que nos repasemos la carpeta de mensajes de Correo No Deseado cada día, los usuarios comenzarán a hacer tareas extras de borrado y clasificación de mensajes buenos o malos, revisando entre correos de spam, malware, estafas, etcétera, aquellos que son realmente útiles para el receptor.
8.- Identidad Personal: Como os he dicho antes, el uso de la dirección de e-mail como identidad en los servicios de Internet, ha hecho que compartir tu dirección de correo electrónico se convierta en una forma de desvelar todos aquellos sitios en los que tienes 
9.- Disponibiliad: Debido a todo lo anterior, las personas suelen optar por dos alternativas. O no compartir fácilmente su dirección de correo o compartir una dirección de e-mail que deja claro que no es la suya personal. En el primer caso, se produce un efecto de indisponibilidad, ya que el que realmente quiere contactar contigo por algo útil ve dificultada su tarea, generando una pérdida de mensajes que podían ser relevantes para las personas. Un efecto contrario al origen de la comunicación.
10.- Impresonalidad: En la segunda opción del punto anterior, las personas tienen a poner un buzón impersonal como forma de contacto, lo que rechaza la comunicación. No se sabe quién está detrás de ese buzón, así que genera un rechazo en las personas ya que nos imaginamos a un conjunto de personas procesando esos mensajes. Es decir, perdemos de nuevo comunicaciones.
¿Y qué hemos hecho en nuestra vida personal?

Pues nos hemos tirado a otros tipos de comunicación. En la comunicación personal nos hemos movido hacia las Redes Sociales, que son, en contrapartida con el correo electrónico, unos de los sistemas menos interoperables del mundo. Así, tenemos cuentas en Facebook, Twitter, Linkedin, Telegram, WhatsApp, Instagram, iMessage, Twitch, etcétera. En todos estos sistemas hay sistemas de comunicación en forma de chats, comentarios o mensajes privados como e-mails. Pero de nuevo se produce un problema de productividad brutal.


Figura 18: David Guapo sobre el uso de WhatsApp

Dar tu WhatsApp implica dar tu número de teléfono a personas que pueden llamarte, buscar tus identidades en la red o hacer un uso intenso de mensajería. Yo no tengo tarjeta de visita, no doy mi correo electrónico personal y mi número de teléfono lo guardo como si fuera mi tesoro. Y WhatsApp, Telegram, o iMessage están restringidos hasta más no poder. Porque además dicen cuándo estás online. Por supuesto, si lo doy poco, utilizar WhatsApp, Telegram o Instagram como alternativa al e-mail contactos con terceros a través de Internet, es algo que no me planteo.

En cuanto a las redes sociales, sucede un poco lo mismo, abiertas a todo el mundo con mucho tiempo para que pueda pedir cualquier cosa de manera gratuita. Supongo que todos os habréis topado con mensajes no solicitados de gente que no sabéis quién son que piden cosas que os llevan tiempo. En mi caso, los mensajes de hackear a la pareja son un clásico, y por supuesto, dejé de contestar por redes sociales.


Una en particular es muy curiosa, Linkedin, que deja que cualquiera que quiera enviarte un mensaje pueda hacerlo. No es necesario que sea tu contacto, basta con que les pague a ellos por poder enviarte un mensaje. Es decir, ellos comercializan tu contacto y venden tu tiempo, pero eres tú el que tengo que contestar, y hoy en día se ha convertido en una canal muy usado para ventas. 

¿Y en la vida profesional?

Muchas empresas aún sufren en productividad por el uso intenso del e-mail. Yo me enfado cuando me envían correos kilométricos o con muchas personas en copia. De hecho, suelo hacer caso omiso de un mensaje que me tiene en copia con muchas personas. Lo siento, tengo muchos mensajes que leer que van dirigidos solo a mí. Y por supuesto, los hilos infinitos de veinte mensajes deberían ser causa de despido inmediato. 

Es la peor de las productividades. Si una persona hace eso en lugar de llamar por teléfono o arreglar la solución en una reunión personal, es que esa persona sobra en el equipo. Y si la empresa lo consiente, es que hay un problema de gestión serio.

Por eso se han intentado muchas cosas, y algunas ha fructificado. En Google, que tenían Gmail se dieron cuenta de esto internamente, y decidieron apostar por Google Wave, un nuevo sistema de comunicación para grupos que cambiaba el mensaje de e-mail tradicional por algo diferente, pero no triunfó y en el año 2012 se cerró el proyecto.

Figura 20: Imagen del proyecto Google Wave

Microsoft apostó por una cosa similar en SharePoint, del que yo mismo participé en un libro de Seguridad en SharePoint 2010 junto con mi hermano Rubén Alonso y otros compañeros para ver temas de auditoría de seguridad en la plataforma y del que apenas quedan una decena de unidades antes de desaparecer para siempre. Y a base de integrarlo con Microsoft Office y el resto de tecnologías en la empresa ha ido consiguiendo perdurar, aunque no es precisamente el más querido por muchos grupos de usuarios empresariales que necesitan otras formas de comunicación.

Figura 21: Libro de Microsoft SharePoint 2010: Seguridad

Sistemas como Skype o Google Hangout - y los canales IRC en grupos de seguridad - se convirtieron en buenas alternativas en la empresa para las comunicaciones, pero al final han sido Slack y Microsoft Teams los que han dado el salto para tener sistemas de comunicación en grupos de trabajo similares a los que Google Wave proyectaba. Es decir, un lugar donde se centralicen los documentos, se puedan editar, se permitan reuniones en real-time o mensajes en diferido.

Con todas estas alternativas, las personas se han ido buscando formas diferentes de suplir al correo electrónico y evitar todos los problemas anteriores. Hoy en día, mi equipo personal y compañeros me mandan un WhatsApp que contestaré cuando pueda, pero seguro que mucho antes que un e-mail, y los desarrolladores y equipos de producto usan Slack o Microsoft Teams antes que enviar infinitas listas de mensajes de e-mail.

Por supuesto, también quedan cosas que solucionar, como lo que sería publicar un e-mail de contacto al exterior que no sufriera los diez puntos anteriores, pero en eso también estamos trabajando, porque está claro que ni las redes sociales ni las soluciones empresariales que he citado, ni el e-mail tradicional arreglan todos esos problemas.

Resurección

Los seres humanos necesitamos comunicarnos. Para socializar. Para trabajar. Para demostrar que estamos enfadados. Para decirle a esa chica que te gusta mucho. Para educar a nuestros hijos. Y en todos estos momentos el e-mail ha sido una pieza fundamental en las últimas décadas de nuestra existencia.

Como hicimos en el pasado cuando pasamos del copiar ficheros de texto de una carpeta a otra para dar el salto a SMTP y POP3, tendremos que aceptar los nuevos cambios. La disrupción está llegando a esa dirección de e-mail y tendremos que pensar en cuáles serán las funciones de ese tunombre@tuhost.com que tanto hemos utilizado en los últimos años. Tal vez sea solo para compañeros y amigos y totalmente privado. Tal vez solo sea para la gestión de la identidad.

O tal vez sea un concentrador de comunicaciones privado que debemos proteger y que interactuará con los sistemas empresariales tipo Slack o Microsoft Teams, y las redes sociales personales sin nunca ser revelado. Un concentrador que no deba ser expuesto en la red nuca para evitar todos los problemas que he citado en los puntos anteriores.

Lo que sí que tengo claro es que hemos extenuado el modelo con tantos parches, y las nuevas tecnologías están robándole cuota de uso práctico, mientras que seguimos teniendo una carga en su gestión y un foco de riesgos de seguridad y privacidad personal y empresarial.

Eso sí, contar nuestra historia como seres humanos sin hablar del e-mail sería injusto. Sería inexplicable Internet sin uno de sus servicios mágicos, míticos y más poderosos que hemos tenido la suerte de utilizar. Así que, ¡Larga vida al e-mail! Aunque tengamos que acotar o re-definir sus usos.

Saludos Malignos!

Autor: Chema Alonso Contactar con Chema Alonso

********************************************************************************************************
- El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 1 de 4)
- El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 2 de 4)
- El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 3 de 4)
- El e-mail ha muerto. ¡Larga vida al e-mail! (Parte 4 de 4)
********************************************************************************************************

viernes, junio 08, 2018

Metashield Bots: Análisis y limpieza de metadatos para todos desde Telegram, Skype o Slack

Hace no mucho, el laboratorio de ElevenPaths me sorprendió con un proyecto de los suyos que iba a llevar uno de mis productos favoritos, MetaShield, a todos los usuarios de Skype, Telegram o Slack. La idea es bastante sencilla, y a la vez bastante útil y cómoda. Se trata de integrar el motor de limpieza y análisis de metadatos que utiliza MetaShield como un bot de las plataformas Skype, Telegram o Slack.

Figura 1: Metashield Bots: Análisis y limpieza de metadatos para todos desde Telegram, Skype o Slack

El bot se puede invocar y hablar con él para extraer y analizar los metadatos de cualquier documento ofimático, y las únicas limitaciones que tiene son temporales. Es decir, el número de limpiezas que se puede hacer desde una determinada ubicación es de 2 por hora, aunque la integración que hemos hecho con la plataforma de bots permitiría hacer una limpieza de hasta 500 documentos a la hora, pero eso sería para implantaciones empresariales que lo requieran.


Figura 2: MetaShield Bot Skype

El funcionamiento es bastante sencillo, así que hemos grabado estos tres vídeos que explican el proceso de localización del bot en cada una de las plataformas - son bots públicos con los que cualquiera de vosotros puede interactuar -, como hacer el análisis de metadatos de un determinado documento y cómo limpiarlo.


Figura 3: MetaShield Bot Slack

Esto lo presentamos en el pasado Security Day de ElevenPaths, donde también hablamos de Dario - un proyecto que aparece en los vídeos de los bots de MetaShield - que sirve para analizar malware en macros de documentos ofimáticos, pero subiendo solo las partes del documento que son necesarias para ese análisis, lo que ayuda a dotar de más privacidad al documento. Pero eso es otra cosa que os contaremos más adelante.


Figura 4: MetaShield Bot Telegram

El el blog de ElevenPaths tenéis más información de estos tres bots de MetaShield en Skype, Telegram y Slack, y en la web de ElevenPaths tenéis información de todos los productos de la familia MetaShield Protector, incluida la versión de MetaShield Clean-up Online que permite analizar y limpiar metadatos en documentos con un sitio web.

Saludos Malignos!

lunes, noviembre 13, 2017

Mensajes cifrados, Mensajes ofuscados: Skrypted, Esteganografía & Estegoanálisis

Los sistemas de comunicaciones seguras son unos de los más analizados por los equipos de seguridad de todas las compañías. Por supuesto, en ElevenPaths esta es una línea de trabajo desde el día en que comenzamos a andar, y por ello mantenemos líneas de investigación permanentes. Hoy os traigo un par de referencias a cosas que en las que hemos trabajado, unas referentes a sistemas de comunicación cifradas y/o ofuscadas usando esteganografía y estegonanálisis y otra referente a la protección y cifrado de mensajes cuando estos están en el equipo.

Figura 1: Mensajes cifrados, Mensajes ofuscados: Skrypted, Esteganografía & Estegonálisis

La primera de las referencias es una charla que hemos impartido dentro de nuestros ElevenPaths Talks en la que analizamos el funcionamiento y el estado del arte de las herramientas y técnicas utilizadas en covert channels, tan conocidas en el mundo de la Esteganografía y el Estegonanális, que nosotros tocamos ya en el libro de 0xWord.


Figura 2: ElevenPaths Talks 3: Esteganografía & Estegoanálisis

La segunda de las referencias es una solución que añade una capa de cifrado a los mensajes de las conversaciones de Skype que tenemos almacenadas en el equipo. Éstas, por defecto, se almacenan sin ningún tipo de cifrado, y dentro de uno de nuestros Equinox, el equipo del Laboratorio de ElevenPaths desarrolló Skrypted, una pequeña herramienta que permite cifrar los mensajes.

Figura 3: Skrypted para descargar

Su fucionamiento se ha explicado en el blog de ElevenPaths, pero puedes ver un claro ejemplo de cómo se utiliza en este vídeo que os he subido a Youtube, donde se ve paso a paso cómo se roba una base de datos de Skype con un simple fichero Excel malicioso y cómo ésta se encuentra protegida.

Figura 4: Funcionamiento de Skrypted

Tienes la explicación completa de todo el proceso de robo de la base de datos usando un Excel malicioso, cómo la base de datos se cifra y se protege, en la charla que el equipo del Laboratorio de ElevenPaths impartió durante nuestro Security Innovation Day 2017.


Figura 5: Innovation "A path to success"

Saludos Malignos!

miércoles, junio 29, 2016

Cómo montar un sistema de vigilancia en tu casa muy barato y extremadamente sencillo #CCTV

Hace un año compré una alarma barata en la ferretería de mi barrio, que consiste en un detector de movimiento que se comunica de forma inalámbrica con una unidad central, que a su vez está conectada a una línea de telefónica y que puede tener una tarjeta SIM para hacer llamadas. El funcionamiento es sencillo: si se detecta algún movimiento, se manda una señal a la unidad central, que te hace una llamada a los números de teléfono que configures.

Figura 1: Cómo montar un sistema de vigilancia en tu casa
muy barato y extremadamente sencillo

Es un sistema funcional que te permite saber de esta forma que, si recibes una llamada de alarma en el móvil, sabes que algo se mueve en tu casa. Pero por desgracia no sabes si se trata de una mosca que ha pasado por delante del detector o es que realmente ha entrado alguien en tu hogar mientras tú estabas fuera. ¿Qué haces entonces si te pilla de vacaciones? ¿Llamas a la policía o molesta a tu vecino? La intranquilidad te mata y piensas algo como ¡lo que daría por ver lo que pasa dentro de mi casa en esos momentos!

Soluciones para montar un CCTV de andar por casa

Una solución relativamente sencilla, pero cara para los que no tenemos mucho dinero, sería comprar una cámara de vigilancia IP semiprofesional para poder conectarte a distancia desde tu smartphone o ver lo que pasa vía un servidor web. Esto puede tener ventajas en cuanto a usabilidad, pero si recuerdas el artículo que le dedicó Retro-Maligno a la Cámara de Seguridad GM01 tal vez pensar en que puedas acabar desnudo en Internet no sea lo que más desees.

Figura 2: Las imágenes de los usuarios de la GM01 publicadas en Internet

También podrías comprar un sistema de alarma más completo con todos los elementos de cámara y detectores integrado pero esto no es low-cost y si te metes en un lío como Claudio Caracciolo y su sistema de seguridad CCTV comprado por Internet, lo mismo acabas teniendo más problemas que ventajas.

Figura 3: El sistema CCTV que tantos problemas le dio a Claudio

Low-cost (primera premisa) sería utilizar como cámara de vigilancia un smartphone antiguo al que poderse conectar para ver quién hay en casa, pero además debe ser extremadamente sencillo (segunda premisa). De esto hemos visto muchas soluciones con apps como por ejemplo Presence, que está orientado al mundo Apple con iPhone o iPad.


Figura 4: Presence permite usar iPhone & iPads antiguos como sistemas CCTV

Pero como la necesidad agudiza el ingenio, aún podemos ser más imaginativos y explorar algunas alternativas de las de andar por casa, para ver cuál es la más sencilla, tanto que hasta Penny pueda hacerlo y utilizarlo.

Alternativa 1: cámara IP remota

Consiste en instalar en el smartphone una app para funcione como una cámara IP remota a la que conectarse, como puede ser el caso IP Webcam - al estilo de Presence pero sin tener que poseer un dispositivo made in Apple que tan caros salen -.

Figura 5: IP Webcam para Android

Pero para esto hay que abrir el puerto de la cámara IP en el router de casa y utilizar un servicios de DNS dinámico con cliente disponible en tu smartphone (como no-ip o FreeDNS). Eso sin olvidar de ponerle una contraseña de acceso a la cámara y tener mucho cuidado no vaya a ser que acabes como en el caso de la app PAW que dejaba todo tu terminal - y tu micrófono y tu webcam - abiertos a Internet.

Figura 6: Servidores PAW accesibles en Internet con password por defecto

Pensándolo bien, creo que hacer todo esto no sería tan extremadamente fácil para Penny.

Alternativa 2: grabación con almacenamiento en la nube

Otra opción es utilizar una app de grabación de video con almacenamiento en la nube, como es el caso de Alfred o Ivideon.

Figura 7: Ivideon Vídeo Suveillance para Android

Con esta alternativa, te evitas abrir puertos en el router ni configurar ningún DNS dinámico. Además, estas soluciones suelen tienen algunas características interesantes, como la notificación en caso de detección de movimiento, y así nos ahorramos el dispositivo de la ferretería del principio.

Figura 8: Alfred - Home Security Camera para Android

Sin embargo, aunque esta alternativa si es fácil para Penny, estas soluciones suelen tener planes de precios por almacenamiento, sin mencionar el tema de la nube.

Alternativa 3: Skype

Pero una alternativa extremadamente fácil para Penny sería utilizar la misma aplicación de Skype como cámara remota de vigilancia, así de sencillo, que además la tienes para iPhoneAndroid, para OS X o para Windows.

Figura 9: Skype para Android

Basta con instalar el cliente Skype en el smartphone que queremos utilizar como cámara de vigilancia y crear un usuario específico para ese móvil (por ejemplo, “movil1demichoza”). Pero para que esto funcione como queremos, en el cliente Skype habría configurar (y aquí está la gracia):
- Contestar automáticamente, para que se descuelgue la llamada automáticamente cuando llaman
- Recibir llamadas sólo de los contactos, para que no se pueda contestar automáticamente a cualquiera que llame
- Y por supuesto, tener en la lista de contactos sólo al usuario (o usuarios) desde el que se va a realizar la llamada (es decir, el usuario de Penny), que sería el usuario autorizado
De esta forma, simplemente haciendo una video llamada con Skype, se puede establecer una conexión video y audio con tu casa, sin necesidad de abrir puertos, ni configurar DNS dinámico, ni almacenar nada en la nube. Esto sí es extremadamente sencillo para Penny.

Figura 10: Configuración de Skype para descolgar automáticamente

Low-cost y extremadamente sencillo, pero recuerda que no puedes hacer esto con el móvil que te deje un amigo o la novia para espiarle, eso no estaría bien.

Autor: Zardacho

lunes, junio 27, 2016

Recuperar información eliminada de BBDD SQLite #Forsensics #SQLite #Python

Hace unos años, mientras escribía Hacker Épico, me leía las especificaciones del formato de los ficheros SQLite para ver cómo podía recuperar información eliminada de estos ficheros e incluirlo como parte de uno de los capítulos del libro. Aún estaba lejos de ver el libro terminado, de que llegara el día de la presentación del libro y mucho menos de verlo convertido en un cómic en edición deluxe, pero tenía claro que el libro tenía que aportar investigaciones novedosas para estar al nivel de la trama.

Figura 1: Recuperar información eliminada de una base de datos SQLite

De aquel trabajo de varias semanas, además de los 0days de las cámaras de seguridad que dieron la vuelta al mundo, salió una serie de artículos en Security By Default  dedicados al Análisis Forense de SQLite que dividí en siete partes ([1], [2], [3], [4], [5], [6] y [7]) y una charla sobre ello en Rooted CON 2013 que titulé "Te pique lo que te pique analiza un SQLite". Con todo este trabajo, salió además una herramienta que fue el germen de la web Recover Messages.


Figura 2: RootedCON 2013 "Te pique lo que te pique analiza un SQLite"

Esa mini utilidad realmente es un script en Python que recorre el fichero BTree de la base de datos y detecta aquellas secciones marcadas como libres para obtener su contenido. No es perfecta, ya que al igual que ocurre en un sistema de ficheros, hay muchos elementos externos que afectan a la estructura del archivo, como son la inserción (INSERT) de nuevo contenido o la defragmentación (VACUUM) de la base de datos.

Figura 3: Recuperación de datos de una base de datos SQLite de Skype con RecoverMessages

Debido a su ligero funcionamiento, estas bases de datos son ampliamente usadas en aplicaciones móviles como por ejemplo hace WhatsApp o Twitter para almacenar mensajes. También en aplicaciones de escritorio mucho más complejas, como es el caso de las conversaciones de Skype o las cookies en Firefox. Por eso, se podía utilizar RecoverMessages con Skype, WhatsApp - en la última versión de WhatsApp para iPhone la base de datos sigue sin cifrar - o bases de datos de Twitter.

Figura 4: Estructura general de un fichero SQLite

Pero pese a esas limitaciones y en función al origen del fichero, la herramienta es práctica para encontrar información que tal vez esclarezca un incidente de seguridad durante un proceso de análisis forense que deba realizar un perito, ya que tan solo una cookie recuperada o un trozo de mensaje podría llegar a ser más que suficiente para evidenciar un acontecimiento.

RecoverSQLite y DumpLite

Que no soy un programador experto no es ningún secreto, así que después de una primera versión llamada "recoversqlite.py", con ayuda de mi amigo WiredRat creamos él creó una segunda versión mejorada llamada "dumplite", que además de las páginas libres, era capaz de encontrar bytes borrados entre celdas.

Figura 5: Dumplite en GitHub

El uso es muy sencillo, solo hay que obtener el código de GitHub con gitclone e invocarlo con los parámetros deseados contra el fichero SQLite a analizar. Con la opción -h se muestra la ayuda tal y como se puede ver en esta captura durante una ejecución sobre Kali Linux.

Figura 6: Descarga de dumplite y menú de ayuda de la herramienta

Las propiedades del fichero y sus características se obtienen con el parámetro "-F". Entre las más relevantes, desde una perspectiva de investigación forense, son: (1) El número de páginas libres y (2) La codificación de los textos.

Figura 7: accediendo a la información de un fichero SQLite

Para obtener el contenido de las secciones marcadas como libres, tanto en formato ASCII como en hexadecimal, se usa el parámetro "-u".

Figura 8: Volcado de los datos de la base de datos SQLite obtenidas

Como comentaba anteriormente, tras ejecutar la herramienta se obtienen volcados de información y no se recuperan directamente los registros que hayan sufrido un "DELETE" como si nada hubiera pasado. El trabajo debe realizarse luego para ir conectando los datos volcados entre sí y extraer lo que había allí antes de ser eliminado. Espero que os sea de utilidad y cualquier comentario o Commit será bienvenido.

Autor: Alejandro Ramos (@aramosf), escritor del libro "Hacker Épico"

Entrada destacada

+300 referencias a papers, posts y talks de Hacking & Security con Inteligencia Artificial

Hace un mes comencé a recuperar en un post mi interés en los últimos años, donde he publicado muchos artículos en este blog , y he dejado mu...

Entradas populares