Image in image block

Ataque al procesamiento de vídeos por IA

La IA procesa vídeos para digerir el contenido y proporcionar resúmenes del vídeo, detección de amenazas, seguimiento del comportamiento, análisis de rehabilitación médica, por nombrar algunos. Se puede inferir una gran variedad de información de los vídeos, incluida la clasificación de objetos, la transcripción de audio, los flujos de subtítulos, el reconocimiento óptico de caracteres y las comparaciones visuales. La superficie de ataque y las vulnerabilidades potenciales aumentan a medida que se infieren más tipos de información del contenido de los vídeos.

Consideraremos los siguientes tipos de datos inferidos:

  • Transcripción de audio a texto
  • Segmentación en escenas o capítulos
  • Identificación de objetos
  • Resumir el resultado de los tipos de datos anteriores

En esta presentación se demostrará cómo provocar confusión en el LLM, revelación de información, agotamiento de recursos y caídas del servicio mediante la elaboración de vídeos con inyecciones de prompt, casos límite en los flujos y sus propiedades, y la simulación de errores de transmisión. Se presentan herramientas que adaptan los vídeos al sistema sometido a prueba. Podemos llamar a esto vagamente "fuzzing". Crearemos vídeos para atacar estos sistemas y recomendaremos mitigaciones.

Tipos de datos

Las capacidades actuales del procesamiento de vídeo con IA permiten extraer los siguientes tipos de datos del vídeo:

  • Escenas identificadas por marcadores de tiempo de inicio y fin
  • Clasificación de objetos en fotogramas seleccionados
  • Incrustación de fotogramas mediante un modelo de visión
  • Transcripción del canal de audio
  • Transcripción de subtítulos
  • Reconocimiento óptico de caracteres (OCR) de los fotogramas seleccionados para cualquier texto en pantalla
  • Subtitulado de fotogramas utilizando un modelo de subtítulos

Es mucha la información que puede extraerse de un vídeo. Una arquitectura típica consiste en utilizar una "canalización" que divide el proceso en componentes. Cada componente de la canalización es específico del tipo de datos que está extrayendo. Hacia el final de la tubería, los datos de los diversos componentes se ensamblan en una salida final. Asumiremos este enfoque.

Propiedades del vídeo

Existen numerosas propiedades de un vídeo que pueden afectar a la memoria, el disco y el cálculo necesarios para extraer los tipos de datos. Estas propiedades también afectan al resultado deseado del servicio ejerciendo casos límite o invocando condiciones de error que el equipo de desarrollo no tuvo en cuenta.

Contenedores

Los contenedores de vídeo definen cómo se almacenan los flujos de vídeo, audio y subtítulos. Los formatos contenedores más populares actualmente son MP4, MKV y MOV. El software que consume el vídeo tendrá una lista de contenedores compatibles. Conocer esto es importante para elaborar adecuadamente vídeos maliciosos.

Frecuencia de fotogramas

La frecuencia de imagen es el número de fotogramas por segundo (FPS). Las frecuencias de imagen típicas son 24, 30 y 60. Los vídeos que captan la acción, como los eventos deportivos, pueden ser de 120 FPS. La frecuencia de imagen no se limita a estos valores, pero hay razones históricas por las que son habituales. El tamaño del archivo del vídeo es directamente proporcional a la frecuencia de imagen. En nuestras pruebas podemos aprovechar una velocidad de fotogramas arbitraria para afectar al tamaño del vídeo y al uso de memoria, como se describe más adelante en este post.

En la descripción de los tipos de datos anterior, hay un calificativo de "fotogramas seleccionados". Un vídeo de 24 FPS de 30 minutos de duración tendrá 43.200 fotogramas. Eso es mucho para procesar y en su mayor parte innecesario porque muchos fotogramas son similares a sus fotogramas adyacentes, con la misma escena. El software de procesamiento seleccionará un subconjunto de fotogramas para utilizarlo con el OCR, la clasificación de objetos o un modelo de subtítulos.

