|
|
'Als je
24 uur on line bent, word je 24 uur bedreigd'
Hoe
afdoend is Oracle 9i beveiligd tegen hackers?
Op
donderdag 30 mei gaf Centor aan Pascal de Koning de gelegenheid
Oracle-specialisten te wijzen op het belang van beveiliging
in het algemeen en dat van Oracle 9i in het bijzonder. Dat
we hackers niet met een korrel zout mogen nemen, bleek overduidelijk.
En De Koning's opmerking: 'Als je 24 uur on line bent, word
je 24 uur bedreigd' bleek absoluut niet overdreven. Eind juni
werd dat ook nog eens benadrukt tijdens een symposium van
studievereniging Gewis (van de Technische Universiteit Eindhoven),
waar specialist Walter Belgers verklaarde: 'Netwerkbeheerders
op de universiteit kunnen Windows NT niet eens meer normaal
inrichten; het wordt al gekraakt voor ze de veiligheidspatches
kunnen installeren..!'

Hoe veilig
is de computer waarmee u werkt? Heel veilig denkt u? Vergeet
het maar. De enige echt veilige computer is de computer die
niet in een netwerk zit en waar geen modem in is geïnstalleerd.
Hoewel je dan natuurlijk nog wel bang moet zijn voor fysieke
diefstal…
Eén en ander bleek eind juni overduidelijk uit een symposium
bij de Technische Universiteit Eindhoven. Een paar statements
tijdens die dag:
Jaap Vos van TNO-TPD (waar bedrijven hun smartcards
laten testen op 'hacker-gevoeligheid'): 'Als je genoeg geld
en tijd hebt, kom je er altijd in.'; en
Walter Belgers van Giga Computer Consultants: 'Honeypots
- computers die speciaal worden opgezet en ingericht om hackers
te vangen - worden binnen het uur gekraakt…'
Ervaringen
met de 'honeypot'
Ir. Pascal de Koning, security consultant bij PinkRoccade
Megaplex bv te Apeldoorn, had zo'n ervaring met zo'n lokdoos.
'We hadden zo'n Honeypot, uitgerust met Red Hat Linux 6.2
default op het kabelnetwerk aangesloten. Aan de machine was
een Netwerk Intrusion Detection System gehangen om een aanval
te kunnen detecteren. Daarnaast hadden we op de machine zelf
ook nog een programma geïnstalleerd dat bijhoudt of er bestanden
worden gemuteerd of niet. Gebeurt dat, dan stuurt dat programma
ons automatisch een e-mail met een waarschuwing.'
Nog
niet tevreden, hing De Koning ook een 'tapkastje' aan de machine,
dat alle dataverkeer logt. En toen maar wachten.
'Met collega's onderling hadden we een pool gemaakt hoelang
het zou duren voor de machine gehackt zou worden. De schattingen
liepen uiteen van vijf tot tien dagen.'
Na tien dagen was er echter nog niets geconstateerd. Men besloot
de machine te controleren op zijn werking. Er werd ingelogd,
men keek naar het Intrusion Detection System en merkte dat
dat niet werkte. Men wilde het opnieuw opstarten, maar… het
programma bleek te zijn verwijderd. Men wilde de database
raadplegen… De database was ook niet meer aanwezig.
De
Koning: 'Achteraf hebben we kunnen constateren, dankzij het
"tapkastje", dat er al direct op de eerste dag was ingebroken
op de machine en dat men alles er al uit had verwijderd voor
het programma ons ook maar had kunnen waarschuwen!'
Op dag vier bleek zelfs de hacker gehacked. Een andere hacker
had de spullen van de eerste eraf gegooid en de machine vervolgens
ingericht als een uitvalbasis om andere computers te kunnen
hacken!
De Koning
is terughoudend met het speculeren over de schade die hackers
jaarlijks veroorzaken. Maar een FBI/CSI-onderzoek in de USA
bij ruim vijfhonderd grote bedrijven maakt duidelijk dat de
hacker-schade bij die organisaties in de miljarden loopt.
Een recent rapport van het Duitse ministerie van Economische
Zaken geeft aan dat de computercriminaliteit bij onze Oosterburen
in vergelijking met het voorgaande jaar met ruim 360% is gestegen.
Aangezien het ons lijkt dat Nederland daar zeker geen uitzondering
op zal vormen, lijkt een schatting van 'vele miljoenen' gerechtvaardigd.
Er
zijn diverse soorten hackers
Wat de beweegredenen van de 'hackers' zijn? Dat valt moeilijk
te zeggen. De Koning (software-ontwikkelaars achtergrond,
nu twee jaar gespecialiseerd in beveiliging) test met vijf
collega's bij PinkRoccade systemen van bedrijven op de beveiliging.
Echter alleen op verzoek.
'De
klant die om zo'n onderzoek vraagt, tekent een vrijwaringsverklaring
zodat men je niet van rechtswege kan vervolgen voor jouw acties.
We geven de klant een seintje als we gaan beginnen en ook
als we ermee ophouden. We leveren een compleet verslag aan
de klant van wat er allemaal is gedaan en doen aanbevelingen
om de beveiliging te kunnen optimaliseren.'
Script
Kiddies vormen aparte categorie
Die opstelling maakt dat Pascal de Koning en zijn collega's
tot de zogenaamde 'ethische hackers' behoren. Verder heb je
ook 'White Head Hackers'. Dat zijn mensen die computers kraken
voor de sport, voor de uitdaging. Zij berokkenen geen echte
schade, maar maken vaak wel melding van hun succes en dat
kan het imago van een organisatie een aardige deuk bezorgen.
Dan zijn er de 'Black Head Hackers'. Zij zijn kwaadaardiger,
doen het voor het geld en worden meestal ingehuurd door concurrenten
van een organisatie (voor bedrijfsspionage, het verlammen
van een organisatie, wraak enzovoort). Er is ook nog een andere
categorie, maar De Koning kan daar niet echt een etiketje
opplakken. Deze groepering valt onder de categorie 'Vandalen'.
Zij hebben niet echt een reden nodig. Zij zijn, volgens De
Koning, te vergelijken met de pukkelige pubers die in fietsenstallingen
van school de achterlichtjes van fietsen trappen of alle ventielen
losdraaien.
Een heel aparte categorie vormen de 'Script Kiddies': Tieners
die programmaatjes downloaden van internet waarmee ze kunnen
hacken. Zonder te worden gehinderd door enige kennis van zaken
en zonder te beseffen wat voor schade ze aanrichten, starten
die zo'n programma op dat vervolgens hele reeksen internetcomputers
afzoekt op bekende zwakheden in een systeem.
Tijdens het symposium in Eindhoven werd gesteld dat deze 'Script
Kiddies' een ware plaag zijn op internet.
Pascal
de Koning kan dat alleen maar bevestigen: 'Het zijn aanvallen
waar je je absoluut tegen moet verdedigen. Je hebt er geen
idee van hoeveel je er daarvan voor je kiezen krijgt op een
dag! Die verdediging daartegen begint door regelmatig de nieuwste
security-patches te downloaden en te installeren. Dat is eigenlijk
de beste methode om de Script Kiddy steeds een stapje voor
te blijven.'
Wat
dan overblijft, zijn die andere typen hackers, de mensen van
wie je echt last kunt hebben.
De
Koning: 'Daar moet je je dan op applicatieniveau tegen verdedigen.
We hebben het dan over programmeerfouten. Die komen namelijk
verschrikkelijk veel voor. Dat niveau van beveiliging krijgt
nu eenmaal niet zoveel aandacht. De firewall, die krijgt aandacht!
Maar het programmeren..? Daarbij wordt er vaak vanuit gegaan
dat dat wel goed zit. Mijn ervaring is juist dat het daar
helemaal niet zo goed mee zit.'
Oracle
9i: Unbreakable..?
Op de vraag hoe het met de beveiliging staat van Oracle's
9i, kan Pascal de Koning het niet nalaten te glimlachen: 'Je
kent het, 9i is "unbreakable" als we Oracle mogen geloven'.
Volgens
Pascal is dat standpunt destijds geventileerd omdat Oracle
qua beveiliging wel eens de proef op de som wilde nemen. 'Op
zo'n moment vraag ik me af: Waar ontlenen ze dat aan? Bij
8 riepen ze dat niet, dus moeten er aan 9i extra's zijn toegevoegd
die dat rechtvaardigen. Die hebben wij hier allemaal doorgenomen.
Onze mening: Slechts een paar echt nieuwe dingen, verder hooguit
verbeterde bestaande zaken. Ik durf op grond daarvan dan ook
wel te beweren dat ook Oracle 9i waarschijnlijk de nodige
kwetsbaarheden kent die een hacker kan benutten.'
Functioneel
gezien is er volgens De Koning sprake van implementatie van
een sterke authenticatiemethode op een server.
'Er
kan gebruik worden gemaakt van een wachtwoord, maar ook van
een digitaal cliëntcertificaat. Encryptie van het Oracle-netwerkverkeer.
Dat heette vroeger SQL-net, toen Net8, vervolgens… Daar is
versleuteld dataverkeer gebruikt, maar dat is niet nieuw.
Dat is al zeker twee jaar zo.'
Echt
nieuw: 'row level' authorisaties
Wat volgens De Koning echt nieuw is, zijn de zogenaamde 'row
level' authorisaties.
'Daarmee
kun je iemand toestaan een bepaald veld in te zien; daarmee
wordt op dataniveau aangegeven wie wat mag zien.'
De
Oracle-opmerking: 'Databescherming te allen tijde' levert
van de zijde van De Koning de opmerking op: 'Datarecovery
bedoelen ze. Daar zijn wel verbeteringen in aangebracht. Dat
is op zich een goede zaak, maar… niet nieuw. Dat kennen we
al vanaf versie 1.'
Encryptie
van data op de server zelf dan. Is dat wellicht wel..?
'Ook niet echt nieuw,' meent De Koning. 'Ik vraag me eerlijk
gezegd ook af wat je daar echt aan hebt. Dan praten we in
feite over iemand die fysiek toegang moet kunnen krijgen tot
het systeem. Dat betekent dat er moet worden ingebroken en
dat de server moet worden gestolen… Ja, qua fysieke beveiliging
is het daarmee goed geregeld.'
Een
terechte opmerking tijdens de Centor-presentatie was dat het
wel degelijk beschermt tegen administrators die op file-system
door de data neuzen. Het beschermt niet tegen hackers die
uit de applicatie breken via SQL-injection. In totaal meent
De Koning dat Oracle 9i zo'n zeven à acht security-items bevat,
waarvan hij de 'row level' beveiligingsauthorisatie wel de
meest interessante vindt.
'Dat
is een goede. Die is niet zo makkelijk te omzeilen. Het enige
dat je in dat geval als hacker kunt doen, is proberen je privileges
te verhogen. Door bijvoorbeeld als een andere gebruiker naar
de database te gaan, waardoor je meer en hogere privileges
krijgt die je wel toestaan de database in te zien. Dat is
dan weer een volgende stap. Het maakt het niet onmogelijk
om in te breken; het maakt het al wel weer een heel stuk moeilijker.'
Het
zijn echter de kwetsbare plekken in de software die hackers
gebruiken om een machine binnen te dringen. Ir. Pascal de
Koning noemt als voorbeeld de buffer overflow-mogelijkheid
in Oracle-software.
'Als
die in een programma voorkomt, kun je daar als software-ontwikkelaar
weinig tegen doen,' zegt hij. 'Je moet het wel, zodra je ervan
hoort, in de gaten blijven houden. Zorg dat je dan zo snel
mogelijk de hierop van toepassing zijnde security-patch draait,
zodat je op dat punt niet langer kwetsbaar bent.'
Zwakke
plekken door ontwerpfouten
Wat dan nog overblijft, zijn de zwakke plekken die ontstaan
door ontwerpfouten in de software zelf, in de zelfgebouwde
software.
'Neem het voorbeeld van gebruikers die moeten aanloggen om
data te kunnen inzien. Zodra ze de data gaan inzien, blijkt
dat je niet echt aangelogd had hoeven zijn. Je moet aanloggen
om dat menuutje te krijgen en in dat menuutje staat dan de
button "Toon mij de data". Als je zou weten hoe dat commando
van "Toon mij de data" eruit ziet, zou je niet hoeven aan
te loggen. Dat is een ontwerpfout en hackers maken vaak van
dat soort dingen gebruik. Of dat er dingen worden gelogd die
niet gelogd hadden moeten worden. Denk bijvoorbeeld aan wachtwoorden.
Bij het ontwerp is niet goed nagedacht over de log in, dus
wordt er maar iets gelogd, een beetje willekeurig. Wachtwoorden
worden dan wel gelogd en transacties ook en zo. Het is dan
zo dat die log-files heel interessant worden voor hackers.
En die log-files, die zijn bijvoorbeeld weer minder goed beveiligd.
Die zijn zo leesbaar. Dat maak je ook mee.'
Dan zijn
er ook nog de zogenaamde programmeerfouten. Een voorbeeld:
Iemand heeft een zoekmachine gebouwd. Als daar dan wat velden
worden ingevuld, worden er wat commando's aan elkaar geplakt
tot een geldig SQL-statement. Dat wordt dan aan de database
doorgegeven. Een veel voorkomende situatie. Maar.., door die
SQL-statement gewoon uit te breiden - wat niet de bedoeling
was, maar vaak wel mogelijk blijkt - wordt de database op
een heel andere, oneigenlijke manier benaderd.
De
Koning: 'Ik ga bijvoorbeeld zoeken op de naam van een auteur.
Zeg maar Jansen. Dan breid ik dat uit met or select alle wachtwoorden
uit een bepaalde tabel. Dat wordt dan de hele zoekterm die
aan de database wordt doorgegeven. Doe ik dat goed, dan krijg
ik op mijn scherm netjes alle wachtwoorden uit de tabel te
zien.'
Het is
voor ontwikkelaars uiterst belangrijk te begrijpen hoe zoiets
werkt. En - nog belangrijker - hoe je dat afschermt.
'Je
moet weten hoe dat soort aanvallen plaatsvinden, van welk
mechanisme gebruik wordt gemaakt en hoe je je daar dan tegen
kunt verdedigen,' aldus De Koning, die op de vraag welke adviezen
hij de Oracle-ontwikkelaars op dat gebied kan geven, antwoordt:
'Om eens een training Secure Programming te volgen. Dan zie
je de fouten en hoe hackers dat gebruiken. Als je dat eenmaal
ervaren hebt, weet je ook hoe je het kunt voorkomen.'
Niets
is 'unbreakable'
Hoe staat het nu met Oracle-programmatuur. Is die nu 'unbreakable'
of niet? Dat is een vraag waar we toch wel graag een eenduidig
antwoord op zouden willen. Maar ook op dat punt houdt De Koning
(net als bij de presentatie die hij donderdag 30 mei voor
bij Centor geregistreerde Oracle-specialisten hield) een slag
om de arm.
'Oracle
heeft zelf een aantal vergelijkende onderzoeken laten uitvoeren.
Daarbij komen zij als beste uit de bus. Je kunt daar natuurlijk
je vraagtekens bij zetten aangezien zij die onderzoeken zelf
hebben aangevraagd en opgezet. Maar feit blijft dat zij het
hebben laten onderzoeken. Mijn mening? Oracle is niet "unbreakable";
niets is "unbreakable". Maar Oracle is gewoon een heel goede
RDBMS. Ik heb zelf met diverse Oracle-producten gewerkt; ik
weet waar ik over praat. Oracle is niet feilloos, maar ze
besteden veel aandacht aan beveiliging. Zeker bij 9i. Het
is prettig te weten dat ze daar serieus werk van maken. Maar
dat neemt niet weg dat je zelf ook alert moet zijn.' En dat
kan hij niet hard genoeg benadrukken.
'Mensen
zeggen als je het over beveiliging hebt: Ja, maar… dat doet
Oracle toch? Die leggen dus de verantwoordelijkheid voor beveiliging
bij de software die ze gebruiken. Zij staan er niet bij stil
dat wat ze zelf doen ook verschrikkelijk onveilig kan zijn.
Dat is ontwikkelaars eigen. Die zijn te sterk gericht op het
realiseren van functionaliteit, terwijl je voor beveiliging
juist vaak dingen onmogelijk moet maken. Uiteindelijk wordt
er een programma opgeleverd en je vraagt: "Is het goed?" en
het antwoord is: "Ja, want het doet precies wat er in het
Functioneel Ontwerp (FO) staat". Dan vraag je of het ook veilig
is. En dan zeggen ze dat dat geen eis was aan het Functioneel
Ontwerp (FO)...'
Dus veiligheid
wordt vaak bij software neergelegd of bij de Firewall en het
Intrusion Detection System. Het overgrote deel van de Nederlandse
bedrijven vertrouwt op de firewall als beveiliging. Niet terecht,
volgens De Koning, die meldt dat een firewall enkel dient
voor het tegenhouden van bepaalde datastromen op een heel
laag niveau.
Het antwoord
tegen de activiteiten van hackers is dus: zorg voor de juiste
software, configureer de machine veilig, harden de software
door het toepassen van de nieuwste veiligheidspatches en zorg
dat er geen dingen openstaan die niet horen open te staan.
De deur even op een kiertje laten staan is genoeg voor een
hacker om een machine binnen te dringen. Met alle gevolgen
vandien.

|
|