Rad na kolegiju: Problemi sigurnosti baze podataka. Osiguravanje sigurnosti u SMS-u. Informacijska sigurnost u suvremenim sustavima za upravljanje bazama podataka. Popis korištenih izvora

S porastom korištenja baza podataka porasla je i učestalost napada na baze podataka. Napadi na baze podataka rastući su trend ovih dana. Koji je razlog napada na bazu? Jedan od razloga je povećani pristup podacima pohranjenim u bazi podataka. Kada podatke koristi mnogo ljudi, povećavaju se šanse za krađu podataka. Iz toga slijedi da je sigurnost baze podataka niz tehnika koje se koriste za zaštitu informacija pohranjenih u bazi podataka. Budući da su pokušaji hakiranja baze podataka najčešći, morat ćete razmisliti o sigurnosti informacijska baza, jer postoje mnoge druge opasnosti.

Fizičko oštećenje računala, netočno kodiranje ili oštećenje te ponovno učitavanje podataka gotovo su sve potencijalne prijetnje bazi podataka. To znači da postoje mnoge sigurnosne mjere - od vatrozida do revizije i sigurnosnih kopija diska - kako bi se eventualna šteta svela na minimum i spriječio gubitak cijele baze podataka. Većina tvrtki ima svoje vlastite protokole za sigurnost podataka radi zaštite od određenih napada i potencijalne štete.

Instaliranje vatrozida za bazu podataka, neka vrsta zaštitne barijere koja zabranjuje sve nepoznate veze, ovo je najosnovniji oblik zaštite baze podataka. Vatrozidi su instalirani na većini računala i dizajnirani su na takav način da će hakeri imati poteškoća pri spajanju na žrtvino računalo. Vatrozidi rade tako da filtriraju mrežne veze tako da samo pouzdana računala ili korisnici mogu pristupiti bazi podataka. Dok iskusni hakeri to mogu zaobići, vatrozid pruža visoku razinu sigurnosti.

Enkripcija je još jedna sigurnosna mjera za bazu podataka u kojoj su podaci šifrirani ili su učinjeni nerazumljivima svakome tko pristupa bazi podataka. Prilikom korištenja enkripcije, algoritam kodira znakove u besmislicu, tako da se ne može pročitati. To znači da ako haker ima neko znanje o ključevima šifriranja, informacijama koje su vam potrebne da promijenite šifrirane podatke iz nerazumljivih znakova natrag u razumljiv oblik, on ili ona ne mogu pročitati bazu podataka.

revizija- ovo je kada voditelj ili menadžer provjerava bazu podataka kako bi se uvjerio da se u njoj ništa nije promijenilo. Ovu vrstu zaštite baze podataka obično izvodi fizički, od strane nekoga tko može čitati bazu podataka ili za velike baze podataka korištenjem programa kako bi se osiguralo da integritet baze podataka ostaje isti. Dodatno, revizija može uključivati ​​provjeru pristupa bazi podataka i vidjeti što je osoba učinila kada je pristupila bazi podataka. To sprječava krađu podataka ili barem omogućuje administratorima da otkriju tko je počinio krađu podataka.

Redovite sigurnosne kopije baze podataka je sigurnosna mjera baze podataka koja može zaštititi bazu podataka od raznih prijetnji. Ako se sigurnosna kopija baze podataka redovito izvodi, to znači da će podaci biti pohranjeni na drugom tvrdom disku ili poslužitelju. Ako baza podataka izgubi dio ili sve informacije, može se brzo ponovno pokrenuti uz minimalan gubitak korištenjem sigurnosna kopija. Izradom sigurnosne kopije baze podataka administratori mogu spriječiti fizičku štetu na računalu, poput požara, oštećenja baze podataka ili gašenja baze podataka zbog preopterećenja.

Slanje vašeg dobrog rada u bazu znanja jednostavno je. Koristite obrazac u nastavku

dobar posao na web mjesto">

Studenti, diplomanti, mladi znanstvenici koji koriste bazu znanja u svom studiju i radu bit će vam vrlo zahvalni.

Objavljeno na http://www.allbest.ru/

Ministarstvo obrazovanja i znanosti Ruske Federacije

Privatna ustanova obrazovna organizacija visoko obrazovanje

"Omska humanitarna akademija"

Odjel za računarstvo, matematiku i prirodne znanosti

NASTAVNI RAD

na temu: Sigurnost baze podataka

u akademskoj disciplini: Baze podataka

Dovršila: Nurgalieva Shynar Altaybekovna

Uvod

1. Krađa podataka iz baze podataka

1.1 Kontrola pristupa bazama podataka

1.2 Upravljanje cjelovitošću podataka

1.3 Kontrola istovremenosti

1.4 Oporavak podataka

1.5 Transakcija i oporavak

1.6 Vraćanje i odmotavanje transakcije

2. Sigurnost baze podataka

2.1 Planiranje baze podataka

2.2 Povezivanje s bazom podataka

2.3 Šifrirana pohrana podataka

2.4 SQL injekcija

2.5 Tehnika zaštite

Zaključak

Popis korištenih izvora

Prijave

Uvod

Stalne ponude za kupnju različitih (uglavnom resornih) baza podataka ukazuju na to da je prodaja povjerljivih podataka o građanima i pravnim osobama postala zasebna vrsta poslovanje. Ako je pojava još jedne objavljene baze podataka za građane samo još jedna neugodna činjenica objave podataka o njihovom privatnom životu, onda kod nekih poduzeća to može negativno utjecati na poslovanje. Na primjer, za operatera mobilna komunikacijaširenje baze za naplatu može rezultirati značajnim odljevom pretplatnika "pouzdanijem" konkurentskom operateru. Stoga je operateru ponekad ekonomski isplativije pronaći “proizvođača” koji je ukradenu bazu podataka pripremio za prodaju i otkupiti cijelu nakladu. Ali problem pokrivanja mogućih curenja ostaje vrlo relevantan.

Zaštita baze podataka jedan je od najtežih zadataka s kojima se suočavaju odjeli zaduženi za osiguranje informacijske sigurnosti. S jedne strane, za rad s bazom podataka potrebno je omogućiti pristup podacima svim zaposlenicima koji u sklopu svojih dužnosti moraju prikupljati, obrađivati, pohranjivati ​​i prenositi povjerljive podatke. S druge strane, konsolidacija baza podataka nema uvijek centraliziranu arhitekturu, pa stoga djelovanje prekršitelja postaje sve sofisticiranije. Istodobno, ne postoji jasna i precizna metodologija za cjelovito rješenje problema zaštite baze podataka koja bi se mogla primijeniti u svim slučajevima, u svakom konkretna situacija morate pronaći individualni pristup.

Klasičan pristup rješavanju ovog problema uključuje ispitivanje poduzeća kako bi se identificirale prijetnje kao što su krađa, gubitak, uništenje, modifikacija i uskraćivanje autentičnosti. Druga faza uključuje sastavljanje matematički modeli glavni tokovi informacija i mogući prekršaji, modeliranje tipičnih akcija napadača; na trećem - razvoj sveobuhvatnih mjera za suzbijanje i sprječavanje moguće prijetnje kroz pravne, organizacijske, upravne i tehničke mjere zaštita. Međutim, raznolikost aktivnosti poduzeća, poslovnih struktura, informacijskih mreža i tokova informacija, aplikacijski sustavi te načini organiziranja pristupa njima itd. ne dopušta stvaranje univerzalne metode rješenja.

Dugo se vremena zaštita baze podataka povezivala sa zaštitom lokalne mreže poduzeća od vanjskih napada hakera, borbom protiv virusa itd. Nedavna analitička izvješća konzultantskih tvrtki identificirala su druga, važnija područja za zaštitu informacijskih resursa poduzeća. Istraživanja su uvjerljivo pokazala da nitko ne može spasiti “svemoćne” administratore baza podataka od curenja informacija od strane osoblja i zlonamjernih radnji. vatrozidi, ni VPN, pa čak ni "sofisticirani" sustavi za detekciju napada i sigurnosnu analizu. Neovlašteni pristup podacima i krađa povjerljivih informacija glavne su komponente gubitaka poduzeća nakon štete uzrokovane virusima.

Jedan od glavnih nalaza izvješća CSI/FBI-a je značajno povećana šteta od takvih prijetnji kao što je krađa povjerljivih podataka. Svaki Američka tvrtka u prosjeku izgubili 355,5 tisuća dolara samo zbog curenja povjerljivih podataka u proteklih 12 mjeseci. Prosječni gubitak od insajderskih akcija bio je 300 tisuća dolara (maksimalno 1,5 milijuna dolara). Rješavanje problema personaliziranog pristupa povjerljivim podacima omogućuje identifikaciju napadača pomoću informacija koje nepobitno dokazuju njegovu krivnju. To je pak nemoguće bez korištenja najsuvremenijih metoda autentifikacije i kontrole pristupa.

Svrha ovog kolegija je razmotriti pitanje sigurnosti baze podataka.

Za postizanje ovog cilja potrebno je riješiti sljedeće zadatke:

1. Mogućnost izbjegavanja neovlaštenog pristupa bazi podataka.

2. Šifrirana pohrana podataka.

3. Tehnike zaštite baze podataka.

sigurnost upravljanja informacijskom bazom

1 . Krađa podataka iz baza podataka

1.1 Kontrola pristupa bazama podataka

Formulirati glavne razloge neovlaštenog pristupa podacima te, u nizu slučajeva, komercijalne prodaje baza podataka s osobnim podacima pretplatnika, partnera ili zaposlenika, te poslovne tajne poduzeća.

Dakle, imamo sljedeće početne podatke:

Mnogi ljudi nisu svjesni da su njihove baze podataka ukradene;

Prouzročena krađa i šteta su latentne prirode;

Utvrdi li se činjenica o krađi podataka, većina tvrtki zataška nastalu štetu. Jedan od razloga tome je nepostojanje pravih mehanizama za prikupljanje dokaza o krađi resursa od strane konkretnog korisnika;

