Erkennen und Vorhersagen böswilliger Zugriffe in Unternehmensnetzwerken mithilfe des Louvain Community Detection-Algorithmus

Startseite » Blog » Erkennen und Vorhersagen böswilliger Zugriffe in Unternehmensnetzwerken mithilfe des Louvain Community Detection-Algorithmus

Von Gal Sadeh, Senior Data Scientist, Silverfort
Viele Datenschutzverletzungen beginnen damit, sich Zugang zu einem unbedeutenden Computer zu verschaffen, und breiten sich aus, indem sie von einem Computer zum anderen springen, bis sie die wertvollen „Kronjuwelen“ erreichen, wie Admin-Anmeldeinformationen, Informationen über eine wichtige Datenbank mit Kundendaten und mehr. Das Erkennen und Verhindern dieser Angriffe ist eine sehr komplizierte Aufgabe für Sicherheitsexperten, da die Anzahl möglicher Angriffspfade extrem hoch ist und sich Netzwerke häufig ändern (neue Entitäten werden hinzugefügt oder entfernt, Berechtigungen werden geändert usw.). Die meisten Techniken zur Erkennung von Angriffen basieren auf der Erkennung bekannter bösartiger Muster, aber für komplexe Angriffe reicht dies nicht mehr aus. Wenn der Angriff kein bekanntes erkennbares Muster hat, ist es extrem schwer, es zu erkennen.

Unsere ersten Versuche mit Angriffserkennung

Da Silverfort analysiert die Authentifizierungs- und Zugriffsdaten im gesamten Umfang enterprise Netzwerk- und Cloud-Umgebungen – es müssen viele Daten analysiert werden. Es dauerte jedoch einige Versuche, um zu entscheiden, wie sich all diese Daten am besten analysieren ließen, um unbekannte Bedrohungen zu erkennen. Ich habe mir viele Gedanken über diese Frage gemacht. Zuerst dachte ich daran, alle möglichen Zugriffspfade anhand der Daten abzubilden und zu versuchen, die anfälligen zu erkennen. Dieser Ansatz lässt sich jedoch kaum umsetzen, wenn das Netzwerk viele Entitäten enthält, da die Anzahl der möglichen Zugriffspfade exponentiell mit der Anzahl der Entitäten wächst. Ich habe versucht, diese Methode zu verbessern, indem ich einige Zugriffspfade eliminiert habe. Wenn ein Benutzer beispielsweise keine Berechtigungen im Verzeichnis hat, um auf einen bestimmten Server zuzugreifen, können wir diesen Pfad eliminieren. Dieser Ansatz hat uns geholfen, eine große Menge an Zugriffspfaden zu verarbeiten, reichte jedoch nicht aus, da auch ohne Berechtigungen ein Zugriffspfad durch Ausnutzung von Schwachstellen möglich sein könnte.

Also entschieden wir uns für einen anderen Ansatz: Wir teilten das Netzwerk in Communities auf, basierend auf der Tatsache, dass die Mitglieder einer Community mehr miteinander und mit anderen gemeinsam genutzten Ressourcen kommunizieren als mit anderen Entitäten im Netzwerk.

Lassen Sie mich weiter erklären:

Was sind Communities und was sind Community-Erkennungsalgorithmen?

Netzwerke können als Graphen von Verbindungen (Kanten) zwischen Knoten modelliert werden, wobei jeder Knoten eine Entität (Benutzer, Computer usw.) darstellt und jede Kante, die die Knoten verbindet, eine logische Verbindung darstellt. Wenn beispielsweise ein Benutzer auf einen Server zugreift, wären der Benutzer und der Server die „Knoten“, und die Verbindung zwischen ihnen würde durch eine „Kante“ dargestellt.
Jeder Kante ist außerdem ein Gewicht zugeordnet, das die Stärke der Verbindung darstellt, die auf der Anzahl der Kanten basiert Beglaubigung und Zugriffsanfragen sehen wir an dieser Kante.
Die Art und Weise, wie Community-Erkennungsalgorithmen funktionieren, besteht darin, ein Rohdiagramm als Eingabe zu nehmen, es zu analysieren und jeden Knoten einer Community zuzuweisen. Jede Community ist durch ihre „Dichte“ gekennzeichnet, die das Verhältnis zwischen den Gewichtungen aller Kanten und der Anzahl der Knoten in der Community ist. Die meisten Community-Erkennungsalgorithmen haben ein „Ziel“, bei dem es sich um eine Zahl handelt, die die Gesamtkompatibilität der Knoten mit den Communities darstellt, denen sie zugewiesen wurden. Das Ziel ist es, diese Zahl zu maximieren. Ein größeres Ziel bedeutet Gemeinschaften mit „hoher Dichte“.
Beachten Sie, dass unterschiedliche Algorithmen leicht unterschiedliche „Ziele“ haben können.

Zuweisen von Knoten zu Gemeinschaften unter Verwendung des Louvain-Algorithmus

Wir haben den Louvain-Algorithmus ausgewählt, da es sich um einen bekannten Algorithmus handelt, der selbst in großen komplexen Netzwerken sehr schnell läuft – seine Laufzeit ist nahezu linear zur Größe des Netzwerks. Der Algorithmus versucht, sein Ziel zu maximieren, indem er diese beiden Phasen wiederholt:

  1.  Es ordnet jeden Knoten im Diagramm einer einzelnen Community zu. Für jede Kante, die den Knoten u und den Knoten v verbindet, prüft der Algorithmus, ob das Zusammenführen der Gemeinschaften von u und v das Ziel erhöht, und wenn dies der Fall ist, führt er die Zusammenführung durch.
  2. Der Algorithmus erstellt einen neuen Graphen, in dem jede Gemeinschaft durch einen einzelnen Knoten dargestellt wird, und die der Kante zwischen den Gemeinschaften zugewiesene Gewichtung die Summe der Gewichtungen aller Kanten zwischen den zusammengeführten Knoten jeder Gemeinschaft ist.

