Image in image block

Angriff auf die KI Videoverarbeitung

KI verarbeitet Videos, um den Inhalt zu verdauen und Zusammenfassungen des Videos zu erstellen, Bedrohungen zu erkennen, Verhaltensweisen zu verfolgen, medizinische Rehabilitationsanalysen durchzuführen, um nur einige zu nennen. Eine Vielzahl von Informationen kann aus Videos abgeleitet werden, z. B. Objektklassifizierung, Audiotranskription, Untertitel-Streams, optische Zeichenerkennung und visuelle Vergleiche. Die Angriffsfläche und die potenziellen Schwachstellen nehmen zu, je mehr Arten von Informationen aus Videoinhalten abgeleitet werden.

Wir werden die folgenden abgeleiteten Datentypen betrachten:

  • Transkription von Audio in Text
  • Segmentierung in Szenen oder Kapitel
  • Identifizierung von Objekten
  • Zusammenfassen der Ausgabe der oben genannten Datentypen

In dieser Präsentation wird demonstriert, wie man LLM-Verwirrungen, die Preisgabe von Informationen, die Erschöpfung von Ressourcen und den Absturz von Leistungen durch die Erstellung von Videos mit Prompt Injections, Edge Cases in Streams und deren Eigenschaften sowie die Simulation von Übertragungsfehlern hervorrufen kann. Es werden Tools vorgestellt, mit denen die Videos auf das zu testende System zugeschnitten werden können. Wir können dies grob als "Fuzzing" bezeichnen. Wir werden Videos erstellen, um diese Systeme anzugreifen und Abhilfemaßnahmen empfehlen.

Datenarten

Die derzeitigen Möglichkeiten der KI-Videoverarbeitung ermöglichen die Extraktion der folgenden Datentypen aus Videos:

  • Szenen, die durch Start- und Endzeitmarkierungen identifiziert werden
  • Objektklassifizierung in ausgewählten Frames
  • Einbettung von Frames mit Hilfe eines Bildverarbeitungsmodells
  • Transkription von Audiokanälen
  • Untertitel-Streams
  • Optische Zeichenerkennung (OCR) ausgewählter Frames für beliebigen Text auf dem Bildschirm
  • Bildunterschrift mit Hilfe eines Untertitelmodells

Es gibt viele Informationen, die aus einem Video extrahiert werden können. Eine typische Architektur ist die Verwendung einer "Pipeline", die den Prozess in Komponenten aufteilt. Jede Komponente der Pipeline ist spezifisch für die Art von Daten, die sie extrahiert. Am Ende der Pipeline werden die Daten aus den verschiedenen Komponenten zu einer endgültigen Ausgabe zusammengefügt. Wir werden diesen Ansatz übernehmen.

Video-Eigenschaften

Es gibt zahlreiche Eigenschaften eines Videos, die sich auf den Speicher-, Festplatten- und Rechenaufwand auswirken können, der für die Extraktion der Datentypen erforderlich ist. Diese Eigenschaften wirken sich auch auf das gewünschte Ergebnis des Dienstes aus, indem sie Randfälle auslösen oder Fehlerbedingungen hervorrufen, die das Entwicklungsteam nicht berücksichtigt hat.

Container

Video-Container definieren, wie die Video-, Audio- und Untertitelströme gespeichert werden. Die beliebtesten Container-Formate sind derzeit MP4, MKV und MOV. Die Software, die das Video abspielt, verfügt über eine Liste mit unterstützten Containern. Dies zu wissen ist wichtig, um bösartige Videos richtig zu gestalten.

Bildrate

Die Bildrate ist die Anzahl der Bilder pro Sekunde (FPS). Typische Bildraten sind 24, 30 und 60. Videos, die Action aufnehmen, wie z.B. Sportveranstaltungen, können 120 FPS haben. Die Bildrate ist nicht auf diese Werte beschränkt, aber es gibt historische Gründe, warum sie üblich sind. Die Dateigröße des Videos ist direkt proportional zur Bildrate. In unseren Tests können wir eine beliebige Bildrate verwenden, um die Videogröße und die Speichernutzung zu beeinflussen, wie weiter unten in diesem Beitrag beschrieben.

In der obigen Beschreibung der Datentypen gibt es die Einschränkung "ausgewählte Bilder". Ein Video mit 24 FPS, das 30 Minuten lang ist, hat 43.200 Bilder. Das ist eine Menge, die verarbeitet werden muss, und meist unnötig, weil so viele Frames den benachbarten Frames mit der gleichen Szene ähneln. Die Verarbeitungssoftware wählt eine Teilmenge der Frames aus, um sie mit OCR, Objektklassifizierung oder einem Beschriftungsmodell zu verwenden.

