24.09.2024
Heim / Nachricht / Intelligentes Scannen. Identifizieren anfälliger Software auf Client-Computern. Überwachung von Software-Schwachstellen

Intelligentes Scannen. Identifizieren anfälliger Software auf Client-Computern. Überwachung von Software-Schwachstellen

Derzeit wurde eine Vielzahl von Tools entwickelt, um die Suche nach Programmschwachstellen zu automatisieren. In diesem Artikel werden einige davon besprochen.

Einführung

Statische Codeanalyse ist Analyse Software, das auf dem Quellcode von Programmen erstellt und ohne die tatsächliche Ausführung des untersuchten Programms implementiert wird.

Software weist aufgrund von Fehlern im Programmcode häufig verschiedene Schwachstellen auf. Fehler, die während der Programmentwicklung gemacht werden, führen in manchen Situationen zu Programmfehlern und damit zu einer Störung des normalen Programmbetriebs: Dies führt häufig zu Änderungen und Schäden an Daten und zum Stoppen des Programms oder sogar des Systems. Die meisten Schwachstellen hängen mit einer fehlerhaften Verarbeitung der von außen erhaltenen Daten oder einer unzureichend strengen Überprüfung dieser Daten zusammen.

Um Schwachstellen zu identifizieren, werden verschiedene Tools verwendet, beispielsweise statische Analysatoren des Programmquellcodes, über die in diesem Artikel ein Überblick gegeben wird.

Klassifizierung von Sicherheitslücken

Wenn die Anforderung an ein Programm, mit allen möglichen Eingabedaten korrekt zu arbeiten, verletzt wird, kann es zum Auftreten sogenannter Sicherheitslücken kommen. Sicherheitslücken können dazu führen, dass mit einem Programm die Sicherheitseinschränkungen eines gesamten Systems überwunden werden können.

Klassifizierung von Sicherheitslücken in Abhängigkeit von Softwarefehlern:

  • Pufferüberlauf. Diese Sicherheitslücke entsteht, weil während der Programmausführung keine Kontrolle über Array-Überschreitungen im Speicher besteht. Wenn ein zu großes Datenpaket den Puffer mit begrenzter Größe überläuft, werden die Inhalte der überflüssigen Speicherorte überschrieben, was zum Absturz und Beenden des Programms führt. Basierend auf der Position des Puffers im Prozessspeicher werden Pufferüberläufe auf dem Stapel (Stack-Pufferüberlauf), im Heap (Heap-Pufferüberlauf) und im statischen Datenbereich (BSS-Pufferüberlauf) unterschieden.
  • Schwachstelle durch fehlerhafte Eingaben. Schwachstellen bei der Eingabe durch fehlerhafte Eingaben können auftreten, wenn Benutzereingaben ohne ausreichende Kontrolle an den Interpreter einer externen Sprache (normalerweise eine Unix-Shell oder eine SQL-Sprache) weitergeleitet werden. In diesem Fall kann der Benutzer Eingabedaten so angeben, dass der gestartete Interpreter einen Befehl ausführt, der völlig anders ist als der von den Autoren des anfälligen Programms beabsichtigte.
  • Fehler Zeichenfolgen formatieren(Sicherheitslücke bei Formatzeichenfolgen). Diese Art von Sicherheitslücke ist eine Unterklasse der Schwachstelle „Beschädigte Eingabe“. Dies ist auf eine unzureichende Kontrolle der Parameter zurückzuführen, wenn die Format-E/A-Funktionen printf, fprintf, scanf usw. der C-Standardbibliothek verwendet werden. Diese Funktionen verwenden als einen ihrer Parameter eine Zeichenfolge, die das Eingabe- oder Ausgabeformat nachfolgender Funktionsargumente angibt. Wenn der Benutzer die Art der Formatierung angeben kann, könnte diese Sicherheitslücke aus der erfolglosen Verwendung von Zeicresultieren.
  • Schwachstellen aufgrund von Synchronisationsfehlern (Race Conditions). Mit Multitasking verbundene Probleme führen zu Situationen, die als „Race Conditions“ bezeichnet werden: Ein Programm, das nicht für die Ausführung in einer Multitasking-Umgebung ausgelegt ist, kann beispielsweise davon ausgehen, dass die von ihm verwendeten Dateien nicht von einem anderen Programm geändert werden können. Dadurch kann ein Angreifer, der den Inhalt dieser Arbeitsdateien rechtzeitig ersetzt, das Programm zu bestimmten Aktionen zwingen.

