Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 10

Antonia Ćuković, Karlo Uskok

Sigurnost baza podataka: Prevencija i rješavanje


sigurnosnih prijetnji

GIMNAZIJA VLADIMIRA NAZORA ZADAR

SEMINARSKI RAD

Zadar, veljača 2024.

3
Sadrža

j
Uvod...........................................................................................................................................3

Razrada......................................................................................................................................3

Autentifikacija i autorizacija podataka....................................................................................3

Prevencija SQL ”injection” napada.........................................................................................3

Enkripcija................................................................................................................................3

Revizijski tragovi i nadzor......................................................................................................3

Vatrozidi i mrežna zaštita baza podataka................................................................................3

Sigurnosno kopiranje i oporavak.............................................................................................3

Maskiranje i redakcija podataka..............................................................................................3

Zaključak...................................................................................................................................3

Literatura...................................................................................................................................3

4
Uvod
Baze podataka su najvažnija sastavnica svih organizacija, te njihov gubitak, krađa ili iscurenje
nanose iznimnu štetu na korisnike i tvrtke. Prema definiciji, baza je skup podataka
spremljenih u tablice koje se mogu oblikovati, pohraniti, pregledati te su povezane logičkim
vezama i dodatno opisane identitetima. Stoga je velike važnosti njihova zaštita koju označuju
preventivne mjere za održavanje njihove sigurnosti, dostupnosti i kvalitete, te zabrane
pristupa bazama od strane neovlaštenih korisnika. Zabrana pristupa je laka u jednostavnim
bazama koje sadrže intimne podatke jer sama mogućnost da će netko pokušati provaliti u nju
je manja, ali kod intimnijih baza koje sadrže osobne podatke situacija je drugačija. Zaštitom
baza podataka se bave zaposlenici tvrtke i organizacije za njihovu regulaciju kao što je
General Data Protection Regulation (GDPR)., koja djeluje na prostoru Europske Unije, prema
kojima se sustavi zaštite moraju ravnati.

Razrada

Autentifikacija i autorizacija podataka


Autentifikacija je proces provjeravanja korisnikova identiteta pri svakoj prijavi u sustav,
autorizacija je skup normi o tome tko ima privilegiju pristup. Može biti u obliku pina ili već
prethodno određenih ključeva s tim da je poželjna izmjena pri svakom upitu. Prije svega je
potrebno kreirati snažnu zaporku koja će sadržavati: velika i mala slova, brojeve, posebne
znakove poput (-,.) ukoliko to sustav dozvoljava, te nešto nepovezano s našim privatnom
životom. Više faktorska autentifikacija (MFA) traži od korisnika da potvrdi više faktora koji
su povezani s određenim računom, na primjer pin,. broj, verifikaciju na e-mailu. Ovakva vrsta
daje sigurnost od ulaska u privatne račune osoblja koje rade na bazi. Biometrija je jedan od

5
poznatijih načina autentifikacije jer ju većina koristi na pametnim telefonima kao način
otključavanja. Ona analizira pojedini dio tijela kao što je otisak prsta ili sljepoočnica da bi
dobili pristup u naše podatke. Također je poželjno imati ograničeni broj pokušaja prijave dok
se ne kontaktira glavno postrojenje. Ograničavanje pristupa IT osoblju je krucijalno za
sigurno radno okruženje, a ono se dodjeljuje prema principu najmanjih privilegija (PoLP), uz
pomoć Centraliziranog upravljanja identitetom (IAM).

Prevencija SQL ”injection” napada