Tehnologije koje omogućuju striktno personaliziranje radnji korisnika i razgraničenje njihovih prava većini su menadžera nepoznate;

Mogućnost zaštite podataka od administratori sustava također malo poznati, menadžeri ih radije smatraju najodanijim zaposlenicima;

Proračuni za informacijsku sigurnost obično su mali. To nam ne dopušta cjelovito rješavanje problema (uvođenje kadrovskih pozicija odgovornih za informacijsku sigurnost.

Osnovni zahtjevi za sigurnost podataka za baze podataka i DBMS-ove uvelike se podudaraju sa zahtjevima za sigurnost podataka u računalni sustavi- kontrola pristupa, kriptografska zaštita, provjera integriteta, logiranje itd.

Upravljanje integritetom u bazi podataka odnosi se na zaštitu podataka u bazi podataka od netočnih (za razliku od neovlaštenih) promjena i uništenja. Održavanje cjelovitosti baze podataka je osigurati u svakom trenutku ispravnost (ispravnost) kako vrijednosti samih elemenata podataka tako i odnosa između elemenata podataka u bazi podataka. Sljedeći osnovni zahtjevi povezani su s održavanjem integriteta.

Osiguravanje pouzdanosti Informacije se unose u svaki element podataka točno u skladu s opisom ovog elementa moraju biti osigurani mehanizmi koji osiguravaju otpornost elemenata podataka i njihove logičke odnose na pogreške ili nekvalificirane radnje korisnika.

Narušavanje integriteta baze podataka može se dogoditi kada se izvode istodobne operacije nad podacima, od kojih svaka pojedinačno ne narušava integritet baze podataka. Stoga se moraju osigurati mehanizmi za upravljanje podacima kako bi se osiguralo održavanje integriteta baze podataka dok se više operacija izvodi istovremeno.

Oporavak. Podaci pohranjeni u bazi moraju biti otporni na nepovoljne fizičke utjecaje (hardverske greške, nestanci struje i sl.) i softverske pogreške. Stoga se moraju osigurati mehanizmi koji će u iznimno kratkom vremenu vratiti stanje baze podataka kakvo je bilo prije nego što je došlo do kvara.

Pitanja kontrole pristupa i održavanja integriteta baze podataka usko su povezana iu mnogim slučajevima koriste se isti mehanizmi za njihovo rješavanje. Razlika između ovih aspekata osiguranja sigurnosti podataka u bazi podataka je u tome što se kontrola pristupa bavi sprječavanjem namjernog uništavanja baze podataka, dok se upravljanje integritetom bavi sprječavanjem nenamjernog unošenja pogrešaka.

Većina sustava baza podataka sredstvo je jedinstvene centralizirane pohrane podataka. To značajno smanjuje redundantnost podataka, pojednostavljuje pristup podacima i omogućuje učinkovitiju zaštitu podataka. Međutim, u tehnologiji baza podataka pojavljuje se niz problema, kao što je činjenica da različiti korisnici moraju imati pristup nekim podacima, a drugima ne. Stoga, bez korištenja posebna sredstva i metode, gotovo je nemoguće osigurati pouzdano razdvajanje pristupa bazi podataka.

Većina moderni DBMS imaju ugrađene alate koji administratoru sustava omogućuju određivanje korisničkih prava za pristup različitim dijelovima baze podataka, sve do određenog elementa. U ovom slučaju moguće je ne samo omogućiti pristup određenom korisniku, već i odrediti dopuštenu vrstu pristupa: što točno određeni korisnik može učiniti s određenim podacima (čitati, mijenjati, brisati, itd.), do reorganizacija cjelokupne baze podataka Kontrole pristupa tablicama (listama) naširoko se koriste u računalnim sustavima, na primjer, u OS-u za kontrolu pristupa datotekama. Posebnost korištenja ovog alata za zaštitu baza podataka je u tome što ne samo pojedinačne datoteke (područja u mrežnim bazama podataka , odnosi u relacijskim bazama podataka) djeluju kao objekti zaštite ), ali i drugi konstruktivni elementi DB: element, polje, zapis, skup podataka.

1.2 Upravljanje cjelovitošću podataka

Povrede integriteta podataka mogu biti uzrokovane brojnim razlozima:

Kvarovi opreme, fizički utjecaji ili prirodne katastrofe;

Pogreške ovlaštenih korisnika ili namjerne radnje neovlaštenih korisnika;

softverske pogreške DBMS-a ili OS-a;

Greške u aplikacijskim programima;

Zajedničko izvršavanje proturječnih korisničkih zahtjeva itd.

Narušavanje integriteta podataka moguće je čak iu sustavima koji dobro funkcioniraju. Stoga je važno ne samo spriječiti narušavanje integriteta, već i pravodobno detektirati činjenicu narušavanja integriteta i promptno vratiti integritet nakon povrede.

1.3 Kontrola istovremenosti

Dovoljno je održavanje integriteta na temelju gore navedenih ograničenja integriteta složen problem u sustavu baze podataka čak i s jednim korisnikom. U sustavima orijentiranim na višekorisnički rad javlja se niz novih problema vezanih uz paralelno izvršavanje konfliktnih korisničkih zahtjeva. Prije razmatranja mehanizama za zaštitu baze podataka od pogrešaka koje nastaju u slučaju sukoba između korisničkih zahtjeva, pokrit ćemo niz koncepata vezanih uz kontrolu istodobnosti.

Najvažnije sredstvo mehanizma zaštite integriteta baze podataka je kombinacija skupa operacija, uslijed kojih baza prelazi iz jednog cjelovitog stanja u drugo cjelovito stanje, u jedno logički element posao, koji se naziva transakcija. Bit transakcijskog mehanizma je da se do završetka transakcije sve manipulacije podacima provode izvan baze podataka, a stvarne promjene se unose u bazu tek nakon normalnog završetka transakcije.

Sa stajališta sigurnosti podataka, takav mehanizam za prikaz promjena u bazi je vrlo važan. Ako je transakcija prekinuta, tada posebni ugrađeni DBMS alati provode takozvano vraćanje - vraćanje baze podataka u stanje prije početka transakcije (zapravo, vraćanje se obično jednostavno sastoji od neprovođenja promjena uzrokovanih napretkom transakcije u fizičkoj bazi podataka). Ako izvršenje jedne transakcije ne narušava integritet baze podataka, tada kao rezultat istovremenog izvršenja nekoliko transakcija može doći do povrede integriteta baze podataka. Kako bi se izbjegla ova vrsta pogreške, DBMS mora podržavati mehanizme koji osiguravaju da transakcije zahvate modificirane elemente podataka dok se modifikacija ne dovrši, takozvana zaključavanja. To osigurava da nitko neće dobiti pristup podatkovnom elementu koji se mijenja dok ga transakcija ne oslobodi. Korištenje mehanizma zaključavanja dovodi do novih problema kontrole istovremenosti, posebice do pojave situacija u kojima dvije transakcije klinču. Štoviše, ako transakcija pokuša zaključati objekt koji je već zaključan drugom transakcijom, morat će pričekati dok transakcija koja je uspostavila ovo zaključavanje ne otključa zaključavanje objekta. Drugim riječima, samo jedna transakcija može zaključati objekt.

1.4 Oporavak podataka

Oporavak podataka je proces dobivanja pristupa datotekama snimljenim na određenom mediju za pohranu koji su postali nedostupni zbog kvara softvera, kvara medija ili pogreške korisnika. Mogućnost oporavka podataka korištenjem posebni programi postoji ako ih nisu prebrisale druge informacije. Također, uspjeh uvelike ovisi o cjelovitosti strukture datotečnog sustava i performansama medija općenito.

Kao što znate, podaci na bilo kojem modernom mediju za pohranu pohranjuju se na najnižoj razini u obliku sekvenci bitova nula i jedinica. To jest, u obliku magnetiziranih/nabijenih sektora (1) ili njihovog odsustva (0).

Međutim, Windows i drugi operativni sustavi rade na višim razinama koristeći različite datotečni sustavi. Datotečni sustav je softverski sloj za učinkovitu interakciju OS-a s informacijama na fizičkom mediju. Sastoji se od dva dijela: područja sustava i područja podataka. Područje sustava pohranjuje boot sektor(odgovoran za mogućnost dizanja s medija i njegovo ispravno prepoznavanje), kao i niz sektora za pohranjivanje indeksne tablice datoteke i druge servisne informacije.

Sve informacije su fizički pohranjene u području podataka, međutim, zapisi datoteka nalaze se u području sustava. Mehanizam ove organizacije rada je sljedeći: prilikom povezivanja medija s računalom, sustav ne skenira cijeli disk za datoteke, već brzo čita podatke o njima iz područja sustava. OS također komunicira s medijima, na primjer, prilikom brisanja podataka: datoteke se ne uništavaju fizički, već se brišu samo veze na njih u tablici datoteka. To sustavu daje razlog da smatra "oslobođene" klastere medija praznima i prikladnima za daljnje prepisivanje. Dakle, prvi slučaj kada je oporavak podataka moguć je kada veza na datoteku u tablici datoteka nestane, pod uvjetom da datoteka nije prebrisana drugim podacima. Drugi uobičajeni slučaj je formatiranje medija. Postoje tri vrste oblikovanja:

Brzo formatiranje - briše se samo tablica datoteka, ali to ne utječe na područje podataka. S ovim formatiranjem, šanse za oporavak su vrlo visoke (pod uvjetom da ništa drugo nije zapisano na formatirani flash pogon).

Potpuno formatiranje - briše i područje sustava i područje podataka. Ova vrsta oblikovanja uključuje potpuno brisanje medija; međutim, kako bi se ubrzao proces, područje podataka se ne briše u potpunosti, već u dijelovima. To daje (iako malu) šansu za oporavak potrebnih datoteka.

