Die Firma Aqua Security hat die Ergebnisse einer Untersuchung zur Verfügbarkeit sensibler Daten in Build-Logs veröffentlicht, die öffentlich im kontinuierlichen Integrationssystem Travis CI zugänglich sind. Die Forscher fanden einen Weg, um 770 Millionen Logs verschiedener Projekte zu extrahieren. Bei einem Testlauf mit 8 Millionen Logs wurden in den gewonnenen Daten etwa 73.000 Tokens, Anmeldedaten und Zugangsschlüssel identifiziert, die mit verschiedenen populären Services wie GitHub, AWS und Docker Hub verbunden sind. Die aufgedeckten Informationen können die Infrastruktur vieler Open-Source-Projekte gefährden; ein ähnlicher Vorfall führte kürzlich zum Hack der Infrastruktur des NPM-Projekts.
Die Sicherheitslücke ermöglicht den Zugriff auf die Protokolle der Benutzer des kostenlosen Dienstes Travis CI über die offizielle API (zum Beispiel kann das Build-Protokoll über eine URL wie „https://api.travis-ci.org/v3/job/5248126/log.txt“ heruntergeladen werden, wobei 5248126 die Protokoll-ID darstellt). Um den Bereich möglicher Protokoll-IDs zu bestimmen, wurde eine weitere API („https://api.travis-ci.org/logs/6976822“) verwendet, die eine Umleitung zum Herunterladen des Protokolls nach Sequenznummer ermöglicht. Durch Ausprobieren konnte im Rahmen der Untersuchung ohne Authentifizierung etwa 770 Millionen Protokolle identifiziert werden, die zwischen 2013 und Mai 2022 während der Builds von Projekten, die unter den kostenlosen Tarif fallen, erstellt wurden.
Die Analyse der Teststichprobe hat gezeigt, dass in vielen Fällen die Zugriffsdaten auf Repositories, APIs und Speicher in den Logs im Klartext auffindbar sind. Diese Informationen sind ausreichend, um auf private Repositories zuzugreifen, Codeänderungen vorzunehmen oder sich mit Cloud-Umgebungen zu verbinden, die in der Infrastruktur verwendet werden. Beispielsweise wurden in den Logs Tokens für die Verbindung zu Repositories in GitHub, Passwörter für das Bereitstellen von Builds in Docker Hub, Schlüssel für den Zugang zu Amazon Web Services (AWS) und Verbindungsparameter für MySQL- und PostgreSQL-Datenbanken gefunden.
Bemerkenswert ist, dass ähnliche API-Lecks von Forschern in den Jahren 2015 und 2019 dokumentiert wurden. Nach früheren Vorfällen hat das Unternehmen Travis bestimmte Einschränkungen eingeführt, um das massenhafte Herunterladen von Daten zu erschweren und den Zugang zur API einzuschränken. Diese Einschränkungen konnten jedoch umgangen werden. Darüber hinaus unternahm Travis einen Versuch, vertrauliche Daten in den Logs zu bereinigen, wobei jedoch nur eine teilweise Säuberung erfolgte.
Der Leak betraf hauptsächlich Benutzer öffentlicher Projekte, die von Travis kostenlosen Zugang zu seinem Continuous Integration-Service erhalten. Bei einer Überprüfung durch mehrere Dienstanbieter wurde bestätigt, dass etwa die Hälfte der aus den Logs extrahierten Tokens und Schlüssel weiterhin funktionsfähig ist. Allen Nutzern der kostenlosen Version des Travis CI-Services wird dringend geraten, ihre Zugangsschlüssel zu ändern, die Löschung von Build-Logs einzurichten und sicherzustellen, dass keine vertraulichen Daten im Log ausgegeben werden.
Quelle: opennet.ru
