Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Seguridad y auditorías en Modelos grandes del l...

Seguridad y auditorías en Modelos grandes del lenguaje (LLM)

Los LLM (Large Language Model) son una clase de modelos de inteligencia artificial que han revolucionado la forma en que las máquinas interpretan y generan el lenguaje humano. La seguridad y la auditoría son temas críticos cuando se trata de aplicaciones basadas en grandes modelos de lenguaje, como los modelos GPT (Generative Pre-trained Transformer) o LLM (Large Language Model).

Esta charla pretende analizar la seguridad de estos modelos de lenguaje desde el punto de vista del desarrollador, analizando las principales vulnerabilidades que se pueden producir en la generación de estos modelos. Entre los principales puntos a tratar podemos destacar:

* Introducción a LLM
* Introducción al OWASP LLM Top 10
* Seguridad en aplicaciones que manejan modelos LLM.
* Herramientas de auditoría en aplicaciones que manejan modelos LLM.
* Caso de uso con la herramienta textattack para realizar ataques adversarios en Python

jmortegac

April 04, 2025
Tweet

More Decks by jmortegac

Other Decks in Technology

Transcript

  1. • Ingeniería en informática • Master ciberseguridad y ciencia de

    datos • Consultoría y docencia universitaria • https://josemanuelortegablog.com/ • https://www.linkedin.com/in/jmortega1
  2. • Introducción a LLM • Introducción al OWASP LLM Top

    10 • Seguridad en aplicaciones que manejan modelos LLM • Herramientas de auditoría en aplicaciones que manejan modelos LLM • Caso de uso con la herramienta textattack para realizar ataques adversarios
  3. Introducción a LLM • Transformers • Attention is All You

    Need" by Vaswani et al. in 2017 • Mecanismo auto-atención • Arquitectura Encoder-Decoder
  4. • Modelos lingüísticos: Modelos como BERT, GPT, T5 y RoBERTa

    se basan en la arquitectura de transformers. Se utilizan para una amplia gama de tareas de procesamiento del lenguaje natural, como la clasificación de textos, la respuesta a preguntas y la traducción de idiomas. • Visión transformers de (ViT): el modelo de transformers se ha adaptado a tareas de visión por ordenador, donde se han aplicado a la clasificación de imágenes y la detección de objetos. • Procesamiento del habla: Además del texto y la visión, los transformers también se han aplicado a tareas como el reconocimiento y la síntesis del habla.
  5. Adversarial Attacks • Pequeñas perturbaciones: Los ataques de adversarios suelen

    consistir en añadir pequeñas perturbaciones a los datos de entrada, imperceptibles para los humanos. Estos cambios sutiles pueden engañar al sistema de IA para que haga predicciones o clasificaciones erróneas. • Vulnerabilidades del modelo: Estos ataques aprovechan puntos débiles específicos del modelo de aprendizaje automático, como su incapacidad para generalizar bien a datos nuevos o la sensibilidad del modelo a ciertos tipos de datos de entrada. • Impacto en sistemas críticos: Los ataques de adversarios pueden tener graves consecuencias cuando se aplican a sistemas de IA en dominios críticos como vehículos autónomos, sistemas de reconocimiento facial, diagnósticos médicos y sistemas de seguridad.
  6. Adversarial Attacks • 1. Prompt Injection • 2. Evasion Attacks

    • 3. Poisoning Attacks • 4. Model Inversion Attacks • 5. Model Stealing Attacks • 6. Membership Inference Attacks
  7. https://github.com/orcasecurity-research/AIGoat • Ataques de extracción de modelos: Simula escenarios en

    los que un atacante intenta replicar un modelo de IA entrenado mediante la consulta repetida de sus resultados. • Ataques de envenenamiento de datos: Permite explorar cómo los datos de entrenamiento maliciosos pueden manipular el comportamiento de un modelo de IA. • Ataques adversarios: Facilita la experimentación con la inyección de perturbaciones en los datos de entrada para engañar a un modelo de IA.
  8. Herramientas para evaluar la robustez de los modelos • FGSM

    (Fast Gradient Sign Method): Método que genera perturbaciones pequeñas en las entradas para maximizar la pérdida del modelo. • PGD (Projected Gradient Descent): Variante más robusta que itera sobre las perturbaciones para maximizar el impacto en el modelo. • DeepFool: Ataque adversario que ajusta las entradas para que el modelo cambie su clasificación.
  9. Herramientas para evaluar la robustez de los modelos • PromptInject

    Framework • https://github.com/agencyenterprise/PromptInject • PAIR - Prompt Automatic Iterative Refinement • https://github.com/patrickrchao/JailbreakingLLMs • TAP - Tree of Attacks with Pruning • https://github.com/RICommunity/TAP
  10. Herramientas de auditoría • Prompt Guard se refiere a un

    conjunto de estrategias, herramientas o técnicas diseñadas para salvaguardar el comportamiento de grandes modelos lingüísticos (LLM) de manipulaciones de entrada maliciosas o no intencionadas. • Prompt Guard utiliza un modelo clasificador con 86 millones de parámetros que ha sido entrenado en un gran conjunto de datos de ataques encontrados en Internet. Prompt Guard puede clasificar un prompt en tres categorías diferentes: "Jailbreak", "Inyección" o "Benigno".
  11. • Filtrado dinámico de entrada • Normalización y contextualización del

    prompt • Políticas de respuesta segura • Monitorización activa y respuesta automática
  12. • S1: Violent Crimes • S2: Non-Violent Crimes • S3:

    Sex-Related Crimes • S4: Child Sexual Exploitation • +S5: Defamation (New) • S6: Specialized Advice • S7: Privacy • S8: Intellectual Property • S9: Indiscriminate Weapons • S10: Hate • S11: Suicide & Self-Harm • S12: Sexual Content • S13: Elections • S14: Code Interpreter Abuse Introducing v0.5 of the AI Safety Benchmark from MLCommons
  13. https://github.com/QData/TextAttack Original Text: "I absolutely loved this movie! The plot

    was thrilling, and the acting was top-notch." Adversarial Text: "I completely liked this film! The storyline was gripping, and the performance was outstanding."
  14. https://github.com/QData/TextAttack from textattack.augmentation import WordNetAugmenter # Use WordNet-based augmentation to

    create adversarial examples augmenter = WordNetAugmenter() # Augment the training data with adversarial examples augmented_texts = augmenter.augment(text) print(augmented_texts)