Códec de vídeo

El códec de vídeo determina cómo se representan los fotogramas individuales del vídeo. Casi todos los códecs incorporan alguna forma de compresión. El enfoque general consiste en identificar los fotogramas clave que se incluyen íntegramente en el vídeo. Los fotogramas entre fotogramas clave sólo contienen la diferencia visual respecto al fotograma anterior. Este enfoque es eficiente en términos de espacio porque el movimiento puede evocarse mediante el cambio gradual de muchos fotogramas a lo largo del tiempo. Si la diferencia entre fotogramas es pequeña, se reduce el tamaño total del vídeo. Esto será importante más adelante.

Audio

Los flujos de audio tienen una frecuencia de muestreo que suele medirse en kilohercios (kHz). La frecuencia de muestreo de audio describe una medida similar a la frecuencia de imagen, pero es independiente del flujo de vídeo. El audio de calidad DVD suele muestrearse a 48 kHz. También está la tasa de bits, que suele medirse en kilobits por segundo (kbps). Algunas tasas de bits típicas de MP3 son 128 kbps y 160 kbps. La frecuencia de muestreo y la tasa de bits afectan directamente al tamaño de los canales de audio. De nuevo, podemos aprovechar esto en nuestro beneficio.

Un flujo de audio puede tener varios canales. El audio estéreo tiene dos canales. El sonido envolvente tiene varias configuraciones. 5.1 es una configuración típica que especifica seis canales, el ".1" identifica un canal de subwoofer. Nos interesa saber cómo gestiona el software de procesamiento los canales múltiples. ¿Hace una mezcla descendente a un solo canal o transcribe todos los canales por separado? ¿Cómo se representan las transcripciones múltiples a la IA?

Subtítulos

Las cadenas de subtítulos pueden ser de texto o de imagen. Cada cadena de texto o imagen tiene asociada una hora de inicio y de fin. Los discos de vídeo suelen tener subtítulos basados en imágenes, para los que resulta útil el OCR. Existen muchos formatos de subtítulos basados en texto. Algunos incluyen funciones de marcado para especificar fuentes, negrita, cursiva, movimiento, animación y secuencias de comandos. El Proceso de añadir subtítulos a los fotogramas de vídeo se denomina "grabación". Los subtítulos basados en imágenes se funden encima de los fotogramas de vídeo y proporcionan poca flexibilidad al reproductor. Los subtítulos basados en texto permiten al reproductor una mayor flexibilidad en la presentación.

Ataques

Hemos cubierto las propiedades del vídeo que son importantes para nuestros ataques. Veamos cómo podemos aprovechar los valores inusuales para atacar el conducto de procesamiento de la IA.

Confusión LLM

Empecemos por confundir el gran modelo de lenguaje basado en texto (LLM). Como se ha dicho, la tubería tendrá múltiples componentes para extraer los datos del vídeo. Es necesario presentar los datos al LLM en forma textual para que realice el análisis.

Comenzamos con un ejemplo de plantilla de prompt para que el LLM resuma un vídeo:

Cree un resumen conciso y coherente del vídeo basándose en las transcripciones de la escena y las pistas visuales que aparecen a continuación.

Título: {{title}}

{% para escena en escenas %}

Escena ({{scene.start}}-{{scene.end}} s):
TRANSCRIPCIÓN: {{scene.transcript}}
SUBTÍTULO: {{scene.subtitle}}
LEYENDA: {{scene.caption}}
OBJETOS:{{scene.object_classifications}}
OCR: {{scene.ocr}}

{% endfor %}

Esa es una buena cantidad de información que el LLM tiene que procesar. Para un vídeo normal, como una entrevista a un paciente o un breve clip en el zoo, el LLM inferirá una buena idea de lo que ocurre, los temas recurrentes, etc.

