Slim scannen. Identificeer kwetsbare software op clientcomputers Beheer Smart Scan-instellingen

Momenteel is er een groot aantal tools ontwikkeld om het zoeken naar programmakwetsbaarheden te automatiseren. In dit artikel worden enkele daarvan besproken.

Invoering

Statische codeanalyse is een softwareanalyse die wordt uitgevoerd op de broncode van programma's en wordt geïmplementeerd zonder het onderzochte programma daadwerkelijk uit te voeren.

Software bevat vaak diverse kwetsbaarheden als gevolg van fouten in de programmacode. Fouten die tijdens de programmaontwikkeling worden gemaakt, leiden in sommige situaties tot programmafouten en als gevolg daarvan wordt de normale werking van het programma verstoord: dit resulteert vaak in wijzigingen en schade aan gegevens, waardoor het programma of zelfs het systeem stopt. De meeste kwetsbaarheden hangen samen met een onjuiste verwerking van gegevens die van buitenaf worden ontvangen, of een onvoldoende strikte verificatie ervan.

Om kwetsbaarheden te identificeren, worden verschillende tools gebruikt, bijvoorbeeld statische analysatoren van programmabroncode, waarvan in dit artikel een overzicht wordt gegeven.

Classificatie van beveiligingsproblemen

Wanneer de vereiste dat een programma correct werkt op alle mogelijke invoergegevens wordt geschonden, wordt het optreden van zogenaamde beveiligingskwetsbaarheden mogelijk. Beveiligingsproblemen kunnen ertoe leiden dat één programma kan worden gebruikt om de beveiligingsbeperkingen van een heel systeem te overwinnen.

Classificatie van beveiligingskwetsbaarheden afhankelijk van softwarefouten:

  • Bufferoverloop. Dit beveiligingslek treedt op vanwege een gebrek aan controle over array-out-of-bounds in het geheugen tijdens de uitvoering van het programma. Wanneer een te groot gegevenspakket de buffer van beperkte omvang overschrijdt, wordt de inhoud van de externe geheugenlocaties overschreven, waardoor het programma crasht en wordt afgesloten. Op basis van de locatie van de buffer in het procesgeheugen worden bufferoverflows onderscheiden op de stack (stackbufferoverflow), heap (heapbufferoverflow) en het statische datagebied (bss-bufferoverflow).
  • Kwetsbaarheid voor besmette invoer. Kwetsbaarheden met betrekking tot beschadigde invoer kunnen optreden wanneer gebruikersinvoer zonder voldoende controle wordt doorgegeven aan de tolk van een externe taal (meestal een Unix-shell of SQL-taal). In dit geval kan de gebruiker de invoergegevens zo specificeren dat de gelanceerde tolk een commando zal uitvoeren dat totaal anders is dan de opdracht die de auteurs van het kwetsbare programma hadden bedoeld.
  • Kwetsbaarheid van indelingsreeks. Dit type beveiligingsprobleem is een subklasse van het beveiligingslek met betrekking tot "corrupted input". Het treedt op vanwege onvoldoende controle over de parameters bij gebruik van de indeling I/O-functies printf, fprintf, scanf, enz. van de standaard C-bibliotheek. Deze functies nemen als een van hun parameters een tekenreeks die het invoer- of uitvoerformaat van daaropvolgende functieargumenten specificeert. Als de gebruiker het type opmaak kan opgeven, kan dit beveiligingslek het gevolg zijn van een mislukt gebruik van tekenreeksopmaakfuncties.
  • Kwetsbaarheden als gevolg van synchronisatiefouten (race condition). Problemen die verband houden met multitasking leiden tot situaties die "race-condities" worden genoemd: een programma dat niet is ontworpen om in een multitasking-omgeving te worden uitgevoerd, kan bijvoorbeeld denken dat de bestanden die het gebruikt, niet door een ander programma kunnen worden gewijzigd. Als gevolg hiervan kan een aanvaller die onmiddellijk de inhoud van deze werkbestanden vervangt, het programma dwingen bepaalde acties uit te voeren.

Natuurlijk zijn er, naast de genoemde, nog andere soorten beveiligingskwetsbaarheden.