Video-Codec

Der Videocodec bestimmt, wie die einzelnen Bilder des Videos dargestellt werden. Fast alle Codecs enthalten eine Form der Komprimierung. Der allgemeine Ansatz ist die Identifizierung von Schlüsselbildern, die vollständig im Video enthalten sind. Die Frames zwischen den Keyframes enthalten nur den visuellen Unterschied zum vorherigen Frame. Dieser Ansatz ist platzsparend, da Bewegung durch den allmählichen Wechsel vieler Frames im Laufe der Zeit hervorgerufen werden kann. Wenn der Unterschied zwischen den Einzelbildern gering ist, wird die Gesamtgröße des Videos reduziert. Dies wird später noch wichtig sein.

Audio

Audiostreams haben eine Abtastrate, die normalerweise in Kilohertz (kHz) gemessen wird. Die Audio-Abtastrate beschreibt ein ähnliches Maß wie die Bildrate, ist aber unabhängig vom Videostrom. Audio in DVD-Qualität wird normalerweise mit 48 kHz abgetastet. Dann gibt es noch die Bitrate, die normalerweise in Kilobit pro Sekunde (kbps) gemessen wird. Einige typische MP3-Bitraten sind 128 kbps und 160 kbps. Die Abtastrate und die Bitrate wirken sich direkt auf die Größe der Audiokanäle aus. Auch dies können wir zu unserem Vorteil nutzen.

Ein Audiostrom kann mehrere Kanäle haben. Stereo-Audio hat zwei Kanäle. Für Surround-Sound gibt es eine Vielzahl von Konfigurationen. 5.1 ist eine typische Konfiguration, die sechs Kanäle angibt, wobei das ".1" einen Subwoofer-Kanal kennzeichnet. Für uns ist von Interesse, wie die Verarbeitungssoftware mit mehreren Kanälen umgeht. Wird auf einen einzigen Kanal heruntergemischt oder werden alle Kanäle separat transkribiert? Wie werden mehrere Transkriptionen in der KI dargestellt?

Untertitel

Untertitel-Streams können entweder text- oder bildbasiert sein. Jeder Text- oder Bildfolge ist eine Start- und Endzeit zugeordnet. Video-Discs haben in der Regel bildbasierte Untertitel, für die OCR nützlich ist. Es gibt viele textbasierte Untertitelformate. Einige enthalten Auszeichnungsfunktionen zur Angabe von Schriftarten, Fett- und Kursivdruck, Bewegung, Animation und Skripting. Der Prozess des Hinzufügens von Untertiteln zu den Videobildern wird "Einbrennen" genannt. Bildbasierte Untertitel werden über die Videobilder gelegt und bieten dem Player wenig Flexibilität. Textbasierte Untertitel ermöglichen dem Player mehr Flexibilität bei der Darstellung.

Angriffe

Wir haben die Videoeigenschaften behandelt, die für unsere Angriffe wichtig sind. Sehen wir uns nun an, wie wir ungewöhnliche Werte nutzen können, um die KI-Verarbeitungspipeline anzugreifen.

LLM-Verwirrung

Beginnen wir mit der Verwirrung des textbasierten großen Sprachmodells (LLM). Wie bereits erwähnt, besteht die Pipeline aus mehreren Komponenten, um die Daten aus dem Video zu extrahieren. Die Daten müssen dem LLM in einer textuellen Form präsentiert werden, damit es die Analyse durchführen kann.

Wir beginnen mit einem Beispiel für eine Eingabeaufforderung für den LLM, um ein Video zusammenzufassen:

Erstellen Sie eine prägnante, kohärente Zusammenfassung des Videos auf der Grundlage der unten stehenden Szenenabschriften und visuellen Hinweise.

Titel: {{Titel}}

{% for scene in scenes %}

Szene ({{szene.start}}-{{szene.end}} s):
TRANSCRIPT: {{szene.transcript}}
UNTERTITEL: {{scene.subtitle}}
CAPTION: {{scene.caption}}
OBJEKTE:{{scene.object_classifications}}
OCR: {{szene.ocr}}

{% endfor %}

Das ist eine ganze Menge an Informationen, die der LLM verarbeiten muss. Bei einem normalen Video, z.B. einem Patienteninterview oder einem kurzen Clip im Zoo, wird der LLM eine gute Vorstellung davon bekommen, was vor sich geht, wiederkehrende Themen usw.

Eine wichtige Kontrolle, die wir berücksichtigen müssen, sind Leitplanken. Leitplanken sind eine Art der Output-Validierung für LLM-basierte Systeme. LLMs sind probabilistische Systeme, so dass sich die Ausgabe für eine bestimmte Eingabe ändern kann. Eine typische Leitplanke ist, dass die KI dem Benutzer nicht vorschreiben sollte, wie er eine illegale Aktivität auszuführen hat.

