August 5, 2021

ausys.se

ausys.se

Källkodsanalysverktyg – Source Code Analysis Tool

Det källkodsanalysverktyg som har de mest aktiva utvecklarna och som också är ganska moget kallas

cSploit. Den använder en samling bibliotek för programvara med öppen källkod för att analysera, analysera och generera data från program skrivna i C / C ++ och andra sammanställda språk. Och den körs på Linux-operativsystem såväl som Windows-operativsystem.

Funktionerna inkluderar generering av fjärrutnyttjande, buffertöverskridandeutnyttjande, stacköverskridandeutnyttjande, formatstränginjektion, DLL-sökning och injicering, portavsökning med hash-stöd (MD5 + SHA1 + BLOWFISH), plattformsidentifiering via rubriker och sektioner. cSploit stöder shellkodsmuggling till körbara filer genom att lappa slutet på kompileringstid eller binär nivå. Analysresultat lagras i XML-filer som vidare kan användas som inmatning till XSLT-skript.

Verktygskällkodanalysverktyg, även kallat SAST-verktyg (Static Application Security Testing), är utformade för att analysera källkod eller kompilerade versioner av koden för att hitta säkerhetsfel. Vissa verktyg börjar flytta in i IDE. För de typer av problem som kan upptäckas under själva programvaruutvecklingsfasen är detta en kraftfull fas i utvecklingslivscykeln för att använda sådana verktyg, eftersom det ger omedelbar återkoppling till utvecklaren om frågor de kan införa i koden under koden. själva utvecklingen. Denna omedelbara feedback är mycket användbar, särskilt när den är integrerad med någon form av IDE och / eller redigerare.

Även om analysverktyg ursprungligen skapades för användning av programutvecklare under själva programvaruutvecklingsfasen (även känd som “statisk analys”), kan analysverktyg nu användas av testavdelningar innan de släpper en applikation i produktion (ofta kallad “dynamisk analys”) “). Analysverktyg kan också användas av testare efter att en applikation har släppts i produktionen, så att de kan köra en “kodsökning” på öppen källkodsbibliotek som ingår i deras produkt och identifiera eventuella säkerhetsfel (en metod som kallas AppSec). Detta kallas ofta “Statisk analys”. Analysverktygsanvändning på öppen källkodspaket har blivit ganska utbredd, med många analysverktyg som idag kan skanna programvara med öppen källkod.

 

Vad är målet med analysverktyg?

Målet med analysverktyg är att identifiera sårbarheter i mjukvarukod (inklusive konfigurationsfiler) innan en applikation släpps i produktion. Statiska analysverktyg kan användas under utvecklings- och testfaserna i en applikationslivscykel, även om de inte är lika framgångsrika när det gäller att upptäcka säkerhetsfel om de bara körs efter att applikationer har släppts i produktion.

Den främsta anledningen till detta är att det kommer att finnas en mycket högre utfärdningshastighet för fel från produktionskoden än för analysverktyg som körs på kod som ännu inte har släppts i produktion (kallad “nollfel” -hastighet). Analysverktyg kommer inte att hitta säkerhetsfel i produktionskoden eftersom den redan kan köras med dessa brister.

Analysverktyg hittar bara problem med koden som släppts i produktionen.

Säkerhet blir allt viktigare, särskilt för affärsprogram, eftersom dataintrång ofta är ett resultat av okända sårbarheter och defekter i själva applikationen (dvs. felaktig kodprogrammering).

Det finns olika testnivåer du kan göra på din källkod: statisk analys skannar igenom varje kodrad och letar efter misstänkta mönster eller potentiella fel, dynamisk analys skickar testingångar till applikationen (“hackerstil”) för att se vad som händer när det är ogiltigt ingångar ges i hopp om att hitta fel innan de inträffar, och manuella granskningar tittar på faktiska resultat från applikationen för att se om de matchar det önskade resultatet.

Det finns många olika typer av källkodsanalysverktyg tillgängliga idag, men ett typiskt SAST-verktyg letar efter säkerhetsbrister i själva källkoden. Analysverktyg kan också användas av utvecklare och / eller säkerhetspersonal för att identifiera potentiella brister i deras mjukvaruapplikationer under utveckling eller efter lansering i produktion. Analysverktyg letar inte bara efter uppenbara defekter (t.ex. SQL-injektion), men mer avancerade försöker förstå hur program fungerar på en djupare nivå och kan ofta hitta nya sårbarheter som kan leda till utnyttjbara buggar och hål i själva programmet (t.ex. Fjärrkodkörning).

Click to rate this post!
[Total: 0 Average: 0]