Der Algorithmus stoppt, wenn es keinen Schritt gibt, der das Ziel erhöht. Die Ausgabe ist ein induzierter Graph, in dem Knoten Gemeinschaften darstellen. Für unsere Implementierung haben wir ein Python-Paket namens „Community“ verwendet. Weiteres Lesematerial finden Sie hier: http://www.emilio.ferrara.name/wp-content/uploads/2011/07/isda2011-k-path.pdf

Community-Erkennung und Cyber-Sicherheit

Da jede Community dicht ist, d. h. es viele Zugriffspfade zwischen den Knoten gibt, erhält ein Angreifer Zugriff auf eine der Entitäten (Benutzerkonto oder Gerät) in einer Community, wäre es für ihn oder sie einfacher, Zugang zu anderen Entitäten in dieser Community zu erhalten. Offensichtlich ist es für einen Angreifer schwieriger, auf andere Communities vorzudringen, da es weniger Zugriffswege zwischen verschiedenen Communities gibt. Bei richtiger Anwendung kann die Community-Erkennung dabei helfen, verdächtige Aktivitäten innerhalb eines Netzwerks zu erkennen. Prognostizieren Sie seitliche Bewegungspfade und setzen Sie intelligentere Richtlinien in Echtzeit durch.

Wie Silverfort die Thematik adessiert

Wann Silverfort Lateral Movement verhindern Die Plattform wird in einem Netzwerk bereitgestellt, sie überwacht alle Authentifizierungs- und Zugriffsaktivitäten zwischen den verschiedenen Einheiten und erstellt ein Diagramm wie zuvor beschrieben. Das Rohdiagramm sieht so aus:

Jeder Kreis ist ein Benutzer und jedes Dreieck ist ein Server. Die Gewichtungen an den Rändern werden durch die Anzahl der überwachten Authentifizierungs- und Zugriffsanforderungen und die den verschiedenen Knoten zugeordneten Berechtigungen bestimmt (der Einfachheit halber werden die Gewichtungen in der Grafik nicht angezeigt). Dann verwenden wir den Louvain-Algorithmus, um Gemeinschaften im Netzwerk zu identifizieren. Nachdem Sie die Gemeinden identifiziert haben, sieht die Karte wie folgt aus:


Jetzt erkennen wir Knoten, die mit Entitäten in Gemeinschaften kommunizieren, denen sie nicht angehören. Diese Knoten wären wertvolle Ziele für Angreifer, da sie die einzigen Zugangspunkte zwischen Communities sind. Daher muss ein Angreifer sie durchdringen, um sich auf andere Communities auszubreiten. Die Sicherung der Kanten (Verbindungen) dieser Knoten ist wichtig, um zu verhindern, dass sich ein Angriff im Netzwerk ausbreitet.

Die richtigen SilverfortMit den Authentifizierungsrichtlinien von können Unternehmen automatisch auf erkannte Bedrohungen reagieren, indem sie eine verstärkte Authentifizierung erzwingen, um die Identität des Benutzers zu validieren, oder den Zugriff vollständig blockieren. Dies gilt sowohl für die User-to-Machine- als auch für die Machine-to-Machine-Kommunikation.
Es hilft, die Communitys und die wertvollen Community-übergreifenden Verbindungen zu identifizieren, auf die Angreifer abzielen würden Silverfort Kunden bei der Festlegung intelligenter sicherer Authentifizierungsrichtlinien. Das Community-Diagramm kann Administratoren auch dabei helfen, Fehlkonfigurationen in ihren Netzwerken zu identifizieren. In der folgenden Grafik sind einige der wertvollen Knoten und Verbindungen, die gesichert werden sollten, violett markiert.

Wie wird es heute genutzt?

Einige unserer Kunden nutzen bereits Silverfort's Community-Analyse (die Teil unserer KI-basierten Risiko-Engine ist), um Communities und Cross-Community-Verbindungen in ihren Netzwerken zu identifizieren, Fehlkonfigurationen und „Schwachstellen“, die gesichert werden sollten, zu identifizieren und ungewöhnliche Aktivitäten zu erkennen. Jetzt helfen wir unseren Kunden, den nächsten Schritt zu gehen – indem sie als Reaktion auf erkannte Bedrohungen sichere Echtzeit-Authentifizierungsrichtlinien anwenden und diese wirksam verhindern seitliche Bewegung in ihren Netzwerken und Cloud-Umgebungen.

Gal Sadeh, Senior Data Scientist, Silverfort
Gal ist Senior Data Scientist in SilverfortDas Forschungsteam von . Er ist verantwortlich für Big Data Analytics und die Entwicklung von KI-Engines. Er kam dazu Silverfort nach vielen Jahren der Forschung und Führungsrolle bei der 8200-Elite-Cybereinheit der israelischen Verteidigungsstreitkräfte. Gal hat einen B. Sc. in Mathematik und Informatik von der Universität Tel Aviv.

Stoppen Sie Identitätsbedrohungen jetzt