Sårbara program. Intelligent skanning. Risker med att använda sårbara program

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 korrekt funktion program på alla möjliga indata bryts, blir det möjligt uppkomsten av så kallade säkerhetsbrister (säkerhetssårbarhet). 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.

Sårbarhetshantering är identifiering, utvärdering, klassificering och val av en lösning för att eliminera sårbarheter. Sårbarhetshantering är baserad på sårbarhetsinformationsförråd, varav ett är Advanced Monitoring Vulnerability Management System.

Vår lösning kontrollerar utseendet på information om sårbarheter i operativsystem(Windows, Linux/Unix-baserad), kontors- och applikationsmjukvara, hårdvara, verktyg för informationssäkerhet.

Datakällor

Databasen för Vulnerability Management System för Prospective Monitoring-programvaran fylls automatiskt på från följande källor:

  • Databanken för informationssäkerhetshot (BDU BI) från FSTEC i Ryssland.
  • National Vulnerability Database (NVD) NIST.
  • Red Hat Bugzilla.
  • Debians säkerhetsbuggspårare.
  • CentOS e-postlista.

Vi använder också en automatiserad metod för att fylla på vår databas med sårbarheter. Vi har utvecklat en webcrawler och ostrukturerad dataparser som analyserar mer än hundra olika utländska och ryska källor varje dag för ett antal nyckelord- grupper i sociala nätverk, bloggar, mikrobloggar, media dedikerade till informationsteknologi och informationssäkerhet. Om dessa verktyg hittar något som uppfyller sökkriterierna kontrollerar analytikern informationen manuellt och lägger in den i sårbarhetsdatabasen.

Kontroll av sårbarhet i programvara

Med hjälp av Vulnerability Management System kan utvecklare kontrollera närvaron och statusen för upptäckta sårbarheter i tredjepartskomponenter i deras programvara.

Till exempel, i Hewlett Packard Enterprises Secure Software Developer Life Cycle-modell (SSDLC) är kontroll av tredjepartsbibliotek central.

Vårt system övervakar närvaron av sårbarheter i parallella versioner/byggen av samma mjukvaruprodukt.

Det fungerar så här:

1. Utvecklaren skickar oss en lista över tredjepartsbibliotek och komponenter som används i produkten.

2. Vi kontrollerar dagligen:

b. om det finns metoder för att eliminera tidigare upptäckta sårbarheter.

3. Vi meddelar utvecklaren om statusen eller poängsättningen för sårbarheten har ändrats, i enlighet med den angivna förebilden. Det innebär att olika utvecklingsteam inom samma företag endast kommer att meddelas och se status för sårbarheter för produkten de arbetar med.

Varningsfrekvensen för vulnerability Management System är godtyckligt konfigurerbar, men när en sårbarhet hittas med ett CVSS-värde högre än 7,5 kommer utvecklare att få en omedelbar varning.

Integration med ViPNet TIAS

ViPNet Threat Intelligence Analytics System mjukvara och hårdvarukomplex upptäcker automatiskt datorattacker och identifierar incidenter baserat på händelser som kommer från olika källor informationssäkerhet. Huvudkällan till händelser för ViPNet TIAS är ViPNet IDS, som analyserar inkommande och utgående nätverkstrafik använda grunder för beslutsregler AM-regler utvecklade av "Prospective monitoring". Vissa signaturer är skrivna för att upptäcka utnyttjande av sårbarheter.

Om ViPNet TIAS upptäcker en informationssäkerhetsincident där en sårbarhet utnyttjades, så läggs all information relaterad till sårbarheten, inklusive metoder för att eliminera eller kompensera för den negativa påverkan, automatiskt in i incidentkortet från SMS:et.

Incidenthanteringssystemet hjälper också till i utredningen av informationssäkerhetsincidenter genom att ge analytiker information om indikatorer på kompromisser och potentiella informationsinfrastrukturnoder som påverkas av incidenten.

Övervaka förekomsten av sårbarheter i informationssystem

Ett annat scenario för att använda ett sårbarhetshanteringssystem är skanning på begäran.

Kunden genererar självständigt en lista över system- och applikationsprogramvara och komponenter installerade på noden (arbetsstation, server, DBMS, SZI SZI, nätverksutrustning) med hjälp av inbyggda verktyg eller ett skript utvecklat av oss, överför denna lista till SMS:et och tar emot en rapport om upptäckta sårbarheter och periodiska meddelanden om deras status.

