Offensive Services

Business Logic Schwachstelle im Google Drive

Aktualisiert am

Wir beschreiben eine gefundene Schwachstelle in Google Drive, mit der es für Benutzer möglich ist, unwiderruflich Dateien in geteilten Ordnern zu löschen, obwohl diese nicht die entsprechenden Rechte haben. Dies ist durch eine fehlerhafte Logik der Versionsverwaltung möglich. Der Bug wurde an Google gemeldet, jedoch als Intended behavior deklariert.

Berechtigungen im Google Drive

Während der täglichen Arbeit fallen viele Dokumente, Medien und andere wichtige Dateien an, welche sicher und hochverfügbar abgelegt werden müssen. Ein beliebter Cloud-Service, auf die viele Unternehmen zurückgreifen, ist Google Drive, welche nahtlos in Google Workplace eingebunden ist. Um die Hierarchie im Unternehmen und die jeweiligen Berechtigungen abzubilden, implementiert Google ein bestimmtes Berechtigungskonzept. Dieses regelt die Befugnisse, die Mitarbeiterkonten in geteilten Ordnern haben – beispielsweise die Erstellung, Löschung und Änderung von Dateien. Folgende Rollen sind definiert:

  • Administrator
  • Content-Manager
  • Beitragender
  • Kommentator
  • Betrachter

Mitarbeiter erhalten oft den Zugriff Beitragender für geteilte Ordner, mit der Dateien erstellt und bearbeitet, jedoch nicht gelöscht werden können. Im Folgenden wird eine von Vincent Reckendrees und Johannes Ludwig gefundene Schwachstelle beschrieben, wie ein Benutzer mit der Berechtigung Beitragender trotzdem Dateien unwiderruflich löschen kann. Dieser Fehler wurde an Google gemeldet, jedoch als gewolltes Verhalten eingestuft. Der Disclosure Prozess mit Google wird ebenfalls erläutert.

Beschreibung der Business Logic Schwachstellen im Google Drive

Für Benutzer, die das Zugriffslevel Beitragender für einen Ordner haben, existiert für jede Datei, in einem für diesen Benutzer freigegebenen Ordner die Möglichkeit, eine neue Version dieser Datei hochzuladen. Dies stellt eine sogenannte Business Logic Schwachstelle, welche wir im Penetrationstesting häufig vorfinden dar. Es gibt Ausnahmen, auf die unten eingegangen werden.

Bildunterschrift: Die Versionsverwaltung ist über Google Drive aufrufbar.

In diesem Menü hat man die Möglichkeit, die Versionen für eine Datei einzusehen.

Bildunterschrift: Für eine Datei kann es mehrere Versionen geben.

Dieses Menü hat jedoch auch die Funktionalität alte Dateiversionen zu löschen.

Bildunterschrift: Für unberechtigte Benutzer ist es möglich alte Dateien zu löschen.

Ein Beitragender (oft also jeder Mitarbeiter) kann theoretisch wichtige Projektdaten, Vertriebsdokumente oder andere geschäftliche Dateien mit einer ein Byte großen Textdatei oder sonstigen ersetzen und die alte Datei dabei unwiderruflich löschen.

Bildunterschrift: Alte Dateien können unwiderruflich gelöscht werden.

Dieses Verfahren ließe sich auch automatisiert durchführen, womit ein Mitarbeiter im schlimmsten Fall innerhalb einiger Sekunden alle Dateien in Ordnern, auf die er mit der Rolle Beitragender Zugriff hat, löschen könnte.

Wichtig anzumerken ist hierbei, dass es eine Ausnahme gibt:

In Google Drive gibt es die Möglichkeit, direkt neue Dateien wie Docs oder Sheets zu erstellen. Diese können dann direkt mit Google Tools wie Google Sheets oder Google Tabellen geöffnet und bearbeitet werden. Für direkt in Google Drive erstellte Dateien, ist keine Versionsverwaltung über Google Drive aufrufbar. Diese Dateien haben innerhalb der Anwendung eine eigene Versionsverwaltung, in der keine alten Versionen gelöscht werden können.

Bildunterschrift: In Google Anwendungen existiert eine andere Versionshistorie.

