IA, Modellierung und Git: die Entdeckung, die Vim und Emacs der Remote-Code-Ausführung aussetzt

Veröffentlicht 5 min de lectura 113 Lesen

In den letzten Wochen bekam ein Sicherheitsforscher das, was unwahrscheinlich schien: Fehler zu finden, die es Ihnen erlauben, Remote-Code in zwei der veteranischsten Texteditoren im freien Ökosystem laufen lassen, und nutzte die Unterstützung eines IA-Assistenten, um den Code zu analysieren und Konzeptnachweise zu generieren. Das Ergebnis ist keine theoretische Verwundbarkeit: Im Falle von Vim reichte es aus, eine manipulierte Datei zu öffnen, um Befehle mit den Privilegien des Benutzers auszuführen, und in GNU Emacs wurde eine Art von Missbrauch der Integration mit Git dokumentiert, die auch zur Codeausführung bei der Arbeit an unzuverlässigen Verzeichnissen führen kann.

Die Entdeckung in Vim wurde von Hung Nguyen, einem Forscher der Sicherheitsfirma Calif, beschrieben, nachdem er dem Assistenten Claude sagte, einen CERs-Typ-Versagen (Remote Code Ausführung) im Editor zu suchen. Der Assistent hat Teile des Quellcodes überprüft und auf Fehler in der Art, wie Vim Modellaufrufe (Modellierung) verarbeitet, jene eingebetteten Anweisungen in dem Text, die angeben, wie sich der Editor mit einer Datei verhalten sollte. Die Untersuchung fand unzureichende Sicherheitsüberprüfungen und einen Weg, um die Einschränkungen der sogenannten "Sandbox" zu vermeiden, so dass eine speziell vorbereitete Datei zur Ausführung von Befehlen beim Öffnen führen könnte. Der Einfluss war klar: durch das Öffnen einer schädlichen Datei könnte ein Angreifer Befehle mit den gleichen Berechtigungen ausführen wie der Benutzer, der Vim betreibt. Das Problem wurde den Betreuern gemeldet und schnell gelöst; der Patch ist in der Version 9.2,0272 von Vim enthalten, und die offizielle Mitteilung kann im Sicherheitsheft des Vim Repository in GitHub gefunden werden ( Sicherheitshinweis von Vim) sowie am Eingang des Forschers selbst ( Analyse veröffentlicht von Calif)

IA, Modellierung und Git: die Entdeckung, die Vim und Emacs der Remote-Code-Ausführung aussetzt
Bild generiert mit IA.

Der Fall von GNU Emacs ist anders in der Mechanik, aber ebenso beunruhigend aus der Sicht des Benutzers. Nguyen zeigte, wie die Integration von Emacs mit Versionssteuerungssystemen (das vc-git-Modul) aktiviert Git Operationen beim Öffnen von Dateien, was dazu führt, dass Git in der Lage ist, eine lokale Konfiguration als .git / config zu lesen und das im Chor definierte Werkzeug auszuführen. fsmonitor Option. Diese Route ermöglicht eine Datei innerhalb einer komprimierten Datei oder Verzeichnis mit einem .git / versteckt löst die Ausführung eines Programms aus, wenn der Benutzer dekomprimiert und öffnet den Text in Emacs. In der Praxis reicht es aus, eine Datei oder ein Paket zu liefern, das eine .git / config manipuliert enthält, so dass der Emacs Standardfluss Code ohne offensichtliche Warnsignale ausläuft. Emacs' Betreuer haben darauf hingewiesen, dass die gefährliche Aktion von Git durchgeführt wird, so dass sie denken, dass die Korrektur Git entspricht, aber die Beobachtung des Forschers ist, dass Emacs automatisch aktiviert Git, ohne gefährliche Optionen zu neutralisieren oder um Zustimmung zu bitten, den Benutzern ausgesetzt, die Dateien in unzuverlässigen Verzeichnissen öffnen. Der technische Bericht mit Details und Konzeptnachweisen ist im öffentlichen Repository der Ausrüstung ( Papier auf Emacs), und die Git-Konfigurationsoption in der offiziellen Git-Dokumentation ( chore.fsmonitor in git-config)

