Zum Inhalt

Schwachstellenanalyse

Über die Integration mit Cyber Insight können Sie Ihre LOGINventory-Daten zur Schwachstellenanalyse nutzen und so automatisiert erkennen, auf welchen Geräten in welchen Software-Paketen, welche Schwachstellen vorhanden sind. Die Schwachstelle wird dabei mit einer Risikobewertung versehen, welche dynamische, kontextbasierte Daten liefert, die auf Ihr Unternehmen zugeschnitten sind. Zusätzlich werden Ihnen Informationen zur Verfügung gestellt, wie Sie die Schwachstelle beheben können.

Nutzen Sie diese Funktion, um Sicherheitslücken in Ihrem Netzwerk frühzeitig zu erkennen und entsprechende Maßnahmen zu ergreifen. Die Integration ermöglicht es Ihnen, in Kombination mit der freien Anpassbarkeit aller Abfragen und der Erstellung von Tasks, automatisiert zu erkennen, wenn Sie wirklich tätig werden müssen und was zu tun ist. Ein manueller Abgleich mit CVE-Datenbanken gehört so der Vergangenheit an.

Einrichtung

Account bei Cyber Insight

Für die Nutzung der Schwachstellenanalyse benötigen Sie einen Account bei Cyber Insight. Dort können Sie sich registrieren und nach einem Klick auf Ihren Profilnamen einen API Key (Access Token) generieren, welcher später in LOGINventory zur Datensynchronisierung hinterlegt werden muss.

Skriptbasierte Inventarisierung Anlegen

Zunächst müssen die Voraussetzungen für die Skriptbasierte Inventarisierung erfüllt werden.

