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

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

jmortegac
December 01, 2024

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).

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

jmortegac

December 01, 2024
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. Introducción a LLM • 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. Introducción al OWASP LLM Top 10 • Data Poisoning •

    Los ciberatacantes podrían modificar los datos de entrenamiento, inyectando información falsa o sesgada en los conjuntos de datos que entrenan el LLM, lo que podría degradar el rendimiento del modelo. • Mitigation:Verificación de fuentes de datos, auditorías de datos y detección de anomalías para detectar patrones sospechosos en los datos de entrenamiento.
  6. Introducción al OWASP LLM Top 10 • Model Inversion Attacks

    • Los atacantes podrían explotar el LLM para inferir datos sensibles o privados que se utilizaron durante el proceso de entrenamiento, consultando repetidamente el modelo. Esto podría exponer información personal, confidencial o privada. • Mitigation: utilizar técnicas como limitar la disponibilidad de modelos entrenados con datos privados.
  7. Introducción al OWASP LLM Top 10 • Unauthorized Code Execution

    • En algunos contextos, los LLM pueden estar integrados en sistemas a los que tienen acceso para ejecutar código o desencadenar acciones automatizadas. Los atacantes podrían manipular los LLMs para que ejecuten código o acciones no deseadas, comprometiendo potencialmente el sistema. • Mitigation: limitar el alcance de las acciones que los LLM pueden ejecutar, emplear sandboxing y utilizar controles de permisos estrictos.
  8. Introducción al OWASP LLM Top 10 • Bias and Fairness

    • Los LLM pueden generar resultados sesgados debido a la naturaleza sesgada de los datos con los que se entrenan, lo que conduce a resultados que podrían ser injustos o discriminatorios. Esto podría afectar a los procesos de toma de decisiones o introducir sesgos sistémicos. • Mitigation: realizar auditorías de imparcialidad de los datos, utilizar herramientas de detección de sesgos y diversificar los conjuntos de datos de entrenamiento para reducir los sesgos.
  9. Introducción al OWASP LLM Top 10 • Model Hallucination •

    Los LLM pueden producir resultados que podrían ser admisibles pero que son incorrectos o inventados. Se denomina "alucinación" cuando el modelo genera información falsa sin ninguna base en sus datos de entrenamiento. • Mitigation: uso de algoritmos de comprobación de hechos y restringir los LLM para que proporcionen respuestas sólo dentro de dominios de conocimiento conocidos.
  10. Introducción al OWASP LLM Top 10 • Insecure Model Deployment

    • Los LLM que se despliegan en entornos inseguros pueden ser vulnerables a ataques, incluidos el acceso no autorizado, el robo o la manipulación de modelos. Estos riesgos aumentan cuando los modelos se despliegan en endpoints de acceso público. • Mitigation: uso de APIs cifradas, aplicar controles de autenticación y autorización y supervisar el acceso a los modelos.
  11. Introducción al OWASP LLM Top 10 • Adversarial Attacks •

    Los atacantes pueden explotar las debilidades del LLM creando ejemplos adversarios (datos de entrada que se manipulan para que el modelo cometa errores). Esto podría provocar resultados no deseados o fallos de seguridad. • Mitigation: Pruebas de robustez del modelo, entrenamiento adversario (entrenamiento del modelo con ejemplos adversarios) e implementación de sistemas de detección de anomalías.
  12. 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.
  13. 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
  14. • 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". Herramientas de auditoría
  15. Herramientas de auditoría • Llama Guard 3 es una herramienta

    de seguridad diseñada para proteger grandes modelos del lenguaje como oLLaMA de Meta frente a posibles vulnerabilidades y ataques de adversarios. • Llama Guard 3 ofrece una solución robusta y adaptable para proteger LLMs contra ataques de Prompt Injection y Jailbreak. Para ello combina técnicas avanzadas de filtrado, normalización y monitorización.
  16. Herramientas de auditoría • Filtrado dinámico de entrada • Normalización

    y contextualización del prompt • Políticas de respuesta segura • Monitorización activa y respuesta automática
  17. Herramientas de auditoría • 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
  18. Text attack from textattack.models.wrappers import HuggingFaceModelWrapper from transformers import AutoModelForSequenceClassification,

    AutoTokenizer # Load pre-trained sentiment analysis model from Hugging Face model = AutoModelForSequenceClassification.from_pretrained("textattack/bert-base-unc ased-imdb") tokenizer = AutoTokenizer.from_pretrained("textattack/bert-base-uncased-imdb") # Wrap the model for TextAttack model_wrapper = HuggingFaceModelWrapper(model, tokenizer) https://github.com/QData/TextAttack
  19. Text attack from textattack.attack_recipes import TextFoolerJin2019 # Initialize the attack

    with the TextFooler recipe attack = TextFoolerJin2019.build(model_wrapper)
  20. Text attack # Example text for sentiment analysis (a positive

    review) text = "I absolutely loved this movie! The plot was thrilling, and the acting was top-notch." # Apply the attack adversarial_examples = attack.attack([text]) print(adversarial_examples)
  21. Text attack 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."
  22. Text attack 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)
  23. Recursos • github.com/greshake/llm-security • github.com/corca-ai/awesome-llm-security • github.com/facebookresearch/PurpleLlama • github.com/protectai/llm-guard •

    github.com/cckuailong/awesome-gpt-security • github.com/jedi4ever/learning-llms-and-genai-for-dev-sec-ops • github.com/Hannibal046/Awesome-LLM