FixVibe
Covered by FixVibehigh

Rheolau Diogelwch Firebase: Atal Datguddio Data Heb Ganiatâd

Rheolau Diogelwch Firebase yw'r prif amddiffyniad ar gyfer cymwysiadau di-weinydd sy'n defnyddio Firestore a Cloud Storage. Pan fo'r rheolau hyn yn rhy ganiataol, megis caniatáu mynediad darllen neu ysgrifennu byd-eang wrth gynhyrchu, gall ymosodwyr osgoi rhesymeg cais arfaethedig i ddwyn neu ddileu data sensitif. Mae'r ymchwil hwn yn archwilio camgyfluniadau cyffredin, y risgiau o ddiffygion 'modd prawf', a sut i weithredu rheolaeth mynediad ar sail hunaniaeth.

CWE-284CWE-863

Mae Rheolau Diogelwch Firebase yn darparu mecanwaith gronynnog, wedi'i orfodi gan weinydd i ddiogelu data yn Firestore, Cronfa Ddata Realtime, a Cloud Storage [S1]. Oherwydd bod cymwysiadau Firebase yn aml yn rhyngweithio â'r gwasanaethau cwmwl hyn yn uniongyrchol o ochr y cleient, mae'r rheolau hyn yn cynrychioli'r unig rwystr sy'n atal mynediad anawdurdodedig i'r data backend [S1].

Effaith Rheolau Caniataol

Gall rheolau wedi'u camgyflunio arwain at ddatguddiad data sylweddol [S2]. Os gosodir rheolau i fod yn rhy ganiataol - er enghraifft, gan ddefnyddio gosodiadau 'modd prawf' rhagosodedig sy'n caniatáu mynediad byd-eang - gall unrhyw ddefnyddiwr sydd â gwybodaeth am ID y prosiect ddarllen, addasu, neu ddileu cynnwys y gronfa ddata gyfan [S2]. Mae hyn yn osgoi'r holl fesurau diogelwch ochr y cleient a gall arwain at golli gwybodaeth defnyddiwr sensitif neu amhariad llwyr ar y gwasanaeth [S2].

Achos Gwraidd: Rhesymeg Awdurdodi Annigonol

Yn nodweddiadol, gwraidd y gwendidau hyn yw'r methiant i weithredu amodau penodol sy'n cyfyngu mynediad yn seiliedig ar hunaniaeth defnyddiwr neu briodoleddau adnoddau [S3]. Mae datblygwyr yn aml yn gadael cyfluniadau rhagosodedig yn weithredol mewn amgylcheddau cynhyrchu nad ydynt yn dilysu'r gwrthrych request.auth [S3]. Heb werthuso request.auth, ni all y system wahaniaethu rhwng defnyddiwr dilys dilys a chais dienw [S3].

Adfer Technegol

Er mwyn sicrhau amgylchedd Firebase mae angen symud o fynediad agored i fodel prif o'r fraint leiaf.

  • Gorfodi Dilysu: Sicrhewch fod angen sesiwn defnyddiwr dilys ar bob llwybr sensitif trwy wirio a yw'r gwrthrych request.auth yn null [S3].
  • Gweithredu Mynediad Seiliedig ar Hunaniaeth: Ffurfweddu rheolau sy'n cymharu UID y defnyddiwr (request.auth.uid) â maes o fewn y ddogfen neu ID y ddogfen ei hun i sicrhau mai dim ond eu data eu hunain y gall defnyddwyr gael mynediad iddynt [S3].
  • Cwmpas Caniatâd Gronynnog: Osgowch gardiau chwilio byd-eang ar gyfer casgliadau. Yn lle hynny, diffiniwch reolau penodol ar gyfer pob casgliad ac is-gasglu i leihau'r arwyneb ymosodiad posibl [S2].
  • Dilysu trwy Gyfres Emulator: Defnyddiwch Gyfres Emulator Firebase i brofi rheolau diogelwch yn lleol. Mae hyn yn caniatáu ar gyfer gwirio rhesymeg rheoli mynediad yn erbyn gwahanol bersonau defnyddwyr cyn eu defnyddio i amgylchedd byw [S2].

Sut mae FixVibe yn ei brofi

Mae FixVibe bellach yn cynnwys hwn fel sgan darllen yn unig BaaS. Mae baas.firebase-rules yn echdynnu ffurfweddiad Firebase o fwndeli JavaScript o'r un tarddiad, gan gynnwys siapiau bwndeli modern initializeApp(...), yna'n gwirio Cronfa Ddata Realtime, Firestore, a ZXCVFIXVIBETOKENStor12ZXCV gyda read-the requests. Ar gyfer Firestore, mae'n ceisio rhestru casglu gwreiddiau yn gyntaf; pan fydd rhestru wedi'i rwystro, mae hefyd yn archwilio enwau casgliadau sensitif cyffredin fel users, accounts, customers, orders, ZXCVFIXVIBETOKEN6 messages, admin, a settings. Mae'n adrodd dim ond darlleniadau neu restrau dienw llwyddiannus ac nid yw'n ysgrifennu, dileu, neu storio cynnwys dogfen cwsmer.