Anfällige Software gefunden. Identifizieren anfälliger Software auf Client-Computern. Risiken bei der Verwendung anfälliger Programme

💖 Gefällt es dir? Teilen Sie den Link mit Ihren Freunden

Durch den Einsatz von Entwicklungstools unterschiedlicher Herkunft entstehen teilweise Schwachstellen, die das Risiko sabotageartiger Fehler im Programmcode erhöhen.

Schwachstellen entstehen durch das Hinzufügen von Komponenten Dritter oder frei verteiltem Code (Open Source) zur Software. Der Code einer anderen Person wird oft „wie er ist“ ohne gründliche Analyse und Sicherheitstests verwendet.

Man sollte die Anwesenheit von Insider-Programmierern im Team nicht ausschließen, die bewusst zusätzliche undokumentierte Funktionen oder Elemente in das zu erstellende Produkt einführen.

Klassifizierung von Programmschwachstellen

Schwachstellen entstehen durch Fehler, die während der Entwurfs- oder Codierungsphase auftreten.

Abhängig vom Stadium des Auftretens wird diese Art von Bedrohung in Design-, Implementierungs- und Konfigurationsschwachstellen unterteilt.

  1. Bei der Konstruktion gemachte Fehler sind am schwierigsten zu erkennen und zu beseitigen. Dabei handelt es sich um Ungenauigkeiten in Algorithmen, Bookmarks, Inkonsistenzen in der Schnittstelle zwischen verschiedenen Modulen oder in Protokollen zur Interaktion mit Hardware sowie die Einführung suboptimaler Technologien. Ihre Beseitigung ist ein sehr arbeitsintensiver Prozess, auch weil sie in nicht offensichtlichen Fällen auftreten können – beispielsweise wenn das vorgesehene Verkehrsaufkommen überschritten wird oder wenn viele zusätzliche Geräte angeschlossen werden, was die Bereitstellung der erforderlichen Geräte erschwert Sicherheitsniveau und führt zur Entstehung von Möglichkeiten zur Umgehung der Firewall.
  2. Implementierungsschwachstellen treten in der Phase des Schreibens eines Programms oder der Implementierung von Sicherheitsalgorithmen auf. Dies ist eine falsche Organisation des Rechenprozesses, syntaktische und logische Mängel. Es besteht das Risiko, dass der Fehler zu einem Pufferüberlauf oder anderen Problemen führt. Ihre Erkennung nimmt viel Zeit in Anspruch und ihre Beseitigung erfordert die Korrektur bestimmter Teile des Maschinencodes.
  3. Fehler bei der Hardware- und Softwarekonfiguration kommen recht häufig vor. Ihre häufigsten Gründe sind unzureichend hochwertige Entwicklung und fehlende Tests für den korrekten Betrieb. zusätzliche Funktionen. Diese Kategorie kann auch umfassen einfache Passwörter und Standardkonten bleiben unverändert.

Laut Statistik treten Schwachstellen besonders häufig in beliebten und gängigen Produkten auf – Desktop und Mobilgeräte. Betriebssysteme, Browser.

Risiken bei der Verwendung anfälliger Programme

Auf fast allen Computern sind die Programme installiert, die die meisten Schwachstellen aufweisen. Seitens der Cyberkriminellen besteht ein direktes Interesse daran, solche Schwachstellen zu finden und für sie zu schreiben.

Da von der Entdeckung einer Schwachstelle bis zur Veröffentlichung eines Fixes (Patches) viel Zeit vergeht, gibt es eine ganze Reihe von Infektionsmöglichkeiten Computersysteme durch Lücken in der Sicherheit des Programmcodes. In diesem Fall muss der Benutzer beispielsweise eine schädliche PDF-Datei nur einmal mit einem Exploit öffnen, woraufhin die Angreifer Zugriff auf die Daten erhalten.

Im letzteren Fall erfolgt die Infektion nach folgendem Algorithmus:

  • Der Benutzer erhält Email eine Phishing-E-Mail von einem glaubwürdigen Absender.
  • Dem Brief ist eine Datei mit einem Exploit beigefügt.
  • Wenn ein Benutzer versucht, eine Datei zu öffnen, wird der Computer mit einem Virus, Trojaner (Verschlüsselungsprogramm) oder einem anderen Schadprogramm infiziert.
  • Cyberkriminelle verschaffen sich unbefugten Zugriff auf das System.
  • Wertvolle Daten werden gestohlen.

