DE202023100388U1 - Ein System zur automatischen Risikoanalyse von Software - Google Patents

Ein System zur automatischen Risikoanalyse von Software Download PDF

Info

Publication number
DE202023100388U1
DE202023100388U1 DE202023100388.5U DE202023100388U DE202023100388U1 DE 202023100388 U1 DE202023100388 U1 DE 202023100388U1 DE 202023100388 U DE202023100388 U DE 202023100388U DE 202023100388 U1 DE202023100388 U1 DE 202023100388U1
Authority
DE
Germany
Prior art keywords
host
vulnerability
software
software product
risk score
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
DE202023100388.5U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE202023100388.5U priority Critical patent/DE202023100388U1/de
Publication of DE202023100388U1 publication Critical patent/DE202023100388U1/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/77Software metrics

Abstract

Ein System zur automatischen Risikoanalyse von Software, das System umfasst:
eine Erfassungsvorrichtung zum Abrufen von Hostkonfigurationsinformationen eines Hosts innerhalb eines elektronischen Systems;
ein Vorprozessor fragt eine Schwachstellen-Datenbank basierend auf den abgerufenen Host-Konfigurationsinformationen ab;
eine Extraktionsvorrichtung zum Empfangen einer Liste von Schwachstellen, wobei die Liste von Schwachstellen Schwachstellen des Hosts entspricht;
einen Postprozessor zum Zugreifen auf eine Vielzahl von Schwachstellenbewertungen für den Host und mindestens ein Softwareprodukt des Hosts, wobei die Vielzahl von Bewertungen die Auswirkung der Schwachstelle und der Zugriffsschwachstelle misst, wobei der Host und das Softwareprodukt zugeordnet sind mehr als eine der Vielzahl von Bewertungen;
einen zentralen Prozessor zum Bestimmen einer zusammengesetzten Risikobewertung für mindestens einen der Hosts und das Softwareprodukt des Hosts bei Verwendung der höchsten Schwachstellenbewertung unter den mehr als einer der Vielzahl von Schwachstellenbewertungen, die jeweils mindestens einer der zugeordnet sind Host und das Softwareprodukt des Hosts; und
eine grafische Benutzerschnittstelle, die mit einer maschinellen Lerntechnik ausgestattet ist, um einen Graphen zu erzeugen, der das mindestens eine Softwareprodukt des Hosts darstellt, mit Knoten, die Softwarezustände darstellen, Kanten, die in dem mindestens einen Softwareprodukt erkannte Schwachstellen darstellen, und einem Pfad durch den Graphen, der bei beginnt ein Startknoten mit einer relativ geringeren Zugriffsanfälligkeit und der an einem Endknoten mit einer relativ höheren Auswirkung der Anfälligkeit endet, bestimmt dadurch eine Risikobewertung basierend auf mindestens einer der zusammengesetzten Risikobewertung und der aggregierten Risikobewertung und dem Pfad durch den Graphen.