Review van bestaande analysers

De volgende tools worden gebruikt om beveiligingsproblemen in programma's te detecteren:

  • Dynamische foutopsporingsprogramma's. Hulpmiddelen waarmee u fouten in een programma kunt opsporen tijdens de uitvoering ervan.
  • Statische analysatoren (statische debuggers). Tools die gebruik maken van informatie die is verzameld tijdens de statische analyse van een programma.

Statische analysatoren wijzen naar die plaatsen in het programma waar zich mogelijk een fout bevindt. Deze verdachte stukjes code kunnen een fout bevatten of volkomen onschadelijk zijn.

Dit artikel geeft een overzicht van verschillende bestaande statische analysers. Laten we ze allemaal eens nader bekijken.

Bij het opstarten slim scannen Avast controleert uw pc op de volgende soorten problemen en stelt vervolgens oplossingen voor.

  • Virussen: bestanden die kwaadaardige code bevatten die de veiligheid en prestaties van uw pc kunnen beïnvloeden.
  • Kwetsbare software: Programma's die moeten worden bijgewerkt en die door aanvallers kunnen worden gebruikt om toegang te krijgen tot uw systeem.
  • Browserextensies met een slechte reputatie: Browserextensies die meestal zonder uw medeweten worden geïnstalleerd en de systeemprestaties beïnvloeden.
  • Zwakke wachtwoorden: Wachtwoorden die worden gebruikt om toegang te krijgen tot meer dan één online account en die gemakkelijk kunnen worden gehackt of gecompromitteerd.
  • Netwerkbedreigingen: Kwetsbaarheden in uw netwerk die aanvallen op uw netwerkapparaten en router mogelijk maken.
  • Prestatieproblemen: objecten (onnodige bestanden en applicaties, problemen met instellingen) die de werking van de pc kunnen verstoren.
  • Conflicterende antivirusprogramma's: antivirusprogramma's die met Avast op uw pc zijn geïnstalleerd. Het hebben van meerdere antivirusprogramma's vertraagt ​​uw pc en vermindert de effectiviteit van antivirusbescherming.

Opmerking. Voor het oplossen van bepaalde problemen die door Smart Scan worden gedetecteerd, is mogelijk een afzonderlijke licentie vereist. Detectie van onnodige probleemtypen kan worden uitgeschakeld in .

Het oplossen van gedetecteerde problemen

Een groen vinkje naast het scangebied geeft aan dat er geen problemen zijn gevonden met dat gebied. Een rood kruis betekent dat de scan een of meer gerelateerde problemen heeft geïdentificeerd.

Klik op om specifieke details over gedetecteerde problemen te bekijken Los alles op. Smart Scan toont details van elk probleem en biedt de mogelijkheid om het onmiddellijk op te lossen door op het item te klikken Beslissen, of doe het later door op te klikken Sla deze stap over.

Opmerking. Logboeken van antivirusscans zijn te zien in de scangeschiedenis, die u kunt openen door te selecteren Bescherming antivirus.

Beheer Smart Scan-instellingen

Selecteer om de Smart Scan-instellingen te wijzigen Instellingen Algemeen Smart Scan en specificeer op welke van de volgende probleemtypen u slim wilt scannen.

  • Virussen
  • Verouderde software
  • Browser-add-ons
  • Netwerkbedreigingen
  • Compatibiliteitsproblemen
  • Prestatieproblemen
  • Zwakke wachtwoorden

Standaard zijn alle probleemtypen ingeschakeld. Als u wilt stoppen met het controleren op een specifiek probleem tijdens het uitvoeren van een Slimme scan, klikt u op de schuifregelaar Inbegrepen naast het probleemtype, zodat de status verandert in Uit.

Klik Instellingen naast de inscriptie Virusscannen om de scaninstellingen te wijzigen.

In sommige gevallen is het ontstaan ​​van kwetsbaarheden te wijten aan het gebruik van ontwikkelingstools van verschillende oorsprong, waardoor het risico op sabotage-achtige defecten in de programmacode toeneemt.