Die Entwicklungsteams verwenden den größten Teil ihrer Arbeit auf die erwartete Eingabe, da diese den größten Nutzen für den Kunden bringt. Eine berechtigte Erwartung ist, dass ein nicht bösartiges Video einen konsistenten Inhalt in jedem der Datentypen hat. Welche Folgen haben unerwartete Daten aus der Sicht des LLM?

  • Wo sind die Leitplanken angebracht?
  • Gibt es Komponenten, die keine Leitplanken haben, weil man davon ausgeht, dass die Leitplanken einer anderen Komponente unerwünschte Inhalte abfangen werden?
  • Was ist, wenn der Text auf dem Bildschirm, das Transkript und der Untertitel völlig unterschiedliche Dinge aussagen?
  • Wenn der Bildinhalt die Leitplanke passiert, aber das Transkript schändlich ist und überhaupt nicht zum visuellen Inhalt passt, wird dann das Transkript zensiert?
  • Umgekehrt, wenn das Transkript oder der Untertitel akzeptabel ist, wird dann unerwünschtes Bildmaterial akzeptiert?

Welche Szenarien für LLM-Injektionen gibt es? Die obige Vorlage ist vereinfacht und soll keine produktionsreife Implementierung zeigen.

  • Ist der gesamte Inhalt geschützt? Kann z.B. OCR für die Prompt-Injektion verwendet werden, während das Transkript oder der Untertitel nicht möglich sind?
  • Ist es möglich, ein Bild zu erstellen, das eine LLM-Anweisung in der Bildunterschrift erzeugt?

Die Länge des Textes kann genutzt werden, um den LLM-Kontext zu überlagern und Anweisungen zu geben. Gängige textbasierte Untertitelformate haben zum Beispiel keine Zeichenbegrenzung.

Erschöpfung der Ressourcen

Die Erschöpfung von Ressourcen bezieht sich auf die Überlastung des Speichers, der Festplatte und/oder der Rechenleistung der Verarbeitungspipeline, was zu einer Verschlechterung der Leistungen führt.

Die Größe von Videodateien kann bei normalen Aufnahmegeräten leicht in die Hunderte von Megabytes oder Gigabytes anwachsen. Der erste Gedanke zum Schutz der Pipeline vor Ressourcenerschöpfung ist die Begrenzung der zulässigen Dateigröße. Wir werden jedoch sehen, dass dies nicht ausreicht.

Es gibt mehrere Bereiche, in denen wir den LLM fuzzen können, um zu versuchen, die Ressourcen zu erschöpfen. Schauen wir uns die obige Beispielvorlage für die Zusammenfassung an.

Erstens kann die Anzahl der Szenen künstlich aufgebläht werden. Die Szenenerkennung kann kompliziert sein. Auf einer hohen Ebene wird nach ausreichenden Unterschieden zwischen einem bestimmten Videosegment und den vorangehenden/folgenden Segmenten gesucht. Auch der Ton kann bei der Erkennung berücksichtigt werden, indem nach Perioden der Stille und anderen auffälligen Lautstärkeänderungen gesucht wird. Wenn wir ein Video mit vielen Szenenwechseln erstellen können, kann dies zu einer Erschöpfung der Ressourcen führen. Eine Methode ist die Erstellung eines Diashow-Videos, bei dem jede Szene aus einem Bild besteht, das über viele Frames hinweg wiederholt wird. Der Videocodec wird dies erheblich komprimieren, so dass wir Hunderte oder Tausende von Szenenwechseln in einem Video unterbringen können, das in die von der Pipeline vorgegebene Dateigrößenbegrenzung passt.

Die Objekterkennung kann missbraucht werden, indem Frames mit mehr Objekten erstellt werden, als die Pipeline verarbeiten kann. Beispiele für Objekte sind Fahrzeuge, Tiere und Gebäude. Die Anzahl der Objekte, die als zu viel angesehen wird, kann in die Dutzende oder Hunderte gehen. Das Modell, das zur Erkennung von Objekten verwendet wird, ist wichtig, da es eine Mindestanforderung an die Breite und Höhe pro Objekt geben kann.

Wie bereits erwähnt, gibt es bei den meisten textbasierten Untertitelformaten keine Beschränkung der Zeichenlänge. Bei der Darstellung auf dem Bildschirm gibt es eine effektive Begrenzung, aber die LLM-Eingabeaufforderung hat nicht die gleiche Begrenzung. Die Pipeline kann den Untertitel in seiner jetzigen Form extrahieren und zur Vorlage hinzufügen. Dies kann zu einem sehr langen Text führen.