Formatiranje niske razine - svi sektori medija za pohranu popunjeni su nulama. Nakon takvog formatiranja gotovo je nemoguće bilo što vratiti jer su svi podaci potpuno uništeni. U sustavu Windows ne postoji standardna opcija formatiranje niske razine, pa čak i nakon potpunog brisanja diska njegovim sredstvima, oporavak podataka je teoretski moguć! Slično, možete pokušati vratiti podatke u slučaju kvarova datotečnog sustava, koji su često problem s flash pogonima. S takvim kvarovima, područje sustava obično je djelomično ili potpuno uništeno, a flash pogon zahtijeva formatiranje:

Kao što je već navedeno, pojava kvarova na hardveru ili softveru može zahtijevati oporavak i brzi povratak u stanje što je moguće bliže onom koje je bilo prije nego što se kvar (pogreška) dogodio. Razlozi potrebe za restauracijom često uključuju pojavu zastoja.

Postoje tri glavne razine oporavka:

Online oporavak, koji karakterizira mogućnost oporavka na razini pojedinačnih transakcija u slučaju nenormalnog završetka situacije manipulacije podacima (primjerice, programska pogreška).

Srednji oporavak Ako se pojave anomalije u radu sustava (softverske greške sustava, softverski kvarovi koji nisu povezani s uništavanjem baze podataka), tada je potrebno vratiti stanje svih transakcija koje su se izvodile u trenutku kvara.

Dugotrajan oporavak. Ako je baza podataka uništena kao rezultat kvara na disku, oporavak se provodi pomoću kopije baze podataka. Zatim reproduciraju rezultate izvršenih transakcija otkad je kopija snimljena i vraćaju sustav u stanje u trenutku uništenja.

1.5 Transakcija i oporavak

Prekid transakcije zbog kvara narušava integritet baze podataka. Ako se rezultati takve transakcije izgube, moguće ih je reproducirati u trenutku kvara. Dakle, koncept transakcije igra važnu ulogu u oporavku. Za vraćanje integriteta baze podataka, transakcije moraju ispunjavati sljedeće zahtjeve:

Potrebno je da se transakcija izvrši u potpunosti ili da se uopće ne izvrši;

Potrebno je da transakcija dopušta mogućnost povrata na izvorno stanje, štoviše, kako bi se osigurao neovisni povratak transakcije u početno stanje, mora se izvršiti ekskluzivno zaključavanje dok se ne dovrši izmjena svih objekata;

Potrebno je moći ponovno reproducirati izvršenje transakcije, a kako bi se osigurao ovaj zahtjev, mora se provesti zajedničko zaključavanje dok sve transakcije ne dovrše pregled podataka.

Tijekom izvršenja bilo koje transakcije dolazi trenutak njenog završetka. Štoviše, svi izračuni napravljeni transakcijom u svom radno područje, mora biti dovršen, a kopija rezultata njegovog izvršenja mora biti zapisana u zapisnik sustava. Takve radnje nazivaju se operacija uvrštavanja. Kada dođe do kvara, preporučljivije je vratiti se ne na početak transakcije, već na neku međupoziciju. Točka u kojoj se takav povratak događa naziva se točka fiksacije (kontrolna točka). Korisnik može postaviti proizvoljan broj takvih bodova tijekom transakcije. Ako se tijekom transakcije dosegne točka predaje, DBMS automatski izvodi gornju operaciju.

1.6 Vraćanje i odmotavanje transakcije

Glavni alat koji se koristi u oporavku je zapisnik sustava, koji bilježi sve promjene napravljene u bazi podataka svakom transakcijom. Vraćanje transakcije u početno stanje znači poništavanje svih promjena koje su napravljene tijekom transakcije. Ova se operacija naziva vraćanje. Da biste reproducirali rezultate transakcije, možete koristiti zapisnik sustava za vraćanje vrijednosti napravljenih promjena redoslijedom kojim su se dogodile ili za ponovno izvršenje transakcije. Reproduciranje rezultata transakcije pomoću sysloga naziva se odmotavanje. Promocija je prilično složena, ali neophodna operacija modernih mehanizama za oporavak baze podataka

2 . Sigurnost bazepodaci

2.1 Planiranje baze podataka

Danas su baze podataka ključna komponenta gotovo svake web aplikacije, omogućujući isporuku različitih dinamičkih sadržaja. Budući da se u takvim bazama podataka mogu pohraniti vrlo važni i tajni podaci, potrebno je voditi računa o njihovoj zaštiti. Arhitektura korištena za izradu web stranica pomoću PL/SQL WebToolkita je iznenađujuće jednostavna, kao što je prikazano na slici 1 (vidi Dodatak A).

Da biste primili ili spremili podatke u bazu podataka, morate se spojiti na nju, poslati zahtjev, obraditi odgovor i zatvoriti vezu. Danas se za sve to obično koristi strukturirani jezik upite (Structured Query Language, SQL). Pogledajmo što napadač može učiniti sa SQL upitom.

Kao što znate, PHP ne može zaštititi samu bazu podataka. Sljedeći odjeljci predstavljaju uvod u osnove pristupa i korištenja baza podataka u PHP skriptama.

Upamtite jednostavno pravilo: obrana se gradi "dubinski". Što više mjesta zaštitite i što više radnji poduzmete da zaštitite bazu podataka, manja je vjerojatnost da će napadač uspjeti izdvojiti i upotrijebiti ono što je u njoj pohranjeno. tajni podaci. Sve opasne točke uklanjaju se pravilnim dizajnom strukture baze podataka i aplikacije koja je koristi.

Prvi korak je uvijek sama izrada baze podataka, osim kada se koristi tuđa baza podataka. Kada se kreira baza podataka, dodjeljuje joj se vlasnik koji je pozvao naredbu za kreiranje. Obično samo jedan vlasnik ("superkorisnik") može učiniti bilo što s objektima unutar te baze podataka, a kako bi se omogućilo drugim korisnicima da je koriste, moraju im se dodijeliti prava pristupa.

Aplikacije se nikada ne bi trebale povezivati ​​s bazom podataka kao njen vlasnik ili "superkorisnik" jer bi to moglo omogućiti korisnicima da učine bilo što poput izmjene sheme (kao što je ispuštanje tablica) ili brisanja cijelog njezinog sadržaja.

Za svakoga možete stvoriti različite korisnike baze podataka potrebna radnja aplikacije, uvelike ograničavajući njihov pristup objektima baze podataka. Potrebna prava treba dodijeliti jednom i izbjegavati njihovu upotrebu u drugim dijelovima aplikacije. To znači da ako napadač dobije pristup koristeći određeni račun, moći će dobiti samo pristup koji je imao korišteni dio programa.

Bolje je ne uvoditi svu logiku za rad s bazama podataka u aplikacije. To se također može učiniti u samoj bazi podataka pomoću oznaka, pogleda, pravila i ugrađenih procedura. Kako se sustav razvija i širi, ugrađene procedure mogu se modificirati za automatsku obradu novih polja, a oznake će pružiti dodatne mogućnosti za otklanjanje grešaka u transakcijama.

2.2 Povezivanje s bazom podataka

Možete uspostaviti veze pomoću SSL-a za šifriranje veza klijent-poslužitelj, dopuštajući povećana sigurnost. Možete li koristiti ssh za enkripciju? mrežne veze između klijenata i poslužitelja baze podataka. Bilo koja od ovih metoda vrlo otežava praćenje i izvlačenje informacija iz mrežnog prometa.

2.3 Šifrirana pohrana podataka

SSL/SSH štiti samo podatke na putu od klijenta do poslužitelja, a ne podatke pohranjene u bazi podataka. SSL je samo mrežni protokol.

Kada napadač dobije pristup vašoj bazi podataka zaobilazeći web poslužitelj, osjetljivi pohranjeni podaci mogu se dobiti i koristiti osim ako informacije nisu zaštićene unutar same baze podataka. Šifriranje je vrlo dobra tehnika u ovom slučaju, ali vrlo malo sustava za upravljanje bazom podataka trenutno podržava ovu metodu.

Većina jednostavan način u ovom slučaju - stvorite vlastitu vlastiti sustav enkripciju i zatim ga koristiti u PHP skriptama. PHP olakšava ovaj pristup kroz prisutnost specifičnih proširenja kao što su Mcrypt i Mhash, koja pokrivaju širok raspon algoritama šifriranja. Program šifrira pohranjene podatke i dekriptira primljene podatke. Za detaljan opis Za sheme šifriranja pogledajte veze.

U slučaju skrivenih podataka, gdje nije potreban njihov izvorni oblik (na primjer, za prikaz), može se koristiti hashiranje. Dobro poznati primjer hashiranja je pohranjivanje MD5 hash-a lozinke u bazu podataka umjesto same lozinke. Za detaljan opis pogledajte crypt() i md5().

Primjer: korištenje raspršenih zaporki

// spremite hash zaporke

