Terug naar de beginpaginaCentor Homepage

Oracle 10g Security groeit mee met toenemende eisen ten aanzien van beveiliging

Noodzaak van security-systemen groter dan ooit



Ondanks het naargeestige weer van de laatste dag van oktober was de door OC Centor georganiseerde technische presentatie in het inmiddels bekende Utrechtse Mitland Hotel toch weer goed bezocht. De presentatie van Rob Schenk (Triton ICT Solutions) had als onderwerp de beveiliging van hedendaagse computersystemen. In dit artikel geven we de belangrijkste hoofdlijnen van zijn presentatie weer en zien we dat Oracle met haar oplossing meegroeit met de toenemende eisen ten aanzien van het beveiligen van computersystemen.

Eerder dit jaar was er ophef in de pers en bij consumentenprogramma’s over een ‘beveiligingslek’ bij één van Neerlands grootste energieleveranciers. Het bleek simpel mogelijk je maandelijks voorschotbedrag voor je energierekening te laten veranderen. Gewoon even bellen, naam en adres noemen en aangeven wat het nieuwe maandbedrag moet worden. Handig toch? En vooral ook leuk wanneer je die vervelende achterbuurman een poets wil bakken. Een erg simpel en doorzichtig beveiligingslek dat het toch maar even mogelijk maakt in te grijpen in andermans financiële huishouding.

Zo zijn er nog veel meer lekken, die vaak minder doorzichtig zijn maar tot des te meer schade kunnen leiden. Waren hackers er ‘in den beginne’ vaak vooral op uit om aan te tonen dat ze een systeembeveiliging te slim af konden zijn, tegenwoordig zijn er halve volksstammen dag en nacht bezig om beveiligingen te omzeilen met als doel er ten koste van een ander rijk mee te worden.

Dat gaat steeds verder en hoewel op het gebied van beveiliging wel slagen worden gemaakt, zitten ook (internet)criminelen niet stil en bedenken zij steeds vernuftiger methoden om uw en mijn creditcard-gegevens te achterhalen of om allerlei andere gegevens te manipuleren. Particulieren en bedrijven kunnen hierdoor onvoorstelbare schade leiden. Wat dacht u van de volgende ‘truc’: criminelen weten binnen te komen in het systeem van een beursgenoteerde onderneming. Ze plaatsen op een plek waar beleggers hun informatie halen een berichtje dat een grote order is afgeketst. Het balletje gaat rollen en in no time weet de halve beleggerswereld dat er bij bedrijf X problemen zijn. U weet het, geruchten zijn al voldoende om een koersval in gang te zetten. Daags daarvoor hebben de daders op de beurs zogenaamde put-opties op het desbetreffende aandeel genomen, waardoor ze eraan verdienen wanneer de beurskoers van het desbetreffende bedrijf opeens scherp daalt. Tegen de tijd dat de leiding van het bedrijf beseft wat er aan de hand is, zitten de daders al met een dubbele pinacolada op het strand van Honolulu.

Een simpel en voorstelbaar verhaal, maar uit de presentatie van Rob Schenk zal blijken dat nog heel veel bedrijven het belang van uitstekende beveiliging van hun systemen kennelijk zwaar onderschatten. Sterker nog, uit onderzoek onder Amerikaanse bedrijven blijkt dat slechts een kleine minderheid het beveiligingsbeleid op orde heeft.

Hackermethodes
Jaarlijks is dan ook één op de tien bedrijven in de Verenigde Staten slachtoffer van inbraak in computersystemen: driekwart daarvan komt van binnenuit. Hackers houden niet van beperkingen en bedienen zich dan ook van een arsenaal aan methoden om binnen te dringen. SQL-injectie is er daar één van. Meestal wordt dit gedaan via een webapplicatie en gebeurt alleen wanneer dit niet goed afgevangen is (en dat is best vaak het geval). Het werkt als in het volgende voorbeeld:

Een webapplicatie vraagt om een gebruikersnaam en om een wachtwoord en gebruikt hiervoor twee velden in de applicatie: USR en PW. Vervolgens vraagt de applicatie gegevens voor de betreffende gebruiker op:
Querystring := ‘SELECT * FROM USERS WHERE USERNAME = ‘ || USR || ‘ AND PASSWORD = ‘|| PW;

