Image in image block

Attaquer le Processus Vidéo de l'IA

L'IA traite les vidéos pour en digérer le contenu et en fournir des résumés, la détection des menaces, le suivi des comportements, l'analyse de la réadaptation médicale, pour n'en citer que quelques-uns. Diverses informations peuvent être déduites des vidéos, notamment la classification des objets, la transcription audio, les flux de sous-titres, la reconnaissance optique des caractères et les comparaisons visuelles. La surface d'attaque et les vulnérabilités potentielles augmentent à mesure que de nouveaux types d'informations sont déduits du contenu vidéo.

Nous examinerons les types de données déduites suivants :

  • Transcription de l'audio en texte
  • Segmentation en scènes ou chapitres
  • Identification d'objets
  • Résumer les résultats des types de données ci-dessus

Cette présentation montrera comment susciter la confusion LLM, la divulgation d'informations, l'épuisement des ressources et les pannes de service en créant des vidéos avec des injections d'invite, des cas limites dans les flux et leurs propriétés, et en simulant des erreurs de transmission. Les outils présentés permettent d'adapter les vidéos au système testé. Nous pouvons appeler cela "fuzzing". Nous créerons des vidéos pour attaquer ces systèmes et recommander des mesures d'atténuation.

Types de données

Les capacités actuelles du processus vidéo de l'IA permettent d'extraire les types de données suivants de la vidéo :

  • Scènes identifiées par des marqueurs temporels de début et de fin
  • Classification d'objets dans des images sélectionnées
  • Incrustation d'images à l'aide d'un modèle de vision
  • Transcription du canal audio
  • Flux de sous-titres
  • Reconnaissance optique de caractères (OCR) des images sélectionnées pour tout texte à l'écran
  • Légende des images à l'aide d'un modèle de légende

De nombreuses informations peuvent être extraites d'une vidéo. Une architecture typique consiste à utiliser un "pipeline" qui décompose le processus en composants. Chaque composant du pipeline est spécifique au type de données qu'il extrait. Vers la fin du pipeline, les données provenant des différents composants sont assemblées en un résultat final. Nous adopterons cette approche.

Propriétés de la vidéo

De nombreuses propriétés d'une vidéo peuvent affecter la mémoire, le disque et le calcul nécessaires à l'extraction des types de données. Ces propriétés affectent également le résultat souhaité du service en exerçant des cas limites ou en invoquant des conditions d'erreur que l'équipe de développement n'a pas envisagées.

Conteneurs

Les conteneurs vidéo définissent la manière dont les flux vidéo, audio et de sous-titres sont stockés. Les formats de conteneurs les plus populaires actuellement sont MP4, MKV et MOV. Le logiciel qui consomme la vidéo dispose d'une liste des conteneurs pris en charge. Il est important de connaître cette liste pour concevoir correctement des vidéos malveillantes.

Fréquence d'images

La fréquence d'images est le nombre d'images par seconde (FPS). Les fréquences d'images habituelles sont 24, 30 et 60. Les vidéos qui capturent l'action, comme les événements sportifs, peuvent avoir une fréquence de 120 images par seconde. La fréquence d'images n'est pas limitée à ces valeurs, mais elles sont courantes pour des raisons historiques. La taille du fichier vidéo est directement proportionnelle à la fréquence d'images. Dans nos tests, nous pouvons utiliser une fréquence d'images arbitraire pour affecter la taille de la vidéo et l'utilisation de la mémoire, comme nous le décrivons plus loin dans ce billet.

Dans la description des types de données ci-dessus, il y a un qualificatif de "images sélectionnées". Une vidéo de 24 images par seconde d'une durée de 30 minutes comportera 43 200 images. Cela fait beaucoup à traiter et c'est en grande partie inutile car de nombreuses images sont similaires à leurs images adjacentes, avec la même scène. Le logiciel de traitement sélectionnera un sous-ensemble d'images à utiliser avec l'OCR, la classification d'objets ou un modèle de légende.

Codec vidéo

