Predmet: 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ćanje pristupa podacima pohranjenim u bazi podataka. Kada podatke koristi mnogo ljudi, povećavaju se šanse da će podaci biti ukradeni. Iz toga slijedi da je sigurnost baze podataka niz metoda 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. A to znači da postoje mnoge sigurnosne mjere - od vatrozida do revizije i sigurnosne kopije diska - kako bi se smanjila moguća šteta 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 sigurnosne barijere koja odbija sve nepoznate veze, najosnovniji je 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 i samo pouzdana računala ili korisnici mogu pristupiti bazi podataka. Dok vješti hakeri to mogu zaobići, vatrozid pruža visoku razinu sigurnosti.

Šifriranje je još jedna sigurnosna mjera za bazu podataka u kojoj su podaci šifrirani ili su učinjeni nerazumljivim svima koji pristupaju bazi podataka. Prilikom upotrebe enkripcije, algoritam kodira znakove u besmislice tako da se ne mogu č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 čitljiv 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 s programom da se vidi je li integritet baze podataka ostao isti. Osim toga, 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.

Redoviti backup baze podataka je sigurnosna mjera baze podataka koja može zaštititi bazu podataka od raznih prijetnji. Ako se baza podataka redovito sigurnosno kopira, to znači da će podaci biti pohranjeni na drugom tvrdom disku ili poslužitelju. Ako baza podataka izgubi neke 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 isključivanja baze podataka zbog preopterećenja.

Pošaljite svoj dobar rad u bazu znanja jednostavno je. Koristite obrazac u nastavku

Dobar posao na stranicu">

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 više obrazovanje

"Omska humanitarna akademija"

Odjel za informatiku, matematiku i prirodne znanosti

NASTAVNI RAD

na temu: Sigurnost baze podataka

po disciplinama: 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 vraćanje 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 odvojen pogled poslovanje. Ako je pojava još jedne objavljene baze za građane samo još jedna neugodna činjenica otkrivanja informacija o njihovom privatnom životu, onda u nekim poduzećima to može negativno utjecati na poslovanje. Na primjer, za operatera mobilna komunikacija raspodjela obračunske baze 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 pripremio za prodaju i otkupiti cijelu nakladu. Ali problem preklapanja mogućih curenja ostaje vrlo relevantan.

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

