Gatenjagers lijken onkunde van developers te bewijzen, maar de realiteit is lastiger. Dit is de discussie-stelling die Computable-lezers vandaag krijgen voorgelegd.
Het succes van security-onderzoekers die gaten zoeken en vinden, lijkt clichés over luie, onkundige, afraffelende en opgejaagde developers te onderbouwen. Beruchte gatenjagers als Tavis Ormandy, van Google’s speciale zero-day-zoekers Project Zero, weten keer op keer te misbruiken bugs te vinden in software van derden. Daaronder ook juist veelgebruikte software, afkomstig van grote namen en gevestigde leveranciers. En ironisch genoeg ook zelfs securitysoftware.
Ormandy en zijn vakgenoten stuiten in hun onderzoekswerk op stomme slordigheden, gênante programmeerfouten en security-schendende software-ontwerpen. Toch wil hun succes niet zeggen dat developers per definitie slecht werk afleveren. Het is namelijk veel moeilijker om goed en veilig software te ontwikkelen en te testen, dan het is om er ‘gaten in te schieten’. Dit wil overigens ook weer niet zeggen dat bug hunting makkelijk werk is. Wel is het zo dat software-testing complex is, een vak apart.
Wat vind jij?
Ik ben het eens met de stelling “dat het veel moeilijker is om goede en veilige software te ontwikkelen, dan het is om er gaten in te schieten”.
In analogie met het spreekwoord: “één gek kan meer vragen dan tien wijzen kunnen beantwoorden” moeten we realiseren dat een persoon met vernauwde focus op testen (bottom up) gaten kan ontdekken die een projectteam met een top down focus van het business of technisch probleem over het hoofd ziet.
Professionalisme vraagt dat er bij het ontwikkelen en het programmeren gebruik wordt gemaakt van “best practice” (dus niet altijd zelfde fouten) en dat er een scheiding is ingericht tussen het ontwikkelteam en het testteam. Geduld, zin voor detail en binair denken vormen de sleutel van kwalitatief testen vóór de software wordt vrijgegeven. Niet verwonderlijk dat bij het testen, zowel het gebruikerstesten (UAT), het systeemtesten als het regressietesten (dit laatste wordt dikwijls vergeten of achterwege gelaten om kosten te drukken), de voorkeur uitgaat naar mensen met autisme.
Al jaren waarschuw ik voor het inboeten van gedegen werk door IT professionals door, ondermeer het wegzetten van gedegen weldenkende en acterende senior IT professionals en deze te vervangen door ‘jong talent’ dat telkens maar zo moeilijk te vinden blijkt. Klarblijkelijk, als ik de teneur van dit artikel even volg, lijkt het dat jonge talent maar niet te lukken op een goede geordende en gestructureerde manier, zaken te produceren en op te leveren.
Dit gegeven is niet nieuw als we bijvoorbeeld kijken hoe het met de oceaan aan commerciele appjes is gesteld die dingen verlangen en misbruiken, gewoon default prutswerk, waarvan je gewoon weet dat er gaten en problemen in zitten. Ik vraag me hier hardop af of de IT dienstenleverancier of de betreffende zzp-er het lef heeft die uren bij aantoonbare omissie bij hun klant in te dienen.
Of zijn wij met zijn alle terug in de tijd voor het milennium waar uurtje factuurtje met vorken schrijven een soort van norm was?
Een fout maken is menselijk. Een fout niet oplossen is tegenwoordig blijkbaar acceptabel…
Veruit de grootste foutenkans zit in het interface met de software van derden die gebruikt moet worden bij de ontwikkeling van een applicatie. Het “dichttimmeren” van de mogelijke veligheidslekken in utilities, communicatie sw en besturingssystemen is veel moeilijker dan de applicatie zelf.
Softwareontwikkelaars zouden derhalve voorop moeten lopen bij het eisen van een intrinsiek veilig systeem van utilities, communicatie sw en besturingssystemen. Overheden zouden deze verantwoordelijkheid moeten ondersteunen met adequate wetgeving en bijbehorende sancties.
Blijkbaar is dit enige manier om tot gebruiksvriendelijke ICT te komen. De industrie zèlf kan het niet en/of wil niet. Overigens om min of meer begrijpelijke (verdienmodel)redenen…
Een fout maken is menselijk. Een fout niet oplossen is tegenwoordig blijkbaar acceptabel…
Veruit de grootste foutenkans zit in het interface met de software van derden die gebruikt moet worden bij de ontwikkeling van een applicatie. Het “dichttimmeren” van de mogelijke veligheidslekken in utilities, communicatie sw en besturingssystemen is veel moeilijker dan de applicatie zelf.
Softwareontwikkelaars zouden derhalve voorop moeten lopen bij het eisen van een intrinsiek veilig systeem van utilities, communicatie sw en besturingssystemen. Overheden zouden deze verantwoordelijkheid moeten ondersteunen met adequate wetgeving en bijbehorende sancties.
Blijkbaar is dit enige manier om tot gebruiksvriendelijke ICT te komen. De industrie zèlf kan het niet en/of wil niet. Overigens om min of meer begrijpelijke (verdienmodel)redenen…