FixVibe
Covered by FixVibehigh

Firebase Sécherheetsregelen: Präventioun vun onerlaabten Datebeliichtung

Firebase Sécherheetsregelen sinn déi primär Verteidegung fir serverlos Uwendungen mat Firestore a Cloud Storage. Wann dës Reegelen ze permissiv sinn, wéi zum Beispill de globale Lies- oder Schreifzougang an der Produktioun erlaben, kënnen Ugräifer déi virgesinn Applikatiounslogik ëmgoen fir sensibel Donnéeën ze klauen oder ze läschen. Dës Fuerschung exploréiert allgemeng Mësskonfiguratiounen, d'Risike vun den 'Testmodus' Defaults, a wéi een Identitéitsbaséiert Zougangskontroll implementéiert.

CWE-284CWE-863

Firebase Sécherheetsregele bidden e granuläre Server-gezwongener Mechanismus fir Daten an Firestore, Realtime Datebank a Cloud Storage ze schützen [S1]. Well Firebase Uwendungen dacks mat dëse Cloud Servicer direkt vun der Client Säit interagéieren, representéieren dës Regelen déi eenzeg Barrière déi onerlaabten Zougang zu de Backend Daten [S1] verhënnert.

Impakt vun Permissive Regelen

Misconfigured Reegele kënnen zu bedeitend Datebelaaschtung [S2] féieren. Wann d'Regele gesat gi fir iwwerdriwwen permissiv ze sinn - zum Beispill mat Standard 'Testmodus' Astellungen déi global Zougang erlaben - kann all Benotzer mat Wëssen iwwer d'Projet ID de ganze Datebankinhalt [S2] liesen, änneren oder läschen. Dëst ëmgeet all Client-Säit Sécherheetsmoossnamen a kann am Verloscht vun sensiblen Benotzer Informatiounen oder total Service Stéierungen [S2] Resultat.

Root Ursaach: Net genuch Autorisatiounslogik

D'Haaptursaach vun dëse Schwachstelle ass typesch de Versoen fir spezifesch Konditiounen ëmzesetzen, déi den Zougang op Basis vun der Benotzeridentitéit oder Ressource Attributer [S3] beschränken. D'Entwéckler verloossen dacks Standardkonfiguratiounen aktiv a Produktiounsëmfeld déi den request.auth Objet [S3] net validéieren. Ouni request.auth ze evaluéieren, kann de System net tëscht engem legitimen authentifizéierte Benotzer an engem anonyme Ufroer [S3] ënnerscheeden.

Technesch Sanéierung

Sécheren vun engem Firebase Ëmfeld verlaangt Plënneren aus oppen Zougang zu engem Haapt-vun-mannst-Privileg Modell.

  • Authentifikatioun erzwéngen : Vergewëssert Iech datt all sensibel Weeër eng valabel Benotzersitzung erfuerderen andeems Dir iwwerpréift ob den request.auth Objet net null ass [S3].
  • Implementéiert Identitéitsbaséiert Zougang : Regelen konfiguréieren déi den UID vum Benotzer (request.auth.uid) mat engem Feld am Dokument oder der Dokument ID selwer vergläichen fir datt d'Benotzer nëmmen op hir eegen Donnéeën [S3] kënnen zougräifen.

Granular Permission Scoping : Vermeit global Wildcards fir Sammlungen. Amplaz, definéieren spezifesch Regele fir all Kollektioun an Ënner-Kollektioun fir eng minimiséieren Potential Attack Uewerfläch [S2].

  • Validatioun iwwer Emulator Suite: Benotzt d'Firebase Emulator Suite fir Sécherheetsregelen lokal ze testen. Dëst erlaabt d'Verifizéierung vun der Zougangskontrolllogik géint verschidde Benotzerpersounen ier se an e Live-Ëmfeld [S2] ofsetzen.

Wéi FixVibe Tester fir et

FixVibe enthält dëst elo als e liesen-nëmmen BaaS Scan. baas.firebase-rules extrahéiert d'Firebase Konfiguratioun aus JavaScript-Bündelen aus dem selwechten Hierkonft, inklusiv modern initializeApp(...) Bündelformen, kontrolléiert dann Echtzäit Datebank, Firestore, an Firebase Ufro Gelies mat onnautesch Ufro gelies. Fir Firestore probéiert et fir d'éischt d'Root Sammlung Oplëschtung; wann d'Lëscht blockéiert ass, ënnersicht et och allgemeng sensibel Sammlungsnamen wéi users, accounts, customers, orders, ZXCVFIXVIBETOKEN6ZXZVIXV, ZXCVFIXVIBETOKEN6ZXZVIXX, ZXCVFIX, admin, an settings. Et bericht nëmmen erfollegräich anonym Liesen oder Oplëschtungen a schreift net, läscht oder späichert den Inhalt vum Client Dokument.