Kwetsbaarheden ontstaan ​​door de toevoeging van componenten van derden of vrij verspreide code (open source) aan de software. De code van iemand anders wordt vaak gebruikt “as is” zonder zorgvuldige analyse en beveiligingstests.

Men mag de aanwezigheid van insider-programmeurs in het team niet uitsluiten die opzettelijk extra ongedocumenteerde functies of elementen introduceren in het product dat wordt gemaakt.

Classificatie van programmakwetsbaarheden

Kwetsbaarheden ontstaan ​​als gevolg van fouten die optreden tijdens de ontwerp- of codeerfase.

Afhankelijk van het stadium van optreden wordt dit type dreiging onderverdeeld in ontwerp-, implementatie- en configuratiekwetsbaarheden.

  1. Fouten die tijdens het ontwerp worden gemaakt, zijn het moeilijkst te detecteren en te elimineren. Dit zijn onnauwkeurigheden in algoritmen, bladwijzers, inconsistenties in de interface tussen verschillende modules of in protocollen voor interactie met hardware, en de introductie van suboptimale technologieën. Het elimineren ervan is een zeer arbeidsintensief proces, onder meer omdat ze kunnen optreden in niet voor de hand liggende gevallen – bijvoorbeeld wanneer het beoogde verkeersvolume wordt overschreden of wanneer een grote hoeveelheid extra apparatuur wordt aangesloten, wat de levering van de vereiste apparatuur bemoeilijkt. beveiligingsniveau en leidt tot de opkomst van manieren om de firewall te omzeilen.
  2. Implementatiekwetsbaarheden verschijnen in de fase van het schrijven van een programma of het implementeren van beveiligingsalgoritmen daarin. Dit is een onjuiste organisatie van het computerproces, syntactische en logische defecten. Het risico bestaat dat de fout leidt tot een bufferoverflow of andere problemen. Het detecteren ervan kost veel tijd, en het elimineren ervan impliceert het corrigeren van bepaalde delen van de machinecode.
  3. Hardware- en softwareconfiguratiefouten komen vrij vaak voor. Hun veel voorkomende redenen zijn onvoldoende hoogwaardige ontwikkeling en een gebrek aan tests voor de juiste werking van extra functies. Wachtwoorden die te eenvoudig zijn en standaardaccounts die ongewijzigd blijven, kunnen ook in deze categorie vallen.

Volgens statistieken worden kwetsbaarheden vooral vaak aangetroffen in populaire en wijdverbreide producten: desktop- en mobiele besturingssystemen, browsers.

Risico's van het gebruik van kwetsbare programma's

De programma's die het grootste aantal kwetsbaarheden bevatten, zijn op vrijwel alle computers geïnstalleerd. Van de kant van cybercriminelen is er een direct belang bij het vinden van dergelijke fouten en het schrijven ervan.

Omdat er nogal wat tijd verstrijkt vanaf het moment dat een kwetsbaarheid wordt ontdekt tot aan de publicatie van een oplossing (patch), zijn er een behoorlijk aantal mogelijkheden om computersystemen te infecteren via gaten in de beveiliging van de programmacode. In dit geval hoeft de gebruiker bijvoorbeeld maar één keer een kwaadaardig pdf-bestand met een exploit te openen, waarna de aanvallers toegang krijgen tot de gegevens.

In het laatste geval vindt de infectie plaats volgens het volgende algoritme:

  • Een gebruiker ontvangt een phishing-e-mail van een vertrouwde afzender.
  • Bij de brief is een bestand met een exploit gevoegd.
  • Als een gebruiker een bestand probeert te openen, raakt de computer geïnfecteerd met een virus, Trojaans paard (encryptor) of een ander kwaadaardig programma.
  • Cybercriminelen verkrijgen ongeautoriseerde toegang tot het systeem.
  • Waardevolle gegevens worden gestolen.

Onderzoek uitgevoerd door verschillende bedrijven (Kaspersky Lab, Positive Technologies) toont aan dat er in vrijwel elke applicatie kwetsbaarheden voorkomen, inclusief antivirussen. Daarom is de kans zeer groot dat een softwareproduct wordt geïnstalleerd dat fouten van verschillende mate van kritiek bevat.

