Sunteți pe pagina 1din 62

FACULTATEA DE AUTOMATICA SI

CALCULATOARE

Student: Alexandru Berbece


Grupa: 341A3
Coordonatori: Dorin Carstoiu
Paul Breniuc
SECURITY ASSESSMENT OF

11G DATABASE
Cuprins

1.De ce Oracle ?
2.De ce evaluarea securitatii ?
3.Securitatea conturilor. Definirea problemei. Utilizare
Woraauthbf
4.Integritatea fisierelor. Utilizare Tripwire
5.Concluzii finale
6.Bibliografie
7.Sesiune de intrebari
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
Larry transforma limbajul SQL intr-o baza de date relationala
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
Larry transforma limbajul SQL intr-o baza de date relationala
In 1977 ia nastere Software Development Labs
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
Larry transforma limbajul SQL intr-o baza de date relationala
In 1977 ia nastere Software Development Labs
CIA angajeaza mica intreprindere pentru a ii construi o baza
de date, proiect denumit de agentie ORACLE
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
Larry transforma limbajul SQL intr-o baza de date relationala
In 1977 ia nastere Software Development Labs
CIA angajeaza mica intreprindere pentru a ii construi o baza
de date, proiect denumit de agentie ORACLE.
Oracle a construit produse utilizand Internetul inainte de a
exista o cerere pe piata. Larry spunea in 1998:
ORACLE Corporation
Larry Ellison renunta la studii si se muta in California unde
incepe sa lucreze ca programator
IBM publica un document prezentand un nou limbaj de
programare numit SQL
Larry transforma limbajul SQL intr-o baza de date relationala.
In 1977 ia nastere Software Development Labs
CIA angajeaza mica intreprindere pentru a ii construi o baza
de date, proiect denumit de agentie ORACLE
Oracle a construit produse utilizand Internetul inainte de a
exista o cerere pe piata. Larry spunea in 1998:
Daca Internetul se adevereste a nu fi viitorul in calculatoare,
suntem prajiti. Dar daca va fi, vom fi aur curat.
ORACLE astazi

#1 in implementarea solutiilor de tip server


#1 in analiza de business
#1 in baze de date (fapt care ne intereseaza pe noi)
#1 in depozite de date (data warehouse)
#1 in baze de date integrate (embedded)
#1 in oferirea de servicii enterprise

http://www.oracle.com/us/corporate/oracle-fact-sheet-079219.pdf
De ce evaluarea securitatii ?

Larry Ellison spune despre bazele de date Oracle:

Din cunostintele mele, o baza de date Oracle nu a fost


sparta de nimeni de cateva decenii. Este atat de sigura,
incat avem plangeri despre asta. *

*http://tech.firstpost.com/news-analysis/oracles-database-secure-even-nsa-cant-hack-us-say-larry-ellison-217341.html
De ce evaluarea securitatii ?

Si totusi este chiar atat de sigura?


De ce evaluarea securitatii ?

Numarul de vulnerabilitati de-a lungul anilor:

http://www.red-database-security.com//wp/best_of_oracle_security_2015.pdf
De ce evaluarea securitatii ?

Numarul de vulnerabilitati de-a lungul anilor:

Ultimul patch de securitate: ianuarie 2017


http://www.oracle.com/technetwork/security-advisory/cpujan2017-2881727.html
Securitatea conturilor

Conturile utilizatorilor ridica cele mai mari controverse si


reprezinta unul dintre cele mai dificile aspecte ale securitatii
unei baze de date
Accesul la o baza de date si implicit la obiectele ei se
realizeaza prin intermediul conturilor utilizatorilor
Tocmai de aceea, prea multe drepturi date utilizatorilor si
parolele destul de slabe, maresc sansele de reusita ale unui
potential atacator
Succesul este garantat in momentul in care un atacator
reuseste sa sparga parola unui utilizator cu drepturi
administrative
Securitatea conturilor

Conturile utilizatorilor ridica cele mai mari controverse si


reprezinta unul dintre cele mai dificile aspecte ale securitatii
unei baze de date
Accesul la o baza de date si implicit la obiectele ei se
realizeaza prin intermediul conturilor utilizatorilor
Tocmai de aceea, prea multe drepturi date utilizatorilor si
parolele destul de slabe, maresc sansele de reusita ale unui
potential atacator
Succesul este garantat in momentul in care un atacator
reuseste sa sparga parola unui utilizator cu drepturi
administrative
Vom incerca sa parcurgem cateva aspecte legate de
securitatea conturilor utilizatorilor si respectiv
autentificare.
Definirea problemei in linii mari

Pentru a ataca o baza de date este nevoie de:

