image

"School leert student onveilig programmeren"

dinsdag 29 november 2011, 12:21 door Redactie, 11 reacties

Scholen en universiteiten gebruiken allemaal lesmateriaal met voorbeelden van onveilig programmeren, waardoor programmeurs nog steeds fouten zoals SQL Injection en buffer overflows maken. Dat zegt Joe Stewart, directeur malware-onderzoek van Dell SecureWorks, in een interview met Security.nl. "Er is gewoon geen excuus meer om onveilig te programmeren. Mensen weten hoe buffer en integer overflows werken." Toch worden dit soort zaken niet door scholen aan nieuwe programmeurs geleerd. De voorbeelden waar studenten mee werken zijn zeer kwetsbaar, waardoor ze kwetsbare programma's blijven maken, merkt Stewart op. "Daar zou ik me vooral op richten."

Stewart is geen groot voorstander van het onderwijzen van eindgebruikers. "Dat heeft tot op zekere hoogte effect, maar het onderwijzen van programmeurs staat erg hoog op mijn lijst."

Eindgebruiker
Wat betreft het onderwijzen van eindgebruikers spreekt Stewart vooral uit eigen ervaring. "Ik heb geprobeerd gebruikers te onderwijzen, ook die het internet elke dag gebruiken, maar ze zullen slechts een klein gedeelte van de problemen begrijpen." IT'ers nemen volgens Stewart te eenvoudig voor lief hoe computers, het internet en dreigingen werken. "Maar veel gebruikers snappen het gewoon niet. Ze weten hoe ze op Facebook moeten komen en hun e-mail checken, maar daar houdt het dan ook bij op."

Dan gaat het ook om gebruikers die met deze technologie en het internet opgroeien. "Je zou verwachten dat ze intuïtief dit soort dingen zullen snappen, maar dat is niet zo. Ze kunnen alleen de dingen op het internet doen die ze willen doen."

Het internet is dan ook nog steeds een plek voor geavanceerde gebruikers, die in technologie geinteresseerd zijn, omdat hun hersenen op een bepaalde manier werken, gaat Stewart verder. "Zij begrijpen het, voor de rest is het gewoon een tool. Net als met auto rijden. Ze kunnen de auto besturen, maar hebben geen kennis van de motor."

Aansprakelijk
Stewart vestigt zijn hoop dan ook vooral op systeembeheerders en programmeurs om de IT-omgeving veiliger te maken. "Maar dan moet je wel het lesmateriaal aanpassen. Daar moet security al vanaf het begin aan mee worden genomen." Het is echter de vraag of de overheid dit voor onderwijsinstellingen kan verplichten.

Een betere optie is misschien het overlaten van de vraag naar veilige programmeurs en programma's aan de marktplaats. "Het is belangrijk dat kopers worden gestimuleerd om veilige producten aan te schaffen", zegt Stewart.

Vaak wordt er eerst naar features gekeken en komt security pas veel later. "Misschien moet er eerst een mentale koppeling komen tussen cybercrime en degene die onveilige software heeft gemaakt. Misschien moet de programmeur wel aansprakelijk worden gehouden. Er is in ieder geval geen eenvoudige oplossing voor het probleem."

Reacties (11)
29-11-2011, 13:24 door Overcome
Hoe ging de uitspraak van Mark Twain ook alweer:

I've never let my school interfere with my education.

Op school leer je in de meeste gevallen weinig over wat je in je latere carriere nodig hebt. Hoe langer je in het bedrijfsleven zit, hoe groter de gap is tussen datgene wat je hebt geleerd op school en datgene dat je nodig hebt om te functioneren. Het enige dat ik heb geleerd op school is een bepaalde manier van analytisch denken. Dat is het enige dat ik nu nog gebruik in mijn werk als security analist. De rest is aangeleerd in relevante cursussen, praktijkervaring, af en toe wat examens, goed luisteren, na ieder project een persoonlijke "lessons learned" maken en hard werken.

Is de discussie over de mismatch tussen wat hogescholen en universiteiten afleveren en wat organisaties in het bedrijfsleven willen trouwens niet al jaren aan de gang? Daar is dit een mooi voorbeeld van. De hogeschool denkt een programmeur af te leveren. De kennis van die net afgestudeerde programmeur is voor het bedrijfsleven echter veel te beperkt. Zo zal het ben ik bang nog wel een paar jaar blijven.
29-11-2011, 13:57 door N4ppy
+1 mensen hoeven ook niet te weten hoe ABS werkt maar moeten wel les krijgen in het remmen met abs = niet halfslachtig remmen maar vol er in