Zusätzlich zu den aufgeführten gibt es natürlich noch weitere Klassen von Sicherheitslücken.

Überprüfung bestehender Analysatoren

Zur Erkennung von Sicherheitslücken in Programmen werden folgende Tools eingesetzt:

  • Dynamische Debugger. Tools, mit denen Sie ein Programm während seiner Ausführung debuggen können.
  • Statische Analysatoren (statische Debugger). Tools, die während der statischen Analyse eines Programms gesammelte Informationen verwenden.

Statische Analysatoren verweisen auf die Stellen im Programm, an denen sich möglicherweise ein Fehler befindet. Diese verdächtigen Codeteile können entweder einen Fehler enthalten oder völlig harmlos sein.

Dieser Artikel bietet einen Überblick über mehrere vorhandene statische Analysatoren. Schauen wir uns jeden einzelnen genauer an.

Beim Start Intelligentes Scannen Avast überprüft Ihren PC auf die folgenden Arten von Problemen und schlägt dann Lösungen dafür vor.

  • Viren: Dateien enthalten bösartiger Code Dies kann die Sicherheit und Leistung Ihres PCs beeinträchtigen.
  • Anfällige Software: Programme, die aktualisiert werden müssen und von Angreifern verwendet werden können, um Zugriff auf Ihr System zu erhalten.
  • Browsererweiterungen mit schlechtem Ruf: Browsererweiterungen, die normalerweise ohne Ihr Wissen installiert werden und die Systemleistung beeinträchtigen.
  • Schwache Passwörter: Passwörter, die für den Zugriff auf mehr als ein Online-Konto verwendet werden und leicht gehackt oder kompromittiert werden können.
  • Netzwerkbedrohungen: Schwachstellen in Ihrem Netzwerk, die Angriffe auf Ihre Netzwerkgeräte und Ihren Router ermöglichen könnten.
  • Leistungsprobleme: Objekte ( unnötige Dateien und Anwendungen, Probleme im Zusammenhang mit Einstellungen), die den Betrieb des PCs beeinträchtigen können.
  • Widersprüchliche Antivirenprogramme: Antivirenprogramme, die mit Avast auf Ihrem PC installiert werden. Verfügbarkeit mehrerer Antivirenprogramme verlangsamt Ihren PC und verringert die Wirksamkeit des Virenschutzes.

Notiz. Bestimmte von Smart Scan erkannte Probleme erfordern möglicherweise eine separate Lizenz zur Behebung. Die Erkennung unnötiger Problemtypen kann in deaktiviert werden.

Erkannte Probleme lösen

Ein grünes Häkchen neben dem Scanbereich zeigt an, dass in diesem Bereich keine Probleme festgestellt wurden. Ein rotes Kreuz bedeutet, dass der Scan ein oder mehrere damit zusammenhängende Probleme identifiziert hat.

Um spezifische Details zu erkannten Problemen anzuzeigen, klicken Sie auf Alles lösen. Smart Scan zeigt Details zu jedem Problem an und bietet die Möglichkeit, es sofort zu beheben, indem Sie auf das Element klicken Entscheiden, oder machen Sie es später durch Klicken Überspringen Sie diesen Schritt.

Notiz. Antiviren-Scan-Protokolle werden im Scan-Verlauf angezeigt, auf den Sie durch Auswählen zugreifen können Schutz Antivirus.

Smart-Scan-Einstellungen verwalten