O cale directa la baza de date (aspect pe care ne


vom focusa)
Definirea problemei in linii mari

Pentru a ataca o baza de date este nevoie de:

O cale directa la baza de date (aspect pe care ne


vom focusa)

Exploatare prin atacuri de tip SQL-Injection sau


similar, Man-in-the-Middle (aspecte ceva mai
complicate, vor fi tratate in lucrarea de licenta)
Definirea problemei in linii mari

Pentru calea directa un potential atacator are nevoie fie


de:

Legatura directa la baza de date (cea mai usoara


cale de a fura informatii)
Definirea problemei in linii mari

Pentru calea directa un potential atacator are nevoie fie


de:

Legatura directa la baza de date (cea mai usoara


cale de a fura informatii)
Detalii de retea: IP/host, port, SID/Service name
Definirea problemei in linii mari

Pentru calea directa un potential atacator are nevoie fie


de:

Legatura directa la baza de date (cea mai usoara


cale de a fura informatii)
Detalii de retea: IP/host, port, SID/Service name
Username si parola
Definirea problemei in linii mari

Pentru calea directa un potential atacator are nevoie fie


de:

Legatura directa la baza de date (cea mai usoara


cale de a fura informatii)
Detalii de retea: IP/host, port, SID/Service name
Username si parola
De cele mai multe ori, se pot afla toate informatiile de
mai sus, exceptand parolele
Definirea problemei in linii mari

Pentru calea directa un potential atacator are nevoie fie


de:

Legatura directa la baza de date (cea mai usoara


cale de a fura informatii)
Detalii de retea: IP/host, port, SID/Service name
Username si parola
De cele mai multe ori, se pot afla toate informatiile de
mai sus, exceptand parolele
Dar, din nou, de cele mai multe ori, se pot ghici sau
afla si parolele!
Utilizare Woraauthbf

Dat fiind faptul ca exista numeroase metode in ziua


de astazi de a ghici o parola, ar trebui sa realizam
evaluari periodice asupra bazei noastre de date
Folosirea unui tool, gratuit sau platit, pentru a vedea
cat de usor de gasit este o parola, este cea mai buna
metoda de analiza

Daca tu poti sparge o parola, atunci sunt 100% sanse


ca altcineva sa o faca la fel. Adrian Neagu
Utilizare Woraauthbf

Baza de date 11G foloseste algoritmi hash pentru a


stoca parola criptata pe disc

DES

SHA1
Utilizare Woraauthbf

Programul scris in C# functioneaza doar pe Windows, prin urmare


vom instala Oracle pe o masina virtuala cu Windows 7 64 biti
Utilizare Woraauthbf

1. Ne vom conecta la o baza de date creata de noi numita


BDORCL si vom utiliza comanda spool pentru a trimite hash-ul
parolei intr-un fisier definit de noi
Utilizare Woraauthbf

2. Deschidem aplicatia si o rulam folosind parole_hash.txt ca


input utilizand dictionary file:
Utilizare Woraauthbf

2. Deschidem aplicatia si o rulam folosind parole_hash.txt ca


input utilizand dictionary file:

Parola gasita in mai putin de 1 secunda folosind dictionary file!


Utilizare Woraauthbf

3. Deschidem aplicatia si o rulam folosind parole_hash.txt ca


input utilizand brute force:
Utilizare Woraauthbf

3. Deschidem aplicatia si o rulam folosind parole_hash.txt ca


input utilizand brute force:

Parola gasita in mai putin de 1 secunda utilizand forta bruta!


Parola gasita, formata din 8 caractere, este: Stelica1
Concluzii finale

1. Restrangerea drepturilor administrative utilizatorilor!


(Unele dintre ele fiind default la instalarea bazei de date)
Pentru a vedea privilegiile utilizatorilor, exista scripturi SQL scrise
de catre Pete Finnigan (nu sunt purtatoate de copyright!)
www.petefinnigan.com/tools.htm
Exemple: who_has_privs.sql listarea utilizatorilor+privilegii
find_all_privs.sql ce operatii se pot realiza intr-o BD
who_can_access.sql accesul la diferite obiecte ale BD

Pe blog se gasesc mult mai multe scripturi, insa doar acestea 3


ofera suficiente informatii pentru a lua decizii importante din
punct de vedere al securitatii.
Concluzii finale

2. Evaluarea bazei de date folosind Oracle Enterprise Manager

Evaluarea se realizeaza folosind best-practice-urile Oracle. Dupa


fiecare rulare se obtin problemele de securitate cat si
recomandari generale si solutii pentru rezolvarea lor.
Concluzii finale

3. Recomandari generale:

Baza de date trebuie sa fie instalata cu privilegii minimaliste. Tot ce nu


foloseste, trebuie dezinstalat sau sa nu fie instalat in prima instanta.
Detectarea parolelor default si schimbarea lor imediata
select username from DBA_USERS_WITH_DEFPWD;
Folosirea permanenta a parolelor puternice! Se pot folosi utilitare
gratuite pe internet pentru generarea de parole puternice.
Niciodata nu notati parole pe sticky-notes! Niciodata nu salvati parole pe
fisiere locale!
Concluzii finale

3. Ce ramane de facut pentru acest capitol:

Cum putem schimba parolele default astfel incat sa fie mai sigure?
Folosirea unui password store pentru stocarea parolelor sigure
Incercarea de a simula un atac de tip SQL-Injection
Incercarea de a simula un atac de tip Man-in-the-Middle
Integritatea fisierelor

Numarul amenintarilor de securitate din punct de vedere al


sistemelor de operare si al bazelor de date continua sa creasca
in fiecare zi, iar acest trend este asteptat sa nu stagneze
Integritatea fisierelor

Numarul amenintarilor de securitate din punct de vedere al


sistemelor de operare si al bazelor de date continua sa creasca
in fiecare zi, iar acest trend este asteptat sa nu stagneze
Prin urmare, cateva contramasuri sunt de luat in calcul pentru a
elimina din discutie (cat se poate!) aceste riscuri
Integritatea fisierelor

Numarul amenintarilor de securitate din punct de vedere al


sistemelor de operare si al bazelor de date continua sa creasca
in fiecare zi, iar acest trend este asteptat sa nu stagneze
Prin urmare, cateva contramasuri sunt de luat in calcul pentru a
elimina din discutie (cat se poate!) aceste riscuri
Nevoia pentru securizare si asigurarea ca bazele de date sunt
operationale este cruciala, mai ales in cazul in care bazele de
date necesita acces neintrerupt la datele stocate
Integritatea fisierelor

Numarul amenintarilor de securitate din punct de vedere al


sistemelor de operare si al bazelor de date continua sa creasca
in fiecare zi, iar acest trend este asteptat sa nu stagneze
Prin urmare, cateva contramasuri sunt de luat in calcul pentru a
elimina din discutie (cat se poate!) aceste riscuri
Nevoia pentru securizare si asigurarea ca bazele de date sunt
operationale este cruciala, mai ales in cazul in care bazele de
date necesita acces neintrerupt la datele stocate
In acest capitol ne vom axa pe cateva masuri succinte de
securitate din perspectiva sistemelor de operare.
Utilizare Tripwire pentru verificarea integritatii

Permisiunile adecvate sunt esentiale in vederea asigurarii


integritatii fisierelor fizice pe disc
Utilizare Tripwire pentru verificarea integritatii

Permisiunile adecvate sunt esentiale in vederea asigurarii


integritatii fisierelor fizice pe disc
Utilizatorii care nu au drepturi administrative trebuie sa nu aiba
nici drepturi de scriere asupra fisierelor, cum ar fi listener.ora
sau sqlnet.ora, fisiere care contin informatii esentiale ale bazei
de date Oracle
Utilizare Tripwire pentru verificarea integritatii

Permisiunile adecvate sunt esentiale in vederea asigurarii


integritatii fisierelor fizice pe disc
Utilizatorii care nu au drepturi administrative trebuie sa nu aiba
nici drepturi de scriere asupra fisierelor, cum ar fi listener.ora
sau sqlnet.ora, fisiere care contin informatii esentiale ale bazei
de date Oracle
Alterarea fisierelor sau a directoarelor reprezinta primul semn al
unui atac sau a unei penetrari de sistem
Utilizare Tripwire pentru verificarea integritatii

Pentru a contracara aceste posibile atacuri, putem folosi


utilitare specializate in detectia modificarilor de integritate a
fisierelor
Utilizare Tripwire pentru verificarea integritatii

Pentru a contracara aceste posibile atacuri, putem folosi


utilitare specializate in detectia modificarilor de integritate a
fisierelor
Tripwire este un sistem de detectie a intruziunii, care foloseste
algoritmi capabili sa compare doua fisiere la diferite perioade
de timp si sa detecteze eventualele modificari asociate
Utilizare Tripwire pentru verificarea integritatii

Pentru a contracara aceste posibile atacuri, putem folosi


utilitare specializate in detectia modificarilor de integritate a
fisierelor
Tripwire este un sistem de detectie a intruziunii, care foloseste
algoritmi capabili sa compare doua fisiere la diferite perioade
de timp si sa detecteze eventualele modificari asociate
Mai departe vom urma pasii instalarii utilitarului care este open-
source. Tripwire ruleaza pe Linux, prin urmare vom instala baza
de date pe Fedora 23 64 bit
Utilizare Tripwire pentru verificarea integritatii