Om het aantal hiaten in software te minimaliseren, is het noodzakelijk om SDL (Security Development Lifecycle, Secure Development Lifecycle) te gebruiken. SDL-technologie wordt gebruikt om het aantal bugs in applicaties in alle fasen van de creatie en ondersteuning ervan te verminderen. Bij het ontwerpen van software modelleren inen programmeurs dus cyberdreigingen om kwetsbaarheden te vinden. Tijdens het programmeren worden automatische tools in het proces opgenomen om potentiële fouten onmiddellijk te melden. Ontwikkelaars streven ernaar de functionaliteit die beschikbaar is voor niet-vertrouwde gebruikers aanzienlijk te beperken, waardoor het aanvalsoppervlak wordt verkleind.

Om de impact van kwetsbaarheden en de schade die daardoor wordt veroorzaakt te minimaliseren, moet u een aantal regels volgen:

  • Installeer onmiddellijk door de ontwikkelaar uitgegeven fixes (patches) voor applicaties of schakel (bij voorkeur) de automatische updatemodus in.
  • Installeer indien mogelijk geen dubieuze programma's waarvan de kwaliteit en technische ondersteuning vragen oproepen.
  • Gebruik speciale kwetsbaarheidsscanners of gespecialiseerde functies van antivirusproducten waarmee u beveiligingsfouten kunt opsporen en, indien nodig, software kunt bijwerken.

Kwetsbaarheidsmanagement is het identificeren, beoordelen, classificeren en selecteren van een oplossing om kwetsbaarheden aan te pakken. De basis van kwetsbaarheidsbeheer bestaat uit opslagplaatsen met informatie over kwetsbaarheden, waarvan er één het “Forward Monitoring” Vulnerability Management System is.

Onze oplossing monitort de verschijning van informatie over kwetsbaarheden in besturingssystemen (Windows, Linux/Unix-gebaseerd), kantoor- en applicatiesoftware, hardwaresoftware en informatiebeveiligingstools.

Gegevensbronnen

De database van het Perspective Monitoring Software Vulnerability Management System wordt automatisch bijgewerkt vanuit de volgende bronnen:

  • Databank van in(BDU BI) FSTEC uit Rusland.
  • Nationale Kwetsbaarheidsdatabase (NVD) NIST.
  • Red Hat Bugzilla.
  • Debian Beveiligingsbugtracker.
  • CentOS-mailinglijst.

We gebruiken ook een geautomatiseerde methode om onze database met kwetsbaarheden bij te werken. We hebben een webpaginacrawler en ongestructureerde dataparser ontwikkeld die elke dag meer dan honderd verschillende buitenlandse en Russische bronnen analyseert op een aantal trefwoorden - groepen op sociale netwerken, blogs, microblogs, media gewijd aan informatietechnologie en informatiebeveiliging. Als deze tools iets vinden dat aan de zoekcriteria voldoet, controleert de analist de informatie handmatig en voert deze in de kwetsbaarheidsdatabase in.

Bewaking van softwarekwetsbaarheden

Met behulp van het Vulnerability Management System kunnen ontwikkelaars de aanwezigheid en status van gedetecteerde kwetsbaarheden in componenten van hun software van derden monitoren.

Bijvoorbeeld in het Secure Software Developer Life Cycle (SSDLC)-model Veilige softwareontwikkeling) van Hewlett Packard Enterprise is de controle over bibliotheken van derden een van de centrale punten.

Ons systeem monitort de aanwezigheid van kwetsbaarheden in parallelle versies/builds van hetzelfde softwareproduct.

Het werkt als volgt:

1. De ontwikkelaar verstrekt ons een lijst met bibliotheken en componenten van derden die in het product worden gebruikt.

2. Wij controleren dagelijks:

B. of er methoden zijn verschenen om eerder ontdekte kwetsbaarheden te elimineren.

3. Wij informeren de ontwikkelaar als de status of scoring van de kwetsbaarheid is gewijzigd, conform het opgegeven rolmodel. Dit betekent dat verschillende ontwikkelingsteams binnen hetzelfde bedrijf waarschuwingen ontvangen en de kwetsbaarheidsstatus alleen zien voor het product waaraan ze werken.