Um die Smart Scan-Einstellungen zu ändern, wählen Sie Einstellungen Allgemein Smart Scan und geben Sie an, nach welchen der folgenden Problemtypen Sie eine intelligente Suche durchführen möchten.

  • Viren
  • Veraltete Software
  • Browser-Add-ons
  • Netzwerkbedrohungen
  • Kompatibilitätsprobleme
  • Leistungsprobleme
  • Schwache Passwörter

Standardmäßig sind alle Problemtypen aktiviert. Um die Suche nach einem bestimmten Problem beim Ausführen eines Smart Scans zu beenden, klicken Sie auf den Schieberegler Im Lieferumfang enthalten neben dem Problemtyp, sodass der Status in geändert wird Aus.

Klicken Einstellungen neben der Inschrift Virenscan um die Scaneinstellungen zu ändern.

Unter Schwachstellenmanagement versteht man die Identifizierung, Bewertung, Klassifizierung und Auswahl einer Lösung zur Behebung von Schwachstellen. Die Grundlage des Schwachstellenmanagements sind Informationsspeicher zu Schwachstellen, darunter das „Forward Monitoring“-Schwachstellenmanagementsystem.

Unsere Lösung kontrolliert das Erscheinen von Informationen über Schwachstellen in Betriebssysteme(Windows, Linux/Unix-basiert), Büro- und Anwendungssoftware, Hardwaresoftware, Informationssicherheitstools.

Datenquellen

Die Datenbank des Perspective Monitoring Software Vulnerability Management Systems wird automatisch aus den folgenden Quellen aktualisiert:

  • Datenbank der Bedrohungen der Informationssicherheit (BDU BI) FSTEC von Russland.
  • Nationale Schwachstellendatenbank (NVD) NIST.
  • Red Hat Bugzilla.
  • Debian Security Bug Tracker.
  • CentOS-Mailingliste.

Wir verwenden auch eine automatisierte Methode, um unsere Schwachstellendatenbank zu aktualisieren. Wir haben einen Webseiten-Crawler und einen Parser für unstrukturierte Daten entwickelt, der jeden Tag mehr als hundert verschiedene ausländische und russische Quellen auf eine Reihe von Schlüsselwörtern analysiert – Gruppen in sozialen Netzwerken, Blogs, Microblogs und Medien, denen wir uns widmen Informationstechnologie und Gewährleistung der Informationssicherheit. Wenn diese Tools etwas finden, das den Suchkriterien entspricht, überprüft der Analyst die Informationen manuell und gibt sie in die Schwachstellendatenbank ein.

Überwachung von Software-Schwachstellen

Mit dem Vulnerability Management System können Entwickler das Vorhandensein und den Status erkannter Schwachstellen in Drittanbieterkomponenten ihrer Software überwachen.

Beispielsweise im Secure Software Developer Life Cycle (SSDLC)-Modell des Unternehmens Hewlett Packard Die unternehmensweite Kontrolle über Bibliotheken von Drittanbietern nimmt einen zentralen Platz ein.

Unser System überwacht das Vorhandensein von Schwachstellen in parallelen Versionen/Builds desselben Softwareprodukts.

Es funktioniert so:

1. Der Entwickler stellt uns eine Liste der Bibliotheken und Komponenten von Drittanbietern zur Verfügung, die im Produkt verwendet werden.

2. Wir prüfen täglich:

B. ob Methoden zur Beseitigung zuvor entdeckter Schwachstellen erschienen sind.

3. Wir benachrichtigen den Entwickler, wenn sich der Status oder die Bewertung der Schwachstelle gemäß dem vorgegebenen Rollenmodell geändert hat. Dies bedeutet, dass verschiedene Entwicklungsteams desselben Unternehmens Warnungen erhalten und den Status von Schwachstellen nur für das Produkt sehen, an dem sie arbeiten.

Die Warnhäufigkeit des Vulnerability Management System ist konfigurierbar. Wenn jedoch eine Schwachstelle mit einem CVSS-Score von mehr als 7,5 erkannt wird, erhalten Entwickler sofort eine Warnung.