Klasični pogled na rješenje ovog problema uključuje istraživanje poduzeća kako bi se identificirale prijetnje kao što su krađa, gubitak, uništenje, modifikacija, odbijanje autentičnosti. Drugi korak je sastavljanje matematički modeli glavni tokovi informacija i mogući prekršaji, modeliranje tipičnih radnji uljeza; 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, poslovne strukture, informacijskih mreža i tokova informacija, primijenjenih sustava te načini organiziranja pristupa njima itd. ne dopušta stvaranje univerzalne metodologije 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. Nedavni analitički izvještaji konzultantskih tvrtki otkrili su druga, važnija područja zaštite informacijskih resursa poduzeća. Studije su uvjerljivo pokazale da se nijedna informacija ne može spasiti od curenja informacija od strane osoblja i zlonamjernih radnji "svemoćnih" administratora baze podataka. vatrozidi, bez VPN-a, čak ni otmjenih sustava za otkrivanje upada 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 prijetnje krađe povjerljivih podataka. Svaki Američka tvrtka izgubili u prosjeku 355.500 USD samo zbog povrede povjerljivih podataka u proteklih 12 mjeseci. Prosječni iznos gubitaka od akcija insajdera iznosio je 300.000 dolara (maksimum je bio 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 obraditi pitanje sigurnosti baze podataka.

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

1. Sposobnost izbjegavanja neovlaštenog pristupa bazi podataka.

2. Pohranjivanje šifriranih podataka.

3. Tehnika 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 nekim slučajevima, staviti na industrijske temelje prodaju baza podataka s osobnim podacima pretplatnika, partnera ili zaposlenika, te poslovne tajne tvrtke.

Dakle, imamo sljedeće početne podatke:

Mnogi nisu svjesni da se njihove baze podataka kradu;

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

Nakon što se utvrdi činjenica o krađi podataka, većina tvrtki zataška nastalu štetu. Jedan od razloga za to je nedostatak pravih mehanizama za prikupljanje baze dokaza o činjenici krađe resursa od strane određenog korisnika;

Tehnologije koje dopuštaju striktno personaliziranje radnji korisnika i razgraničenje njihovih prava nepoznate su većini upravitelja;

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 ne dopušta rješavanje problema na složen način (uvođenje jedinica osoblja odgovornih za informacijsku sigurnost.

Glavni zahtjevi za sigurnost podataka za baze podataka i DBMS uvelike se podudaraju sa zahtjevima za sigurnost podataka u računalni sustavi- kontrola pristupa, kriptozaš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 osiguranje točnosti (ispravnosti) kako vrijednosti svih podatkovnih elemenata tako i odnosa između podatkovnih elemenata u bazi podataka u svakom trenutku. Sljedeći osnovni zahtjevi povezani su s održavanjem integriteta.

Provjera valjanosti. Informacije se unose u svaki podatkovni element točno onako kako je opisano za taj element. Moraju se osigurati mehanizmi koji osiguravaju da podatkovni elementi i njihovi logički odnosi budu otporni na pogreške ili nestručne radnje korisnika.

Kontrola istodobnosti.Narušavanje integriteta baze podataka može se dogoditi pri istodobnom izvođenju operacija nad podacima od kojih svaka pojedinačno ne narušava integritet baze podataka. Stoga je potrebno osigurati mehanizme za upravljanje podacima kako bi se osiguralo održavanje cjelovitosti baze podataka tijekom izvođenja nekoliko operacija u isto vrijeme.

Oporavak. Podaci pohranjeni u bazi podataka moraju biti otporni na nepovoljne fizičke utjecaje (hardverske greške, nestanci struje i sl.) i softverske pogreške. Stoga treba predvidjeti mehanizme za vraćanje baze podataka u stanje koje je bilo prije pojave kvara u iznimno kratkom vremenu.

Pitanja kontrole pristupa i održavanja integriteta baze podataka usko su povezana, au velikom broju slučajeva koriste se isti mehanizmi za njihovo rješavanje. Razlika između ovih aspekata sigurnosti podataka baze podataka je u tome što je kontrola pristupa sprječavanje namjernog uništavanja baze podataka, dok je upravljanje integritetom sprječavanje nenamjernog unošenja pogreške.

Većina sustava baza podataka sredstvo je jedinstvene centralizirane pohrane podataka. Ovo uvelike smanjuje redundantnost podataka, pojednostavljuje pristup podacima i omogućuje učinkovitiju zaštitu podataka. Međutim, u tehnologiji baze podataka postoji niz problema povezanih, na primjer, s činjenicom da različiti korisnici moraju imati pristup nekim podacima, a ne moraju imati pristup drugima. Stoga, bez korištenja posebna sredstva i metode, gotovo je nemoguće osigurati pouzdano odvajanje pristupa u 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, do određenog elementa. Istodobno, moguće je ne samo odobriti pristup određenom korisniku, već i odrediti vrstu dopuštenog pristupa: što točno određeni korisnik može učiniti s određenim podacima (čitati, mijenjati, brisati, itd.), gore do reorganizacije cijele baze podataka Kontrole pristupa tablicama (popisima) široko se koriste u računalnim sustavima, na primjer, u OS-u za kontrolu pristupa datotekama. Značajka korištenja ovog alata za zaštitu baze podataka je da ne djeluju samo pojedinačne datoteke kao objekti zaštite (područja u mrežnim bazama podataka, odnosi u relacijskim bazama podataka), ali i drugi konstruktivni elementi DB: element, polje, zapis, skup podataka.

1.2 Upravljanje cjelovitošću podataka

Narušavanje integriteta podataka može biti uzrokovano nizom razloga:

hardverski kvarovi, 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 iu dobro uhodanim sustavima. Stoga je važno ne samo spriječiti narušavanje integriteta, već i pravodobno otkriti činjenicu o narušavanju integriteta i brzo vratiti integritet nakon narušavanja.

1.3 Kontrola istovremenosti

Dovoljno je održavanje integriteta na temelju gore navedenih ograničenja integriteta težak problem u DB sustavu čak i s jednim korisnikom. U višekorisničkim sustavima postoji niz novih problema povezanih s paralelnim izvršavanjem sukobljenih korisničkih zahtjeva. Prije razmatranja mehanizama zaštite baze podataka od pogrešaka koje se javljaju u slučaju sukoba korisničkih zahtjeva, otkrit ćemo niz koncepata vezanih uz kontrolu konkurentnosti.

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

Sa stajališta sigurnosti podataka ovakav mehanizam prikaza promjena u bazi podataka vrlo je značajan. Ako je transakcija prekinuta, tada posebni ugrađeni DBMS alati izvode tzv. rollback - vraćanje baze podataka u stanje koje je prethodilo početku transakcije (zapravo, rollback se obično sastoji jednostavno u neunošenju promjena zbog tijeka transakcije). transakcija 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 ovakva vrsta pogrešaka, DBMS mora podržavati mehanizme koji osiguravaju da transakcije zahvate modificirane elemente podataka do završetka modifikacije, takozvana zaključavanja. To osigurava da nitko ne dobije pristup izmjenjivoj podatkovnoj stavci dok je transakcija ne oslobodi. Korištenje mehanizma zaključavanja dovodi do novih problema kontrole istovremenosti, posebice do pojave klinč situacija između dvije transakcije. Štoviše, ako neka transakcija pokuša zaključati objekt koji je već zaključan drugom transakcijom, tada će morati pričekati dok transakcija koja je postavila 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 za pohranu ili pogrešnih radnji korisnika. Sposobnost oporavka podataka pomoću posebni programi postoji ako ih nisu prebrisale druge informacije. Također, uspjeh uvelike ovisi o očuvanju strukture datotečnog sustava i ispravnosti medija općenito.

Kao što znate, podaci na bilo kojem modernom mediju za pohranu na najnižoj razini pohranjuju se kao niz bitova nula i jedinica. Odnosno, 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: sistemskog područja i podatkovnog područja. Područje sustava sadrži boot sektor(odgovoran za mogućnost dizanja s medija i njegovo ispravno prepoznavanje), kao i niz sektora koji pohranjuju indeksne tablice datoteke i druge servisne informacije.

Sve informacije su fizički pohranjene u području podataka, međutim, zapisi datoteka su u području sustava. Mehanizam ove organizacije rada je sljedeći: kada je pogon spojen na računalo, 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. Ovo daje razlog sustavu da "oslobođene" medijske klastere smatra praznima i prikladnima za daljnje prepisivanje. Dakle, prvi slučaj kada je oporavak podataka moguć je nestanak poveznice na datoteku u tablici datoteka, 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šu se i područje sustava i područje podataka. Ova vrsta oblikovanja omogućuje potpuno brisanje medija, međutim, kako bi se ubrzao proces, područje podataka se ne briše u potpunosti, već u fragmentima. To daje (iako malu) priliku 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 Windowsima nema mogućnosti niskorazinsko oblikovanje, tako da je čak i nakon potpunog čišćenja diska njegovim sredstvima, oporavak podataka teoretski moguć! Slično tome, možete pokušati oporaviti podatke u slučaju kvarova datotečnog sustava, s kojima flash pogoni često "griješe". 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 brz povratak u stanje što je moguće bliže onom koje je bilo prije pojave kvara (greške). Zastoj je često jedan od razloga potrebe za oporavkom.

Postoje tri glavne razine oporavka:

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

Međuoporavak.Ako se pojave anomalije u radu sustava (greške sustava i softvera, kvarovi softvera koji nisu vezani uz uništavanje baze podataka), potrebno je vratiti stanje svih transakcija izvršenih u trenutku kvara.

Dugi oporavak. Kada je baza podataka uništena kao rezultat kvara na disku, obnova se provodi pomoću kopije baze podataka. Zatim reproduciraju rezultate transakcija obavljenih od izrade kopije 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 takvog izvršenja transakcije izgube, tada ih je moguće ponovno reproducirati u trenutku neuspjeha. Dakle, koncept transakcije igra važnu ulogu u povratu. Za vraćanje integriteta baze podataka, transakcije moraju ispunjavati sljedeće zahtjeve:

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

Potrebno je da transakcija dopušta mogućnost povratka u izvorno stanje, osim toga, kako bi se osigurao neovisni povratak transakcije u početno stanje, mora se izvršiti isključivo zaključavanje dok se ne završi izmjena svih objekata;

Potrebno je moći reproducirati proces transakcije, a kako bi se osigurao ovaj zahtjev, zajedničko zaključavanje mora se provesti do završetka pregledavanja podataka po svim transakcijama.

Tijekom izvršenja bilo koje transakcije dolazi trenutak njenog završetka. U isto vrijeme, svi izračuni napravljeni transakcijom u svom radno područje mora biti dovršen, kopija rezultata njegovog izvršenja mora biti zapisana u dnevnik sustava. Takve se radnje nazivaju operacijama predaje. Kada dođe do kvara, bolje 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 točka predaje dosegne tijekom izvođenja transakcije, tada DBMS automatski izvodi gornju operaciju.

1.6 Vraćanje i vraćanje transakcije

Glavni alat koji se koristi tijekom oporavka je zapisnik sustava koji bilježi sve promjene napravljene u bazi podataka svakom transakcijom. Vraćanje transakcije u početno stanje sastoji se u poništavanju svih promjena koje su napravljene tijekom transakcije. Ova se operacija naziva rollback. 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. Ponovno reproduciranje rezultata transakcije pomoću sysloga naziva se odmotavanje. Spinup je prilično komplicirana, 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 svih aplikacija temeljenih na webu i pružaju mogućnost pružanja raznovrsnog dinamičkog sadržaja. Budući da takve baze podataka mogu pohraniti vrlo osjetljive i osjetljive informacije, potrebno je pripaziti i na njihovu zaštitu. Arhitektura korištena za stvaranje web stranica s PL/SQL WebToolkitom je iznenađujuće jednostavna, kao što je prikazano na slici 1 (vidi Dodatak A).

Da biste dobili ili pohranili informacije u bazu podataka, morate se spojiti na nju, poslati zahtjev, obraditi odgovor i zatvoriti vezu. Danas se za sve to uobičajeno 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 "po dubini". Što više mjesta zaštitite i što više radnji poduzmete da zaštitite bazu podataka, manja je vjerojatnost da će napadač uspjeti izvući i upotrijebiti podatke pohranjene u njoj. tajni podaci. Sva opasna mjesta eliminiraju se pravilnim dizajnom strukture baze podataka i aplikacije koja je koristi.

Prvi korak je uvijek sama izrada baze podataka, osim kada se koriste tuđe baze 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 ove baze podataka, a dopuštenja se moraju dodijeliti kako bi se drugim korisnicima omogućilo korištenje.

Aplikacije se nikada ne bi trebale povezivati ​​s bazom podataka kao njen vlasnik ili "superkorisnik" jer tada korisnici mogu učiniti bilo što, poput izmjene sheme (kao što je brisanje tablica) ili brisanja svih njezinih sadržaja.

Za svakoga možete stvoriti različite korisnike baze podataka potrebna radnja aplikacijama, uvelike ograničavajući potonji pristup objektima baze podataka. Potrebna prava treba dodijeliti jednom, njihovu upotrebu na drugim mjestima u aplikaciji treba izbjegavati. To znači da ako napadač dobije pristup koristeći jedan ili drugi račun, moći će dobiti samo pristup koji je imao korišteni dio programa.

Bolje je ne unositi svu logiku rada s bazama podataka u aplikacije. To se 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 rutine mogu se modificirati da automatski obrađuju nova polja, a zastavice pružaju dodatne opcije 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, što daje povećana sigurnost. Možete li koristiti ssh za enkripciju? mrežne veze između klijenata i poslužitelja baze podataka. U svakom slučaju vrlo je teško pratiti i izvući informacije iz mrežnog prometa.

2.3 Pohranjivanje šifriranih 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, pohranjeni osjetljivi podaci mogu se dohvatiti i koristiti, osim ako su informacije zaštićene u samoj bazi podataka. Šifriranje je u ovom slučaju vrlo dobra tehnika, ali trenutno je podržava vrlo malo sustava za upravljanje bazom podataka.

Najviše jednostavan način u ovom slučaju, stvorite vlastitu vlastiti sustavšifriranje, a zatim ga upotrijebite u PHP skriptama. PHP olakšava ovaj pristup posebnim proširenjima kao što su Mcrypt i Mhash koji pokrivaju širok raspon algoritama šifriranja. Program šifrira pohranjene podatke i dekriptira primljene podatke. Za Detaljan opis Pogledajte poveznice za sheme šifriranja.

U slučaju skrivenih podataka, gdje nije potreban njihov izvorni oblik (npr. 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

// pohranjuje hash lozinke

$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 "Dobrodošli $username!";

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

2.4 SQL injekcija

Mnogi programeri web aplikacija smatraju SQL upite bezvrijednim, nesvjesni da bi ih mogao upotrijebiti napadač. To znači da se SQL upiti mogu koristiti za zaobilaženje sustava sigurnosti, provjere autentičnosti i autorizacije, a ponekad se također mogu koristiti za dobivanje pristupa naredbama razine. operacijski sustav.

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

Uz nedovoljnu provjeru valjanosti ulaznih podataka i veze s bazom podataka kao superkorisnik, napadač može kreirati novog superkorisnika u bazi podataka.

Primjer: Paginirajte rezultat upita i...stvorite superkorisnike (PostgreSQL i MySQL)

$pomak = argv; // pažnja! nema provjere podataka!

// u PostgreSQL-u

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

$rezultat = mysql_upit($upit);

Korisnici obično koriste gumbe "sljedeće" i "prethodno", gdje je $offset ugrađen u URL. Program $offset smatra brojem. 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 praksa je da SQL prevoditelj zanemari ostatak upita razvojnog programera označavajući početak SQL komentara s --.

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

Primjer: popis č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 upita može se kombinirati s drugim SELECT upit koji će ispisati sve lozinke:

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

Ako je takav upit (koristeći " i --) dan u jednoj od varijabli koje koristi $query, tada će napad uspjeti.

SQL "UPDATE" upiti također se mogu koristiti za napad na bazu podataka. Ovi zahtjevi su također podložni opasnosti "rezanja" i dodavanja novih zahtjeva. Ali ovdje napadač radi s naredbom SET. U ovom slučaju, potrebno je znati neke informacije o strukturi baze podataka kako bi se uspješno modificirao upit. Takve se informacije mogu dobiti proučavanjem imena varijabilnih oblika ili jednostavno odabirom. Uostalom, nema mnogo naziva za polja za korisnike i zaporke.

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 lozinke administratora 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 korisnički podaci. Ako je ova aplikacija bila pokrenuta kao sa i usluga MSSQLSERVER ima dovoljna prava, napadač će imati račun za pristup ovom stroju.

Neki od gornjih primjera vezani su za određeni poslužitelj baze podataka. Ali to uopće ne znači da je takav napad nemoguć na drugi softver. Vaš poslužitelj baze podataka također će biti ranjiv na nepredviđene napade na ovaj ili onaj način.

2.5 Tehnika zaštite

Većina primjera pokazuje da za napad napadač mora imati neke informacije. Tako je, ali nikad se ne zna unaprijed kojim će putem ova informacija otići. Ako se to dogodi, baza podataka postaje nesigurna. Ako koristite slobodno distribuirani paket za upravljanje bazom podataka koji pripada nekom sustavu za upravljanje sadržajem ili forumu, napadač može lako dobiti kopiju ovog dijela vašeg programa. 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 i ako je 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 privilegijama.

Provjerite podudara li se unos s traženim tipom podataka. PHP uključuje velik broj funkcija provjere, od najjednostavnijih odjeljaka "Funkcije za upravljanje varijablama" i "Funkcije za upravljanje tipovima znakova", (na primjer is_numeric() i ctype_digit() redom) do uobičajenih Perl izrazi ("Regularni izrazi, kompatibilan s Perlom").

Ako program očekuje broj, provjerite podatke pomoću is_numeric(), ili samo promijenite tip pomoću settype(), ili čak upotrijebite numerički prikaz koji daje sprintf().

Primjer: Sigurnije označavanje stranica

settype($offset, "cijeli broj");

$query = "SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET $offset;";

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

$query = sprintf("SELECT id, name FROM products ORDER BY name LIMIT 20 OFFSET %d;",

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

Nikakve informacije o strukturi baze podataka ne mogu se prikazati ni na koji način.

Možete koristiti pohranjene procedure i unaprijed 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. Zapisivanje neće spriječiti ubacivanje, 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 ga je više, to bolje.

Zaključak

Do 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 osigurati 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 obradite, to će potencijalnom napadaču biti teže pristupiti bazi podataka ili je oštetiti. Dobar dizajn baze podataka i softverske aplikacije pomoći da se nosite sa svojim strahovima.

Prvi korak uvijek je stvaranje baze podataka, osim ako ne želite koristiti unaprijed izgrađenu bazu podataka koju je osigurala 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 smiju povezivati ​​s bazom podataka pomoću vlasničkog ili superkorisničkog računa, inače će moći mijenjati strukturu tablica (primjerice, brisati 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ča se dodijeliti samo najnužnije privilegije, a trebali biste izbjegavati situacije u kojima isti korisnik može komunicirati s bazom podataka na više načina. Morate shvatiti da ako napadač može upotrijebiti bilo koji račun vašoj bazi podataka, moći će 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 također možete koristiti značajke koje pruža baza podataka: okidače, prikaze, pravila. Ako sustav raste, trebat će vam nove veze s bazom podataka, a logika rada morat će se duplicirati za svako novo pristupno sučelje. Na temelju prethodno navedenog, okidači se mogu koristiti za transparentnu i automatsku obradu zapisa, što je često potrebno kod otklanjanja pogrešaka u aplikacijama ili kod praćenja povrata 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(npr. /etc/ ili .ini datoteke), dobro poznata područja za pohranu (/home/, Moji dokumenti), 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 administratori baze podataka poduzeća ne mogu uvijek posvetiti vrijeme koje im je potrebno sigurnosti, neke tvrtke poduzimaju proaktivnije korake. Oslobađaju te zaposlenike njihovih uobičajenih dužnosti i uključuju ih u IT sigurnosni tim.

Uspostavom takve pozicije rješavaju se dva problema odjednom: stručnjaci za informatičku sigurnost koji nemaju previše znanja u području baza podataka mogu koristiti pomoć profesionalaca, a administratori baza podataka dobivaju priliku usmjeriti svoje aktivnosti na pitanja informacijske sigurnosti i dobiti potrebnu obuku kako bi se osigurala sigurnost korporativnih baza podataka.

Popis korištenih izvora

1. Boychenko I. A. Dizajniranje 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]: per. s engleskog. / H. Bori. - St. Petersburg: BHV - Petersburg, 2012. - 1104 str.

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

4. Goncharov A. Yu. Access 2007. Priručnik s primjerima [Tekst] / A. Yu. Goncharov. - M.: KUDITS - PRESS, 2011. - 296s.

5. Datum K. Uvod u sustave baza podataka [Tekst] / K. Datum 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. - 476s.

8. Motev, A. A. Lekcije iz mog SQL-a. Priručnik za samoobrazovanje [Tekst] / A. A. Motev. - St. Petersburg: BHV - Petersburg, 2013. - 208s.

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

10. Promakhina I. M. Mrežna DBMS (PC) sučelja s jezicima visoke razine [Tekst] / I. M. Promakhina - M.: CC RAS, 2011.- 874p.

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

12. Frost, R. Baze podataka. Dizajn i razvoj [Tekst]: per. s engleskog. / R. Frost, D. Day, K. Van Slyk, A. Yu. Kukharenko. - 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

Domaćin 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štenja, zaraze virusima) i zakonsko uređenje sigurnosti na primjeru Ms SQL DBMS.

    seminarski rad, 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. Pristupi dizajnu projektni zadatak. Rad s tablicama.

    prezentacija, dodano 12.11.2010

    Obrasci dostavljenih informacija. Glavni tipovi korištenog podatkovnog modela. Razine informacijski procesi. Pretraživanje informacija i pretraživanje podataka. Mrežna pohrana. Problemi razvoja i održavanja skladišta podataka. Tehnologije obrade podataka.

    predavanje, dodano 19.08.2013

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

    seminarski rad, dodan 06.02.2016

    Osnovne vrste baza podataka. Sustav za upravljanje bazom podataka. Analiza aktivnosti i informacija koje se obrađuju u poliklinici. Sastav tablica u bazi podataka i njihov odnos. Način popunjavanja baze podataka informacijama. Algoritam za izradu baze podataka.

    seminarski rad, dodan 17.12.2014

    Evolucija koncepata baza podataka. Zahtjevi koje organizacija baze podataka mora zadovoljiti. Modeli prikaza podataka. SQL jezik poput 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 baze podataka. Sustavi za upravljanje bazama podataka. Faze, pristupi projektiranju baze podataka. Izrada baze podataka koja će automatizirati vođenje dokumentacije potrebne za rad Škole za djecu i mladež.

    seminarski rad, 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. Razlika između razina prikaza podataka.

    test, dodan 07.07.2015

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

5.1. Sigurnosne metode

Moderni DBMS podržava jedan od dva široko prihvaćena pristupa pitanju sigurnosti podataka, naime selektivni pristup ili obvezni pristup. U oba pristupa, podatkovna jedinica ili "podatkovni objekt" za koji se kreira sigurnosni sustav može biti ili cijela baza podataka ili bilo koji skup relacija, ili neka podatkovna vrijednost za dati atribut unutar neke torke u određenoj relaciji. 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 obvezne kontrole, naprotiv, svakom objektu podataka dodjeljuje se određena razina klasifikacije, a svaki korisnik ima određenu razinu dopuštenja. Stoga 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 koje se sheme koriste - selektivne ili obvezne, sve odluke o prijemu korisnika za obavljanje određenih poslova donose se na strateškoj, a ne tehničkoj razini. Stoga su izvan dosega samog DBMS-a, a sve što DBMS može učiniti u takvoj situaciji je samo provesti u djelo već donesene odluke. Na temelju toga može se uočiti sljedeće:

Prvo. rezultate strateške odluke moraju biti poznati sustavu (tj. temeljeni na zahtjevima specificiranim korištenjem nekog odgovarajućeg 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 također naziva podsustav ovlaštenja.

Treći. Kako bi se otkrilo 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, ime ili položaj), već i lozinku (kako bi potvrdio svoja prava na prethodno deklarirane identifikacijske podatke). Općenito se pretpostavlja da je lozinka poznata samo sustavu i nekim osobama s posebnim pravima.



U vezi zadnja točka vrijedi napomenuti da različiti korisnici mogu imati isti identifikator neke grupe. Tako se u sustavu mogu podržati grupe korisnika i omogućiti ista prava pristupa za korisnike jedne grupe, npr. za sve osobe iz računovodstva. Osim toga, operacije dodavanja individualni korisnici skupini ili njihovo uklanjanje iz nje može se izvršiti neovisno o operaciji postavljanja privilegija za ovu grupu. Imajte na umu da su podaci o članstvu u grupi također pohranjeni u imenik sustava(ili možda baza 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 kojima je klasa D najmanje sigurna, klasa C sigurnija od klase D i tako dalje. Klasa D pruža minimalnu zaštitu, klasa C je selektivna, klasa B je obvezna, a klasa A je dokazana zaštita.

Selektivna obrana. 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, revizije i izolacije resursa.

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

Klasa B1 zahtijeva "označenu sigurnost" (što znači da svaki podatkovni objekt mora sadržavati oznaku o svojoj razini tajnosti, na primjer: tajno, povjerljivo itd.), kao i neformalnu poruku o trenutnoj sigurnosnoj politici.

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

Klasa B3 zahtijeva dodatnu podršku za reviziju i oporavak podataka, kao i imenovanje administratora sigurnosnog načina rada.

Dokazana zaštita. Klasa A je najsigurnija i, prema njenim zahtjevima, potreban je matematički dokaz da je određena sigurnosna metoda kompatibilna i primjerena danoj sigurnosnoj strategiji.

Dok neki komercijalni DBMS-ovi pružaju obveznu 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 takvog DBMS-a temelji se na tri komponente:

1. Korisnici. DBMS obavlja bilo koju radnju s bazom podataka u ime nekog 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 ID-om. Dakle, uz pomoć identifikatora i lozinke, korisnik se identificira i autentificira. Većina komercijalnih DBMS-ova omogućuje organiziranje korisnika s istim privilegijama u grupe, što pojednostavljuje proces administracije.

2. DB objekti. Prema standardu SQL2, osigurani objekti u bazi podataka su tablice, pogledi, domene i korisnik definiran skupovi znakova. Većina komercijalnih DBMS-ova proširuje popis objekata dodavanjem pohranjenih procedura i drugih objekata na njega.

3. Privilegije. Privilegije pokazuju skup akcija 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, tipičnu, na primjer, za vladine ili vojne organizacije. Kao što je već navedeno, glavna ideja je da svaki podatkovni objekt ima neku razinu klasifikacije, na primjer: tajno, strogo povjerljivo, ograničeno itd., a svaki korisnik ima razinu dopuštenja s istim stupnjevima 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 odobrenja jednaka razini klasifikacije objekta.

Pravilo 1 je prilično očito, dok je Pravilu 2 potrebno dodatno pojašnjenje. Prije svega, treba napomenuti da se na drugi način drugo pravilo može formulirati na sljedeći način: svaka informacija koju zabilježi neki korisnik automatski dobiva razinu jednaku razini klasifikacije tog korisnika. Takvo je pravilo potrebno, primjerice, kako bi se spriječilo da korisnik s "tajnom" sigurnosnom dozvolom zapisuje tajne podatke u datoteku niže razine tajnosti, čime se krši cijeli sustav tajnosti.

U U zadnje vrijeme Obvezne metode kontrole pristupa postale su raširene. Zahtjevi za ovu kontrolu pristupa navedeni su u dva dokumenta koja se neformalno nazivaju Narančasta knjiga i Knjiga boje 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 ilegalni korisnik pokušava ilegalno provaliti u bazu podataka koristeći uobičajena sredstva pristupa dostupna u sustavu. Sada bismo trebali razmotriti slučaj kada takav korisnik pokušava prodrijeti u bazu podataka zaobilazeći sustav, tj. fizičko premještanje dijela baze podataka ili spajanje na komunikacijski kanal. Najviše 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 ovaj algoritam je otvoreni tekst i ključ za šifriranje, a izlaz je šifrirani oblik otvorenog teksta, koji se naziva šifrirani tekst. Ako se pojedinosti algoritma za šifriranje mogu javno objaviti ili barem ne držati u tajnosti, onda se ključ za šifriranje nužno drži 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 nema neranjivih sigurnosnih sustava, budući da će uporni potencijalni uljez 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 dovodi do sumnje da je došlo do 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 pomoći, barem, da se otkrije uljez.

Za održavanje revizijskog traga obično se koristi posebna datoteka u koju sustav automatski bilježi sve operacije koje izvode korisnici tijekom rada s redovnom bazom podataka. Tipični unos u datoteci 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 atribute uključene u izvođenje operacije;

6. stare vrijednosti;

7. nove vrijednosti.

Kao što je ranije spomenuto, čak i izjava o činjenici da je nadzor podržan u određenom sustavu u nekim je slučajevima vrlo bitna za sprječavanje neovlaštenog ulaska u sustav.

5.6. Podrška za sigurnosne mjere u SQL jeziku

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 mehanizam pregleda, koji se (kao što je gore spomenuto) može koristiti za skrivanje vrlo osjetljivih podataka od neovlaštenih korisnika. Drugi se zove podsustav dopuštenja i daje nekim korisnicima pravo da selektivno i dinamički dodjeljuju različita dopuštenja drugim korisnicima, kao i oduzimanje takvih dopuštenja ako je potrebno.

5.7. GRANT i REVOKE direktive

Mehanizam SQL reprezentacije dopušta različiti putevi podijeliti bazu podataka na dijelove na način da su neki podaci skriveni od korisnika koji im nemaju pravo pristupa. Međutim, ovaj način se ne postavlja pomoću parametara operacija 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 vam 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 stranog ključa.

Osim gore navedenih, dodana je i privilegija USAGE - za ostale objekte baze podataka.

Osim toga, većina komercijalnih DBMS-ova podržava dodatne privilegije, kao što su:

1. ALTER - omogućuje izmjenu strukture tablica (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. Slijedi sintaksa naredbe GRANT:

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

ON stol za održavanje (korisnik | JAVNO)

Privilegije za umetanje (INSERT) i ažuriranje (UPDATE) (ali ne i povlastice odabira SELECT, što je vrlo čudno) mogu se postaviti na posebno definirane stupce.

Ako je navedena direktiva WITH GRANT OPTION, to znači da navedeni korisnici imaju posebna dopuštenja za dani objekt - pravo davanja dopuštenja. To zauzvrat znači da mogu osnažiti druge korisnike da rade s ovim objektom.

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

ODOBRITI ODABIR, AŽURIRATI

ON Studenti TO Ivanov S GRANT OPCIJOM

Ako korisnik A dodijeli neka dopuštenja drugom korisniku B, tada on može naknadno 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, ... FROM (korisnik | JAVNO), ... (CASCADE | RESTRICT)

Budući da bi korisnik kojem se oduzima privilegija istu mogao dodijeliti drugom korisniku (ako je imao pravo davanja privilegija), može doći do situacije napuštenih privilegija. Glavna svrha opcija RESTRICT i CASCADE je spriječiti situacije odricanja privilegija. Postavljanje opcije RESTRICT sprječava izvođenje operacije opoziva povlastice ako rezultira odricanjem povlastice. Opcija CASCADE određuje sekvencijalno opozivanje svih povlastica izvedenih iz ove.

Na primjer: korisniku Ivanov uklonite dopuštenje 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 od svih korisnika.

5.8. Zastupstva i sigurnost

Stvaranjem prikaza i davanjem dopuštenja korisnicima da pristupe njemu, a ne izvornoj tablici, možete ograničiti pristup korisnika samo na navedene stupce ili zapise. Dakle, reprezentacije dopuštaju potpuna kontrola o tome koji su podaci dostupni određenom korisniku.

Zaključak

Kako bi se rizik od gubitka 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 u kratkoročno - industrijsko rješenje za selektivno šifriranje i korištenje GOST algoritama za šifriranje baza odabranih segmenata.

Za cjelovito rješenje problemi zaštite podataka sigurnosni administrator trebao bi moći nadzirati radnje korisnika, uključujući one s administratorskim pravima. Budući da sustav redovite revizije nema dovoljno zaštite, potrebno je neovisni sustav, koji štiti korporativnu mrežu ne samo izvana, već i iznutra. U budućnosti bi se trebale pojaviti i standardne metode za sveobuhvatno rješenje problema zaštite baza 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 područjima zaštite podataka pohranjenih ili obrađenih u sustavima za upravljanje bazama podataka (DBMS). Opisuje kako zaštititi povjerljivost i integritet informacija pomoću alata koji su jednostavni za korištenje ugrađeni u DBMS.

  • Informacijske tehnologije interakcije u općinskoj upravi
  • O nekim svojstvima proširenih struktura na razdiobama bimetrijskih 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 vrlo osjetljive ili povjerljive informacije mogu biti pohranjene u bazi podataka, njihovu 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 svjetske mreže. phpMyAdmin podržava širok raspon MySQL operacija. Najčešće korištene operacije podržane su s 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 razvijenog projekta provodi se na nekoliko razina. Na prvoj razini zaštitu informacija provodi sam phpMyAdmin sustav, počevši od ulaska 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 odvojeno bazama podataka, tablicama baze podataka, zapisima određenih tablica, pa čak i vrijednostima polja tablice ili zapisa. Treba 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 identič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 šifriranja AES podataka koriste 128-bitni enkripcijski ključ, tj. šifriranje s AES 192 i 256-bitnim ključevima nije implementirano 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 A koji sadrži nabrojane ključne vrijednosti. Međutim, te su funkcije onemogućene prema zadanim postavkama; da biste ih koristili, morate omogućiti podršku za SSL protokol u konfiguraciji DBMS-a.

Funkcija ENCRYPT() može se koristiti samo na operativnim sustavima Unix obitelji jer šifrira podatke s sistemski poziv kripto(). Što se tiče korištenih hash funkcija, MySQL dokumentacija upozorava da su temeljni algoritmi hakirani (ovo je posebno opisano u , stoga ih treba koristiti s oprezom. Međutim, MySQL još ne nudi robusnije hashiranje funkcija umjesto postojećih. kriptografske funkcije također su prilično jednostavni za korištenje. Na primjer, sljedeći upit umeće u tablicu tablice vrijednost “text” šifriranu ključem “password”: INSERT INTO table VALUES (1, AES_ENCRYPT("text", "password")); Imajte na umu da format polja u kojem je zapisana šifrirana vrijednost mora biti u skladu s ograničenjima koja nameće korišteni kripto algoritam - u ovaj slučaj, mora biti binarni (na primjer, tipa VARBINARY) i pretpostavljati poravnanje prema 128-bitnoj veličini bloka AES algoritma.

Sustav zaštite baze podataka igra važnu ulogu u automatizaciji kontrole nad radnjama korisnika koji rade s bazama podataka, štiteći od vanjskih i unutarnje prijetnje te poboljšanje pouzdanosti funkcioniranja baza podataka.

Bibliografija

  1. Melnikov, V.P. Informacijska sigurnost i zaštita informacija. / V.P. Melnikov,
  2. S.A. Klejmenov, A.M. Petrakov // 3. izdanje, str. - 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 priprema 080500 Poslovna informatika [ Elektronički izvor] : profil obuke Informacijski sustavi u poslovanju: kvalifikacija (stupanj) diplomiranog prvostupnika / Baškirsko državno agrarno sveučilište, [Odjel. informatika i informacijske tehnologije; komp. A. R. Basirov]. - Ufa: [b. i.], 2013. - 16 str. - B. c.
  5. Web stranica PHP web aplikacija"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čki DBMS. U tom smislu, trenutno se velika pozornost posvećuje problemima osiguranja informacijske sigurnosti, koja određuje stupanj sigurnosti organizacije, institucije u cjelini.

Informacijska sigurnost shvaća se kao zaštita informacija od slučajnih i namjernih učinaka prirodne ili umjetne prirode, prepuna štete za vlasnike ili korisnike informacija.

Za zaštitu podataka u bazama podataka najvažniji aspekti informacijske sigurnosti (europski kriteriji):

uvjeti pristupa (mogućnost primanja 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šavanje različite razine: zakonodavni, upravni, postupovni i programsko-tehnički. Trenutačno je problem razvoja zakonodavni okvir pružanje sigurna uporaba informacijski sustavi.

Glavne softverske i hardverske mjere čijom će se primjenom riješiti neki od navedenih problema su:

autentifikacija i identifikacija korisnika;

kontrola pristupa bazi podataka;

održavanje integriteta podataka;

evidentiranje i revizija;

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

odraz prijetnji specifičnih za DBMS.

Autentifikacija korisnika aplikacija baze podataka najčešće se provodi ili putem odgovarajućih mehanizama operacijskog sustava, ili putem određene SQL naredbe: korisnik se identificira imenom, a kao sredstvo autentifikacije služi lozinka. Takav sustav stvara značajne poteškoće za ponovljene provjere i isključuje takve provjere prije svake transakcije.

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

proizvoljna kontrola pristupa;

osiguravanje ponovne uporabe objekata;

korištenje sigurnosnih naljepnica;

prisilna kontrola pristupa.

Proizvoljna kontrola pristupa je metoda ograničavanja pristupa objektima na temelju identiteta subjekta ili grupa kojima subjekt pripada. Ova tehnologija omogućuje vlasniku objekta (pogleda, poslužitelja baze podataka, procedure, tablice) prijenos privilegija na drugu osobu prema vlastitom nahođenju. Ta osoba u ovoj situaciji može biti subjekt korisnika, grupa korisnika.

Glavna prednost proizvoljne kontrole pristupa je fleksibilnost. Međutim, povezane karakteristike kao što su raspršeno upravljanje i složenost centralizirane kontrole stvaraju mnoge probleme za sigurnost podataka.

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

Sigurnosna oznaka sastoji se od dva dijela: sigurnosne razine i popisa kategorija. Prva komponenta ovisi o primjeni i in standardna verzija može se pojaviti kao raspon 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 sigurnosnih oznaka ne poništava, već nadopunjuje proizvoljnu kontrolu pristupa: korisnici i dalje mogu raditi s tablicama samo unutar svojih privilegija, primati samo dio podataka. Glavni problem kod korištenja sigurnosnih oznaka je održavanje njihove cjelovitosti. To znači da svi objekti i subjekti moraju biti označeni, a oznake moraju ostati važeće za sve operacije nad podacima.

Nametnuta 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 oznakom subjekta. Ovaj način kontrole pristupa naziva se prisilnim, jer ne ovisi o volji subjekata. Pronašao je primjenu u DBMS-u, kojeg karakteriziraju povećane sigurnosne mjere.

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, ali se može postaviti u procesu izrade tablice. Ograničenja tablice mogu se odnositi na grupu stupaca, 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 naknadnih operacija nad podacima. Pravila vam omogućuju da izvršite određene procedure kada se dogode određene promjene baze podataka. 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 stavki 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.

Zapisivanje 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 osiguravanja komunikacije između klijenta i poslužitelja u informacijski sustavi nije specifičan za DBMS. Kako bi se osigurala zaštita informacija, dodjeljuje se sigurnosna služba čije funkcije uključuju autentifikaciju, enkripciju i autorizaciju.

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