Description

  • GEBIET DER ERFINDUNG
  • Die vorliegende Offenbarung betrifft ein System zur automatischen Risikoanalyse von Software. Genauer gesagt stellt das System die Techniken bereit, die zum Ausführen einer automatischen Risikoanalyse von Software ausgeführt werden.
  • HINTERGRUND DER ERFINDUNG
  • Um die Softwarequalität schon früh im Lebenszyklus zu steigern, werden Test und Entwicklung der Software häufig gleichzeitig durchgeführt. Softwarefehler hingegen werden typischerweise während eines Entwicklungszyklus entdeckt, der auf den folgt, in dem der Fehler eingeführt wurde. In einer solchen Situation kann es schwierig sein, den Fehler zu lokalisieren und zu analysieren.
  • Es kann möglich sein, die Qualität eines Merkmals in der Software, die in einem bestimmten Zyklus entwickelt wird, zu bewerten und zu verstehen, indem ein Fehler zu einem bestimmten Entwicklungszyklus zurückverfolgt wird, während die Softwareentwicklung von Zyklus zu Zyklus fortschreitet. Wenn Sie dazu nicht in der Lage sind, kann eines von mehreren Problemen auftreten. Wenn beispielsweise die genaue Änderung des Softwarecodes, die zu dem Fehler geführt hat, unbekannt ist, können sich die Risikobewertung und die Kurskorrektur als etwas herausfordernd erweisen. Es kann schwieriger werden, Ressourcen für die richtigen Softwarekomponenten und/oder Engineering-Teams zu finden, um den Fehler zu beheben. Es ist möglich, dass es nicht viel Feedback darüber gibt, wie gut die Prozesse der Engineering-Teams funktionieren. Individuelles und Team-Feedback basierend auf bestimmten Fehlermustern kann etwas eingeschränkt werden. Wenn die spezifische Codeänderung, die den Fehler verursacht hat, nicht bekannt ist, kann der Aufwand für die Ursachenanalyse bei vorhandenen Fehlern weniger effektiv werden, wodurch die kontinuierliche Verbesserung der Softwarequalität weniger vorhersehbar wird.
  • Im Hinblick auf die vorangegangene Diskussion wird deutlich, dass ein Bedarf an einem System zur automatischen Risikoanalyse von Software besteht .
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Die vorliegende Offenbarung versucht, ein System zur automatischen Risikoanalyse von Software unter Verwendung verschiedener Techniken wie Entscheidungsbaumanalyse, SWIFT-Analyse und Wahrscheinlichkeits- und Konsequenzmatrix bereitzustellen.
  • In einer Ausführungsform ein System zur automatischen Risikoanalyse von Software wird offenbart. Das System umfasst eine Erfassungsvorrichtung zum Abrufen von Hostkonfigurationsinformationen eines Hosts innerhalb eines elektronischen Systems.
  • Das System umfasst ferner einen Vorprozessor, der eine Schwachstellendatenbank basierend auf den abgerufenen Host-Konfigurationsinformationen abfragt.
  • Das System umfasst ferner eine Extraktionsvorrichtung zum Empfangen einer Liste von Schwachstellen, wobei die Liste von Schwachstellen Schwachstellen des Hosts entspricht.
  • Das System umfasst ferner einen Postprozessor zum Zugreifen auf mehrere Schwachstellenbewertungen für den Host und mindestens ein Softwareprodukt des Hosts, wobei die mehreren Bewertungen die Auswirkungen der Schwachstelle und der Zugriffsschwachstelle messen, wobei der Host und die Software Produkt sind mit mehr als einer der Vielzahl von Bewertungen verbunden.
  • Das System umfasst ferner einen zentralen Prozessor zum Bestimmen einer zusammengesetzten Risikobewertung für mindestens einen der Hosts und das Softwareprodukt des Hosts unter Verwendung der höchsten Schwachstellenbewertung unter den mehr als einer der Vielzahl von Schwachstellenbewertungen, die jeweils zugeordnet sind mindestens einer der Hosts und das Softwareprodukt des Hosts; und
  • Das System umfasst ferner eine grafische Benutzerschnittstelle, die mit einer maschinellen Lerntechnik ausgestattet ist, um einen Graphen zu erzeugen, der das mindestens eine Softwareprodukt des Hosts darstellt, mit Knoten, die Softwarezustände darstellen, Kanten, die in dem mindestens einen Softwareprodukt erkannte Schwachstellen darstellen, und einem Pfad durch der Graph, der an einem Startknoten mit einer relativ geringeren Zugriffsanfälligkeit beginnt und an einem Endknoten mit einer relativ höheren Auswirkung der Anfälligkeit endet, bestimmt dadurch eine Risikobewertung basierend auf mindestens einer der zusammengesetzten Risikobewertung und der Gesamtrisikobewertung und dem Pfad durch die Grafik.
  • Eine Aufgabe der vorliegenden Offenbarung ist es, ein Risiko in einem Softwareprogramm herauszufinden.
  • Eine weitere Aufgabe der vorliegenden Offenbarung besteht darin, die Techniken bereitzustellen, die zum Ausführen einer automatischen Risikoanalyse von Software ausgeführt werden.
  • Noch eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein schnelles und kostengünstiges System zur automatischen Risikoanalyse von Software bereitzustellen.
  • Um die Vorteile und Merkmale der vorliegenden Offenbarung weiter zu verdeutlichen, erfolgt eine genauere Beschreibung der Erfindung unter Bezugnahme auf spezifische Ausführungsformen davon, die in der beigefügten Figur dargestellt sind. Es versteht sich, dass diese Figur nur typische Ausführungsformen der Erfindung darstellt und daher nicht als Einschränkung ihres Umfangs anzusehen ist. Die Erfindung wird mit zusätzlicher Spezifität und Einzelheiten mit der beigefügten Figur beschrieben und erläutert.
  • Figurenliste
  • Diese und andere Merkmale, Aspekte und Vorteile der vorliegenden Offenbarung werden besser verständlich, wenn die folgende detaillierte Beschreibung unter Bezugnahme auf die beigefügte Figur gelesen wird, in der gleiche Zeichen gleiche Teile darstellen, wobei:
    • 1 ein Blockdiagramm eines Systems zur automatischen Risikoanalyse von Software gemäß einer Ausführungsform der vorliegenden Offenbarung veranschaulicht.
  • Ferner werden Fachleute erkennen, dass Elemente in der Figur der Einfachheit halber dargestellt sind und nicht unbedingt maßstabsgetreu gezeichnet sein müssen. Zum Beispiel veranschaulichen die Flussdiagramme das Verfahren in Bezug auf die hervorstechendsten Schritte, die beteiligt sind, um dabei zu helfen, das Verständnis von Aspekten der vorliegenden Offenbarung zu verbessern. Darüber hinaus können in Bezug auf die Konstruktion der Vorrichtung eine oder mehrere Komponenten der Vorrichtung in der Figur durch herkömmliche Symbole dargestellt worden sein, und die Figur kann nur solche spezifischen Details zeigen, die für das Verständnis der Ausführungsformen der vorliegenden Offenbarung relevant sind um die Figur nicht mit Details zu verdecken, die für den Durchschnittsfachmann, der von der hierin enthaltenen Beschreibung profitiert, leicht ersichtlich sind.
  • DETAILLIERTE BESCHREIBUNG
  • Um das Verständnis der Prinzipien der Erfindung zu fördern, wird nun auf die in der Figur dargestellte Ausführungsform Bezug genommen, und es wird eine spezifische Sprache verwendet, um diese zu beschreiben. Es versteht sich jedoch, dass dadurch keine Einschränkung des Umfangs der Erfindung beabsichtigt ist, wobei solche Änderungen und weiteren Modifikationen des dargestellten Systems und solche weiteren Anwendungen der darin dargestellten Prinzipien der Erfindung in Betracht gezogen werden, wie sie einem Fachmann normalerweise einfallen würden in der Technik, auf die sich die Erfindung bezieht.
  • Fachleute werden verstehen, dass die vorstehende allgemeine Beschreibung und die folgende detaillierte Beschreibung beispielhaft und erläuternd für die Erfindung sind und diese nicht beschränken sollen.
  • Die Bezugnahme in dieser gesamten Beschreibung auf „einen Aspekt“, „einen anderen Aspekt“ oder ähnliche Ausdrücke bedeutet, dass ein bestimmtes Merkmal, eine bestimmte Struktur oder Eigenschaft, die in Verbindung mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der vorliegenden Offenbarung enthalten ist. Somit können sich die Ausdrücke „in einer Ausführungsform“, „in einer anderen Ausführungsform“ und ähnliche Ausdrücke in dieser Beschreibung alle auf dieselbe Ausführungsform beziehen, müssen dies aber nicht.
  • Die Begriffe „umfassen“, „umfassend“ oder andere Variationen davon sollen einen nicht ausschließlichen Einschluss abdecken, so dass ein Prozess oder Verfahren, das eine Liste von Schritten umfasst, nicht nur diese Schritte umfasst, sondern andere Schritte nicht umfassen kann ausdrücklich aufgeführt oder einem solchen Prozess oder Verfahren innewohnend. In ähnlicher Weise schließen ein oder mehrere Geräte oder Teilsysteme oder Elemente oder Strukturen oder Komponenten, denen „umfasst ... ein“ vorangestellt ist, ohne weitere Einschränkungen nicht die Existenz anderer Geräte oder anderer Teilsysteme oder anderer Elemente oder anderer Strukturen aus oder andere Komponenten oder zusätzliche Geräte oder zusätzliche Teilsysteme oder zusätzliche Elemente oder zusätzliche Strukturen oder zusätzliche Komponenten.
  • Sofern nicht anders definiert, haben alle hierin verwendeten technischen und wissenschaftlichen Begriffe die gleiche Bedeutung, wie sie allgemein von einem Durchschnittsfachmann auf dem Gebiet verstanden wird, zu dem diese Erfindung gehört. Das hierin bereitgestellte System, Verfahren und Beispiele sind nur veranschaulichend und sollen nicht einschränkend sein.
  • Ausführungsformen der vorliegenden Offenbarung werden unten im Detail unter Bezugnahme auf die begleitende Figur beschrieben.
  • Unter Bezugnahme auf 1 ist ein Blockdiagramm eines Systems zur automatischen Risikoanalyse von Software gemäß einer Ausführungsform der vorliegenden Offenbarung dargestellt. Das System 100 umfasst eine Erfassungsvorrichtung 102 zum Abrufen von Hostkonfigurationsinformationen eines Hosts innerhalb eines elektronischen Systems.
  • In einer Ausführungsform ist ein Vorprozessor 104 mit dem Erfassungsgerät 102 verbunden und fragt eine Schwachstellendatenbank basierend auf den abgerufenen Host-Konfigurationsinformationen ab.
  • In einer Ausführungsform ist eine Extraktionsvorrichtung 106 mit dem Vorprozessor 104 verbunden, um eine Liste von Schwachstellen zu empfangen, wobei die Liste von Schwachstellen Schwachstellen des Hosts entspricht.
  • In einer Ausführungsform ist ein Postprozessor 108 mit der Extraktionsvorrichtung 106 verbunden, um auf mehrere Schwachstellenbewertungen für den Host und mindestens ein Softwareprodukt des Hosts zuzugreifen, wobei die mehreren Bewertungen die Auswirkungen der Schwachstelle und des Zugriffs messen Schwachstelle, wobei der Host und das Softwareprodukt mehr als einer der Vielzahl von Bewertungen zugeordnet sind.
  • In einer Ausführungsform ist ein zentraler Prozessor 110 mit dem Postprozessor 108 verbunden, um eine zusammengesetzte Risikobewertung für mindestens einen der Hosts und das Softwareprodukt des Hosts zu bestimmen, wenn die höchste Verwundbarkeitsbewertung von mehr als einer der Vielzahl verwendet wird von Schwachstellenbewertungen, die jeweils mindestens einem der Hosts und dem Softwareprodukt des Hosts zugeordnet sind.
  • In einer Ausführungsform ist ein grafischer Benutzer 112 mit der Schnittstelle des Zentralprozessors 110 verbunden, die mit einer maschinellen Lerntechnik ausgestattet ist, um einen Graphen zu erzeugen, der das mindestens eine Softwareprodukt des Hosts darstellt, wobei Knoten Softwarezustände darstellen und Kanten darin erkannte Schwachstellen darstellen ein Softwareprodukt und ein Pfad durch den Graphen, beginnend an einem Startknoten mit einer relativ geringeren Zugriffsanfälligkeit und endend an einem Endknoten n mit einer relativ höheren Auswirkung der Anfälligkeit, bestimmen dadurch eine Risikobewertung basierend auf mindestens einer der zusammengesetzten Risikobewertungen und die aggregierte Risikobewertung und der Pfad durch das Diagramm.
  • In einer anderen Ausführungsform wird eine Summierung von mehr als einer der Vielzahl von Verwundbarkeitsbewertungen, die jeweils mindestens einem der Hosts und dem mindestens einen Softwareprodukt des Hosts zugeordnet sind, verwendet, um eine aggregierte Risikobewertung für mindestens einen zu bestimmen des Hosts und das mindestens eine Softwareprodukt des Hosts.
  • In einer anderen Ausführungsform misst die Gesamtrisikobewertung zumindest teilweise eine Anzahl von Optionen, die dem Angreifer zur Verfügung stehen, um zumindest einen der Hosts und das zumindest eine Softwareprodukt des Hosts zu kompromittieren.
  • In einer anderen Ausführungsform ist der zentrale Prozessor konfiguriert, um eine oder mehrere Änderungen, die in Bezug auf eine oder mehrere Quellcodedateien einer Vielzahl von Quellcodedateien während des jeweiligen Zeitraums auftreten, auf einen oder mehrere Teile einer kompilierten Darstellung der Software abzubilden Programm, das mindestens ein Risiko für das Softwareprogramm während der Ausführung für jeden Zeitraum einer Vielzahl von Zeiträumen darstellt, Bestimmen einer oder mehrerer Zwischenbeziehungen zwischen einer oder mehreren Abbildungen für diesen Zeitraum und einem oder mehreren Attributen eines Softwareprogramms.
  • In einer anderen Ausführungsform wird zumindest teilweise auf der Grundlage der einen oder mehreren zwischengeschalteten Assoziationen das Risiko abgeschätzt, dass eine oder mehrere entsprechende Untergruppen einer Vielzahl von Faktoren die Ausführung des Softwareprogramms behindern können.
  • In einer anderen Ausführungsform sind die Informationen über eine Anzahl von Softwareprogrammen und ein Betriebssystem in den Hostkonfigurationsdaten enthalten.
  • In einer anderen Ausführungsform misst die zusammengesetzte Risikobewertung zumindest teilweise einen Schweregrad, der widerspiegelt, dass eine ausgenutzte Schwachstelle von einem Angreifer benötigt wird, um zumindest einen der Hosts und das Softwareprodukt des Hosts zu kompromittieren.
  • Dokumente wie Webseiten, Bilder, Videodateien usw. können in den Informationen enthalten sein. die Ausgabe von ausführbaren Dateien sowie alle anderen geeigneten Informationen. Das automatische Risikoanalysesystem 100 analysiert Software automatisch gemäß den hier vorgestellten Beispielen. Die folgende Erörterung enthält Einzelheiten zu Verfahren zum automatischen Analysieren von Softwarerisiken.
  • Die Benutzersysteme und Server kommunizieren über das Netzwerk unter Verwendung wohlbekannter Netzwerkkommunikationsprotokolle. Ein Netzwerk kann ein lokales Netzwerk (LAN), ein Weitverkehrsnetzwerk (z. B. das Internet), eine andere Art von Netzwerk oder eine Kombination aus beidem sein.
  • Benutzersysteme sind Verarbeitungssysteme, die mit Servern kommunizieren können. Beispielsweise könnte ein Computer oder ein persönlicher digitaler Assistent ein Verarbeitungssystem sein. Beispielsweise kann ein Benutzer einen Client (wie einen Webbrowser, Webcrawler oder eine andere Art von Client) verwenden, der auf einem Benutzersystem bereitgestellt wird, das dem Benutzer gehört oder anderweitig für den Benutzer zugänglich ist, um eine Anforderung zur Ausführung zu initiieren ein Computerprogramm. Benutzersysteme sind so konfiguriert, dass sie Anfragen an Server stellen, um Informationen anzufordern, die auf Servern gespeichert oder anderweitig über sie zugänglich sind. Benutzersysteme können gemäß einigen beispielhaften Ausführungsformen auf Domänen (wie beispielsweise Websites) zugreifen, die von Servern gehostet werden, wodurch Benutzersystemen der Zugriff auf domänenbasierte Informationen ermöglicht wird. Webseiten, die als HTML-Dokumente (Hypertext Markup Language) bereitgestellt werden können, sowie Objekte (wie Dateien), die mit ihnen verknüpft sind, können unter diese Kategorie fallen.
  • Benutzer von Benutzersystemen werden sich darüber im Klaren sein, dass jedes Client-fähige System oder Gerät, einschließlich, aber nicht beschränkt auf Desktop-Computer, Laptop-Computer, Tablet-Computer, persönliche digitale Assistenten, Mobiltelefone oder ähnliche Geräte, möglich ist.
  • Verarbeitungssysteme, die mit Benutzersystemen kommunizieren können, sind die Server, die eingerichtet sind, Computerprogramme auszuführen, die Benutzern als Antwort auf ihre Anfragen Informationen liefern. Dokumente (wie zum Beispiel Webseiten, Bilder und Videodateien) können in den Informationen enthalten sein. Die Ausgabe von ausführbaren Dateien oder anderen geeigneten Daten. Server werden eingerichtet, um einzelne Websites gemäß einigen Beispielen zu hosten, damit Benutzer des automatischen Risikoanalysesystems auf die Websites zugreifen können.
  • Zu Veranschaulichungszwecken ist ein automatischer Risikoanalysator auf dem/den ersten Server(n) vorhanden. Das Risiko der Software kann automatisch durch den automatischen Risikoanalysator bewertet werden. Beispielsweise kann während der Softwareentwicklung eine solche Risikoanalyse automatisch durchgeführt werden. Korrelationen zwischen Softwareattributen (z. B. Attributen, die den Änderungen am Quellcode zugeordnet sind), zwischen Software-Binärdateien und Quelldateien, zwischen Softwarefunktionen (dh Subroutinen), zwischen Softwareänderungen am Quellcode und Softwaredefekten, zwischen Softwareänderungen an Quellcode und neue Funktionen, die der Software hinzugefügt wurden, zwischen Softwareänderungen am Quellcode und Erweiterungen bestehender Softwarefunktionen usw., können neben anderen Möglichkeiten durch einen automatischen Risikoanalysator bestimmt werden. Diese Korrelationen können zu verschiedenen Zeitpunkten (z. B. in regelmäßigen Abständen) untersucht werden.
  • Die Korrelationen für eine erste Zeitinstanz und eine zweite Zeitinstanz können durch den automatischen Risikoanalysator verglichen werden, um irgendeine einer Anzahl von zeitlichen Beziehungen bezüglich zugrunde liegender Faktoren zu identifizieren. Neue Softwarefunktionen, Verbesserungen bestehender Softwarefunktionen, Softwarefehler, die Abwanderungsrate einer Softwarefunktion, Softwarecodeabdeckung, Softwarecodekomplexität und andere Beispiele sind Beispiele für zugrunde liegende Faktoren.
  • Basierend auf den zeitlichen Beziehungen können die Risiken der Software durch den automatischen Risikoanalysator identifiziert werden. Die Wahrscheinlichkeit, dass einer oder mehrere der zugrunde liegenden Faktoren die Softwareausführung behindern, kann durch jedes Risiko angegeben werden. Beispielsweise kann das Ausmaß, in dem ein oder mehrere zugrunde liegende Faktoren die Ausführung behindern können, durch jedes Risiko angegeben werden.
  • Der automatische Risikoanalysator kann in Hardware, Software, Firmware oder eine beliebige Kombination davon integriert werden, um eine automatische Software-Risikoanalyse durchzuführen. Der automatische Risikoanalysator könnte beispielsweise als Computerprogrammcode implementiert werden, der so eingerichtet ist, dass er auf einem oder mehreren Prozessoren läuft. Eine weitere Veranschaulichung dafür wäre die Verwendung von Hardwarelogik und elektrischen Schaltkreisen zur Implementierung eines automatischen Risikoanalysators. Der automatische Risikoanalysator kann in einer möglichen Konfiguration in ein System-on-Chip (SoC) integriert sein. Ein integrierter Schaltungschip, der einen oder mehrere Prozessoren (wie etwa einen Mikrocontroller, Mikroprozessor, digitalen Signalprozessor (DSP) usw.) enthält, kann in jedem SoC enthalten sein. Um seine Aufgaben auszuführen, verwendet es Speicher, eine oder mehrere Kommunikationsschnittstellen, zusätzliche Schaltungen oder eingebettete Firmware.
  • Ein automatischer Risikoanalysator (oder irgendein Teil davon) kann in einem oder mehreren der Benutzersysteme enthalten sein.
  • Beispielsweise können clientseitige Aspekte des automatischen Risikoanalysators in einem oder mehreren der Benutzersysteme integriert sein, und serverseitige Aspekte des automatischen Risikoanalysators können in einem oder mehreren ersten Servern integriert sein. In einem anderen Beispiel kann der automatische Risikoanalysator unter den Benutzersystemen verteilt sein .
  • Die Abfrage des Programmnamens wird vom Risikoanalysemodul an die Schwachstellendatenbank gesendet, die eine Liste der im Programmdatenspeicher gespeicherten Programme enthält. Die Programme für jeden Host (z. B. Host) sind in einer denkbaren Konfiguration in der Programmliste enthalten. Die genaueste Versionsnummer für jedes Softwareprogramm wird in Ausführungsformen der vorliegenden Erfindung verwendet. Die Ergebnisse der Programmnamen werden von der Schwachstellendatenbank zurückgegeben, die die Namen und Versionen von anfälligen Programmen enthalten.
  • Die National Vulnerability Database (NVD) ist ein Beispiel für eine Schwachstellendatenbank. Programmnamen, die auf einer Reihe von gemeinsamen Plattformaufzählungen (CPEs) basieren, können in der vom Risikoanalysemodul ausgegebenen Programmnamenabfrage enthalten sein. Eine Liste spezifischer Produktnamen, die als CPEs bekannt sind, wird verwendet, um eine bestimmte Produktversion genau zu identifizieren. Die NVD verwendet die CPEs, die mit ihr quergelistet sind, um Schwachstellen nur den spezifischen Produkten und Versionen zuzuordnen, auf die sie sich beziehen.
  • Die Abfrage des Programmnamens, die eine Liste von Programmen mit Schwachstellen enthält, wird dann vom Risikoanalysemodul ausgegeben. Basierend auf einer Übereinstimmung zwischen den Programmnamen und den Schwachstellen gibt die Schwachstellendatenbank eine Liste der Schwachstellen zurück. Eine Reihe von Common Vulnerability Enumerations (CVEs) sind in einer Version der Liste der Schwachstellen enthalten.
  • Die Figur und die vorstehende Beschreibung geben Ausführungsbeispiele. Der Fachmann wird erkennen, dass eines oder mehrere der beschriebenen Elemente gut zu einem einzigen Funktionselement kombiniert werden können. Alternativ können bestimmte Elemente in mehrere Funktionselemente aufgeteilt werden. Elemente von einer Ausführungsform können zu einer anderen Ausführungsform hinzugefügt werden. Beispielsweise können hierin beschriebene Reihenfolgen von Prozessen geändert werden und sind nicht auf die hierin beschriebene Weise beschränkt. Darüber hinaus müssen die Aktionen irgendeines Flussdiagramms nicht in der gezeigten Reihenfolge implementiert werden; auch müssen nicht unbedingt alle Handlungen durchgeführt werden. Auch solche Handlungen, die nicht von anderen Handlungen abhängig sind, können parallel zu den anderen Handlungen durchgeführt werden. Der Umfang der Ausführungsformen ist keineswegs durch diese spezifischen Beispiele beschränkt. Zahlreiche Variationen, ob ausdrücklich in der Beschreibung angegeben oder nicht, wie Unterschiede in Struktur, Abmessung und Materialverwendung, sind möglich. Der Umfang der Ausführungsformen ist mindestens so breit wie durch die folgenden Ansprüche angegeben.
  • Vorteile, andere Vorzüge und Problemlösungen wurden oben in Bezug auf spezifische Ausführungsformen beschrieben. Die Vorteile, Vorzüge, Problemlösungen und Komponenten, die dazu führen können, dass Vorteile, Vorzüge oder Lösungen auftreten oder stärker ausgeprägt werden, sind jedoch nicht als kritische, erforderliche oder wesentliche Merkmale oder Komponenten von auszulegen einige oder alle Ansprüche.
  • Bezugszeichenliste
  • 100
    Ein System zur automatischen Risikoanalyse von Software.
    102
    Erfassungsgerät
    104
    Vorprozessor
    106
    Extraktionsvorrichtung
    108
    Postprozessor
    110
    Zentralprozessor
    112
    Grafische Benutzeroberfläche

