Zephyrnet-logo

Kwetsbaarheidsscan verdrievoudigt, wat leidt tot twee derde minder fouten

Datum:

Volgens het nieuwe rapport "State of Software Security" van Veracode hebben bedrijven de frequentie van het testen van applicatiebeveiliging verhoogd - met drie keer zoveel gescande applicaties en 20 keer meer scans per applicatie - in vergelijking met tien jaar geleden.

De focus op het verhogen van de scanfrequentie, het automatiseren van testen en inzetten, en het opleiden van ontwikkelaars - allemaal kenmerken van de culturele verschuiving die bekend staat als DevSecOps - heeft geleid tot een vermindering van tweederde van het aantal kwetsbare bibliotheken en een vermindering met een derde van de tijd die nodig is om gebreken te herstellen, stelt het bedrijf. Hoewel 77% van de bibliotheken van derden drie maanden na de onthulling nog steeds een bekende kwetsbaarheid heeft, is de halfwaardetijd van fouten in die bibliotheken (de tijd die nodig is om de helft van de fouten te herstellen) drie keer zo snel.

Over het algemeen gaan ontwikkelaars de goede kant op, maar ze hebben nog een lange weg te gaan, zegt Chris Eng, chief research officer bij Veracode.

"Het gaat de goede kant op, wat aantoont dat mensen meer aandacht besteden aan [het eerder vinden van kwetsbaarheden]", zegt hij. "We zien een toename in de acceptatie van verschillende scantypes, met een significante afname van kwetsbare bibliotheken - niet een klein beetje, maar veel."

Het rapport is het resultaat van Veracode die elke applicatie in de database van het bedrijf bekijkt en de trends door de jaren heen analyseert.

Tien jaar geleden maakte de typische Veracode-klant gemiddeld twee of drie scans per jaar, maar nu voeren de meeste ontwikkelaars dagelijkse statische-analysescans en wekelijkse dynamische-analysescans uit, Veracode stelt in het rapport. Zo werd in 2010 slechts 10% van de aanvragen minimaal wekelijks gescand, voor de gemiddelde aanvraag zelfs niet één keer per maand. In 2021 wordt 90% van de aanvragen vaker dan één keer per week gescand, staat in het rapport.

"Continu testen en integreren, inclusief het scannen van beveiliging in pijplijnen, wordt de norm, en dat zien we terug in hoe vaak gebruikers hun applicaties scannen", stelt het rapport. "Hoe eerder in de levenscyclus je problemen ontdekt, hoe groter de kans dat je ze snel kunt oplossen, voordat ze later een groter probleem worden."

Een andere trend die suggereert dat agile ontwikkeling een vlucht neemt en een impact heeft op kwetsbaarheden, is dat ontwikkelingsteams lijken over te gaan tot het opsplitsen van monolithische programma's in kleinere verzamelingen services of microservices. In 2021 gebruikte minder dan 5% van de applicaties meerdere frameworks en talen, vergeleken met 20% in 2018, wat suggereert dat grote softwareprojecten met meerdere talen zeldzamer worden, aldus Veracode.

"Je denkt dat applicaties in de loop van de tijd altijd groter en groter worden - ze worden opgeblazen met code en mensen raken functionaliteit niet kwijt", zegt Eng. "Maar we zien dat ze kleiner worden, dat deze eentalige applicaties erop wijzen dat ontwikkelaars microservice-architecturen adopteren."

De verschillende soorten testen hadden de neiging om verschillende soorten kwetsbaarheden te vinden, met uitzondering van het lekken van informatie, een veelvoorkomend probleem dat bij elke testtechniek wordt aangetroffen. De meest voorkomende fouten die door statische analyse werden ontdekt, waren bijvoorbeeld CRLF-injectie, informatielekkage en cryptografische problemen, terwijl dynamische analyse vaak serverconfiguratie, onveilige afhankelijkheden en informatielekkage aantrof. Analyse van softwaresamenstelling (SCA) ontdekte meestal onvoldoende invoervalidatie, informatielekkage en inkapselingsproblemen.

Elke taal had ook zijn specifieke neiging tot kwetsbaarheden. Java-applicaties hadden de neiging om CRLF-injectieproblemen te hebben, terwijl de meest voorkomende fouten van Python-programma's verband hielden met cryptografische problemen, en de belangrijkste fouten in C++ waren foutafhandeling.

Kwetsbaarheden die werden ontdekt door analyse van de softwaresamenstelling duurden het langst om te herstellen, waarschijnlijk omdat de fixes van de projectbeheerders naar de ontwikkelaar moeten stromen. Het repareren van de helft van de fouten die door elke techniek werden ontdekt, kostte 143 dagen voor dynamische analyse, 290 dagen voor statische analyse en 397 dagen voor SCA, stelt Veracode in het rapport. Het resultaat van de SCA-respons is echter een aanzienlijke verbetering: in 2017 duurde het meer dan drie jaar om de helft van de problemen op te lossen.

"Aangezien we weten dat meer scannen met meerdere tools snellere reparatietijden en minder beveiligingsschulden betekent, kan deze verschuiving alleen maar als goed worden beschouwd voor de toekomst van applicatiebeveiliging", zegt het bedrijf. "Het valt nog te bezien of de slinger van de geschiedenis zal terugslaan naar monolithische toepassingen en watervalontwikkeling, maar dat lijkt nu niet waarschijnlijk."

Op het gebied van open source-bibliotheken ontdekte Veracode dat de meest populaire bibliotheken de afgelopen vijf jaar hetzelfde zijn gebleven. Meer dan 97% van de code in Java-applicaties is bijvoorbeeld afkomstig uit open source-bibliotheken. Het aandeel van gebrekkige bibliotheken is de afgelopen vijf jaar echter afgenomen, waarbij Java, JavaScript en Python het aantal kwetsbare bibliotheken aanzienlijk hebben verminderd.

"De grotere les hier is dat ontwikkelaars bij beproefde bibliotheken zullen blijven en waarschijnlijk niet zullen proberen hun codebasis te refactoren om de nieuwste hot commodity op te pikken", stelt het rapport. “Updates gebeurden langzaam als bibliotheken geen gebreken hadden, maar relatief snel als ze dat wel deden. Zolang open source-ontwikkelaars beveiligingsfouten blijven oplossen, zullen ontwikkelaars die bibliotheken blijven gebruiken."

spot_img

Laatste intelligentie

spot_img