SQL Injection vrsta je napada baze podataka čime korisnik manipulira SQL upitima putem
unosnih polja u aplikacijama, te predstavlja ozbiljnu prijetnju jer se jednim unosom može
pristupiti čitava baza. Raznolika zaštita se postiže i pomoću specifičnih SQL Application
Programming Interface (API): skupina alata kojim se programski koristi i uređuje DBMS
(Database Management System). Postoje različite vrste API-a kao što su JDBC, ADO.NET
itd. te nude raznolike metode kodiranja kojima se podaci mogu dodatno zaštititi. Koriste se
parametrima i SSL/TLS protokolima za enkodiranje podataka. Parametriziranim izjavama -
odnosno mjestima na kojima se očekuje određena vrsta koda, označenim s “@” ili “?” - se
enkodiraju unosi te se potvrđuju kako se ne bi interpretirali kao dio programa. Metodom
pripremljenih procedura se komandom “PROCEDURE” i “EXEC” sprema već pripremljeni i
testirani kod koji se može kasnije koristiti i ponavljati, time smanjujući rizik za napade. Web
Application Firewall-om se postiže još veća filtracija zlonamjernih radnji nego kod klasičnog
Firewalla, jer su specifično osmišljeni za suzbijanje SQL i ostalih mrežnih napada. Također se
koristi analiziranim i naučenim uzorcima napada te generira detaljan izvještaj o izvedenim
radnjama kao što su detektirane prijetnje i HTTP zahtjevi – time omogućavajući brzu i
efikasnu zaštitu podataka. Nadogradnjom ili migracijom DBMS-a na novije verzije dostupne
su najbolje metode organizacije i zaštite podataka. Uz sve navedeno, iznimno je bitno i
neprestano testiranje te provjeravanje koda putem “etičkog hakiranja” (white-hat hakiranje)
kojim se može na ne-invazivan način provjeriti njihova sigurnost – zatim ažurirati kod u
skladu s najboljim metodama i tehnikama. Velike je važnosti i stvaranje sigurnosnih kopija
(često komandama BACKUP/BACKUP LOG) kojim se spriječava potpuno gubljenje
podataka.