Claims (7)

  1. Ein System zur automatischen Risikoanalyse von Software, das System umfasst: eine Erfassungsvorrichtung zum Abrufen von Hostkonfigurationsinformationen eines Hosts innerhalb eines elektronischen Systems; ein Vorprozessor fragt eine Schwachstellen-Datenbank basierend auf den abgerufenen Host-Konfigurationsinformationen ab; eine Extraktionsvorrichtung zum Empfangen einer Liste von Schwachstellen, wobei die Liste von Schwachstellen Schwachstellen des Hosts entspricht; einen Postprozessor zum Zugreifen auf eine Vielzahl von Schwachstellenbewertungen für den Host und mindestens ein Softwareprodukt des Hosts, wobei die Vielzahl von Bewertungen die Auswirkung der Schwachstelle und der Zugriffsschwachstelle misst, wobei der Host und das Softwareprodukt zugeordnet sind mehr als eine der Vielzahl von Bewertungen; einen zentralen Prozessor zum Bestimmen einer zusammengesetzten Risikobewertung für mindestens einen der Hosts und das Softwareprodukt des Hosts bei Verwendung der höchsten Schwachstellenbewertung unter den mehr als einer der Vielzahl von Schwachstellenbewertungen, die jeweils mindestens einer der zugeordnet sind Host und das Softwareprodukt des Hosts; und eine grafische Benutzerschnittstelle, die mit einer maschinellen Lerntechnik ausgestattet ist, um einen Graphen zu erzeugen, der das mindestens eine Softwareprodukt des Hosts darstellt, mit Knoten, die Softwarezustände darstellen, Kanten, die in dem mindestens einen Softwareprodukt erkannte Schwachstellen darstellen, und einem Pfad durch den Graphen, der bei beginnt ein Startknoten mit einer relativ geringeren Zugriffsanfälligkeit und der an einem Endknoten mit einer relativ höheren Auswirkung der Anfälligkeit endet, bestimmt dadurch eine Risikobewertung basierend auf mindestens einer der zusammengesetzten Risikobewertung und der aggregierten Risikobewertung und dem Pfad durch den Graphen.
  2. System nach Anspruch 1, wobei eine Summierung von mehr als einer der Vielzahl von Verwundbarkeitsbewertungen, die jeweils mindestens einem der Hosts und dem mindestens einen Softwareprodukt des Hosts zugeordnet sind, verwendet wird, um ein Gesamtrisiko zu bestimmen Punktzahl für mindestens einen des Hosts und des mindestens einen Softwareprodukts des Hosts.
  3. System nach Anspruch 1, wobei die aggregierte Risikobewertung zumindest teilweise eine Anzahl von Optionen misst, die dem Angreifer zur Verfügung stehen, um zumindest einen der Hosts und das zumindest eine Softwareprodukt des Hosts zu kompromittieren.
  4. System nach Anspruch 1, wobei der Zentralprozessor so konfiguriert ist, dass er eine oder mehrere Änderungen, die in Bezug auf eine oder mehrere Quellcodedateien einer Vielzahl von Quellcodedateien während des jeweiligen Zeitraums auftreten, auf einen oder mehrere Abschnitte von a abbildet kompilierte Darstellung des Softwareprogramms, die mindestens ein Risiko für das Softwareprogramm während der Ausführung für jeden Zeitraum einer Vielzahl von Zeiträumen darstellen, Bestimmen einer oder mehrerer Zwischenbeziehungen zwischen einer oder mehreren Abbildungen für diesen Zeitraum und einem oder mehreren Attributen von ein Softwareprogramm.
  5. System nach Anspruch 1, wobei zumindest teilweise auf der Grundlage der einen oder mehreren zwischengeschalteten Assoziationen das Risiko abgeschätzt wird, dass eine oder mehrere jeweilige Untergruppen einer Vielzahl von Faktoren die Ausführung des Softwareprogramms behindern können.
  6. System nach Anspruch 1, wobei die Informationen über eine Anzahl von Softwareprogrammen und ein Betriebssystem in den HostKonfigurationsdaten enthalten sind.
  7. System nach Anspruch 1, wobei die zusammengesetzte Risikobewertung zumindest teilweise einen Schweregrad misst, der widerspiegelt, dass eine ausgenutzte Schwachstelle von einem Angreifer benötigt wird, um zumindest entweder den Host oder das Softwareprodukt des Hosts zu kompromittieren.