Integration mit ViPNet TIAS

Das Software- und Hardwaresystem ViPNet Threat Intelligence Analytics System erkennt automatisch Computerangriffe und identifiziert Vorfälle auf der Grundlage von Ereignissen aus verschiedenen Quellen Informationssicherheit. Die Hauptereignisquelle für ViPNet TIAS ist ViPNet IDS, das den ein- und ausgehenden Netzwerkverkehr mithilfe der von Perspective Monitoring entwickelten Entscheidungsregelbasis AM Rules analysiert. Einige Signaturen werden geschrieben, um die Ausnutzung von Schwachstellen zu erkennen.

Wenn ViPNet TIAS einen Informationssicherheitsvorfall erkennt, bei dem eine Schwachstelle ausgenutzt wurde, werden alle Informationen im Zusammenhang mit der Schwachstelle, einschließlich Methoden zur Beseitigung oder Kompensation der negativen Auswirkungen, automatisch aus dem Managementsystem in die Vorfallkarte eingetragen.

Das Incident-Management-System hilft auch bei der Untersuchung von Informationssicherheitsvorfällen, indem es Analysten Informationen über Kompromittierungsindikatoren und potenzielle Informationsinfrastrukturknoten liefert, die von dem Vorfall betroffen sind.

Überwachung des Vorhandenseins von Schwachstellen in Informationssystemen

Ein weiteres Szenario für den Einsatz eines Schwachstellenmanagementsystems ist das On-Demand-Scanning.

Der Kunde erstellt selbstständig mithilfe integrierter Tools oder eines von uns entwickelten Skripts eine Liste der auf dem Knoten (Workstation, Server, DBMS, Softwarepaket, Netzwerkausrüstung) installierten System- und Anwendungssoftware und -komponenten und übermittelt diese Liste an die Steuerung System und erhält einen Bericht über erkannte Schwachstellen und regelmäßige Benachrichtigungen über deren Status.

Unterschiede zwischen dem System und gängigen Schwachstellenscannern:

  • Erfordert keine Installation von Überwachungsagenten auf Knoten.
  • Belastet das Netzwerk nicht, da die Lösungsarchitektur selbst keine Scan-Agenten und Server bereitstellt.
  • Belastet die Ausrüstung nicht, da die Liste der Komponenten durch Systembefehle oder ein schlankes Open-Source-Skript erstellt wird.
  • Eliminiert die Möglichkeit von Informationslecks. Eine „prospektive Überwachung“ kann nicht zuverlässig etwas über den physischen und logischen Standort oder den funktionalen Zweck eines Knotens im Informationssystem erfahren. Die einzigen Informationen, die den kontrollierten Bereich des Kunden verlassen, sind eine TXT-Datei mit einer Liste von Softwarekomponenten. Diese Datei wird vom Kunden selbst auf seinen Inhalt geprüft und in das Leitsystem hochgeladen.
  • Damit das System funktioniert, brauchen wir nichts Konten auf kontrollierten Knoten. Die Informationen werden vom Site-Administrator in eigenem Namen gesammelt.
  • Sicherer Informationsaustausch über ViPNet VPN, IPsec oder https.

Die Anbindung an den Schwachstellenmanagementdienst Perspective Monitoring hilft dem Kunden, die ANZ.1-Anforderung „Identifizierung und Analyse von Schwachstellen“ zu erfüllen Informationssystem und sofortige Beseitigung neu identifizierter Schwachstellen“ der FSTEC of Russia-Anordnungen Nr. 17 und 21. Unser Unternehmen ist Lizenznehmer von FSTEC of Russia für Aktivitäten im Zusammenhang mit dem technischen Schutz vertraulicher Informationen.

Preis

Mindestkosten - 25.000 Rubel pro Jahr für 50 an das System angeschlossene Knoten, sofern ein gültiger Anschlussvertrag vorliegt