Konkret müssen verschiedene Dateien aus unserem Github Repository (https://github.com/loginventory/custom-scan-scripts/) heruntergeladen werden. Am einfachsten laden Sie sich über diesen Link das komplette aktuelle Repository als ZIP-Datei herunter:

https://github.com/loginventory/custom-scan-scripts/archive/refs/heads/main.zip

Im Anschluss entpacken Sie die ZIP-Datei an einen temporären Ort und verschieben den "include"-Ordner (inkl. Dateien) in den (ggf. neu anzulegenden )"Agents"-Ordner der Skriptbasierten Inventarisierung, z.B. %programdata%\LOGIN\LOGINventory\9.0\Agents.

Tipp

Auch wenn Sie in der Vergangenheit bereits Skripte aus dem Repository genutzt haben, sollten Sie den "include"-Ordner immer auf den neuesten Stand bringen, da sich dort wichtige Hilfsfunktionen befinden, welche von den verschiedenen Skripten genutzt werden und nur so sichergestellt werden kann, dass die Skripte korrekt funktionieren.

Powershell Core (Version 7 oder höher) wird hier für diese Skripte nicht benötigt, da die Skripte die LOGINventory Powershell nutzen, um auf die Abfragen in der LOGINventory Baumstruktur zuzugreifen.

Damit sind zunächst die allgemeinen Voraussetzungen für die Skriptbasierte Inventarisierung erfüllt.

Im nächsten Schritt müssen die für die Anbindung an Cyber Insight notwendigen Dateien aus dem zuvor entpackten Repository in den "Agents"-Ordner der Skriptbasierten Inventarisierung kopiert werden:

  • Die Datei CyberInsight.ps1 muss in den "Agents"-Ordner der Skriptbasierten Inventarisierung kopiert werden, z.B. %programdata%\LOGIN\LOGINventory\9.0\Agents.
  • Der Ordner "CyberInsight" mit den Dateien Get-CyberInsightData.ps1, Post-CyberInsightLiData.ps1, sowie cyberinsight-common.ps1 muss in den "Agents"-Ordner der Skriptbasierten Inventarisierung kopiert werden.

Tipp

Es empfiehlt sich, die Dateien regelmäßig auf Updates zu überprüfen, um von Verbesserungen und neuen Funktionen zu profitieren. Abonnieren Sie dazu am besten das Github Repository, um über Änderungen informiert zu werden.

Jetzt kann im Remote Scanner eine neue Definition vom Typ Skriptbasierte Inventarisierung angelegt werden.

Wählen Sie dazu die Datei CyberInsight.ps1 im Dropdown-Menü aus und vergeben Sie einen passenden Namen, z.B. "Cyber Insight POST".

Wechseln Sie zum Parameter-Tab und tragen Sie folgende zwei Parameter ein:

Parameter Wert
Action Post
Engine psc.exe

Diese Definition ist für das Übertragen der Daten zu Cyber Insight zuständig.

Jetzt muss noch eine zweite Definition für den anschließenden Datenabruf von Cyber Insight angelegt werden. Dazu kann z.B. die bestehende Definition geklont werden.

Ändern Sie den Namen z.B. auf "Cyber Insight GET" und passen Sie die Parameter wie folgt an:

Parameter Wert
Action Get
Engine psc.exe

Info

Es wäre möglich, bei beiden Definitionen auch die Parameter CyberInsightApiKey, CyberInsightCompanyName, CyberInsightEndpoint, CyberInsightKeyProperty, CyberInsightCriticality, CyberInsightExportQuery und CyberInsightSyncQuery über den Parameter-Tab zu übergeben. Dies ist aber nicht notwendig, da diese Werte einerseits teilweise optional sind (da Sie über Defaults verfügen) und andererseits auch in der LOGINventory.config hinterlegt werden können und somit nicht mehrfach, sondern nur an einer zentralen Stelle eingetragen werden müssen (siehe nächster Abschnitt).

Zugangsdaten und Einstellungen Hinterlegen

In der Datei LOGINventory.config, welche sich im Verzeichnis %programdata%\LOGIN\LOGINventory\9.0\ befindet, müssen jetzt noch folgende Werte hinterlegt werden. Öffnen Sie die Datei dazu mit einem Texteditor (z.B. Notepad) und fügen Sie folgende Zeilen im Abschnitt <Login.Ventory.Common.Properties.Settings> hinzu:

    <setting name="CyberInsightApiKey" serializeAs="String">
        <value>Your API KEY</value>
    </setting>
    <setting name="CyberInsightCompanyName" serializeAs="String">
        <value>Your CyberInsight Companyname</value>
    </setting>

Für den CyberInsightApiKey tragen Sie den API Key (Access Token) ein, welchen Sie in Ihrem Cyber Insight Account generiert haben. Für den CyberInsightCompanyName tragen Sie den Firmennamen ein, unter welchem Sie in Cyber Insight die Daten vorfinden möchten.

Dies bewirkt, dass die zuvor im Remote Scanner angelegten Definitionen den API Key und den Firmennamen automatisch aus der Konfigurationsdatei beziehen.

Weiterhin werden diese Werte genutzt um im Info-Widget die Details zur Schwachstelle anzuzeigen (siehe Auswertungen).

Folgende optionale Settings können bei Bedarf ebenfalls in der LOGINventory.config hinterlegt werden:

    <setting name="CyberInsightEndpoint" serializeAs="String">
        <value>>https://ci-gateway-5j2lrwe9.nw.gateway.dev</value>
    </setting>
    <setting name="CyberInsightKeyProperty" serializeAs="String">
        <value>Name | InventoryNumber</value>
    </setting>
    <setting name="CyberInsightCriticality" serializeAs="String">
        <value>high|medium|low</value>
    </setting>
    <setting name="CyberInsightExportQuery" serializeAs="String">
        <value>Vulnerability Assessment\Vulnerability Export</value>
    </setting>
    <setting name="CyberInsightSyncQuery" serializeAs="String">
        <value>Vulnerability Assessment\All Vulnerabilities per Software Package</value>
    </setting>

Der Wert von CyberInsightEndpoint ist die URL, an welche die Daten übertragen werden. Der Default-Wert ist https://ci-gateway-5j2lrwe9.nw.gateway.dev und muss nur angepasst werden, wenn Cyber Insight Ihnen eine andere URL mitgeteilt hat.

Der Wert von CyberInsightKeyProperty definiert, welche Eigenschaften eines Gerätes genutzt werden, um dieses eindeutig zu identifizieren. Zur Auswahl stehen Name und InventoryNumber. Falls der Wert nicht gesetzt ist, wird standardmäßig der Gerätename (Name) genutzt. Im unwahrscheinlichen Fall, dass ein Gerät zwischen der Übertragung und dem Abruf umbenannt wird, kommt es bei der Verwendung von Name zu Problemen bei der Zuordnung der Schwachstellen. Wenn sich in Ihrer Datenbank mehrere Geräte mit dem gleichen Namen befinden, sollten Sie ebenfalls InventoryNumber (siehe Inventarnummern) verwenden, da diese immer eindeutig ist.

Der Wert von CyberInsightCriticality definiert, welche Kritikalitätsstufen von Schwachstellen abgerufen werden. Mögliche Werte sind low, medium und high. Mehrere Werte können mit einem Pipe-Symbol (|) getrennt angegeben werden. Falls der Wert nicht gesetzt ist, werden standardmäßig nur die Kritikalitätsstufen high und medium abgerufen. Dabei gilt folgende Definition der Kritikalitätsstufen:

Score Kritikalitätsstufe
> 7.5 high
7.5 - 4.2 medium
< 4.2 low

Der Wert von CyberInsightExportQuery definiert, welche Abfrage aus der LOGINventory Baumstruktur für den Export der Daten zu Cyber Insight genutzt wird. Der Default-Wert ist Vulnerability Assessment\Vulnerability Export (es muss immer der englische Name des Knoten angegeben werden - im Zweifelsfall starten Sie die LOGINventory Powershell und navigieren mit dir- und cd-Befehlen durch die Baumstruktur, um den passenden Namen herauszufinden). Anstatt eine andere Abfrage auszuwählen, kann natürlich auch die Standard-Abfrage angepasst werden (siehe nächster Abschnitt). Wenn Sie den Default-Wert nutzen, wird also die Abfrage "Schwachstellen Export" im Ordner "Schwachstellenanalyse" genutzt.

Der Wert von CyberInsightSyncQuery definiert, welche Abfrage aus der LOGINventory Baumstruktur für die Synchronisation der Schwachstellen-Daten von Cyber Insight genutzt wird. Der Default-Wert ist Vulnerability Assessment\All Vulnerabilities per Software Package, also die Abfrage "Alle Schwachstellen je Software-Paket" (siehe unten). Dies ist nötig, damit Schwachstellen, welche nicht mehr vorhanden sind, wieder entfernt werden können. In der Regel ist es nicht notwendig, diesen Wert anzupassen.

Info

Jeder dieser Werte kann auch direkt über die Parameter im Remote Scanner an die jeweiligen Definitionen übergeben werden. Dies ist aber nicht notwendig, wenn die Werte in der LOGINventory.config hinterlegt sind.

Optional: Anpassung der Abfrage "Schwachstellen Export"

LOGINventory schickt nur genau die Daten zu Cyber Insight, welche in der Abfrage "Schwachstellen Export" im Ordner "Schwachstellenanalyse" als Ergebnis enthalten sind.

Standardmäßig sind dort alle Geräte aufgelistet, welche mindestens ein Software-Paket installiert haben. Standardmäßig werden also genau folgende Daten übertragen: Geräte-Name, Inventarnummer sowie Informationen zu installierten Software-Paketen (Name, Version, Hersteller, Plattform).

Andere Daten verarbeitet aktuell die Cyber Insight API nicht, daher ist ein Hinzufügen weiterer Spalten nicht sinnvoll. Allerdings können Sie die Abfrage über den Abfrage-Editor natürlich anpassen, um z.B. nur bestimmte Geräte zu übertragen (z.B. nur Server oder nur Clients) oder um Testmaschinen auszuschließen. Passen Sie die Abfrage also ganz nach Ihren Bedürfnissen an.

Daten zu Cyber Insight Übertragen

Führen Sie im Remote Scanner die zuvor angelegte Definition "Cyber Insight POST" aus, um die Daten zu Cyber Insight zu übertragen. Im Job Monitor können Sie den Fortschritt verfolgen. Nach erfolgreichem Abschluss werden die Daten bei Cyber Insight analysiert. Dies kann je nach Umfang der Daten mehrere Stunden in Anspruch nehmen.

Daten von Cyber Insight Abrufen

Führen Sie im Remote Scanner die zuvor angelegte Definition "Cyber Insight GET" aus, um die Schwachstellen-Daten von Cyber Insight abzurufen. Im Job Monitor können Sie den Fortschritt verfolgen. Nach erfolgreichem Abschluss stehen die Daten in LOGINventory zur Verfügung.

Tipp

Über das Anlegen von Jobs inkl. Zeitplänen im Remote sollte der Datenabgleich regelmäßig automatisiert durchgeführt werden. So sind die Schwachstellen-Daten immer aktuell.

Automatisierung

Legen Sie im Remote Scanner zwei Jobs an, einen für die "Cyber Insight POST"-Definition und einen für die "Cyber Insight GET"-Definition. Richten Sie für beide Jobs passende Zeitpläne ein, z.B. täglich oder wöchentlich. Achten Sie darauf, dass der "Cyber Insight POST"-Job immer vor dem "Cyber Insight GET"-Job ausgeführt wird, damit die Daten aktuell sind. Außerdem sollte zwischen den beiden Jobs genügend Zeit liegen, damit Cyber Insight die Daten analysieren kann (je nach Datenumfang mehrere Stunden). Wir empfehlen daher z.B. einen täglichen POST-Job am Abend auszuführen und am nächsten Morgen den GET-Job.

Info

Bitte beachten Sie, dass das Löschen / Archivieren von Assets zwischen einem POST und GET dazu führt, dass beim GET die entsprechenden Assets neu angelegt / reaktiviert werden.

Auswertungen

Die abgerufenen Schwachstellen-Daten stehen in LOGINventory in verschiedenen Abfragen, Dashboards und Widgets zur Verfügung.

Die Abfrage Kumulierter Vulnerability Score je Software-Paket listet alle Software-Pakete auf, egal ob eine Schwachstelle gefunden wurde, oder nicht. Zu jedem Paket, bei dem eine Schwachstelle erkannt wurde, ist ein "VulnerabilityScore" hinterlegt. Dieser gibt die Summe der Risikobewertungen aller Schwachstellen in diesem Software-Paket an. Der Wert "Vulnerabilites.Count" gibt an, wie viele verschiedene Schwachstellen zum Software-Paket gefunden wurden. So können Sie schnell erkennen, welche Software-Pakete besonders kritisch sind. Die Spalte "SoftwarePackageInfos.Count" gibt an, auf wie vielen Geräten dieses Software-Paket installiert ist. Über das Verknüpfte Daten Widget können Sie sich die betroffenen Geräte anzeigen lassen.

Die Abfrage "Schwachstellen Katalog" listet alle erkannten Schwachstellen mit Details auf und zeigt an, wie viele Geräte und wie viele Software-Pakete davon betroffen sind. Über das Verknüpfte Daten Widget ist es dabei möglich, die betroffenen Geräte anzuzeigen.

Beispiel

Dieser Screenshot zeigt für die gewählte Schwachstelle einen "DeviceVulnerabiltiyInfos.Count" von 12 und einen "SoftwareVulnerabiltiyInfos.Count" von 4. Das bedeutet, dass es in der Abfrage "Schwachstellen Details" 12 Zeilen zu dieser Schwachstelle gibt, also 12 Kombination aus Gerät und Software-Paket gefunden wurden. In der Abfrage "Software Schwachstellen" gibt es 4 Zeilen zu dieser Schwachstelle, also 4 Software-Pakete, in welchen diese Schwachstelle gefunden wurde.
Um zu sehen, auf welchen Geräten die Schwachstelle gefunden wurde, kann das Verknüpfte Daten Widget genutzt werden. In diesem Fall waren das 8 verschiedene Geräte.

Außerdem können die Schwachstellen über das Eigene Eigenschaften Widget mit Eigenschaften versehen werden. So ist es z.B. möglich, einen Bearbeitungsstatus zu hinterlegen, die Schwachstellen weiter zu kategorisieren oder Verantwortliche zuzuweisen.

Die Abfrage "Alle Schwachstellen je Software-Paket" listet zu jedem Software-Paket alle erkannten Schwachstellen auf.

Ein Software-Paket kann dabei mehrere Schwachstellen aufweisen. Ebenso kann eine Schwachstelle in mehreren Software-Paketen auftreten.

Wenn bei geöffnetem Info-Widget eine Ergebniszeile ausgewählt ist, werden im Widget die Details zur Schwachstelle in Cyber Insight angezeigt, inklusive Risikobewertung, Nachrichten rund um die Schwachstelle, sowie Empfehlungen zur Behebung.

Alternativ lässt sich im Ribbon-Menü durch einen Klick auf Schwachstellendetails Anzeigen ein Browser-Fenster öffnen, welches direkt zur entsprechenden Schwachstellen-Seite in Cyber Insight navigiert. Der Inhalt des Info-Widgets und der im Browser angezeigte Inhalt sind identisch.

Tipp

Nach einer gewissen Zeit werden Sie automatisch bei Cyber Insight abgemeldet, sodass es dann nötig sein kann, das Widget (Wechsel zu einer anderen Schwachstelle und zurück) oder den Browser-Link erneut zu öffnen, um die Details erneut anzuzeigen.

Info

Die Abfrage "Alle Schwachstellen je Software-Paket" wird im GET-Skript für die Synchronisation der Schwachstellen-Daten genutzt und sollte daher nicht angepasst werden, bzw. keine Spalten entfernt oder Filter gesetzt werden.

Die Abfrage "Alle Schwachstellen je Software-Paket und Gerät" listet je Gerät alle erkannten Schwachstellen mit Details auf, inklusive Risikobewertung.

Hier kann ebenso über das Info-Widget oder den Button im Ribbon-Menü die Detail-Seite in Cyber Insight aufgerufen werden.

Die zwei Abfragen "Neu gefundene Schwachstellen je Software-Paket" und "Neu gefundene Schwachstellen je Software-Paket und Gerät" listen nur die Schwachstellen auf, welche in den letzten 7 Tagen erstmals abgerufen wurden. So können Sie schnell erkennen, ob es neue Schwachstellen in Ihrer Umgebung gibt. Sie können natürlich die Abfragen anpassen, um den Zeitraum zu verändern. Außerdem kann es sinnvoll sein, eine Task auf diesen Abfragen zu erstellen, um z.B. bei neuen Schwachstellen automatisch eine E-Mail-Benachrichtigung zu erhalten.

Das Dashboard "Schwachstellen je Gerät und Betriebssystem" zeigt verschiedene Diagramme zur Visualisierung der Schwachstellen-Daten an. So sehen Sie z.B., wie viele Schwachstellen welcher Kritikalitätsstufe es je Betriebssystem gibt. Außerdem werden in Tortendiagrammen verschiedene Eigenschaften der Schwachstellen visualisiert.

Durch einen Klick auf ein Element im Diagramm kann auf dieses gefiltert werden. Bei gedrückter Strg-Taste können auch mehrere Elemente in einem Diagramm ausgewählt werden.

FAQs

Wie funktioniert die Abrechnung und was kostet das?
Sie benötigen bei Cyber Insight einen Account und zahlen die entstehenden Kosten direkt an Cyber Insight. Die Preise richten sich dabei nach der Anzahl der Geräte, deren Software-Daten analysiert werden. Genaue Preisinformationen können Sie bei Cyber Insight anfragen.

Welche Daten werden an Cyber Insight übertragen?
Es werden Geräte-Name, Inventarnummer sowie Informationen zu installierten Software-Paketen (Name, Version, Hersteller, Plattform) übertragen.

Werden die Daten automatisch übertragen?
Nein, die Übertragung muss extra aktiviert werden. Dazu müssen Sie ein Konto bei Cyber Insight besitzen und dort u.a. einen API Key generieren. Dieser API Key muss dann in LOGINventory hinterlegt werden und außerdem die passende Skriptbasierte Inventarisierung angelegt und konfiguriert werden.

Kann ich konfigurieren, von welchen Geräten die Daten an Cyber Insight geschickt werden sollen?
Ja, dazu kann ganz einfach die in diesem Ordner befindliche Abfrage "Schwachstellen Export" angepasst werden. Filtern Sie z.B. auf nur Server, wenn Sie nur möchten, dass nur von Servern Daten übertragen werden oder schließen Sie Testmaschinen aus! Durch das Setzen von passenden Filtern können Sie hier völlig frei konfigurieren, was übertragen wird.

Was passiert bei Cyber Insight mit meinen Daten?
Die Engine „DARA“ von Cyber Insight analysiert die transmittierten Daten. Durch LOGINventory kann DARA die Struktur der Organisation erkennen und die CVEs, welche relevant sind Ihren Devices & Softwares zuordnen.

Wo sind die Server & wer hat Zugriff auf die Server?
Die Server befinden sich gesichert in Deutschland und auf sie darf ausschließlich von spezifisch dazu autorisiertem Personal der Firma Cyber Insight zugegriffen werden.