image

Iedereen kan veilig programmeren

dinsdag 17 mei 2005, 13:34 door Redactie, 15 reacties

Security is iets waar ik me eigenlijk nooit druk om maakte. Moeilijk gedoe van IT-professionals die het over zaken hadden waar ik toch nooit mee te maken zou krijgen. Nee, laat mij maar lekker programmeren. Mijn interesse in security begon toen de website van het bedrijf naast ons gehackt werd. Een of andere "lolbroek" moest zonodig de voorpagina wijzigen en alle bestanden op de webserver weggooien. Aangezien het bedrijf geen recente backups had, heeft dit nog voor veel problemen gezorgd. Om een zelfde situatie te voorkomen besloot ik me te verdiepen in veilig programmeren. Via via kwam ik op Security.NL terecht en uiteindelijk bij de Pine Secure Webdevelopment workshop.

Door Gijs Kooij, programmeur bij van der Have media.

Volgens de beschrijving zou ik na het volgen van de workshop in staat zijn om fouten te vinden in andermans, maar ook in eigen code, waardoor die "de toets der hackers" zou kunnen doorstaan.

De workshop werd gegeven in een kantoorruimte in Den Haag. Samen met negen andere deelnemers kregen we te horen hoe de dag was opgebouwd en wat we zouden doen. Er werd echter begonnen met een uitleg van wat hackers zijn. Veel mensen hebben een onjuist beeld van hackers als cybervandalen die systemen platleggen en creditcardgegevens stelen. Het zijn juist scriptkiddies en crackers die schade aanbrengen, maar dat hoef ik bezoekers van security.nl niet te vertellen. Nu wilde onze trainer geen leuk verhaal ophouden. We moesten namelijk leren hoe hackers denken. Hoe kijken zij naar een site. Als ik met een site bezig ben let ik vooral op functionaliteit en hoe die eruit ziet. Het laatste waar ik dan mee bezig ben is iemand die door het toevoegen van een paar quotes allemaal vertrouwelijke gegevens weet te verkrijgen. Geen hogeschool informatica, maar slechts een paar goed geplaatste quotes kunnen meer schade veroorzaken dan veel mensen denken.

De browser is machtiger dan het zwaard
Dat het bij hacken niet alleen om bepaalde programma's draait bleek wel uit het gereedschap de we toegewezen kregen. Slechts een browser en een goede editor zijn het enige wapenarsenaal waarmee we ons gastenboek te lijf gingen.

De opdracht bestond uit het "hacken" van een gastenboek. In totaal zouden we vijf gastenboeken moeten kraken, waarbij in elk gastenboek een fout aanwezig was wat door een aanvaller misbruikt zou kunnen worden. Bij het eerste gastenboek kregen we te maken met directory traversal. Hierdoor is het mogelijk om commando's uit te voeren op het systeem. In eerste instantie had ik eigenlijk geen idee, ook al was de code niet zo lang, waar ik moest kijken, maar na een paar tips en wat uitleg van de instructeur zag ik inderdaad wat er allemaal mis kan gaan. Verder keken we wat er fout kan gaan met SQL injectie, XML Injection, en Cross Site Scripting (XSS). Bij het niet goed implementeren van XSS kan een aanvaller bijvoorbeeld wachtwoorden en sessie cookies achterhalen.

De trainer probeerde ons al spelende wijs inzicht in het hacken van het gastenboek te geven, wat ook een echte uitdaging begon te worden. Kwamen we er niet uit dan was hij aanwezig om tips en pointers te geven, maar hacking is meer dan een rijtje uit je hoofd leren. Het is een combinatie van kennis en inzicht, anticiperen wat bepaalde code doet en zien hoe dit misbruikt kan worden, en dat wist de trainer goed over te brengen.

Voor we het wisten was de dag voorbij en had ik toch een aantal essentiele dingen geleerd die me bij het ontwikkelen van websites en applicaties zeker van pas komen. Ook kan ik nu vrienden en collega's adviseren als zij snel willen weten of er iets mis met hun site of applicatie is. Een absolute aanrader!

Update: tekst aangepast

Reacties (15)
17-05-2005, 17:17 door Timbo
*** EOS (end of spam ;) ) ***
17-05-2005, 20:22 door GateHawk
Bedrijven kunnen een firewall, virusscanner, ids en veel
meer hebben maar ongeveer 80% van de aanvallen gebeurd nog
steeds via de web-poort, en dus de service die erachter
draaid. Kan en klare scrips kunnen de ondergang van je
perfect beveiligde server zijn.

