Team Nautilus findet Sicherheitslücken in Source-Code-Management-Systemen
Aqua Security veröffentlicht eine neue Studie, die zeigt, wie geheime Daten wie Anmeldeinformationen, API-Tokens und Passkeys von Organisationen über Jahre hinweg in der Git-basierten Infrastruktur der meisten Quellcode-Verwaltungssysteme (SCMs) offen zugänglich bleiben können.
Aquas Team Nautilus konnte nachweisen, dass „Phantomgeheimnisse“ mit diesen Informationen in den SCMs zahlreicher Entwicklerplattformen offengelegt wurden. GitHub, Gitlab, Bitbucket und andere Plattformen, die solche SCMs verwenden, sind betroffen. Dies liegt an der Art und Weise, wie selbst gelöschte oder aktualisierte Code-Commits in diesen Systemen gespeichert werden, sodass selbst ein einmaliger Fehler eines Entwicklers Geheimnisse über einen längeren Zeitraum hinweg für versierte Bedrohungsakteure offenlegen kann.
Durch das Scannen der 100 beliebtesten Organisationen auf Github, die zusammen mehr als 50.000 öffentlich zugängliche Repositories umfassen, fand das Team Nautilus aktive Geheimnisse von Open-Source-Organisationen und Unternehmen wie Cisco und Mozilla, die Zugang zu sensiblen Daten und Software bieten. Die aufgedeckten Geheimnisse könnten zu erheblichen finanziellen Verlusten, Rufschädigung und rechtlichen Konsequenzen führen.
Team Nautilus: Einmal coden, für immer preisgeben
Obwohl die Best Practices für sichere Codierung bereits vorschreiben, dass Geheimnisse nicht fest codiert werden sollten, setzen viele Entwickler diese Praxis fort. Sie verlassen sich auf Tools zum Scannen von Geheimnissen, um sicherzustellen, dass diese nicht in die Produktion gelangen, und geben den aktualisierten Code oft ohne diese Geheimnisse erneut frei. Phantomgeheimnisse existieren aufgrund der zugrunde liegenden Prozesse in Git-basierten SCMs, die dazu führen, dass Code, der in Repositories überschrieben oder gelöscht wurde, im zugrunde liegenden System zugänglich bleibt. Die meisten Secrets-Scanner betrachten nur Repos, die über den Git-Clone-Befehl zugänglich sind, wodurch fast 18 Prozent der Geheimnisse übersehen werden.
Mozilla und Cisco bestätigen die Ergebnisse von Team Nautilus
Zu den offengelegten Geheimnissen, die beim Scannen offener Github-Repositories vom Team Nautilus gefunden wurden, gehörten API-Tokens von Cisco Meraki und dem Mozilla-Projekt. Das Sicherheitsteam von Cisco bestätigte die Ergebnisse: „Wir haben privilegierte Meraki-API-Tokens entdeckt, die von einigen Fortune-500-Unternehmen verwendet werden. Diese Tokens könnten es Angreifern ermöglichen, auf Netzwerkgeräte, Simple Network Management Protocol-Geheimnisse, Kameraaufzeichnungen und mehr zuzugreifen, was als erstes Standbein für die gefährdeten Parteien dient.“ Das Mozilla-Projekt bestätigte, dass „ein API-Token für den Mozilla FuzzManager mit Lese- und Schreibrechten“ und dass „das API-Token eines Mitarbeiters für sql.telemetry.mozilla.org durchgesickert sind“. Beide Lecks wurden als kritisch eingestuft.
Der FuzzManager ermöglicht nicht nur den Zugriff auf viele potenzielle Sicherheitslücken in Firefox und Tor, sondern die Telemetrie ermöglichte auch den Zugriff auf vertrauliche Informationen über Mozilla-Produkte. Darüber hinaus fand Nautilus ein Azure Service Principal Token, das einem großen Gesundheitsunternehmen gehört und in einem Git-Commit offengelegt wurde.
Dieser Token verfügte über hohe Privilegien und hohen Zugriff, um Anmeldeinformationen für die interne Azure Container Registry zu erhalten, was einen Angreifer dazu hätte verleiten können, einen Supply-Chain-Angriff durchzuführen, der sich auf das Unternehmen und seine Kunden auswirkt. In allen Fällen wurden die preisgegebenen Geheimnisse sofort widerrufen.
„Unsere Ergebnisse sind alarmierend, und es ist sehr wichtig, dass jeder, der an der Softwareentwicklung beteiligt ist, den Ernst dieses Problems versteht“, sagt Yakir Kadkoda, Aqua Team NautilusLead Security Researcher. „Jahrelang haben wir Entwickler dazu angehalten, keine Geheimnisse in ihren Code einzubauen. Jetzt stellt sich heraus, dass selbst wenn sie dies nur ein einziges Mal tun, das Geheimnis dauerhaft preisgegeben wird – selbst wenn sie dachten, es sei gelöscht oder überschrieben worden. Zu den Auswirkungen eines Lecks in sensiblen Daten können unbefugter Zugriff, gefährdete Sicherheitskontrollen, erhebliche finanzielle Einbußen oder Rufschädigung zählen.“
„Die Ergebnisse bekräftigen einmal mehr die bewährte Praxis, dass Geheimnisse niemals in Code eingefügt werden sollten, nicht einmal zu Testzwecken. Und Sicherheitsteams müssen in der Lage sein, dies zu überwachen“, sagt Amir Jerbi, CTO und Mitbegründer von Aqua Security (Webseite). „Die Software-Lieferkette ist auf Schnelligkeit und Bequemlichkeit optimiert, aber das darf nicht auf Kosten von sicheren Entwicklungspraktiken gehen.“
Den vollständige Blog-Beitrag zum Report finden Sie hier.