Intelligent skanning. Identifiera sårbar programvara på klientdatorer Vad är sårbar programvara

För närvarande har ett stort antal verktyg utvecklats för att automatisera sökningen efter sårbarheter i programvara. Den här artikeln kommer att diskutera några av dem.

Introduktion

Statisk kodanalys är analys programvara, som produceras på källkoden för programmen och implementeras utan att faktiskt köra programmet som studeras.

Programvaran innehåller ofta olika sårbarheter på grund av fel i programkoden. Fel som görs under utvecklingen av program leder i vissa situationer till en krasch av programmet, och därför störs programmets normala drift: i det här fallet ändras data ofta och skadas, programmet eller till och med systemet stannar . De flesta av sårbarheterna är relaterade till felaktig behandling av data som tas emot utifrån, eller otillräckligt strikt verifiering av dem.

Olika metoder används för att identifiera sårbarheter. verktyg, till exempel statiska analysatorer av programmets källkod, en översikt över vilka ges i den här artikeln.

Klassificering av säkerhetsbrister

När kravet på korrekt drift av programmet på alla möjliga indata bryts, blir uppkomsten av så kallade säkerhetssårbarheter (säkerhetssårbarhet) möjlig. Säkerhetssårbarheter kan göra att ett program används för att övervinna säkerhetsbegränsningarna för hela systemet som helhet.

Klassificering av säkerhetsbrister beroende på programvarufel:

  • Buffer-överflöde. Denna sårbarhet uppstår på grund av bristen på kontroll över out-of-bounds-arrayen i minnet under programkörning. När ett datapaket som är för stort svämmar över den begränsade bufferten, skrivs innehållet i främmande minnesceller över och programmet kraschar och kraschar. Genom platsen för bufferten i processminnet särskiljs buffertspill på stacken (stackbuffertspill), heap (högbuffertspill) och statiskt dataområde (bss buffertspill).
  • Sårbarheter "tainted input" (tainted input vulnerability). Korrupta indatasårbarheter kan uppstå när användarinmatning skickas utan tillräcklig kontroll till en tolk av något externt språk (vanligtvis ett Unix-skal eller SQL-språk). I det här fallet kan användaren specificera indata på ett sådant sätt att den startade tolken kommer att utföra ett helt annat kommando än det som författarna till det sårbara programmet avsåg.
  • Formatsträngssårbarhet. Den här typen Säkerhetssårbarheten är en underklass av sårbarheten "korrupt indata". Det uppstår på grund av otillräcklig parameterkontroll när man använder format I/O-funktionerna printf, fprintf, scanf, etc. standardbibliotek C språk. Dessa funktioner tar som en av parametrarna en teckensträng som anger in- eller utformatet för efterföljande funktionsargument. Om användaren kan ställa in formateringstypen själv, kan denna sårbarhet bero på en misslyckad tillämpning av strängformateringsfunktioner.
  • Sårbarheter till följd av synkroniseringsfel (tävlingsförhållanden). Problem förknippade med multitasking leder till situationer som kallas "race conditions": ett program som inte är designat för att köras i en multitasking-miljö kan tro att till exempel filerna som det använder när de körs inte kan ändras av ett annat program. Som ett resultat kan en angripare som ersätter innehållet i dessa arbetsfiler i tid tvinga programmet att utföra vissa åtgärder.

Naturligtvis, förutom de listade, finns det andra klasser av säkerhetsbrister.

Översikt över befintliga analysatorer

Följande verktyg används för att upptäcka säkerhetsbrister i program:

  • Dynamiska debuggers. Verktyg som låter dig felsöka ett program medan det körs.
  • Statiska analysatorer (statiska debuggers). Verktyg som använder informationen som samlats under den statiska analysen av programmet.

Statiska analysatorer indikerar de platser i programmet där ett fel kan hittas. Dessa misstänkta kodavsnitt kan antingen innehålla en bugg eller vara helt ofarliga.

Den här artikeln ger en översikt över flera befintliga statiska analysatorer. Låt oss ta en närmare titt på var och en av dem.

I vissa fall beror uppkomsten av sårbarheter på användning av utvecklingsverktyg av olika ursprung, vilket ökar risken för sabotageliknande defekter i programkoden.

Sårbarheter uppstår på grund av tillägg av tredjepartskomponenter eller fritt distribuerad kod (öppen källkod) till programvaran. Andras kod används ofta "som den är" utan grundlig analys och säkerhetstestning.

Det ska inte uteslutas att det finns insiderprogrammerare i teamet som medvetet introducerar ytterligare odokumenterade funktioner eller element i produkten som skapas.

Klassificering av sårbarheter i programvara

Sårbarheter uppstår till följd av fel som uppstår under design eller skrivning av programkod.

Beroende på utseendet är denna typ av hot uppdelad i design-, implementerings- och konfigurationssårbarheter.

  1. Designfel är svårast att upptäcka och rätta till. Dessa är felaktigheter i algoritmer, bokmärken, inkonsekvenser i gränssnittet mellan olika moduler eller i protokoll för att interagera med hårdvaran, införandet av suboptimala teknologier. Deras eliminering är en mycket tidskrävande process, också eftersom de kan dyka upp i icke uppenbara fall - till exempel när trafikmängden överskrids eller när en stor mängd extra utrustning är ansluten, vilket komplicerar tillhandahållandet av den erforderliga nivån av säkerhet och leder till uppkomsten av sätt att kringgå brandväggen.
  2. Implementeringssårbarheter dyker upp när du skriver ett program eller inför säkerhetsalgoritmer i det. Dessa är felaktig organisation av beräkningsprocessen, syntaktiska och logiska defekter. Det finns dock en risk att felet leder till buffertspill eller andra typer av problem. Deras upptäckt tar lång tid, och elimineringen innebär att vissa delar av maskinkoden fixas.
  3. Konfigurationsfel för hårdvara och mjukvara är mycket vanliga. Deras vanliga orsaker är otillräcklig kvalitetsutveckling och bristen på tester för rätt arbete ytterligare egenskaper. I denna kategori ingår också enkla lösenord och standardkontona lämnas oförändrade.