Neben dem technischen Detail dient diese Episode als Beispiel dafür, wie IA-Werkzeuge die Forschungsarbeit in Sicherheit verwandeln: Der Assistent Claude hat nicht nur riskante Verhaltensweisen im Code lokalisiert, sondern dazu beigetragen, Konzepttests zu iterieren und zu polieren, um reproduzierbare Exploits zu erzeugen. Diese Strömung beschleunigte die Identifikation des Problems und ermöglichte eine schnellere Kommunikation mit den Betreuern, aber auch eine doppelte Spannung: die gleiche Fähigkeit, die Analyse zu automatisieren und Code zu generieren ist nützlich für Verteidiger und Angreifer.

IA, Modellierung und Git: die Entdeckung, die Vim und Emacs der Remote-Code-Ausführung aussetzt
Bild generiert mit IA.

Für Benutzer und Manager gibt es sofortige praktische Empfehlungen. Im Falle von Vim ist die Aktualisierung auf die parcheed Version (9,2,0272) die direkteste und empfohlene Maßnahme; das Release-Label kann im Vim-Repository in GitHub gefunden werden ( Start mit dem Patch) Bei GNU Emacs, da die Korrektur nicht von Emacs-Entwicklern angewendet wurde und der Vektor von Git abhängt, ist es angebracht, Vorsichtsmaßnahmen zu treffen: das Öffnen von Dateien aus nicht verifizierten Quellen zu vermeiden, ohne sie vorher zu überprüfen, komprimieren Dateien in isolierten Umgebungen, und konfigurieren oder deaktivieren automatische Versionsstatuskontrolle, wenn Sie mit externen Inhalten arbeiten. Für diejenigen, die Emacs verwenden und die automatische Interaktion mit der Versionssteuerung begrenzen möchten, ist die Dokumentation des Editors zur Versionssteuerung ein Ausgangspunkt für das Anpassungsverhalten ( Emacs manual: Versionskontrolle) Als zusätzliche Maßnahme reduzieren laufende Editoren mit minimalen Privilegien oder in Containern / Sandbox die Auswirkungen solcher Fehler.

Jenseits von Patches und Minderungen stellt Anekdote eine größere Frage über die Gestaltung von Werkzeugen, die automatisch auf potenziell feindlichen Inhalten handeln: sollten die Editoren annehmen, dass jedes Verzeichnis zuverlässig ist und die Minderung anderer Schichten (wie Git) delegieren, oder sollten sie zuerst potenziell gefährliche Optionen neutralisieren? Der Forscher selbst schlug vor, dass Emacs Anrufe nach Git filtern oder absagen könnte, die die Ausführung von Choreographie ermöglichen. fsmonitor, so dass von einem Angreifer gesteuerte Skripte nicht aufgerufen werden, eine praktische Lösung, die das Risiko reduziert, auch wenn es keine Git-Korrektur ersetzt.

Kurz gesagt, die Kombination einer menschlichen Forschung mit Beschleunigung durch IA hat dazu beigetragen, einen schweren Ausfall in Vim zu entdecken und zu reparieren und einen Weg des Missbrauchs in Emacs zu demonstrieren, der ohne einstimmige Korrektur weitergeht. Die Lektion für jeden Fachmann ist, die Editoren auf dem neuesten Stand zu halten, vorsichtig mit Dateien aus unbekannten Quellen erhalten, und betrachten zusätzliche Einschränkungen (Sandboxing, eingeschränkte Privilegien und vorherige Überprüfung) bei der Arbeit mit heruntergeladenen Inhalten. Für diejenigen, die die Originalanalysen vertiefen wollen, stehen Califs Forschung und die Hinweise in den entsprechenden Repositories in den genannten Quellen zur Verfügung.

Deckung

Verwandte Artikel

Weitere Neuigkeiten zum selben Thema.