"Een betere optie is misschien het overlaten van de vraag naar veilige programmeurs en programma's aan de marktplaats"
Veilig kost (vooraf) geld. Daar heeft de marktplaats vaak een hekel aan geld uitgeven. En de consument ook dus ook daar gaan we het niet vandaan halen.

Uiteindelijk ligt het toch deels bij de wetgever. Security is deels reactief, toch maar een dikker slot op de deur en deels afgedwongen door de wet.
29-11-2011, 14:02 door Anoniem
Hurm, ik heb zelf technische informatica gedaan, ben een jaar geleden afgestudeerd. Wij kregen veiligheid van netwerken en programmeren gewoon bij de vakken hoor. Sterker nog, als je een opdracht inleverde waarbij je SQL injectie kon doen of buffer overflows kon veroorzaken kreeg je dusdanig punten aftrek dat het erg moeilijk was om met die opdracht dan nog een voldoende te halen. Ik weet niet of dat bij elke hogeschool zo is, maar ik kan me niet voorstellen dat ons curriculum heel erg afwijkt.
Ik vraag me af of de heer stewart inderdaad het lesmateriaal van alle scholen heeft onderzocht, ik weet dat de meeste scholen niet erg happig zijn op het zomaar uitgeven van lesmateriaal aan iedereen die daar om vraagt.
29-11-2011, 14:59 door Anoniem
En naar welke scholen is meneer Joe Stewart dan geweest om dat te controleren? Moet hij in de randstad toch eens beter kijken voordat hij wat roept! Niet dat het niet beter kan, maar toch...
29-11-2011, 16:22 door faridje
De kop is niet helemaal juist hoor.... Het klinkt net alsof de school BEWUST hun scholieren fout leert programmeren, dat slaat natuurlijk nergens op. Ben het compleet eens met de stelling dat scholen zich daar beter over dienen te buigen maar het gaat een beetje ver om te zeggen dat scholen hun scholieren verkeerd leren programmeren en al helemaal om een programmeur verantwoordelijk te stellen voor cybercrime hahaha.

Dat is hetzelfde als JIJ vervolgt wordt omdat je je voordeur open hebt laten staan en ze halen je huis leeg. Kom op ff nadenken.
29-11-2011, 16:53 door spatieman
inholland opleiding zeker.
29-11-2011, 20:26 door lucb1e
Door Anoniem: Hurm, ik heb zelf technische informatica gedaan, ben een jaar geleden afgestudeerd. Wij kregen veiligheid van netwerken en programmeren gewoon bij de vakken hoor. Sterker nog, als je een opdracht inleverde waarbij je SQL injectie kon doen of buffer overflows kon veroorzaken kreeg je dusdanig punten aftrek dat het erg moeilijk was om met die opdracht dan nog een voldoende te halen. Ik weet niet of dat bij elke hogeschool zo is, maar ik kan me niet voorstellen dat ons curriculum heel erg afwijkt.
Goed om te horen dat het op het HBO beter is. Op het MBO krijgen we wel algemeen geleerd hoe het controleren, valideren en escapen van data werkt, maar applicaties worden zeker niet nagekeken op veiligheid. Ik geloof niet dat ook maar één leraar het überhaupt ooit over een SQL-injectie heeft gehad. We krijgen die dingen als validatie aangeleerd zodat gebruikers geen ruwe errors krijgen waar ze niks mee kunnen, maar feedback over dat ze bij "aantal" het woord "drie" hebben ingevuld ofzo.

Edit: Cool, tijdreizen op security.nl xD http://g2f.nl/udm8vi
30-11-2011, 07:55 door Anoniem
Hij heeft natuurlijk wel een punt. Maar... Het hele probleem van die overflows zit 'm in de von Neumann architectuur. Maak er iets knaps zoals Harvard van en het wordt ineens heel veel minder interessant. Verder dan een Denial Of Service kom je dan niet. Men probeert met lapmiddelen als DEP zoiets te forceren, want ja... Een echte oplossing past M$ niet...