Enligt statistiken finns sårbarheter oftast i populära och utbredda produkter – stationära och mobila. operativsystem, webbläsare.

Risker med att använda sårbara program

Program som de hittar största antal sårbarheter är installerade på nästan alla datorer. Från cyberkriminellas sida finns det ett direkt intresse av att hitta sådana brister och skriva åt dem.

Eftersom det går ganska lång tid från det att en sårbarhet upptäcks till att en korrigering (patch) publiceras, finns det ett stort antal möjligheter att infektera datorsystem genom säkerhetshål i koden. I det här fallet behöver användaren bara öppna till exempel en skadlig PDF-fil med en exploatering en gång, varefter angriparna får tillgång till datan.

Infektion i det senare fallet sker enligt följande algoritm:

  • Användaren får e-post ett nätfiskemeddelande från en betrodd avsändare.
  • Filen med utnyttjandet bifogas brevet.
  • Om användaren försöker öppna en fil är datorn infekterad med virus, trojan (kryptering) eller annan skadlig kod.
  • Cyberkriminella får obehörig åtkomst till systemet.
  • Värdefull data stjäls.

Forskning utförd av olika företag (Kaspersky Lab, Positive Technologies) visar att det finns sårbarheter i nästan alla program, inklusive antivirus. Därför är sannolikheten för att installera en mjukvaruprodukt som innehåller brister av varierande grad av kritik mycket stor.

För att minimera antalet luckor i programvaran är det nödvändigt att använda SDL (Security Development Lifecycle, säker utvecklingslivscykel). SDL-teknik används för att minska antalet buggar i applikationer i alla skeden av deras skapande och support. Sålunda, när de designar programvara, modellerar informationssäkerhetsspecialister och programmerare cyberhot för att hitta sårbarheter. Under programmeringen ingår automatiska verktyg i processen som omedelbart rapporterar potentiella brister. Utvecklare siktar på att avsevärt begränsa de funktioner som är tillgängliga för overifierade användare, vilket hjälper till att minska attackytan.

För att minimera effekten av sårbarheter och skador från dem måste du följa några regler:

  • Installera snabbt utvecklarsläppta korrigeringar (patchar) för applikationer eller (helst) aktivera automatiskt läge uppdateringar.
  • Om möjligt, installera inte tvivelaktiga program vars kvalitet och teknisk support ställa frågor.
  • Använd speciella sårbarhetsskannrar eller specialiserade funktioner i antivirusprodukter som låter dig söka efter säkerhetsfel och uppdatera programvara vid behov.

Vid uppstart intelligent skanning Avast programvara kommer att kontrollera din dator efter följande typer av problem och sedan erbjuda alternativ för att åtgärda dem.

  • Virus: filer som innehåller skadlig kod, vilket kan påverka din dators säkerhet och prestanda.
  • Sårbar programvara: Program som behöver uppdateras och kan användas av angripare för att få tillgång till ditt system.
  • Webbläsartillägg med dåligt rykte: Webbläsartillägg som vanligtvis installeras utan din vetskap och påverkar systemets prestanda.
  • Svaga lösenord: lösenord som används för att komma åt mer än ett konto på Internet och kan lätt hackas eller äventyras.
  • Nätverkshot: Sårbarheter i ditt nätverk som kan tillåta attacker på dina nätverksenheter och router.
  • Prestandaproblem: objekt ( skräpfiler och program, inställningsrelaterade problem) som kan hindra din dator från att fungera.
  • Motstridiga antivirus: antivirusprogram installerat på datorn med Avast. Flera olika antivirusprogram saktar ner datorn och minskar effektiviteten av antivirusskydd.

Notera. Vissa problem som upptäcks av Smart Scan kan kräva en separat licens för att lösas. Upptäckt av onödiga problemtyper kan inaktiveras i .

Lösande problem hittades

En grön bock bredvid skanningsområdet indikerar att inga problem hittades relaterade till det. Ett rött kryss betyder att skanningen har identifierat ett eller flera relaterade problem.

Klicka på för att se specifik information om de problem som hittades lösa allt. Smart Scan visar detaljer om varje problem och erbjuder möjligheten att åtgärda det omedelbart genom att klicka på ett objekt Besluta, eller gör det senare genom att klicka Hoppa över det här steget.

Notera. Antivirusgenomsökningsloggar kan ses i skanningshistoriken , som kan nås genom att välja Skydd Antivirus.

Hantera Smart Scan-inställningar

För att ändra Smart Scan-inställningarna, välj Inställningar Allmänt Smart Scan och ange vilka av de listade typerna av problem du vill köra en Smart Scan för.

  • Virus
  • Utdaterad mjukvara
  • Webbläsartillägg
  • Nätverkshot
  • Kompatibilitetsproblem
  • Prestandaproblem
  • Svaga lösenord

Som standard är alla typer av problem aktiverade. För att sluta leta efter ett specifikt problem när du utför en smart skanning, klicka på skjutreglaget Ingår bredvid problemtypen så att den ändrar status till Avstängd.

Klick inställningar bredvid inskriptionen Söker efter virus för att ändra skanningsinställningar.