Rade Pobulić - Parallelbazi Narušeni: Business need to know Least privilege principle Bolje...
Transcript of Rade Pobulić - Parallelbazi Narušeni: Business need to know Least privilege principle Bolje...
-
Tehnički aspekti primene Oracle Database Vault i Database Firewall
Rade Pobulić generalni direktor, parallel group
-
Oracle Database Vault i Database Firewall blokiraju dve najveće sigurnosne pretnje:
Možemo imati puno poverenje u našeg DBA, ali organizovani kriminal je sposobniji u ubeđivanju! Najbolje je osloboditi ih teškog bremena nepotrebne odgovornosti i onemogućiti im da pristupaju poverljivim podacima.
Možemo imati puno poverenje u našu aplikaciju, ali 90% programera poslovnih aplikacija nije nikad čulo za SQL Injection, a svaki haker jeste!
Sef i zid (digitalni)
-
Tehnički aspekti Database Vault-a
-
U verziji 11g ugrađen je u kernel baze
Spada u rešenja za kontrolu pristupa
U velikoj meri pruža zaštitu od unutrašnjih pretnji
Podržava rad sa Real Application Cluster (RAC) okruženjem
Database Vault (DBV)
-
Najveću pretnju predstavljaju korisnici koji imaju :
DBA rolu
Jake sistemske privilegije
DB administratori mogu čitati osetljive podatke u bazi
Narušeni:
Business need to know
Least privilege principle
Bolje sprečiti, nego lečiti!
Unutrašnje pretnje
-
Separacija dužnosti odnosno ukidanje “superusera”
DB administratori ne mogu čitati podatke!
Sprečava “hakere” da pristupe podacima iako su uspeli da zaobiđu aplikaciju
Prednosti DBV
-
Dopunjuje DAC (Discretionary Access Control)
Kompleksna kontrola pristupa podacima
Definisanje uslova pod kojima je samo moguće izvršiti neku komandu
Može da radi sa Label Security
Štiti Audit Trail
Monitoring
Prednosti DBV
-
Izveštaji
Database Vault izveštaji
Configuration Issues izveštaji
Auditing izveštaji General Security
izveštaji
Ukupno 53 ugrađena izveštaja
9 grupa General Security izveštaja
Prednosti DBV
-
PCI DSS
Restrict access to cardholder data by business need-to-know (Req 7)
Enable accounts used by vendors for remote maintenance only during the time period needed (Req 8.5.6)
Compensating Controls for Req 3.4
Requirement A.1
Basel II
SOX
Standardi
-
Pre implementacije je potrebno definisati:
Politiku bezbednosti
Sigurnosne procedure
Instalacija DBV Konfiguracija DBV Implementacija
DBV
Implementacija DBV
-
Implementacijom Database Vault-a uvedene su funkcije:
Security administrator
Account manager
Database administrator – sada ima:
ograničenu moć
adekvatno usklađene privilegije i radne zadatke
Segregacija dužnosti
-
Realms
Rule sets
Factors
Command rules
Secure application roles
Komponente DBV
-
Realmi su skupovi objekata u bazi zaštićeni od pristupa preko sistemskih privilegija.
Definišu koji korisnici mogu da koriste sistemske privilegije nad zaštićenim objektima
Objekti iz više šema mogu biti u jednom realmu, jedan objekat može biti u više realma
Samo vlasnik realma može da dodeljuje sigurnosne role realma učesnicima realma
Samo vlasnik ili administrator DBV može da određuje vlasnike i učesnike realma
Realms (kraljevstva)
-
Podrazumevano se kreiraju sistemski realmi:
• Realm za administratore koji kreiraju database usere i profile.
Realm za Oracle Data Dictionary, za sledeće šeme Oracle Catalog-a: ANONYMOUS, DBSNMP, MDSYS, SYS, BI, EXFSYS, MGMT_VIEW, SYSMAN, CTXSYS, MDDATA, OUTLN, SYSTEM
Ovaj realm takođe kontoliše dodeljivanje sistemskih privilegija i administrativnih rola.
• Realm za DBV šeme (DVSYS, DVF, LBACSYS)
• Realm za Oracle Enterprise Manager šeme (SYSMAN, DBSNMP)
Sistemski realmi
-
Pre postavljanja
realm-a, SYS može da
pristupi podacima o
platama
Realms – Primer 1
-
Posle kreiranja i
konfiguracije realm-a,
SYS ne može da
pristupi podacima o
platama, a direktor
može.
Realms – Primer 1
-
Ako vlasnik šeme
(schema owner) nije
autorizovan u domenu,
ne može izvršiti DDL
naredbe.
Realms – Primer 2
-
Rule set predstavlja skup pravila čijom se evaluacijom utvrđuje pravo pristupa
Rule sets
{ }
(
},{)(,
},{)...
,)...(
21
21
FalseTruePP
FalseTruePPP
FalseTruePPP
ii
n
n
∈−
∈∨∨∨
∈∧∧∧
τ
τ
τ
Pravilo
Rule set
-
Rule set može da koristi faktore
Samo definisanje Rule set-a nema nikakav uticaj na zaštitu
Potrebno ga je primeniti u okviru neke od komponenti:
Realm
Command rule
Secure application role
Rule sets
-
Rule sets – Tekst primera
Moguće je kreirati Rule set Radno vreme, čija je svrha da utvrdi da li korisnik pokušava da pristupi van radnog vremena (od ponedeljka do petka; 9h - 17h)
-
Moguće rešenje primera
Sastavljen je od 2 pravila:
Da li je dan OK?
// to_char (sysdate,’d’) between ‘2’ and ‘6’
Da li je vreme OK?
// to_char (sysdate,’hh24’) between ‘09’ and ‘17’
Potrebno odabrati opciju da su oba pravila zadovoljena (tačna) tj. All True
-
Faktor je imenovana promenjiva (npr. IP adresa)
Vrednost faktora se naziva Identity (npr. 127.0.0.1)
Postoji veliki broj ugrađenih faktora
Security administator može definisati nove faktore
Kombinacijom faktora je moguće implementirati multifaktorsku autorizaciju
Factors (faktori)
-
Koriste rule set za definisanje pravila koja moraju biti zadovoljena da bi se izvršila određena SQL naredba nad određenim objektom
Command rule nema ime, jednoznačno je određen trojkom:
SQL komandom (npr. UPDATE)
Imenom vlasnika objekta (npr. HR)
Nazivom objekta (npr. EMPLOYEES);
% označava sve objekte
Command rules
-
Napravljen je command rule, koji omogućava izvršenje
UPDATE naredbe nad HR.EMPLOYEES
samo radnim danima od 9h do 17h
(Rule set Radno vreme)
Command rules – Tekst primera
-
Rezultat primera
-
Na slici je prikazan deo strane Monitor iz Database Vault Administrator alata, gde se vidi da je direktor pokušao da
poveća platu van radnog vremena
Command rules – Primer
-
DBV SAR, za razliku od običnog SAR, sastoji se isključivo od naziva i pridruženog rule set-a
Specifični uslovi moraju biti zadovoljeni da bi rola mogla biti omogućena za sesiju
Uslovi su definisani u okviru jednog (pridruženog) rule set-a
Secure application roles (SARs)
-
Rolu “aktivira” PL/SQL procedura koja se nalazi u zaštićenom paketu, koji DBV pruža
Više nije potrebno pisanje PL/SQL procedure, kao kod SAR-ova van DBV
SAR-ovi onemogućavaju zaobilaženje aplikacije
DBV SAR centralizuje pravila u rule set-ove, za razliku od običnih SAR-ova čije se definicije nalaze razbacane po PL/SQL procedurama
Secure application roles (SARs)
-
Primenom Database Vault-a se prave značajni koraci u pravcu poboljšanja zaštite i ispunjenju zahteva postojećih standarda
(PCI DSS, SOX, itd.)
Zaključak
-
SQL Injection: Napadi i odbrane
-
Od 2005.-e do danas, SQL Injection je odgovoran za 83% uspešnih hakerskih
upada. ¹
¹ - Prema Privacyrights.org
-
Verizon-ova statistika za 2010-u godinu
-
SQL Injection je tehnika kojom se zloupotrebljava neparsirani unos
podataka kako bi se kroz web aplikaciju prosledile SQL komande bazi
na izvršenje.
-
Neovlašćen pristup
Krađa podataka
Izmena podataka
Brisanje podataka
Zadavanje komandi operativnom sistemu
Instalacija malicioznih softvera na mrežu
-
select * from users where username = ‘&username’ and password = ‘&password’
select * from users where username = ‘admin’ and password=‘adminisst12’
-
select * from users where username = ‘&username’ and password = ‘&password’
select * from users where username=‘admin’ or 1=1 -- and password=‘fhsdjfsdfjd’
Neovlašćen pristup
-
select * from users where username = ‘&username’ and password = ‘&password’
select * from users where username=‘admin’ union select * from credit_cards -- and password=‘fhsdjfsdfjd’
Krađa podataka
-
select * from users where username = ‘&username’ and password = ‘&password’
select * from users where username=‘admin’; update users set mail=‘[email protected]’ where id=1 -- and password=‘fhsdjfsdfjd’
Neovlašćena izmena podataka
-
Napad u kojem je web aplikacija ranjiva na SQL Injection, ali umesto njemu
korisnih poruka o grešci, napadač dobija generičku stranu
-
if exists (select * from users) sleep(15)
Da li postoji users?
NE
DA
Čekaj 15 sekundi
-
Neparsiran unos podataka
Aplikativnom user-u su date prevelike privilegije u bazi
Poruke o greškama odaju previše podataka
Baza potpuno veruje aplikaciji
-
Obavezno parsirati i prečistiti unos od strane korisnika
Aplikativnom korisniku dati najmanji skup privilegija
Kreirati generičku stranu za greške u aplikaciji
Koristiti Database Firewall za praćenje aktivnosti baze i
blokiranje SQL naredbi
Testirati aplikaciju na SQL Injection
-
Proverava svaku SQL naredbu i na osnovu politike može da: dozvoli, loguje, uzbuni,
supstituiše ili blokira naredbu
-
Ugrađeni „out of the box“ izveštaji za sve veće standarde kao što su: PCI,
SOX, itd.
Koristi white list-e i black list-e koje kao parametre mogu koristiti doba
dana, dan u nedelji, mrežu, aplikaciju
Moguće je postaviti da su za određenu aplikaciju dozvoljene samo unapred
poznate SQL naredbe
-
Obavezno parsirati i prečistiti unos od strane korisnika
Aplikativnom korisniku dati najmanji skup privilegija.
Kreirati generičku stranu za greške u aplikaciji
Koristiti Database Firewall za praćenje aktivnosti baze i
blokiranje SQL naredbi
Testirati aplikaciju na SQL Injection
-
SQL Injection predstavlja napad koji je jednostavan za učenje, a
može naneti veoma veliku štetu. Iz spomenutih razloga, potrebno
je posvetiti posebnu pažnju odbrani od ovog napada.
-
• Kuća sa 20 godina iskustva u Oracla DBA • Glavni konsultant sa 25 godina iskustva u Oracle DBA • Jedini Oracle Partner u Srbiji sa dve specijalizacije:
• Oracle Database • Oracle BI Foundation
• Jedini Oracle Partner u regionu sa ispunjenim competency kriterijumom za sve Oracle Security specijalizacije: • Oracle Database Security Options • Identity Administration and Analytics
• Strateška saradnja sa Asseco SEE na integraciji Oracle security rešenja sa proizvodima Asseco
• Strateška saradnja sa iskusnim Security timom najvećeg ruskog Oracle partnera, FORS Development Center
-
• Potpuna sigurnost zahteva velika ulaganja u definisanje security politika i procedura, u licence, hardver i implementaciju
• Kroz glavni security plan je važno uzeti u obzir sve aspekte sigurnosti da bi se ispunili kvalitetno svi zahtevi PCI DSS, a i mnogo više
• U okviru glavnog plana, treba pragmatično graditi u manjim koracima, po prioritetima određenim potrebama i mogućnostima korisnika i karakteristikama sistema i aplikacija
• Može se početi sa obukom, preliminarnim snimanjem stanja i pravljenjem grubog security plana, na osnovu koga se definišu prioriteti i redosled investicija
-
• Oracle Database 11g: Change Management Overview Seminar • Oracle Database 11g: Security • Oracle Database 11g: Implement Database Vault • Implementing Oracle Database Firewall • Implementing Oracle Audit Vault • Oracle Database 11g: Oracle Secure Backup • Oracle Enterprise Manager 11g: Grid Control Essentials • Oracle Directory Services 11g: Administration • Sun Java System Directory Server EE 6.x Analysis and Planning • Oracle Access Manager 11g: Administration • Oracle Adaptive Access Manager: Administration • Oracle Identity Analytics 11g R1: Administration • Oracle Identity Manager 11g: Essentials • Oracle Identity Manager 11g: Develop Identity Provisioning • Oracle Identity Manager: Administration and Implementation • Oracle ESSO Logon Manager: Implementation & Configuration • Oracle ESSO Logon Manager: Advanced Concepts • Oracle ESSO Password Reset: Implementation & Configuration • Oracle ESSO Provisioning Gateway: Implementation & Configuration • Oracle ESSO Suite Deep Dive
-
Kontakt
Autori:
Maja Veselica, Security Consultant [email protected]
Zoran Pavlović, Security Manager [email protected]
Rade Pobulić, Generalni direktor [email protected]
Parallel d.o.o:
e-mail: [email protected]
adresa: Pariske komune 24, Novi Beograd
telefon: +381 11 260 74 84
-
Slide Number 1Slide Number 2Slide Number 3Slide Number 4Slide Number 5Slide Number 6Slide Number 7Slide Number 8Slide Number 9Slide Number 10Slide Number 11Slide Number 12Slide Number 13Slide Number 14Slide Number 15Slide Number 16Slide Number 17Slide Number 18Slide Number 19Slide Number 20Slide Number 21Slide Number 22Slide Number 23Slide Number 24Slide Number 25Slide Number 26Slide Number 27Slide Number 28Slide Number 29Slide Number 30Slide Number 31Slide Number 32Slide Number 33Slide Number 34Slide Number 35Slide Number 36Slide Number 37Slide Number 38Slide Number 39Slide Number 40Slide Number 41Slide Number 42Slide Number 43Slide Number 44Slide Number 45Slide Number 46Slide Number 47Slide Number 48Slide Number 49Slide Number 50Slide Number 51Slide Number 52Slide Number 53Slide Number 54Slide Number 55Slide Number 56