DE202023100388.5U 2023-01-28 2023-01-28 Ein System zur automatischen Risikoanalyse von Software Active DE202023100388U1 (de)

Priority Applications (1)

Application Number Priority Date Filing Date Title
DE202023100388.5U DE202023100388U1 (de) 2023-01-28 2023-01-28 Ein System zur automatischen Risikoanalyse von Software

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
DE202023100388.5U DE202023100388U1 (de) 2023-01-28 2023-01-28 Ein System zur automatischen Risikoanalyse von Software

Publications (1)

Publication Number Publication Date
DE202023100388U1 true DE202023100388U1 (de) 2023-03-10

Family

ID=85773088

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202023100388.5U Active DE202023100388U1 (de) 2023-01-28 2023-01-28 Ein System zur automatischen Risikoanalyse von Software

Country Status (1)

Country Link
DE (1) DE202023100388U1 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702159A (zh) * 2023-08-04 2023-09-05 北京微步在线科技有限公司 一种主机防护方法、装置、计算机设备及存储介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116702159A (zh) * 2023-08-04 2023-09-05 北京微步在线科技有限公司 一种主机防护方法、装置、计算机设备及存储介质
CN116702159B (zh) * 2023-08-04 2023-10-31 北京微步在线科技有限公司 一种主机防护方法、装置、计算机设备及存储介质