Skillnader mellan systemet och vanliga sårbarhetsskannrar:

  • Kräver inte installation av övervakningsagenter på värdar.
  • Det skapar ingen belastning på nätverket, eftersom lösningsarkitekturen i sig inte tillhandahåller agenter och skanningsservrar.
  • Skapar ingen belastning på hårdvaran, eftersom listan över komponenter skapas av systemkommandon eller ett lätt skript med öppen källkod.
  • Eliminerar möjligheten för informationsläckage. "Prospektiv övervakning" kan inte på ett tillförlitligt sätt lära sig något om den fysiska och logiska platsen eller funktionella syftet med en nod i ett informationssystem. Den enda information som lämnar kundens kontrollerade omkrets är en txt-fil med en lista över programvarukomponenter. Denna fil kontrolleras för innehåll och laddas upp till SMS av kunden själv.
  • För att systemet ska fungera behöver vi inga konton på kontrollerade noder. Information samlas in av nodadministratören för dennes räkning.
  • Säkert informationsutbyte via ViPNet VPN, IPsec eller https.

Att ansluta till sårbarhetshanteringstjänsten "Prospective Monitoring" hjälper kunden att uppfylla kravet i ANZ.1 "Identifiering, analys av sårbarheter informationssystem och omedelbar eliminering av nyligen identifierade sårbarheter ”beställningar från FSTEC of Russia nr. 17 och 21. Vårt företag är licensinnehavare av FSTEC of Russia för tekniskt skydd av konfidentiell information.

Pris

Minimikostnaden är 25 000 rubel per år för 50 noder anslutna till systemet med ett giltigt kontrakt för anslutning till

Ett annat sätt att se på detta problem är att företag måste reagera snabbt när en applikation har en sårbarhet. Detta kräver att IT-avdelningen definitivt kan spåra installerade applikationer, komponenter och patchar med automationsverktyg och standardverktyg. Det finns en branschansträngning att standardisera programvarutaggar (19770-2), som är XML-filer installerade med en applikation, komponent och/eller patch som identifierar den installerade programvaran, och i fallet med en komponent eller patch, vilket program de är del av. Taggar har auktoritativ utgivarinformation, versionsinformation, lista över filer med filnamn, säker filhash och storlek, som kan användas för att bekräfta att det installerade programmet finns på systemet och att binärfilerna inte har modifierats av en tredje part. Dessa etiketter är digitalt signerade av utgivaren.

När en sårbarhet är känd kan IT-avdelningar använda sina tillgångshanteringsprogram för att omedelbart identifiera system med sårbar programvara och kan vidta åtgärder för att uppdatera systemen. Taggar kan vara en del av en patch eller uppdatering som kan användas för att verifiera att en patch har installerats. På detta sätt kan IT-avdelningar använda resurser som NIST National Vulnerability Database som ett sätt att hantera sina tillgångshanteringsverktyg så att när en sårbarhet väl har skickats in av ett företag till NVD, kan IT omedelbart jämföra nya sårbarheter med deras.

Det finns en grupp företag som arbetar genom en ideell IEEE/ISTO som heter TagVault.org (www.tagvault.org) tillsammans med den amerikanska regeringen på en standardimplementering av ISO 19770-2 som kommer att möjliggöra denna nivå av automatisering. Vid någon tidpunkt kommer dessa taggar som motsvarar denna implementering med största sannolikhet att vara obligatoriska för programvara som säljs till den amerikanska regeringen någon gång under de närmaste åren.

Så i slutändan är det bra att inte posta vilka appar och specifika programversioner du använder, men det kan vara svårt, som tidigare nämnts. Du vill försäkra dig om att du har en korrekt, uppdaterad programvaruinventering som regelbundet jämförs med en lista över kända sårbarheter som NVD:s NVID, och att IT-avdelningen kan vidta omedelbara åtgärder för att åtgärda hotet. senaste upptäckten Intrång, antivirusskanning och andra medelblockeringsmetoder kommer åtminstone att göra det mycket svårt att äventyra din miljö, och om/när det gör det kommer det inte att upptäckas under en lång tid.

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å objektet 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.