Le codec vidéo détermine la manière dont les images individuelles de la vidéo sont représentées. Presque tous les codecs intègrent une forme de compression. L'approche générale consiste à identifier les images clés qui sont entièrement incluses dans la vidéo. Les images entre les images clés ne contiennent que la différence visuelle par rapport à l'image précédente. Cette approche est peu gourmande en espace, car le mouvement peut être évoqué par le changement progressif de nombreuses images au fil du temps. Si la différence entre les images est faible, la taille totale de la vidéo est réduite. Ce point sera important par la suite.

Audio

Les flux audio ont une fréquence d'échantillonnage généralement mesurée en kilohertz (kHz). La fréquence d'échantillonnage audio décrit une mesure similaire à la fréquence d'images, mais elle est indépendante du flux vidéo. L'audio de qualité DVD est généralement échantillonné à 48 kHz. Il y a également le débit binaire, généralement mesuré en kilobits par seconde (kbps). Les débits binaires typiques des MP3 sont 128 kbps et 160 kbps. La fréquence d'échantillonnage et le débit binaire ont une incidence directe sur la taille des canaux audio. Là encore, nous pouvons en tirer parti.

Un flux audio peut comporter plusieurs canaux. L'audio stéréo a deux canaux. Le son surround peut être configuré de différentes manières. Le 5.1 est une configuration typique qui spécifie six canaux, le ".1" identifiant le canal du caisson de basse. Nous nous intéressons à la manière dont le logiciel de traitement gère les canaux multiples. Le logiciel effectue-t-il un down-mix sur un seul canal ou transcrit-il tous les canaux séparément ? Comment les transcriptions multiples sont-elles représentées à l'IA ?

Sous-titres

Les flux de sous-titres peuvent être constitués de texte ou d'images. Chaque chaîne de texte ou d'image est associée à une heure de début et de fin. Les disques vidéo comportent généralement des sous-titres sous forme d'images, pour lesquels l'OCR est utile. Il existe de nombreux formats de sous-titres textuels. Certains incluent des fonctions de balisage pour spécifier les polices, le gras, l'italique, le mouvement, l'animation et les scripts. Le Processus d'ajout des sous-titres aux images vidéo est appelé "gravure". Les sous-titres à base d'images sont fusionnés au-dessus des images vidéo et offrent peu de flexibilité au lecteur. Les sous-titres textuels offrent au lecteur une plus grande souplesse de présentation.

Attaques

Nous avons abordé les propriétés vidéo qui sont importantes pour nos attaques. Voyons maintenant comment nous pouvons exploiter des valeurs inhabituelles pour attaquer le pipeline de traitement de l'IA.

Confusion LLM

Commençons par confondre le grand modèle de langage (LLM) basé sur le texte. Comme nous l'avons dit, le pipeline comprendra plusieurs composants pour extraire les données de la vidéo. Les données doivent être présentées au LLM sous une forme textuelle pour effectuer l'analyse.

Nous commençons par un exemple de modèle d'invite pour le LLM afin de résumer une vidéo :

Créez un résumé concis et cohérent de la vidéo en vous basant sur les transcriptions des scènes et les indices visuels ci-dessous.

Titre : {{titre}}

{% for scene in scenes %}

Scène ({{scene.start}}-{{scene.end}} s) :
TRANSCRIPT : {{scène.transcript}}
SOUS-TITRE : {{scène.sous-titre}}
CAPTION : {{scene.caption}}
OBJECTS :{{scene.object_classifications}}
OCR : {{scene.ocr}}

{% endfor %}

C'est une bonne quantité d'informations que le LLM doit traiter. Pour une vidéo normale, telle qu'un entretien avec un patient ou une brève séquence au zoo, le LLM déduira une bonne idée de ce qui se passe, des thèmes récurrents, etc.

Un contrôle important que nous devons prendre en compte est celui des garde-fous. Les garde-fous sont un type de validation de sortie pour les systèmes basés sur le LLM. Les LLM sont des systèmes probabilistes, de sorte que la sortie pour une entrée donnée peut changer. Un garde-fou typique est que l'IA ne doit pas dire à l'utilisateur comment mener une activité illégale.

