Das Workers AI- und AI Gateway-Team hat im Rahmen unseres Public Bug Bounty-Programms eng mit diesen Sicherheitsforschenden zusammengearbeitet und eine die Anbieter von LLM (Large Language Models) betreffende Sicherheitslücke entdeckt und vollständig gepatcht. Den ausführlichen Forschungsbericht finden Sie hier.
Nachdem wir über diese Sicherheitslücke informiert wurden, haben wir eine Abwehrmaßnahme implementiert, um alle Kunden von Workers AI und AI Gateway zu schützen. Unserer Einschätzung nach besteht für diese nun kein weiteres Risiko mehr.
In dem Bericht beschreiben die Autoren eine Methode, mit der sie den Stream einer Chat-Sitzung mit einem LLM-Anbieter abfangen, aus den Headern der Netzwerkpakete die Länge der einzelnen Token ableiten, ihre Sequenz extrahieren und segmentieren, und schließlich mithilfe ihres eigenen speziellen LLM die Antwort ableiten.
Die beiden wichtigsten Voraussetzungen für einen erfolgreichen Angriff sind ein im Streaming-Modus laufender KI-Chat-Client und ein Angreifer, der den Netzwerk-Traffic zwischen dem Client und dem KI-Chat-Dienst abfangen kann. Im Streaming-Modus werden die LLM-Token nacheinander ausgegeben, wodurch ein auf der Token-Länge basierender Seitenkanal geschaffen wird. Angreifer könnten Pakete über öffentliche Netzwerke oder innerhalb eines ISP ausspionieren.
\n \n \n \n \n
Eine für einen Seitenkanalangriff anfällige Anfrage könnte beispielsweise wie folgt aussehen:
Um die Netzwerk-Pakete in der Chat-Session des LLM während des Streamens zu untersuchen, nutzen wir Wireshark:
\n
curl -X POST \\\nhttps://api.cloudflare.com/client/v4/accounts/<account-id>/ai/run/@cf/meta/llama-2-7b-chat-int8 \\\n -H "Authorization: Bearer <Token>" \\\n -d '{"stream":true,"prompt":"tell me something about portugal"}'
\n
Das erste Paket hat eine Länge von 95 und entspricht dem Token „Port“, der eine Länge von vier hat. Das zweite Paket hat eine Länge von 93 und entspricht dem Token „ug“, der eine Länge von zwei hat, und so weiter. Durch Entfernen der wahrscheinlichen Token -Ummantelung aus der Länge der Netzwerk-Pakete lässt sich durch Ausspähen verschlüsselter Netzwerkdaten leicht die Menge, Reihenfolge und Länge der übertragenen Token ableiten.
\n \n \n \n \n
Da der Angreifer die Sequenz der individuellen Token-Länge benötigt, betrifft diese Sicherheitslücke nur Textgenerierungsmodelle, die Streaming verwenden. Somit sind Anbieter von KI-Inferenz, die wie Workers AI Streaming – die gängigste Art der Interaktion mit LLM – nutzen, potenziell gefährdet.
Damit diese Methode funktioniert, muss der Angreifer sich im selben Netzwerk befinden oder in der Lage sein, den Kommunikations-Traffic zu beobachten. Je besser man den Schreibstil des anvisierten LLM kennt, desto höher die Treffsicherheit. Den Forschenden zufolge kann ihr System unter idealen Bedingungen 29 % der Antworten eines KI-Assistenten rekonstruieren und bei 55 % erfolgreich das Thema ableiten. Zu beachten ist auch, dass der Angreifer in diesem Fall anders als bei anderen Seitenkanalattacken keine Möglichkeit hat, seine Vorhersage anhand der „Ground Truth“ zu bewerten. Somit ist die Wahrscheinlichkeit, einen Satz mit nahezu perfekter Genauigkeit zu erhalten, genauso hoch wie die, dass in dem Satz nur die Konjunktionen übereinstimmen.
Da diese Art von Angriff darauf beruht, dass die Token-Länge vom Paket abgeleitet wird, kann er durch die Verschleierung der Token-Größe problemlos durchkreuzt werden. Die Forschenden haben Vorschläge zur Bekämpfung solcher Seitenkanalangriffe gemacht. Die einfachste Strategie besteht darin, die Token-Antworten durch Auffüllen nach dem Zufallsprinzip zu verlängern, sodass ihre echte Länge nicht mehr erkennbar ist. Dann können aus dem Paket die Antworten auch nicht mehr abgeleitet werden. Wir haben diese Abwehrmethode sofort in unser eigenes Inferenzprodukt, Workers AI, integriert. Außerdem haben wir sie in AI Gateway eingebunden, um unseren Kunden dabei zu helfen, ihre LLM unabhängig von deren Einsatzort abzusichern.
Damit sind ab heute alle Nutzer von Workers AI und AI Gateway automatisch vor diesem Seitenkanalangriff geschützt.
Nachdem wir von diesen Forschungsergebnissen erfahren hatten und uns klargeworden war, wie sich der Missbrauch der Technik potenziell auf unsere KI-Produkte auswirken könnte, haben wir das getan, was wir in solchen Fällen immer tun: Wir haben ein Team aus Systemingenieuren, Sicherheitsingenieuren und Produktmanagern zusammengestellt und gemeinsam überlegt, wie sich die Risiken verringern lassen und welche Schritte als Nächstes unternommen werden sollten. Freundlicherweise waren die Forschenden auch für ein Telefonat bereit, in dessen Rahmen sie ihre Schlussfolgerungen präsentiert und Fragen unserer Teams beantwortet haben.
Das Forschungsteam hat uns auch ein Testnotebook zur Verfügung gestellt, mit dem wir die Ergebnisse des Angriffs überprüfen konnten. Wir waren in der Lage, die Ergebnisse für die Beispiele aus dem Notebook zu reproduzieren. Allerdings stellten wir fest, dass die Genauigkeit bei unseren Tests mit unterschiedlichen Prompt-Antworten und verschiedenen LLM sehr stark variierte. Der Bericht ist trotzdem von Wert und die Risiken sind nicht zu unterschätzen.
Wir haben beschlossen, den ersten Vorschlag aus dem Bericht für die Abwehr solcher Angriffe zu befolgen und zufälliges Padding für jede Nachricht anzuwenden, um die tatsächliche Länge der Token im Stream zu verbergen. Das macht es schwieriger, Informationen ausschließlich auf Grundlage der Größe der Netzwerkpakete abzuleiten.
Mit unserem Inference as a Service-Produkt kann jeder die Workers AI-Plattform nutzen und API-Aufrufe an die von uns unterstützten KI-Modelle richten. Das bedeutet, dass wir die Inferenzanfragen beaufsichtigen, die an die Modelle gestellt werden und von diesen ausgehen. Wir sind dafür verantwortlich, dass der Dienst sicher und vor möglichen Schwachstellen geschützt ist. Deshalb haben wir auch sofort einen Fix veröffentlicht, als wir über die Forschungsergebnisse informiert wurden. Somit sind jetzt alle Workers AI-Kunden automatisch vor diesem Seitenkanalangriff sicher. Abgesehen von Tests durch die Forschenden, die in Einklang mit den ethischen Regeln standen, haben wir keine Angriffe verzeichnet, bei denen diese Schwachstelle ausgenutzt wurde.
Unsere Lösung für Workers AI ist eine Abwandlung der im Forschungsbericht vorgeschlagenen Abwehrstrategie. Da wir nicht die Roh-Token, sondern JSON-Objekte streamen, haben wir die neue Eigenschaft „p“ (für Padding) mit einem Zeichenfolgenwert variabler zufälliger Länge hinzugefügt, anstatt die Token mit Leerzeichen aufzufüllen.
Beispiel für eine Streaming-Antwort mit der SSE-Syntax:
Diese Vorgehensweise hat den Vorteil, dass keine Änderungen im SDK oder im Client-Quellcode erforderlich sind, die Änderungen für die Endnutzer nicht sichtbar sind und unsere Kunden nichts unternehmen müssen. Durch das Hinzufügen einer zufälligen variablen Länge zu den JSON-Objekten führen wir die gleiche Variabilität auf Netzwerkebene ein und der Angreifer verliert de facto das erforderliche Eingabesignal. Kunden können Workers AI weiterhin wie gewohnt nutzen und kommen gleichzeitig in den Genuss dieses Schutzes.
Wir schützen also unsere eigene KI-Inferenzlösung. Doch wir verfügen auch über ein Produkt, das Proxy-Anfragen an jeden Provider weiterleitet: AI Gateway. Dieses fungiert als Proxy zwischen einem Nutzer und unterstützten Inferenzanbietern. Es bietet Entwicklern Kontrolle, Performance und Beobachtbarkeit für ihre KI-Anwendung. Im Einklang mit unserem Ziel, ein besseres Internet zu schaffen, wollten wir schnell einen Fix einführen, der allen unseren Kunden, die KI zur Textgenerierung verwenden, helfen kann – unabhängig davon, welchen Provider sie nutzen oder ob sie Mechanismen zur Abwehr dieser Art von Angriff einsetzen. Zu diesem Zweck haben wir eine ähnliche Lösung implementiert, die alle durch AI Gateway geleiteten Streaming-Antworten um zufällige Fülldaten variabler Länge ergänzt.
Unsere AI Gateway-Kunden sind damit jetzt automatisch vor diesem Seitenkanalangriff geschützt, selbst wenn die vorgelagerten Inferenzanbieter die Sicherheitslücke noch nicht geschlossen haben sollten. Wenn Sie sich nicht sicher sind, ob Ihr Inferenzanbieter diese Schwachstelle bereits gepatcht hat, verwenden Sie einfach AI Gateway als Proxy für Ihre Anfragen. So haben Sie die Gewissheit, dass sie geschützt sind.
Bei Cloudflare haben wir es uns zur Aufgabe gemacht, ein besseres Internet zu schaffen. Das bedeutet, dass wir uns um jeden kümmern, der im Internet aktiv ist – unabhängig davon, wie dessen Tech-Stack aussieht. Wir sind stolz darauf, die Sicherheit unserer KI-Produkte auf transparente Weise und ohne Zutun unserer Kunden verbessern zu können.
Den Forschenden, die diese Sicherheitslücke entdeckt und uns auf sehr kooperative Weise bei der Durchdringung dieses Problems geholfen haben, sind wir ausgesprochen dankbar. Wenn Sie Sicherheitsforschende(r) sind und Interesse haben, uns dabei zu helfen, unsere Produkte sicherer zu machen, schauen Sie sich doch einmal unser Bug Bounty-Programm bei hackerone.com/cloudflare an.
"],"published_at":[0,"2024-03-14T12:30:30.000+00:00"],"updated_at":[0,"2024-10-09T23:27:40.686Z"],"feature_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/JSNy1RBfkYuXFXI331Y0G/09190108c844a05bc1d7dcb23f494573/ai-side-channel-attack-mitigated.png"],"tags":[1,[[0,{"id":[0,"2GdRQIOWsB1PBHEX7DUETr"],"name":[0,"Bug Bounty (DE)"],"slug":[0,"bug-bounty"]}],[0,{"id":[0,"6gMpGK5HugYKaxJbvTMOHp"],"name":[0,"LLM"],"slug":[0,"llm"]}],[0,{"id":[0,"2pFyOCtANFB5qS6nbtQbVp"],"name":[0,"Vulnerabilities"],"slug":[0,"vulnerabilities"]}],[0,{"id":[0,"3JAY3z7p7An94s6ScuSQPf"],"name":[0,"Entwicklerplattform"],"slug":[0,"developer-platform"]}],[0,{"id":[0,"1Wf1Dpb2AFicG44jpRT29y"],"name":[0,"Workers AI"],"slug":[0,"workers-ai"]}],[0,{"id":[0,"1GyUhE8o287lrdNSpdRUIe"],"name":[0,"AI Gateway (DE)"],"slug":[0,"ai-gateway"]}],[0,{"id":[0,"2UI24t7uddD0CIIUJCu1f4"],"name":[0,"SASE"],"slug":[0,"sase"]}]]],"relatedTags":[0],"authors":[1,[[0,{"name":[0,"Celso Martinho"],"slug":[0,"celso"],"bio":[0,"From when Mosaic took over Gopher. Engineering Director at Cloudflare."],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/2pzgat1zmt1oF1byi7hskH/7b25e8e00117ee44afe36ad27d7d8032/celso.png"],"location":[0,"Portugal, Lisbon"],"website":[0,"https://celso.io/"],"twitter":[0,"@celso"],"facebook":[0,null]}],[0,{"name":[0,"Michelle Chen"],"slug":[0,"michelle"],"bio":[0,null],"profile_image":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/1hrcl3aVtUbBuCMeuXETWy/93dbfbc7d41c09ba35d863312dbde89d/michelle.jpg"],"location":[0,null],"website":[0,null],"twitter":[0,"@_mchenco"],"facebook":[0,null]}]]],"meta_description":[0,"The Workers AI and AI Gateway team recently collaborated closely with security researchers at Ben Gurion University regarding a report submitted through our Public Bug Bounty program. Through this process, we discovered and fully patched a vulnerability affecting all LLM providers. Here’s the story"],"primary_author":[0,{}],"localeList":[0,{"name":[0,"Mitigating a token-length side-channel attack in our AI products Config"],"enUS":[0,"English for Locale"],"zhCN":[0,"Translated for Locale"],"zhHansCN":[0,"No Page for Locale"],"zhTW":[0,"Translated for Locale"],"frFR":[0,"Translated for Locale"],"deDE":[0,"Translated for Locale"],"itIT":[0,"No Page for Locale"],"jaJP":[0,"Translated for Locale"],"koKR":[0,"Translated for Locale"],"ptBR":[0,"Translated for Locale"],"esLA":[0,"No Page for Locale"],"esES":[0,"Translated for Locale"],"enAU":[0,"No Page for Locale"],"enCA":[0,"No Page for Locale"],"enIN":[0,"No Page for Locale"],"enGB":[0,"No Page for Locale"],"idID":[0,"No Page for Locale"],"ruRU":[0,"No Page for Locale"],"svSE":[0,"No Page for Locale"],"viVN":[0,"No Page for Locale"],"plPL":[0,"No Page for Locale"],"arAR":[0,"No Page for Locale"],"nlNL":[0,"No Page for Locale"],"thTH":[0,"No Page for Locale"],"trTR":[0,"No Page for Locale"],"heIL":[0,"No Page for Locale"],"lvLV":[0,"No Page for Locale"],"etEE":[0,"No Page for Locale"],"ltLT":[0,"No Page for Locale"]}],"url":[0,"https://blog.cloudflare.com/ai-side-channel-attack-mitigated"],"metadata":[0,{"title":[0,"So schützen wir unsere KI-Produkte vor auf Token-Länge basierenden Seitenkanalangriffen"],"description":[0,"The Workers AI and AI Gateway team recently collaborated closely with security researchers at Ben Gurion University regarding a report submitted through our Public Bug Bounty program. Through this process, we discovered and fully patched a vulnerability affecting all LLM providers. Here’s the story"],"imgPreview":[0,"https://cf-assets.www.cloudflare.com/zkvhlag99gkb/4B1vZwrZP3xkMt7IG05v0D/cfee8f74c0cba7d85eff02588fdeb986/ai-side-channel-attack-mitigated-pSzBKC.png"]}]}],"locale":[0,"de-de"],"translations":[0,{"posts.by":[0,"VON"],"footer.gdpr":[0,"DSGVO"],"lang_blurb1":[0,"Dieser Beitrag ist auch auf {lang1} verfügbar."],"lang_blurb2":[0,"Dieser Beitrag ist auch auf {lang1} und {lang2} verfügbar."],"lang_blurb3":[0,"Dieser Beitrag ist auch auf {lang1}, {lang2}, und {lang3} verfügbar."],"footer.press":[0,"Presse"],"header.title":[0,"Der Cloudflare-Blog"],"search.clear":[0,"Löschen"],"search.filter":[0,"Filtern"],"search.source":[0,"Quelle"],"footer.careers":[0,"Stellenausschreibungen"],"footer.company":[0,"Unternehmen"],"footer.support":[0,"Support"],"footer.the_net":[0,"theNet"],"search.filters":[0,"Filter"],"footer.our_team":[0,"Unser Team"],"footer.webinars":[0,"Webinare"],"page.more_posts":[0,"Weitere Beiträge"],"posts.time_read":[0,"Lesezeit: {time} Min."],"search.language":[0,"Sprache"],"footer.community":[0,"Community"],"footer.resources":[0,"Ressourcen"],"footer.solutions":[0,"Lösungen"],"footer.trademark":[0,"Markenzeichen"],"header.subscribe":[0,"Abonnieren"],"footer.compliance":[0,"Compliance"],"footer.free_plans":[0,"Free-Tarife"],"footer.impact_ESG":[0,"Impact/ESG"],"posts.follow_on_X":[0,"Folgen auf X"],"footer.help_center":[0,"Hilfe-Center"],"footer.network_map":[0,"Netzwerkkarte"],"header.please_wait":[0,"Bitte warten"],"page.related_posts":[0,"Verwandte Beiträge"],"search.result_stat":[0,"Ergebnisse {search_range} von {search_total} für {search_keyword}"],"footer.case_studies":[0,"Kundenreferenzen"],"footer.connect_2024":[0,"Connect 2024"],"footer.terms_of_use":[0,"Nutzungsbedingungen"],"footer.white_papers":[0,"Studien"],"footer.cloudflare_tv":[0,"Cloudflare TV"],"footer.community_hub":[0,"Community-Hub"],"footer.compare_plans":[0,"Zum Tarifvergleich"],"footer.contact_sales":[0,"Kontakt zum Vertrieb"],"header.contact_sales":[0,"Kontakt zum Vertrieb"],"header.email_address":[0,"E-Mail-Adresse"],"page.error.not_found":[0,"Seite nicht gefunden"],"footer.developer_docs":[0,"Dokumentation für Entwickler"],"footer.privacy_policy":[0,"Datenschutzrichtlinie"],"footer.request_a_demo":[0,"Demo anfragen"],"page.continue_reading":[0,"Weiterlesen"],"footer.analysts_report":[0,"Analyseberichte"],"footer.for_enterprises":[0,"Für Unternehmen"],"footer.getting_started":[0,"Erste Schritte"],"footer.learning_center":[0,"Lernzentrum"],"footer.project_galileo":[0,"Projekt „Galileo“"],"pagination.newer_posts":[0,"Neuere Beiträge"],"pagination.older_posts":[0,"Ältere Beiträge"],"posts.social_buttons.x":[0,"Auf X diskutieren"],"search.icon_aria_label":[0,"Suche"],"search.source_location":[0,"Quelle/Standort"],"footer.about_cloudflare":[0,"Über Cloudflare"],"footer.athenian_project":[0,"Projekt Athenian"],"footer.become_a_partner":[0,"Partner werden"],"footer.cloudflare_radar":[0,"Cloudflare Radar"],"footer.network_services":[0,"Netzwerkservices"],"footer.trust_and_safety":[0,"Vertrauen und Sicherheit"],"header.get_started_free":[0,"Kostenlos loslegen"],"page.search.placeholder":[0,"Cloudflare-Website durchsuchen"],"footer.cloudflare_status":[0,"Cloudflare-Status"],"footer.cookie_preference":[0,"Cookie-Einstellungen"],"header.valid_email_error":[0,"Muss eine gültige E-Mail sein."],"search.result_stat_empty":[0,"Ergebnisse {search_range} von {search_total}"],"footer.connectivity_cloud":[0,"Connectivity Cloud"],"footer.developer_services":[0,"Dienste für Entwickler"],"footer.investor_relations":[0,"Anlegerbeziehungen"],"page.not_found.error_code":[0,"Fehlercode: 404"],"search.autocomplete_title":[0,"Suchanfrage eingeben. Zum Absenden Eingabetaste drücken."],"footer.logos_and_press_kit":[0,"Logos und Pressekit"],"footer.application_services":[0,"Anwendungsservices"],"footer.get_a_recommendation":[0,"Empfehlung erhalten"],"posts.social_buttons.reddit":[0,"Auf Reddit diskutieren"],"footer.sse_and_sase_services":[0,"SSE- und SASE-Dienste"],"page.not_found.outdated_link":[0,"Möglicherweise haben Sie einen veralteten Link verwendet oder die Adresse falsch eingegeben."],"footer.report_security_issues":[0,"Sicherheitsprobleme berichten"],"page.error.error_message_page":[0,"Leider können wir die von Ihnen gewünschte Seite nicht finden."],"header.subscribe_notifications":[0,"Jetzt abonnieren, um Benachrichtigungen über neue Beiträge zu erhalten:"],"footer.cloudflare_for_campaigns":[0,"Cloudflare for Campaigns"],"header.subscription_confimation":[0,"Abonnement bestätigt. Danke fürs Abonnieren!"],"posts.social_buttons.hackernews":[0,"Diskutieren Sie auf Hacker News"],"footer.diversity_equity_inclusion":[0,"Diversität, Gleichberechtigung und Inklusion"],"footer.critical_infrastructure_defense_project":[0,"Projekt zur Verteidigung kritischer Infrastruktur"]}]}" ssr="" client="load" opts="{"name":"PostCard","value":true}" await-children="">
Im Zusammenhang mit einer Meldung, die über unser öffentliches Bug Bounty-Programm eingereicht wurde, hat das Workers AI- und AI Gateway-Team kürzlich eng mit Sicherheitsforschenden der Ben-Gurion-Universität zusammengearbeitet...
Der Einsatz von Notfallregeln speziell zur Neutralisierung dieser beiden Sicherheitslücken durch Cloudflare am 17. Januar 2024 hat Kunden, die das KI-Modell nicht nutzen, einen großen Vorteil im Umgang mit diesen Bedrohungen verschafft...
Dieser Beitrag befasst sich mit allen Einzelheiten zum HTTP/2-Protokoll, der Funktion, die Angreifer ausnutzen, um diese massiven Angriffe zu generieren, und den Abwehrstrategien, die wir ergriffen haben, um sicherzustellen, dass alle unsere Kunden geschützt sind...
Der „HTTP/2 Rapid Reset“-Angriff nutzt eine Schwachstelle im HTTP/2-Protokoll aus, um gewaltige, hypervolumetrische DDoS-Angriffe zu generieren. Cloudflare hat in den letzten Monaten eine Flut dieser Angriffe abgewehrt, darunter einen Angriff, der dreimal so groß war wie der bislang größte Angriff...
Dieser Bericht befasst sich mit den von Cloudflare erfassten Daten zu den Sicherheitslücken, die nach Angaben der US-Cybersicherheitsbehörde CISA im Jahr 2022 am häufigsten ausgenutzt wurden...
Nach CVE-2021-44228 wurde ein zweites Log4J-CEVE eingereicht: CVE-2021-45046. Die Regeln, die wir zuvor für CVE-2021-44228 veröffentlicht haben, bieten das gleiche Maß an Schutz für dieses neue CVE...
Bekanntwerden von CVE-2021-44228 (jetzt allgemein als Log4Shell bezeichnet) haben wir gesehen, wie Angreifer von der Verwendung Versuch übergegangen sind, die Blockierung durch WAFs zu umgehen...
Ab sofort können Kunden ihre Logpush-Jobs aktualisieren, um Token, die diese Sicherheitslücke auslösen könnten, automatisch zu entfernen. Weitere Informationen hierzu finden Sie in unserer Dokumentation für Entwickler oder weiter unten...
Wenn wir bei Cloudflare von einer neuen Sicherheitslücke erfahren, stellen wir schnell Teams zusammen, um zwei verschiedene Fragen zu beantworten......
Ich habe in einem vergangenen Beitrag darüber geschrieben, wie CVE-2021-44228 in Log4j abgewehrt werden kann, wie die Schwachstelle zustande kam und welche Maßnahmen Cloudflare für seine Kunden getroffen hat....
Gestern, am 9. Dezember 2021, wurde eine sehr schwerwiegende Sicherheitslücke in dem beliebten Java-basierten Protokollierungspaket Log4j bekannt gegeben....
In den letzten Stunden sind ein gutes Dutzend Meldungen darüber verbreitet worden, dass ein Angreifer versucht (und es vielleicht geschafft hat), Kryptowährungen mit Hilfe eines BGP-Leaks zu stehlen....
In den letzten Tagen haben wir einen großen Anstieg von Amplification-Angriffen (Verstärkungsangriffen) mit einem obskuren Angriffsvektor festgestellt, die unter Nutzung des Memcached-Protokolls von UDP-Port 11211 kamen....