Forschung durchgeführt verschiedene Unternehmen(Kaspersky Lab, Positive Technologies) zeigen, dass in fast jeder Anwendung, einschließlich Antivirenprogrammen, Schwachstellen bestehen. Daher ist die Wahrscheinlichkeit, dass ein Softwareprodukt installiert wird, das Fehler unterschiedlicher Schwere aufweist, sehr hoch.

Um die Anzahl der Lücken in der Software zu minimieren, ist es notwendig, SDL (Security Development Lifecycle, sicher) zu verwenden Lebenszyklus Entwicklung). Die SDL-Technologie wird verwendet, um die Anzahl der Fehler in Anwendungen in allen Phasen ihrer Erstellung und Unterstützung zu reduzieren. Daher modellieren Infund Programmierer bei der Entwicklung von Software Cyber-Bedrohungen, um Schwachstellen zu finden. Bei der Programmierung werden automatische Tools in den Prozess einbezogen, um mögliche Fehler sofort zu melden. Entwickler sind bestrebt, die für nicht vertrauenswürdige Benutzer verfügbare Funktionalität erheblich einzuschränken, um die Angriffsfläche zu verringern.

Um die Auswirkungen von Schwachstellen und den dadurch verursachten Schaden zu minimieren, müssen Sie einige Regeln befolgen:

  • Installieren Sie umgehend vom Entwickler veröffentlichte Fixes (Patches) für Anwendungen oder (vorzugsweise) aktivieren Sie sie Automatikmodus Aktualisierung.
  • Installieren Sie nach Möglichkeit keine zweifelhaften Programme, deren Qualität und technischer Support Fragen aufwerfen.
  • Nutzen Sie spezielle Schwachstellenscanner oder spezielle Funktionen von Antivirenprodukten, die es Ihnen ermöglichen, nach Sicherheitsfehlern zu suchen und gegebenenfalls Software zu aktualisieren.

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 überwacht das Auftreten von Informationen über Schwachstellen in Betriebssystemen (Windows, Linux/Unix-basiert), Büro- und Anwendungssoftware, Hardwaresoftware und 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.
  • roter Hut Bugzilla.
  • Debian Security Bug Tracker.
  • CentOS-Mailingliste.

Wir verwenden auch eine automatisierte Methode, um unsere Schwachstellendatenbank zu aktualisieren. Wir haben einen Webcrawler und Parser für unstrukturierte Daten entwickelt, der täglich mehr als hundert verschiedene ausländische und russische Quellen in einer Reihe von Ländern analysiert Schlüsselwörter- Gruppen in sozialen Netzwerken, Blogs, Microblogs, Medien gewidmet 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. Das bedeutet es verschiedene Gruppen Entwickler eines Unternehmens erhalten Benachrichtigungen und sehen den Status von Schwachstellen nur für das Produkt, 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 Computerangriffe automatisch 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 dessen, was auf dem Knoten installiert ist (Workstation, Server, DBMS, Informationssicherheitssoftwarepaket, Netzwerk-Hardware) System- und Anwendungssoftware und -komponenten, übermittelt diese Liste an das Leitsystem 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 das Gerät nicht, da die Komponentenliste erstellt wird Systembefehle oder ein leichtes Open-Source-Skript.
  • 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, benötigen wir keine 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 auf technischer Schutz vertrauliche Informationen.

Preis

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

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 Schadcode, was die Sicherheit und Leistung Ihres PCs beeinträchtigen kann.
  • 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 mehrere Passwörter verwendet werden Konto online und können leicht gehackt oder kompromittiert werden.
  • Netzwerkbedrohungen : Schwachstellen in Ihrem Netzwerk, die Angriffe auf Ihr Netzwerk ermöglichen könnten Netzwerkgeräte und einen Router.
  • Performance-Probleme: 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. Intelligente Suche 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 Überspringe 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
  • Performance-Probleme
  • 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 Inbegriffen neben dem Problemtyp, sodass der Status in geändert wird Ausgeschaltet.

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

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

Einführung

Bei der statischen Codeanalyse handelt es sich um eine Softwareanalyse, die am Quellcode von Programmen durchgeführt und durchgeführt wird, ohne dass das untersuchte Programm tatsächlich ausgeführt wird.

