IT-Forscher haben ernsthafte Sicherheitsmängel in den beliebten Machine-Learning-Repositories von Hugging Face identifiziert, bei denen es Angreifern gelang, Malware in manipulierter KI-Software zu verstecken. Diese Entdeckung wirft ein beunruhigendes Licht auf die potenziellen Gefahren, die durch unzureichend abgesicherte KI-Plattformen entstehen können. Insbesondere zeigt der Fall, wie Schwachstellen in der Serialisierungs-Technologie Pickle von Python ausgenutzt werden können, um schädlichen Code auszuführen und eine Reverse Shell zu öffnen, die das infizierte System komplett kompromittiert. Der Vorfall verdeutlicht die Notwendigkeit, robuste Sicherheitsmaßnahmen zu ergreifen und die Verteilung und Nutzung von KI-Modellen strenger zu kontrollieren.
Technische Analyse der Malware „nullifAI“
Nutzung von Pickle File Serialization zum Einschleusen von Malware
Ein Blog-Beitrag von Reversinglabs beleuchtete die Malware, die den Namen „nullifAI“ erhielt. Durch manipulierte KI-Modelle, die auf der Plattform verfügbar waren, konnten Angreifer die unsicheren Funktionen der Pickle File Serialization geschickt ausnutzen. Pickle ist ein Python-Modul, das häufig für die Serialisierung und Deserialisierung von Machine-Learning-Modellen verwendet wird. Die Schwachstelle des Moduls resultiert daraus, dass es in der Lage ist, bei der Deserialisierung beliebigen Python-Code auszuführen. Obwohl in der Dokumentation von Hugging Face auf diese Gefahr hingewiesen wird, scheint diese Warnung nicht ausreichend beachtet worden zu sein.
Zwei speziell präparierte Modelle enthielten den bösartigen Code und wurden in den Repositories von Hugging Face nicht als unsicher markiert. Dies deutet darauf hin, dass die Hacker die existierenden Sicherheitsmechanismen erfolgreich umgangen haben. Auffällig war, dass sowohl ProtectAI als auch ClamAV die Bedrohung nicht erkannten und das Scanner-Tool HF Picklescan die Files aufgrund ihrer Kompression nicht einmal als Pickle-Datei identifizierte. Die Angreifer nutzten verschiedene Techniken zur Verschleierung, um die Erkennung durch herkömmliche Sicherheitslösungen zu umgehen. Hierunter fiel etwa der Einsatz von 7z-Kompression anstelle des üblichen ZIP-Formats, was dazu führte, dass torch.load() die Dateien nicht laden konnte und Picklescan sie nicht als riskant einstufte.
Unzureichende Sicherheitsmechanismen und Analysen
Die IT-Forscher betonten, dass die beiden bösartigen Dateien im PyTorch-Format, einem komprimierten Pickle, vorlagen. Ein weiteres Problem ergab sich durch die Kompression mit 7z anstelle von ZIP, was dazu führte, dass torch.load() die Dateien nicht verarbeiten konnte. Infolgedessen erkannte HF Picklescan die Dateien gar nicht erst als Pickle und konnte sie somit nicht als unsicher markieren. Außerdem verwendete Picklescan eine begrenzte Blacklist gefährlicher Funktionen, was dazu führte, dass bösartige Nutzlasten häufig unentdeckt blieben – besonders dann, wenn die Serialisierung defekt war und de facto nicht dekompiliert werden konnte.
Hinzu kommt, dass die Objekt-Serialisierung kurz nach der bösartigen Nutzlast defekt war, was zu Dekompilierungsfehlern führte. Diese Taktik der Angreifer verhinderte, dass Sicherheitssoftware die betreffenden Daten korrekt analysieren konnte. Ein solcher Defekt im Format verkompliziert die Erkennung erheblich, da fehlerhafte Pakete selbst von fortschrittlicher Sicherheitssoftware nur schwer zu behandeln sind. Dadurch konnten die Angreifer komplexe Schadfunktionen ausführen, inklusive des Öffnens von Netzwerkverbindungen, der Erstellung neuer Prozesse und des Zugriffs auf Kameras, Mikrofone und Dateisysteme. Die analysierten Samples enthielten eine modifizierte Reverse-Shell, die auf eine festkodierte IP-Adresse abzielte, was den Angreifern direkten Remote-Zugriff ermöglichte.
Erste Gegenmaßnahmen und zukünftige Schritte
Notwendigkeit verbesserter Sicherheitsmechanismen
Neben der detaillierten technischen Analyse wiesen die IT-Forscher auf die Notwendigkeit hin, bessere Sicherheitsmaßnahmen zu implementieren, ohne dabei das Potenzial von Pickle-Dateien gänzlich zu verwerfen. Die Forscher und Hugging Face erkennen an, dass ein vollständiges Verbot der Nutzung von Pickle nicht umsetzbar ist, weshalb alternative Ansätze und Sicherheitsmechanismen weiter erforscht und entwickelt werden müssen. Der Balanceakt zwischen der Flexibilität der Technologie und der Sicherheit erfordert kontinuierliche Anpassungen und Innovationen.
Es wurden verschiedene Indikatoren für eine mögliche Infektion durch solche Malware identifiziert und veröffentlicht, um Nutzern die Erkennung solcher Bedrohungen zu ermöglichen. Obwohl die Forscher keine endgültigen Lösungen präsentierten, soll diese Arbeit dazu beitragen, das Bewusstsein für die bestehenden Sicherheitslücken zu schärfen und die Notwendigkeit weiterer Forschung und Entwicklung in diesem Bereich zu unterstreichen. Die IT-Gemeinschaft steht vor der Herausforderung, praktikable und sichere Methoden für die Verteilung und Nutzung von Machine-Learning-Modellen zu etablieren.
Zukünftige Forschung und Ausblick
IT-Forscher haben schwerwiegende Sicherheitslücken in den weit verbreiteten Machine-Learning-Repositories von Hugging Face aufgedeckt. Angreifern ist es gelungen, Malware in manipulierte KI-Software einzuschleusen. Diese Entdeckung macht deutlich, welche potenziellen Gefahren von unzureichend gesicherten KI-Plattformen ausgehen können. Besondere Aufmerksamkeit verdient die Tatsache, dass Schwachstellen in der Serialisierungstechnologie Pickle von Python ausgenutzt wurden. Dadurch konnten Angreifer schädlichen Code ausführen und eine Reverse Shell öffnen, was zu einer vollständigen Kompromittierung des infizierten Systems führte. Der Vorfall hebt die dringende Notwendigkeit hervor, robuste Sicherheitsmaßnahmen zu implementieren und die Verteilung sowie Nutzung von KI-Modellen streng zu überwachen. Es zeigt sich, dass jede Schwachstelle in solchen Technologien schwerwiegende Konsequenzen haben kann. Die Forscher betonen, wie wichtig es ist, Sicherheitslücken zu identifizieren und zu schließen, um zukünftige Angriffe zu verhindern und die Integrität der Systeme zu gewährleisten.