De query wordt dan :
SELECT * FROM USERS WHERE USERNAME = ‘ROB’ AND PASSWORD=‘TOPSECRET’;

Wanneer SQL-injectie wordt toegepast, kun je bijvoorbeeld in het password-veld het volgende invoeren:
WEETHETNIET’ OR ‘A’ = ‘A

De querystring plakt USR en PW in het select statement en je krijgt dus:
SELECT * FROM USERS WHERE USERNAME = ‘ROB’ AND PASSWORD=‘WEETHETNIET’ OR ‘A’ = ‘A’;

Het resultaat is dat alle gegevens worden teruggegeven. Je kunt dit eindeloos uitbreiden met UNION’s, zodat je ook andere tabellen kunt querieën.

Een andere populaire hackermethode is het veroorzaken van een buffer overflow. Wanneer een programma meer data in een buffer schrijft dan erin past, spreken we over een buffer overflow. In Oracle 9.0.1 was het bijvoorbeeld zo dat als je in de connection string 4000 tekens meegaf aan de SERVICE Parameter (SERVICE=…..) dat in een crash resulteerde. Door middel van buffer overflows, kunnen delen van het geheugen door hackers beschreven worden met Operatie Codes. Wanneer het programma klaar is met de huidige actie zullen deze codes vervolgens worden uitgevoerd omdat ze in het geheugen staan.

Spoofing, sniffing, phishing en Cross Scripting
Sniffing, phishing, … woorden die nog niet zo heel lang geleden een tamelijk eenduidige en simpele betekenis hadden. Die andere betekenissen die we tegenwoordig kennen leggen we graag even uit.
Spoofing of IP spoofing wordt gebruikt om ongeautoriseerde toegang te verkrijgen tot een computer via de IP stack. De identiteit van een andere computer wordt vervalst waarbij de gefingeerde identiteit overeenkomt met een entiteit die de aangevallen computer vertrouwt. Hoe? De header van een IP Pakket bevat een source address. Dit is doorgaans het address waar het pakket vandaan komt. Een hacker kan deze berichten aanpassen, zodat het lijkt of het pakket van iemand anders komt (bijvoorbeeld een gebruiker die toegang heeft).
Sniffing is het afluisteren van een netwerkverbinding. Een hacker onderschept netwerkpackets. Als het netwerk niet encrypted is, kan hierdoor heel veel informatie gewonnen worden. Dit is de basis voor een sterke aanval.
Fishing of phishing of althans pogingen daartoe is een fenomeen waar iedereen wel mee te maken heeft. Oplichters verzenden een e-mail die van bijvoorbeeld een bank, een creditcardmaatschappij of een internetprovider afkomstig lijkt. In de e-mail wordt de ontvanger gevraagd om — gebruikmakend van een link die daar ook in staat — iets te bevestigen. Via deze link komt het potentiële slachtoffer op een alweer vertrouwd lijkende site, waar vervolgens de inloggegevens of andere gegevens worden ontfutseld. Daarom hebben instellingen als banken een https-adres, waarop de gegevens in versleutelde vorm worden verstuurd.
Cross scripting of cross site scripting (XSS) is een bedreiging die in webapplicaties kan voorkomen. Het ‘zelfde bron principe’ zegt dat een script van de ene bron niet de pagina en gegevens (cookies bijvoorbeeld) van een andere bron mag lezen of mag wijzigen. Wanneer een aanvaller dit principe voor HTML-scripting probeert te omzeilen is er sprake van cross-site scripting.

Bedreiging van de database
Bij bedreigingen op databaseniveau gaat het niet alleen om hackers die proberen in te breken. De database moet worden beveiligd tegen alles dat de beschikbaarheid, de privacy en de kwaliteit van de database en de data die daarin is ondergebracht in gevaar brengt. De waarde van die informatie — de kwaliteit van de informatie en het belang van de informatie — speelt daarbij nadrukkelijk een rol. De kwaliteit heeft dan betrekking op beschikbaarheid, integriteit en vertrouwelijkheid. Natuurlijk zijn niet alle bedreigingen opzettelijk; was het maar zo ‘makkelijk’. Maar alle bedreigingen moeten wel het hoofd worden geboden. Tabel 1 laat een overzicht zien van alle typen bedreigingen.