$query = sprintf("INSERT INTO korisnici(ime,pwd) VRIJEDNOSTI("%s","%s");",

// provjeriti ispravnost lozinke koju je unio korisnik

$query = sprintf("SELECT 1 FROM korisnika WHERE name="%s" AND pwd="%s";",

dodaje kose crte ($korisničko ime), md5($lozinka));

$rezultat = pg_exec($veza, $upit);

if (pg_numrows($result) > 0) (

echo "Dobro došli, $username!";

echo "Unesena nevažeća lozinka za $username.";

2.4 SQL injekcija

Mnogi programeri web aplikacija smatraju SQL upite neisplativim, nesvjesni da ih napadač može koristiti. To znači da se SQL upiti mogu koristiti za zaobilaženje sustava sigurnosti, provjere autentičnosti i autorizacije, a ponekad se mogu koristiti i za dobivanje pristupa naredbama razine operativni sustav.

Implementacija u SQL naredbe- tehnika u kojoj napadač stvara ili modificira SQL naredbe kako bi dobio pristup skrivenim podacima, promijenio postojeće, pa čak i izvršio naredbe na razini operativnog sustava. To se postiže kada program koristi ulazne podatke u kombinaciji sa statičkim parametrima za izradu SQL upita. Sljedeći primjeri se nažalost temelje na stvarnim slučajevima:

Ako ulazni podaci nisu ispravno provjereni i baza podataka je povezana kao superkorisnik, napadač može kreirati novog superkorisnika u bazi podataka.

Primjer: Dijeljenje rezultata upita na stranice i... stvaranje superkorisnika (PostgreSQL i MySQL)

$pomak = argv; // pažnja! nema provjere prošlosti!

// u PostgreSQL-u

$rezultat = pg_exec($conn, $upit);

$rezultat = mysql_upit($upit);

Obično korisnici koriste gumbe "sljedeće" i "prethodno" gdje je $offset ugrađen u URL. Program pretpostavlja da je $offset broj. Međutim, netko bi se mogao pokušati infiltrirati dodavanjem urlencode()-kodiranih podataka u URL

// u slučaju PostgreSQL-a

umetnite u pg_shadow(upotrebno ime,usesysid,usesuper,usecatupd,passwd)

odaberite "crack", usesysid, "t", "t", "crack"

iz pg_shadow gdje usename="postgres";

// u slučaju MySQL

UPDATE user SET Password=PASSWORD("crack") WHERE user="root";

PRIVILEGIJE ISPIRANJA;

Ako se to dogodi, program će mu dodijeliti superkorisnički pristup. Imajte na umu da 0; služi za postavljanje točnog pomaka za izvorni zahtjev i njegovo dovršenje.

Uobičajena je praksa prisiliti SQL prevoditelja da zanemari ostatak upita razvojnog programera korištenjem SQL komentara koji počinje -- notacija.

Postoji način da dobijete lozinke putem stranica za pretraživanje. Sve što napadaču treba je jedna neobrađena varijabla koja se koristi u SQL upitu. Mogu se koristiti klauzule WHERE, ORDER BY, LIMIT i OFFSET upita SELECT. Ako vaša baza podataka podržava konstrukciju UNION, napadač može izvornom zahtjevu dodati još jedan zahtjev za dobivanje lozinki. U tom će slučaju pomoći pohranjivanje šifriranih zaporki.

Primjer: Ispisivanje članaka... i lozinki (bilo koji poslužitelj baze podataka)

$query = "SELECT id, naziv, umetnuto, veličina IZ proizvoda

WHERE veličina = "$veličina"

RED PO $RED LIMIT $limit, $offset;";

$rezultat = odbc_exec($conn, $upit);

Statički dio zahtjeva može se kombinirati s drugim s SELECT upitom koji će ispisati sve lozinke:

unija odaberite "1", concat(uname||"-"||passwd) kao ime, "1971-01-01", "0" iz korisničke tablice;

Ako je sličan upit (koristeći " i --) naveden u jednoj od varijabli koje koristi $query, napad će biti uspješan.

SQL "UPDATE" upiti također se mogu koristiti za napad na bazu podataka. Ovi upiti također su u opasnosti od skraćivanja i dodavanja novih upita. Ali ovdje napadač radi s naredbom SET. U ovom slučaju potrebno je poznavanje nekih informacija o strukturi baze podataka za uspješnu izmjenu upita. Takve se informacije mogu dobiti proučavanjem imena varijabilnih oblika ili jednostavno odabirom. Uostalom, nema mnogo imena kreiranih za korisnička polja i polja za lozinku.

Primjer: Od ponovnog postavljanja lozinke do dobivanja privilegija... (bilo koji poslužitelj baze podataka)

$query = "UPDATE usertable SET pwd="$pwd" WHERE uid="$uid";";

Napadač šalje vrijednost " ili uid poput "%admin%"; --, u varijablu $uid za promjenu administratorske lozinke ili jednostavno postavlja $pwd na "hehehe", admin="yes", trusted=100 " ( s razmakom na kraju) do dobivanja prava. Zahtjev će biti iskrivljen ovako:

// $uid == " ili uid poput"%admin%"; --

$query = "UPDATE usertable SET pwd="..." WHERE uid="" ili uid poput "%admin%"; --";

// $pwd == "hehehe", admin="yes", trusted=100 "

$query = "UPDATE usertable SET pwd="hehehe", admin="yes", trusted=100 WHERE ...;"

Evo primjera kako se naredbe na razini operativnog sustava mogu izvršiti na nekim poslužiteljima baze podataka:

Primjer: Napad na operativni sustav poslužitelja baze podataka (MSSQL poslužitelj)

$query = "SELECT * FROM products WHERE id LIKE "%$prod%"";

Ako napadač pošalje vrijednost a%" exec master..xp_cmdshell "net user test testpass /ADD" -- na $prod, $query će izgledati ovako:

$query = "SELECT * FROM proizvoda

WHERE ID LIKE "%a%"

exec master..xp_cmdshell "net user test testpass /ADD"--";

$rezultat = mssql_upit($upit);

MSSQL poslužitelj izvršava sve SQL naredbe, uključujući naredbu za dodavanje novog korisnika lokalna baza podataka korisnički podaci. Ako je ova aplikacija pokrenuta kao sa i usluga MSSQLSERVER ima dovoljna prava, napadač će imati račun za pristup ovom stroju.

Neki od gornjih primjera specifični su za određeni poslužitelj baze podataka. Ali to ne znači da je sličan napad na drugi softver nemoguć. Vaš poslužitelj baze podataka također će biti ranjiv na neočekivane napade na ovaj ili onaj način.

2.5 Tehnika zaštite

U većini primjera jasno je da za napad napadač mora imati neke informacije. Sve je istina, ali nikad se unaprijed ne zna kojim će putem ta informacija otići. Ako se to dogodi, baza podataka postaje nezaštićena. Ako koristite besplatni paket za upravljanje bazom podataka koji pripada sustavu za upravljanje sadržajem ili forumu, napadaču je lako doći do kopije tog dijela vašeg programa. Ovo također može predstavljati sigurnosnu rupu.

Većina napada temelji se na korištenju koda koji je napisan bez sigurnosnih razloga. Nikada ne vjerujte unosu, osobito ako dolazi sa strane klijenta, čak ni iz potvrdnog okvira, skrivenog polja ili unosa kolačića. Prvi primjer pokazuje do čega može dovesti zamjena ovih podataka.

Nikad se ne spajajte na bazu podataka kao superkorisnik ili vlasnik. Uvijek koristite posebne korisnike s minimalnim pravima.

Provjerite svoj unos kako biste bili sigurni da vrsta podataka odgovara potrebnoj. PHP uključuje veliki broj funkcija provjere, od najjednostavnijih odjeljaka “Funkcije za rad s varijablama” i “Funkcije za obradu tipova znakova” (na primjer, is_numeric() i ctype_digit(), respektivno) do uobičajenih Perl izrazi ("Regularni izrazi kompatibilan s Perlom").

Ako program očekuje broj, provjerite podatke koristeći is_numeric(), ili jednostavno promijenite tip koristeći settype(), ili čak koristite numeričku reprezentaciju koju proizvodi sprintf().

Primjer: Sigurnije označavanje stranica

settype($offset, "cijeli broj");

$query = "SELECT id, naziv IZ proizvoda ORDER BY name LIMIT 20 OFFSET $offset;";

// označite %d u retku formata, korištenje %s je beskorisno

$query = sprintf("SELECT id, naziv IZ proizvoda RED PREMA imenu LIMIT 20 OFFSET %d;",

Svakom nenumeričkom unosu proslijeđenom u bazu podataka moraju prethoditi funkcije addslashes() ili addcslashes(). Prvi primjer pokazuje da navodnici nisu dovoljni u statičkom dijelu upita.

Ni na koji način ne možete prikazati informacije o strukturi baze podataka.

Možete koristiti pohranjene procedure i definirane lokacije za odvajanje pristupa podacima od programa tako da korisnici nemaju izravan pristup tablicama i pogledima, ali ova opcija ima svoje probleme.

Osim toga, potrebno je voditi dnevnik operacija u programu ili u samoj bazi podataka, ako je podržana. Bilježenje neće spriječiti implementaciju, ali će pomoći u određivanju koji je dio programa ugrožen. Dnevnik je sam po sebi beskoristan - informacije pohranjene u njemu su korisne. Što je više, to bolje.

Zaključak

Danas su baze podataka ključne komponente većinu web-aplikacija, omogućujući vam pružanje na web-mjestima dinamički sadržaj. Budući da takve baze podataka mogu pohraniti vrlo točne ili povjerljive informacije, morate osigurati dobru zaštitu podataka.

Da biste dohvatili ili pohranili bilo koji podatak, trebate otvoriti vezu s bazom podataka, poslati važeći upit, dohvatiti rezultat i zatvoriti vezu. Trenutno je najčešći komunikacijski standard Structured Query Language (SQL). Uvijek biste trebali biti svjesni mogućnosti napada putem SQL upita.

Očito, sam PHP ne može zaštititi vašu bazu podataka. Ovaj dio dokumentacije pokriva osnove siguran pristup i upravljanje podacima u PHP skriptama.

Zapamtite jednostavno pravilo: maksimalna zaštita. Što više potencijalno opasnih područja sustava prođete, to će potencijalnom napadaču biti teže pristupiti bazi podataka ili je oštetiti. Dobar dizajn baze podataka i softverske aplikacije pomoći će vam da se nosite sa svojim strahovima.

Prvi korak uvijek je izrada baze podataka, osim ako ne želite koristiti već gotovu bazu podataka koju pruža treća strana. Nakon što je baza kreirana, ona se dodjeljuje korisniku koji je izvršio upit koji je kreirao bazu podataka. Tipično, samo vlasnik (ili superkorisnik) može izvoditi različite akcije na različitim objektima pohranjenim u bazi podataka. Da bi mu drugi korisnici mogli pristupiti, moraju dobiti odgovarajuće privilegije.

Aplikacije se ne bi trebale povezivati ​​s bazom podataka pomoću vlasničkog ili superkorisničkog računa, inače mogu izmijeniti strukturu tablice (na primjer, ispustiti neke tablice) ili čak izbrisati cijeli sadržaj baze podataka.

Možete stvoriti različite korisničke račune baze podataka za svaku pojedinačnu aplikaciju, uz odgovarajuća funkcionalna ograničenja. Preporučljivo je dodijeliti samo najnužnije privilegije, a također biste trebali izbjegavati situacije u kojima isti korisnik može komunicirati s bazom podataka u više načina. Morate shvatiti da ako napadač može iskoristiti bilo koju račun Vašu bazu podataka, on će moći napraviti sve iste promjene u bazi podataka kao i program koji koristi tekući račun.

Nije potrebno implementirati svu poslovnu logiku u web aplikaciji (tj. u skriptama); za to možete koristiti i mogućnosti koje pruža baza podataka: okidače, prikaze, pravila. Ako sustav raste, trebat će vam nove veze s bazom podataka, a operativna logika morat će se duplicirati za svako novo pristupno sučelje. Na temelju gore navedenog, okidači se mogu koristiti za transparentnu i automatsku obradu zapisa, što je često potrebno pri otklanjanju pogrešaka u aplikacijama ili pri praćenju vraćanja transakcija.

Ovisno o operativnom sustavu koji se koristi, potrebno je osigurati mogućnost napada na razne datoteke, uključujući sistemske datoteke uređaji (/dev/ ili COM1), konfiguracijske datoteke(kao što su /etc/ ili .ini datoteke), dobro poznata područja za pohranu podataka (/home/, My Documents), i tako dalje. Na temelju toga obično je lakše implementirati sigurnosnu politiku koja zabranjuje sve osim onoga što je izričito dopušteno.

Budući da korporativni DBA ne mogu uvijek posvetiti vrijeme potrebno sigurnosti, neke tvrtke poduzimaju proaktivnije mjere. Oslobađaju te zaposlenike od njihovih redovnih dužnosti i postavljaju ih u tim za IT sigurnost.

Uspostavom takvog radnog mjesta rješavaju se dva problema odjednom: stručnjaci za informatičku sigurnost koji nemaju puno znanja iz područja baza podataka mogu koristiti pomoć stručnjaka, a administratori baza podataka imaju priliku usmjeriti svoje aktivnosti na pitanja informacijske sigurnosti i dobiti obuka potrebna za osiguranje sigurnosti korporativnih baza podataka.

Popis korištenih izvora

1. Boychenko I. A. Dizajn komponenti pouzdanog okruženja relacijski DBMS temeljeno na CASE tehnologijama [Tekst] / I. A. Boychenko - Voronjež, 2014. - 251 str.

2.Borri H. Firebird: vodič za radnike baze podataka [Tekst]: prev. s engleskog / H. Bori. - St. Petersburg: BHV - Petersburg, 2012. - 1104 str.

3. Bronevshchuk E. S. Sustav za upravljanje bazom podataka [Tekst] / E.S. Bronevščuk, V. I. Burdakov, L. I. Gukov. - M.: Financije i statistika, 2013. - 634 str.

4. Goncharov A. Yu. Pristup 2007. Imenik s primjerima [Tekst] / A. Yu. - M.: KUDITS - PRESS, 2011. - 296 str.

5.Deyt K. Uvod u sustave baza podataka [Tekst] / K. Deyt 7. izd. - M.: St. Petersburg: Williams, 2013. - 325 str.

6. Kalenik A. Korištenje novih mogućnosti MS-a SQL poslužitelj 2005 [Tekst] / A. Kalenik. - St. Petersburg: Peter, 2013. - 334 str.

7. Connolly T. Baze podataka. Dizajn, implementacija i podrška. Teorija i praksa [Tekst] / T. Connolly, L Begg, A. Stragan 2. izd. - M.: Williams, 2012. - 476 str.

8. Motev, A. A. Moje SQL lekcije. Priručnik za samoobrazovanje [Tekst] / A. A. Motev. - St. Petersburg: BHV - Petersburg, 2013. - 208 str.

9. Oppel E. Otkrivanje tajni SQL-a [Tekst]: prev. s engleskog / E. Opel, Jim Kiu, D. A. Terentjeva. - M.: NT Press, 2012. - 320 str.

10. Promakhina I. M. Sučelja mrežnog DBMS-a (PC) s jezicima visoke razine [Tekst] / I. M. Promakhina - M.: Računski centar RAS, 2011.- 874 str.

11. Fufaev E.V., Baze podataka; [Tekst] / E. V. Fufaev, D. E. Fufaev - Akademija - Moskva, 2013. - 320 str.

12. Frost, R. Baze podataka. Dizajn i razvoj [Tekst]: trans. s engleskog / R. Frost, D. Day, K. Van Slyke, A. Yu. - M.: NT Press, 2007. - 592 str.

Dodatak A

Slika A.1 - Arhitektura korištena za izradu web stranica

Dodatak B

Slika B.1 - Shema informacijske sigurnosti

Objavljeno na Allbest.ru

...

Slični dokumenti

    Osnove sigurnosti osobnih podataka. Klasifikacija prijetnji informacijskoj sigurnosti osobnih podataka, karakteristike njihovih izvora. Baze osobnih podataka. Kontrola i upravljanje pristupom. Razvoj mjera zaštite osobnih podataka u banci.

    diplomski rad, dodan 23.03.2018

    Razmatranje problematike osiguranja autorizacije korištenja informacija u bazama podataka (zaštita podataka od neželjenih izmjena, uništavanja, zaraze virusnim programima) i zakonsko reguliranje sigurnosti na primjeru Ms SQL DBMS.

    kolegij, dodan 30.03.2010

    Što su baze podataka, vizualizacija informacija baze podataka. Struktura i svojstva najjednostavnija baza podaci. Obilježja definicija, tipovi podataka, sigurnost, specifičnosti formiranja baze podataka. Dizajnerski pristupi projektni zadatak. Rad s tablicama.

    prezentacija, dodano 12.11.2010

    Oblici pruženih informacija. Glavni tipovi korištenih podatkovnih modela. Razine informacijski procesi. Dohvaćanje informacija i dohvaćanje podataka. Mrežna pohrana podataka. Problemi razvoja i održavanja skladišta podataka. Tehnologije obrade podataka.

    predavanje, dodano 19.08.2013

    Entiteti i funkcionalne ovisnosti baze podataka. Atributi i veze. Tablice baze podataka. Izrada ER dijagrama. Organizacija unosa i ispravka podataka. Shema relacijske baze podataka. Implementacija upita, primanje izvješća. Zaštita baze podataka.

    kolegij, dodan 06.02.2016

    Glavne vrste baza podataka. Sustav za upravljanje bazom podataka. Analiza aktivnosti i informacija koje se obrađuju u poliklinici. Sastav tablica u bazi podataka i njihovi odnosi. Metodologija popunjavanja baze podataka informacijama. Algoritam za izradu baze podataka.

    kolegij, dodan 17.12.2014

    Evolucija koncepata baza podataka. Zahtjevi koje organizacija baze podataka mora zadovoljiti. Modeli prikaza podataka. SQL jezik kao standardni jezik baze podataka. Arhitekture baza podataka. Delphi okruženje kao alat za razvoj DBMS-a.

    diplomski rad, dodan 26.11.2004

    Pojam baze podataka, model podataka. Klasifikacija baza podataka. Sustavi za upravljanje bazama podataka. Faze, pristupi projektiranju baze podataka. Izrada baze podataka koja će automatizirati vođenje dokumentacije potrebne za rad ŠK mladeži.

    kolegij, dodan 04.06.2015

    Procesi obrade informacija. Učinkovitost automatiziranog informacijskog sustava. Sustav za upravljanje bazom podataka. Lokalni i distribuirani sustav banke i baze podataka. Faze projektiranja baze podataka. Razlike u razinama prikaza podataka.

    test, dodan 07.07.2015

    Dizajn baze Pristup podacima. Sustav za upravljanje bazom podataka. Izrada i održavanje baze podataka, pristup podacima i njihova obrada. Postavljanje zadataka i ciljeva, glavne funkcije koje obavlja baza podataka. Glavne vrste baza podataka.

5.1. Sigurnosne metode

Moderni DBMS podržavaju jedan od dva široko prihvaćena pristupa sigurnosti podataka, naime selektivni pristup ili obvezni pristup. U oba pristupa, jedinica podataka ili "podatkovni objekt" za koji mora biti kreiran sigurnosni sustav može biti ili cijela baza podataka ili neki skup odnosa, ili neka vrijednost podataka za dati atribut unutar neke torke u određenom odnosu. Ovi se pristupi razlikuju u sljedećim svojstvima:

1. U slučaju selektivne kontrole, određeni korisnik ima različita prava (privilegije ili ovlasti) pri radu s različitim objektima. Štoviše, različite korisnike obično imaju različita prava pristupa istom objektu. Stoga izborne sheme karakterizira značajna fleksibilnost.

2. U slučaju obveznog upravljanja, naprotiv, svakom objektu podataka dodjeljuje se određena razina klasifikacije, a svaki korisnik ima određenu razinu pristupa. Dakle, ovim pristupom samo korisnici s odgovarajućom sigurnosnom razinom imaju pristup određenom podatkovnom objektu. Stoga su obvezne sheme prilično krute i statične.

Bez obzira jesu li sheme selektivne ili obvezne, sve odluke o pristupu korisnika za obavljanje određenih operacija donose se na strateškoj, a ne na tehničkoj razini. Dakle, oni su izvan dosega samog DBMS-a, a sve što DBMS može učiniti u takvoj situaciji je samo implementirati prethodno donesene odluke. Na temelju toga može se uočiti sljedeće:

Prvo. Rezultati strateške odluke moraju biti poznati sustavu (tj. napravljeni na temelju tvrdnji navedenih pomoću nekog prikladnog jezika) i pohranjeni u njemu (pohranjivanjem u direktorij kao sigurnosna pravila, koja se nazivaju i dozvole).

Drugo. Očito, moraju postojati neki načini reguliranja zahtjeva za pristup u odnosu na odgovarajuća sigurnosna pravila. (Ovdje se "zahtjev, pristup" odnosi na kombinaciju tražene operacije,, traženog, objekta i korisnika koji zahtijeva.) Ovu provjeru izvodi sigurnosni podsustav DBMS-a, koji se naziva i podsustav ovlaštenja.

Treće. Kako bismo razumjeli koja se sigurnosna pravila primjenjuju na koje zahtjeve za pristup, sustav mora osigurati načine za identifikaciju izvora ovog zahtjeva, tj. identifikaciju korisnika koji traži. Stoga, u trenutku prijave, korisnik obično mora unijeti ne samo svoj identifikator (na primjer, svoje ime ili položaj), već i lozinku (kako bi potvrdio svoja prava na prethodno deklarirane identifikacijske podatke). Obično se pretpostavlja da je lozinka poznata samo sustavu i određenim osobama s posebnim pravima.



Što se tiče zadnja točka Važno je napomenuti da različiti korisnici mogu imati isti identifikator grupe. Na taj način sustav može podržavati grupe korisnika i omogućiti jednaka prava pristupa za korisnike iste grupe, npr. za sve osobe iz odjela naplate. Osim toga, operacije dodavanja individualni korisnicičlanstvo u grupi ili uklanjanje iz nje može se izvršiti bez obzira na operaciju postavljanja privilegija za tu grupu. Imajte na umu, međutim, da su podaci o članstvu u grupi također pohranjeni imenik sustava(ili možda bazu podataka).

Gore navedene metode kontrole pristupa zapravo su dio općenitije klasifikacije sigurnosnih razina. Prije svega, ovi dokumenti definiraju četiri sigurnosne klase – D, C, B i A. Među njima, klasa D je najmanje sigurna, klasa C je sigurnija od klase D itd. Klasa D pruža minimalnu zaštitu, klasa C pruža selektivnu zaštitu, klasa B pruža obveznu zaštitu, a klasa A pruža dokazanu zaštitu.

Selektivna zaštita. Klasa C je podijeljena u dvije potklase, C1 i C2 (gdje je podklasa C1 manje sigurna od podklase C2), koje podržavaju selektivnu kontrolu pristupa u smislu da je kontrola pristupa diskrecijska volja vlasnika podataka.

Prema zahtjevima klase C1, potrebno je odvojiti podatke i korisnika, tj. Uz podržavanje koncepta međusobnog pristupa podacima, moguće je organizirati i odvojeno korištenje podataka od strane korisnika.

Prema zahtjevima klase C2 potrebno je dodatno organizirati računovodstvo temeljeno na procedurama prijave u sustav, revizije i izolacije resursa.

Obavezna zaštita. Klasa B sadrži zahtjeve za obvezne metode kontrole pristupa i podijeljena je u tri potklase - B1, B2 i B3 (gdje je B1 najmanje sigurna, a B3 najsigurnija podklasa).

Klasa B1 zahtijeva "označenu sigurnost" (što znači da svaki podatkovni objekt mora biti označen svojom razinom klasifikacije, npr. povjerljivo, vlasnički itd.), kao i neformalnu komunikaciju o sigurnosnoj strategiji koja postoji.

Prema zahtjevima klase B2 dodatno je potrebno dati formalnu izjavu o trenutnoj sigurnosnoj strategiji, kao i detektirati i isključiti slabo zaštićene kanale prijenosa informacija.

Sukladno zahtjevima klase B3, potrebno je dodatno osigurati podršku za reviziju i oporavak podataka, te imenovanje administratora sigurnosnog načina rada.

Dokazana zaštita. Klasa A je najsigurnija i zahtijeva matematički dokaz da je određena sigurnosna metoda kompatibilna i primjerena navedenoj sigurnosnoj strategiji.

Iako neki komercijalni DBMS-ovi pružaju obaveznu sigurnost na razini B1, oni obično pružaju selektivnu kontrolu na razini C2.

5.2. Selektivna kontrola pristupa

Selektivnu kontrolu pristupa podržavaju mnogi DBMS-ovi. Selektivna kontrola pristupa podržana je u SQL jeziku.

Općenito, sigurnosni sustav takvih DBMS-ova temelji se na tri komponente:

1. Korisnici. DBMS obavlja sve radnje s bazom podataka u ime korisnika. Svakom korisniku se dodjeljuje identifikator - kratko ime koje jedinstveno identificira korisnika u DBMS-u. Lozinka se koristi za potvrdu da korisnik može raditi s unesenim identifikatorom. Dakle, korištenjem identifikatora i lozinke, korisnik se identificira i autentificira. Većina komercijalnih DBMS-ova dopušta grupiranje korisnika s istim privilegijama kako bi se pojednostavio proces administracije.

2. Objekti baze podataka. Prema standardu SQL2, zaštićeni objekti u bazi podataka su tablice, pogledi, domene i korisnički definirano skupovi znakova. Većina komercijalnih DBMS-ova proširuje popis objekata dodavanjem pohranjenih procedura i drugih objekata.

3. Privilegije. Privilegije pokazuju skup radnji koje se mogu izvesti na određenom objektu. Na primjer, korisnik ima privilegiju pregledavanja tablice.

5.3. Obavezna kontrola pristupa

Obvezne metode kontrole pristupa primjenjuju se na baze podataka u kojima podaci imaju prilično statičnu ili krutu strukturu, kao što je tipično za vladine ili vojne organizacije. Kao što je već navedeno, osnovna ideja je da svaki podatkovni objekt ima neku razinu tajnosti, na primjer: tajno, strogo povjerljivo, za službenu uporabu, itd., a svaki korisnik ima razinu provjere s istim gradacijama kao u klasifikaciji razine. Pretpostavlja se da te razine tvore strogi hijerarhijski poredak, na primjer: strogo povjerljivo ® povjerljivo ® za službenu uporabu itd. Zatim se na temelju tih informacija mogu formulirati dva vrlo jednostavna sigurnosna pravila:

1. Korisnik ima pristup objektu samo ako je njegova razina odobrenja veća ili jednaka klasifikacijskoj razini objekta.

2. Korisnik može modificirati objekt samo ako je njegova razina dopuštenja jednaka klasifikacijskoj razini objekta.

Pravilo 1 prilično je očito, ali pravilo 2 zahtijeva dodatno pojašnjenje. Prije svega, treba napomenuti da se drugo pravilo može drugačije formulirati na sljedeći način: svaka informacija koju zabilježi određeni korisnik automatski dobiva razinu jednaku razini klasifikacije tog korisnika. Takvo je pravilo potrebno, primjerice, kako bi se spriječilo da korisnik s dozvolom tajnosti zapisuje klasificirane podatke u datoteku s nižom razinom tajnosti, što bi narušilo cijeli sigurnosni sustav.

U u posljednje vrijeme Obvezne metode kontrole pristupa postale su raširene. Zahtjevi za takvu kontrolu pristupa navedeni su u dva dokumenta, neformalno nazvana Narančasta knjiga i Knjiga lavande. Narančasta knjiga navodi skup sigurnosnih zahtjeva za pouzdanu računalnu bazu, dok ružičasta knjiga tumači te zahtjeve za sustave upravljanja bazom podataka.

5.4. Šifriranje podataka

Do sada se u ovom poglavlju pretpostavljalo da navodni neovlašteni korisnik pokušava ilegalno provaliti u bazu podataka koristeći normalne alate za pristup koji su dostupni u sustavu. Sada bismo trebali razmotriti slučaj kada takav korisnik pokuša provaliti u bazu podataka bez zaobilaženja sustava, tj. fizičkim premještanjem dijela baze podataka ili spajanjem na komunikacijski kanal. Većina učinkovita metoda Borba protiv takvih prijetnji je enkripcija podataka, tj. pohranjivanje i prijenos posebno važnih podataka u šifriranom obliku.

Za raspravu o osnovnim konceptima kodiranja podataka, potrebno je uvesti neke nove koncepte. Izvorni (nekodirani) podaci nazivaju se čistim tekstom. Otvoreni tekst šifriran je posebnim algoritmom šifriranja. Ulaz u takav algoritam je otvoreni tekst i ključ za šifriranje, a izlaz je šifrirani oblik otvorenog teksta, koji se naziva šifrirani tekst. Ako se pojedinosti algoritma šifriranja mogu objaviti ili se barem ne mogu sakriti, tada se ključ šifriranja mora držati u tajnosti. Upravo se šifrirani tekst, koji je nerazumljiv onima koji nemaju ključ za šifriranje, pohranjuje u bazu podataka i prenosi komunikacijskim kanalom.

5.5. Revizijski trag obavljenih operacija

Važno je razumjeti da niti jedan sigurnosni sustav nije neranjiv, budući da će uporan potencijalni napadač uvijek moći pronaći način da nadvlada sve sustave kontrole, pogotovo ako se za to ponudi dovoljno visoka nagrada. Stoga, kada radite s vrlo važnim podacima ili kada izvodite kritične operacije, postaje neophodno zabilježiti revizijski trag obavljenih operacija. Ako, primjerice, nedosljednost u podacima dovede do sumnje da je došlo do neovlaštenog diranja u bazu podataka, tada bi se trebao koristiti revizijski trag kako bi se razjasnila situacija i potvrdilo da su svi procesi pod kontrolom. Ako to nije slučaj, onda će revizijski trag barem pomoći u identificiranju počinitelja.

Za održavanje revizijskog traga obično se koristi posebna datoteka u koju sustav automatski bilježi sve operacije koje izvršavaju korisnici pri radu s redovnom bazom podataka. Tipični unos datoteke revizijskog traga može sadržavati sljedeće informacije:

2. terminal s kojeg je operacija pozvana;

3. korisnik koji je odredio operaciju;

4. datum i vrijeme početka operacije;

5. osnovne relacije, torke i atributi uključeni u proces izvođenja operacije;

6. stare vrijednosti;

7. nove vrijednosti.

Kao što je ranije spomenuto, čak i navođenje činjenice da određeni sustav podržava nadzorni nadzor je u nekim slučajevima vrlo značajno u sprječavanju neovlaštenog ulaska u sustav.

5.6. SQL sigurnosna podrška

Trenutačni jezični standard SQL podržava samo selektivnu kontrolu pristupa. Temelji se na dva više ili manje neovisna dijela SQL-a. Jedan od njih se zove preglednik, koji se (kao što je gore objašnjeno) može koristiti za skrivanje vrlo osjetljivih podataka od neovlaštenih korisnika. Drugi se naziva podsustav dopuštenja, koji daje nekim korisnicima moć selektivnog i dinamičkog dodjeljivanja različitih dopuštenja drugim korisnicima i uklanjanja takvih dopuštenja kada je to potrebno.

5.7. GRANT i REVOKE direktive

SQL preglednik omogućuje na razne načine podijeliti bazu podataka na dijelove tako da se neki podaci sakriju od korisnika koji im nemaju pravo pristupa. Međutim, ovaj način se ne postavlja pomoću radnih parametara na temelju kojih ovlašteni korisnici izvode određene radnje s danim podatkom. Ova funkcija (kao što je gore prikazano) izvodi se pomoću direktive GRANT.

Imajte na umu da kreator bilo kojeg objekta automatski dobiva sve privilegije na tom objektu.

Standard SQL1 definira sljedeće privilegije za tablice:

1. SELECT – omogućuje čitanje podataka iz tablice ili prikaza;

INSERT – omogućuje umetanje novih zapisa u tablicu ili prikaz;

AŽURIRANJE – omogućuje izmjenu zapisa iz tablice ili prikaza;

DELETE – omogućuje brisanje zapisa iz tablice ili prikaza.

Standard SQL2 proširio je popis privilegija za tablice i prikaze:

1. INSERT u pojedinačne stupce, slično privilegiji UPDATE;

2. REFERENCE – za podršku stranom ključu.

Uz gore navedene, privilegija USAGE je dodana za druge objekte baze podataka.

Osim toga, većina komercijalnih DBMS-ova podržava dodatne privilegije, na primjer:

1. ALTER – omogućuje izmjenu strukture tablice (DB2, Oracle);

2. IZVRŠI – omogućuje vam izvršavanje pohranjenih procedura.

Kreator objekta također dobiva pravo dodijeliti privilegije pristupa nekom drugom korisniku koristeći naredbu GRANT. Sljedeća je sintaksa izjave GRANT:

GRANT (SELECT|INSERT|DELETE|(UPDATE stupac, ...)), ...

NA stolu TO (korisnik | JAVNO)

Privilegije INSERT i UPDATE (ali ne i privilegije SELECT, što je vrlo čudno) mogu se postaviti na specifično definirane stupce.

Ako je navedena direktiva WITH GRANT OPTION, to znači da navedeni korisnici imaju posebna dopuštenja za navedeni objekt - pravo davanja dopuštenja. To zauzvrat znači da mogu dati dopuštenja drugim korisnicima za rad s ovim objektom.

Na primjer: dodijelite korisniku Ivanov dopuštenja za odabir i promjenu prezimena u tablici Studenti s pravom davanja dopuštenja.

GRANT SELECT, UPDATE StName

ON Studenti TO Ivanov S GRANT OPCIJOM

Ako korisnik A dodijeli neka dopuštenja drugom korisniku B, on kasnije može opozvati ta dopuštenja za korisnika B. Opoziv dopuštenja se vrši pomoću REVOKE direktive sa sljedećom sintaksom.

OPOZIV ((ODABIR | UMETNI | IZBRIŠI | AŽURIRAJ),...|SVE PRIVILEGIJE)

NA stolu,… OD (korisnik | JAVNO),… (KASKADA | OGRANIČENO)

Budući da je korisnik kojemu se oduzima privilegija ju mogao dodijeliti drugom korisniku (ako je imao privilegiju dodjele), može doći do situacije napuštenih privilegija. Glavna svrha parametara RESTRICT i CASCADE je spriječiti situacije napuštenih privilegija. Postavljanjem parametra RESTRICT, operacija opoziva povlastice nije dopuštena ako rezultira napuštanjem povlastice. Parametar CASCADE specificira sekvencijalno uklanjanje svih povlastica izvedenih iz ove.

Na primjer: uklonite dozvole korisniku Ivanov za izmjenu prezimena u tablici Studenti. Također uklonite ovu privilegiju svim korisnicima kojima ju je dodijelio Ivanov.

NA Studenti IZ Ivanov CASCADE

Brisanjem domene, tablice, stupca ili prikaza automatski se uklanjaju sve privilegije na tim objektima za sve korisnike.

5.8. Pogledi i sigurnost

Stvaranjem prikaza i davanjem dopuštenja korisnicima da pristupe njemu, a ne izvornoj tablici, možete ograničiti korisnički pristup samo na određene stupce ili zapise. Dakle, reprezentacije nam omogućuju implementaciju potpuna kontrola o tome koji su podaci dostupni određenom korisniku.

Zaključak

Kako bi se rizik od gubitaka sveo na najmanju moguću mjeru, potrebno je provesti skup regulatornih, organizacijskih i tehničkih zaštitnih mjera, prije svega: uvođenje kontrole pristupa temeljene na ulogama, organizaciju pristupa korisnika uz predočenje digitalnog certifikata, te bliska budućnost - industrijsko rješenje za selektivnu enkripciju i korištenje GOST algoritama za šifriranje baza odabranih segmenata.

Za cjelovito rješenje Problemi sa zaštitom podataka Sigurnosni administrator mora moći nadzirati radnje korisnika, uključujući one s administratorskim pravima. Budući da standardni sustav revizije nema dovoljno sigurnosnih mjera, nužan je neovisni sustav, štiteći korporativnu mrežu ne samo izvana, već i iznutra. U budućnosti bi se trebale pojaviti i standardne metode za sveobuhvatno rješavanje problema zaštite baze podataka za poduzeća različitih veličina, od malih do geografski raspoređenih.

  • Dudkina Anastazija Sergejevna, prvostupnik, student
  • Baškirsko državno agrarno sveučilište
  • ZAŠTITA
  • PHPMYADMIN
  • MYSQL
  • BAZA PODATAKA

U članku se raspravlja o glavnim pravcima zaštite podataka pohranjenih ili obrađenih u sustavima za upravljanje bazama podataka (DBMS). Opisuje načine zaštite povjerljivosti i integriteta informacija pomoću alata koji su jednostavni za korištenje ugrađeni u DBMS.

  • Informacijske tehnologije za interakciju u općinskoj upravi
  • O nekim svojstvima proširenih struktura na razdiobama bimetričkih mnogoznačnika
  • O klasi proširenih bimetrijskih struktura na distribucijama sub-Riemanovih mnogoznačnika
  • Vizualni prikaz statističkih podataka pomoću mjehurićastog grafikona

Trenutno gotovo nijedna moderna organizacija ne može bez korištenja baza podataka u svojim aktivnostima. Baze podataka (DB) su najznačajnija i najvrednija imovina svake tvrtke. Budući da baza podataka može sadržavati vrlo osjetljive ili povjerljive podatke, njezinu zaštitu treba shvatiti vrlo ozbiljno. Svaki kvar u radu DBMS-a i baza podataka može dovesti do katastrofalnih posljedica.

Glavna sredstva zaštite informacija uključuju sljedeće:

  • zaštita lozinkom;
  • zaštita polja i zapisa tablica baze podataka.
  • uspostavljanje prava pristupa objektima baze podataka;
  • šifriranje podataka i programa;

Zaštita baze podataka provodi se na dvije razine:

  • na razini lozinke;
  • na razini korisnika (zaštita korisničkih računa i identificiranih objekata).

PhpMyAdmin je program napisan u PHP-u i dizajniran za upravljanje MySQL poslužitelj putem World Wide Weba. phpMyAdmin podržava širok raspon operacija na MySQL-u. Najčešće korištene operacije podržane su korištenjem korisničko sučelje(upravljanje bazama podataka, tablicama, poljima, odnosima, indeksima, korisnicima, pravima itd.), u isto vrijeme možete izravno izvršiti bilo koji SQL upit.

Osiguranje informacijske sigurnosti projekta koji se razvija provodi se na nekoliko razina. Na prvoj razini zaštitu informacija osigurava sam “phpMyAdmin” sustav, počevši od prijave u upravljačku ploču gdje se od vas traži unos logina i lozinke.

Sljedeću razinu zaštite pruža MySQL DBMS, također razgraničavajući prava pristupa.


Slika 2. Pregled računa

Osim toga, također je moguće ograničiti pristup ne samo samom sustavu upravljanja bazom podataka, već i zasebno bazama podataka, tablicama baze podataka, zapisima određenih tablica, pa čak i vrijednostima polja tablica ili zapisa. Vrijedno je napomenuti da ugrađene funkcije šifriranja nisu prisutne u svim DBMS-ovima. Stoga se ova metoda ne može nazvati univerzalnom. Ovaj DBMS nudi dva slična skupa funkcija šifriranja, od kojih jedan implementira DES algoritam, a drugi - AES. Uz to, MySQL implementira nekoliko algoritama raspršivanja. Skup kriptografskih funkcija ovog DBMS-a izgleda ovako:

Tablica 1. Kriptografske funkcije DBMS-a

Funkcije AES enkripcije podataka koriste 128-bitni enkripcijski ključ, tj. enkripcija sa 192-bitnim i 256-bitnim ključevima koju pruža AES standard nije implementirana u MySQL. Ključ šifriranja je eksplicitno naveden kao jedan od parametara funkcije. Nasuprot tome, funkcije DES_ENCRYPT() i DES_DECRYPT(), koje šifriraju koristeći TripleDES algoritam, osim eksplicitnog navođenja ključa šifriranja, omogućuju najjednostavnija opcija upravljanje ključem u obrascu ključnu datoteku, koji sadrži numerirane ključne vrijednosti. Međutim, ove funkcije su prema zadanim postavkama onemogućene; morate omogućiti podršku za SSL protokol u konfiguraciji DBMS-a.

Funkcija ENCRYPT() može se koristiti samo na operativnim sustavima Unix obitelj, budući da šifrira podatke pomoću sistemski poziv kripta(). Što se tiče korištenih funkcija raspršivanja, MySQL dokumentacija sadrži upozorenje da su temeljni algoritmi pokvareni (ovo je posebno napisano u detalje, stoga ih treba koristiti s oprezom. Međutim, MySQL još ne nudi robusnije hash funkcije za zamjenu postojeći gore navedeni. kriptografske funkcije također su vrlo jednostavni za korištenje. Na primjer, sljedeći upit umeće vrijednost “text” u tablicu tablice, šifriranu ključem “password”: INSERT INTO table VALUES (1, AES_ENCRYPT("text", "password")); Imajte na umu da format polja u koje se upisuje šifrirana vrijednost mora biti u skladu s ograničenjima koja nameće korišteni kriptografski algoritam - u u ovom slučaju, mora biti binarni (na primjer, tip VARBINARY) i pretpostavljati poravnanje prema 128-bitnoj veličini bloka AES algoritma.

Sustav zaštite baze podataka igra ključnu ulogu u automatizaciji kontrole nad radnjama korisnika koji rade s bazama podataka, štiteći od vanjskih i unutarnje prijetnje te povećanje pouzdanosti rada baze podataka.

Reference

  1. Melnikov, V.P. Informacijska sigurnost i zaštita informacija. / V.P.Melnikov,
  2. S.A.Kleimenov, A.M.Petrakov // 3. izdanje, izbrisano. - M.: Akademija, 2008. - 336 str.
  3. Panasenko S.P. Sveobuhvatna zaštita informacija. // Informacijska tehnologija. -2001 - broj 3 - str. 14-16 (prikaz, stručni).
  4. Program rada discipline "Informacijska sigurnost": smjer 080500 Poslovna informatika [ Elektronički izvor]: profil osposobljavanja Informacijski sustavi u poslovanju: diplomska kvalifikacija (diploma) Bachelor / Baškirsko državno agrarno sveučilište, [Dept. računalne znanosti i informacijske tehnologije; komp. A. R. Basirov]. - Ufa: [b. i.], 2013. - 16 str. - B. c.
  5. Web stranica PHP web aplikacije"phpMyAdmin" [Elektronički izvor]. – Način pristupa: http://www.phpmyadmin.net/home_page/, besplatan

Sustavi za upravljanje bazama podataka postali su glavni alat za pohranu velike količine informacija. Suvremene informacijske aplikacije prvenstveno se oslanjaju na višekorisničke DBMS-ove. U tom smislu, velika pozornost se trenutno posvećuje problemima osiguranja informacijske sigurnosti, koja određuje stupanj sigurnosti organizacije i institucije u cjelini.

Informacijska sigurnost odnosi se na zaštitu informacija od slučajnih i namjernih utjecaja prirodne ili umjetne prirode koji bi mogli nanijeti štetu vlasnicima ili korisnicima informacija.

Za zaštitu informacija u bazama podataka najvažniji su sljedeći aspekti informacijske sigurnosti (europski kriteriji):

uvjeti pristupa (mogućnost dobivanja neke tražene informacijske usluge);

cjelovitost (dosljednost informacija, njihova zaštita od uništenja i neovlaštenih promjena);

povjerljivost (zaštita od neovlaštenog čitanja).

Problem osiguranja informacijske sigurnosti je složen, pa treba razmotriti njegovo rješenje različite razine: zakonodavni, upravni, postupovni i programsko-tehnički. Trenutno je problem razvoja zakonodavni okvir, pružanje sigurna uporaba informacijski sustavi.

Glavne softverske i hardverske mjere, čijom će se upotrebom riješiti neki od gore navedenih problema, uključuju:

autentifikacija i identifikacija korisnika;

kontrola pristupa bazi podataka;

održavanje integriteta podataka;

snimanje i revizija;

zaštita komunikacije između klijenta i poslužitelja;

odraz prijetnji specifičnih za DBMS.

Provjera autentičnosti korisnika aplikacije baze podataka najčešće se ostvaruje ili putem odgovarajućih mehanizama operacijskog sustava ili putem specifične SQL naredbe: korisnik se identificira svojim imenom, a alat za provjeru autentičnosti je lozinka. Takav sustav stvara značajne poteškoće za ponovljene provjere i eliminira takve provjere prije svake transakcije.

Kontrola pristupa bazi podataka temelji se na implementaciji sljedećeg minimalnog skupa radnji:

kontrola slučajnog pristupa;

osiguravanje sigurnosti ponovne uporabe predmeta;

korištenje sigurnosnih naljepnica;

prisilna kontrola pristupa.

Kontrola slučajnog pristupa je metoda ograničavanja pristupa objektima, koja se temelji na uzimanju u obzir identiteta subjekta ili grupa kojima subjekt pripada. Ova tehnologija omogućuje vlasniku objekta (pogled, poslužitelj baze podataka, procedura, tablica) da prenese privilegije na drugu osobu prema vlastitom nahođenju. Ta osoba u ovoj situaciji može biti subjekt korisnika ili grupa korisnika.

Glavna prednost kontrole slučajnog pristupa je fleksibilnost. Međutim, popratne karakteristike kao što su distribuirano upravljanje i složenost centralizirane kontrole predstavljaju mnoge izazove za osiguranje sigurnosti podataka.

Također treba obratiti pozornost na osiguranje sigurnosti ponovne uporabe baza podataka od strane subjekata. To znači oduzimanje prava ulaska u informacijski sustav svim korisnicima koji napuste organizaciju.

Sigurnosna oznaka sastoji se od dva dijela: sigurnosne razine i popisa kategorija. Prva komponenta ovisi o primjeni i standardna verzija može izgledati kao spektar vrijednosti od strogo povjerljivih do neklasificiranih. Druga komponenta vam omogućuje da opišete predmetno područje, dijeleći informacije u odjeljke, što doprinosi boljoj sigurnosti. Mehanizam sigurnosne oznake ne poništava, već nadopunjuje kontrolu slučajnog pristupa: korisnici i dalje mogu raditi s tablicama samo unutar granica svojih privilegija i primati samo dio podataka. Glavni izazov pri korištenju sigurnosnih naljepnica je održavanje njihove cjelovitosti. To znači da svi objekti i subjekti moraju biti označeni, a sve operacije na podacima moraju održavati oznake točnima.

Prisilna kontrola pristupa temelji se na podudaranju sigurnosnih oznaka subjekta i objekta. Da bi se pročitala informacija o objektu, oznaka subjekta mora dominirati nad oznakom objekta. Prilikom izvođenja operacije pisanja informacija u objekt, sigurnosna oznaka objekta mora dominirati nad sigurnosnom oznakom subjekta. Ovaj način kontrole pristupa naziva se prisilnim, jer ne ovisi o volji subjekata. Našao je primjenu u DBMS-ovima s poboljšanim sigurnosnim mjerama.

Osiguravanje integriteta podataka nije manje važno od kontrole pristupa. Sa stajališta korisnika DBMS-a, glavna sredstva za održavanje integriteta podataka su ograničenja i pravila. Ograničenja mogu biti sadržana izravno u relacijski model podataka, ili se može navesti tijekom procesa stvaranja tablice. Ograničenja tablice mogu se primijeniti na grupu stupaca ili pojedinačne atribute. Referentna ograničenja odgovorna su za održavanje cjelovitosti odnosa između tablica. Ograničenja nameće vlasnik tablice i utječu na ishod kasnijih operacija s podacima. Pravila vam omogućuju izvršavanje određenih postupaka kada se u bazi podataka dogode određene promjene. Za razliku od ograničenja, koja omogućuju kontrolu nad relativno jednostavnim uvjetima, pravila vam omogućuju provjeru i održavanje odnosa bilo koje složenosti između elemenata podataka u bazi podataka. Međutim, kada se pravila koriste kao alat za informacijsku sigurnost, pogreška u složenom sustavu pravila prepuna je nepredvidivih posljedica za cijelu bazu podataka.

Evidentiranje i revizija sastoje se od sljedećeg:

otkrivanje neobičnih i sumnjivih korisničkih radnji i identifikacija osoba koje su te radnje počinile;

procjena mogućih posljedica povrede;

pružanje pomoći;

organizacija pasivne zaštite informacija od nezakonitih radnji korisnika.

Problem zaštite komunikacije između klijenta i poslužitelja u informacijski sustavi nije specifičan za DBMS. Kako bi se osigurala zaštita informacija, osigurana je sigurnosna usluga čije funkcije uključuju autentifikaciju, enkripciju i autorizaciju.

Međutim, glavni izvor prijetnji DBMS-ovima leži u samoj prirodi baza podataka. Često potrebne, ali nedostupne informacije po statusu, moguće je dobiti logičkim zaključivanjem. Na primjer, korištenjem operacije dodavanja umjesto operacije odabira (na koju nemate prava), možete analizirati kodove dovršetka SQL izraza. Za borbu protiv takvih prijetnji koristi se mehanizam množenja redaka za DBMS koji podržava sigurnosne oznake. Agregacija je metoda dobivanja novih informacija kombiniranjem podataka dobivenih legalno iz različitih tablica baze podataka. S agregacijom se može boriti pažljivim projektiranjem podatkovnog modela i ograničavanjem korisničkog pristupa informacijama što je više moguće.