Lost natuurlijk niks op aan SQL injection. Maar ook daar is wel wat aan te doen door eea. iets meer te compileren en wat minder te interpreteren.

Probleem bij 'veilig programmeren' blijft toch dat je maar 1 foutje hoeft te maken. En ook iemand die erg security-minded is maakt wel eens een foutje... (waarbij dit overigens geen pleidooi is om maar aan te rommelen, dat moge duidelijk zijn)
30-11-2011, 08:47 door SirDice
Door N4ppy: mensen hoeven ook niet te weten hoe ABS werkt maar moeten wel les krijgen in het remmen met abs = niet halfslachtig remmen maar vol er in
Als ABS aanslaat rem je juist te hard. Doe eens een anti-slipcursus, dan begrijp je wat ik bedoel (kort samengevat, je remweg is langer). Maar ben het wel eens dat je niet hoeft te weten hoe het werkt als je maar wel weet hoe je het moet gebruiken.
30-11-2011, 10:04 door Thaddy
Moderne ICT opleidingen in Nederland besteden inderdaad aandacht aan veiligheid.
Zelfs op MBO opleidingen. Het valt wel op dat dit pas een relatief korte tijd het geval is.

Bij een oud-wergever, waar de ICT organisatie, architectuur en ontwikkelteams tot de top die ik ken behoren, viel tijdens de voor iedereen verplichte jaarlijkse ECSP (voor sommigen ook CEH of CISSP) cursussen op, dat het niveauverschil op security gebied wel erg uiteen liep: old hands en jong spul waren goed ingevoerd, maar ons middengebied had er gemiddeld toch wat moeite mee.
Eenmaal heeft dat er - vlak na een fusie - toe geleid dat men het programma heeft moeten aanpassen om dat een - net ingestroomd - deel de basis niet goed onder de knie had.

Het gaat dus niet alleen om dat opleiden vanuit de onderwijs instellingen.
Ik constateer dat dat steeds beter is, zeker op HBO en WO, maar ook op het MBO.

Wat ik constateer is dat er met name in het wild nogal wat schapen rondlopen.
Vandaar ook dat er bij deze werkgever - meer dan elders in de branche - veel aandacht aan verplichte security opleiding en certificering werd (wordt, hoop ik?) besteed.

Maar deze wijze van opleiden, zeker door bedrijven als bijvoorbeeld Data-Sentry, geen reclame, wel een relatie, er zijn meer goede - is niet weggelegd voor het MKB en lagere overheden.
Het geld wordt denkt men lastig kwantificeerbaar terugverdiend en het is vrij kostbaar, Verplicht 3 weken full-time scholing per jaar per werknemer onder werktijd wordt in het MKB nog steeds weggelachen, helaas.

Een groot deel van mijn tijd gaat op aan awareness training, architectuurfouten, rechtenkwesties, het laten parameteriseren van invoer, omzetten naar stored procedures, zoneren van databases en auditten van sourcecode en/of het https 'en van het zoveelste winkelwagentje. Je wordt immers vaak pas gevraagd na een incident!
Basale dingen, dus, waar ik, vind ik zelf ook, veel te duur voor ben.
Dat type werk kost bij mij en collega's immers minimaal op locatie vanaf €900,- per dag,
Training geven is wel wat duurder, vanaf €2200,- per dag /4p.

Zo'n paar - liefst jaarlijkse - 5 daagse cursussen heeft de opdrachtgever dan al binnen drie weken terugverdiend, maar dat wil men niet zien. Al zet ik dat altijd wel in mijn rapportages.

Kortom: over het algemeen zit het met het huidige onderwijs meestal wel goed.
Maar dat betekent niet dat de gemiddelde beheerder of coder in het wild dat huidige onderwijs, met aandacht voor security, heeft gehad.

In tegendeel.

p.s.:
(vanaf €2200 is gerelateerd aan licentiekosten certificeringen en materiaal, natuurlijk, voordat we weer tarief gaan bashen, het is ook geen werving. Ik zit vrijwel vol, net als de meeste van mijn conculega's vermoed ik.)
01-12-2011, 13:10 door Anoniem
Controle op programmeerwerk, voordat je het released.

Tools genoeg op de markt die controle op veiligheid/snelheid van programmeertalen.
Reageren

Deze posting is gelocked. Reageren is niet meer mogelijk.