Un control importante que debemos tener en cuenta son los guardarraíles. Los guardarraíles son un tipo de validación de salida para los sistemas basados en LLM. Los LLM son sistemas probabilísticos, por lo que la salida para una entrada dada puede cambiar. Una advertencia típica es que la IA no debe decirle al usuario cómo llevar a cabo una actividad ilegal.

Los equipos de desarrollo dedican la mayor parte de su esfuerzo a la entrada esperada porque es la que aporta más valor a los clientes. Una expectativa válida es que un vídeo no malicioso tenga un contenido coherente en cada uno de los tipos de datos. ¿Cuáles son las consecuencias de los datos inesperados desde la perspectiva del LLM?

  • ¿Dónde se aplican los guardarraíles?
  • ¿Hay componentes que no tienen guardarraíles porque se supone que los guardarraíles de otro componente atraparán el contenido no deseado?
  • ¿Qué ocurre si el texto en pantalla, la transcripción y el subtítulo dicen cosas completamente diferentes?
  • Si el contenido del fotograma pasa la barandilla, pero la transcripción es nefasta y no coincide en absoluto con el contenido visual, ¿se censurará la transcripción?
  • Viceversa, si la transcripción o el subtítulo son aceptables, ¿se aceptarán los visuales indeseables?

¿Qué escenarios de inyección de LLM se dan? La plantilla anterior es simplista y no pretende mostrar una implementación lista para la producción.

  • ¿Está protegido TODO el contenido? Por ejemplo, ¿puede utilizarse el OCR para la inyección de prompt mientras que la transcripción o el subtítulo no son viables?
  • ¿Es posible crear un visual que produzca una instrucción LLM en el subtítulo?

La longitud del texto puede utilizarse para sobrecargar el contexto del LLM e inyectar instrucciones. Por ejemplo, los formatos habituales de subtítulos basados en texto no tienen limitación de caracteres.

Agotamiento de recursos

El agotamiento de recursos se refiere a la saturación de la memoria, el disco y/o el cálculo de la cadena de procesamiento para degradar el servicio.

El tamaño de los archivos de vídeo puede alcanzar fácilmente los cientos de megabytes o gigabytes en dispositivos de grabación normales. La primera idea para proteger la canalización del agotamiento de recursos es limitar el tamaño de archivo aceptado. Sin embargo, veremos que esto no es suficiente.

Hay varias áreas en las que podemos falsear el LLM para intentar el agotamiento de recursos. Examinemos la plantilla de resumen de ejemplo dada anteriormente.

En primer lugar, el recuento de escenas puede inflarse artificialmente. La detección de escenas puede ser complicada. A alto nivel, busca diferencias suficientes entre un segmento concreto de vídeo y los segmentos precedentes/siguientes. El audio también puede tenerse en cuenta en la detección buscando periodos de silencio y otros cambios de volumen perceptibles. Si podemos generar un vídeo con muchos cambios de escena, puede producirse un agotamiento de los recursos. Un método consiste en producir un vídeo de presentación de diapositivas, en el que cada escena es una imagen repetida durante muchos fotogramas. El códec de vídeo comprimirá esto considerablemente, permitiéndonos encajar cientos o miles de cambios de escena en un vídeo que se ajuste a cualquier limitación de tamaño de archivo impuesta por la canalización.

Se puede abusar de la detección de objetos creando fotogramas con más objetos de los que la canalización está diseñada para procesar. Ejemplos de objetos son vehículos, animales y edificios. El número de objetos que se consideran demasiados puede ser de decenas o centenares. El modelo utilizado para detectar objetos es importante porque puede haber un requisito mínimo de anchura y altura por objeto.

Como ya se ha dicho, la mayoría de los formatos de subtítulos basados en texto no tienen una limitación de longitud de caracteres. Existe un límite efectivo cuando se renderizan en la pantalla, pero el prompt LLM no tiene la misma limitación. El pipeline puede extraer el subtítulo tal cual y añadirlo a la plantilla. Esto podría producir un texto muy largo.