Damit viele Komponenten in der Pipeline ihre Arbeit verrichten können, werden unkomprimierte Bilder benötigt. Unabhängig davon, ob die Bilder auf der Festplatte oder im Arbeitsspeicher gespeichert sind, können wir versuchen, die Ressource zu erschöpfen.

Zunehmende Videodimensionen haben in der Regel einen exponentiellen Effekt auf die Ressourcennutzung. Der H.265 (HEVC)-Codec unterstützt beispielsweise Dimensionen über 8192x4320 (4K-Video). Die Speicherung von Frames dieser Größe benötigt erheblich mehr Platz und Rechenleistung als ein 1080p-Video.

Auch die Bildrate kann sich auf die Ressourcennutzung auswirken. Wenn die Pipeline zum Beispiel jedes 10. Bild abtastet, können wir ein Video mit 200 FPS (oder mehr) erzeugen. Ein platzsparender Videocodec wie H.265 komprimiert dies erheblich, um die Gesamtgröße der Datei zu reduzieren. Beim Erweitern nehmen die Bilder erheblich mehr Platz ein. Auch hier können Rechenleistung, Arbeitsspeicher und Festplatte betroffen sein.

Unerwartete Fehler

Zeitstempel

Zeitstempel sind für die richtige Interpretation von Videodaten entscheidend. Wenn Sie die Zeitstempel so verändern, dass sie nicht mehr in der richtigen Reihenfolge, sehr groß oder möglicherweise negativ sind, kann dies die Verarbeitung beeinträchtigen. Hierfür sind benutzerdefinierte Tools erforderlich, da die Videoverarbeitungssoftware gültige Videos produzieren soll.

Zufällige Fehler

Wenn Videos über USB-Kabel oder Netzwerke übertragen werden, gibt es Fehlerkorrekturprotokolle, die sicherstellen, dass die Daten während der Übertragung nicht beschädigt werden.

Diese Annahme der Fehlerfreiheit ist in den meisten Fällen zutreffend. Ein Fall, in dem diese Annahme nicht sicher ist, ist die Aufzeichnung von Fernsehsendungen. Bei diesem Medium wird das Video über die Luft von der Antenne des Senders zu der kilometerweit entfernten Empfangsantenne übertragen. Durch die atmosphärischen Bedingungen können Fehler in den Stream gelangen. Es gibt keinen Mechanismus, um eine erneute Übertragung anzufordern, so dass die Fehler bestehen bleiben. Wir können die Annahme der Fehlerfreiheit ausnutzen, indem wir künstliche Fehler in das Video einfügen. Die Fehler können entweder an wichtigen Stellen oder zufällig auftreten. Einige Container und Codecs sind so konzipiert, dass sie gegen einen kleinen Prozentsatz von Fehlern resilient sind.

Fazit

Aus einem Video lassen sich eine Menge Informationen gewinnen. Dies ist für die Benutzer von Vorteil, da Videos leicht aufgenommen werden können und die Leistungen Möglichkeiten bieten, die Daten schnell und gründlich zu verstehen. Die Angriffsfläche nimmt mit der Menge der erfassten Daten zu. Unsere Tests müssen diese Bedrohungen vollständig untersuchen, um unsere Kunden und Benutzer zu schützen.

In einem der nächsten Beiträge werden wir uns ansehen, wie Sie mit Open-Source-Tools Videos mit Fuzz-Parametern erzeugen können.

Mehr Informationen

Möchten Sie mehr darüber erfahren, wie unsere KI-Sicherheitsleistungen Ihnen helfen können? Bitte füllen Sie das Formular aus, und wir melden uns innerhalb eines Werktages bei Ihnen.

USP

Warum sollten Sie sich für Bureau Veritas Cybersecurity entscheiden?

Bureau Veritas Cybersecurity ist Ihr kompetenter Partner für Cybersicherheit. Wir unterstützen Unternehmen dabei, Risiken zu identifizieren, ihre Abwehrmaßnahmen zu stärken und Cybersicherheitsstandards und -vorschriften einzuhalten. Unsere Dienstleistungen umfassen Menschen, Prozesse und Technologien, von Sensibilisierungsschulungen und Social Engineering bis hin zu Sicherheitsberatung, Compliance und Penetrationstests.

Wir sind in IT-, OT- und IoT-Umgebungen tätig und unterstützen sowohl digitale Systeme als auch vernetzte Produkte. Mit über 300 Cybersicherheitsexperten weltweit verbinden wir fundiertes technisches Fachwissen mit einer globalen Präsenz. Bureau Veritas Cybersecurity ist Teil der Bureau Veritas Group, einem weltweit führenden Unternehmen im Bereich Prüfung, Inspektion und Zertifizierung.