Software weist aufgrund von Fehlern im Programmcode häufig verschiedene Schwachstellen auf. Fehler, die während der Entwicklung von Programmen gemacht werden, führen in manchen Situationen zu einem Ausfall des Programms 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.

Zur Identifizierung von Schwachstellen werden verschiedene Tools verwendet, beispielsweise statische Analysatoren Quellcode Programme, eine Übersicht darüber finden Sie in diesem Artikel.

Klassifizierung von Sicherheitslücken

Bei Bedarf korrekte Bedienung Wird das Programm gegen alle möglichen Eingabedaten verstoßen, 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 abhängig von Softwarefehler:

  • 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 im 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 verdorbene Eingaben können auftreten, wenn Benutzereingaben ohne ausreichende Kontrolle an den Interpreter einer externen Sprache (normalerweise eine Unix-Shell oder SQL) weitergeleitet werden. In diesem Fall kann der Benutzer Eingabedaten so festlegen, dass der gestartete Interpreter einen völlig anderen Befehl ausführt, als von den Autoren des anfälligen Programms beabsichtigt.
  • Sicherheitslücke bei Formatzeichenfolgen. Dieser Typ Sicherheitslücken sind eine Unterklasse der Schwachstelle „Taint Input“. 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 „Race Conditions“ genannt 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.

Eine andere Möglichkeit, dieses Problem zu betrachten, besteht darin, dass Unternehmen schnell reagieren müssen, wenn eine Anwendung eine Schwachstelle aufweist. Dies erfordert eine eindeutige Nachverfolgung durch die IT-Abteilung installierte Anwendungen, Komponenten und Patches mithilfe von Automatisierung und Standardtools. In der Branche gibt es Bestrebungen, Software-Tags zu standardisieren (19770-2). Hierbei handelt es sich um XML-Dateien, die mit einer Anwendung, Komponente und/oder einem Patch installiert werden und die installierte Software identifizieren, und im Falle einer Komponente oder eines Patches, um welche Anwendung es sich handelt Teil von. Die Tags enthalten Informationen zur Herausgeberautorität, Versionsinformationen, eine Liste der Dateien mit dem Dateinamen, einem sicheren Hash der Datei und der Größe, die verwendet werden können, um zu bestätigen, dass sich die installierte Anwendung auf dem System befindet und die Binärdateien nicht von Dritten geändert. Diese Tags sind signiert Digitale Unterschrift Herausgeber.

Wenn eine Schwachstelle bekannt ist, können IT-Abteilungen mithilfe ihrer Asset-Management-Software Systeme mit anfälliger Software sofort identifizieren und Maßnahmen zur Aktualisierung der Systeme ergreifen. Tags können Teil eines Patches oder Updates sein, mit denen überprüft werden kann, ob der Patch installiert wurde. Auf diese Weise können IT-Abteilungen Ressourcen wie die NIST National Vulnerability Database als Mittel zur Verwaltung ihrer Asset-Management-Tools nutzen, sodass die IT, sobald eine Schwachstelle von einem Unternehmen an NVD übermittelt wird, neue Schwachstellen sofort mit ihren eigenen vergleichen kann.

Es gibt eine Gruppe von Unternehmen, die über eine gemeinnützige IEEE/ISTO-Organisation namens TagVault.org (www.tagvault.org) mit der US-Regierung an einer Standardimplementierung von ISO 19770-2 arbeiten, die diesen Automatisierungsgrad ermöglichen wird. Irgendwann in den nächsten Jahren werden diese dieser Implementierung entsprechenden Tags wahrscheinlich für Software obligatorisch sein, die an die US-Regierung verkauft wird.

Letztendlich ist es also eine gute Praxis, nicht darüber zu posten, welche Apps und welche spezifischen Softwareversionen Sie verwenden, aber das kann, wie bereits erwähnt, schwierig sein. Sie möchten sicherstellen, dass Sie über ein genaues, aktuelles Softwareinventar verfügen, dass dieses regelmäßig mit einer Liste bekannter Schwachstellen wie NVID von NVD verglichen wird und dass die IT-Abteilung sofort Maßnahmen zur Behebung der Bedrohung ergreifen kann. Das ist in Ordnung Mit der neuesten Erkennung von Eindringlingen, Antiviren-Scans und anderen Umgebungssperrtechniken wird es zumindest sehr schwierig, dass Ihre Umgebung kompromittiert wird, und wenn dies der Fall ist, wird sie für einen langen Zeitraum nicht erkannt.



Freunden erzählen