Door Erik van Straten:Het punt dat ik probeer te maken is dat, wij beveiligers, veel te weinig als aanvallers denken. Hoe hard we ook ons best doen om een specifieke site zoals digid.nl te beveiligen (kan trouwens ook beter, zie mijn bijdrage over RC4): uiteindelijk gaat het erom dat we systemen realiseren waar alle bezoekers (landgenoten in dit geval), ook ouderen, laag opgeleiden en/of allochtonen, zo veilig mogelijk gebruik van kunnen maken.
En de aanvallers snappen de zwakheden van de mensen die erin tuinen weer uitstekend, die moet je ook meenemen in je begripskader. En softwaremakers moeten op een heel andere manier rekening houden met die zwakheden dan ze nu doen.
Een voorbeeld dat ik maar opnieuw blijf meemaken illustreert het uitstekend. Ik noem uit mijn hoofd de URL van een website aan iemand. Die persoon opent zijn webbrowser, heeft de Google-zoekpagina als homepage ingestelt, en tikt de URL niet in het URL-veldje van de browser maar als zoekargument bij Google in, om vervolgens op de eerste link te klikken zonder maar te kijken of het wel de gezochte website is. Als ik erop wijs dat ze dat beter in het URL-veldje van de browser in kunnen tikken krijg ik een blanco blik terug, ze snappen helemaal niet waar dat URL-veldje voor dient en vinden het makkelijker om alles altijd via Google te doen. En tot overmaat van ramp zien ze meestal ook niet in waarom ze iets lastigs erbij zouden moeten leren, ze missen het soort nieuwsgierigheid naar hoe dingen werken dat veel IT'ers volop hebben en het werkt toch?
Wat is een typische reactie van softwarebouwers, of misschien moet ik UI-ontwerpers zeggen (of die vreselijke term UX-designer)? Die concluderen dat dit te moeilijk is voor "de" gebruiker en maken het "overzichtelijker" met een gecombineerd URL- en zoekveld in de browser. Je hoeft je niet meer druk te maken over wat je waar moet intypen, dat lost de software wel voor je op. Dat zou in dit geval nog wat oplossen ook: als de software herkent dat het een URL is slaat het de zoekmachine over en gaat het rechtstreeks naar de website, wat het risico vermindert dat de gebruiker op het verkeerde zoekresultaat klikt. Maar bij het minste en geringste typefoutje slaat het om in een nadeel: je krijgt resultaten terwijl je die niet zou moeten krijgen.
Ik ben me in toenemende mate gaan ergeren aan dit soort behulpzaamheid van softwarebouwers. Door voortdurend te versluieren hoe iets eigenlijk werkt wordt die computer namelijk niet begrijpelijker voor veel mensen maar juist steeds magischer. Qua operationeel leren (welke handelingen moet je verrichten om tot een resultaat te komen) wordt het makkelijker, maar qua begripsvorming is het een achteruitgang.
Toen ik met computers leerde werken waren ze eenvoudig. Je had bestanden en directory's waar die bestanden in stonden. Je had programma's en databestanden, en de programma's dienden om databestanden te verwerken. Dat is enorm verwaterd. Wat ooit databestanden waren kunnen tegenwoordig ook een zelfstandige applicaties zijn, denk aan Word- en Excel-macro's. Allerlei programma's en acties worden automatisch gestart zonder dat je als gebruiker nog goed zicht hebt op wat er gebeurt, denk aan autorun en aan drive-by-downloads. Directorystructuren zijn welhaast onbegrijpelijk geworden door alle virtuele mappen die tegenwoordig voor van alles en nog wat worden aangemaakt. In het internet/cloud-tijdperk worden zaken nog verwarrender gemaakt doordat steeds onduidelijker is waar een applicatie eigenlijk draait en waar de data zich eigenlijk bevindt.
Maar die oude eenvoud is nog steeds de basis van hoe nu dingen werken. Er zijn alleen allemaal abstractielagen en automatismen overheen gegooid die in mijn perceptie vaak zijn ontstaan om dingen voor mensen die het niet direct snappen laagdrempeliger te maken. Maar het gevolg is dat computersystemen juist steeds magischer en moeilijker te doorgronden zijn geworden. En dat allemaal door het rare idee dat een van de meest veelzijdige machines die een mens in huis haalt met een kleinere gebruiksaanwijzing dan een nieuwe stofzuiger moet worden geleverd, omdat de norm en de mythe is dat alles intuïtief begrepen moet worden.
De aanvallers snappen de verwarring die onder veel mensen heerst over hoe computers werken waarschijnlijk aanzienlijk beter dan die mensen zelf. Het is verdomd moeilijk om die verwarring te bestrijden zolang software wordt ontworpen op een manier die de eigenlijke werking van iets verdoezelt in plaats van verduidelijkt.
Ik verwacht niet dat ik het ga meemaken, maar ik zou ontzettend graag zien dat de eenvoud weer terugkeert, dat een directory gewoon een directory is (en waarom zouden mensen dat niet kunnen snappen, ze stoppen hun sokken en onderbroeken toch ook in verschillende laden die ze terug weten te vinden zonder een virtuele lade die ze allebei bevat of juist verder scheidt), een programma gewoon een programma en een databestand gewoon een databestand. Documenten met macro's kunnen dan als bundels van programma+data gepresenteerd worden, waarbij onmiddelijk duidelijk is dat het iets anders is dan alleen een document, en waarbij het altijd eenvoudig moet zijn om alleen de data in de tekstverwerker of zo te openen.
Door de concepten eenvoudig te houden en ze in user interfaces voortdurend te benadrukken in plaats van te verdoezelen verhoog je de kans aanzienlijk dat digibeten begrip gaan opbouwen van hoe die computer eigenlijk werkt. En als dat geleidelijk aan beter verankerd raakt in het collectieve bewustzijn wordt het ook makkelijker voor de gemiddelde digibeet - die dan veel minder een digibeet is dan nu - om te herkennen wanneer er iets niet klopt. Zolang de "zal ik dit voor je doen, dat snap jij toch niet"-mentaliteit in software zit voedt die software mensen op om op "zal ik dit voor je doen"-achtige benaderingen door kwaadwilligen in te gaan.