Aunque los inicios del aprendizaje automático fueron establecidos hace medio siglo más o menos, no fue hasta hace poco cuando realmente expandió su aplicación a la práctica. Con el crecimiento de la potencia informática, las computadoras aprendieron primero a distinguir objetos en las imágenes y a jugar a Go mejor que los humanos, después a diseñar mediante una descripción en texto y a tener una conversación coherente. Durante 2021 y 2022, estos avances científicos nos han llegado a todos. Por ejemplo, ahora puedes suscribirte a MidJourney y en un instante ilustrar tus propios libros. Además, OpenAI por fin compartió su modelo de lenguaje GPT-3 (Generative Pre-trained Transformer 3) con el público general a través de ChatGPT. Este bot está disponible en chat.openai.com, donde puede mantener una conversación coherente, explicar mejor que muchos profesores conceptos científicos complejos, traducir textos a otros idiomas de forma óptima y mucho más.
Si desentrañamos ChatGPT, veremos que el modelo de lenguaje está entrenado mediante un corpus gigante de textos online, del cual “recuerda” qué palabras, frases y párrafos se recopilan más frecuentemente y cuál es su relación. Ayudado por numerosos trucos técnicos y rondas adicionales de entrenamiento con humanos, el modelo está optimizado especialmente para el diálogo. Y, como “en internet puedes encontrar absolutamente todo”, el modelo es capaz de llevar una conversación sobre prácticamente cualquier tema: desde moda e historia del arte hasta programación y física cuántica.
Científicos, periodistas y aficionados ya encontraron más aplicaciones para ChatGPT. El sitio web Awesome ChatGPT Prompts cuenta con una lista de prompts (frases para iniciar la conversación con un bot), que te permite “activar” ChatGPT para que responda como Gandalf o cualquier otro personaje literario, escribir código Python, generar correos comerciales y currículos e incluso imitar un terminal Linux. Sin embargo, ChatGPT solo es un modelo de lenguaje, por lo que todo esto no son más que combinaciones y colocaciones de palabras, no hallarás algún tipo de razón o lógica. De hecho, en ocasiones, ChatGPT solo dice una serie de sinsentidos muy convincentes (como muchas personas), por ejemplo, cuando se refiere a estudios científicos que no existen. Por ello, te recomendamos que trates el contenido de ChatGPT con su debida precaución. Dicho esto, incluso en su forma actual, el bot es muy útil para diversos procesos prácticos e industrias. Aquí te dejamos algunos ejemplos de aplicación en el campo de la ciberseguridad.
La creación de malware
En foros clandestinos, varios ciberdelincuentes cuentan sobre cómo utilizan ChatGPT para crear nuevos troyanos. El bot puede escribir código, por lo que si le explicas brevemente la función deseada (por ejemplo, “guarda todas las contraseñas del archivo X y envíalas por HTTP POST al servidor Y”), puedes conseguir un stealer (ladrón de información) fácil y sin habilidades de programación. No obstante, los usuarios no tienen nada que temer, ya que las soluciones de seguridad son capaces de detectar y neutralizar el código escrito por los bots de forma rápida y eficiente, al igual que con el malware creado por humanos. Además, si ese código no lo comprueba un programador experimentado, es probable que el malware venga con errores sutiles y fallos lógicos que le restarán eficacia.
Los bots solo pueden competir con los desarrolladores de virus menos experimentados, al menos por ahora.
El análisis del malware
Cuando los analistas de la seguridad de la información estudian aplicaciones nuevas y sospechosas, realizan ingeniería inversa del pseudocódigo o código de la máquina, tratando de descubrir cómo funciona. Aunque esta tarea no puede asignarse totalmente a ChatGPT, el chatbot ya es capaz de explicar rápidamente qué hace un código en específico. Nuestro colega Ivan Kwiatkovski desarrolló un complemento para IDA Pro que se encarga justo de esta tarea. El modelo de lenguaje no es realmente ChatGPT, sino su primo davinci-003, pero esta diferencia es meramente técnica. A veces el complemento no funciona o genera basura, pero vale la pena solo por los casos en los que asigna nombres legítimos a funciones de forma automática e identifica algoritmos de cifrado en el código y sus parámetros. Sí destaca en los centros de operaciones de seguridad (SOC por sus siglas en inglés), donde los analistas, usualmente sobrecargados, no pueden dedicar más que una cantidad de tiempo mínima a cada incidente, por lo que cualquier herramienta para acelerar el proceso es bienvenida.
Buscar vulnerabilidades
Una variante de la estrategia anterior es una búsqueda automática de código vulnerable. El chatbot “lee” el pseudocódigo de una aplicación descompilada e identifica dónde puede haber vulnerabilidades. Además, el bot proporciona código Python diseñado para la explotación de vulnerabilidades (PoC). Claro que el bot puede cometer todo tipo de errores, tanto al buscar vulnerabilidades como al escribir código PoC, pero incluso en su forma actual, la herramienta es útil tanto para los atacantes como para los defensores.
La consultoría de seguridad
Dado que ChatGPT sabe todo lo que la gente dice sobre la ciberseguridad online, sus consejos sobre este tema parecen convincentes. Pero, como sucede con cualquier consejo por parte de un chatbot, nunca sabes exactamente de dónde viene, por lo que por cada 10 buenos puede haber uno malo. De todas formas, los consejos que aparecen en la siguiente captura de pantalla son todos correctos:
Phishing y BEC
Los textos convincentes son un punto fuerte de GPT-3 y ChatGPT, por lo que probablemente ya se estén produciendo ataques automatizados de spear-phishing a través chatbots. El problema principal con los correos electrónicos masivos de phishing es que no lucen bien, tienen demasiado texto genérico que no se dirige directamente al destinatario. En cuanto al spear-phishing, cuando un ciberdelincuente escribe un correo electrónico a una sola víctima, es muy caro; por ende, se usa solo en ataques dirigidos. ChatGPT está configurado para alterar drásticamente el equilibrio de poder, ya que permite a los atacantes generar correos electrónicos persuasivos y personalizados a escala industrial. No obstante, para que un correo electrónico tenga todos los elementos necesarios, el chatbot necesita de instrucciones muy detalladas.
Pero los principales ataques de phishing consisten, generalmente, en una serie de correos electrónicos, que de forma gradual, ganan la confianza de la víctima. Y ChatGPT ahorrará mucho tiempo a los ciberdelincuentes con este segundo, tercer o enésimo correo electrónico, dado que el chatbot recuerda el contexto de la conversación, por lo que los correos electrónicos posteriores se pueden diseñar perfectamente a partir de un prompt muy breve y simple.
Además, la respuesta de la víctima se puede introducir fácilmente en el modelo, para realizar en segundos un seguimiento convincente.
Entre las herramientas que los atacantes pueden usar está la correspondencia estilizada. Con una pequeña muestra de un particular estilo, el chatbox puede aplicarla en otros mensajes fácilmente. Esto permite la creación de correos electrónicos falsos y convincentes que parecen ser de un empleado a otro.
Desgraciadamente, esto permite un aumento en ataques de phishing exitosos. Además, el chatbot es igual de convincente en correo electrónico, redes sociales y servicios de mensajería.
¿Cómo podemos contraatacar? Los expertos en análisis de contenido están desarrollando activamente una serie de herramientas para detectar textos de chatbot. Solo el tiempo nos dirá si dichos filtros resultan realmente efectivos, por ahora, nos queda recomendar nuestros dos consejos estándar, mucha vigilancia y formaciones para la sensibilización en materia de ciberseguridad, a los que sumamos uno más: aprender a detectar textos generados por bots. No es posible reconocer propiedades matemáticas a simple vista, pero sigue habiendo ciertas pequeñas peculiaridades estilísticas e incongruencias que delatan a los robots. Por ejemplo, echa un vistazo a este juego, ¿Puedes identificar la diferencia entre el texto escrito por humanos y por máquinas?