6
Enkripcija
Enkripcija se sastoji od plaintexta, chipertexta te ključeva. Najjednostavnije objašnjeno: naš
uneseni tekst koji je najčešće lozinka se dekriptira, odnosno svaka znamenka u njemu se
promijeni s nasumično odabranom znamenkom s tipkovnice. Takav oblik se naziva
“chipertext”. On se ne može dešifrirati bez ključeva i vratit u originalni ”sirovi” oblik -
“plaintext”. Ključevi mogu biti simetrični (isti ključevi se koriste za enkripciju i deskripciju)
ili asimetrični gdje postoje dvije vrste ključeva. Ti ključevi su sačuvani u takozvanom “key
vault”-u (trezoru ključeva), koji se štite maskiranjem podataka. U pojedinim slučajevima se
koristi “hashiranje” (#). Hashiranje je naziv za protokol koji se koristi kako bi prebacio bilo
koji dani podatak u nasumični oblik, a ukoliko hashira ključeve onda je riječ o duploj
enkripciji koja se koristi u visokim tehničkim prostorima s opipljivim podacima, a važno je
naglasiti da to nije povratna. Navedeni postupci se koriste i u HTML-u s SSL i TLS
protokolima za sigurnije pretraživanje i u porukama (end to end enkripcija) u kojoj samo
primatelj i pošiljatelj vide poruke koje su bila kriptirane tokom procesa slanja.

Revizijski tragovi i nadzor


Metoda se odnosi na praćenje svih radnji izvršenih na bazi, takav ispis mora biti proveden u
detaljima (kada je pristup izvršena, tko je pristupio, što je promijenjeno). Ako tvrtka s velikim
brojem zaposlenika ima ovakav sustav samom provedbom u popis svog osoblja može se ući u
trag anomalijama. Ukoliko se uoči pristup nekoga tko nije zaposlen ili pristupa s “treće
strane”, nadzorski program će to prepoznati te obavijestiti sigurnosni odjel da pokrenu mjere
sigurnosti i smanjuju štetu od curenja informacija. Ovakav sustav daje zaposlenicima

7
određenu razinu odgovornosti jer se u svakom trenutku količina obavljenog posla na projektu
i pojedinačni napredak sudionika može lako utjecati na pozicijske privilegije. Sumnjive radije
će biti lako prepoznate i predane prikladnim institucijama. Automatizacija ovakvih sustava je
poželjna te redovito održavanje istih. Mogu biti korišteni i kao statistički analizatori u
razdoblju rada koji tvrtki nude brzu i laku predaju godišnjeg rada, koji inače zahtijevaju
dodatno osoblje. Ovakav oblik revizije se često koristi i u forenzici tokom analize podataka.

Vatrozidi i mrežna zaštita baza podataka


Vatrozid je sustav koji kontrolira radnje na mreži povezanoj s internetom. Sprječava pristup
zlonamjernim programima te samom korisniku ograničava slobodu preuzimanja sadržaja i
interakciji s web stranicama. Kod baze podataka vatrozid odabire kvalitetne ili zlonamjerne
pakete te ih uklanja, to jest propušta prema njihovim karakteristikama. Smatra se jednom od
najznačajnijih komponenti zaštite, ne samo u sustavu baza podataka već i općenitom radu
korisnika na širokom spektru područja. To može biti svakodnevni posjet internet pregledniku.
Na banalnom primjeru traženja pdf. dokumenta koji sadrži nama bitne podatke, ako je sadržaj
u njemu opasan za softver ili lažno predstavljen bit ćemo zaštićeni od napada. Bitno je
naglasiti da neki programi ne mogu biti prepoznati od strane vatrozida te na nas neće biti u
mogućnosti zaštiti. ˝Težina˝ zlonamjernog program može biti prevelika - kada dođemo u
kontakti s takvim programom u velikom broju slučajeva šteta će biti drastična i podaci će biti
izgubljeni. Danas su nam poznati brojni vatrozidi: Proxy (filtrira podatke prije nego što dođu
do korisnika te njemu prikazuje samo sigurne sadržaje), s praćenjem stanja (kontrolira mrežu
na koju smo spojeni i potencijalne rizike upućene na bazu podataka), NGFW (instaliraju se na
hardver ili softver te blokiraju napade na aplikacije, ulaze i protokole), WAF (filtriranje,
praćenje i blokiranje zlonamjernog HTTP prometa), FWaaS (filtracija cloud prometa). Važno
je naglasiti da svjesnost korisnika i profesionalnog osoblja o opasnostima je neophodna pri
sigurnog korištenja baze podataka.

Sigurnosno kopiranje i oporavak


Korisnici kopiraju većinu podataka s uređaja na iCloud, disk ili periferijalne memorije.
Sigurnosno kopiranje fotografije podataka o korisničkim računima je jedan od najčešćih
radnji uz brojeve spremljene na SIM karticu i Google ili IOS račun. Baze podataka koje
sadrže iznimnu količinu složene memorije zahtjeva kopiranje u nekoliko koraka: testiranje na
moguće greške u radu programa, konstrukcija sigurnog i kompatibilnog područja za pohranu,

8
postavljanje automatske sinkronizacije, redovito ažuriranje već spremljene baze. Ukoliko je
sigurnosno spremanje izvršeno prema pravilima administracije, dohvaćanje podataka i
oporavak se izvršava, u pravilu, bez komplikacija. Podaci se mogu nalaziti u arhivama ili na
udaljenim serverima. Tokom transakcije sa servera je bitno provesti protokole za 100%
izbjegavanje greški. Značaj kod ovih procesa je mogućnost korištenja baze za više različitih
područja bez manipulacije na glavnom kodu. Naravno slanje originala korisnicima bez
mogućnosti očuvanja podataka bi bilo pogubno za mnoge korporacije s velikim brojem
osoblja jer bi svaka promjena značila moguće oštećenje. Kada imamo više kopija dobivamo
sigurnost ukoliko se jedna od njuh uništi. Redovita sinkronizacija podatak omogućuje
očuvanje izmjena ukoliko hardver uređaja na kojem se radi ostane bez napajanja ili bude u
kvaru. Tokom složenih projekata koji imaju određen datum prezentacije kopiranje je
neizbježno, velika opterećenja uređaja i sudionika u projektu lako dovodi do podbacivanja.
Sigurnosne kopije i arhive zahtijevaju veliku količinu memorije na uređajima, zato velike
korporacije komprimiraju baze i spremaju ih na osigurane servere s reduciranim pristupom.

Maskiranje i redakcija podataka


Maskiranje podataka je metoda kojom se osjetljivi podaci mijenjaju sa nevažećim ali
realističnim podacima slične strukture korištenjem specijalnih znamenaka, pseudonima ili
generiranih imena. Neke metode maskiranja su enkripcija, supstitucija ili mješanje
(“shuffling”). Na primjer: enkripcijom će svi ili većina brojeva kreditne kartice biti
zamijenjeni određenim znamenkama: XXXX-XXXX-XXXX-XXXX, dok će supstitucijom
ulica prebivališta osobe biti zamijenjeno nasumično generiranim imenima, a shufflanjem se
međusobno izmjenjuju podaci iz više zapisa korisnika. Važno je da se provodi na način da
prikriveni podaci ne izgledaju kao da proizlaze iz stvarnih izvora, te da im neautorizirani
korisnici ne mogu pristupiti. Maskiranje je korisno jer istovremeno štiti podatke od napada
krađe te se može koristiti u svrhe analize podataka i testiranje programa u ne-produkcijskim
okolinama. Sličan je proces i redakcija podataka, no redakcijom dolazi do uklanjanja
određenih djelova podataka, zbog iste svrhe zaštite. Uklonjenim podacima mogu pristupiti
administratori koji imaju njihove originalne kopije i načine za njihov pristup (“metadata”)
koji su također zaštićeni. Dvije su vrste redakcije podataka: dinamična i statična. Statičnom
redakcijom se podaci stavljaju u kopiju koja već sadrži ostale podatke i redakcijske algoritme,

9
te više služi za baze velikih količina. Dinamična redakcija se događa u stvarnom vremenu i
zahtjeva manje resursa. Iako su navedene tehnike učinkovite za zaštitu, one nisu dovoljne za
sprječavanje napada SQL injekcijom, već više služe za autentifikaciju i uređivanje dopuštenja
korisnika koji uređuju samu bazu.

Autorizacijska mehanizacija
Autorizacijska mehanizacija funckionira hijerarhijskim dijeljenjem prava te se odnosi na
zaposlenike u tvrtkama kao što je Oracle. Svaka tvrtka mora sadržavati mehanizam koji će
dijeliti pristup osoblju prema njihovom statusu zaposlenja. Svi korisnici se prvo moraju
verificirati (autentificirati) određenim identifikacijskim mjerama (lozinke, certifikati, itd.).
Autorizacija radi na principu “Role-Based Access Control (RBAC)”, odnosno kontrola
pristupa temeljena na ulogama, čime svaki korisnik ima različite razine privilegija i dozvola u
sustavu podataka, kao što su brisanje i stvaranje tablica i sl. Na primjer: tek zaposleni radnik
neće moći pristupiti istom volumenu sadržaja kao projekt menadžer. Struktura dopuštenja se
održava listama kontrola pristupa (“Access Control Lists”) u kojima je zapisano koji korisnici
ili grupe imaju dopuštenja za obavljanje određenih operacija. Administratori na najvišim
pozicijama imaju mogućnosti dodavanja ili oduzimanja određenih uloga korisnika nižih
razina. Važno je podijeliti sve tablice baze u grupe prema vrsti podataka i levelu arhitekturi
sistema. Tablice na nižim levelima koje su udaljene od glavnog algoritma bi bile dostupne
novim ili programerima niže kvalifikacije, dok je izvorna baza vidljiva malom broju ljudi.
Tokom bilo kakve izmjene prema DBMS-u je potrebno unjeti tražene podatke koje će sustav
identificirati i unjeti osobu kao trenutnog korisnika te baze te sve podatke unijeti u revizijsku
memoriju ili “audit logs”-eve koji će se moći pregledati u slučaju sabotaža na projektu.
Ovakve metode sprječavaju dijeljenje informacija o radu tvrtke te izlaganju iste napadima od
strane hakera

Zaključak
Sigurnost baze se određuje s tehničkim specifikacijama i osobljem koje radi u tvrtki te je vrlo
bitna karika za njihovo održavanje. Prvotno se odvija autentifikacijom i autorizacijom
korisnika baze koje se dodjeljuje prema principu privilegija koje će osigurati kontrolu toka
informacija u okruženju. Nadzor nad procesima koji se odvijaju u razvojnom okruženju
omogućuje jasan redoslijed svih radnji u sustavu prema kojima se može djelovati.

10
Maskiranjem i redakcijom se osjetljive informacije sakrivaju od neovlaštenih pristupa.
Prevencijom SQL napada putem raznih pomoćnih alata i sigurnosnih sustava koji provode
provjere te njihovim redovnim ažuriranjem se postiže potrebna sigurnost i fleksibilnost u
održavanju podataka. Međutim, najvažnija sastavnica zaštite podataka je sklapanje
organiziranog, sposobnog i ažurnog razvojnog tima podijeljenog prema vještinama koji će
pravodobno reagirati prije i tijekom mogućih prijetnji sustavu baza.

Literatura
What is Data Security?, Oracle, Pristupljeno 29.1.2024.
https://www.oracle.com/security/database-security/what-is-data-security/

Configuring Authentification, About Authentification, Oracle, Pristupljeno 4.2.2024.


https://docs.oracle.com/en/database/oracle/oracle-database/18/dbseg/configuring-
authentication.html#GUID-00632C9C-5C01-4C8F-A4D0-5E575502A6AE

Što je Autentifikacija Više Faktora?, Martech Zone, Pristupljeno 3.2.2024.


https://hr.martech.zone/acronym/mfa/

Što je upravljanje identitetima i pristupom (IAM)?, Microsoft Security, Pristupljeno 5.2.2024.


https://www.microsoft.com/hr-hr/security/business/security-101/what-is-identity-access-
management-iam

Hashing vs. Encryption: Definitions & Differences, Okta, Pristupljeno 5.2.2024.


https://www.okta.com/identity-101/hashing-vs-encryption/

What is a Firewall?, NordLayer, Pristupljeno 11.2.2024.


https://nordlayer.com/learn/firewall/what-is-firewall/?
gclid=CjwKCAiA_aGuBhACEiwAly57MSXn6MtfpCm1MjqIHlmEpbbbg8LrXyZgC4nspGd
DKqbLdlVd2TGDvxoCwqkQAvD_BwE

11
Introduction to Backup and Recovery, Oracle, Pristupljeno 11.2.2024.
https://docs.oracle.com/en/database/oracle/oracle-database/19/bradv/introduction-backup-
recovery.html#GUID-9997EF87-B293-44D4-92F3-DD938E79170D

Configuring Privilege and Role Authorization, Oracle, Pristupljeno 12.2.2024.


https://dl.acm.org/doi/10.1145/320473.320482

SQL Stored Procedures for SQL Server, W3Schools, Pristupljeno 9.2.2024.


https://www.w3schools.com/sql/sql_stored_procedures.asp

SQL Injection, W3Schools, Pristupljeno 9.2.2024.


https://www.w3schools.com/sql/sql_injection.asp

The Fundamentals of Data Redaction, Satori, Pristupljeno 20.2.2024.


https://satoricyber.com/data-masking/the-fundamentals-of-data-redaction/

12

You might also like