De waarschuwingsfrequentie van het Vulnerability Management System is configureerbaar, maar als er een kwetsbaarheid met een CVSS-score hoger dan 7,5 wordt gedetecteerd, ontvangen ontwikkelaars onmiddellijk een waarschuwing.

Integratie met ViPNetTIAS

Het software- en hardwaresysteem van het ViPNet Threat Intelligence Analytics System detecteert automatisch computeraanvallen en identificeert incidenten op basis van infodie uit verschillende bronnen worden ontvangen. De belangrijkste bron van gebeurtenissen voor ViPNet TIAS is ViPNet IDS, dat inkomend en uitgaand netwerkverkeer analyseert met behulp van grondslagen van beslissingsregels AM-regels ontwikkeling van “Prospectieve Monitoring”. Sommige handtekeningen zijn geschreven om misbruik van kwetsbaarheden te detecteren.

Indien ViPNet TIAS een informatiebeveiligingsincident detecteert waarbij een kwetsbaarheid is uitgebuit, dan wordt alle informatie met betrekking tot de kwetsbaarheid, inclusief methoden voor het elimineren of compenseren van de negatieve impact, automatisch vanuit het managementsysteem in de incidentkaart ingevoerd.

Systeem incidentbeheer helpt erbij onderzoek naar, waardoor analisten informatie krijgen over indicatoren van compromissen en potentiële knooppunten van de informatie-infrastructuur die door het incident zijn getroffen.

Het monitoren van de aanwezigheid van kwetsbaarheden in informatiesystemen

Een ander scenario voor het gebruik van een kwetsbaarheidsbeheersysteem is scannen op aanvraag.

De klant genereert zelfstandig, met behulp van ingebouwde tools of een door ons ontwikkeld script, een lijst met systeem- en applicatiesoftware en componenten die op het knooppunt zijn geïnstalleerd (werkstation, server, DBMS, softwarepakket, netwerkapparatuur), en verzendt deze lijst naar de controle systeem en ontvangt een rapport over gedetecteerde kwetsbaarheden en periodieke meldingen over de status ervan.

Verschillen tussen het systeem en veelgebruikte kwetsbaarheidsscanners:

  • Vereist geen installatie van monitoringagents op knooppunten.
  • Zorgt niet voor belasting van het netwerk, omdat de oplossingsarchitectuur zelf geen scanagents en -servers biedt.
  • Zorgt niet voor een belasting van de apparatuur, omdat de lijst met componenten wordt gemaakt door systeemopdrachten of een lichtgewicht open source-script.
  • Elimineert de mogelijkheid van informatielekken. “Prospectieve monitoring” kan niet op betrouwbare wijze iets leren over de fysieke en logische locatie of het functionele doel van een knooppunt in het informatiesysteem. De enige informatie die de gecontroleerde perimeter van de klant verlaat, is een txt-bestand met een lijst met softwarecomponenten. Dit bestand wordt door de klant zelf gecontroleerd op inhoud en geüpload naar het besturingssysteem.
  • Om het systeem te laten werken, hebben we geen accounts op gecontroleerde knooppunten nodig. De informatie wordt door de sitebeheerder in eigen naam verzameld.
  • Veilige informatie-uitwisseling via ViPNet VPN, IPsec of https.

Door verbinding te maken met de kwetsbaarheidsbeheerservice "Prospective Monitoring" kan de klant voldoen aan de vereiste ANZ.1 "Identificatie, analyse van kwetsbaarheden in informatiesystemen en snelle eliminatie van nieuw geïdentificeerde kwetsbaarheden" van FSTEC of Russia orders nr. 17 en 21. Ons bedrijf - licentiehouder van FSTEC uit Rusland voor activiteiten die verband houden met de technische bescherming van vertrouwelijke informatie.

Prijs

Minimale kosten - 25.000 roebel per jaar voor 50 knooppunten die op het systeem zijn aangesloten als er een geldig contract is voor verbinding met