Tabel 1: Bedreigingen voor computersystemen.

De bedreigingen komen dus uit meerdere richtingen en zullen dus op meerdere manieren tegengegaan moeten worden. Daarnaast moet het wel werkbaar blijven, zowel voor het systeem als voor de gebruikers. Zo kan voor het beschermen van gevoelige data bijvoorbeeld encryptie worden toegepast, maar dergelijke vertaalslagen mogen de systeemprestaties niet teveel vertragen. Ook aan de gebruikerskant moeten we de balans tussen veiligheid en werkbaarheid zien te vinden. We zouden in een extreem voorbeeld iedere handeling vooraf kunnen laten gaan door een biometrische check van de gebruiker, maar dan zouden we aan een gebrek aan efficiëntie ten onder gaan en dan alsnog de deuren kunnen sluiten. Een beveiligingsbeleid moet dus evenwichtig zijn (figuur 1) en dat is voor de meeste organisaties iets heel anders dan alles tot het maximum van de mogelijkheden dichttimmeren.

Figuur 1: Het doel van de beveiliging: de CIA-driehoek (boven) en het evenwicht in beveiliging (onder).

Er zijn in feite vier plaatsen in het systeem waar we de bedreigingen moeten tegengaan en het hangt van het type bedreiging af waar we dat doen. Bovendien willen we graag meerdere beschermingslagen om ons heen bouwen. Figuur 2 laat ons zien op welke plaatsen we mogelijkheden hebben om het onheil buiten de deur te houden.

Een werkbaar beveiligingsbeleid
Het beveiligen van systemen begint natuurlijk met het vaststellen van een beveiligingsbeleid. Omdat de bedreigingen evenals de risico’s niet eenduidig zijn moeten verschillende procedures met verschillende detailniveaus worden vastgelegd. Een deel van die procedures zal betrekking hebben op compliance (SOx) met één of andere regelgeving of norm. Daarnaast moeten de beveiligingseisen nauwkeurig worden bepaald: wat moet beveiligd worden en waarom?


Figuur 2: De plaatsen waar bedreigingen kunnen worden tegengegaan:
1. De databases, 2. de Oracle database server, 3. Het netwerk en
4. de application web server.

Gelukkig hoeft dat wiel niet steeds opnieuw uitgevonden te worden: er zijn voldoende procedures voorhanden die vaak alleen nog op detailniveau op een specifieke situatie moeten worden toegesneden. Organisaties als het NIST (National Institute of Standards and Technologies), de International Standards Organization (ISO) en het SANS Institute zijn hiervoor bij uitstek geschikte bronnen.
Om het eigen beveiligingsbeleid vorm te geven moet vooral vooraf goed nagedacht worden. De huidige configuratie moet gedetailleerd worden vastgelegd, waarbij gekeken moet worden naar de database, de software versies (en dus ook de patches!) en de toegepaste security. Verder moeten de te beveiligen objecten en hun waarde geïdentificeerd worden. Van die objecten moet gekeken worden welke bedreigingen daarop van toepassing zijn, hoe groot of klein de kans is dat die bedreigingen werkelijkheid worden en natuurlijk naar de kwetsbaarheden van die objecten.

Drie hoofdprincipes
Voor een goed beveiligingsbeleid zijn drie hoofdprincipes belangrijk:

  1. Beveiliging begint bij het ontwerp. Beveiliging moet niet op een systeem gebouwd worden, maar moet in het systeem zitten.
  2. Laat de beveiliging uit meerdere lagen bestaan. Vermijd een single point of failure. Voeg zoveel lagen toe als praktisch is. Op die manier loopt een inbreker bij het doorbreken van de eerste laag tegen de volgende aan.
  3. Hanteer het Least Privilege principe. Geef personen alleen die permissies die ze echt nodig hebben en trek ook dat altijd in twijfel. Gebruik liever geen standaard database rollen. Ken geen RESOURCE rol toe aan een applicatiegebruiker die alleen hoeft te lezen. Start met ‘geen privileges’ en werk zo naar de juiste privileges toe; op basis van ‘must have’ derhalve.