Les équipes de développement consacrent la majeure partie de leurs efforts à l'entrée attendue, car c'est elle qui apporte le plus de valeur aux clients. Une attente valable est qu'une vidéo non malveillante ait un contenu cohérent dans chacun des types de données. Quelles sont les conséquences de données inattendues du point de vue du LLM ?

  • Où sont appliqués les garde-fous ?
  • Y a-t-il des composants qui n'ont pas de garde-fous parce que l'on suppose que les garde-fous d'un autre composant retiendront le contenu indésirable ?
  • Que se passe-t-il si le texte à l'écran, la transcription et le sous-titre disent des choses complètement différentes ?
  • Si le contenu de l'image passe le garde-fou, mais que la transcription est infâme et ne correspond pas du tout au contenu visuel, la transcription sera-t-elle censurée ?
  • Inversement, si la transcription ou les sous-titres sont acceptables, les images indésirables seront-elles acceptées ?

Quels sont les scénarios d'injection de LLM ? Le modèle ci-dessus est simpliste et n'a pas pour but de montrer une mise en œuvre prête pour la production.

  • Est-ce que TOUT le contenu est protégé ? Par exemple, l'OCR peut-elle être utilisée pour une injection rapide alors que la transcription ou les sous-titres ne sont pas viables ?
  • Est-il possible de créer un visuel qui produit une instruction LLM dans la légende ?

La longueur du texte peut être utilisée pour submerger le contexte LLM et injecter des instructions. Par exemple, les formats de sous-titres textuels courants n'ont pas de limite de caractères.

Épuisement des ressources

L'épuisement des ressources fait référence à la saturation de la mémoire, du disque et/ou du calcul du processus de traitement, ce qui entraîne une dégradation du service.

La taille des fichiers vidéo peut facilement atteindre des centaines de mégaoctets ou de gigaoctets avec des appareils d'enregistrement normaux. La première idée pour protéger le pipeline de l'épuisement des ressources est de limiter la taille des fichiers acceptés. Cependant, nous verrons que ce n'est pas suffisant.

Il y a plusieurs domaines dans lesquels nous pouvons flouter le LLM pour tenter d'épuiser les ressources. Examinons l'exemple de modèle de résumé donné ci-dessus.

Tout d'abord, le nombre de scènes peut être artificiellement gonflé. La détection des scènes peut être compliquée. À un niveau élevé, elle recherche des différences suffisantes entre un segment particulier de la vidéo et les segments précédents/suivants. Le son peut également être considéré dans la détection en recherchant des périodes de silence et d'autres changements de volume perceptibles. Si nous pouvons générer une vidéo avec de nombreux changements de scène, cela peut entraîner l'épuisement des ressources. Une méthode consiste à produire une vidéo de type diaporama, où chaque scène est une image répétée pendant de nombreuses images. Le codec vidéo compressera considérablement cette image, ce qui nous permettra d'intégrer des centaines ou des milliers de changements de scène dans une vidéo respectant les limites de taille de fichier imposées par le pipeline.

La détection d'objets peut être utilisée de manière abusive en créant des images contenant plus d'objets que ce que le pipeline est conçu pour traiter. Les véhicules, les animaux et les bâtiments sont des exemples d'objets. Le nombre d'objets considéré comme excessif peut atteindre des dizaines ou des centaines. Le modèle utilisé pour détecter les objets est important parce qu'il peut y avoir une exigence minimale de largeur et de hauteur par objet.

Comme indiqué précédemment, la plupart des formats de sous-titres textuels n'ont pas de limite de longueur de caractères. Il y a une limite effective lorsqu'ils sont affichés à l'écran, mais l'invite LLM n'a pas la même limitation. Le pipeline peut extraire le sous-titre tel quel et l'ajouter au modèle. Cela peut produire un texte très long.

