Development

Software-ontwikkeling
Open Source

SIG Benchmark: omgang met open source is tikkende tijdbom

Kwaliteit software blijft wel stijgen.

© Shutterstock VectorMine
22 juni 2022

Kwaliteit software blijft wel stijgen.

Zo'n acht op de tien softwareprojecten in productie bevatten opensourcecomponenten. Maar de omgang met die componenten is bij veel bedrijven wat laks. De gebruikte pakketten zijn lang niet altijd up-to-date, ze bevatten regelmatig bekende kwetsbaarheden en ze kunnen de kwaliteit van software naar beneden halen. De Software Improvement Group (SIG) spreekt daarom in zijn benchmark van 2022 van een 'tikkende tijdbom'.

SIG analyseerde voor zijn vierde jaarlijkse Benchmark Report maar liefst 70 miljard regels code in ruim 300 technologieën. In totaal werden 7.500 systemen geanalyseerd, 1.200 meer dan vorig jaar.

Uit die uitgebreide analyse van softwaresystemen komt deels goed nieuws: de kwaliteit van softwareprojecten blijft stijgen. "Tien jaar geleden moesten we nog echt bij klanten aandringen dat ze gingen unit testen of tests gingen automatiseren. Dat hoeft niet meer", zei Magiel Bruntink, head of research bij SIG, tijdens de presentatie van het rapport. "Dit geeft echt aan dat als je mee wilt komen met concurrenten, je je softwareprojecten moet blijven verbeteren."

Updaten gaat te traag

Maar het SIG-softwarerapport bevat dit jaar dus ook een flinke waarschuwing, en wel op het gebied van open source. Daar is veel meer aandacht voor nodig, vindt SIG, omdat er nu veel fout gaat. Zo blijkt dat als er een update beschikbaar wordt van een open source library, deze vaak pas jaren later geïnstalleerd wordt. Dat kan gevaarlijk zijn, want in die verouderde libraries kunnen kwetsbaarheden zitten die nu - en de komende tijd - niet gedicht worden.

"Zo'n één op de tien pakketten die nu gebruikt worden, heeft bekende kwetsbaarheden, maar wordt nog steeds gebruikt", zegt Bruntink hierover. Ook de aanwezigheid van kritieke kwetsbaarheden blijkt er niet eens voor te zorgen dat libraries geüpdatet worden. 70% gebruikt na een jaar nog steeds Java-libraries met een bekende kwetsbaarheid, blijkt uit het onderzoek van SIG naar systemen die in de praktijk worden gebruikt.

Een gedeeltelijke oplossing zit volgens het rapport in het geautomatiseerde beheer van dependencies. Libraries die niet geautomatiseerd beheerd worden, worden namelijk twee keer langzamer geüpdatet dan pakketten die wel geautomatiseerd beheerd worden.

Shift-left en legacy

Om het probleem aan te pakken, adviseert SIG bedrijven om actief aan de slag te gaan met shifting-left op het gebied van security en supplychainrisico's. Dat houdt in dat bedrijven in een vroeger ontwikkelstadium al aan de gang gaan met het vinden, mitigeren of oplossen van beveiligingsproblemen. "Dit kan bereikt worden door de zichtbaarheid op problemen diep in software-ecosystemen te verhogen en teams de mogelijkheid te geven om ze snel aan te pakken", aldus het rapport. Daarbij is het ook belangrijk dat er geïnvesteerd wordt in opensourceprojecten.

Een ander advies van SIG draait dit jaar om de aanpak van legacy, dat nog steeds een "olifant in de kamer" is. En alleen werken met nieuwere technologieën, zoals low code, biedt daar volgens SIG geen directe oplossing voor. "Technologieën als low code en andere moderne programmeertechnologieën bieden vaak de potentie om de kwaliteit te verbeteren, maar zijn geen directe oplossing voor de vaak risicovolle en dure taak om oude software te vervangen. Daar is nog steeds engineering-werk en veel zorgvuldige migratieplanning voor nodig, wat veel organisaties niet goed zelf kunnen doen."

Best scorende branches en technieken

Net als vorig jaar is de softwarekwaliteit binnen de sector Industrieel Transport gemiddeld gezien het hoogste. De kwaliteit van software daar krijgt een score van 3,44 op een schaal van 5 en dat is 0,44 hoger dan het algemene marktgemiddelde. Verder doet de sector Energie, Olie en Gas het goed, met een gemiddelde score van 3,40. En ook Banking haalt de top drie, met 3,32 punten. 

Qua gebruikte technologieën levert low code gemiddeld gezien de beste softwarekwaliteit. Deze technologie krijgt een score van 3,37, wat dus 0,37 hoger is dan het marktgemiddelde. “Het is nieuwe technologie en er worden veelal kleinere systemen mee gebouwd”, verklaarde Luc Brandts, CEO van SIG, vorig jaar al. Als de systemen groter worden, kan de kwaliteit echter minder worden. Op de tweede plaats staat Scripting en Mobile met 3,30 punten, gevolgd door Java met 3,29 punten.

1
Reacties
Marcel den Hartog 23 juni 2022 10:30

In een recent rapport van Gartner staat de verontrustende conclusie dat over 2,5 jaar het percentage API's dat niet beheerd wordt ongeveer 50% zal bedragen. Tel dat op bij de Open Source code die de eigen ontwikkelaars gebruiken of die "verpakt" zit (de software supply chain) in de commerciële of Open Source applicaties die gebruikt worden en het zal iedereen duidelijk zijn dat applicatie ontwikkeling een grote bron van zorg zou moeten zijn. Oude versies van OS software met bekende bugs, API's waarvan niemand weet wie de eigenaar is en wat voor (gevoelige) gegevens er uitgewisseld tonen aan dat het beheer van software en API's zelden op orde is.

Helaas hebben hackers hun zaakjes wel op orde en zij weten dan ook precies welke vulnerabilities er zijn.
Op 23 juni werd bekend gemaakt dat er cyberaanvallen zijn op de bondgenoten van Oekraïne en dat de hackers bij 29 procent van de netwerken succesvol binnen wisten te komen (https://www.telegraaf.nl/nieuws/129678609/live-russen-begonnen-met-cybe…).

Veiligheid begint bij onszelf. Als je niet weet wat voor componenten er allemaal door je applicaties gebruikt worden (Open Source, API's, interne code) dan is het alleen maar de vraag wanneer de klap komt.

Controleer de afkomst en de actualiteit van de OS software die binnen uw bedrijf gebruikt wordt. Vraag uw software leveranciers om een actief update beleid en als uw ontwikkelaars API's bouwen, doe dat dan op een beheerde, gecontroleerde en veilige manier (https://www.agconnect.nl/whitepapers/secure-api-s-by-design). We hebben al genoeg onzekerheden uit het verleden, laten we er geen nieuwe ellende bijbouwen.

Reactie toevoegen
De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.