Falls eine Datei hochgeladen wird, die mit Google Tools geöffnet und editiert werden kann, 

unterliegt diese sowohl dem Versionstracker von Google Drive als auch dem der Anwendung. Der Versionstracker der Google Anwendung greift ab dem Zeitpunkt, an dem diese hochgeladene Datei geöffnet wurde.

Wird beispielsweise eine XLSX-Datei hochgeladen und in Google Drive geöffnet, so wird für diese Datei auch der andere Versionstracker aktiviert und ein Löschen ist nicht mehr durchführbar.

Die Schwachstelle ist demnach nur ausnutzbar für noch nicht in Google Drive geöffnete Dokumente, für die Google Drive Google Tools hat, um diese zu editieren (Tabellenkalkulation, Dokumente, Präsentationen) oder andere Dateien, die ohnehin nicht mit Google Drive editiert werden können (Bilder, PDF, Videos, Binärdateien etc.).

Responsible Disclosure bei Google

Timeline:

DatumSenderNachricht
Mär 2, 2023AWARE7Meldung des Bugs.
Mär 3, 2023GoogleRückfrage bezüglich der Rolle.
Mär 3, 2023AWARE7Rückmeldung, dass nicht Benutzerrolle, sondern das Zugriffslevel für geteilte Ordner gemeint ist.
Mär 6, 2023GoogleRückmeldung, dass der Bug untersucht wird.
Mär 6, 2023GoogleDer Bug wurde als Abuse Risk eingestuft.
Apr 3, 2023AWARE7Erfragen von Neuigkeiten.
Apr 5, 2023GoogleFinale Rückmeldung, siehe unten.
Apr 5, 2023GoogleSetzen des Status auf:
Won’t fix (Intended behavior)

Finale Rückmeldung von Google:

Hi!

We’ve reviewed your submission and decided not to track it as a security bug, as we are already aware of this issue.

For the same reason, your report will also not be accepted to our VRP. Only first reports of technical security vulnerabilities are in scope for VRP 🙁 Sorry about that.

Nevertheless, we’re looking forward to your next report! To maximize the chances of it being accepted, check out the Bug Hunter University and learn some Secrets of Google VRP.

Thanks again for your report and time,
Google Trust & Safety

Unserer Meinung nach ist dies eine Fehleinschätzung von Google, da dieser Fehler verheerende Auswirkungen für ein Unternehmen bedeuten kann. Das Zugriffslevel Beitragender wird vergeben, damit ein Mitarbeiter keine Dateien unwiderruflich löschen kann. Dass sie es doch können, ist den meisten Administratoren sicher nicht bewusst. Aktuell gibt es nur die Gegenmaßnahme, ein schwächeres Zugriffslevel wie Kommentator zu vergeben, mit dem die Benutzer jedoch keine Dateien mehr erstellen oder ändern können.

Für einen Fehler im Berechtigungsmanagement spricht weiterhin, dass es bei der anderen Versionsverwaltung (für mit Google Tools editierbare Dokumente) keine Möglichkeit gibt, alte Versionen zu löschen. Alle Versionen bleiben stets erhalten und können nicht wie bei den anderen Dateien überschrieben werden.

Foto des Autors

Vincent Reckendrees

Hallo, ich bin Vincent Reckendrees und leite das Team Offensive Services bei der AWARE7 GmbH. In meinem Bachelor und Master Studium habe ich mich auf IT-Sicherheit spezialisiert und BSI zertifizierter IS-Penetrationstester. Meine Leidenschaft gilt Reverse Engineering, Hardware- und Web-Sicherheit. Als Experte für Penetrationstests finde ich Schwachstellen in Systemen und Netzwerken und nutze sie, um realistische Cyberangriffe zu simulieren und Sicherheitsmaßnahmen zu verbessern. Durch Reverse Engineering entdecke ich Fehler und Verbesserungsmöglichkeiten in Software und Hardware. Meine Fähigkeiten in Hardware- und Web-Sicherheit ermöglichen es mir, physische Geräte und Online-Plattformen vor einer Vielzahl von Cyberbedrohungen zu schützen und ihre Integrität und Zuverlässigkeit zu gewährleisten.