Similar Documents

Publication Publication Date Title
DE112012002718B4 (de) Erkennen von Sicherheitsschwachstellen in Web-Anwendungen
DE202014010893U1 (de) Rufwegsucher
DE112016005292T5 (de) Automatischer Abweichungsdetektionsdienst auf heterogenen Protokollströmen
DE112012003193T5 (de) Verbeesertes Captcha-Programm unter Verwendung von Bildfolgen
DE112016005555T5 (de) CAPTCHA-Aufgaben auf Bildbasis
DE102014204842A1 (de) Clustering von Daten
DE102012218704A1 (de) Erkennung von schwachstellen für dom-basiertes cross-site-scripting
DE102014204827A1 (de) Auflösen ähnlicher Entitäten aus einer Transaktionsdatenbank
DE112012003541T5 (de) Automatische Erkennung von Elementlisten innerhalb einer Webseite
DE112012005051T5 (de) Korrekturbereitstellungssystem
DE112021006206T5 (de) Lernen aus verteilten Traces für Anomalieerkennung und Ursachenanalyse
DE102021133809A1 (de) Verfahren und vorrichtung zur automatischen detektion von softwarefehlern
DE112014001997T5 (de) Kennzeichnen von Client-Zuständen
DE112019005729T5 (de) Erkennen von sicherheitsrisiken in zusammenhang mit einer software-komponente
US10437717B2 (en) Defect reporting in application testing
DE102012221251A1 (de) Semantisches und kontextbezogenes Durchsuchen von Wissensspeichern
DE202023100388U1 (de) Ein System zur automatischen Risikoanalyse von Software
DE112010004258T5 (de) Anwenden Relativer Gewichtungsschemata auf Daten zur Online-Nutzung
DE112018001290T5 (de) Verfahren zum Schätzen der Löschbarkeit von Datenobjekten
US20210092144A1 (en) Http log integration to web application testing
Almishari et al. Ads-portal domains: Identification and measurements
DE112015004557B4 (de) Anforderungsüberwachen
EP3134842B1 (de) Rechenvorrichtung und verfahren zum erkennen von angriffen auf ein technisches system anhand von ereignissen einer ereignisfolge
CN109684844A (zh) 一种webshell检测方法及装置
DE202022102520U1 (de) System zur Analyse von Werbung auf Online-Videoplattformen für digitales Marketing durch maschinelles Lernen, um ein breites Publikum zu erreichen

Legal Events

Date Code Title Description
R207 Utility model specification
R082 Change of representative

Representative=s name: LIPPERT STACHOW PATENTANWAELTE RECHTSANWAELTE , DE