Najdi:
KOPA
Celovite informacijske rešitve na enem mestu
sreda, 9.9.2009

Kako (ne)varni so podatki v vaši Oracle zbirki?

Da je varnost podatkov v podatkovnih bazah izjemnega pomena, se danes zaveda vse več podjetij. Včasih smo vdore morda povezovali le s tem, da nam bo nekdo zbrisal podatke, če bo vdrl v naš sistem. Ker izvajamo dnevno arhiviranje, smo bili mirni, saj se problema relativno enostavno rešimo. Danes se zavedamo, da je glavni problem vdora v sistem kraja podatkov in ne njihovo uničenje.

Raziskava, ki so jo opravili konec leta 2007 v Nemčiji pri 741 podjetjih je pokazala, da so bila ta podjetja zaradi kraje podatkov neposredno oškodovana za kar 2,8 milijarde Evrov. Stopnja industrijskega vohunstva se povečuje za 10 odstotkov letno in, kar je morda najbolj zaskrbljujoče, največji delež hekerske dejavnosti predstavljajo notranji vdori, ki jih je celo več kot zunanjih, kar je potrdila tudi raziskava Deloitte 2005 Global Security Survey. Velik problem predstavlja tudi težka dokazljivost teh vdorov, saj je nedokazljivih incidentov še enkrat več kot dokazljivih.

Zanimivi so razni primeri vdorov v zbirke podatkov. Zelo znan je primer Nicolasa Jacobsena, ki je s svojim „delom“ prišel do vseh podatkov za 16,3 milijona T-mobile uporabnikov. Aprila 2005 je banka HSBC opozorila 180.000 svojih komitentov, da so morda informacije o njihovih kreditnih karticah ukradene. Najbolj zaskrbljujoč je podatek, da je bilo po raziskavi Computer Emergency Response Team (CERT) ugotovljeno, da se za 95% vseh vdorov uporabljajo znane ranljivosti. Do podobnih podatkov sem v praksi prišel tudi sam. In zakaj je to tako kritično? Vse znane ranljivosti so objavljene na Internetu in do njih ima dostop vsakdo. Hujši problem je, da je ranljivost velikokrat opisana natančno kar nekaj časa preden obstaja zanj popravek.

Kompleksna postavitev v praksi je daleč od idealne postavitve v teoriji

Tipične napake


Pri načrtovanju zbirke imamo pred sabo vedno lepo sliko, kako bodo naše aplikacije delovale tri-nivojsko, kjer ni direktnega dostopa do baze, uporabniki delajo le preko aplikacijskega strežnika, kjer tudi vsilimo vsa naša ostra pravila. Žal praksa največkrat pokaže drugačno sliko. Najprej postavimo vse kot smo si zamislili, nato dodamo testni aplikacijski strežnik in delamo z "živimi" podatki, začnemo razvijati nov projekt, nekateri uporabniki dobijo direkten dostop do baze. Baza za registracijo delovnega časa potrebuje podatke o zaposlenih iz te baze (database link), spet nekdo drug podatke kar uporabi, … in na koncu imamo že pravo zmešnjavo.

In kaj so še ostali najpogostejši vzroki, da naše baze niso varne:
  • Politika menjave gesel ni implementirana, se ne izvaja ali pa zaradi kompleksnosti okolja ne želimo menjavati gesla.
  • Za odstranjevanje varnostnih lukenj ne dobimo dovolj časa, ker mora zbirka delovati v načinu 24x7.
  • Podjetja so premalo ozaveščena in nočejo nameniti denarnih sredstev za spremljanje in odpravo varnostnih lukenj.
  • Premalo ozaveščeni Oracle administratorji, ker ni denarja za šolanje.
  • Oracle ima ogromno funkcionalnosti in veliko instalacij ima nameščenih preveč funkcionalnosti, kar pomeni potencialno več varnostnih lukenj.

Znani strokovnjak za varnost Oracle baz Pete Finnigan je izjavil, da moramo začeti razmišljati kot hekerji, če želimo zaščititi svojo bazo podatkov. In če začnemo tako razmišljati vsaj malo, hitro ugotovimo, da je varovanje zbirk kompleksen problem, ki se ga moramo lotiti zelo natančno. Če še tako dobro zaščitimo bazo, pozabimo pa na operacijski sistem, lahko hitro pride do nepooblaščenega dostopa ravno preko operacijskega sistema. Če je naša baza povezana z drugo bazo, moramo zaščitit tudi njo, da nam nepovabljeni gost ne vstopi tam. Testna baza običajno vsebuje prave podatke in zato moramo natančno ščititi tudi njo. In ne nazadnje, pomisliti moramo tudi na trakove z varnostnimi kopijami in natisnjene dokumente.

Zakaj baze v letu 2009 še vedno niso varne

Enostavno odkrivanje ranljivosti


Ker po naravi verjamem le tistim stvarem, ki jih vidim, sem želel preizkusiti, kako enostavno je v resnici priti do podatkov. Z enim samim enostavnim vpisom v Google sem dobil 1800 zadetkov. Nekaj sem jih preveril in ugotovil, da se je za prav vsakim preverjenim skrivala Oracle baza. Ko sem malo raziskoval naprej, sem našel veliko uporabnih podatkov o diskih, namestitvah, .. skratka ogromno stvari, ki bi mi izredno koristile, če bi želel vdreti v bazo. Ker vem, da se to ne sme, sem postavil podobno okolje pri sebi in začel raziskovati, kaj vse se lahko zgodi. Tako sem sledil nekaj enostavnim receptom in hitro prišel do raznih uporabniških imen in gesel, ki jih seveda nisem uporabil. Ko sem bil enkrat v sistemu, sem, čeprav sem bil uporabnik brez pravic, izvedel neko kratko kodo, izkoristil ranljivost in že sem bil administrator baze. S koriščenjem neke druge ranljivosti sem brisal posamezne podatke iz tabele, ki sem jo lahko "uradno" samo gledal. Da bi v sistemu pustil čim manj sledi, sem naredil novega uporabnika, ki sem ga definiral tako, da ga nobeno klasično administratorsko orodje ni zaznalo, jaz pa sem imel prosto pot, da se v bazo lahko vrnem kadar koli in dobim tisto, kar iščem. Možnosti je ogromno, Internet nam vse podatke naravnost servira.

In kako se lahko zaščitimo pred vdori? Poglejmo nekaj kratkih receptov:
  • Uporabiti pametno politiko menjave gesel.
  • Redno preverjati razne konfiguracijske datoteke, da ni v njih kaj takšnega, kar bi potencialnemu vlomilcu olajšalo delo.
  • Nujno je poiskati kritične točke in jih odpraviti.
  • Uporabnikom je potrebno dati le pravice, ki jih nujno potrebujejo.
  • Omogočiti dostop iz Interneta le stvarem, ki jih nujno potrebujete.
  • Redno nameščanje vseh popravkov, še posebej kritičnih.
  • Implementirati nadzor dostopa do podatkov
  • Vedno se lahko obrnete na podjetje KOPA d.d.

Lovro Vreš, sistemski inženir, Oracle OCA

02 88 39 700
Podpora uporabnikom
KOPA rešitev Portal za stranke (PZS)