-
Gebiet der Erfindung
-
Die
vorliegende Erfindung bezieht sich im Allgemeinen auf Verfahren
und Systeme zur Bereitstellung einer Sicherheit auf einem Kommunikationssystem,
und genauer gesagt bezieht sich die Erfindung auf eine adaptive,
verhaltensgemäße Eindringerfassung.
-
HINTERGRUND DER ERFINDUNG
-
Mit
dem Anstieg des Internets und der Verwendung von Computernetzwerken
durch viele Geschäfte
wurde eine Netzwerksicherheit zunehmend wichtig. Der Anstieg des
elektronischen Handels hat dazu geführt, dass Firmen ihre Netzwerke über das Internet
einem weiteren Publikumsbereich geöffnet haben, um konkurrenzfähig zu bleiben.
Solche offene Netzwerke setzen die Firmen Eindringversuchen aus,
um die Vertraulichkeit, Integrität
oder Verfügbarkeit
zu enthalten, oder um die Sicherheitsmechanismen von einem Computersystem
oder Netzwerk zu umgehen. Zusätzlich
müssen
Firmen, welche große Mengen
von Konsumentendaten speichern, ein bestimmtes angemessenes Verfahren
bereitstellen, um eine Privatsphäre
sicherzustellen.
-
Angreifer
oder Hacker fahren damit fort, ihre Angriffe und Netzwerk-Unterwanderungsverfahren zu ändern, und
es bestehen fortgesetzt Schwachstellen in vielen Bereichen, welche
eine Netzwerk-Fehlkonfiguration, schlecht entwickelte Software,
Benutzer-Nachlässigkeit
und Gleichgültigkeit,
und grundlegende Entwurfsfehlerstellen in Protokollen und Betriebssystemen
enthalten. Ferner, da die Gewandtheit von Werkzeu gen, welche durch
Hacker verwendet werden, zugenommen hat, ist das technische Wissen,
welches zum Angreifen eines Netzwerkes notwendig ist, gesunken.
Zusätzlich
sind Angriffe oftmals das Ergebnis von einer bösartigen Insideraktivität, welche
durch Umfassungs-Abwehrmaßnahmen nicht
verhindert werden kann.
-
Eine
Eindringerfassung ist der Prozess von einer Überwachung der Ereignisse,
welche in einem Computersystem oder Netzwerk auftreten, und Analysieren
deren auf Hinweise eines Eindringens. Ein Eindringerfassungssystem
(IDS) ist ein Softwareprodukt oder eine Hardwarevorrichtung, welche
den Eindringerfassungsprozess automatisiert, und ein IDS enthält typischerweise
drei Funktionskomponenten: Informationsquellen, Analyse und Rückmeldung. Eine
Analysestrategie fällt
in zwei grundlegende Typen: kenntnisbasierte Missbrauchserfassung
und verhaltensbasierte Anomalitätserfassung.
Verhaltensbasierte Erfassungsverfahren verwenden eine Information über ein
wiederholtes und gewöhnliches Verhalten
auf die Systeme, welche sie überwachen, und
melden Ereignisse, welche von erwarteten Verwendungsmustern abweichen.
-
Eine
Eindringerfassung erlaubt es Firmen, ihre Systeme vor der Gefahr
zu schützen,
welche mit einer zunehmenden Netzwerkverbindung und einem Vertrauen
auf Informationssysteme aufkommen. Den Pegel und die Beschaffenheit
von modernen Netzwerksicherheitsbedrohungen vorausgesetzt, haben IDSs
eine zunehmende Akzeptanz als eine notwendige Hinzufügung auf
jede Firmensicherheitsinfrastruktur. IDSs überprüfen automatisch große Mengen von
Netzwerk- und Systemdaten in Echtzeit, identifizieren eine verdächtige Aktivität, stellen
eine echtzeitautomatisierte Meldung an ein Sicherheitspersonal bereit,
führen
eine weitere Untersuchung durch und antworten manchmal automatisch
auf spezifizierte Attacken. Korrekt verwendet kann ein IDS allgemeine
Attacken, Versuche dazu, bekannte Schwachstellen auszunutzen, Netzwerkproben
oder kritische Ressourcenüberlastungen
auf eine angemessen zeitgerechte Weise erfassen. Durch ein erfolgreiches
Identifizieren von einer ungültigen
Aktivität
können
IDSs indirekt Netzwerk- und Systemschwachstellen in den Blickpunkt
rücken,
welches eine Fehlerbehebung und Feinabstimmung ermöglicht.
-
Eine
umfassende Netzwerksicherheit erfordert mehrere Schichten. Ein wirksames
IDS enthält sowohl
kenntnisbasierte als auch verhaltensbasierte Bauteile. Die meisten
Anbieter stellen Netzwerksicherheitsprodukte bereit, welche lediglich
gegen bekannte oder „Signatur"-Muster von einem
Angriff schützen,
und typische verhaltensbasierte Komponenten sind auf eine einzelne
Anomalieerfassung beschränkt,
ohne auf Verhaltensmuster über
eine längere
Zeitperiode zu achten. Bestehende Produkte ignorieren störende neue Verhaltensmuster,
welche zu erfassen oder zu dokumentieren sind. Hacker folgen oftmals
bestimmten Verhaltensmustern, welche als Rufkarten für ihre persönlichen
invasiven Techniken doubeln. Beispielsweise kann ein Hacker die
Gesamtheit der vom Hacker anvisierten Netzwerke durch eine erkennbare
und konsistente Sequenz von Anschlusszugriffsversuchen angreifen,
jedoch wird das Muster als abweichend erkannt oder eine Alarmierung
findet lediglich dann statt, nachdem ein Angriff auftrat, und ein
Profil für
dieses Verhalten wird dokumentiert und veröffentlicht. Signatur- und Basisverhaltensverfahren
von einer Bedrohungserfassung sind unschätzbar, jedoch sind sie unzureichend,
da Hacker neue Wege bestimmen, um anzugreifen oder ihr altes Verhalten
einzustellen, um weniger Beachtung auf sich zu ziehen.
-
Viele
ernsthafte Eindringlinge führen
beträchtliche
Mengen von Probearbeit innerhalb eines Netzwerks durch, um zu lernen,
wie es aufgebaut ist, und seine Schwachstellen vor einem gezielten
Angriff zu verstehen. Diese Erkundungsarbeit wird für gewöhnlich in
automatisierten Server- und Netzwerkprotokollen aufgezeichnet, verbleibt
jedoch größtenteils
bei den meisten Netzwerk-IDSs unbemerkt, wenn die Verkehrsanomalie
nicht zu den Profilen von bekannten oder allgemeinen „Signatur"-Hackerangriffen
passt. Demgemäß gibt es
eine Notwendigkeit nach einem System mit einer adaptiven Technologie, welche über die
Zeit eine Information über
ein bestimmtes System ansammelt und ein Muster eines normalen Verkehrs
aufbaut. Ein solches System ist dazu in der Lage, intelligenter
zu bestimmen, welche Netzwerkverkehrssignaturen nicht zu den normalen Profilen
für das
einzelne System passen, und ein Eindringerfassungsteam zur weiteren
Untersuchung und zu einer geeigneten schnellen Abwehraktion alarmiert.
-
Stand der Technik
-
Dokument
US-B1-6321338 (PORRAS
PHILLIP A ET AL) offenbart ein Ansammeln von Verhaltensdaten auf
einer fortlaufenden Basis für
jene Zeitperiode, welche ausreicht, um ein statistisch signifikantes
Muster von Historiendaten, bezogen auf einen Verkehr über das
Netzwerk zu erarbeiten, und ein Aufbauen von zumindest einem Langzeit-
und zumindest einem Kurzzeit-Statistikprofil anhand von einer Messung
von den Netzwerkpaketen, welche Datenübertragungen, Fehler oder Netzwerkverbindungen überwacht.
-
Umriss der Erfindung
-
Es
sind Systeme und Verfahren zum Analysieren eines historischen Netzwerkverkehrs
und zum Bestimmen, welcher Verkehr nicht zu einem Netzwerk gehört, offenbart.
Eine Eindringerfassung wird über
eine Zeitperiode durchgeführt,
wobei nach Verhaltensmustern innerhalb von Netzwerken oder Informationssystemen
Ausschau gehalten wird, und Alarme erzeugt werden, wenn sich diese
Muster ändern. Ein
normales Verkehrsverhalten wird auf einer fortdauernden Basis eingesammelt,
um eine Grundlinie zum Vergleich mit einen zukünftigen Netzwerkverkehr aufzubauen.
Sobald ein statistisch signifikantes Muster von historischen Daten
erarbeitet wurde, wird ein Verhaltens-Eindringerfassungsmittel aktiviert. Das
Eindringerfassungssystem bildet intelligent Korrelationen zwischen
ungleichen Quellen aus, um Verkehrsanomalien zu finden. Über die
Zeit sind die Verhalten vorhersagbar, und das Eindringerfassungssystem
versucht Resultate vorherzusagen, welche proaktiv anstelle von lediglich
reaktiv werden. Eindringungen treten über die gesamten Informationssysteme
hinweg auf, welche sowohl die Netzwerk-Infrastruktur als auch Anwendungsserver
enthalten. Indem das Informationssystem als eine Gesamtheit behandelt
wird, und eine Eindringerfassung darüber hinweg durchgeführt wird,
werden die Erfassungsmöglichkeiten
signifikant erhöht.
-
Gemäß der vorliegenden
Erfindung enthält ein
Verfahren zum Erfassen von Netzwerk-Eindringversuchen in Zusammenhang mit
Netzwerkobjekten auf ein Kommunikationsnetzwerk ein Einsammeln von
normalen Verkehrsverhalten-Daten in Zusammenhang mit Netzwerkobjekten
auf dem Netzwerk auf einer anhaltenden Basis für einen Zeitperiode, welche
ausreicht, um eine statistisch wesentliche Probe von historischen
Daten bezogen auf einen Verkehr über
das Netzwerk zu erstellen; ein Überwachen von
einem Netzwerkverkehr in Zusammenhang mit Netzwerkobjekten auf dem
Netzwerk, um Anomalien zu erfassen; ein Analysieren der Anomalien
unter Verwendung der historischen Daten; ein Erzeugen von Alarmen,
welche mögliche
Eindringversuche identifizieren, basierend auf der Analyse von den Anomalien;
ein Aktualisieren der historischen Daten basierend auf den Anomalien,
den Alarmen und dem Netzwerkverkehr; wobei das Überwachen des Netzwerkverkehrs
ein Anlegen von einer Folge von Regeln zum Identifizieren von anomalen
Paketen, und ein Hinzufügen
der anomalen Pakete an ein Anomalitäts-Pool enthält; und
das Analysieren der Anomalien ein Analysieren von Paketen in dem
Anomalitäts-Pool,
unabhängig
von irgendeiner der Folgen von Regeln, welche das Paket identifizierten,
zur Hinzufügung
an den Anomalitäts-Pool
enthält.
-
Das
Analysieren der Anomalien unter Verwendung der historischen Daten
kann ebenfalls ein Durchführen
von einer Schwellwertanalyse enthalten, um zu bestimmen, ob ein
Datenpunkt innerhalb von Schwellwerten ist.
-
In
einer beispielhaften Ausführungsform
enthält
das Erzeugen von Alarmen, welche mögliche Eindringversuche identifizieren,
ein Hinzufügen
von Alarmen an einen Alarm-Pool und ein Freigeben von Alarmen an
ein Bedienpult zur Ansicht durch einen Bediener. Gemäß einer
weiteren beispielhaften Ausführungsform
kann das Erzeugen von Alarmen ein Alarmfreigabesystem enthalten,
wobei ein erster Satz von Alarmen einem Alarm-Pool hinzugefügt wird,
Internetprotokoll-Adressen, welche mit jedem Alarm in dem Alarm-Pool in Zusammenhang
stehen, mit einem Namen aufgelöst
werden, und jeder Alarm im Alarm-Pool durch einen Namen, welcher
durch einen Bediener wiedererkennbar ist, umbenannt wird, wobei
ein Satz von Regeln angewendet wird, um Alarme vom Alarm-Pool, welche
auf einem Bedienpult zur Ansicht durch den Bediener angezeigt werden,
auszuwählen,
wobei die Regeln High-Level-Auswahlparameter enthalten, welche zuvor
bestimmt wurden, und wobei die ausgewählten Alarme durch einen Namen
an das Bedienpult zur Ansicht durch den Bediener freigegeben werden.
-
Bestimmte
beispielhafte Ausführungsformen von
Verfahren von der vorliegenden Erfindung können über eine Mehrzahl von Netzwerken
und mit den Ergebnissen, welche in einer globalen Datenbank erarbeitet
sind, durchgeführt
werden, und historische Daten können,
basierend auf den Ergebnissen in der globalen Datenbank aktualisiert
werden.
-
Ein
Computerspeichermedium, welches ein Computerprogramm speichert,
welches, wenn es durch eine computergesteuerte Einrichtung ausgeführt wird,
kann bei der computergesteuerten Einrichtung bewirken, bestimmmte
beispielhafte Ausführungsformen
von Verfahren gemäß der vorliegenden Erfindung
durchzuführen.
Zusätzlich
kann eine computergesteuerte Einrichtung dazu betriebsbereit sein, um
bestimmte beispielhafte Ausführungsformen
von Verfahren von der vorliegenden Erfindung zu implementieren.
-
In
einer beispielhaften Ausführungsform
von einem System gemäß der vorliegenden
Erfindung enthält
ein Eindringerfassungssystem zum Erfassen von Netzwerkeindringversuchen
in Zusammenhang mit Netzwerkobjekten auf einem Kommunikationsnetzwerk
einen Sensor, welcher mit dem Netzwerk verbunden ist, um einen Netzwerkverkehr
zu überwachen,
welcher mit Netzwerkobjekten auf dem Netzwerk in Zusammenhang steht.
Der Sensor kann eine kenntnisbasierte Komponente enthalten, um den
Netzwerkverkehr nach bekannten Zeichenfolgen und Byte-Folgen zu
untersuchen, welche Signatur-Angriffe
anzeigen und einen Paket-Logger zum Auslesen von Paketen im Netzwerkverkehr,
Klassifizieren der Pakete durch Protokolle und Erzeugen von Einheiten
von komprimierten Paketen. Bin mit dem Sensor verbundener Server
akzeptiert Echtzeitalarme für
mögliche
Signatur-Angriffe, und ein Umwandler ist bereitgestellt, um Alarme
von einem ursprünglichen
Signaturformat in ein vereinheitlichtes Format zur Speicherung in
zumindest einer relationalen Datenbank umzuwandeln. Bin Analyseserver
empfängt komprimierte
Pakete von dem Sensor zu periodischen Intervallen, und der Analyseserver
führt eine Verhaltensanalyse
auf die vom Sensor empfangenen Daten aus. Die zumindest eine relationale
Datenbank speichert rohe Paketdaten, Verhaltensdaten und Indexdaten.
-
Bestimmte
beispielhafte Ausführungsformen von
Systemen gemäß der vorliegenden
Erfindung können
eine Mehrzahl von Sensoren enthalten, welche mit dem Netzwerk verbunden
sind. Ebenfalls können
zwei oder mehrere Virtuelles-Privates-Netzwerk Tunnel, welche den
Sensor mit dem Netzwerk verbinden, in bestimmten beispielhaften
Ausführungsformen
bereitgestellt sein.
-
Weitere
Ausführungsformen
von der vorliegenden Erfindung sind in Ansprüchen 2 bis 9 dargelegt.
-
Kurze Beschreibung der Zeichnungen
-
1 ist
eine beispielhafte Umgebung zum Betrieb von Systemen und Verfahren
gemäß der vorliegenden
Erfindung.
-
2 zeigt
eine Übersicht
eines Prozessablaufes von einer Ausführungsform gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
3 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Ressourcennachfolgung und einer regelbasierten Anomalieerfassung
gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
4 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Anomalie-Pool-Analyse gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
5 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Alarmklassifizierung gemäß von Systemen und Verfahren
von der vorliegenden Erfindung.
-
6 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer statistischen Erzeugung gemäß von Systemen und Verfahren
von der vorliegenden Erfindung.
-
7 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Schwellwertanalyse gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
8 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Alarmkorrelation gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
9 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer globalen Analyse gemäß von Systemen
und Verfahren von der vorliegenden Erfindung.
-
10 zeigt
einen Prozessablauf für
eine Ausführungsform
von einem Alarmfreigabesystem gemäß von Systemen und Verfahren
von der vorliegenden Erfindung.
-
Genaue Beschreibung von der
Erfindung
-
Bei
der Beschreibung von Ausführungsformen
gemäß von Systemen
und Verfahren von der vorliegenden Erfindung werden die folgenden
Ausdrücke
darin auf die im Folgenden angezeigte Weise verwendet:
- Mittel:
Eine IDS-Komponente, welche Systemdaten ansammelt, eine Systemaktivität überwacht
und Alarme bei der Erfassung von einem Eindringen ausgibt.
- Alarm: Eine durch ein IDS gesendete Meldung, welche über ein
erwartetes oder tatsächliches
Eindringen warnt und für
gewöhnlich
nach einer bestimmten Art von einer Wirkung in Ansprechen ruft.
Ebenfalls als eine Meldung bezeichnet.
- Alarmerzeugung: Eine Hinzufügung
eines Alarms an eine Datenbank, um ein erfasstes Ereignis aufzuzeichnen.
Alle erzeugten Alarme werden nicht notwendigerweise an einen Bediener
des IDS angezeigt oder freigegeben, jedoch verbleiben erzeugte Alarme in
der Datenbank.
- Alarmfreigabe: Anzeigen eines Alarms auf einem Bedienpult zur
Betrachtung eines Bedieners des IDS.
- Bedienpult: Eine Administrations- oder Verwaltungskomponente
von einem IDS. Oftmals eine grafische Benutzerschnittstelle (GUI), über welche
ein Bediener oder ein Benutzer die Betriebe des IDS steuert, und
wo eine Meldung über
Alarme auftritt.
- Umschlag: Ein Zweipunkt-Datensatz, welcher Quellen- und Zieladressen
in einem rohen Paket enthält.
- Eskalation: Einem Alarm wird eine höhere Priorität gegeben.
- Erzeugung-I-Statistik: Eine einfache Zählung von Paketstatistiken.
Ebenfalls als eine erste Erzeugungsstatistik bezeichnet.
- Erzeugung-II-Statistik: Eine Zählung von einer Beziehung zwischen
mehreren Erzeugung-I-Statistiken.
- Erzeugung-III-Statistik: Eine Messung eines zeitlich festgelegten
Datenpunktes von einer bekannten Ressource (das heißt wie viel
oder wie oft eine Statistik in einem vorgegebenen Zeitrahmen auftritt). Ebenfalls
als eine Häufigkeit
bezeichnet.
- Eindringen: Eine Verletzung von einer Systemsicherheitsregel
durch eine nicht autorisierte Außenperson oder durch einen
andererseits autorisierten Benutzer. Eine Verletzung kann einen
unkorrekten Zugriff auf das Netzwerk, ein Zugreifen auf bestimmte
Systeme innerhalb des Netzwerkes, ein Zugreifen auf bestimmte Dateien
oder auf laufende bestimmte Programme enthalten.
- Eindringerfassungssystem (IDS): Ein automatisiertes System,
welches eine Sicherheitsverletzung von einem Informationssystem
oder einem Netzwerk erfassen kann.
- Normal: Dies zeigt eine Akzeptanz auf das Netzwerk an und ist
netzwerk- und sensorspezifisch, welches bedeutet, dass jenes, welches
bei einem Netzwerk anormal sein kann, bei einem weiteren vollständig akzeptiert
sein kann.
- Vorhersage: Ein berechneter Wert, welcher eine Vermutung über einen
zukünftigen
Datenpunkt ist. Dies ist nicht mit einer Kurvenverlauf-Anpassung
zu verwechseln.
- Geschütztes
Netzwerk: Ein Bereich von Adressen, welche ein Sensor als intern
betrachtet. Jegliches mit einer Quelle außerhalb dieses Bereiches wird
als extern betrachtet. Jegliches innerhalb dieses Bereiches wird
als intern betrachtet.
- Protokoll: Bin Satz von formalen Regeln, welcher beschreibt,
wie Daten zu übertragen
sind, insbesondere über
ein Netzwerk. Dies ist ein Protokoll eines niedrigen Pegels, wel ches
eine Bit- und Byte-Reihenfolge und die Übertragung, Fehlererfassung
und Korrektur des Bitstroms bestimmt. Beispiele sind IP (Internetprotokoll),
IPSec (Sicherheitsinternetprotokoll), TCP (Übertragungs-Steuerprotokoll),
UDP (Benutzer-Datagramm-Protokoll), ICMP (Internet-Steuermeldung-Protokoll),
ARP (Adress-Auflösung-Protokoll) und
weitere, welche dem Fachmann bekannt sind.
- Rohdaten: Tatsächliche
Paket-Dateiköpfe,
bis hin zu Schicht 4 (64 Byte) in einer Datei gespeichert. Rohdaten
werden auf einem Sensor eingefangen und an Server zum Import in
eine Datenbank übertragen. Sobald
an die Server übertragen,
sind die Rohdaten nicht länger
notwendig.
- Rohpaket: Daten, welche aus einem Netzwerkpaket gezogen werden
und in einer Datenbank in einem Feld-zu-Feld-Schema gespeichert
werden.
- Änderungswiderstand
(RTC): Der Widerstand dagegen, dass jeglicher nachgeführter Datenpunkt
durch eine Analyseroutine geändert
wird (das heißt
die Vorhersagbarkeit des Datenpunkts). Ein Datenpunkt mit einer
hohen Vorhersagbarkeit widersteht einer Anderung, weil er oftmals
zuvor korrekt beurteilt wurde. Ein Datenpunkt mit einer niedrigen
RTC ist typischerweise unvorhersagbar, weil er eine hohe Änderungsrate
hat.
- Ressource: Eine verwendbare Funktion von einer Netzwerkvorrichtung,
welche Server, Protokolle und Dienste enthält.
- Regel: Ein Satz von Auswahlkriterien, welche verwendet werden,
um Rohpakete auszuwählen.
- Punktzahl (SCR): Eine menschliche Bewertung von jeglichem nachgeführten Datenpunkt. Ähnlich einer Stärke, befördert jedoch
eine stärkere
Gewichtung, wenn bestimmt wird, wie normal ein Datenpunkt ist. Eine
kleine Änderung
in der Punktzahl ist äquivalent zu
einer starken Änderung
in der Stärke.
Dieser Wert kann lediglich manuell durch einen Bediener des IDS geändert werden.
- Empfindlichkeit: Eine globale Einstellung, welche dazu verwendet
werden kann, um einen Sensor mehr oder weniger empfindlich auf bestimmte
Typen von Alarmen zu erstellen, wie beispielsweise eine Ressource,
eine Signatur, ein Schwellwert und dergleichen. Eine Empfindlichkeit
kann dazu verwendet werden, um einen Sensor dazu abzustimmen, um
ein bestimmtes Netzwerk besser anzugleichen.
- Sensor: Eine Vorrichtung, welche zur Überwachung an einem Host-Netzwerk
platziert ist. Ein Sensor kann zwei Funktionen durchführen: Eine
kenntnisbasierte Eindringerfassung und eine Paket-Protokollierung
von Verhaltenspaketen. Ein Sensor sammelt Rohpaketdaten und Verhaltensdaten,
um jegliche Analyse durchzuführen.
Diese enthält
Alarme, Rohpakete, Schwellwerte, Frequenzen, Angriffe und dergleichen.
Die eingesammelten Daten verbleiben für jeden Sensor getrennt, haben
jedoch das gleiche Format und Schema.
- Server: Eine Netzwerkvorrichtung, welche eine Adresse hat und
Daten auf einem Netzwerk überträgt.
- Dienst: Ein Protokoll eines hohen Pegels, welches eine Funktion
spezifiziert, welche durch ein Protokoll eines niedrigen Pegels
befördert
wird. Ein Beispiel ist HTTP (Hyper Text Transfer Protocol), welches
durch TCP, DNS (Domain Name Server), welches durch UTP befördert wird,
oder ein Echoreply-ICMP-Paket.
- Stärke
(STR): Eine IDS-Bewertung von jeglichem nachgeführten Datenpunkt, welche die
Datenpunkt-Normalität
auf das Netzwerk beurteilt. Typischerweise zeigen niedrige Werte
eine Normalität
an, und zeigen hohe Werte eine Anormalität an.
- Stärke-Punktzahl-Wert
(SSV): Ein berechneter Wert, welcher die Ernsthaftigkeit eines Alarms,
bezogen auf dessen Gefahr auf das Host-Netzwerk anzeigt. Jeder Alarm
hat einen SSV, welcher die Bedrohungseinschätzung von der Punktzahl des
Alarms anzeigt. Dieser Wert wird unter Verwendung der Stärke und der
Punktzahl des Alarms und der Alarmquelle berechnet. Typischerweise
gilt, dass, je höher
der SSV ist, desto höher
ist die Bedrohung.
- Schwellwert: Ein Bereich von einem Daten-Kurvenverlauf, welcher
sowohl oberhalb als auch unterhalb der Datenpunkte einklammert,
welches die Kurvenverlauf-Normalwerte anzeigt. Ein Schwellwert enthält vier
Datenpunkte für
jeden Datenpunkt auf dem nachgeführten
Kurvenverlauf. Zwei Punkte sind eine nahe Abschätzung des Kurvenverlaufs (ein
dünner Bereich,
welcher für
gewöhnlich
innerhalb von 3–5 Prozent
des normalen Datenpunktes ist) und eine zweite, eher konservative
Abschätzung,
welche ein breiterer Bereich ist (für gewöhnlich innerhalb von 6–10 Prozent
des normalen Datenpunkts).
-
Systeme
und Verfahren gemäß der vorliegenden
Erfindung stellen die Fähigkeit
dazu bereit, einen historischen Netzwerkverkehr zu analysieren und
zu bestimmen, welcher Verkehr nicht in ein Netzwerk gehört. Eine
Eindringerfassung wird über
eine Zeitperiode durchgeführt,
anstelle dass eine Information schnell untersucht wird und die Information
niemals wieder betrachtet wird. Systeme und Verfahren der vorliegenden
Erfindung schauen nach Verhaltensmustern innerhalb von Netzwerken
oder Informationssystemen und erzeugen Alarme, wenn diese Muster
sich ändern.
Ein normales Verkehrsverhalten wird auf einer fortgeführten Basis
gesammelt, um eine Basislinie zum Vergleich mit einem zukünftigen Netzwerkverkehr
aufzubauen. Sobald eine statistisch signifikante Probe von historischen
Daten erarbeitet wurde, wird ein Verhaltens-Eindringerfassungsmittel aktiviert.
Das Eindringerfassungssystem bildet Korrelationen zwischen ungleichen
Quellen intelligent aus, um Verkehrsanomalien zu finden. Über die
Zeit sind Verhalten vorhersagbar, und das Eindringerfassungssystem
versucht, Resultate vorherzusagen, welche proaktiv anstelle von
lediglich reaktiv werden. Eindringungen treten über gesamte Informationssysteme
auf, welche sowohl eine Netzwerk-Infrastruktur als auch Anwendungsserver
enthalten. Indem das Informationssystem als eine Gesamtheit behandelt wird
und eine Eindringerfassung darüber
hinweg durchgeführt
wird, steigen die Möglichkeiten
einer Erfassung signifikant an.
-
Die
Analyse von netzwerkweiten Ereignissen ist schwierig, weil die Daten
von sehr unterschiedlichen Quellen kommen und eine Analyse der Quelldaten
eine Herausforderung ist. Jegliche Abweichung im normalen Verhalten
des Informationssystems ist ein Hinweis über ein mögliches Eindringen. Die Daten
kommen von Quellen, welche Server, Netzwerksensoren und Firewalls
enthalten, nämlich
nicht lediglich eine einzelne Quelle. Sobald eingefangen, werden
Quelldaten (beispielsweise Rohpaketdaten) gespeichert und über eine
erste spezifizierte Zeitperiode analysiert, und Verhaltensereignisse
(beispielsweise Alarme) werden gespeichert und zur Analyse für eine zweite,
längere
spezifizierte Zeitperiode verwendet. Ein Beispiel ist eine einmonatige
erste Zeitperiode und eine einjährige
zweite Zeitperiode. Es ist zu verstehen, dass jede der Zeitperioden
gemäß Referenzen
der IDS-Benutzer und -Bediener variiert werden kann.
-
Quellen
von Angriffen werden langfristig in einer historischen Datenbank
zusammen mit einer Anzeige von ihrer Ablehnung von dem Host-Netzwerk
gespeichert. Dies erlaubt, dass alle weiteren Anomalien und Alarme
eskaliert werden, um anzuzeigen, dass der Angriff kein einzelnes,
isoliertes Ereignis war, sondern eine Wiederholung von einem bekannten
Angreifer. Zusätzliche
Angriffe erhöhen wiederum
die Anzeige, welches zu einer schnelleren Eskalation führt, während Perioden
einer Inaktivität von
dem Angreifer die Anzeige verringern. Angreifer werden aus der historischen
Datenbank lediglich dann entfernt, wenn sie abklingen, um anzuzeigen, dass
sie eine negative Anzeige unterhalb eines vorbestimmten Wertes erreicht
haben. Dieser Wert ist eine Software-Einstellung. Höhere Werte
verfolgen einen Angreifer länger,
und niedrigere Werte geben sie aus der Datenbank schneller frei.
-
Zusätzliche
Merkmale von einem IDS gemäß dieser
Erfindung können
enthalten: eine Analyse eines Bit-Pegel-Paketdetails; Korrelation
von Paket-Anomalien gegen IP-unabhängige Angriffsprofile; eine
einfache Anpassbarkeit, welche Signatur-Eindringerfassungssysteme enthält; eine
zeitbasierte Analyse, welche Profile gegen Paket-Anomalien korreliert; Anschlusszugriffsversuche,
welche sowohl über
die Zeit als auch Sequenz korreliert sind; und Verkehrsdaten, welche
in einer relationalen Datenbank (RDB) gespeichert sind und daraus
verarbeitet werden.
-
Eine
beispielhafte Umgebung zum Betrieb von Systemen und Verfahren gemäß der vorliegenden
Erfindung ist in 1 gezeigt und enthält einen Hauptserver
(ebenfalls als ein Haupt-ESP-Server bezeichnet), zumindest einen
Echtzeit-Server, zumindest einen Umwandler, zumindest eine relationale Datenbank
(RDB), zumindest einen Anwendungs- und Analyseserver, einen Web-Server,
einen Sitzungs-Server, und einen Sensor (ebenfalls als ein ESP-Sensor
bezeichnet). Beispielhafte Funktionalitäten von jeder dieser Komponenten
werden im Folgenden diskutiert.
-
Ein
Hauptserver bedient eine ESP-Datenbank 104. Unter anderem
behält
der Hauptserver eine Nachverfolgung der Arbeitsliste bei, welche
andauernde, vollendete und in Prozess stehende Arbeiten enthält, und
behandelt eine gemeinsame Prozess-Blockierung. Der Hauptserver kann
ebenfalls Sensoren über
RDB-Server verteilen, globale Konfigurationswerte speichern, Sensor-Hauptvariablen speichern
(statistische Konfigurationswerte für jeden Sensor) und Benutzerkonten
speichern. In der in 1 gezeigten Ausführungsform
wirkt ein Sitzungsserver 126 als der Hauptserver. Es ist
dem Fachmann bekannt, dass jeglicher geeignete Server der Hauptserver
sein kann. Server, wie beispielsweise Oracle oder MySQL-Server oder
eine weitere Standard-Hardware, auf welcher Linux/Unix-basierte
Betriebssysteme läuft,
kann als der Hauptserver verwendet werden, wie durch den Fachmann
bekannt ist.
-
Wie
in 1 gezeigt, akzeptieren Echtzeit-Server 106 und 108 die
Sensorverbindungen für Echtzeitalarme.
Die Echtzeit-Server 106 und 108 behalten den Sensor-Echtzeit-Tunnel (Netzwerkverbindung)
bei, speichern Echtzeitdaten im natürlichen Format (natür lich für das Signatur-System:
Dragon, Snort, usw.), speichern protokollierte Daten von Ereignissen
(aktueller Dateneinfang zur Ereigniszeit), bauen Datensitzungen
für Anwendungsserver
neu auf, und können
ebenfalls als Umwandler wirken. Echtzeit-Server sind Standardserver,
welche dem Fachmann bekannt sind, auf welchen Linux/Unix-basierte
Betriebssysteme laufen. Typischerweise können sie ein doppelprozessor-basiertes
System mit einer RAID-Aray-Disc-Einheit und ein Netzwerk-Dateisystem
enthalten, wie beispielsweise CODA, CIFS oder NFS, wenn der Diskspeicher
nicht bereits netzwerkbasiert ist, wobei all dies dem Fachmann bekannt
ist.
-
Bin
Umwandler 110 liest Echtzeitalarme von natürlich formatierten
Dateien aus, verbindet mit einer Sensor-RDB (wie beispielsweise
RDBs 112, 114 und 116), wandelt Alarme
von einem natürlichen
Signaturformat in ein einheitliches Format um, und kann mehrere
Sensoren zu einem einzelnen ESP-Sensor zusammenfassen. Der Umwandler 110 hat
eine Standard-Hardware, welche dem Fachmann bekannt ist, welche
auf Linux/Unix-basierten Betriebssystemen läuft, welche dazu in der Lage
ist, über
ein Netzwerk gemeinsam benutzte Dateisysteme und eine geeignete
Client-Software zur Verbindung an die RDBs anzubringen. Die relationalen
Datenbanken 112, 114 und 116 (RDBs) speichern
Rohpaketdaten, speichern Verhaltensdaten und Indexdaten. Die RDBs 112, 114 und 116 senden
Serverdaten an Webserver (wie beispielsweise der Webserver 124), Anwendungsserver
(wie beispielsweise der Anwendungsserver 120), und Analyseserver
(wie beispielsweise der Analyseserver 122). Die RDBs 112, 114 und 116 akzeptieren
Daten von dem Umwandler 110. Ein zusätzlicher Speicher, wie beispielsweise
der Speicher 118, kann zur Speicherung von den RDBs 112, 114 und 116 oder
der Datenbank 104 ebenfalls bereitgestellt werden. Die
RDBs 112, 114 und 116 können auf
standardisierten SQL-basierten Datenbankservern laufen, wie beispielsweise
jener von Oracle oder MySQL, welches dem Fachmann bekannt ist. Die
RDBs können
typischerweise einen 1 GB von RAM pro Prozessor haben, und einige
Konfigurationen können
ein Speicherbereichsnetzwerk (SAN) oder einen an einem Netzwerk
angehängten Speicher
(NAS) zur zentralen Datenbankspeicherung enthalten.
-
Ein
Applikationsserver oder Server 120 speichert den System-Datenbankverwalter-Benutzerschnittstelle-Code,
dient Anwendungsdaten an Webserver (wie beispielsweise der Webserver 124)
und weitere Benutzerschnittstelle-Systeme. Der Anwendungsserver 120 kann
jeglichem Sensor dienen. Ein Analyseserver oder Server 122 schaut
nach anhängigen
Arbeiten, verriegelt Arbeiten, markiert Arbeiten, welche im Prozess
sind, führt
Analysearbeiten durch, speichert Ergebnisse (aktualisiert ein Verhaltensprofil),
markiert verarbeitete Arbeiten und entriegelt Arbeiten. Der Anwendungsserver 120 und
Analyseserver 122 können
zu einem einzelnen Server zusammengefasst werden. Der Anwendungs-
und Analyseserver enthalten eine standardisierte Hardware, welche
auf einem Linux/Unixbasierten Betriebssystem mit einer geeigneten
Client-Software läuft,
um die RDB-Server zu verbinden, wie dem Fachmann bekannt ist. Open
SSH, welches dem Fachmann bekannt ist, kann dazu verwendet werden,
wenn verschlüsselte
Kommunikationen von dem Anwendungs- und Analyseserver an jegliche
Webserver erfordert werden.
-
Ein
Webserver 124 verarbeitet Web-Anfragen, ruft Anwendungsserver-Anwendungen
auf, um Anwendungsdaten zu erzeugen, und behandelt Benutzerschnittstellen.
Der Webserver 124 kann nicht auf die Sensordaten zugreifen.
Bin Webserver ist eine Standard-Hardware, welche dem Fachmann bekannt
ist, und läuft
typischerweise auf einem Linux/Unixbasierten Betriebssystem mit
einer geeigneten Client-Software, um an RDB-Server zu verbinden.
Der Sitzungsserver 126 behandelt Webserver-Sitzungsschlüssel, speichert
Sitzungsdaten, löscht
alte Sitzungen (abgestanden) und behandelt Konten. Wie oben erwähnt, kann
der Sitzungsserver 126 in einigen Fällen der Hauptserver sein.
Die Standard-Server-Hardware
kann für
den Sitzungsserver verwendet werden, wie einige der Server, welche oben
beschrieben sind, wie dem Fachmann bekannt ist. Eine getrennte relationale
Datenbank 128, welche mit dem Webserver 126 verbunden
ist, kann bereitgestellt sein.
-
Bin
Sensor (oder ESP-Sensor) 102 enthält drei getrennte Teilsysteme,
welche dazu entworfen sind, um drei Funktionen durchzuführen: Signaturüberprüfung, Dateneinfang
und Sicherheit. Jeder Sensor ist ein Bastion-Host, welcher eine
innere Firewall, einen kenntnisbasierten Sensor und einen Paket-Protokollierer
enthält.
Der kenntnisbasierte Sensor ist dazu entworfen, um lediglich eine
Signaturerfassung zu behandeln, und überlässt die Anomalieerfassung den
IDS-Analyseservern. Der Paket-Protokollierer hat komplexe Filterfähigkeiten,
welche dazu verwendet werden können,
um lediglich die gewünschten
Daten einzufangen, jedoch wird dies spärlich eingesetzt. Je mehr Daten
das System einfängt,
desto besser ist die Analyse. Typischerweise enthält der Sensor 102 einen
Einzel- oder Doppel-Prozessor (für
größere Netzwerke)
und zwei Netzwerk-Schnittstellenkarten. Die Standard-Hardware läuft auf
Linux 2.4+, wobei die Linux-Socket-Filter-, Sock-Paket- und IP-Ketten-Merkmale
freigegeben sind. Ein virtueller privater Netzwerktunnel oder ein
weiterer Transporttunnel ist notwendig, um Daten von dem Sensor
an einen Server zu bewegen. Wie oben erwähnt, kann OpenSSH dazu verwendet
werden, um Verhaltens-Pakete
zur Umwandlung zu übertragen
und Server zu importieren.
-
Die
Sensoren sind als Bastion-Hosts entworfen, weil sie in Umfängen vor
jeglichen Sicherheitsvorrichtungen verwendet werden. Typischerweise
arbeiten die Sensoren mit ei nem Nur-Lese-Draht für die Abtastschnittstelle,
jedoch behandelt eine zweite Netzwerkschnittstelle Kommunikationen
mit der Konsole, und als eine Sicherheitsvorrichtung muss diese Schnittstelle
gut geschützt
werden. Die innere Firewall wird dazu verwendet, um die Kommunikationsschnittstelle
zu schützen
und um den Sensor gegen Dienstverweigerungs-Angriffe unter Verwendung
von Verkehrsformungstechniken zu schützen. Alle Pakete auf der Kommunikationsschnittstelle
werden vollständig
entfragmentiert, bevor sie an den Rest des IDS passiert werden.
-
Wie
erwähnt,
enthält
der Sensor 102 einen Paket-Protokollierer. Auf Netzwerken
mit sehr hoher Geschwindigkeit verhindert jegliche Analyse auf dem Sensor
eine Leistung des Sensors und kann zu verworfenen Paketen führen. Aus
diesen Gründen
tritt die Verhaltensanalyse offline auf. Der Paket-Protokollierer
erzeugt „Pakete" von komprimiertem
und verschlüsseltem
Verkehr, welcher zur Analysestation bei spezifizierten Intervallen,
beispielsweise 30-Minuten- oder 60-Minuten-Intervallen zurückgesendet wird.
Jedes Paket wird entschlüsselt,
entkomprimiert und in den Verhaltensanalyseabschnitt von dem IDS zugeführt, wie
im Folgenden weiter beschrieben wird.
-
Der
Paket-Protokollierer liest Pakete von der Netzwerkschnittstelle,
klassifiziert die Pakete durch ein Protokoll, komprimiert die Pakete
und schreibt sie an eine Disk unter Verwendung eines doppelgepufferten,
eingefädelten
Prozesses. Die Analyse ist hauptsächlich auf Verkehrsmuster von
einem Netzwerk angewiesen, sodass die Daten nicht notwendig sind.
Obwohl es Gründe
dazu gibt, die Daten zu protokollieren, ist dies zur Verhaltensanalyse
nicht wesentlich. Auf Netzwerken mit sehr hoher Geschwindigkeit
kann der Sensor in zwei Teile aufgeteilt werden, wobei einer eine
Signaturüberprüfung mit
einem kenntnisbasierten Sensor durchführt, und der weitere eine Paket-Protokollierung
durchführt.
Dies erlaubt eine maximale Geschwindigkeit für jede Datenquelle und eine
Paket-Protokollierung
auf Geschwindigkeiten von 180+ Mbit.
-
Eine
Firewall 130 verbirgt den Rest von dem IDS vor dem Host-Netzwerk 134 und
schützt
den Sensor 102. Jegliche standardisierte zustandsbewusste
Firewall, welche dem Fachmann bekannt ist, ist zur Verwendung akzeptabel.
Die Firewall 130 teilt ebenfalls den Verkehr auf die verschiedenen
Server auf, wie in 1 gezeigt. Der Sensor 102 leitet
Virtuelles Privates Netzwerk (VPN)-Tunnel 132 an die Firewall 130 ein.
Die VPN-Tunnel 132 enthalten
einen langfristigen verschlüsselten
Tunnel für
Echtzeit-Alarme und einen kurzfristigen Tunnel für Transaktionen, welcher verbindet,
wenn Daten zu übertragen
sind, und trennt, wenn die Datenübertragung vollständig ist.
In einer Ausführungsform
werden Daten unter Verwendung von zwei Tunneln übertragen, und eine Wartung wird
in einem Nicht-Echtzeit-Modus durchgeführt. Mit anderen Worten überträgt das IDS
kenntnisbasierte Sensor-Alarme über
einen kenntnisbasierten Sensor-Tunnel, und alle Sensoren teilen
einen einzelnen Tunnel zur Rohalarm-Speicherung auf dem Echtzeit-Server. In einer
weiteren Ausführungsform
erlaubt ein E-Tunnel die Verwendung von jeglichen signaturbasierten
Produkt mit einem Verhaltenssystem. Zusätzlich erlaubt der E-Tunnel eine Übertragung
von mehreren wachsenden Dateien an den Server, behandelt mehrere
Eingabe- und Ausgabe-Ströme,
erzeugt und wartet einen VPN-Tunnel (stark verschlüsselte Netzwerkverbindung),
führt eine
Systemwartung ferngesteuert und sicher durch, meldet einen Systemstatus
(Durchführung
einer Überwachung)
und stellt jedem Sensor seinem eigenen Datenvorrat auf dem Server
bereit.
-
Sensoren
kommunizieren typischerweise an den Rest des IDS unter Verwendung
eines gesicherten Verfahrens zurück.
Netzwerksensoren verwenden minimal einen 640 Bit verschlüsselten
TCP-Tunnel. Der Kommunikationsschlüssel wird periodisch, beispielsweise
stündlich,
geändert.
Eine Authentifizierung tritt auf unter Verwendung von beispielsweise einem
768 Bit-Zertifikat an beiden Seiten des Tunnels. Die Firewall erlaubt
lediglich Kommunikationen zwischen der registrierten Analysestation
und dem Sensor, wobei die Tunnelanwendung die Host-Internet-Adresse
verifiziert, und beide Internet-Adressen werden zur Schlüsselerzeugung
und zum Authentifikations-Austausch verwendet. Eine Entfernter-Sensor-Administration
wird durch den gleichen 640 Bit-Kanal durchgeführt. Alle Kommunikationen an den
Sensor, inklusive einer Leistungsüberwachung, werden über den
gleichen Mechanismus vollständig verschlüsselt und
authentifiziert.
-
2 stellt
eine Übersicht
eines Prozessablaufes von einer Ausführungsform gemäß von Systemen
und Verfahren von der vorliegenden Erfindung bereit. In einem beispielhaften
Prozess 200 ist eine kenntnisbasierte Eindringerfassung,
welche das Senden von Signaturalarmen in Echtzeit enthält, Block 250,
enthalten. Die Funktion der kenntnisbasierten Eindringerfassung
liegt in der Durchführung einer
Echtzeitschwachstellenüberprüfung von
Paketen, welche durch die Firewall passiert werden. Der kenntnisbasierte
Abschnitt des Sensors wird mit einer Datenuntersuchung und einer
Alarmerzeugung von der Signaturüberprüfung aufgeladen. Ähnlich einer
Virusüberprüfung, sucht
ein Sensor in Netzwerkpaketen nach bekannten Zeichenfolgen und Folgen von
Bytes, welche Angriffe anzeigen. Alarme erscheinen auf dem Bedienpult
in Echtzeit. Die Alarme werden automatisch durch eine Information
priorisiert, welche oberhalb der Quelladresse in der Verhaltens-Datenbank
enthalten ist, wobei die meisten signaturbasierten Prozesse die
Alarme lediglich durch den Typ (Alarmname) priorisieren. Die signaturbasierten
Alarme werden von ihrer Vorgabe-Priorität wenn notwendig, basierend
auf der Quellenstärke, Punktzahl
und der Signatur-Empfindlichkeitseinstellung für den Sensor eskaliert.
-
Die
Verhaltensanalyse enthält
Block 300 bis Block 800. In Blöcken 300 bis 800 wird
eine Verhaltensanalyse für
ein einzelnes Host-Informationssystem (eine Ansammlung von zugehörigen Sensoren) durchgeführt. Schließlich tritt
eine globale Analyse bei Block 900 auf, und enthält eine
Verhaltens-Eindringerfassung über
Sensoren über
mehrere Informationssysteme hinweg, um beim Auffinden von Hackern über das
Internet hinweg zu unterstützen.
Dies kann Abtastquellen und koordinierte Angriffe identifizieren.
-
Die
Verhaltensanalyse enthält
eine adaptive regelbasierte Profilierung unter Verwendung einer modellbasierten
Begründung.
Verhaltensmuster werden abstrahiert, indem sie als Sequenzen und Schwellwerte,
welche als historische Regeln gespeichert sind, beschrieben werden.
Aktuelle Verhaltensmuster werden dann gegen die historisch vorhergesagten
Muster überprüft, und
es werden Abweichungen angezeigt. Einige Abweichungen können am
abstrakten Pegel klassifiziert werden, während weitere das IDS erfordern,
um die zugehörigen
Quelldaten zu finden und eine regelbasierte Quellanalyse durchzuführen. Die
Verhaltensanalyse verwendet eine Information in den RDBs mit dem
Ziel einer Erfassung von allen Eindringungen. Der Sensor ist mit
dem Rest des IDS verbunden und überträgt die protokollierten
Pakete an den Analyseserver. Jedes Paket wird entkomprimiert und
in die RDB für
den bestimmten Sensor importiert, und die Analyse beginnt dann.
Da die Analyse regelbasiert ist, kann, sobald die Daten bereit sind,
die Verarbeitung über
mehrere Server aufgeteilt werden, welches erlaubt, dass die Analyse
auf Gruppen auftritt.
-
Wie
in 2 gezeigt, enthält die Verhaltensanalyse zahlreiche
Schritte. Die Ressourcen-Nachfolgung,
Block 300, ist ein Prozess, welcher eine Netzwerkinformation
enthüllt,
indem der Host-Netzwerkverkehr untersucht wird. Der Analyseserver sucht
nach Servern, Protokollen und Diensten und zeichnet sie in der Datenbank
auf. Nach dem Aufzeichnen werden diese Dienste, Protokolle, usw.,
in der Zukunft nachgefolgt, und es werden Statistiken über sie
angesammelt. Dieser Prozess ist fortdauernd, sodass neue Ressourcen
entdeckt werden und alte Ressourcen gelöscht werden, welches in jedem Fall
Alarme erzeugt. Indem diese Daten aufgelistet werden, werden Systeme,
Protokolle und Dienste in der Verwendung zu jeder vorgegebenen Zeit
identifiziert, und es wird eine Messung darüber, wie wichtig sie für das Host-Netzwerk
sind, bereitgestellt.
-
Eine
regelbasierte Anomalieerfassung, Block 350, enthält die Verwendung
einer Folge von Regeln, um Anomalien auf dem Netzwerk zu finden. An
diesem Punkt sind Anoma lien einzelne Pakete, welche mit Auswahlregeln übereinstimmen,
welche Derartiges als illegale Pakete, ungewöhnliche Pakete und normale
Pakete bestimmen, welche nicht an gültige Netzwerkressourcen gesendet
werden (beispielsweise HTTP-Anforderungen an einen Server, welcher
HTTP nicht unterstützt).
Diese Pakete werden angesammelt und der Datenbank in einem protokollunabhängigen Bereich,
welcher der Anomalie-Pool genannt wird, hinzugefügt. Es gibt eine Folge von
normalen Regeln, welche dann bekannte normale Pakete subtrahieren – dies erklärt sich
anhand von Anomalien, welche in dem bestimmten Host-Netzwerk als
normal akzeptiert sind.
-
In
Stufe 2 ist ebenfalls eine Anomalie-Pool-Analyse enthalten, Block 400.
Sobald ein Anomalie-Pool erzeugt ist, werden die Pakete in dem Pool
unabhängig
von dem Auswahlprozess untersucht. Dies kann als „blinde" Analyse bezeichnet werden,
weil diese Analyse durchgeführt
wird, ohne dass der Server jegliche Kenntnis darüber hat, warum das Paket dem
Anomalie-Pool hinzugefügt
wurde. Darüber
hat, warum das Paket dem Anomalie-Pool hinzugefügt wurde. Wenn beispielsweise eine
Regel Pakete hinzugefügt
hat, weil die Pakete eine ungewöhnlich
niedrige Lebensdauer (TTL) haben, wäre es einfach, einen Alarm
zu erzeugen, welcher „LOW-TTL" angibt. Dies ist
jedoch verzerrt, und setzt ein LOW-TTL und nichts anderes über das
Paket voraus. Indern das Paket blind ohne eine Kenntnis darüber, warum
das Paket dem Anomalie-Pool hinzugefügt wurde, untersucht wird,
versucht die blinde Analyse zu bestimmen, warum das Paket hinzugefügt wurde.
Dies führt
zu Beziehungen zwischen Paketen und Anomalien, welche Basisgrund-Angelegenheiten anzeigen,
und ist vergleichbar mit einem pathologischen Herausfinden des Ursprunges
von einer Krankheit, im Gegensatz zu einer lediglichen Behandlung
der Symptome. Die blinde Analyse unterstützt beim Herausfinden von neuen
Angriffen, weil, wenn der gesamte Anomalie-Pool nicht zur Rechenschaft
gezogen werden kann, menschliche Bediener des IDS darauf hingewiesen
werden, eine weitere Analyse durchzuführen, um zu bestimmen, warum dies
der Fall ist. Das Ergebnis sind Erzeugung-I-Anomaliealarme, welche klassifiziert
sind, Block 500.
-
Bei
Block 600 werden Statistiken erzeugt. Erzeugung-I-Statistiken
werden erzeugt, welches eine einfache Aufzählung von verschiedenen Aspekten von
Protokollen einbezieht, wie beispielsweise die Anzahl von Paketen,
eingehenden Paketen, ausgehenden Paketen, die Kategorisierung von
Paketen in verschiedene Größen, usw.
Diese Statistiken werden als Erzeugung I bezeichnet, weil sie variieren
und weniger vorhersagbar sind. Erzeugung-I-Statistiken zeigen nicht Beziehungen
des Verkehrsflusses an, jedoch stellen sie eine Volumen-Basislinie
bereit. Als Nächstes
werden Erzeugung-II-Statistiken erzeugt. Dieser Prozess, welcher
Protokoll- und Dienst-Modelle verwendet, bezieht sich auf Statistiken, um mehr
vorhersagbare Werte zu erzeugen, welche einen Verkehrsfluss im Gegensatz
zu Volumina anzeigen. Beispielsweise kann ein Vergleich von eingehenden
Ping-Anfragen zu ausgehenden Ping-Antworten vorgenommen werden.
Erzeugung-II-Statistiken stellen eine Beziehung zwischen Paketen
dar, welche einen vorhersagbaren Verkehrsfluss erzeugt. Die Differenz
zwischen diesen Werten als ein Prozentsatz der Pakete ist immer
stets ein vorhersagbarer Wert auf Netzwerke. Erzeugung-II-Statistiken werden
in der Datenbank gespeichert. Erzeugung-III-Statistiken (ebenfalls
Häufigkeiten
genannt) werden ebenfalls berechnet, welche Ressourcen-Verwendungswerte
aufzählen
und Paarungen einhüllen,
welche nachverfolgen, welche Ressourcen von welchen Systemen verwendet
werden.
-
Eine
Schwellwertanalyse wird bei Block 700 durchgeführt. Schwellwerte
werden, basierend auf historischen Daten gespeichert. Schwellwert-Verletzungen
neigen dazu, starke Probleme anzuzeigen, jedoch ist eine Bestimmung
eines metrischen Überlaufs
und Unterlaufs von Werten schwierig. Aus diesem Grund werden Sequenzen
von Werten oftmals zusammen unter Verwendung des modellbasierten Begründungssystems
angehäuft,
sodass Schwellwert-Anzeigen von mehr als einem möglichen Wert abhängig sind.
Wenn der abstrahierte Schwellwert versagt, werden die Quelldaten
untersucht und abermals mit den Modellregeln verglichen. Da Daten
in der abstrakten Schicht mit historischen Daten verglichen werden,
sind historische Quelldaten zur vollständigen Analyse notwendig. Für jede Statistik,
sowohl zur Erzeugung I als auch zur Erzeugung II, wird jeder Wert
gegen die häufigste
Vorhersagung überprüft. Wenn
dies versagt, wird ein Alarm erzeugt. Neue Vorhersagungen für das nächste Zeitintervall (beispielsweise
eine Stunde) werden berechnet und gespeichert. Erzeugung-II-Alarme
werden schwerer gewichtet als Erzeugung II, wenn Alarm-Priorisierungen
erzeugt werden. Häufigkeiten
werden durch Schwellwert-Vorhersagungen überprüft. Jegliche verbleibende
Störungen
werden dem Alarm-Pool hinzugefügt
und zur adaptiven Klassifizierung eingereicht.
-
Nachdem
die Schwellwertanalyse vollständig
ist, tritt eine Alarmkorrelation auf, Block 800. Alarme
werden über
den Typ unter Verwendung einer statistischen Analyse von den Typen
von empfangenen Alarmen korreliert. Die Korrelation misst die Anzahl
von Alarmen von verschiedenen Typen und bezieht sich auf Zunahmen
und Abnahmen von Alarmen und ihrer Beziehungen auf dem Prozentanteil der
Gesamtheit. Die Korrelation wird dann für alle Alarme auf dem spezifischen
Netzwerk durchgeführt. Bezogene
Sensoren werden analysiert und es werden Alarm-Beziehungen über die
Quelle des Alarms (Angreifer) erwähnt. Angreifer werden aufgezeichnet und
in jedem einzelnen Sensor nachgeführt. Nach einer Vollendung
der Alarm-Korrelation ist eine Verhaltensanalyse für einen
bestimmten Sensor vollendet.
-
Eine
globale Analyse, Block 900, enthält eine Analyse von allen verfügbaren Sensoren,
als wenn sie auf einem großen
Netzwerk sind. Wenn beispielsweise ein IDS-Bereitsteller 100 Netzwerke
oder Informationssysteme bedient, kann die globale Analyse für alle Sensoren
auf diesen 100 Netzwerken durchgeführt werden. Die globale Analyse
beginnt mit der Gruppierung von allen Alarmen von allen Sensoren
in einem gemeinsamen Alarm-Pool. Wenn erzeugte Alarme irrelevant
werden, sind lediglich die Alarmtypen und Quellen wesentlich. Der
gemeinsame Alarm-Pool wird dann durch den Alarmtyp und durch die
Quelle ähnlich
den Schritten, welche für
die Verhaltensanalyse für
jeden Sensor durchgeführt
werden, untersucht. Dies erzielt neue Priorisationswerte von sowohl
Angreifer- als auch Alarm-Typen. Diese neue Information kann dann
an die Sensoren gesendet werden, um bei der Priorisierung von Alarmen
auf einer Pro-Sensor-Basis zu unterstützen, Block 950.
-
Eine
detailliertere Information über
bestimmte beispielhafte Ausführungsformen
von Prozessen in Blöcken 300–950 von 2 ist
in 3–9 gezeigt,
und wird im Folgenden beschrieben.
-
Bezug
nehmend nun auf 3 ist ein Prozessablauf für eine Ausführungsform
von einer Ressourcen-Nachfolgung 300 und eine Ausführungsform von
einer regelbasierten Anomalieerfassung 350 gemäß von Systemen
und Verfahren von der vorliegenden Erfindung gezeigt. Anfänglich werden
Daten durch ein Protokoll und Daten in einem RDB-Server aufgeteilt, Block 290.
Periodisch (beispielsweise stündlich,
zweistündlich)
werden Pakete, welche an einen Sensor eingesammelt werden, an den RDB-Server
gesendet. Diese Pakete werden durch das Protokoll (beispielsweise
ICMP, IP, TCP und UDP) aufgeteilt und in die Datenbank eingesetzt.
Ein Filter kann zum Zeitpunkt des Importes angewendet werden, um
selektiv lediglich bestimmte Pakete einzusetzen, welches bei spezifischen
Situationen hilfreich ist, bei welchen nicht wünschenswert ist, bestimmte
Pakete an die Datenbank zu senden. Bei Block 295 werden
die importierten Pakete in der relationalen Datenbank indexiert.
-
Die
Ressourcen-Nachfolgung beginnt bei Block 305. Die Ressourcen-Nachfolgung
untersucht die Rohdaten und findet Ressourcen auf dem Host-Netzwerk.
Ressourcen werden gefunden, Block 310, indem Protokoll-Modelle
verwendet werden. Mehrere Algorithmen passieren durch die Rohdaten, welche
Ressourcen finden. Einige sind einfach, wie z. B. ein Durchsehen
in dem geschützten
Netzwerk nach Internetadressen, welche Server anzeigen. Weitere
sind komplexer und erfordern eine Untersuchung des Datenflusses,
um die Protokolle und Dienste zu finden. Eine Ressourcen-Aktivität wird verifiziert,
indem Zwei-Wege-Konversationen gefunden werden, indem nicht lediglich
nach ausgehendem Verkehr geachtet wird. Die Konversation wird verifiziert,
indem ein Beweis eines Verkehrs gefunden wird, welcher sich an und
von den Systemen bewegt, welche als Server erscheinen. Bei einigen
Protokollen ist dies eine statistische Analyse, und bei Weiteren
ist dies ein Suchalgorithmus.
-
Bei
Block 315 wird, wenn die Ressource eine neue Ressource
ist (das heißt,
dass die IDS diese Ressource zuvor nicht „gefunden" hat), ein Alarm hinzugefügt. Die
Ressource wird der Ressourcen-Datenbank hinzugefügt, wobei ihre STR, SCR und
RTC auf Null eingestellt ist. Wenn die Ressource bereits in der
Datenbank aufgelistet ist, Block 320, wird ihre STR erhöht. Wenn
die Ressource innerhalb einer vorbestimmten Zeit gefunden ist (beispielsweise
die letzte Stunde), wird die RTC erhöht. Sobald alle neuen und alten
Ressourcen in Blöcken 315 und 320 analysiert
sind, werden die Ressourcen zusammengeführt, 322, und Ressourcen,
welche in der Datenbank sind, jedoch nicht modifiziert wurden, verlieren
STR, Block 325. Die Abnahme in der STR bezieht sich invers
zur RTC. Ressourcen mit hohem RTC verlieren ein wenig STR, während Ressourcen
von niedriger RTC stark abnehmen. Bei Block 330 werden
Client-Ressource-Normalisierungsregeln angewendet. Weil einige Systeme
oder bestimmte Protokolle oder Dienste spärlich verwendet werden, ist
ein Mechanismus enthalten, um Überläufe zuzulassen. Um
dies zu erreichen, bestimmt ein Satz von statistischen Normalisierungsregeln
jene Ressourcen, welche sich nicht ändern und/oder Ressourcen,
welche nicht hinzuzufügen
sind.
-
Die
regelbasierte Anomalieerfassung 350 beginnt bei Block 352 mit
einer Untersuchung von neuen Paketen. Alle Rohpakete werden nach
Anomalien untersucht. Zwei Typen von Anomalien werden gesucht: anormale
Pakete und normale Pakete, welche auf dem Netzwerk nicht auftreten
sollten. Diese Pakete werden zu der Datenbank in einer Tabelle hinzugefügt, welche
als der Anomalie-Pool bekannt ist, das heißt, protokollunabhängig. Eine
Ressourcenliste, welche von der Ressourcen-Nachfolgung 300 ausgegeben
wird, wird den neuen Paketen hinzugefügt, 354, und Regeln
von einer regelbasierten Anomalieerfassung werden bei Blöcken 356–368 angewendet,
um anormale Pakete zu finden. Die erste Regel, welche bei Block 356 angewendet
wird, fügt alle
Pakete hinzu, welche mit statischen Auswahlregeln übereinstimmen.
Statische Auswahlregeln fügen
dem Anomalie-Pool jegliches hinzu, welches übereinstimmt. Diese werden
normalerweise den Nachführ-Verkehr
hinzugefügt,
welcher komplementär
normal ist, wird jedoch aus einigen externen Gründen nachgeführt, um
jeglichen Verkehr von einer bestimmten Quelle zu alarmieren. Bei
Block 358 werden alle Protokollstörungen hinzugefügt. Protokollstörungen sind
Proble me mit Paketdaten, welche durch die Protokoll-Spezifikation
nicht erlaubt sind, oder durch die RTC nicht spezifiziert sind.
Diese Pakete sind für
ein Netzwerk nicht normal, weil sie die Protokollregeln stören, können jedoch
immer noch an ein Netzwerk weitergeleitet werden.
-
Paketanschluss-Störungen werden
bei Block 360 hinzugefügt.
Paketstörungen
sind für
gewöhnlich Protokollstörungen,
werden jedoch durch das IDS auf eine unterschiedliche Weise gefunden.
Ungleich den Protokollstörungen
sind Paketanschluss-Störungen
gleich Pakete, welche bei der Zuführung durch die Hosts aus dem
Netzwerk verworfen werden. Die Pakete sind derart missgebildet,
dass sie komplett verworfen werden, wie beispielsweise eine Schicht, welche
spezifiziert, dass Schicht 4 gleich TCP ist, wenn das Paket nicht
dem TCP entspricht. Bei Block 362 werden Pakete von Einhüllenden-Paarungen hinzugefügt. Diese
sind Pakete, welche nicht erzeugt oder an das Host-Netzwerk zugeführt werden
konnten, und sind sehr häufig
das Ergebnis von einer Verschleierung von einer Aktivität oder einer
Einhüllenden,
welche die gleiche Quelle und das Ziel spezifiziert. Typ-Code-Anomalien
werden ebenfalls hinzugefügt,
Block 364. Alle ICMP-Pakete haben einen Typ und einen Code,
welcher spezifiziert, welchen Typ von Meldung das Paket befördert. Typ-Code-Regeln
finden illegale oder befremdliche Typ-Code-Kombinationen.
-
Bei
Block 366 werden Diensttyp(TOS)-Anomalien dem Pool hinzugefügt. Das
TOS-Feld ist ein Teil des IP-Protokolls. Lediglich bestimmte Werte können im
TOS-Feld sein, und jeglicher Wert außerhalb dieser spezifizierten
Werte ist verdächtlich.
Bei Block 368 werden TCP-Sitzungs-Anzeige-Störungen hinzugefügt. TCP-Zustand-Anzeigen
sind Bits innerhalb von Protokollen, welche dazu verwendet werden,
um die Information anzuzeigen oder zu speichern, welche für das Protokoll
unter einer normalen Verwendung notwendig ist. Viele Protokoll-Spezifikationen
spezifizieren lediglich jenes, wofür die Anzeigen verwendet werden,
jedoch nicht, wie mit widersprüchlichen
Anzeigen oder nicht verwendeten Bits im Anzeigeraum umzugehen ist.
-
Weil
ein Ausstrahlungs-Verkehr kein spezifisches Ziel hat, wird ein Ausstrahlungs-Verkehr separat untersucht,
und Pakete werden, wenn notwendig, basierend auf Protokoll-Modellen
bei Block 370 hinzugefügt.
Beispielsweise ist TCP zum Ausstrahlen von Adressen nicht unterstützt, und
sollte auf einem Netzwerk nicht aufgefunden werden.
-
Obwohl
sich Blöcke 356–370 auf
das Hinzufügen
von anormalen Paketen auf den Anomalie-Pool beziehen, subtrahiert
Block 372 normale Pakete von dem Pool. Um normale Pakete
zu finden, welche alle Spezifikationen einhalten und frei von Störungen sind,
welche jedoch an die falschen Ressourcen gesendet werden, oder aus
denen herrühren,
werden alle Rohpakete in Betracht gezogen, und jene, welche korrekt
herrühren
und von korrekten Zielen kamen, und zwar verglichen mit der Ressourcenliste
von der Ressourcen-Nachfolgung,
werden entfernt. Dies entfernt jeglichen erwarteten Verkehr von
den Rohpaketen. Die verbleibenden Pakete werden dem Anomalie-Pool
zur Analyse hinzugefügt.
Bei Block 374 wird eine Synchronisation durchgeführt, um
sicherzustellen, dass alle Hinzufüge-(Blöcke 356–370)-
und Subtraktions-(Block 372)-Regeln vollständig sind,
bevor fortgefahren wird.
-
Abermals
kann ein bestimmter Verkehr, welcher dem Anomalie-Pool hinzugefügt ist,
in einem bestimmten Netzwerk als normal betrachtet werden, sodass
ein Satz von statischen Löschregeln
jeglichen übereinstimmenden
Verkehr von dem Anomalie-Pool entfernt, Block 376. Bei
Block 378 werden normale Regeln angewendet. Normale Regeln
sind codebasierte, spezifische Algorithmen, welche spezielle bekannte
Situationen behandeln, wie beispielsweise Protokollstapel, welche
bestimmte Anomalien und dergleichen erzeugen. Der Anomalie-Pool
ist vollständig,
Block 380, und alle Pakete werden als „unklassifiziert" markiert.
-
4 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Anomalie-Pool-Analyse gemäß von Systemen
und Verfahren von der vorliegenden Erfindung. Wenn die Anomalie-Pool-
oder „Blind"-Analyse 400 beginnt,
ist der Anomalie-Pool voll von verdächtigtem Verkehr, welcher zu
analysieren und klassifizieren ist. Ohne Kenntnis darüber, warum
die Rohpakete in dem Pool sind, versuchen die Routinen nun, jede
Anomalie oder jeden Satz von Anomalien zu klassifizieren. Der erste
Satz von Routinen sind Anomalien über ein Muster, Block 405. Dies
ist eine Serie von codebasierten Algorithmen, welche Pakete, basierend
auf bekannten Mustern, klassifizieren. Diese Algorithmen können unter
Verwendung von zuvor unzufriedenstellenden Versuchen, die Pakete
zu klassifizieren, unter Verwendung der Stufen bei Blöcken 405–430 entwickelt
werden. Jegliches Paket oder Satz von Paketen, welches mit diesen
Mustern übereinstimmt,
wird als „klassifiziert" markiert, und es
werden geeignete Alarme erzeugt, Block 440. Eine standardisierte
hinzugefügte
Alarmroutine wird aufgerufen, um Alarme mit eingestellten SSV zur
Anzeige auf dem Bedienpult zu erzeugen. Diese Alarme sind zur Ansicht
verfügbar.
-
Bei
Block 410 fährt
die Analyse mit der Untersuchung von Sequenzen fort. Sequenzen sind
Ereignisse in Zeitreihenfolge. Die Untersuchung von Sequenzen schaut
nach anomaliepoolbasierten bekannten Sequenzen und ist eine Verkehrsfluss-Analyse,
welche auf be kannten Protokoll- und Dienst-Angriffs-Modellen basiert.
Dies ist eine Datenantriebsliste von Ereignissen, auf welche zuvor
in der Zeit in korrekter Sequenz nachgeschaut wird. Wenn jegliche bekannten
Sequenzen gefunden werden, werden jene Klassifikationen angewendet,
Block 415, die Alarme werden als klassifiziert markiert,
und die Alarme werden dem Bedienpult hinzugefügt, Block 440. Bei
Block 420 läuft
eine Abtasterfassungsroutine. Diese statistische Routine analysiert
die Verteilung von Zielanschlüssen über Quelladressen.
Eine Quelle, welche ein hohe Anzahl von Anschlüssen erreicht, wird anschlussabgetastet,
und die Anzahl von Zielen bestimmt, ob ein einzelner Host oder mehrere
Hosts abgetastet sind. Wenn Abtastungen gefunden werden, werden
Alarme dem Bedienpult hinzugefügt, Block 440.
-
Eine
Durchlauferfassung, Block 425, verwendet eine statistische
Routine, um Quellen zu finden, welche versuchen, auf einen einzelnen
Dienst auf mehreren Servern zuzugreifen, welches einen Durchlauf
anzeigt. Wenn Durchläufe
gefunden werden, werden Alarme dem Bedienpult hinzugefügt, Block 440,
und die Pakete werden als klassifiziert markiert. jegliche verbleibende
Alarme in dem Pool sind unklassifiziert, und werden durch einen
menschlichen Analysten klassifiziert, Block 430. Diese
Pakete werden protokolliert und zur Nachbearbeitung eingereicht.
Neue Klassifikationen können
als Sequenzen oder Anomalie-Muster eingegeben werden. Alle unklassifizierten
Anomalien werden nach Sequenzen abgetastet, welche in die Sequenzliste
eingegeben sind, Block 435. Diese Liste kann zur weiteren
Klassifizierung von verbleibenden Anomalien erneut angewendet werden.
-
5 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Alarmklassifizierung gemäß von Systemen und Verfahren
von der vorliegenden Erfindung. Die Alarmklassifizierung 500 beginnt mit
einer Untersuchung von Signaturalarmen bei Block 505. Jegliche
Alarme, welche für
eine spezifizierte Zeitperiode (beispielsweise eine Stunde, zwei Stunden,
usw.) erzeugt sind, werden für
weitere Korrelationen bei einem Versuch, mehrere hilfreiche Alarme
zu erzeugen, analysiert. Alarme werden über die Zeit gruppiert, und
die Anzahl von Alarmen wird für
Hochaktivitäts-Perioden
gezählt,
Block 510. Extrem hohe Anzahlen zeigen an, dass eine weitere Analyse
notwendig ist. Aktivitätsperioden
zeigen ebenfalls Zeitpunkte an, welche ein Hacker zur Arbeit auswählen kann,
welches oftmals ein erfassbares Muster ist, welches verwendet werden
kann, um Hacker zu finden, wenn sie Adressen oder Angriffsursprünge umschalten.
-
Alarme
werden über
die Quelle über
die Zeit unter Verwendung von historischen Daten gruppiert, Block 515.
Dies erlaubt es dem IDS eine langsame Aktivität zu finden, bei wel cher der
Angreifer die Aktionen langsam bei einem Versuch durchführt, versteckt
zu verbleiben, um Alarme nicht schnell zu erzeugen. Solche Dinge,
wie langsame Anschluss-Abtastungen,
langsame Schwachstellen-Proben und langsame Angriffe können gefunden
werden. Die Angriffs-Datenbank von der hinzugefügten Alarmroutine führt bereits
einzelne Quellen nach, sodass diese Analyse auf eine langsame Aktivität fokussiert
ist. Bei Block 520 wird eine Paketfluss-Korrelation untersucht,
welche ebenfalls als Rückstreuung
bekannt ist. Hier werden Protokoll-Modelle dazu verwendet, um den
Paketfluss zu untersuchen. Kommunikationssitzungen können untersucht
und mit normalen Modellen verglichen werden, um Abweichungen herauszufinden.
Ein verfälschter
Verkehr auf dem Host-Netzwerk, als auch der restliche Verkehr, welcher
erzeugt wird, wenn die Host-Netzwerkadressen extern
verfälscht
werden, können
herausgefunden werden. Wie in 5 gezeigt,
können
historische Betrachtungen, 530, wenn notwendig zur Unterstützung unter
Blöcken 505–520 durch
das IDS durchgeführt werden.
-
Alle
historischen Alarme werden über
die Quelle gruppiert und gezählt,
um den Aktivitätsgrad für jegliche
Quelle unter Verwendung jeglicher Hochfrequenz-Alarme zu bestimmen,
Block 525. Sobald die Prozesse in den Blöcken 510, 525 vollständig sind,
werden die Alarme über
die Quelle gruppiert, und geeignete STR-Änderungen werden für jeden Alarm
oder jedes Zeitmuster berechnet, Block 535. Alarmmuster
gewähren
hohe SSV-Zunahmen, während
Zeitmuster zu lediglich kleinen Einstellungen führen. STR-Änderungen
werden auf die Angriffsquellen angewendet, Block 540. Dies
erhöht
die Stärke
von allen Quellen, welche ähnliche
Alarme erzeugen, und führt
zu höheren
SSVs für
Quellen, welche ähnliche
Alarmmuster oder ähnliche
Zeiten verwenden.
-
Bei
Block 545 werden Technik-Dikriminatoren auf die STR angewendet.
Eine statische Tabelle enthält
eine Liste von Alarmen und eine Nummer, welche den Geschicklichkeitspegel
darstellt, welcher erforderlich ist, um den Typ von Angriff durchzuführen, welcher
diesen Alarm erzeugt. Dies ist darstellhaft für den Intelligenzpegel von
dem Hacker, oder zu allerletzt die Hacker-Fähigkeit darin zu wissen, wann das
geeignete Hacking-Werkzeug anzuwenden ist. Ein Anwenden dieser Nummer
als ein Modifizierer auf die STR erlaubt es, dass die SSVs durch
die Angreifer-Geschicklichkeit bei einem Versuch beeinflusst werden,
eine Heimlichkeit hervorzuheben oder intelligente Hacker, welche über dem
Durchschnitt stehen. Dies ist als ein „Technik-Diskriminator" bekannt. Der aktuelle
Wert des Technik-Diskriminators ist statisch und wird durch menschliche
Analysten zugewiesen. Der Wert kann global über mehrere Sensoren und mehrere
geschützte
Netzwerke verwendet werden.
-
Ein
letzter Schritt der Alarmklassifizierung wendet eine RTC-Ausrichtung
an, Block 550, welche auf jegliche Angriffsquelle angewendet
werden kann. Die meisten Angriffsquellen haben keine RTC, welche
zugewiesen oder nachgefolgt wird, jedoch kann es in einigen Fällen unterstützend sein,
eine RTC-Ausrichtung auf bestimmte Angriffsquellen anzuwenden, um
ein geplantes, einmaliges Ereignis, wie beispielsweise eine Schwachstellen-Abtastung, zu verhindern,
um Angreiferprofile zu beeinflussen. Es ist typischerweise einfacher,
die Punktzahl auf eine niedrige Nummer vor dem Ereignis einzustellen, und
die Stärke
und Punktzahl zurückzustellen,
wenn das Ereignis auftrat. Weil dies wirksam ist, werden RTC-Werte
nicht für
jeden Angreifer gespeichert.
-
Nach
der Alarmklassifizierung 500 können zwei verbleibende Prozesse
parallel durchgeführt werden.
Eine statistische Erzeugung und Schwellwert-Analyse, welche in 6 und 7 gezeigt
und beschrieben sind, stellen Angreiferwerte ein. Ein beispielhafter
Prozess zum Einstellen von Angreiferwerten wird im Folgenden kurz
beschrieben.
-
Alle
ursprungsbasierten Alarme (das heißt, Alarme ohne einen bekannten
Ursprung) werden erzeugt und haben berechnete SSVs in der Alarm-Datenbank
(und wurden auf dem Bedienpult angezeigt). Angreifer, welche einen
Angriff beendet haben, kehren langsam auf einen nicht bedrohlichen
Status, basierend auf dem berechneten maxirealen SSV zurück. Da diese
Nummer eine Kombination aus Stärke und
Punktzahl ist, wird ein Reduzieren der Stärke auf Null ebenfalls das
Gefahrprofil auf Null setzen. Angreifer nehmen langsam ab, bis sie
entfernt sind, und dies wird erreicht, indem die STR für jegliches
spezifizierte Zeitintervall (beispielsweise eine Stunde oder drei
Stunden) reduziert wird, innerhalb dessen die Angriffsquelle nicht
der Ursprung von einem Alarm ist. Die letzte Zeit, bei welcher ein
Angreifer eingestellt wurde, wird gespeichert, und für jegliches
spezifizierte Zeitintervall, innerhalb dessen ein Angreifer nicht
die Quelle von einem Alarm ist, wird die STR um eine Größe reduziert,
welche anhand der Periode berechnet ist, bei welcher der Angreifer
keinen Alarm und die Angreifer-RTC (wenn zugewiesen) erzeugt hat.
Auf diese Weise werden Angreifer, welche damit beendet haben, Alarme
zu erzeugen, langsam in der Gefahr reduziert, und eventuell auf
Null zurückgestellt.
Es ist zu erwähnen,
dass dieser Prozess langsam ist, und dass die SSVs damit fortfahren,
für eine bestimmte
Zeit hoch zu sein (wie lange basiert auf der SCR), nachdem der Angreifer
die aktuelle Attacke beendet hat.
-
Bezug
nehmend nun auf 6 ist ein Prozessablauf für eine beispielhafte
Ausführungsform von
einer statistischen Erzeugung 600 gezeigt. Erzeugung-I-Statistiken
werden durch ein einfaches Zählen
von Rohpaketen berechnet, Block 605. Block 645 ist
ein gene rischer Diskriptor, welcher anzeigt, dass Daten an die relationale
Datenbank abgesendet sind. Erzeugung-I-Statistiken sind wenig vorhersagbar
und daher schwieriger nachzuverfolgen. Erzeugung-I-Statistiken enthalten
gezählte
Häufigkeiten von
Typen von Paketen, wie beispielsweise die Anzahl von Paketen in
jedem Protokoll, die Anzahl von eingehenden Paketen, die Anzahl
von ausgehenden Paketen, die Anzahl von fragmentierten Paketen, usw.
Es werden Warteschlangen auf die Rohpakete erstellt, um diese Zählungen
für ein
spezifiziertes Zeitintervall (beispielsweise eine halbe Stunde,
eine Stunde) zu bestimmen. Eine bestimmte Datenfluss-Analyse ist
notwendig, um bestimmte Erzeugung-I-Statistiken zu bestimmen, weil bestimmte Protokolle,
wie beispielsweise TCP, mehrere Pakete erfordern, um zu bestimmen,
ob Sitzungen gültig oder
gerade angeschlagen sind. Viele Erzeugung-I-Statistiken werden angesammelt
und gespeichert, welches zu kontinuierlichen Daten-Kurvenverläufen führt, welche
periodische (beispielsweise stündliche,
tägliche)
Datenpunkte haben. Die anzusammelnden Statistiken basieren auf den
analysierten Protokollen. Für
Erzeugung-I-Statistiken ist es, weil die Datenpunkte nicht vorhersagbar
sein müssen,
ein primäres
Ziel, so viele Statistiken wie möglich
anzusammeln. Wenn vorhersagbare Werte angesammelt sind, ist es vorteilhaft,
jedoch können Werte,
welche für
ein Netzwerk vorhersagbar sind, für ein weiteres nicht vorhersagbar
sein. Erzeugung-I-Statistiken werden in einer separaten Tabelle gespeichert.
-
Bei
Block 610 werden Erzeugung-II-Statistiken aus Erzeugung-I-Statistiken
erzeugt, indem Beziehungen zwischen Datenpunkten gefunden werden.
Dies ist typischerweise ein Bediener-(Mensch)-Prozess, basiert jedoch
auf Protokoll- und Dienst-Datenfluss-Modellen. Ein Standardsatz von Erzeugung-II-Statistiken
kann erzeugt werden, indem die Protokoll-Modelle verwendet werden,
um Verhältnisse
und Beziehungen zu finden. Beispielsweise ein Vergleich von TCP-Paketen,
bei welchem das SYN (synchronisiert/Start)-Kennzeichen in eine Richtung eingeschaltet
ist, gegen TCP-Pakete, bei welchen die SYN-ACK-(synchronisiert/Bestätigung)-Kennzeichen
in die andere Richtung eingeschaltet sind. Erzeugung-II-Statistiken
verwenden zwei oder mehrere Erzeugung-I-Statistiken, um mehrere
vorhersagbare Werte einer bezogenen Information zu erzeugen, indem
Verhältnisse
und Differenzen über
die Zeit auf dem Netzwerk berechnet und verglichen werden. Erzeugung-II-Statistiken
werden in der Schwellwerttabelle gespeichert und während der
Schwellwertanalyse berechnet (s. 7 und die begleitende
Beschreibung im Folgenden). Der bei Block 610 gezeigte
Schritt ist die Aufzeichnung und Speicherung von Werten, um als
Erzeugung-II-Statistiken verwendet zu werden, unter Verwendung von Analyse-Werkzeugen,
welche dabei unterstützen, hilfreiche,
vorhersagbare Erzeugung-II-Statistiken
zu finden.
-
Bei
Block 615 werden Erzeugung-III-Statistiken aufgezeichnet
und gespeichert. Erzeugung-III-Statistiken berechnen Ereignisse über die Zeit.
Diese werden Häufigkeiten
genannt, weil sie das Auftreten von Ereignissen über die Zeit nachverfolgen.
Drei Haupttypen von Erzeugung-III-Statistiken werden berechnet:
Einhüllende-Paarungen, Dienstverwendung
durch Ressource und externe Dienstverwendung. Über die Zeit erzeugen die Erzeugung-III-Statistiken
hoch vorhersagbare Kurvenverläufe,
wenn sie angepasst werden, wenn sich das Netzwerk ändert.
-
Einhüllende-Paarungen
werden berechnet, indem die Anzahl von Zeiten gezählt wird,
bei welchen zwei Systeme eine Information austauschen. Alle Einhüllende werden
gezählt
und gruppiert, Block 620, durch eindeutige Paare von Servern.
Beispielsweise werden src bis dts und dts bis src zum Selben gruppiert.
Die Anzahl von eindeutigen Umwandlungen wird als eine Statistik
aufgezeichnet. Dies zeigt an, welche Server mit welchen Servern
kommunizieren, und zeichnet die Zeit der Ereignisse auf. Bei Block 625 wird
eine Verwendung von Aufzählungen von
Dienstressourcen vorgenommen, indem die Ressourcentabelle untersucht
wird und die Dienstverwendung pro Server gezählt wird. Diese Werte werden
als eine Statistik aufgezeichnet und zeigen die Anzahl von Zeiten
an, bei welchen jede vorgegebene Ressource auf dem geschützten Netzwerk
verwendet wird, inklusive einer Aufzeichnung der Zeit von den Ereignissen.
Eine Dienstverwendung wird in einer Außenrichtung berechnet, Block 630,
um zu profilieren, welche externe Dienste das geschützte Netzwerk
verwendet. Dies stellt die verwendeten externen Dienste und Anzahl
von Zeitpunkten, bei welchen die Dienste verwendet werden, bereit,
und speichert die Zeit der Ereignisse.
-
Alle
in Blöcken 620–630 berechneten
Zählungen
können
durch einen statischen Diskriminator eingestellt werden, Block 635,
oder als ein Abstimm-Mechanismus für den Sensor gänzlich entfernt
werden. Eine solche Einstellung oder Entfernung kann durchgeführt werden,
um solche Dinge wie ein Verkehr, welcher von Ad hoc Backups, welche
die Statistik in der historischen Datenbank stören können, zu entfernen (weil historische
Nummern dazu verwendet werden, um kontinuierlich die Vorhersagungen
einzustellen, wobei solch starke Änderungen eine Unausgeglichenheit
für eine
lange Zeitperiode, wenn nicht entfernt, bewirken können). Bei Block 640 werden
zusätzliche
RTC-Änderungen durchgeführt. Abermals
ist dies ein Abstimmmechanismus, welcher dazu verwendet wird, um
einen statischen Wert auf ein RTC zu zwingen, um ein Ad hoc Ereignis
beim Stören
der Werte in der Zukunft zu stoppen. Alle statistischen Werte werden
nun berechnet und können
als Schwellwerte mit den letzten Zeitintervall-Vorhersagungen verglichen
werden, wie in 7 gezeigt.
-
7 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Schwellwertanalyse 700 gemäß von Systemen und Verfahren
von der vorliegenden Erfindung. Die Schwellwertanalyse enthält einen
Kurvenverlauf-Vorhersagealgorithmus, welcher Datenpunkte über die
Zeit nachfolgt, um Vorhersagungen von zukünftigen Werten vorzunehmen.
Die Schwellwertanalyse kann dazu verwendet werden, um jeglichen
statistischen Wert nachzuverfolgen, wie beispielsweise die Anzahl
von Paketen von einem vorgegebenen Protokoll oder Datenpunkte, wie
beispielsweise die Häufigkeit
von einem bestimmten Alarm von einer vorgegebenen Quelle. Ein statistischer
Wert bezieht sich auf jene Werte, welche von den Zählereignissen
kommen, wie beispielsweise, jedoch nicht beschränkt auf, die Anzahl von Paketen, Anzahl
von UDP-Paketen, Anzahl von fehlgeschlagenen TCP-Verbindungen, bei welchen ein RST-Kennzeichen
erfasst ist, und Weiteres. Die statistischen Werte kommen direkt
von den Rohpaketdaten. Ein Datenpunkt entspringt aus einem Muster, welches
das IDS erfasst hat, und zwar entweder automatisch oder durch Anfrage
von einem Bediener von dem IDS. Datenpunkte kommen nicht direkt
von Rohpaketdaten, sondern werden vielmehr aus korrelierten Ereignissen
berechnet und stellen jegliche wiederholte Folge von Ereignissen
dar, welche auf eine vorhersagbare Weise (das heißt ein Muster)
auftreten. Einige Beispiele enthalten, sind jedoch nicht beschränkt auf,
die Häufigkeit,
bei welcher ein bestimmter Server auf dem Internet einen spezifischen Alarm
erzeugt, die deutliche Häufigkeit,
bei welcher ein Wurm das überwachte
Netzwerk besucht, und die mittlere Häufigkeit von webbasierten Angriffen
für einen
vorgegebenen Server. Sowohl statistische Werte als auch Datenpunkte
werden durch eine Schwellwertanalyse auf die gleiche Art und Weise
behandelt.
-
Bezug
nehmend nun auf 7 iteriert dieser Prozess einmalig
für jeden
Schwellwert. Es wird eine Vorhersage für jedes eingesammelte Intervall
vorgenommen. Diese Vorhersage wird dann mit den aktuellen Daten überprüft, welche
Alarme erzeugen können.
Der Schwellwert wird dann zur zukünftigen Verwendung zusammen
mit den aktuellen Daten gespeichert, welche zur Berechnung und Einstellung
von zukünftigen
Schwellwerten zu verwenden sind. Die letzte Vorhersage, welche gemacht
ist, wird in der Schwellwerttabelle (angezeigt mit „Vorhersage") zusammen mit allen
vorherigen Vorhersagen (angezeigt mit „Archiv") gespeichert. Auf diese Weise werden
die vorhergesagten Daten-Kurvenverläufe konstant
geändert,
wenn sich das Netzwerk ändert.
Alle Schwellwerte können
berechnet werden, und zwar beispielsweise kontinuierlich (alle historischen
Datenpunkte), über
Zeitbereiche (beispielsweise von 18:00 bis 07:00), oder als individuelle
Stunden (beispielsweise von 06:00 bis 07:00), und jeder daraus kann
vorhergesagt werden. Für
jeden Datenzeitbereich gibt es eine separate Vorhersage. Dies ermöglicht es,
dass normale Verhalten, wie beispielsweise eine äußere Webverwendung, welche
von 08:00 bis 18:00 an Werktagen zunimmt (ein völlig normales Verhalten, wenn
Benutzer-Arbeitsstationen
im geschützten
Netzwerk sind) in Betracht gezogen werden.
-
Die
Alarm-Korrelation beginnt gegen den vorhergesagten Schwellwert (berechnet
beim letzten Analyselauf) in Block 702. Der derzeitige
Statistik- oder Datenpunkt, welcher analysiert wird, wird mit der
letzten Vorhersage verglichen, Block 704. Die Vorhersage
enthält
vier Werte: den aktuellen Datenpunkt, den vorhergesagten Datenpunkt,
der geringfügige
Versatz und der hauptsächliche
Versatz. Der Datenwert wird unter Verwendung der neuen Daten berechnet,
welche im derzeitigen Datenpaket empfangen werden (nachdem alle
Statistiken erzeugt wurden). Die Vorhersage des derzeitigen Statistik-/Datenpunktes,
welcher analysiert ist, wird von dem Datenpunkt zusammen mit dem
hauptsächlichen
und geringfügigen
Versatz erlangt. Ein Hinzufügen
des geringfügigen
Versatzes zu dem vorhergesagten Wert erzeugt das obere Limit, und
ein Subtrahieren des geringfügigen
Versatzes von dem vorhergesagten Wert erzeugt das untere Limit.
Dies wird abermals mit dem hauptsächlichen Versatz vorgenommen,
um den hauptsächlichen
Bereich zu erzeugen. Diese Werte erzeugen zwei Bereiche oberhalb und
unterhalb der Vorhersage, welches einen Puffer für die zu erfolgende Vorhersage
bereitstellt. Je höher
die Vorhersagbarkeit des vorgegebenen Statistik-/Datenpunktes ist,
desto schmaler sind die geringfügigen
und hauptsächlichen
Versatze, und desto kleiner sind die Bereiche.
-
Es
wird eine Bestimmung vorgenommen, ob der derzeitige Statistik- oder
Datenpunkt außerhalb des
hauptsächlichen
Bereiches ist, Block 706. Wenn die derzeitige Statistik
außerhalb
des hauptsächlichen
Bereiches ist, zeigt dies einen hauptsächlichen Schwellwert-Überlauf, wenn sie größer als
der obere hauptsächliche
Bereich ist, oder einen hauptsächlichen
Schwellwert-Unterlauf, wenn sie kleiner als der untere hauptsächliche
Bereich ist, an. Wenn die derzeitige Statistik außerhalb
des hauptsächlichen
Bereiches ist, wird ein Alarm dem Bedienpult hinzugefügt, Block 708,
welches die hauptsächliche
Schwellwertverletzung anzeigt, weil jedoch die Quelle des Problems
unbekannt ist, werden keinerlei Änderungen
auf die Angreifer-Datenbank vorgenommen, und die Einhüllende beträgt Null.
Wenn der hauptsächliche
Bereich passiert, wird der geringfügige Bereich auf die gleiche
Weise überprüft, Block 710.
Andererseits wird die geringfügige
Bereichs-Überprüfung übersprungen.
Wenn die derzeitige Statistik außerhalb des geringfügigen Bereiches
ist, wird ein Alarm dem Bedienpult hinzugefügt, Block 712, welches
die geringfügige
Schwellwertverletzung anzeigt. Abermals ist die Quelle unbekannt,
sodass die Einhüllende
gleich Null ist.
-
Wenn
entweder eine hauptsächliche
oder geringfügige
Schwellwert-Verletzung auftritt und ein Alarm dem Bedienpult hinzugefügt wird,
wird die nächste
Vorhersage bei Block 726 berechnet, welches im Folgenden
ferner beschrieben wird. Wenn es keine hauptsächlichen oder geringfügigen Schwellwert-Verletzungen
gibt, welches bedeutet, dass die letzte Vorhersage, welche gemacht
ist, korrekt ist, steigt das RTC bei Block 716 an. Dies
gestaltet den Vorhersagewert widerstandsfähiger auf eine Änderung,
da Vorhersagen genauer werden. Eine genaue Vorhersage über eine
lange Zeitperiode hat ein hohes RTC und verwehrt die Änderung
des Wertes insgesamt, bis die RTC ausreichend verringert ist (in Block 748).
In Block 718 wird die STR auf eine zufriedenstellende Vorhersage
durch einen Prozentsatz der kurzfristigen Vorhersagbarkeit erhöht. Beispielsweise,
in einem System mit einer Analyse zu jeder Stunde, kann die STR
sich um mehr als 25 Punkte pro Tag erhöhen, wenn die Anzahl von zufriedenstellenden
Vorhersagen in einer Zeile hoch ist. Ein Vorhersagewert wird bei
Block 720 erhöht.
Wenn die RTC zufriedenstellend gering ist (ein statischer Wert),
kann der aktuelle Wert von den Statistiken archiviert werden, Block 722.
-
Bei
Block 724 wird die Tendenz von der Vorhersage berechnet.
Diese ist nicht die Tendenz von dem Daten-Kurvenverlauf, sondern
die Tendenz von der Vorhersage, welche die Vorhersagbarkeit genannt
wird, und die Fähigkeit
des Systems misst, einen spezifischen Daten-Kurvenverlauf nachzufolgen. Dieser
wird unter Verwendung von zwei Werten nachverfolgt, wobei einer
anzeigt, bei wie vielen aufeinanderfolgenden Zeitpunkten die Vorhersage
korrekt oder inkorrekt war, wobei die Fähigkeit von der derzeitigen
Einstellung zur Vorhersage der Daten gemessen wird, und der Prozentsatz
von der Vorhersage insgesamt korrekt ist (das heißt, die
langfristige Vorhersagbarkeit von den Daten). Die Kombination von
diesen zwei Werten ist die Vorhersagbarkeit von den Daten. Wenn
bestimmte Datenpunkte sich niemals stabilisieren, können sie
verworfen werden. Wenn sie zuvor vorhersagbar waren, kann eine Analyseroutine
laufen, um die Anzahl von Zonen einzustellen, den Ziel-Prozentsatz
für die
drei Reihen, die Zeitbereiche und die Probengröße der historischen Daten (diese
Parameter werden besser verstanden unter Bezugnahme auf die folgende
Diskussion, welche mit Block 726 beginnt). Zu jeder Zeit,
bei welcher eine einzelne Variable geändert wird, werden die neuen
Parameter retroaktiv angewendet, und die resultierenden Daten werden,
basierend auf ihrer Genauigkeit mit den aktuellen Daten erzielt.
Der höchste Erzielungs-Satz
von Parametern kann bei der nächsten
Vorhersage eingesetzt werden. Diese externe Routine wird typischerweise
lediglich dann laufen, wenn die kurzfristige Vorhersagbarkeit für einen
Daten-Kurvenverlauf mit einer hohen langfristigen Vorhersagbarkeit
unstetig ist.
-
Beginnend
bei Block 726 wird eine neue Vorhersage berechnet, und
zwar entweder Block 708, 712 oder 724 folgend,
wie in 7 gezeigt. Bei Block 726 wird eine Verteilung über die
Zeit wie folgt berechnet. Zunächst
wird ein Bereich gefunden, welcher die zu verwendenden Werte bereitstellt.
Es können
mehrere Vorhersagen für
einen einzelnen Daten-Kurvenverlauf vorgenommen werden, welcher ihn
in Zeitbereiche aufteilt. Die minimalen und maximalen historischen
Werte werden berechnet, welche die oberen und unteren Ausmaße des Wertes
ergeben. Durch ein Subtrahieren des unteren Ausmaßes von
dem oberen Ausmaß ist
das Ergebnis gleich dem Bereich, über welchen der Daten-Kurvenverlauf variiert.
Dieser Bereich wird in eine gleiche Anzahl von Zonen aufgeteilt,
beginnend beim unteren Ausmaß und
sich erstreckend zum oberen Ausmaß. Die Anzahl von Zonen kann
variieren, beträgt
jedoch typischerweise zumindest 10 und weniger als 20. Die Verteilung
von den aktuellen vorherigen Proben von den historischen Daten über die
Zonen wird berechnet, und es wird ein Ziel-Prozentsatz ausgewählt. Der Zielwert
kommt von der Kurvenverlauf-Vorhersagbarkeit, oder beträgt beispielsweise
gleich 10 Prozent, wenn es keine historischen Daten gibt. Der Bereich wird
basierend auf einer Verteilung eingestellt, indem obere und untere
Zonen verworfen werden, welche nicht mehr als den Ziel-Prozentsatz
der Daten enthalten, und die Zonen werden mit den neuen Ausmaßen erneut
berechnet. Dies setzt sich fort, bis das Ziel erreicht ist oder
der Prozess fehlerhaft ist.
-
Bei
Block 728 wird eine Stufe eines Bereiches berechnet. Die
Stufe eines Bereiches ist mit einem Ziel von 10 Prozent breit. Wenn
die Daten mit der Stufe eines Bereiches übereinstimmen, Block 730 (das
heißt,
dass 90 Prozent des Kurvenverlaufes eine einzelne Zone trifft),
wird die Vorhersage für
den Median der letztendlichen Ausmaße eingestellt. Wenn Stufe
1 bei dem 10-Prozent-Ziel erreicht wird, dann wird die neue Vorhersage
der Datenbank hinzugefügt,
und die alte Vorhersage wird archiviert, und ein Stufe-2-Bereich
wird berechnet, Block 732. Wenn die Daten nicht mit dem
Stufe-1-Bereich übereinstimmen,
dann ist die Vorhersage fehlerhaft, Block 742. Die Vorhersagbarkeit-Tendenzwerte
werden herab eingestellt, Block 744. Die Anzahl von aufeinanderfolgenden
erfolgreichen Vorhersagen in einer Zeile wird auf –1 eingestellt,
um anzuzeigen, dass die Tendenz eine fehlerhafte Vorhersage ist.
Eine langfristige Vorhersagbarkeit wird neu berechnet. Die STR wird
verringert, Block 746, und zwar durch einen Prozentsatz
der kurzfristigen Vorhersagbarkeit. Die RTC wird verringert, Block 748,
jedoch lediglich um eine kleine Größe. Sobald alle Schwellwerte überprüft sind
und auf derzeitige Netzwerk-Verhalten adaptiert sind, beginnt eine
Alarm-Korrelation (8).
-
Wenn
ein Stufe-2-Bereich berechnet ist, Block 732, ist der Stufe-2-Bereich
etwas kleiner, beispielsweise mit einem Ziel von 6%. Wenn die Daten mit
dem Stufe-2-Bereich übereinstimmen
(das heißt, dass
94% des Kurvenverlaufes eine einzelne Zone trifft), Block 734,
wird die Vorhersage für
den Median der letztendlichen Ausmaße eingestellt. Wenn Stufe 2
bei dem 6% Ziel erreicht werden kann, wird die neue Vorhersage der
Datenbank hinzugefügt,
und die alte Vorhersage wird archiviert, und es wird ein Stufe-3-Bereich
berechnet, Block 736. Bei Block 740 wird die Stufe-1-Vorhersage
verwendet, wenn der Stufe-2-Vergleich
fehlerhaft ist (das heißt,
dass die Daten nicht vorhersagbar genug waren, um das 6% Ziel zu
erreichen) (bei Block 734).
-
Der
Stufe-3-Bereich ist sehr schmal und wird bei beispielsweise 3% getroffen.
Ein Stufe-3-Bereich wird
berechnet, Block 736. Wenn die Daten mit dem Stufe-3-Bereich übereinstimmen
(das heißt,
dass 97% des Kurvenverlaufes eine einzelne Zone trifft), Block 738,
wird die Vorhersage für
den Median der letztendlichen Ausmaße eingestellt. Wenn die Stufe
3 bei dem 3% Ziel erreicht werden kann, dann wird die neue Vorhersage
der Datenbank hinzugefügt,
und es wird eine alte Vorhersage archiviert. Bei Block 740 wird
die Stufe-2-Vorhersage verwendet, wenn der Stufe-3-Vergleich fehlerhaft
ist (das heißt,
dass die Daten nicht vorhersagbar genug waren, um das 3% Ziel zu
treffen), bei Block 738. Die Stufe-3-Vorhersage wird bei
Block 740 verwendet, wenn der Stufe-3-Vergleich erfolgreich
war. Da die Vorhersage mit jedem der Bereiche verglichen wird, ist
der Vorhersage-Datenwert oder -Punkt der Gleiche, wobei sich lediglich
der erlaubbare Versatz ändert.
Die Vorhersage wird als der Wert, die Versatze, der Zielwert, die Zonengröße, die
Anzahl von Zonen, usw. gespeichert (das heißt, alles, was notwendig ist,
um die nächste
Vorhersage zu berechnen). Sobald alle Schwellwerte überprüft und an
aktuellen Netzwerk-Verhalten adaptiert sind, beginnt die Alarm-Korrelation
(8).
-
8 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer Alarm-Korrelation 800 gemäß von Systemen und Verfahren
von der vorliegenden Erfindung. An dieser Stufe der Verhaltensanalyse
wurden alle Rohdaten analysiert. Die Alarm-Korrelation untersucht
alle Alarme für
den Sensor, um erkennbare Muster zu finden, welche dazu verwendet
werden können,
um Alarme ferner zu klassifizieren. Sobald eine Korrelation für den Sensor
durchgeführt
wurde, wird die Korrelation über alle
Sensoren auf dem geschützten
Netzwerk hinweg durchgeführt.
Alarme werden über
die Quelle gruppiert, Block 805, sodass sie einfach untersucht
werden können.
Bei Block 810 werden, wenn bekannte Sequenzen von Alarmen
gefunden sind, zusätzliche Alarme
erzeugt, Block 845, um den Angriff ferner zu klassifizieren.
Beispielsweise sind elf EIS:CMG.EXE Alarme, drei IIS:UNICODE2 Alarme
und zwei EIS:UNICODE2 Alarme alle von der gleichen Quelle in einer
spezifischen Reihenfolge gleich einem Nimda-Wurm-Angriff. Der zusätzliche
erzeugte Alarm ist WORM:NIMDA.
-
Die
Quellen werden über
den Alarmtyp gruppiert, Block 815. Dies zeigt eine Zählung von
ausgeprägten
Quellen für
jeden Typ von Alarm. Bei Block 820 wird bestimmt, ob es
eine höhere
Anzahl von ausgeprägten
Quellen gibt. Je höher
die ausgeprägte Zählung von
Quellen für
jeden Alarm ist, desto aktiver ist das Ereignis (in Zusammenhang
mit dem Alarm) auf dem Netzwerk. Diese Information kann ebenfalls dazu
verwendet werden, um die Technik-Diskriminatoren, welche in Block 545 (s. 5)
verwendet werden, einzustellen, und um neue Angriffs-Tendenzen anzugeben.
Wenn es eine hohe Anzahl von ausgeprägten Quellen gibt, wird ein
Alarm hinzugefügt, Block 845.
Jegliche neue Sequenzen, welche gefunden werden, werden der relationalen
Datenbank hinzugefügt,
Block 840, und der Prozess kehrt zu Block 815 zurück. Der
Analyse bei Block 820 folgend, fährt die Alarm-Korrelation mit
Block 825 fort, nämlich
die Netzwerk-Korrelation. Die Netzwerk-Korrelation hält nach
den gleichen Alarmen auf mehreren Sensoren auf dem geschützten Netzwerk
Ausschau. Alarme von zugehörigen
Sensoren werden in einem einzelnen Alarm-Pool (logisch, jedoch nicht
notwendigerweise physikalisch) vereinigt.
-
Bei
Block 830 wird eine Untersuchung nach Übereinstimmungen von Sensor
zu Sensor durchgeführt.
Die Richtung von jedem Alarm ist bekannt. Ein Alarm, welcher sich
von einem externen Sensor zu einem internen Sensor bewegt, sollte
zuerst das externe System und dann das interne System treffen. Wenn
ein Alarm auf einem externen Sensor einen übereinstimmenden Alarm von
der gleichen Quelle (innerhalb eines geeigneten Zeitrahmens) auf
einem internen Sensor hat, zeigt dieser an, dass das Netzwerk durchdrungen
wurde (umgekehrt für
einen ausgehenden Angriff). Wenn keine Übereinstimmungen gefunden sind,
ist die Alarm-Korrelation beendet. Wenn Übereinstimmungen gefunden sind,
werden die Rohpakete bei Block 835 nach einer Antwort durchsucht,
welche den in Arbeit stehenden Angriff anzeigt. Wenn dies der Fall
ist, werden die Alarme auf eine höhere Priorität eskaliert.
Block 845 ist ein standardisierter hinzugefügter Alarm,
und weil die Quellen bekannt sind, wird die Angreifer-STR erhöht.
-
Es
kann eine globale Analyse durchgeführt werden, welche eine Analyse
von allen verfügbaren Sensoren über mehrere
Netzwerke hinweg enthält. 9 zeigt
einen Prozessablauf für
eine Ausführungsform
von einer globalen Analyse 900 gemäß von Systemen und Verfahren
von der vorliegenden Erfindung. Die globale Analyse ist dazu entworfen, um
Angreifer-Quellen von dem Internet über das gesamte Verbraucherprofil
hinweg zu analysieren. Indem diese Analyse durchgeführt wird,
können
eine Abtastung oder An griffsquellen über Teilnetze hinweg oder über das
Internet hinweg identifiziert werden. Zusätzlich, wenn koordinierte Angriffe
auftreten und gegen mehrere Orte durchgeführt werden, können sie
unter Verwendung einer globalen Analyse gefunden werden. Da die
Anzahl von Datenquellen zunimmt, wird die Qualität von dieser Analyse verbessert.
-
Die
globale Analyse kann dazu verwendet werden, um Tausende oder sogar
Hunderttausende von Quellen über
das Internet hinweg an einen zentralen Ort, bei einem Versuch dabei,
Quellen von einer verdächtigen
Aktivität
zu finden, zu analysieren. Angreifer können Schwachstellen-Abtastungen
auf viele Ziele auf einmal durchführen, und machen dies oftmals
bei einem Versuch dabei, den Angriff zu verstecken. Anstelle der
Abtastung eines Ziels für
500 unterschiedliche Schwachstellen auf einmal, können sie
200 Orte für
die gleichen Schwachstellen abtasten. Der Angreifer-Computer kann
24 Stunden am Tag in Betrieb sein, jedoch empfängt jeder Ort einen winzigen
Abschnitt einer Abtastung pro Tag, und bewerkstelligt es daher,
unterhalb der Rate zu verbleiben, welche durch herkömmliche
kenntnisbasierte Systeme erfassbar ist.
-
Bezug
nehmend nun auf die in 9 gezeigte beispielhafte globale
Analyse, werden Alarme über den
Alarmtyp für
Quellen außerhalb
der geschützten Netzwerke
von den Sensoren bei Block 905 gezählt. Dies erzielt Alarm-Häufigkeiten über den
Typ, welche Angriffsverfahren anzeigen, welche verwendet werden.
Bei Block 910 werden Alarmzählungen der RDB hinzugefügt. Alarme
werden dann über
die Quelle und Priorität
gezählt,
Block 915, welches anzeigt, welche Angreifer auf dem globalen
Netzwerk am aktivsten sind. Bei Block 920 wird die Angreifer-Information
von Block 915 der RDB hinzugefügt. Globale Alarme werden über die
Priorität
gewichtet, Block 925. Höher
priorisierten Alarmen werden zusätzliche Zählungen
sowohl in Alarmtyp-Tabellen als auch in Angreifer-Tabellen gegeben.
-
Bei
Block 930 wird in einer ersten Tabelle ein Satz von Alarmen
erzeugt, mit einer gewichteten Zählung,
welche den Typ von Alarmen auf dem globalen Netzwerk darstellt.
In einer zweiten Tabelle werden globale Angriffsquellen ebenfalls über die
Priorität
gewichtet, und zwar mit beiden Tabellen, welche von hoch bis niedrig
sortiert sind. Sensoren werden eingestellt, Block 935.
Angreiferquellen-Stärken werden
in den Sensor-Angreifer-Datenbanken
erhöht,
sodass Alarm SSVs von den gleichen Quellen automatisch höher sind.
Alarmtyp-Vorgabeprioritäten können, basierend
auf den globalen Alarm-Häufigkeiten,
eingestellt werden, Block 940. Diese können entweder auf Vorgabe-Prioritäten von
Alarmen oder auf die statischen Technik-Diskriminatoren (bevorzugt)
gezogen werden. Sobald die globale Analyse vollständig ist,
werden die Ergebnisse an jeden Sensor für jedes geschützte Netzwerk
gesendet, welches als Teil der globalen Analyse analysiert ist (s.
Block 950, 2).
-
Optional
können
Systeme und Verfahren der Eindringerfassung gemäß der vorliegenden Erfindung
ein Alarm-Freigabesystem enthalten, um Bediener des IDS zu unterstützen. Ein
Prozessablauf für
eine Ausführungsform
von einem Alarm-Freigabesysteme ist in 10 gezeigt.
Dieses System ist dazu entworfen, um die Anzahl von Alarmen zu reduzieren,
welche ein Bediener des IDS zu sehen hat, während eine höhere Anzahl
von Alarmen zur Korrelation und Analyse beibehalten wird. Alarme
werden in einem Erzeugungssystem erzeugt, und höher erzeugte Alarme werden
dem Bediener auf dem Bedienpult angezeigt. Alarme werden zur Anzeige
durch eine Folge von Regeln ausgewählt, welche die Alarme bestimmen,
welche anzeigt werden sollten. Die Folgen von Regeln sind im Allgemeinen
Auswahlparameter eines hohen Pegels, können jedoch dazu verwendet
werden, um Alarme, basierend auf sehr spezifischen Kriterien, selektiv
anzuzeigen oder zu ignorieren, wie beispielsweise ein Ignorieren
von allen Alarmen von einer bestimmten Quelle oder ein Ignorieren
von allen Alarmen in einem bestimmten Zeitfenster.
-
Die
Folgen von Regeln können
in einer spezifischen Reihenfolge angewendet werden, sodass, sobald
eine einzelne Regel angewendet ist, welche zu einer Anzeige führt, dass
der Alarm nicht angezeigt werden sollte, keine weiteren Regeln weiterhin auf
diesen Alarm angewendet zu werden brauchen, und der Alarm nicht
angezeigt wird. Zusätzlich
können
alle Regeln an einen Alarm angewendet werden, und der Alarm kann
lediglich dann angezeigt werden, wenn ein bestimmter Prozentsatz
von den Regeln anzeigt, dass der Alarm an das Bedienpult freigegeben
werden sollte. Wenn beispielsweise 10 Regeln vorliegen, kann das
System dazu eingestellt werden, einen Alarm freizugeben, wenn 7
oder mehrere Regeln anzeigen, dass der Alarm freigegeben werden sollte.
Ferner können
die Regeln derart gewichtet werden, dass die Anzeige, basierend
auf eine bestimmte (möglicherweise
zuverlässigere)
Regel stärker
gewichtet ist als die Anzeige, basierend auf eine weitere Regel.
Demgemäß werden
lediglich Alarme von einer spezifischen Signifikanz auf dem Bedienpult
anzeigt.
-
Die
Folge von Regeln oder Auswahlregeln kann Alarmfelder enthalten,
wie beispielsweise die Quelle, das Ziel, der Quellenanschluss und
der Zielanschluss, und zwar zusätzlich
zu weiteren kritischen Stücken
von Informationen von der Verhaltensanalyse. Der SSV ist eine stärkere Anzeige über die
Aktivität
auf einem Netzwerk. Zusätzlich
können
die Anzahl von Alarmen eines spezifischen Typs und/oder die Häufigkeit
von Alarmen anzeigen, dass der Alarm freigegeben werden sollte.
-
Ein
Beibehalten von Alarmen in einem Zwischenspeicherbereich, welcher
nicht automatisch dem Bediener des IDS angezeigt wird, erlaubt,
dass eine zusätzliche
Verarbeitung auf Alarme durchgeführt
wird, bevor sie angezeigt werden. Es kann eine weitere Korrelations-Passierung
durchgeführt
werden, um Alarme neu zu klassifizieren, welche noch nicht freigegeben
sind. Indem nach Sequenz-Anzeigen Ausschau gehalten wird, können mehrere
Alarme zu einzelnen Alarmen zusammengefasst werden, und lediglich
der einzelne Alarm wird angezeigt. Um Alarme neu zu klassifizieren,
werden Alarme in einer Sequenz, welche mit einem bekannten Typ eines
Angriffs korrelieren, nicht freigegeben, vielmehr wird ein neuer
Alarm erzeugt und freigegeben.
-
Als
ein Beispiel von der Funktionalität des Alarmfreigabesystems
wird der Nimda-Wurm in Betracht gezogen. Es werden fünf Alarme
dazu verwendet, um zu bestimmen, dass ein Web-Angriff tatsächlich ein
Nimda-Wurm-Angriff ist. Die fünf
Alarme werden nicht an das Bedienpult freigegeben, anstelle dessen
wird ein neuer Alarm, welcher Nimda genannt wird, erzeugt, und dieser
neue Alarm wird an das Bedienpult freigegeben. Dies bewahrt die
Aufzeichnung, dass fünf
Angriffe aufgetreten sind, dass sie jedoch alle von der gleichen
Quelle stammen (wie beispielsweise mit einem Nimda-Wurm-Angriff).
-
Ein
Alarmfreigabesystem erlaubt es ebenfalls, dass Quellen und Dienste
neu benannt werden, welches eine Namensauflösung für Alarme bereitstellt, sodass
Server (inklusive interne Server, bei denen keine öffentliche
DNS verfügbar
ist) neu benannt werden können.
Eine Tabelle löst
Adressen auf Namen auf. Beispielsweise, bevor Alarme an das Bedienpult
freigegeben werden, werden die Adressen auf aussagekräftige Namen
geändert,
wie beispielsweise „Firewall". Der Bediener des
IDS sieht den Namen anstelle der Adresse, welches hilfreich ist,
weil der menschliche Bediener wahrscheinlicher unmittelbar den Namen
erkennt. Die Adressinformation wird in dem Alarm für die Bediener-Verwendung
und -Referenz beibehalten.
-
Zusätzlich können Alarme
neu benannt werden, nachdem Alarme erzeugt und von einem signaturbasierten
Server unter Verwendung dieses Alarmfreigabesystems importiert wurden.
Zuvor werden alle Importeure in einer Liste von Alarmnamen beibehalten,
welche zum Zeitpunkt des Importes geändert werden müssen, wobei
jeder davon dem signaturbasierten System eindeutig ist, welches
die Alarme erzeugt. Das Alarmfreigabesystem erlaubt es, dass eine
einzelne Liste von Alarm-Neubenennungen dazu verwendet wird, um
alle Alarme von einem bestimmten Namen auf einen weiteren Namen
zu ändern,
um vereinheitlichte Datennamen sicherzustellen.
-
Bezug
nehmend nun auf 10, bei welcher ein beispielhafter
Prozessablauf für
eine Ausführungsform
von einem Alarmfreigabesystem gemäß von Systemen und Verfahren
von der vorliegenden Erfindung gezeigt ist, werden bei Block 1005 Alarme einer
Datenbank bei Erzeugung I hinzugefügt. IP-Adressen werden auf
Namen aufgelöst,
Block 1010, und Alarme werden neu benannt, Block 1015. Alarme
werden neu klassifiziert, Block 1020, und Folgen von Auswahlregeln
werden dazu verwendet, um Alarme auszuwählen, welche auf dem Bedienpult
anzuzeigen sind, Block 1025, um vom Bediener des IDS gesehen
zu werden. Den zur Anzeige ausgewählten Alarmen wird ein Erzeugung-2-Status
zugewiesen, Block 1030, und in einer Erzeugung-2-Alarmdatenbank
gespeichert.
-
Die
dargelegte Beschreibung von beispielhaften Ausführungsformen gemäß von Systemen und
Verfahren von der Erfindung wurde lediglich zu Zwecken der Darstellung
und Beschreibung dargestellt, und ist nicht dazu beabsichtigt, erschöpfend zu sein
oder in die Erfindung auf die offenbarten präzisen Formen zu beschränken. Viele
Modifikationen und Variationen sind im Lichte der obigen Lehre möglich.
-
Die
Ausführungsformen
wurden ausgewählt und
beschrieben, um die Prinzipien von der Erfindung und ihre praktische
Anwendung zu erläutern, um
es somit dem Fachmann zu ermöglichen,
die Erfindung und verschiedene Ausführungsformen, und mit verschiedenen
Modifikationen, sobald sie für
die bestimmte genannte Verwendung geeignet sind, zu verwenden. Alternative
Ausführungsformen
werden dem Fachmann im Gebiet der vorliegenden Erfindung deutlich,
ohne von ihrem Umfang abzuweichen, wie durch die anliegenden Ansprüche bestimmt.