1. Intram in directorul unde am descarcat Tripwire si configuram


si utilizam pachetul make pentru instalare:
Utilizare Tripwire pentru verificarea integritatii

2. Vom fi rugati sa acceptam acordul licentei si sa ne alegem o


parola numita generic passphrase
Utilizare Tripwire pentru verificarea integritatii

3. Dupa instalare, initializam utilitarul. Tripwire va porni procesul


de verificare a tuturor fisierelor din sistem, le va cripta si va
crea un fisier denumit baza de date continand caracteristicile
tuturor fisierelor:
Utilizare Tripwire pentru verificarea integritatii

4. Vom modifica fisierul users01.dbf al bazei de date BDORCL, ii


vom schimba permisiunile si vom crea 2 noi fisiere in
/home/oracle:
Utilizare Tripwire pentru verificarea integritatii

5. Rulam Tripwire din nou:


Utilizare Tripwire pentru verificarea integritatii
Utilizare Tripwire pentru verificarea integritatii
Concluzii finale

Cel mai potrivit moment pentru instalarea utilitarului si


realizarea unei verificari este imediat dupa ce sistemul de
operare a fost instalat
Concluzii finale

Cel mai potrivit moment pentru instalarea utilitarului si


realizarea unei verificari este imediat dupa ce sistemul de
operare a fost instalat
In acest fel, se pot monitoriza cu usurinta toate modificarile
aduse in timp fisierelor
Concluzii finale

Ce ramane de realizat pentru licenta:


Folosirea modului imuabil pentru prevenirea modificarilor in felul aceste
nici macar utilizatorul root nu poate modifica fisierul
Concluzii finale

Ce ramane de realizat pentru licenta:


Analiza: Audit al bazei de date

Finalitatea licentei consta in realizarea unei aplicatii in C# care va audita


baza de date dupa ultimele benchmark-uri CIS Oracle (Central Internet
Security). Aplicatia se va conecta la baza de date pe baza unui user si a
unei parole, va rula benchmark-uri sub forma de query-uri si va crea un
raport HTML cu riscurile identificare cat si recomandarile necesare.

In prezent, exista peste 500 de teste puse la dispozitie de CIS, insa voi
selecta doar anumite teste care auditeaza parametrii importanti ai bazei de
date.
Bibliografie

Adrian-Neagu, Oracle 11g Anti-hacker`s Cookbook, pp 26 34, 145 147


Grid Computing. Wikipedia. Web-site: https://en.wikipedia.org/wiki/Grid_computing
Oracle. Web-site: http://tech.firstpost.com/news-analysis/oracles-database-secure-
even-nsa-cant-hack-us-say-larry-ellison-217341.html
Business Insider. Web-site: http://www.businessinsider.com/the-cia-made-larry-
ellison-a-billionaire-2014-9
Oracle. Wikipedia. Web-site: http://www.businessinsider.com/the-cia-made-larry-
ellison-a-billionaire-2014-9
Oracle Database 11g Release 2 (11.2) Installation on Fedora 23 (F23). Web-site:
https://oracle-base.com/articles/11g/oracle-db-11gr2-installation-on-fedora-23
Pete Finnigan. Web-site: http://www.petefinnigan.com/UKOUG-Conference-
Passwords.pdf
Alexander Kurnbunrst. Web-site http://www.red-database-
security.com//wp/best_of_oracle_security_2015.pdf
Reuters. Web-site: http://www.reuters.com/article/us-oracle-nsa-
idUSBREA0T05U20140130
Burleson Consulting. Web-site: http://www.dba-oracle.com/t_spare4.htm
Bibliografie

Oracle. Web-site: http://www.oracle.com/technetwork/security-advisory/cpujan2017-


2881727.html
Marcel`s Blog. Web-site: http://marcel.vandewaters.nl/oracle/security/password-
hashes
Crackstation. Web-site: https://crackstation.net/hashing-security.htm#normalhashing
Pete Finnigan. Web-site: http://www.petefinnigan.com/find_all_privs.sql
Tech on the Net. Web-site: https://www.techonthenet.com/oracle/questions/script.php
Radio Free Tooting. Web-site: http://radiofreetooting.blogspot.ro/2007/02/user-
schema.html
Wikipedia. Web-site: https://ro.wikipedia.org/wiki/Data_Encryption_Standard
Pete Finnigan. Web-site: http://www.petefinnigan.com/weblog/archives/00001185.htm
Sesiune de intrebari