Persoonlijk denk ik dat zo'n cursus voor veel
systeembeheerders erg leerzaam kan zijn.
18-05-2005, 12:39 door Anoniem
Jammer dat ik zon cursus niet kan betalen ah 495 ze zouden
een student edition moeten uitvinden ;)
18-05-2005, 12:49 door Anoniem
we kunnen dit dus gewoon onder de noemer "reclame" scharen.
Mag dat er dan boven, redactie?
18-05-2005, 12:56 door SirDice
Door GateHawk
Persoonlijk denk ik dat zo'n cursus voor veel
systeembeheerders erg leerzaam kan zijn.
Niet alleen systeembeheerders, ook webontwikkelaars. Ik ben
ze vaak genoeg tegengekomen.
"D'r zit een SQL-injection bug in jullie site en die ga ik
dus niet in productie nemen"
"Er zit wat in de site?!?!?!"
"SQL-injectie"
Vervolgens laat ik het maar zien en dan kijken ze je aan of
ze water zien branden....
"Huh? Ja, maar jij heb inzicht in de source!"
"Dus?".
"Iemand anders kan daar dan toch niet achterkomen?"
"Yeah, right, keep living in a dreamworld."
18-05-2005, 13:50 door Anoniem
Door SirDice

"Huh? Ja, maar jij heb inzicht in de source!"
"Dus?".
"Iemand anders kan daar dan toch niet achterkomen?"
"Yeah, right, keep living in a dreamworld."


Nou inderdaad. Ik moest laatst nog een beheerder uitleggen
dat het voor mij geen drol uitmaakt of ik Linux of Windows
zie... gewapend met een debugger is alle software open
source... al ziet de source er soms wat vreemder uit...
18-05-2005, 14:13 door SirDice
Hehehe. Inderdaad. De source is soms nog onleesbaarder dan
de uiteindelijke gecompileerde executable...
18-05-2005, 14:25 door Anoniem
Ik wil ook wat van die SQL injecties, XML injecties en XSS op mijn site, hoe
kan ik daar aankomen? En hoeveel sneller wordt het dan?
19-05-2005, 13:40 door Anoniem
Door Anoniem
Ik wil ook wat van die SQL injecties, XML injecties en XSS
op mijn site, hoe
kan ik daar aankomen? En hoeveel sneller wordt het dan?


omg ;-o
19-05-2005, 13:45 door SirDice
Door Anoniem
Ik wil ook wat van die SQL injecties, XML injecties en XSS
op mijn site, hoe
kan ik daar aankomen? En hoeveel sneller wordt het dan?
Ik denk dat jij met een injectie snel uit je lijden verlost
moet worden..
19-05-2005, 14:24 door Anoniem
bleh, wat een re.cla.me is dat zeg... P.I.N.E. had hier
weken geleden ba.nn.ers geplaatst :-S
19-05-2005, 15:45 door raboof
bleh, wat een re.cla.me is dat zeg... P.I.N.E. had
hier weken geleden ba.nn.ers geplaatst :-S
Ze hebben sowieso een hechte band met security.nl: doe maar
eens `whois security.nl', of vergelijk het adres van `The
Security Council' met dat van PINE.

Niks mis mee verder trouwens, juist mooi dat ze zo een
bijdrage leveren aan nederland security-land.
20-05-2005, 08:42 door Anoniem
Wat een afbrekende reacties op een goed artikel. Het lijkt er op dat of we
bang zijn werk te verliezen als programmatuur veilig en bug vrij wordt
gebouwd. Mijn stelling dat; Slechte code kloppers massa’s Security
consultants aan het werk houden; lijkt dus de waarheid!!

Laten we nu zorgen dat code kloppers zicht bewust worden van de
gevolgen van slecht programeer werk.
20-05-2005, 11:14 door Anoniem
Door Anoniem
Wat een afbrekende reacties op een goed artikel. Het lijkt
er op dat of we
bang zijn werk te verliezen als programmatuur veilig en bug
vrij wordt
gebouwd. Mijn stelling dat; Slechte code kloppers massa’s
Security
consultants aan het werk houden; lijkt dus de waarheid!!

Laten we nu zorgen dat code kloppers zicht bewust worden van de
gevolgen van slecht programeer werk.

Dit is geen artikel. Dit is een advertorial. Het heeft een
duidelijke bedoeling, namelijk het verkopen van de cursus
"Veilig Programmeren".
20-05-2005, 11:39 door witje
De volgende link heeft een goed verhaal over SQL Injection

http://www.spilabs.com/support/whitepapers/index.html
Security at the Next Level – Are Your Web Applications Vulnerable?
(PDF: 849KB / 17 pages)
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.