Pour que de nombreux composants du pipeline puissent effectuer leur travail, des images non compressées sont nécessaires. Que les images soient stockées sur disque ou en mémoire, nous pouvons tenter d'épuiser la ressource.

L'augmentation des dimensions de la vidéo a généralement un effet exponentiel sur l'utilisation des ressources. Par exemple, le codec H.265 (HEVC) prend en charge des dimensions supérieures à 8192x4320 (vidéo 4K). Le stockage d'images de cette taille nécessitera beaucoup plus d'espace et de calculs qu'une vidéo 1080p.

La fréquence d'images peut également avoir un impact sur l'utilisation des ressources. Par exemple, si le pipeline échantillonne toutes les 10 images, nous pouvons générer une vidéo à 200 images par seconde (ou plus). Un codec vidéo à faible encombrement, tel que H.265, comprimera considérablement cette vidéo afin de réduire la taille totale du fichier. Lorsqu'elles sont développées, les images occupent beaucoup plus d'espace. Là encore, le calcul, la mémoire et le disque peuvent être affectés.

Erreurs inattendues

Horodatage

Les horodatages sont essentiels à l'interprétation correcte des données vidéo. La modification des horodatages pour qu'ils soient hors d'ordre, très grands ou éventuellement négatifs pourrait avoir un effet négatif sur le processus. Ce processus nécessite un outil personnalisé, car les logiciels de traitement vidéo sont censés produire des vidéos valides.

Erreurs aléatoires

Lorsque la vidéo est transmise par des câbles USB ou des réseaux, des protocoles de correction d'erreur sont en place pour garantir que les données ne sont pas corrompues pendant le transit.

Cette hypothèse d'absence d'erreur est valable dans la plupart des cas. Un cas où cette hypothèse n'est pas sûre est celui de l'enregistrement à partir d'une émission de télévision. Sur ce support, la vidéo est transmise par voie hertzienne de l'antenne de la station à l'antenne du récepteur, à des kilomètres de distance. Les conditions atmosphériques peuvent introduire des erreurs dans le flux. Il n'existe pas de mécanisme permettant de demander une retransmission, de sorte que les erreurs subsistent. Nous pouvons tirer parti de l'hypothèse d'absence d'erreur en introduisant des erreurs artificielles dans la vidéo. Les erreurs peuvent se trouver à des endroits clés ou être aléatoires. Certains containers et codecs sont conçus pour résister à un faible pourcentage d'erreurs.

Conclusion

Il y a beaucoup d'informations à tirer d'une vidéo. C'est un avantage pour les utilisateurs, car la vidéo est facile à capturer et les services fournissent des moyens de comprendre les données rapidement et en profondeur. La surface d'attaque augmente avec la quantité de données recueillies. Nos tests doivent explorer pleinement ces menaces pour protéger nos clients et nos utilisateurs.

Dans un prochain article, nous verrons comment utiliser des outils open-source pour générer des vidéos dont les paramètres ont été modifiés.

En savoir plus

Vous souhaitez en savoir plus sur la manière dont nos services de sécurité IA peuvent vous aider ? Veuillez remplir le formulaire et nous vous contacterons dans un délai d'un jour ouvrable.

USP

Pourquoi choisir Bureau Veritas Cybersecurity


Bureau Veritas Cybersecurity est votre expert partner en cybersécurité. Nous aidons les organisations à identifier les risques, à renforcer leurs défenses et à se conformer aux normes et réglementations en matière de cybersécurité. Nos services couvrent les personnes, les processus et la technologie, allant de la formation à la sensibilisation et à l'ingénierie sociale aux conseils en matière de sécurité, de conformité et de tests d'intrusion.

Nous intervenons dans les environnements IT, OT et IoT, et accompagnons aussi bien les systèmes numériques que les produits connectés. Avec plus de 300 professionnels de la cybersécurité à travers le monde, nous combinons une expertise technique approfondie et une présence mondiale. Bureau Veritas Cybersecurity fait partie du Bureau Veritas Group, leader mondial de l'inspection, de la certification et des services aux entreprises.