Eigenlijk moeten we daar nog een vierde punt aan toevoegen. Die heeft betrekking op de menselijke factor: training. U kunt nog zo’n mooi systeem hebben, als de mensen die ermee moeten werken niet bekend zijn met het beveiligingsbeleid zal een levensgroot lek blijven bestaan. Denk nog maar even aan het voorbeeld van de energieleverancier die je gewoon kon bellen om andermans gegevens te laten veranderen. Training dus, om mensen bewust te laten worden van de risico’s die afgedekt moeten worden en ze daarmee bewust te maken van de noodzaak van beveiliging. Daar hoort vaak ook ICT- en databasetraining bij, omdat het op de juiste manier omgaan met de systemen uiteraard ook een voorwaarde is.

Oracle Advanced Security 10g
Logischerwijs blijft Oracle haar security-oplossing verbeteren. Oracle Ad-vanced Security 10g ondersteunt transparan-te Netwerk en Data encryptie (met hashing) en Strong Authentication (SSL, RADIUS, KERBEROS).

Met Oracle Label Security kan Row-Level Security geïmplementeerd worden, op basis van labels die aan elk record worden toegevoegd. De optie Oracle Secure Backup — nieuw vanaf april 2006 — kan worden ingezet vanaf Oracle9i. De optie is volledig geïntegreerd met RMAN, waardoor het mogelijk wordt backups automatisch te laten encrypten en decrypten bij back-up en restore. Dit is een goede beveiliging tegen stelen van data/-backups.
De optie Oracle Database Vault is nieuw vanaf mei 2006 en kan ingezet worden vanaf Oracle10g R2. Met Database Vault kan men de applicatiedata volledig afschermen van gebruikers die er niets te zoeken hebben. Dit is vooral bedoeld om privileged users zoals DBA’s buiten te sluiten.
Virtual Private Database biedt ingebouwde support voor Row-level security gebaseerd op PL/SQL policy functies. Met Data Encryption kan kritieke data in de database versleuteld worden. Enterprise User Security: met behulp van een LDAP server zoals OiD kunnen Enterprise Users centraal aangemaakt worden en kunnen Authenticatie en Autorisaties centraal geregeld worden. Oracle Enterprise Security Manager is de Managing Tool voor Enterprise User Security (EUS).

Oracle Advanced Security 10g werkt ook met Secure Application roles. Dit zijn rollen die beveiligd zijn door PL/SQL programma’s. De rol kan alleen gezet worden door dit programma, dat hiertoe eerst een aantal checks doorloopt. Ook op auditing-gebied is er nieuws: naast de standaard Oracle Auditing, Application Auditing en Trigger Auditing is er nu Fine Grained Auditing, waarmee men selectiever en dus doelmatiger kan auditen.

Phishing levert enorme schade op

Uit het rapport ’The Crimeware Landscape’ van onder meer The Anti-Phishing Working Group blijkt dat online identiteitsdiefstal jaarlijks ongeveer 1 miljard dollar schade oplevert. De groei is mede een gevolg van het feit dat autoriteiten moeite hebben het probleem aan te pakken. Het probleem en daarmee de financiële schade groeit, want minder dan 5% van de daders zou gepakt worden. De criminelen werken met lijsten van onbetrouwbare en betrouwbare leveranciers van identiteitsgegevens. De verkopers van de informatie zijn nog wel te pakken, maar dat geldt nauwelijks voor de mensen achter de aankoop. Toch wil de sector niet nog meer geld investeren om deze vorm van internetcriminaliteit tegen te gaan. Het is beter de investeringen slimmer in te zetten, door bijvoorbeeld data beter te beveiligen. Het vermoeden bestaat dat dit wellicht beter werkt dan sterkere beveiliging van het netwerk. Fabrikanten van dataopslagsystemen werken daar nu al aan: Sandisk en RIM werken aan databeveiliging met wachtwoorden aan een centrale server.


OC Centor BV
Fultonbaan 2b
3439 NE
Nieuwegein
tel. 030 6020060

Realisatie:
Beaumont Tekst&Ontwerp
H. Dunantweg 20 2400BD
Alphen a/d Rijn
tel. 0172 419370

: Dagelijks Nieuws :
Klik hier voor een actueel overzicht van Linux, Unix, Oracle, DWH, BI, Java, Database, Emercing Technologies, Security, ICT en Financieel nieuws.