Para que muchos componentes del pipeline puedan realizar su trabajo, se necesitan fotogramas sin comprimir. Tanto si los fotogramas se almacenan en disco como en memoria, podemos intentar agotar el recurso.

El aumento de las dimensiones del vídeo suele tener un efecto exponencial en la utilización de los recursos. Por ejemplo, el códec H.265 (HEVC) admite dimensiones superiores a 8192x4320 (vídeo 4K). Almacenar fotogramas de este tamaño ocupará considerablemente más espacio y recursos informáticos que un vídeo de 1080p.

La velocidad de fotogramas también puede influir en el uso de recursos. Por ejemplo, si la tubería está muestreando cada 10 fotogramas, podemos generar un vídeo con 200 FPS (o más). Un códec de vídeo de espacio eficiente como H.265 comprimirá esto considerablemente para reducir el tamaño total del archivo. Cuando se amplíen, los fotogramas ocuparán considerablemente más espacio. De nuevo, la computación, la memoria y el disco pueden verse afectados.

Errores inesperados

Marcas de tiempo

Las marcas de tiempo son críticas para la correcta interpretación de los datos de vídeo. Modificar las marcas de tiempo para que estén desordenadas, sean muy grandes o posiblemente negativas podría afectar negativamente al procesamiento. Esto requiere herramientas personalizadas, ya que el software de procesamiento de vídeo pretende producir vídeos válidos.

Errores aleatorios

Cuando el vídeo se transmite a través de cables o redes USB, existen protocolos de corrección de errores para garantizar que los datos no se corrompen durante el tránsito.

Esta suposición de ausencia de errores es válida en la mayoría de los casos. Un caso en el que no es una suposición segura es la grabación desde la televisión en abierto. En este medio, el vídeo se transmite por el aire desde la antena de la emisora hasta la antena receptora a kilómetros de distancia. Las condiciones atmosféricas pueden introducir errores en la transmisión. No existe ningún mecanismo para solicitar la retransmisión, por lo que los errores permanecen. Podemos aprovechar la suposición de ausencia de errores introduciendo errores artificiales en el vídeo. Los errores pueden estar en lugares clave o ser aleatorios. Algunos contenedores y códecs están diseñados para ser resistentes a un pequeño porcentaje de errores.

Conclusión

De un vídeo se puede extraer mucha información. Esto es beneficioso para los usuarios, ya que el vídeo es fácil de capturar y los servicios ofrecen formas de comprender los datos de forma rápida y exhaustiva. La Superficie de ataque aumenta con la cantidad de datos recopilados. Nuestras pruebas deben explorar a fondo estas amenazas para proteger a nuestros clientes y usuarios.

En un próximo post veremos cómo utilizar herramientas de código abierto para generar vídeos con parámetros fuzzed.

Más información

¿Desea obtener más información sobre cómo pueden ayudarle nuestros Servicios de seguridad AI? Rellene el formulario y nos pondremos en contacto con usted en el plazo de un día laborable.

USP

¿Por qué elegir la ciberseguridad de Bureau Veritas?

Bureau Veritas Cybersecurity es su socio experto en ciberseguridad. Ayudamos a las organizaciones a identificar riesgos, reforzar sus defensas y cumplir con las normas y regulaciones de ciberseguridad. Nuestros servicios abarcan personas, procesos y tecnología, desde la formación en materia de concienciación y la ingeniería social hasta el asesoramiento en seguridad, el cumplimiento normativo y las pruebas de penetración.

Operamos en entornos de TI, TO e IoT, y damos soporte tanto a sistemas digitales como a productos conectados. Con más de 300 profesionales de la ciberseguridad en todo el mundo, combinamos una profunda experiencia técnica con una presencia global. Bureau Veritas Cybersecurity forma parte del Bureau Veritas Group, líder mundial en pruebas, inspección y certificación.