Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
AUF DIESER SEITE
 

Angriffsobjekte und Objektgruppen für IDP-Richtlinien

In diesem Thema werden Details zu IDP-Angriffsobjekten und -gruppen erläutert. Es wird erläutert, wie Sie Angriffsobjekte und -gruppen erstellen, ändern und verwenden, um Netzwerke vor verschiedenen Bedrohungen und Schwachstellen zu schützen. Dadurch wird sichergestellt, dass robuste Sicherheitsmaßnahmen vorhanden sind.

Angriffsobjekte, Anwendungssignaturobjekte und Dienstobjekte werden beim Definieren von IDP-Richtlinienregeln verwendet. Als Reaktion auf neue Schwachstellen stellt Juniper Networks regelmäßig eine Datei mit aktualisierten Angriffsdatenbanken auf der Juniper Website bereit. Sie können diese Datei herunterladen, um Ihr Netzwerk vor neuen Bedrohungen zu schützen. Diese Angriffsobjekte und -gruppen wurden entwickelt, um bekannte Angriffsmuster und Protokollanomalien im Netzwerkverkehr zu erkennen. Sie können Angriffsobjekte und -gruppen als Übereinstimmungsbedingungen in IDP-Richtlinienregeln konfigurieren.

Weitere Informationen finden Sie in den folgenden Themen:

Verständnis unseres Ansatzes zum Umgang mit bekannten und unbekannten Schwachstellen

Dieses Thema enthält die folgenden Abschnitte:

Bekannte Schwachstellen

Bekannte Sicherheitslücken sind diejenigen, die innerhalb der Internetsicherheits-Community dokumentiert sind. Die Internetsicherheits-Community besteht aus mehreren Sicherheitsorganisationen, Sicherheitsanalysten und Sicherheitsforen. Die Sicherheitsgemeinschaft entdeckt und analysiert ständig neue Angriffe und tauscht diese Informationen über das Internet aus. Auf diese Weise können sie einen Angriff schnell lokalisieren, identifizieren und verstehen.

Einige Sicherheitshinweise enthalten den eigentlichen Angriffscode. Sie können die Angriffsinformationen und den Angriffscode verwenden, um Paketinformationen und Dienstkontexte zu erfassen. Sie können diese Informationen verwenden, um ein benutzerdefiniertes Signaturangriffsobjekt zu erstellen.

Leider wird in den meisten Advisories der Angriffscode nicht mit der Beschreibung des Angriffs veröffentlicht. Wenn Sie den Angriffscode nicht abrufen können, lesen Sie das Advisory sorgfältig durch und versuchen Sie, die Grundlagen des Angriffspakets zu rekonstruieren.

VORSICHT:

Denken Sie daran, Code aus unbekannten Quellen zu isolieren.

Die folgenden Organisationen sind in der Sicherheitscommunity aktiv und eine gute Ressource für die Suche nach Angriffsinformationen:

  • NVD – National Vulnerability Database (http://nvd.nist.gov). Das Repository der US-Regierung für Daten zum Schwachstellenmanagement, die mithilfe des Security Content Automation Protocol (SCAP) dargestellt werden.

  • SANS: SysAdmin, Audit, Netzwerk, Security Institute (www.sans.org). Eine Forschungs-, Zertifizierungs- und Bildungsorganisation für Informationssicherheit, die Sicherheitswarnungen bereitstellt. Außerdem beherbergt das Internet Storm Center (ISC) in http://www.incidents.org.

  • CVE – Common Vulnerabilities and Exposures (http://cve.mitre.org). Eine standardisierte Liste von Schwachstellen und anderen Schwachstellen in der Informationssicherheit.

  • BugTraq (http://securityfocus.com/archive/1). Eine moderierte Mailingliste, die von Security Focus gehostet wird und Sicherheitslücken auf dem Computer diskutiert und ankündigt.

  • CERT-Koordinationszentrum (http://www.cert.org). Eine vom Bund finanzierte Organisation für Sicherheitswarnungen, die Sicherheitshinweise bereitstellt.

  • Sicherheit bei Paketstürmen (http://packetstormsecurity.nl) Eine gemeinnützige Organisation von Sicherheitsexperten, die Sicherheitsinformationen in Form von Sicherheitsnachrichten, Advisories, Foren und Angriffscode bereitstellt.

  • Metasploit (http://www.metasploit.com). Metasploit bietet nützliche Informationen für die Durchführung von Penetrationstests, die Entwicklung von IDS-Signaturen und die Exploit-Forschung.

  • FrSIRT – Französisches Security Incident Response Team (http://www.frsirt.com). FrSIRT ist eine unabhängige Sicherheitsforschungsorganisation, die Sicherheitshinweise und Echtzeit-Schwachstellenwarnungen und -benachrichtigungsdienste anbietet.

  • ISS – Internet-Sicherheitssysteme (http://www.iss.net). Ein Internet-Sicherheitsunternehmen, das Warnungen und Internet-Bedrohungsstufen bereitstellt.

Unbekannte Schwachstellen

Unbekannte Sicherheitslücken sind Sicherheitslücken, die nicht in den Empfehlungen der Internetsicherheits-Community dokumentiert sind. In diesen Fällen werden Sie von den in Ihrer Produktionsumgebung generierten IDP Series Profiler-, Firewall- oder IDP-Sicherheitsereignisprotokollen vor verdächtigen Aktivitäten und anormalem Datenverkehr gewarnt. In Ihrer Produktionsumgebung verwenden Sie Paketprotokollierungstools, um Pakete und Dienstkontextinformationen zu erfassen, die Sie später in Ihrem Lab analysieren und damit experimentieren können.

Testen eines benutzerdefinierten Angriffsobjekts

Wir empfehlen den folgenden Workflow, um ein benutzerdefiniertes Angriffsobjekt zu testen. Beachten Sie, dass das folgende Verfahren aus allgemeinen Schritten besteht und für erfahrene Benutzer gedacht ist, die mit diesen Aufgaben vertraut sind.

So testen Sie ein benutzerdefiniertes Angriffsobjekt:

  1. Erstellen Sie eine neue Sicherheitsrichtlinie und eine neue IDP-Regelbasisregel, die nur das zu testende benutzerdefinierte Angriffsobjekt enthält. Aktivieren Sie die Protokollierung und die Paketprotokollierung.
  2. Übertragen Sie die Richtlinie per Push an das Laborgerät der IDP-Serie.
  3. Reproduzieren Sie vom Computer des Angreifers aus den Angriff, der auf den Computer des Opfers abzielt.
  4. Verwenden Sie die Security Director-Protokollanzeige, um zu überprüfen, ob der generierte Datenverkehr wie erwartet protokolliert wurde.

Wenn der Test fehlschlägt, überprüfen Sie die Angriffswarnung, den Protokoll-RFC und den Angriffscode oder die Paketaufzeichnungen, um zusätzliche Informationen zu ermitteln, die Ihnen bei der Feinabstimmung Ihrer Einstellungen helfen können. Das häufigste Problem, das eine Optimierung erfordert, ist die Syntax des DFA-Ausdrucks.

Erstellen eines Signaturangriffsobjekts

Ein Signatur-Angriffsobjekt ist ein Muster, das das System erkennen soll. Sie verwenden einen DFA-Ausdruck, um das Muster darzustellen. Alle anderen Signatureigenschaften, die Sie festlegen können (z. B. Dienst- oder Protokollkontext, Richtung und andere Einschränkungen), werden bereitgestellt, damit Sie die Leistung des Systems bei der Erkennung des Musters optimieren und Fehlalarme vermeiden können. Im Allgemeinen möchten Sie die Einstellungen eines Signaturangriffsobjekts so abstimmen, dass das System in jedem Kontext, in dem es auftreten könnte, und in keinem anderen Kontext danach sucht.

So konfigurieren Sie ein Signaturangriffsobjekt:

  1. Wählen Sie im Objekt-Manager Angriffsobjekte > IDP-Objekte aus.
  2. Klicken Sie auf die Registerkarte Benutzerdefinierte Angriffe .
  3. Klicken Sie auf das +-Symbol, um das Dialogfeld "Benutzerdefinierter Angriff" anzuzeigen.
  4. Konfigurieren Sie die Einstellungen für Angriffsobjekte. Tabelle 1 enthält Richtlinien zum Vornehmen der Einstellungen.
    Tabelle 1: Dialogfeld "Benutzerdefinierter Angriff": Einstellungen auf der Registerkarte "Allgemein"

    Einstellung

    Beschreibung

    Name

    Der Name, der in der Benutzeroberfläche angezeigt wird.

    Trinkgeld:

    Geben Sie das für den Angriff verwendete Protokoll als Teil des Angriffsnamens an.

    Beschreibung

    (Optional) Informationen über den Angriff. Obwohl eine Beschreibung beim Erstellen eines neuen Angriffsobjekts optional ist, kann sie Ihnen helfen, sich wichtige Informationen über den Angriff zu merken. Sehen Sie sich beispielsweise die Angriffsbeschreibungen für vordefinierte Angriffe an.

    Strenge

    "Info", "Warnung", "Geringfügig", "Wichtig" oder "Kritisch". Kritische Angriffe sind Versuche, Ihren Server zum Absturz zu bringen oder die Kontrolle über Ihr Netzwerk zu erlangen.

    • Kritisch: Enthält Angriffsobjekte, die Exploits entsprechen, die versuchen, der Erkennung zu entgehen, ein Netzwerkgerät zum Absturz zu bringen oder Berechtigungen auf Systemebene zu erlangen.

    • Info: Enthält Angriffsobjekte, die dem normalen, harmlosen Datenverkehr entsprechen, der URLs, DNS-Lookup-Fehler, öffentliche SNMP-Community-Zeichenfolgen und Peer-to-Peer (P2P)-Parameter enthält. Sie können Informationsangriffsobjekte verwenden, um Informationen über Ihr Netzwerk zu erhalten.

    • Haupt: Enthält Angriffsobjekte, die zu Exploits passen, die versuchen, einen Service zu unterbrechen, Zugriff auf ein Netzwerkgerät auf Benutzerebene zu erlangen oder einen Trojaner zu aktivieren, der zuvor auf ein Gerät geladen wurde.

    • Geringfügig: Enthält Angriffsobjekte, die Exploits entsprechen, die Aufklärungsbemühungen erkennen, die versuchen, durch Directory Traversal oder Informationslecks auf wichtige Informationen zuzugreifen.

    • Warnung: Enthält Angriffsobjekte, die zu Exploits passen, die versuchen, an unkritische Informationen zu gelangen oder ein Netzwerk mit einem Scan-Tool zu scannen.

    Informationsangriffe sind am wenigsten gefährlich und werden in der Regel von Netzwerkadministratoren eingesetzt, um Lücken in ihrem eigenen Sicherheitssystem zu entdecken.

    Kategorie

    Eine vordefinierte oder neue Kategorie. Verwenden Sie diese Kategorie, um die Angriffsobjekte zu gruppieren. Innerhalb jeder Kategorie werden die Angriffsobjekte nach Schweregrad gruppiert. Zum Beispiel: FTP, TROJANER, SNMP.

    Schlüsselwörter

    Eindeutige Bezeichner, die zum Suchen und Sortieren von Protokolldatensätzen verwendet werden können. Schlüsselwörter sollten sich auf den Angriff und das Angriffsobjekt beziehen.

    Empfohlen

    Gibt an, dass dieses Angriffsobjekt zu den Angriffsobjekten mit dem höchsten Risiko gehört. Wenn Sie dieses Angriffsobjekt später zu dynamischen Gruppen hinzufügen, können Sie angeben, ob nur empfohlene Angriffsobjekte einbezogen werden sollen.

    • Ja – Fügt der dynamischen Gruppe vordefinierte Angriffe hinzu, die von Juniper Networks empfohlen wurden.

    • Nein (No) – Gibt nicht empfohlene Angriffsobjekte in der dynamischen Angriffsgruppe an.

       

    Erkennungsleistung

    Geben Sie diesen Filter an, um langsam funktionierende Angriffsobjekte herauszufiltern. Sie können diesen Filter verwenden, um nur die geeigneten Angriffe basierend auf den Auswirkungen auf die Leistung auszuwählen.

    Wählen Sie eine Option aus:

    • Hoch: Fügt ein Angriffsobjekt mit hoher Performance hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung sind hoch7 bis hoch9, wenn die Anwendungsidentifizierung langsam ist.

    • Mittel: Fügt ein Angriffsobjekt mit mittlerer Auswirkung auf die Leistung hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung liegen zwischen Mittel4 und Mittel6, wobei die Anwendungsidentifizierung normal ist.

    • Niedrig: Fügt ein Angriffsobjekt mit geringer Auswirkung auf die Leistung hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung sind niedrig1 bis niedrig3, wobei die Anwendungsidentifizierung schneller erfolgt.

    • Unbekannt: Alle Angriffsobjekte werden standardmäßig auf "Unbekannt" gesetzt. Bei der Feinabstimmung von IPS auf Ihren Netzwerkverkehr können Sie diese Einstellung ändern, um die Auswirkungen auf die Leistung zu verfolgen. Die Auswirkung von Signaturen auf die Leistung ist 0 = unbekannt, wobei die Anwendungskennung ebenfalls unbekannt ist.

  5. Klicken Sie auf die Registerkarte Allgemein .
  6. Klicken Sie unter Angriffsversionen auf das Symbol +, um den Assistenten für neue Angriffe anzuzeigen.
  7. Wählen Sie auf der Seite Zielplattform und -typ eine Geräteplattform und einen Angriffstyp aus. In Tabelle 2 werden die Angriffstypen beschrieben.
    Tabelle 2: Angriffsobjekttypen

    Art

    Beschreibung

    Unterschrift

    Verwendet eine zustandsbehaftete Angriffssignatur (ein Muster, das immer in einem bestimmten Abschnitt des Angriffs vorhanden ist), um bekannte Angriffe zu erkennen.

    Zu den Angriffsobjekten mit zustandsbehafteten Signaturen gehören auch das Protokoll oder der Dienst, der bzw. der für den Angriff verwendet wurde, sowie der Kontext, in dem der Angriff stattfindet.

    Wenn Sie die genaue Angriffssignatur, das Protokoll und den Angriffskontext kennen, der für einen bekannten Angriff verwendet wurde, wählen Sie diese Option aus.

    Kombinierter Angriff

    Erkennt Angriffe, die mehrere Methoden nutzen, um eine Schwachstelle auszunutzen. Dieses Objekt kombiniert mehrere Signaturen oder Protokollanomalien zu einem einzigen Angriffsobjekt und zwingt den Datenverkehr, alle kombinierten Signaturen oder Anomalien innerhalb des zusammengesetzten Angriffsobjekts abzugleichen, bevor der Datenverkehr als Angriff identifiziert wird.

    Durch Kombinieren und sogar Festlegen der Reihenfolge, in der Signaturen oder Anomalien übereinstimmen müssen, können Sie die Ereignisse, die eintreten müssen, bevor die IDP-Engine Datenverkehr als Angriff identifiziert, sehr genau bestimmen.

    Wählen Sie diese Option aus, wenn Sie einen Angriff erkennen müssen, der mehrere gutartige Aktivitäten nutzt, um Ihr Netzwerk anzugreifen, oder wenn Sie eine bestimmte Abfolge von Ereignissen erzwingen möchten, bevor der Angriff als bösartig eingestuft wird.

  8. Wählen Sie Signatur aus und klicken Sie auf Weiter.
  9. Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – Allgemeine Eigenschaften weitere Einstellungen. Tabelle 3 enthält Richtlinien zum Vornehmen der Einstellungen.
    Tabelle 3: Benutzerdefinierter Angriff – Allgemeine Eigenschaften

    Eigentum

    Beschreibung

    Details zur Unterschrift

    Verbindlich

    Service: Wenn Sie den Service durch Ihre Recherche ermitteln konnten, wählen Sie Service aus. Später im Assistenten können Sie einen Dienstkontext angeben.

    IP: Wenn Sie sich des Dienstes nicht sicher sind, aber die IP-Details kennen, wählen Sie IP aus, und geben Sie eine Protokolltypnummer an.

    TCP, UDP oder ICMP: Wenn Sie den Dienstkontext, aber die Protokolldetails nicht kennen, wählen Sie das Protokoll aus.

    Geben Sie für TCP- und UDP-Protokolltypen die Portbereiche an.

    RPC: Wenn Sie Bedrohungen über das RPC-Protokoll (Remote Procedure Call) erkennen, wählen Sie diese Option aus, und geben Sie die Programm-ID an.

    RPC wird von verteilten Verarbeitungsanwendungen verwendet, um die Interaktion zwischen Prozessen remote zu handhaben. Wenn ein Client einen Remoteprozeduraufruf an einen RPC-Server sendet, antwortet der Server mit einem Remoteprogramm. Jedes Remote-Programm verwendet eine andere Programmnummer.

    Ermöglichen

    Zeitbindungsattribute verfolgen, wie oft eine Signatur wiederholt wird. Durch die Konfiguration des Umfangs und der Anzahl eines Angriffs können Sie eine Abfolge derselben Angriffe über einen Zeitraum (eine Minute) über Sitzungen hinweg erkennen. Diese Methode ist nützlich für die Erkennung von Brute-Force-Angriffen, die versuchen, Authentifizierungsanmeldeinformationen zu erraten oder die Systemkapazität für die Verarbeitung von Daten zu überlasten.

    Dienst

    Geben Sie den Dienst an, den der Angriff verwendet, um in Ihr Netzwerk einzudringen. Sie können den spezifischen Dienst, der für den Angriff verwendet wurde, als Dienstbindung auswählen.

    Angenommen, Sie wählen den DISCARD-Dienst aus. Discard Protocol ist ein Protokoll auf Anwendungsebene, wobei TCP/9, UDP/9 den Prozess zum Verwerfen von TCP- oder UDP-Daten beschreibt, die an Port 9 gesendet werden.

    Zeitlicher Geltungsbereich

    Wählen Sie den Bereich aus, in dem die Zählung erfolgt:

    • Quell-IP: Erkennt die Signatur im Datenverkehr von der Quell-IP-Adresse für die angegebene Anzahl von Malen, unabhängig von der Ziel-IP-Adresse.

    • Ziel-IP: Erkennt die Signatur im Datenverkehr von der Ziel-IP-Adresse für die angegebene Anzahl von Malen, unabhängig von der Quell-IP-Adresse.

    • Peer: Erkennt die Signatur im Datenverkehr zwischen Quell- und Ziel-IP-Adressen der Sitzungen für die angegebene Anzahl von Malen.

    Zeitzählung

    Geben Sie an, wie oft das Angriffsobjekt einen Angriff innerhalb des angegebenen Bereichs erkennen muss, damit das Gerät das Angriffsobjekt als mit dem Angriff übereinstimmend betrachtet.

    Der Bereich reicht von 0 bis 4.294.967.295.

    Match Assurance

    Geben Sie diesen Filter an, um Angriffsobjekte basierend auf der Häufigkeit zu verfolgen, mit der der Angriff in Ihrem Netzwerk einen Fehlalarm auslöst.

    Wählen Sie eine Option aus:

    • Hoch: Stellt Informationen zu den häufig nachverfolgten falsch-positiven Ereignissen bereit.

    • Mittel: Enthält Informationen zu den gelegentlich nachverfolgten falsch-positiven Ereignissen.

    • Niedrig: Enthält Informationen zu den selten nachverfolgten falsch-positiven Ereignissen.

    Auswirkungen auf die Performance

    Geben Sie diesen Filter an, um langsam funktionierende Angriffsobjekte herauszufiltern. Sie können diesen Filter verwenden, um nur die geeigneten Angriffe basierend auf den Auswirkungen auf die Leistung auszuwählen.

    Wählen Sie eine Option aus:

    • Hoch: Fügt ein Angriffsobjekt mit hoher Performance hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung sind hoch7 bis hoch9, wenn die Anwendungsidentifizierung langsam ist.

    • Mittel: Fügt ein Angriffsobjekt mit mittlerer Auswirkung auf die Leistung hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung liegen zwischen Mittel4 und Mittel6, wobei die Anwendungsidentifizierung normal ist.

    • Niedrig: Fügt ein Angriffsobjekt mit geringer Auswirkung auf die Leistung hinzu, das für einen Angriff anfällig ist. Die Auswirkungen von Signaturen auf die Leistung sind niedrig1 bis niedrig3, wobei die Anwendungsidentifizierung schneller erfolgt.

    • Unbekannt: Alle Angriffsobjekte werden standardmäßig auf "Unbekannt" gesetzt. Bei der Feinabstimmung von IPS auf Ihren Netzwerkverkehr können Sie diese Einstellung ändern, um die Auswirkungen auf die Leistung zu verfolgen. Die Auswirkung von Signaturen auf die Leistung ist 0 = unbekannt, wobei die Anwendungskennung ebenfalls unbekannt ist.

    Umfang

    Geben Sie an, ob der Angriff innerhalb einer Sitzung oder über Transaktionen in einer Sitzung hinweg abgeglichen wird:

    • session: Lässt mehrere Übereinstimmungen für das Objekt innerhalb derselben Sitzung zu.

    • transaction: Stimmt das Objekt über mehrere Transaktionen hinweg ab, die innerhalb derselben Sitzung stattfinden.

    Klicken Sie auf Weiter.

  10. Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – Angriffsmuster die Mustereinstellungen. Tabelle 4 enthält Richtlinien zum Vornehmen der Einstellungen.
    Tabelle 4: Benutzerdefinierter Angriff – Angriffsmuster

    Einstellung

    Beschreibung

    Muster

    Ein DFA-Ausdruck. In den folgenden Zeilen werden die DFA-Syntaxkonventionen zusammengefasst. Ausführliche Informationen finden Sie in einer Standardquelle zur Programmierung mit regulären Ausdrücken.

     

    \B.0.1.. 00\B

    Abgleich auf Bitebene für binäre Protokolle. Die Länge der Bitmaske muss in Vielfachen von 8 angegeben werden.

    Das erste \B gibt den Anfang der Bitmaske an. Das letzte \B bezeichnet das Ende der Bitmaske.

    Die Dezimalzahl (.) gibt an, dass das Bit entweder 0 oder 1 sein kann.

    Eine 0 oder 1 gibt an, dass das Bit an dieser Position 0 oder 1 sein muss.

    \0 <octal_number>

    Für eine direkte binäre Übereinstimmung.

    \X<Hexadezimalzahl>\X

    Für eine direkte binäre Übereinstimmung.

    \[<Zeichensatz>\]

    Bei Übereinstimmungen, bei denen die Groß-/Kleinschreibung nicht beachtet wird.

    .

    Um ein beliebiges Symbol zu finden.

    *

    Um 0 oder mehr Symbole zu finden.

    +

    Um 1 oder mehrere Symbole zu finden.

    ?

    Übereinstimmung mit 0 oder 1 Symbol.

    ()

    Gruppierung von Ausdrücken.

    |

    Wechsel. Wird in der Regel mit () verwendet.

    Beispiel: Der folgende Ausdruck stimmt mit Hund oder Katze überein: (Hund | Katze).

    []

    Zeichenklasse. Jeder explizite Wert innerhalb der eckigen Klammer an der Position stimmt überein.

    Beispiel: [Dd]ay stimmt mit Tag und Tag überein.

    [<Anfang>-<Ende>]

    Zeichenbereich. Ein beliebiger Wert innerhalb des Bereichs (gekennzeichnet durch einen Bindestrich). Sie können Zeichenklassen und einen Hexadezimalbereich mischen.

    Beispiel: [AaBbCcDdEeFf0-9].

    [^<Start>-<Ende>]

    Negation des Zeichenbereichs.

    Beispiel: [^Dd]ay stimmt mit Hay und Ray überein, aber nicht mit Tag oder Tag.

    Anmerkung:

    Um ein gesamtes Signaturmuster zu negieren, wählen Sie die Option Negieren unter dem Textfeld des Musters aus.

    \u<Zeichenfolge>\u

    Nicht beachtete Unicode-Übereinstimmungen.

    \s

    Leerzeichen.

     

    \

    Verwenden Sie einen umgekehrten Schrägstrich, um Sonderzeichen mit Escapezeichen zu versehen, damit sie abgeglichen und nicht als Operatoren für reguläre Ausdrücke verarbeitet werden.

    Zeichen Entging

    *

    \*

    (

    \(

    )

    \)

    .

    \.

    +

    \+

    \

    \\

    [

    \0133

    ]

    \0135

    Anmerkung:

    Da die Kombination aus dem umgekehrten Schrägstrich und den offenen und geschlossenen eckigen Klammern in dem Ausdruck ohne Berücksichtigung der Groß-/Kleinschreibung verwendet wird, müssen Sie den umgekehrten Schrägstrich mit dem Oktalcode für die eckigen Klammern verwenden.

    Negieren

    Negiert das Angriffsmuster.

    Regex

    Geben Sie einen regulären Ausdruck ein, um Regeln zu definieren, die böswilligem oder unerwünschtem Verhalten im Netzwerk entsprechen.

    Beispiel: Für die Syntax \[hello\] ist das erwartete Muster hello, wobei die Groß-/Kleinschreibung beachtet wird.

    Die Beispielübereinstimmungen können sein: hElLo, HEllO und heLLO.

    Zusammenhang

    Bindet den Musterabgleich an einen Kontext.

    Wählen Sie für bekannte Dienste, z. B. HTTP, den Dienst im ersten Feld aus, und wählen Sie im zweiten Feld den HTTP-Kontext aus, den Sie mit scio ccapermittelt haben, z. B. HTTP POST Parsed Param.

    Wenn Sie den Kontext nicht ermitteln konnten, wählen Sie im ersten Feld Andere aus, und wählen Sie im zweiten Feld einen der folgenden Kontexte aus:

    • Paket: Erkennt das Muster in einem beliebigen Paket.

    • Erstes Paket: Überprüft nur das erste Paket eines Datenstroms. Wenn die Datenflussrichtung auf beliebig eingestellt ist, überprüft die Detektor-Engine das erste Paket sowohl des Server-zu-Client-Datenstroms (STC) als auch des Client-zu-Server-Datenflusses (CTS). Weniger Verarbeitung bedeutet mehr Leistung. Wenn Sie wissen, dass das Muster im ersten Paket einer Sitzung angezeigt wird, wählen Sie Erstes Paket aus.

    • Erstes Datenpaket: Die Überprüfung wird nach dem ersten Paket eines Datenstroms beendet. Wählen Sie diese Option aus, um den Angriff nur im ersten Datenpaket eines Streams zu erkennen. Wenn Sie wissen, dass das Muster im ersten Datenpaket eines Streams angezeigt wird, wählen Sie Erstes Datenpaket aus.

    • Stream 256: Setzt Pakete neu zusammen und sucht innerhalb der ersten 256 Byte eines Datenverkehrs-Streams nach einer Musterübereinstimmung. Stream 256 ist oft die beste Wahl für Nicht-UDP-Angriffe. Wenn die Flussrichtung auf anyeingestellt ist, überprüft die Detektor-Engine die ersten 256 Byte sowohl der STC- als auch der CTS-Datenströme. Wenn Sie wissen, dass das Muster in den ersten 256 Bytes einer Sitzung angezeigt wird, wählen Sie Stream 256 aus.

    • Stream 8K – Wie Stream 256 setzt Pakete jedoch neu zusammen und sucht innerhalb der ersten 8192 Bytes eines Datenverkehrsstroms nach einer Musterübereinstimmung.

    • Stream 1K – Wie Stream 256 setzt Pakete jedoch neu zusammen und sucht innerhalb der ersten 1024 Bytes eines Datenverkehrsstroms nach einer Musterübereinstimmung.

    • Linie: Erkennt ein Muster innerhalb einer bestimmten Linie. Verwenden Sie diesen Kontext für leitungsorientierte Anwendungen oder Protokolle (z. B. FTP).

    • Stream: Setzt Pakete neu zusammen und extrahiert die Daten, um nach einer Musterübereinstimmung zu suchen. Die IDP-Engine erkennt jedoch keine Paketgrenzen für Streamkontexte, sodass Daten für mehrere Pakete kombiniert werden. Wählen Sie diese Option nur aus, wenn keine andere Kontextoption den Angriff enthält.

    Anmerkung:

    Wenn Sie einen Leitungs-, Stream- oder Dienstkontext auswählen, konfigurieren Sie keine Übereinstimmungskriterien für IP-Einstellungen und Protokollheaderfelder.

    Richtung

    Wählen Sie die Richtung aus, in der das Muster erkannt werden soll:

    • Client-zu-Server: Erkennt das Muster nur im Client-zu-Server-Datenverkehr.

    • Server-zu-Client: Erkennt das Muster nur im Server-zu-Client-Datenverkehr.

    • Beliebig: Erkennt das Muster in beide Richtungen.

    Der Sitzungsinitiator wird als Client betrachtet, auch wenn es sich bei der Quell-IP um einen Server handelt.

    Anomalie hinzufügen

    Anomalie

    Wählen Sie eine Option aus, um abnormale oder mehrdeutige Nachrichten innerhalb einer Verbindung gemäß dem Regelsatz für das jeweilige verwendete Protokoll zu erkennen.

    Die Erkennung von Protokollanomalien erfolgt durch das Auffinden von Abweichungen von Protokollstandards, die am häufigsten durch RFCs und gängige RFC-Erweiterungen definiert werden.

    Richtung

    Geben Sie die Verbindungsrichtung des Angriffs an:

    • Client-zu-Server: Erkennt den Angriff nur im Client-zu-Server-Datenverkehr.

    • Server-zu-Client: Erkennt den Angriff nur im Server-zu-Client-Datenverkehr.

    • Beliebig: Erkennt den Angriff in beide Richtungen.

    Die Verwendung einer einzelnen Richtung (anstelle von Any) verbessert die Leistung, reduziert Fehlalarme und erhöht die Erkennungsgenauigkeit.

    Klicken Sie auf Weiter.

  11. Wenn Sie eine Leitung, einen Stream, einen Stream 256 oder einen Dienstkontext ausgewählt haben, konfigurieren Sie keine Übereinstimmungskriterien für IP-Einstellungen und Protokollheaderfelder. Klicken Sie auf Fertig stellen.

    Wenn Sie einen Paketkontext verwenden, können Sie den Abgleich verfeinern, indem Sie Kriterien für IP-Flags und Paketheader hinzufügen, wie in den folgenden Tabellen beschrieben.

    Trinkgeld:

    Wenn Sie sich nicht sicher sind, mit welchen IP-Flags und IP-Feldern Sie übereinstimmen möchten, lassen Sie alle Felder leer. Wenn keine Werte festgelegt sind, versucht die IDP-Engine, die Signatur für alle Headerinhalte abzugleichen.

    Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – IPv4-Einstellungen und Header-Übereinstimmungen die Mustereinstellungen. Tabelle 5 enthält Richtlinien zum Vornehmen der Einstellungen.

    Tabelle 5: Seite "Benutzerdefinierter Angriff – IPv4-Einstellungen und Header-Übereinstimmungen"

    Einstellung

    Beschreibung

    Prüfsumme validieren

    Überprüfen Sie das Prüfsummenfeld anhand der berechneten Prüfsumme.

    Art der Dienstleistung

    Servicetyp. Gängige Servicetypen sind:

    • 0000 Standardeinstellung

    • 0001 Kosten minimieren

    • 0002 Maximale Zuverlässigkeit

    • 0003 Maximieren Sie den Durchsatz

    • 0004 Verzögerung minimieren

    • 0005 Maximieren Sie die Sicherheit

    IP-Flags

    IP-Flag-Bits.

    IHL

    Länge des Internet-Headers in Worten.

    Gesamtlänge

    Gesamtlänge des IP-Datagramms.

    ID

    Eindeutiger Wert, der vom Zielsystem verwendet wird, um ein fragmentiertes Paket wieder zusammenzusetzen.

    Gültigkeitsdauer

    Time-to-Live (TTL)-Wert des Pakets. Dieser Wert gibt die Anzahl der Router an, die das Paket passieren kann. Jeder Router, der das Paket verarbeitet, verringert die TTL um 1. Wenn die TTL 0 erreicht, wird das Paket verworfen.

    Protokoll

    Das für den Angriff verwendete Protokoll.

    Quelle

    IP-Adresse des angreifenden Geräts.

    Bestimmungsort

    IP-Adresse des Angriffsziels.

    Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – IPv6-Einstellungen und Header-Übereinstimmungen die Mustereinstellungen. Tabelle 6 enthält Richtlinien zum Vornehmen der Einstellungen.

    Tabelle 6: Seite "Benutzerdefinierter Angriff – IPv6-Einstellungen und Header-Übereinstimmungen"

    Einstellung

    Beschreibung

    Bestimmungsort

    IP-Adresse des Angriffsziels.

    Erweiterungs-Header

    Definieren Sie den IPv6-Erweiterungsheader für den Intrusion Detection Service (IDS).

    Flow-Label

    IPv6-Paketfluss-Labels aktivieren.

    Hop-Limit

    Gibt die maximale Anzahl von Hops an, die der Router in Routerankündigungen und allen IPv6-Paketen verwenden kann.

    Nächste Überschrift

    Gibt den Typ des Internetprotokolls für den Header an, der unmittelbar auf den IPv6-Header folgt.

    Länge der Nutzlast

    Gibt die Länge der IPv6-Paketnutzlast oder des Inhalts in Oktetten an.

    Quelle

    Identifiziert das Host-Gerät oder die Schnittstelle auf einem Knoten, das bzw. die das IPv6-Paket generiert hat.

    Traffic-Klasse

    Ermöglicht es Quellknoten oder Routern, unterschiedliche Klassen (oder Prioritäten für Quality of Service) für IPv6-Pakete zu identifizieren. (Dieses Feld ersetzt das Feld IPv4-Diensttyp.)

    Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – TCP-Paket-Header die Mustereinstellungen. Tabelle 7 enthält Richtlinien zum Vornehmen der Einstellungen.

    Tabelle 7: Benutzerdefiniertes Angriffsobjekt: TCP-Paket-Header-Felder

    Einstellung

    Beschreibung

    Quellport

    Portnummer auf dem angreifenden Gerät.

    Zielhafen

    Portnummer des Angriffsziels.

    Sequenznummer

    Sequenznummer des Pakets. Diese Zahl gibt den Speicherort der Daten in Bezug auf die gesamte Datensequenz an.

    ACK-Nummer

    ACK-Nummer des Pakets. Diese Nummer identifiziert die nächste Sequenznummer. Um dieses Feld zu aktivieren, muss das ACK-Flag gesetzt sein.

    Headerlänge

    Anzahl der Bytes im TCP-Header.

    Fenstergröße

    Anzahl der Bytes in der Größe des TCP-Fensters.

    Datenlänge

    Anzahl der Bytes in der Datennutzlast. Für SYN-, ACK- und FIN-Pakete sollte dieses Feld leer sein.

    Dringender Hinweis

    Die Daten im Paket sind dringend. Um dieses Feld zu aktivieren, muss das URG-Kennzeichen gesetzt sein.

    MSS

    Aktivieren und geben Sie die maximale TCP-Segmentgröße an.

    Reserviert

    Geben Sie die drei reservierten Bits im TCP-Headerfeld an.

    TCP-Flags

    TCP-Header-Flags. Geben Sie an, dass IDP nach einer Musterübereinstimmung sucht, unabhängig davon, ob das TCP-Flag gesetzt ist oder nicht.

    Fenster-Skalierung

    Geben Sie den Skalierungsfaktor an, der für die Sitzung des Angriffs verwendet wird.

    Konfigurieren Sie auf der Headerseite Benutzerdefinierter Angriff – UDP die Mustereinstellungen. Tabelle 8 enthält Richtlinien zum Vornehmen der Einstellungen.

    Tabelle 8: Benutzerdefiniertes Angriffsobjekt: UDP-Header-Felder

    Einstellung

    Beschreibung

    Prüfsumme validieren

    Überprüfen Sie das Prüfsummenfeld anhand der berechneten Prüfsumme.

    Quellport

    Portnummer auf dem angreifenden Gerät.

    Zielhafen

    Portnummer des Angriffsziels.

    Datenlänge

    Anzahl der Bytes in der Datennutzlast.

    Konfigurieren Sie auf der Seite Custom Attack – ICMP-Paket-Header die Mustereinstellungen. Tabelle 9 enthält Richtlinien zum Vornehmen der Einstellungen.

    Tabelle 9: Benutzerdefiniertes Angriffsobjekt: ICMP-Paket-Header-Felder

    Einstellung

    Beschreibung

    Prüfsumme validieren

    Überprüfen Sie das Prüfsummenfeld anhand der berechneten Prüfsumme.

    ICMP-Typ

    Primärcode, der die Funktion der Anforderung oder Antwort identifiziert.

    ICMP-Code

    Sekundärer Code, der die Funktion der Anforderung oder Antwort innerhalb eines bestimmten Typs identifiziert.

    Sequenznummer

    Sequenznummer des Pakets. Diese Zahl identifiziert den Ort der Anfrage/Antwort in Bezug auf die gesamte Sequenz.

    ICMP-ID

    Identifikationsnummer, bei der es sich um einen eindeutigen Wert handelt, der vom Zielsystem zum Zuordnen von Anforderungen und Antworten verwendet wird.

    Datenlänge

    Anzahl der Bytes in der Datennutzlast.

  12. Klicken Sie auf Fertig stellen.

Grundlegendes zu vordefinierten IDP-Angriffsobjekten und -objektgruppen

Das Sicherheitspaket für Intrusion Detection and Prevention (IDP) enthält eine Datenbank mit vordefinierten IDP-Angriffsobjekten und IDP-Angriffsobjektgruppen, die Sie in IDP-Richtlinien verwenden können, um Datenverkehr mit bekannten und unbekannten Angriffen abzugleichen. Juniper Networks aktualisiert die vordefinierten Angriffsobjekte und -gruppen regelmäßig mit neu entdeckten Angriffsmustern.

Aktualisierungen der Angriffsobjektdatenbank können Folgendes umfassen:

  • Neue Beschreibungen oder Schweregrade für bestehende Angriffsobjekte

  • Neue Angriffsobjekte

  • Löschung veralteter Angriffsobjekte

Dieses Thema enthält die folgenden Abschnitte:

Vordefinierte Angriffsobjekte

Vordefinierte Angriffsobjekte werden in alphabetischer Reihenfolge aufgelistet. Diese Angriffsobjekte haben eindeutige Namen, anhand derer Sie den Angriff leichter identifizieren können. Der erste Teil des Namens gibt die Gruppe an, zu der das Angriffsobjekt gehört. Zum Beispiel:

  • FTP:USER:ROOT: Gehört zur FTP:USER Gruppe. Es erkennt Versuche, sich mit dem root Konto bei einem FTP-Server anzumelden.

  • HTTP:HOTMAIL:FILE-UPLOAD: Gehört zur HTTP:HOTMAIL Gruppe. Es erkennt Dateien, die an E-Mails angehängt sind, die über den webbasierten E-Mail-Dienst Hotmailgesendet werden.

Vordefinierte Angriffsobjektgruppen

In der Liste der vordefinierten Angriffsgruppen werden die Angriffsobjekte in den unten beschriebenen Kategorien angezeigt. Eine Reihe empfohlener Angriffsobjekte, die Juniper Networks als ernsthafte Bedrohungen einstuft, ist ebenfalls in dieser Liste enthalten. Die empfohlenen Angriffsobjekte sind in die folgenden Kategorien unterteilt:

Tabelle 10: Vordefinierte Angriffsobjektgruppen

Gruppe der Angriffsobjekte

Beschreibung

Art des Angriffs

Gruppiert Angriffsobjekte nach Typ (Anomalie oder Signatur). Innerhalb jedes Typs werden die Angriffsobjekte nach Schweregrad gruppiert.

Kategorie

Gruppen greifen Objekte nach vordefinierten Kategorien an. Innerhalb jeder Kategorie werden die Angriffsobjekte nach Schweregrad gruppiert.

Betriebssystem

Gruppen greifen Objekte nach dem Betriebssystem an, auf das sie angewendet werden: BSD, Linux, Solaris oder Windows. Innerhalb der einzelnen Betriebssysteme werden die Angriffsobjekte nach Services und Schweregrad gruppiert.

Strenge

Gruppiert Angriffsobjekte nach dem Schweregrad, der dem Angriff zugewiesen ist. IDP hat fünf Schweregrade: Critical, Major, Minor, Warning, Info. Innerhalb jedes Schweregrads werden die Angriffsobjekte nach Kategorien gruppiert.

Webservices

Gruppen greifen Objekte über allgemeine Webdienste an. Diese Dienste sind nach Schweregraden gruppiert: "Warnung", "Kritisch", "Schwerwiegend", "Geringfügig", "Informationen".

Verschiedenes

Gruppen greifen Objekte nach Leistungsstufe an. Angriffsobjekte, die die IDP-Leistung ab einem bestimmten Level beeinträchtigen, werden unter dieser Kategorie zusammengefasst.

Antwort

Gruppen greifen Objekte im Datenverkehr an, der auf dem Server in Richtung Client fließt.

Grundlegendes zu benutzerdefinierten Angriffsobjekten

Sie können benutzerdefinierte Angriffsobjekte erstellen, um neue Angriffe zu erkennen, oder vordefinierte Angriffsobjekte an die individuellen Anforderungen Ihres Netzwerks anpassen.

Um ein benutzerdefiniertes Angriffsobjekt zu konfigurieren, geben Sie einen eindeutigen Namen für das Objekt an und geben dann zusätzliche Informationen an, z. B. eine allgemeine Beschreibung und Schlüsselwörter, die Ihnen das Auffinden und Verwalten des Angriffsobjekts erleichtern können.

Bestimmte Eigenschaften in den Definitionen von Angriffsobjekten sind für alle Arten von Angriffen gleich, z. B. Angriffsname, Beschreibung, Schweregrad, Dienst- oder Anwendungsbindung, Zeitbindung, empfohlene Aktion und Protokoll- oder Portbindung. Einige Felder sind spezifisch für einen Angriffstyp und nur für diese spezifische Angriffsdefinition verfügbar.

Anmerkung:

Die IDP-Funktion ist standardmäßig aktiviert, es ist keine Lizenz erforderlich. Benutzerdefinierte Angriffe und Gruppen in IDP-Richtlinien können auch dann konfiguriert und installiert werden, wenn keine gültige Lizenz und Signaturdatenbank auf dem Gerät installiert sind.

Dieses Thema enthält die folgenden Abschnitte:

Name des Angriffs

Geben Sie einen alphanumerischen Namen für das Objekt an. Sie können das Protokoll, das für den Angriff verwendet wird, in den Angriffsnamen aufnehmen.

Beginnend mit Junos OS Version 15.1X49-D140 beträgt die maximal zulässige Anzahl von Zeichen für einen benutzerdefinierten Angriffsobjektnamen 60 Zeichen. Sie können die Anweisung mit dem set security idp custom-attack Befehl validieren.

Strenge

Gibt die Brutalität des Angriffs auf Ihr Netzwerk an. Die Schweregradkategorien, in der Reihenfolge der zunehmenden Brutalität, sind Info, Warnung, gering, schwer, kritisch. Kritische Angriffe sind am gefährlichsten – in der Regel versuchen diese Angriffe, Ihren Server zum Absturz zu bringen oder die Kontrolle über Ihr Netzwerk zu erlangen. Informationsangriffe sind am wenigsten gefährlich und werden in der Regel von Netzwerkadministratoren eingesetzt, um Lücken in ihren eigenen Sicherheitssystemen zu entdecken.

Dienst- und Anwendungsbindungen

Das Dienst- oder Anwendungsbindungsfeld gibt den Dienst an, den der Angriff verwendet, um in Ihr Netzwerk einzudringen.

Anmerkung:

Geben Sie entweder den Dienst oder die Protokollbindung in einem benutzerdefinierten Angriff an. Wenn Sie beides angeben, hat die Dienstbindung Vorrang.

  • any: Geben Sie an any , ob Sie sich nicht sicher sind, welcher Dienst korrekt ist, und möchten Sie die Signatur in allen Services anpassen. Da bei einigen Angriffen mehrere Dienste für Angriffe auf Ihr Netzwerk verwendet werden, sollten Sie die Any Dienstbindung auswählen, um den Angriff zu erkennen, unabhängig davon, welchen Dienst der Angriff für eine Verbindung auswählt.

  • serviceBei den meisten Angriffen wird ein bestimmter Service für Angriffe auf Ihr Netzwerk verwendet. Sie können den spezifischen Dienst, der für den Angriff verwendet wurde, als Dienstbindung auswählen.

    Eine Liste der Services, Service-Bindungen und Kontexte finden Sie unter Grundlegendes zu benutzerdefinierten IDP-Angriffsobjekten-Servicekontexten

Protokoll- und Portbindungen

Mit Protokoll- oder Portbindungen können Sie das Protokoll angeben, das bei einem Angriff zum Eindringen in Ihr Netzwerk verwendet wird. Sie können den Namen des Netzwerkprotokolls oder die Protokollnummer angeben.

Anmerkung:

Geben Sie entweder den Dienst oder die Protokollbindung in einem benutzerdefinierten Angriff an. Wenn Sie beides angeben, hat die Dienstbindung Vorrang.

  • IP: Sie können jedes der unterstützten Netzwerkschichtprotokolle mithilfe von Protokollnummern angeben. Tabelle 11 listet Protokollnummern für verschiedene Protokolle auf.

    Tabelle 11: Unterstützte Protokolle und Protokollnummern

    Protokollname

    Protokollnummer

    IGMP

    2

    IP-IP

    4

    EGP

    8

    WELPE

    12

    KLOPAPIER

    29

    IPV6

    41

    ROUTING

    43

    FRAGMENT

    44

    U.A.W.G

    46

    GRE

    47

    ASW

    50

    AH

    51

    ICMPV6-KARTON

    58

    NICHTS

    59

    DSTOPTS

    60

    MTP

    92

    KAPSELUNG

    98

    PIM

    103

    COMP

    108

    ROH

    255

  • ICMP, TCP und UDP: Angriffe, die keinen bestimmten Service nutzen, können bestimmte Ports für Angriffe auf Ihr Netzwerk nutzen. Einige TCP- und UDP-Angriffe nutzen Standardports, um in Ihr Netzwerk einzudringen und eine Verbindung herzustellen.

  • RPC: Das RPC-Protokoll (Remote Procedure Call) wird von verteilten Verarbeitungsanwendungen verwendet, um die Interaktion zwischen Prozessen remote zu handhaben. Wenn ein Client einen Remoteprozeduraufruf an einen RPC-Server sendet, antwortet der Server mit einem Remoteprogramm. Jedes Remote-Programm verwendet eine andere Programmnummer. Um Angriffe zu erkennen, die RPC verwenden, konfigurieren Sie die Dienstbindung als RPC, und geben Sie die RPC-Programm-ID an.

Tabelle 12 zeigt Beispielformate für Schlüsselprotokolle.

Tabelle 12: Beispielformate für Protokolle

Protokollname

Protokollnummer

Beschreibung

ICMP

<Port>ICMP</Port>

Geben Sie den Protokollnamen an.

IP

<Port>IP/protocol-number</Port>

Geben Sie die Protokollnummer der Netzwerkschicht an.

RPC

<Port>RPC/program-number</Port>

Geben Sie die RPC-Programmnummer an.

TCP oder UDP

  • <Port>TCP </Port>

  • <Port>TCP/port </Port>

  • <Port>TCP/minport-maxport </Port>

Die Angabe des Ports ist für TCP- und UDP-Protokolle optional. Sie können z. B. eine der folgenden Angaben angeben:

  • <Port>UDP</Port>

  • <Port>UDP/10</Port>

  • <Port>UDP/10-100</Port>

Zeitbindungen

Verwenden Sie Zeitbindungen, um die Zeitattribute für das benutzerdefinierte Angriffsobjekt für die Zeitbindung zu konfigurieren. Zeitattribute steuern, wie das Angriffsobjekt Angriffe identifiziert, die sich eine bestimmte Anzahl von Malen wiederholen. Durch die Konfiguration des Umfangs und der Anzahl eines Angriffs können Sie eine Abfolge derselben Angriffe über einen bestimmten Zeitraum hinweg über Sitzungen hinweg erkennen.

Ab Junos OS Version 18.4R1 können Sie das maximale Zeitintervall zwischen zwei beliebigen Instanzen eines benutzerdefinierten zeitgebundenen Angriffs konfigurieren, und der Bereich für das maximale Zeitintervall beträgt 0 Minuten und 0 Sekunden bis 60 Minuten und 0 Sekunden. In Junos OS-Versionen vor 18.4R1 beträgt das maximale Zeitintervall zwischen zwei beliebigen Instanzen eines zeitgebundenen Angriffs 60 Sekunden, bis die Anzahl der Angriffsauslöser die in der Zeitbindung konfigurierte Anzahl erreicht. Die interval interval-value Anweisung wird in der [edit security idp custom-attack attack-name time-binding] Hierarchie eingeführt, um eine benutzerdefinierte Zeitbindung zu konfigurieren.

Umfang

Geben Sie den Bereich an, in dem die Anzahl der Angriffe erfolgt:

  • Quelle: Geben Sie diese Option an, um Angriffe von der Quelladresse unabhängig von der Zieladresse für die angegebene Anzahl von Malen zu erkennen. Das bedeutet, dass für einen bestimmten Angriff ein Schwellenwert für jeden Angriff von der Quelladresse beibehalten wird. Die Zieladresse wird ignoriert. Beispielsweise werden Anomalien von zwei verschiedenen Paaren (ip-a, ip-b) und (ip-a, ip-c) erkannt, die dieselbe Quelladresse ip-a , aber unterschiedliche Zieladressen ip-b und ip-chaben. Dann wird die Anzahl der Übereinstimmungen für ip-a Inkremente auf 2. Angenommen, der Schwellwert oder count ist ebenfalls auf 2 gesetzt, dann löst die Signatur das Angriffsereignis aus.

  • Ziel: Geben Sie diese Option an, um Angriffe zu erkennen, die unabhängig von der Quelladresse für die angegebene Anzahl von Malen an die Zieladresse gesendet werden. Das bedeutet, dass für einen bestimmten Angriff für jeden Angriff von der Zieladresse aus ein Schwellenwert beibehalten wird. Die Quelladresse wird ignoriert. Wenn z. B. Anomalien von zwei verschiedenen Paaren (ip-a,) und (ip-c, ip-b ip-b) erkannt werden, die dieselbe Zieladresseip-b, aber unterschiedliche Quelladressen ip-a und ip-c. Dann wird die Anzahl der Übereinstimmungen für ip-b Inkremente auf 2. Angenommen, der Schwellwert oder count ist ebenfalls auf 2gesetzt, dann löst die Signatur das Angriffsereignis aus.

  • Peer: Geben Sie diese Option an, um Angriffe zwischen Quell- und Ziel-IP-Adressen der Sitzungen für die angegebene Anzahl von Malen zu erkennen. Das bedeutet, dass der Schwellwert für ein Paar aus Quell- und Zieladressen gilt. Angenommen, Anomalien werden von zwei verschiedenen Quell- und Zielpaaren (ip-a, ip-b) und (ip-a, ip-c) erkannt. Dann wird die Anzahl der Übereinstimmungen für jedes Paar auf 1festgelegt, obwohl beide Paare eine gemeinsame Quelladresse haben.

Zählen

Die Anzahl oder der Schwellenwert gibt an, wie oft das Angriffsobjekt einen Angriff innerhalb des angegebenen Bereichs erkennen muss, bevor das Gerät das Angriffsobjekt als mit dem Angriff übereinstimmend betrachtet. Wenn Sie das Angriffsobjekt an mehrere Ports binden und das Angriffsobjekt diesen Angriff auf verschiedenen Ports erkennt, wird jeder Angriff auf jeden Port als separates Vorkommen gezählt. Wenn das Angriffsobjekt z. B. einen Angriff auf TCP/80 und dann auf TCP/8080erkennt, beträgt die Anzahl zwei.

Sobald die count Übereinstimmung erreicht ist, erhöht sich die Anzahl der Angriffe durch jeden Angriff, der den Kriterien entspricht, um eins. Dieser Zählzyklus dauert eine benutzerdefinierte Dauer (konfiguriert mit der interval Option), danach wird der Zyklus wiederholt.

Intervall

Interval gibt das maximale Zeitintervall zwischen zwei beliebigen Instanzen eines zeitbindenden benutzerdefinierten Angriffs an. Der Bereich für das Zeitintervall liegt zwischen 0 Sekunden und 1 Stunde, und der Standardwert beträgt 60 Sekunden.

Angriffseigenschaften (Signaturangriffe)

Signaturangriffsobjekte verwenden eine zustandsbehaftete Angriffssignatur (ein Muster, das immer innerhalb eines bestimmten Angriffsabschnitts vorhanden ist), um bekannte Angriffe zu erkennen. Dazu gehören auch das Protokoll oder der Dienst, der für den Angriff verwendet wurde, und der Kontext, in dem der Angriff stattfindet. Die folgenden Eigenschaften sind spezifisch für Signaturangriffe und Sie können sie bei der Konfiguration des Signaturangriffs konfigurieren:

Anmerkung:

Angriffskontext, Datenflusstyp und -richtung sind Pflichtfelder für die Definition des Signaturangriffs.

Angriffskontext

Ein Angriffskontext definiert den Speicherort der Signatur. Wenn Sie den Dienst und den spezifischen Dienstkontext kennen, geben Sie diesen Dienst an, und geben Sie dann die entsprechenden Dienstkontexte an. Wenn Sie den Dienst kennen, aber sich über den spezifischen Dienstkontext nicht sicher sind, geben Sie einen der folgenden allgemeinen Kontexte an:

  • first-data-packet: Geben Sie diesen Kontext an, um den Angriff nur im ersten Datenpaket zu erkennen.

  • first-packet– Geben Sie diesen Kontext an, um den Angriff nur im ersten Paket eines Streams zu erkennen. Wenn die Flussrichtung für das Angriffsobjekt auf festgelegt anyist, überprüft das Gerät das erste Paket sowohl des Server-zu-Client- als auch des Client-zu-Server-Datenverkehrs. Wenn Sie wissen, dass die Angriffssignatur im ersten Paket einer Sitzung angezeigt wird, können Sie first packet anstelle von "Reduziert packet den Datenverkehr", den das Gerät überwachen muss, was die Leistung verbessert.

  • packet– Geben Sie diesen Kontext so an, dass er dem Angriffsmuster innerhalb eines Pakets entspricht. Wenn Sie diese Option auswählen, müssen Sie auch die Dienstbindung angeben, um die Dienstheaderoptionen zu definieren. Die Angabe dieser zusätzlichen Parameter ist zwar nicht erforderlich, verbessert jedoch die Genauigkeit des Angriffsobjekts und damit die Leistung.

  • line: Geben Sie diesen Kontext an, um eine Musterübereinstimmung innerhalb einer bestimmten Zeile innerhalb Ihres Netzwerkdatenverkehrs zu erkennen.

  • normalized-stream: Geben Sie diesen Kontext an, um den Angriff in einem gesamten normalisierten Stream zu erkennen. Der normalisierte Datenstrom ist eine der zahlreichen Möglichkeiten zum Senden von Informationen. In diesem Stream werden die Informationen im Paket normalisiert, bevor ein Abgleich durchgeführt wird. Angenommen www.yahoo.com/sports , ist identisch mit www.yahoo.com/s%70orts. Die normalisierte Form, die diese beiden URLs darstellt, könnte sein www.yahoo.com/sports. Wählen Sie normalized stream anstelle von stream, es sei denn, Sie möchten ein Muster in seiner genauen Form erkennen. Wenn Sie z. B. das genaue Muster www.yahoo.com/s%70ortserkennen möchten, wählen Sie stream.

  • normalized-stream256Geben Sie diesen Kontext an, um den Angriff nur in den ersten 256 Bytes eines normalisierten Streams zu erkennen.

  • normalized-stream1k: Geben Sie diesen Kontext an, um den Angriff nur in den ersten 1024 Bytes eines normalisierten Streams zu erkennen.

  • normalized-stream-8k: Geben Sie diesen Kontext an, um den Angriff nur in den ersten 8192 Bytes eines normalisierten Streams zu erkennen.

  • stream– Geben Sie diesen Kontext an, um Pakete neu zusammenzusetzen und die Daten zu extrahieren, um nach einer Musterübereinstimmung zu suchen. Da das Gerät jedoch keine Paketgrenzen für Streamkontexte erkennen kann, werden Daten für mehrere Pakete kombiniert. Geben Sie diese Option nur an, wenn keine andere Kontextoption den Angriff enthält.

  • stream256Geben Sie diesen Kontext an, um Pakete neu zusammenzusetzen und innerhalb der ersten 256 Byte eines Datenverkehrsstroms nach einer Musterübereinstimmung zu suchen. Wenn die Flussrichtung auf anyfestgelegt ist, überprüft das Gerät die ersten 256 Byte sowohl der Server-zu-Client- als auch der Client-zu-Server-Datenströme. Wenn Sie wissen, dass die Angriffssignatur in den ersten 256 Byte einer Sitzung angezeigt wird, können Sie die Menge des Datenverkehrs, den das Gerät überwachen und zwischenspeichern muss, reduzieren, indem Sie stream256 stattdessen stream die Leistung verbessern.

  • stream1kGeben Sie diesen Kontext an, um Pakete wieder zusammenzusetzen und innerhalb der ersten 1024 Byte eines Datenstroms nach einer Musterübereinstimmung zu suchen. Wenn die Flussrichtung auf anyfestgelegt ist, überprüft das Gerät die ersten 1024 Byte sowohl der Server-zu-Client- als auch der Client-zu-Server-Datenströme. Wenn Sie wissen, dass die Angriffssignatur in den ersten 1024 Bytes einer Sitzung angezeigt wird, können Sie stream1024 anstelle von "Reduziert stream die Menge des Datenverkehrs", den das Gerät überwachen und zwischenspeichern muss, wodurch die Leistung verbessert wird.

  • stream8kGeben Sie diesen Kontext an, um Pakete wieder zusammenzusetzen und innerhalb der ersten 8192 Byte eines Datenverkehrsstroms nach einer Musterübereinstimmung zu suchen. Wenn die Flussrichtung auf anyfestgelegt ist, überprüft das Gerät die ersten 8192 Byte sowohl der Server-zu-Client- als auch der Client-zu-Server-Datenströme. Wenn Sie wissen, dass die Angriffssignatur in den ersten 8192 Bytes einer Sitzung angezeigt wird, können Sie stream8192 anstelle von "Reduziert stream den Datenverkehr", den das Gerät überwachen und zwischenspeichern muss, wodurch die Leistung verbessert wird.

Angriffsrichtung

Sie können die Verbindungsrichtung des Angriffs angeben. Die Verwendung einer einzelnen Richtung (anstelle von Any) verbessert die Leistung, reduziert Fehlalarme und erhöht die Erkennungsgenauigkeit.

  • Client-zu-Server (erkennt den Angriff nur im Client-zu-Server-Datenverkehr)

  • Server-zu-Client (erkennt den Angriff nur im Server-zu-Client-Datenverkehr)

  • Beliebig (erkennt den Angriff in beide Richtungen)

Angriffsmuster

Angriffsmuster sind Signaturen der Angriffe, die Sie erkennen möchten. Eine Signatur ist ein Muster, das bei einem Angriff immer vorhanden ist. Wenn der Angriff vorhanden ist, ist auch die Signatur vorhanden. Um das Angriffsmuster zu erstellen, müssen Sie zuerst den Angriff analysieren, um ein Muster zu erkennen (z. B. ein Codesegment, eine URL oder einen Wert in einem Paketheader), und dann einen syntaktischen Ausdruck erstellen, der dieses Muster darstellt. Sie können ein Muster auch negieren. Das Negieren eines Musters bedeutet, dass der Angriff als übereinstimmend betrachtet wird, wenn das im Angriff definierte Muster mit not dem angegebenen Muster übereinstimmt.

Anmerkung:

Die Musternegation wird nur für paket-, leitungs- und anwendungsbasierte Kontexte unterstützt, nicht aber für stream- und normalisierte Streamkontexte.

Protokollspezifische Parameter

Gibt bestimmte Werte und Optionen an, die in Paketheadern vorhanden sind. Diese Parameter sind für verschiedene Protokolle unterschiedlich. In einer benutzerdefinierten Angriffsdefinition können Sie Felder nur für eines der folgenden Protokolle angeben: TCP, UDP oder ICMP. Sie können jedoch IP-Protokollfelder mit TCP oder UDP in einer benutzerdefinierten Angriffsdefinition definieren.

Anmerkung:

Headerparameter können nur für Angriffsobjekte definiert werden, die ein Paket oder einen ersten Paketkontext verwenden. Wenn Sie eine Linie, einen Stream, einen Stream 256 oder einen Dienstkontext angegeben haben, können Sie keine Headerparameter angeben.

Wenn Sie sich über die Optionen oder Kennzeichnungseinstellungen für das bösartige Paket nicht sicher sind, lassen Sie alle Felder leer und Intrusion Detection and Prevention (IDP) versucht, die Signatur für alle Header-Inhalte abzugleichen.

In Tabelle 13 werden Felder und Flags angezeigt, die Sie für Angriffe festlegen können, die das IP-Protokoll verwenden.

Tabelle 13: IP-Protokollfelder und -Flags

Feld

Beschreibung

Art der Dienstleistung

Geben Sie einen Wert für den Diensttyp an. Gängige Servicetypen sind:

  • 0000 Standardeinstellung

  • 0001 Kosten minimieren

  • 0002 Maximale Zuverlässigkeit

  • 0003 Maximieren Sie den Durchsatz

  • 0004 Verzögerung minimieren

  • 0005 Maximieren Sie die Sicherheit

Gesamtlänge

Geben Sie einen Wert für die Anzahl der Bytes im Paket an, einschließlich aller Headerfelder und der Datennutzlast.

ID

Geben Sie einen Wert für den eindeutigen Wert an, der vom Zielsystem verwendet wird, um ein fragmentiertes Paket wieder zusammenzusetzen.

Zeit zu leben

Geben Sie einen ganzzahligen Wert im Bereich von 0 bis 255 für den TTL-Wert (Time-to-Live) des Pakets an. Dieser Wert stellt die Anzahl der Geräte dar, die das Paket durchlaufen kann. Jeder Router, der das Paket verarbeitet, verringert die TTL um 1; wenn die TTL 0 erreicht, wird das Paket verworfen.

Protokoll

Geben Sie einen Wert für das verwendete Protokoll an.

Quelle

Geben Sie die Quelladresse des angreifenden Geräts ein.

Bestimmungsort

Geben Sie die Zieladresse des Angriffsziels ein.

Reserviertes Bit

Dieses Bit wird nicht verwendet.

Weitere Fragmente

Wenn diese Option gesetzt ist,1 gibt sie an, dass das Paket mehr Fragmente enthält. Wenn diese Option deaktiviert ist0, zeigt dies an, dass keine Fragmente mehr vorhanden sind.

Nicht fragmentieren

Wenn diese Option (1) gesetzt ist, gibt sie an, dass das Paket für die Übertragung nicht fragmentiert werden kann.

In Tabelle 14 sind Paket-Header-Felder und -Flags aufgeführt, die Sie für Angriffe festlegen können, die das TCP-Protokoll verwenden.

Tabelle 14: TCP-Header-Felder und -Flags

Feld

Beschreibung

Quellport

Geben Sie einen Wert für die Portnummer auf dem angreifenden Gerät an.

Zielhafen

Geben Sie einen Wert für die Portnummer des Angriffsziels an.

Sequenznummer

Geben Sie einen Wert für die Sequenznummer des Pakets an. Diese Zahl gibt den Speicherort der Daten in Bezug auf die gesamte Datensequenz an.

ACK-Nummer

Geben Sie einen Wert für die ACK-Nummer des Pakets an. Diese Nummer identifiziert die nächste Sequenznummer. Um dieses Feld zu aktivieren, muss das ACK-Flag gesetzt sein.

Headerlänge

Geben Sie einen Wert für die Anzahl der Bytes im TCP-Header an.

Datenlänge

Geben Sie einen Wert für die Anzahl der Bytes in der Datennutzlast an. Für SYN-, ACK- und FIN-Pakete sollte dieses Feld leer sein.

Fenstergröße

Geben Sie einen Wert für die Anzahl der Bytes in der Größe des TCP-Fensters an.

Dringender Hinweis

Geben Sie einen Wert für den dringenden Zeiger an. Der Wert gibt an, dass die Daten im Paket dringend sind. Um dieses Feld zu aktivieren, muss das URG-Kennzeichen gesetzt sein.

URG

Wenn diese Option festgelegt ist, zeigt das Flag urgent an, dass die Paketdaten dringend sind.

ACK

Wenn diese Option gesetzt ist, bestätigt das Bestätigungsflag den Empfang eines Pakets.

PSH

Wenn diese Option gesetzt ist, zeigt das push-Flag an, dass der Empfänger alle Daten in der aktuellen Sequenz an die Zielanwendung (identifiziert durch die Portnummer) übertragen soll, ohne auf die verbleibenden Pakete in der Sequenz zu warten.

RST

Wenn das Reset-Flag gesetzt ist, setzt es die TCP-Verbindung zurück und verwirft alle Pakete in einer vorhandenen Sequenz.

SYN

Wenn diese Option festgelegt ist, zeigt das SYN-Flag eine Anforderung für eine neue Sitzung an.

FLOSSE

Wenn diese Option gesetzt ist, zeigt das letzte Flag an, dass die Paketübertragung abgeschlossen ist und die Verbindung geschlossen werden kann.

R1-KARTON

Dieses reservierte Bit (1 von 2) wird nicht verwendet.

R2

Dieses reservierte Bit (2 von 2) wird nicht verwendet.

In Tabelle 15 sind Paket-Header-Felder und -Flags aufgeführt, die Sie für Angriffe festlegen können, die das UDP-Protokoll verwenden.

Tabelle 15: UDP-Header-Felder und -Flags

Feld

Beschreibung

Quellport

Geben Sie einen Wert für die Portnummer auf dem angreifenden Gerät an.

Zielhafen

Geben Sie einen Wert für die Portnummer des Angriffsziels an.

Datenlänge

Geben Sie einen Wert für die Anzahl der Bytes in der Datennutzlast an.

In Tabelle 16 sind Paket-Header-Felder und -Flags aufgeführt, die Sie für Angriffe festlegen können, die das ICMP-Protokoll verwenden.

Tabelle 16: ICMP-Header-Felder und -Flags

Feld

Beschreibung

ICMP-Typ

Geben Sie einen Wert für den Primärcode an, der die Funktion des Anforderungs- oder Antwortpakets identifiziert.

ICMP-Code

Geben Sie einen Wert für den sekundären Code an, der die Funktion des Anforderungs- oder Antwortpakets innerhalb eines bestimmten Typs identifiziert.

Sequenznummer

Geben Sie einen Wert für die Sequenznummer des Pakets an. Diese Zahl gibt den Speicherort des Anforderungs- oder Antwortpakets in Bezug auf die gesamte Sequenz an.

ICMP-ID

Geben Sie einen Wert für die Identifikationsnummer an. Die Identifikationsnummer ist ein eindeutiger Wert, der vom Zielsystem verwendet wird, um Anforderungs- und Antwortpakete zuzuordnen.

Datenlänge

Geben Sie einen Wert für die Anzahl der Bytes in der Datennutzlast an.

Beispiel-Signatur-Angriffsdefinition

Im Folgenden finden Sie ein Beispiel für eine Signatur-Angriffsdefinition:

Angriffseigenschaften (Angriffe auf Protokollanomalien)

Ein Angriffsobjekt für Protokollanomalien erkennt unbekannte oder komplexe Angriffe, die gegen Protokollspezifikationen (RFCs und allgemeine RFC-Erweiterungen) verstoßen. Sie können keine neuen Protokollanomalien erstellen, aber Sie können ein neues Angriffsobjekt konfigurieren, das steuert, wie Ihr Gerät mit einer vordefinierten Protokollanomalie umgeht, wenn es erkannt wird.

Anmerkung:

Die Dienst- oder Anwendungsbindung ist ein Pflichtfeld für Angriffe auf Protokollanomalien.

Die folgenden Eigenschaften sind spezifisch für Angriffe auf Protokollanomalien. Sowohl die Angriffsrichtung als auch die Testbedingung sind Pflichtfelder für die Konfiguration von Anomalie-Angriffsdefinitionen.

Angriffsrichtung

Mit Angriffsrichtung können Sie die Verbindungsrichtung eines Angriffs angeben. Die Verwendung einer einzelnen Richtung (anstelle von Any) verbessert die Leistung, reduziert Fehlalarme und erhöht die Erkennungsgenauigkeit:

  • Client-zu-Server (erkennt den Angriff nur im Client-zu-Server-Datenverkehr)

  • Server-zu-Client (erkennt den Angriff nur im Server-zu-Client-Datenverkehr)

  • Beliebig (erkennt den Angriff in beide Richtungen)

Versuchsbedingung

Testbedingung ist eine Bedingung, die für einen Anomalieangriff erfüllt werden muss. Juniper Networks unterstützt bestimmte vordefinierte Testbedingungen. Im folgenden Beispiel handelt es sich bei der Bedingung um eine zu lange Nachricht. Wenn die Größe der Nachricht länger als der vorkonfigurierte Wert für diese Testbedingung ist, wird der Angriff abgeglichen.

Beispiel für eine Angriffsdefinition für Protokollanomalien

Im Folgenden finden Sie ein Beispiel für eine Angriffsdefinition für Protokollanomalien:

Angriffseigenschaften (zusammengesetzte oder Kettenangriffe)

Ein zusammengesetztes oder Kettenangriffsobjekt erkennt Angriffe, die mehrere Methoden verwenden, um eine Schwachstelle auszunutzen. Dieses Objekt kombiniert mehrere Signaturen und/oder Protokollanomalien zu einem einzigen Angriffsobjekt und zwingt den Datenverkehr, einem Muster aus kombinierten Signaturen und Anomalien innerhalb des zusammengesetzten Angriffsobjekts zu entsprechen, bevor der Datenverkehr als Angriff identifiziert wird. Durch Kombinieren und sogar Festlegen der Reihenfolge, in der Signaturen oder Anomalien übereinstimmen müssen, können Sie die Ereignisse sehr genau bestimmen, die stattfinden müssen, bevor das Gerät Datenverkehr als Angriff identifiziert.

Sie müssen mindestens 2 Elemente (Angriffe) in einem zusammengesetzten Angriff angeben. Sie können bis zu 32 Elemente im zusammengesetzten Angriff angeben. Bei den Mitgliedern kann es sich entweder um Signatur- oder Anomalieangriffe handeln.

Die folgenden Eigenschaften sind spezifisch für zusammengesetzte Angriffe:

Umfang

Mit dem Bereich können Sie angeben, ob der Angriff innerhalb einer Sitzung oder über Transaktionen in einer Sitzung hinweg abgeglichen wird. Wenn der angegebene Dienst mehrere Transaktionen innerhalb einer einzelnen Sitzung unterstützt, können Sie auch angeben, ob die Übereinstimmung über eine einzelne Sitzung erfolgen soll oder ob sie über mehrere Transaktionen innerhalb einer Sitzung erfolgen kann:

  • Geben Sie an, ob mehrere Übereinstimmungen session für das Objekt innerhalb derselben Sitzung zulässig sein sollen.

  • Geben Sie an transaction , ob das Objekt für mehrere Transaktionen abgeglichen werden soll, die innerhalb derselben Sitzung stattfinden.

Bestellung

Verwenden Sie die geordnete Übereinstimmung, um ein zusammengesetztes Angriffsobjekt zu erstellen, das mit jeder Membersignatur oder Protokollanomalie in der von Ihnen angegebenen Reihenfolge übereinstimmen muss. Wenn Sie keine geordnete Übereinstimmung angeben, muss das zusammengesetzte Angriffsobjekt dennoch mit allen Mitgliedern übereinstimmen, aber das Angriffsmuster oder die Protokollanomalien können im Angriff in zufälliger Reihenfolge angezeigt werden.

Zurücksetzen

Gibt an, dass jedes Mal, wenn ein Angriff innerhalb derselben Sitzung erkannt wird, ein neues Protokoll generiert wird. Wenn dieses Feld auf festgelegt ist, no wird der Angriff nur einmal für eine Sitzung protokolliert.

Ausdruck (Boolescher Ausdruck)

Wenn Sie das Feld "Boolescher Ausdruck" verwenden, wird die Funktion "Geordnete Übereinstimmung" deaktiviert. Das Feld "Boolescher Ausdruck" verwendet die Eigenschaften "Elementname" oder "Elementindex". Die folgenden drei booleschen Operatoren werden zusammen mit Klammern unterstützt, die bei der Bestimmung der Rangfolge helfen:

  • or– Wenn eines der Elementnamensmuster übereinstimmt, stimmt der Ausdruck überein.

  • and– Wenn beide Membernamensmuster übereinstimmen, stimmt der Ausdruck überein. Dabei spielt es keine Rolle, in welcher Reihenfolge die Mitglieder erscheinen.

  • oand (ordered and)– Wenn beide Membernamensmuster übereinstimmen und in der Reihenfolge angezeigt werden, die im booleschen Ausdruck angegeben ist, stimmt der Ausdruck überein.

Angenommen, Sie haben fünf Signaturelemente mit der Bezeichnung s1-s5. Angenommen, Sie wissen, dass der Angriff immer das Muster s1enthält, gefolgt von entweder s2 oder . s3 Sie wissen auch, dass der Angriff immer und enthält s4 s5, aber ihre Positionen im Angriff können variieren. In diesem Fall können Sie den folgenden booleschen Ausdruck erstellen:

Anmerkung:

Sie können entweder eine geordnete Übereinstimmung oder einen Ausdruck (nicht beides) in einer benutzerdefinierten Angriffsdefinition definieren.

Mitgliederverzeichnis

Der Mitgliederindex wird in Kettenangriffen angegeben, um ein Mitglied (Angriff) eindeutig zu identifizieren. Im folgenden Beispiel wird der Elementindex verwendet, um die Elemente m01 zu identifizieren, und m02 im definierten Ausdruck:

Anmerkung:

Beim Definieren des Ausdrucks müssen Sie den Elementindex für alle Member angeben.

Beispiel für eine Definition eines zusammengesetzten Angriffs

Im Folgenden finden Sie ein Beispiel für die Definition eines zusammengesetzten Angriffs:

Erstellen eines zusammengesetzten Angriffsobjekts

Verwenden Sie zusammengesetzte Angriffsobjekte in Fällen, wenn:

  • Bei Angriffen werden mehrere Methoden verwendet, um eine Schwachstelle auszunutzen, und bei isolierter Betrachtung erscheinen die einzelnen Kontexte harmlos.

  • Durch den Abgleich mehrerer Kontexte werden die Zahl der Fehlalarme reduziert.

  • Durch die Kopplung einer Signatur mit einer Protokollanomalie werden die Falschmeldungen (False Positives) reduziert.

Sie wählen Signaturangriffsobjekte oder vordefinierte Anomalien als "Elemente" des zusammengesetzten Objekts aus und verwenden boolesche Ausdrücke, um die Abgleichslogik anzugeben.

So konfigurieren Sie ein zusammengesetztes Angriffsobjekt:

  1. Konfigurieren Sie allgemeine Eigenschaften von Angriffsobjekten und Referenzinformationen, wie für Signaturangriffsobjekte beschrieben.

    Wählen Sie auf der Seite "Zielplattform und -typ" eine Zielplattform aus, wählen Sie "Zusammengesetzter Angriff" aus, und klicken Sie auf "Weiter".

  2. Konfigurieren Sie auf der Seite Benutzerdefinierter Angriff – Allgemeine Eigenschaften die in Tabelle 17 beschriebenen Einstellungen.
    Tabelle 17: Benutzerdefinierter Angriff – Allgemeine Eigenschaften

    Eigentum

    Beschreibung

    Zeitbindung

    Es gelten die gleichen Richtlinien wie für Signaturangriffsobjekte.

    Klicken Sie auf Weiter.

  3. Geben Sie auf der Seite Verbundelemente zusammengesetzte Angriffsparameter an, und fügen Sie Elemente hinzu. Tabelle 18 enthält Richtlinien zum Vornehmen der Einstellungen.
    Tabelle 18: Parameter zusammengesetzter Angriffe

    Einstellung

    Beschreibung

    Umfang

    Geben Sie an, ob der Angriff innerhalb einer Sitzung oder transaktionsübergreifend in einer Sitzung abgeglichen wird. Wählen Sie eine der folgenden Optionen aus:

    • Sitzung: Lässt mehrere Übereinstimmungen für das Objekt innerhalb derselben Sitzung zu.

    • Transaktion: Stimmt das Objekt über mehrere Transaktionen hinweg ab, die innerhalb derselben Sitzung stattfinden.

    Zurücksetzen

    Aktivieren Sie diese Option, um jedes Mal, wenn ein Angriff innerhalb derselben Sitzung erkannt wird, ein neues Protokoll zu erstellen. Wenn diese Option nicht ausgewählt ist, wird der Angriff nur einmal pro Sitzung protokolliert.

    Boolescher Ausdruck

    Geben Sie einen booleschen Ausdruck von Angriffselementen ein, der verwendet wird, um die Art und Weise zu identifizieren, wie Angriffselemente abgeglichen werden sollen. Geben Sie einen booleschen Ausdruck mit den folgenden booleschen Operatoren ein:

    • ODER: Wenn eines der Elementnamensmuster übereinstimmt, stimmt der Ausdruck überein.

    • UND: Wenn beide Membernamensmuster übereinstimmen, stimmt der Ausdruck überein. Dabei spielt es keine Rolle, in welcher Reihenfolge die Mitglieder erscheinen.

    • OAND: Wenn beide Membernamensmuster übereinstimmen und in der gleichen Reihenfolge wie im booleschen Ausdruck angezeigt werden, stimmt der Ausdruck überein.

    Beispielsweise würde der boolesche Ausdruck (s1 OAND s2) OR (s1 OAND s3)) AND (s4 AND s5) einem Angriff entsprechen, der s1 gefolgt von s2 oder s3 enthält und der auch s4 und s5 an einer beliebigen Stelle enthält.

    Mitglied hinzufügen

    Klicken Sie auf das +-Symbol, wählen Sie Signatur oder Protokollanomalie aus und geben Sie die Konfigurationsdetails ein.

    Geben Sie für Signaturmember die gleichen Kontextinformationen an wie für ein Signaturangriffsobjekt.

    Wählen Sie für Mitglieder von Protokollanomalien aus einer Liste vordefinierter Protokollanomalien aus.

    Beste Praxis:

    Beispiele für die Namenskonvention für Member sind: m01, m02, m03 usw. Es wird empfohlen, dieselbe Namenskonvention zu verwenden.

    Bestellung

    Aktivieren Sie diese Option, um ein zusammengesetztes Angriffsobjekt zu erstellen, das mit jeder Membersignatur oder Protokollanomalie in der von Ihnen angegebenen Reihenfolge übereinstimmen muss. Wenn Sie keine Reihenfolge angeben, muss das zusammengesetzte Angriffsobjekt weiterhin mit allen Membern übereinstimmen, die Muster- oder Protokollanomalien können jedoch in beliebiger Reihenfolge im Angriff auftreten.

    Ein zusammengesetztes Angriffsobjekt erkennt Angriffe, die mehrere Methoden verwenden, um eine Sicherheitslücke auszunutzen.

    Protokollbindung

    Protokollbindung, über die ein Angriff erkannt wird.

  4. Klicken Sie auf Fertig stellen.

Ändern von benutzerdefinierten Angriffsobjekten aufgrund von Änderungen, die in der Signaturaktualisierung eingeführt wurden

In diesem Thema werden Änderungen an einigen Dienstkontexten beschrieben, die vom HTTP-Protokolldecoder generiert werden. Ab Signatur-Update #1972 generiert der HTTP-Protokoll-Decoder einige Kontexte nicht mehr. Wenn Ihre IDP-Sicherheitsrichtlinie benutzerdefinierte Signaturen enthält, die die entfernten Kontexte verwenden, müssen Sie die Definitionen der Angriffsobjekte wie unten beschrieben ändern, um Fehler bei der Richtlinienerstellung zu vermeiden. Dieses Thema enthält die folgenden Informationen:

Referenz: Entfernte Kontexte

Um die Leistung zu verbessern, generiert der HTTP-Protokolldecoder nicht mehr die Kontexte, die in der ersten Spalte von Tabelle 19 aufgeführt sind. In dieser Tabelle finden Sie Richtlinien zum Ersetzen der Kontexte in benutzerdefinierten Angriffsobjekten.

Tabelle 19: HTTP-Dienstkontexte

Entfernt

Ersetzen durch

Richtlinie

http-text-html-body

http-text-html

Ändern Sie Signaturen, die den Kontext http-text-html-body verwenden, in http-text-html. Sie müssen keine Änderungen am Signaturmuster oder anderen Eigenschaften vornehmen.

  • http-get-url-parsed-param

  • http-post-url-parsed-param

  • http-head-url-parsed-param

  • http-get-url-parsed-param-parsed

  • http-post-url-parsed-param-parsed

  • http-head-url-parsed-param-parsed

Verwenden Sie eine Kombination der folgenden Kontexte:

  • http-request-method

  • http-url-parsed

  • http-variable-parsed

Verwenden Sie eine zusammengesetzte Signatur mit einem booleschen UND, um das Signaturmuster in mehrere Teile zu unterteilen. Stellen Sie sicher, dass das Feld "Bereich" auf "Transaktion" festgelegt ist.

Die Verwendung des http-request-method-Kontexts ist optional. Sie verwenden den http-request-method-Kontext, um die Erkennung an http GET-, POST- oder HEAD-Transaktionen zu binden. Für die GET-Methode verwenden wir das Muster \[GET\] (GET ohne Berücksichtigung der Groß-/Kleinschreibung). Verwenden Sie http-request-method nur, wenn die Ergebnisse, die Sie zuvor beim Abgleich mit der Anforderungsmethode protokolliert haben, es wert sind, beibehalten zu werden. Wenn nicht, lassen Sie es weg, um die Leistung zu verbessern. Wenn Sie http-request-method verwenden, ordnen Sie sie zuerst in der zusammengesetzten Kette an.

Verwenden Sie den geparsten http-url-Kontext, um eine in der URL identifizierbare Angriffssignatur abzugleichen. Verwenden Sie diesen Kontext, um ein Muster in der URL abzugleichen, das vor Variablenparametern angezeigt wird, d. h. dem Teil der URL vor dem Fragezeichen (?).

Verwenden Sie einen oder mehrere Kontexte, in denen die URL-Variablen mit analysierten Kontexten übereinstimmen – der Teil der URL nach dem Fragezeichen (?), der normalerweise durch kaufmännische Und-Zeichen (&) getrennt ist.

Beispiel: Ersetzen des Kontexts für Muster, die in HTML-Text erscheinen

Jeder Kontext, der von der HTTP-Detektor-Engine generiert wird, ist mit Leistungseinbußen verbunden. Die Kontexte http-text-html und http-text-html-body dienen dem gleichen Zweck. Durch Verringern der Anzahl von Kontexten wird die Leistung verbessert.

Tabelle 20 zeigt die Eigenschaften einer Signatur vor Update #1972 und der Signatur danach. Dies ist eine einfache Änderung. Sie ändern nur den Kontext. Sie müssen das Muster oder andere Eigenschaften nicht ändern.

Tabelle 20: HTTP-Dienstkontexte: HTML-Text

Vor dem Update

Nach dem Update

Zusammenhang

http-text-html-body

http-text-html

Muster

.*<span></span>.*

.*<span></span>.*

Beispiel: Ersetzen der Kontexte für Muster, die in URLs angezeigt werden

Dieser Abschnitt besteht aus zwei Teilen:

Signaturen, die mit Anforderungsmethoden übereinstimmen

Überlegen Sie beim Ändern von benutzerdefinierten Angriffsobjekten, die zuvor mit den Anforderungsmethoden GET, POST oder HEAD übereinstimmten, ob Übereinstimmungen mit diesen Anforderungsmethodenmustern für Sie effektiv waren. Denken Sie daran, dass jeder generierte Kontext Leistungseinbußen verursacht. Wenn die Anforderungsmethode für Ihre Ergebnisse nicht wesentlich ist, nutzen Sie diese Gelegenheit, um Ihre Signatur ohne sie neu zu formulieren.

Tabelle 21 und Tabelle 22 zeigen die Eigenschaften einer Signatur vor Update #1972 und die zusammengesetzte Signatur danach. In diesem Beispiel wird das Interesse an der Anforderungsmethode beibehalten.

Tabelle 21: HTTP-Servicekontexte: Anforderungsmethoden vor der Aktualisierung

Signatur vor der Aktualisierung

Umfang

Zusammenhang

http-get-url-parsed-param

Muster

\[/viper/vegaspalms/\].*

Tabelle 22: HTTP-Servicekontexte: Anforderungsmethoden nach der Aktualisierung

Zusammengesetzte Signatur nach dem Update

M01

M02-KARTON

Umfang

Transaktion

 

Zusammenhang

http-request-method

http-url-parsed

Muster

\[GET\]

\[/viper/vegaspalms/\].*

Signaturen, die mit URL-Zeichenfolgen und URL-Variablen übereinstimmen

Im Allgemeinen kann sich die Aufteilung eines einzelnen Musters in mehrere Kontexte positiv oder negativ auf die Leistung auswirken. Sie müssen Ihre Änderungen testen, um die Auswirkungen auf die Leistung zu verstehen, bevor Sie die Angriffsobjekte in einem Produktionsnetzwerk bereitstellen. Im Beispiel in Tabelle 23 und Tabelle 24 wird der URL-Abgleich in mehrere Kontexte unterteilt. Unser Sicherheitsteam hat die Leistung für die hier beschriebenen Empfehlungen getestet.

Tabelle 23: HTTP-Dienstkontexte: URL-Zeichenfolgen und -Variablen vor dem Update

Signatur vor der Aktualisierung

Umfang

Zusammenhang

http-get-url-param-parsed-param

Muster

\[/cvs/index[0-9]?\.php\?option=com_content&do_pdf=1&id=1\]

Tabelle 24: HTTP-Dienstkontexte: URL-Zeichenfolgen und -Variablen nach dem Update

Zusammengesetzte Signatur nach dem Update

 

M01

M02-KARTON

M03-KARTON

M04-KARTON

Umfang

Transaktion

     

Zusammenhang

http-url-parsed

http-variable-parsed

http-variable-parsed

http-variable-parsed

Muster

\[/cvs/index[0-9]?\.php\]

\[option=com_content\]

\[do_pdf=1\]

\[id=1\]

Beispiel: Konfigurieren von Compound- oder Chain-Angriffen

In diesem Beispiel wird gezeigt, wie zusammengesetzte Angriffe oder Kettenangriffe für bestimmte Übereinstimmungskriterien konfiguriert werden. Ein zusammengesetztes oder Kettenangriffsobjekt kann so konfiguriert werden, dass es Angriffe erkennt, die mehrere Methoden verwenden, um eine Sicherheitsanfälligkeit auszunutzen.

Anforderungen

Bevor Sie beginnen, muss IDP auf dem Gerät unterstützt und aktiviert werden.

Überblick

Ein zusammengesetztes oder Kettenangriffsobjekt kann die Signaturen und Anomalien zu einem einzigen Angriffsobjekt kombinieren. Ein einzelnes Angriffsobjekt kann enthalten:

  • Zwei oder mehr Signaturen

  • Zwei oder mehr Anomalien

  • Eine Kombination aus Signaturen und Anomalien

Zusammengesetzte oder Kettenangriffsobjekte kombinieren mehrere Signaturen und/oder Protokollanomalien zu einem einzigen Angriffsobjekt und zwingen den Datenverkehr, einem Muster von kombinierten Signaturen und Anomalien innerhalb des zusammengesetzten Angriffsobjekts zu entsprechen, bevor der Datenverkehr als Angriff identifiziert wird. Diese Objekte werden auch verwendet, um Fehlalarme zu reduzieren und die Erkennungsgenauigkeit zu erhöhen. Sie ermöglicht es Ihnen, die Ereignisse genau zu bestimmen, die eintreten müssen, bevor IDP Datenverkehr als Angriff identifiziert.

Konfiguration

Verfahren

CLI Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die erforderlich sind, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie dann die Befehle, fügen Sie sie auf der Hierarchieebene in die CLI ein, und geben Sie sie dann aus dem [edit] Konfigurationsmodus ein commit .

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

So konfigurieren Sie zusammengesetzte Angriffe oder Kettenangriffe für bestimmte Übereinstimmungskriterien:

  1. Erstellen Sie eine IDP-Richtlinie.

  2. Ordnen Sie der Richtlinie eine Regelbasis zu.

  3. Fügen Sie der Regelbasis Regeln hinzu.

  4. Definieren Sie die Übereinstimmungskriterien für die Regel.

  5. Geben Sie einen Anwendungssatznamen an, der den Regelkriterien entspricht.

  6. Geben Sie das Angriffsobjekt und den Namen für das Angriffsobjekt an.

  7. Geben Sie eine Aktion für die Regel an.

  8. Geben Sie Benachrichtigungs- oder Protokollierungsoptionen für die Regel an.

  9. Aktivieren Sie die IDP-Richtlinie.

  10. Geben Sie einen Namen für den benutzerdefinierten Angriff an.

  11. Legen Sie den Schweregrad für den benutzerdefinierten Angriff fest.

  12. Legen Sie den Angriffstyp und den Anwendungsnamen für den benutzerdefinierten Angriff fest.

  13. Legen Sie den Umfang und die Reihenfolge fest, in der der Angriff definiert wird.

  14. Geben Sie einen Namen für das erste Element des Kettenangriffsobjekts an.

  15. Legen Sie den Kontext, das Muster und die Richtung für das erste Element des Kettenangriffsobjekts fest.

  16. Geben Sie einen Namen für das zweite Element des Kettenangriffsobjekts an.

  17. Legen Sie den Kontext, das Muster und die Richtung für das zweite Element des Kettenangriffsobjekts fest.

  18. Geben Sie einen Namen für das dritte Element des Kettenangriffsobjekts an.

  19. Geben Sie einen Angriffstyp und eine Richtung für das dritte Element des Kettenangriffsobjekts an.

  20. Geben Sie die Ablaufverfolgungsoptionen und Ablaufverfolgungsdateiinformationen für die IDP-Dienste an.

  21. Geben Sie die Ereignisse und andere Informationen an, die in die Ablaufverfolgungsausgabe aufgenommen werden müssen.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security idp Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit Sie aus dem Konfigurationsmodus.

Anmerkung:

Wenn Sie in den Konfigurationsmodus wechseln commit , wird die Konfiguration intern überprüft und dann bestätigt. Wenn Fehler auftreten, schlägt der Commit fehl und die Fehler werden gemeldet.

Verifizierung

Führen Sie diese Aufgabe aus, um zu bestätigen, dass die Konfiguration des Kettenangriffs ordnungsgemäß funktioniert:

Überprüfen der Konfiguration

Zweck

Vergewissern Sie sich, dass die Konfiguration des Kettenangriffs korrekt ist.

Aktion

Geben Sie im Betriebsmodus den show security idp policy-commit-status Befehl ein, um den Kompilierungs- oder Ladestatus der Richtlinie zu überprüfen.

Anmerkung:

Die Ausgabe des show security idp policy-commit-status Befehls ist dynamisch, daher gibt es keine einzelne Ausgabe für diesen Befehl.

Vergewissern Sie sich, dass die Angriffe gemäß der Konfiguration erkannt werden, und leiten Sie den Datenverkehr durch das Gerät, um eine Angriffsübereinstimmung auszulösen. Geben Sie z. B. den show security idp status Befehl ein, um zu überprüfen, ob die Richtlinie geladen ist oder nicht.

user@host> show security idp status

Geben Sie den show security idp attack table Befehl ein, um den Angriffsdatenverkehr weiterzuleiten, und überprüfen Sie dann, ob die Angriffe erkannt werden oder nicht.

Anmerkung:

Der Befehl zeigt die Ausgabe nur an, wenn Angriffe erkannt werden.

user@host> show security idp attack table

Beispiel: Konfigurieren von Angriffsgruppen mit dynamischen Angriffsgruppen und benutzerdefinierten Angriffsgruppen

In diesem Beispiel wird gezeigt, wie Angriffsgruppen mit dynamischen Angriffsgruppen und benutzerdefinierten Angriffsgruppen in einer IDP-Richtlinie konfiguriert werden, um einen FTP- oder Telnet-Server zu schützen.

Anforderungen

Bevor Sie beginnen, installieren Sie das Sicherheitspaket nur dann auf dem Gerät, wenn eine der folgenden Aussagen zutrifft:

  • Dynamische Angriffsgruppen werden konfiguriert.

  • Benutzerdefinierte Angriffsgruppen enthalten vordefinierte Angriffe oder Angriffsgruppen.

Anmerkung:

Wenn benutzerdefinierte Angriffsgruppen nur benutzerdefinierte Angriffe enthalten, ist die Lizenz für das Sicherheitspaket nicht erforderlich, und das Sicherheitspaket muss nicht auf dem Gerät installiert werden. Um das Sicherheitspaket zu installieren, benötigen Sie eine IDP-Sicherheitspaketlizenz.

Überblick

IDP enthält eine große Anzahl vordefinierter Angriffsobjekte. Um IDP-Richtlinien zu verwalten und zu organisieren, können Angriffsobjekte gruppiert werden. Eine Angriffsobjektgruppe kann zwei oder mehr Arten von Angriffsobjekten enthalten. Die Angriffsgruppen werden wie folgt klassifiziert:

  • Dynamische Angriffsgruppe: Enthält Angriffsobjekte, die auf bestimmten Übereinstimmungskriterien basieren. Während einer Signaturaktualisierung wird die dynamische Gruppenmitgliedschaft automatisch basierend auf den Übereinstimmungskriterien für diese Gruppe aktualisiert. Beispielsweise können Sie die Angriffe, die sich auf eine bestimmte Anwendung beziehen, mithilfe der dynamischen Angriffsgruppenfilter dynamisch gruppieren.

  • Benutzerdefinierte Angriffsgruppe: Enthält eine Liste der Angriffe, die in der Angriffsdefinition angegeben sind. Eine benutzerdefinierte Angriffsgruppe kann auch bestimmte vordefinierte Angriffe, benutzerdefinierte Angriffe, vordefinierte Angriffsgruppen oder dynamische Angriffsgruppen enthalten. Eine benutzerdefinierte Angriffsgruppe ist statisch, da die Angriffe in der Gruppe angegeben werden. Daher ändert sich die Angriffsgruppe nicht, wenn die Sicherheitsdatenbank aktualisiert wird. Bei den Mitgliedern kann es sich um vordefinierte Angriffe oder vordefinierte Angriffsgruppen aus der Signaturdatenbank oder um andere benutzerdefinierte Angriffe und dynamische Angriffsgruppen handeln.

In diesem Beispiel konfigurieren wir eine Angriffsgruppe in einer IDP-Richtlinie, um einen FTP- oder Telnet-Server vor benutzerdefinierten und dynamischen Angriffen zu schützen.

Konfiguration

Verfahren

CLI Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die erforderlich sind, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie dann die Befehle, fügen Sie sie auf der Hierarchieebene in die CLI ein, und geben Sie sie dann aus dem [edit] Konfigurationsmodus ein commit .

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

So konfigurieren Sie Angriffsgruppen mit dynamischen Angriffsgruppen und benutzerdefinierten Angriffsgruppen:

  1. Erstellen Sie eine IDP-Richtlinie.

  2. Ordnen Sie der Richtlinie eine Regelbasis zu.

  3. Fügen Sie der Regelbasis Regeln hinzu.

  4. Definieren Sie die Übereinstimmungskriterien für die Regel.

  5. Geben Sie einen Anwendungssatznamen an, der den Regelkriterien entspricht.

  6. Geben Sie eine Übereinstimmung für die benutzerdefinierte Angriffsgruppe an.

  7. Geben Sie eine Übereinstimmung für die dynamische Angriffsgruppe an.

  8. Geben Sie eine Aktion für die Regel an.

  9. Geben Sie Benachrichtigungs- oder Protokollierungsoptionen für die Regel an.

  10. Aktivieren Sie die IDP-Richtlinie.

  11. Geben Sie einen Namen für den benutzerdefinierten Angriff an.

  12. Legen Sie den Schweregrad für den benutzerdefinierten Angriff fest.

  13. Legen Sie den Angriffstyp und den Kontext für den Angriff fest.

  14. Geben Sie ein Muster für den Angriff an.

  15. Geben Sie eine Richtung für den Angriff an.

  16. Geben Sie einen Namen für die benutzerdefinierte Angriffsgruppe an.

  17. Geben Sie eine Liste von Angriffen oder Angriffsgruppen an, die zur benutzerdefinierten Angriffsgruppe gehören.

  18. Geben Sie einen Namen für die erste dynamische Angriffsgruppe an.

  19. Konfigurieren Sie einen Filter, und legen Sie einen Kategoriewert für den Filter fest.

  20. Geben Sie einen Namen für die zweite dynamische Angriffsgruppe an.

  21. Konfigurieren Sie einen Filter für die zweite dynamische Angriffsgruppe, und legen Sie die Richtung und ihre Werte für dieses Feld fest.

  22. Geben Sie die Ablaufverfolgungsoptionen und Ablaufverfolgungsdateiinformationen für die IDP-Dienste an.

  23. Geben Sie die Ereignisse und andere Informationen an, die in die Ablaufverfolgungsausgabe einbezogen werden müssen.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security idp Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit Sie aus dem Konfigurationsmodus.

Anmerkung:

Wenn Sie in den Konfigurationsmodus wechseln commit , wird die Konfiguration intern überprüft und dann bestätigt. Wenn Fehler auftreten, schlägt der Commit fehl und die Fehler werden gemeldet.

Verifizierung

Überprüfen der Konfiguration

Zweck

Überprüfen Sie, ob die Konfiguration korrekt ist.

Aktion

Geben Sie im Betriebsmodus den show security idp policy-commit-status Befehl ein, um den Kompilierungs- oder Ladestatus der Richtlinie zu überprüfen.

Anmerkung:

Die Ausgabe des show security idp policy-commit-status Befehls ist dynamisch, daher gibt es keine einzelne Ausgabe für diesen Befehl.

Vergewissern Sie sich, dass die Angriffe gemäß der Konfiguration erkannt werden, und leiten Sie den Datenverkehr durch das Gerät, wodurch eine Angriffsübereinstimmung ausgelöst wird. Geben Sie z. B. den show security idp status Befehl ein, um zu überprüfen, ob die Richtlinie geladen ist oder nicht.

user@host> show security idp status

Geben Sie den show security idp attack table Befehl ein, um den Angriffsdatenverkehr weiterzuleiten, und überprüfen Sie dann, ob die Angriffe erkannt werden oder nicht.

Anmerkung:

Der Befehl zeigt die Ausgabe nur an, wenn Angriffe erkannt werden.

user@host> show security idp attack table

Benutzerdefinierte DFA-Ausdrücke für Angriffsobjekte

Tabelle 25 enthält Beispiele für die Syntax des Abgleichs mit einem Angriffsmuster.

Tabelle 25: Beispiel: Reguläre Ausdrücke für benutzerdefinierte Angriffsobjekte

Beispielsyntax

Beschreibung

Beispiel-Übereinstimmungen

Hallo.. \B.0.1.. 00\B... Welt

Es gibt zwei Aspekte für das Matching:

Muss mit dem Bitmaskenmuster übereinstimmen: \B.0.0.1.. 00\B

Muss mit der Anzahl der Bytes (gekennzeichnet durch .) vor und nach dem Bitmaskenmuster übereinstimmen.

Streichhölzer:

Hallo.. \B.0.11100\B... WeltHallo.. \B.0.10000\B... Welt

Stimmt nicht überein:

Hallo.\B.0.1.. 00\B.worldHallo.. \B.0.1.. 11\B... Welt

\X01 86 A5 00 00\X

Muster wörtlich mit den fünf angegebenen Bytes.

01 86 A5 00 00

(hallo|welt)

Muster mit Hallo oder Welt, das einmal vorkommt.

Hallo

Welt

(Hallo|Welt)+

Muster mit "Hallo" oder "Welt", das ein- oder mehrmals vorkommt.

HalloWelt

WELTHALLO

HalloHallo

\[Hallo\]

Muster hallo, Groß-/Kleinschreibung wird nicht beachtet.

Hallo

Hallo

Hallo

\uHallo\u

Muster hallo, Unicode unempfindlich.

Hallo

68656C6C6F

Hallo\sworld

Muster hello world, die beiden Wörter durch ein Leerzeichen getrennt.

Hallo Welt

[c-e]a(d|t)

Muster mit dem Anfangsbuchstaben von c, d oder e; der mittlere Buchstabe a; und endet auf d oder t.

Katze

Papa

essen

[^c-d]a(d|t)

Muster, das mit einem anderen Buchstaben als c, d oder e beginnt; den zweiten Buchstaben a haben; und enden mit d oder t.

Modeerscheinung

Zad

a*b+c

Muster mit einer beliebigen Anzahl von Zeichen (einschließlich Null); gefolgt von einem oder mehreren b-Zeichen; gefolgt von einem C-Zeichen.

v. Chr

ABC

aaaaabbbbc

T[Kk]

Muster, das mit einem großen T beginnt, gefolgt von einem k, bei dem die Groß-/Kleinschreibung nicht beachtet wird.

TK

Tk

([tt])k

Muster, das mit einem t beginnt, bei dem die Groß-/Kleinschreibung nicht beachtet wird, gefolgt von einem Kleinbuchstaben k.

Tk

Tk

Meer[In]

Muster, das mit Sea beginnt, gefolgt von einem kleinen l, m oder n.

Siegel

Naht

Sean

([B-D])at

Muster, das mit einem großen B, C oder D beginnt, gefolgt von einem kleinen Buchstaben at.

Fledermaus

Katze

Dat

\0133\[Hallo\]\0135

Muster, das mit einer öffnenden eckigen Klammer beginnt, gefolgt von hello, bei dem die Groß-/Kleinschreibung nicht beachtet wird, und das mit einer schließenden Klammer endet. Dieser Ausdruck verwendet den Ausdruck \0, um anzugeben, dass der folgende Ausdruck ein Oktalcode ist, dann folgt der Oktalcode für die öffnende Klammer (133) oder die schließende Klammer (135).

[Hallo]

[HeLLo]

Beispiel: Verwenden der Musternegation

Sie können die Musternegation verwenden, um ein Muster auszuschließen, von dem bekannt ist, dass es sicher ist und mit allen anderen Mustern übereinstimmt.

Angenommen, Sie entwerfen ein Angriffsobjekt, um den Datenverkehr zu einem FTP-Server zu untersuchen. Sie wissen, dass der Benutzername und die Kennwörter des Kontos gut verwaltet werden, um sicherzustellen, dass nur autorisierte Benutzer auf interne Ressourcen zugreifen können. Wenn jedoch Netzwerke wachsen und neue Komponenten hinzugefügt werden, kann sich die Anzahl der Benutzerkonten vermehren, wodurch der Netzwerkzugriff auf bestimmte Komponenten erhöht wird. In diesem Beispiel haben Sie einen FTP-Server in Ihrem internen Netzwerk, auf dem mehrere Benutzerkonten aktiviert sind. Um die Sicherheit zu verbessern, möchten Sie den Zugriff auf den FTP-Administrator beschränken.

Sie erstellen ein Angriffsobjekt für den FTP-Dienst, den ftp-username-Kontext und das Muster adminund aktivieren das Kontrollkästchen Negieren . Das Ergebnis ist ein Angriffsobjekt, das Anmeldeversuche von anderen Benutzern als admin. Sie können dieses Angriffsobjekt in einer Regel verwenden, die übereinstimmenden Datenverkehr protokolliert oder verwirft.

Beispiel: Übereinstimmende Dateierweiterungen

In diesem Beispiel möchten Sie Microsoft Windows-Metadateien erkennen, die die Erweiterungen .emf (Windows Enhanced Metafiles) und .wmf (Microsoft Windows Metafile) verwenden.

Um einen dieser Dateitypen abzugleichen, verwenden Sie einen einfachen DFA-Ausdruck:

In diesem Ausdruck:

  • Der Punkt in Kombination mit dem Sternchen (.*) gibt an, dass ein oder mehrere Zeichen vorkommen müssen (Platzhalterübereinstimmung).

  • Der umgekehrte Schrägstrich in Kombination mit dem Punktzeichen (\.) gibt an, dass der Punkt mit Escapezeichen versehen ist (der Punkt wird im Muster angezeigt).

  • Die Klammern am Anfang und Ende des Ausdrucks ( ) geben eine Gruppe an. Der senkrechte Strich zwischen dem e und dem w (e|w) gibt eine ODER-Beziehung zwischen den Zeichen an. Für diesen Ausdruck muss e oder w im Muster angezeigt werden, um diesem Ausdruck zu entsprechen. Es muss nur einer anwesend sein.

  • Die öffnende eckige Klammer (\[) gibt den Beginn einer Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung für alle Zeichen an, bis die schließende eckige Klammer (\]) angezeigt wird.

  • Die schließende eckige Klammer (\]) gibt das Ende einer Übereinstimmung an, bei der die Groß-/Kleinschreibung nicht beachtet wird.

Beispiel: Apache Tomcat Denial-of-Service-Angriffe

In diesem Beispiel wird davon ausgegangen, dass Sie über einen Webserver verfügen, auf dem Apache Tomcat ausgeführt wird. Ihr Sicherheitsadministrator benachrichtigt Sie, dass soeben eine Sicherheitslücke für Apache Tomcat angekündigt wurde, und Sie beschließen, ein benutzerdefiniertes Angriffsobjekt zu erstellen, um Ihr Netzwerk zu schützen, bis Sie eine Ausfallzeit zum Patchen des Servers planen können.

Das CVE-Advisory für die Sicherheitsanfälligkeit (http://nvd.nist.gov/nvd.cfm?cvename=CAN-2002-0682) enthält das folgende Zitat:

Anhand dieser Informationen wissen Sie, dass der Angriff HTTP verwendet. Jetzt müssen Sie den Angriffscode finden. Das Advisory enthält auch Verweise, die auf weitere Informationen über den Angriff verweisen. Leider enthält keine der Webseiten, auf die verwiesen wird, Exploit-Code. Nachdem Sie das Internet mit den Informationen aus dem CVE-Advisory durchsucht haben, finden Sie Exploit-Code auf http://packetstormsecurity.nl/0210-exploits/neuter.c. Kopieren Sie das Skript, und verschieben Sie es auf den Computer des Angreifers in der Testumgebung.

So entwickeln Sie dieses Angriffsobjekt:

  1. Reproduzieren Sie den Angriff, um den Kontext, die Richtung und das Muster des Angriffs zu bestimmen. Im Idealfall verwenden scio ccap Sie Wireshark gleichzeitig, sodass Sie den Angriff nur einmal ausführen müssen.
  2. Entdecken Sie die folgenden Elemente der Angriffssignatur:
    • Dienst. Aus dem CVE-Advisory wissen Sie, dass für den Angriff das HTTP-Protokoll verwendet wird. Überprüfen Sie die Paketerfassung, um das Protokoll zu bestätigen.

    • Zusammenhang. Verwenden Sie diese Option scio ccap , um zu bestimmen, ob Sie einen bestimmten Dienstkontext zuordnen können. In diesem Beispiel tritt das Signaturmuster im Dienstkontext HTTP URL Parsed auf.

    • Muster. Aus dem Advisory wissen Sie, dass der Angriff über eine ausgenutzte GET-Methode im HTTP-Protokoll erfolgt. Wählen Sie den Frame aus, der die GET-Methode enthält, um Details für diesen Abschnitt des Pakets anzuzeigen. Sie können das Signaturmuster schnell identifizieren als examples/servlet/AUX.

    • Richtung. Suchen Sie die Quell-IP-Adresse, die die Sitzung initiiert hat. Da bei diesem Angriff TCP verwendet wird, können Sie die Option "TCP-Stream verfolgen" in Wireshark verwenden, um schnell die Quell-IP zu ermitteln, die die Sitzung initiiert hat. Die Angriffsrichtung ist Client-zu-Server.

  3. Erstellen Sie ein Angriffsobjekt, das der Angriffssignatur entspricht. In diesem Beispiel wird der folgende reguläre Ausdruck verwendet, um die Signatur abzugleichen:

    In diesem Ausdruck:

    • Die Punkt-Stern-Kombination (.*) gibt eine Platzhalterübereinstimmung an.

    • Der Abschnitt /examples/servlet/ wird direkt aus der Paketerfassung übernommen.

    • Die Klammern ( ) geben eine Gruppe von Elementen an, und der senkrechte Strich (|) gibt OR an. Diese Zeichen werden oft zusammen verwendet, um anzugeben, dass ein Angriff ein Element aus der Gruppe enthalten muss. In diesem Beispiel muss der Angriff das Wort aux, lpt1, con oder prn nach der Zeichenfolge /examples/servlet/ enthalten.

      Beachten Sie, dass in diesem Beispiel eine Gruppe verwendet wird. Die Paketerfassung zeigt das Signaturmuster als /examples/servlet/AUX an. AUX ist ein Windows-Gerät. Sie haben gute Gründe, sich vor Versuchen zu hüten, LPT1-, CON- und PRN-Geräte auszunutzen.

  4. Testen Sie das Angriffsobjekt.

Auflisten der IDP-Testbedingungen für ein bestimmtes Protokoll

Wenn Sie benutzerdefinierte IDP-Angriffe konfigurieren, können Sie Testbedingungen für ein bestimmtes Protokoll auflisten. So listen Sie die Testbedingungen für ICMP auf:

  1. Listen Sie die unterstützten Testbedingungen für ICMP auf, und wählen Sie die Testbedingungen aus, die Sie konfigurieren möchten. Die unterstützten Testbedingungen sind in der CLI auf der [edit security idp custom-attack test1 attack-type anomaly] Hierarchieebene verfügbar.

  2. Konfigurieren Sie den Dienst, für den Sie die Testbedingung konfigurieren möchten.

  3. Konfigurieren Sie die Testbedingung (die Angabe des Protokollnamens ist nicht erforderlich).

  4. Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit Sie aus dem Konfigurationsmodus.

Grundlegendes zu IDP-Protokolldecodern

Protokolldecoder werden von Intrusion Detection and Prevention (IDP) verwendet, um die Protokollintegrität und Protokollkontextinformationen zu überprüfen, indem nach Anomalien gesucht und sichergestellt wird, dass die RFC-Standards eingehalten werden. Eine Anomalie kann ein beliebiger Teil eines Protokolls sein, z. B. der Header, der Nachrichtentext oder andere einzelne Felder, die von den RFC-Standards für dieses Protokoll abweichen. Wenn z. B. bei SMTP SMTP MAIL TO vor SMTP HELO steht, handelt es sich um eine Anomalie im SMTP-Protokoll.

Wenn Protokollkontextinformationen verfügbar sind, suchen Protokolldecoder nach Angriffen innerhalb dieser Kontexte. Wenn z. B. für SMTP eine E-Mail an user@company.com gesendet wird, sind user@company.com die Kontextinformationen und SMTP MAIL AN der Kontext. Durch die Verwendung von Protokollkontextdaten anstelle des gesamten Pakets für die Angriffserkennung verbessern Protokolldecoder die Gesamtleistung und Genauigkeit.

Wenn eine Richtlinie mit einer Regel konfiguriert ist, die mit der Protokolldecoderprüfung für SMTP übereinstimmt, wird die Regel ausgelöst, und die entsprechende Aktion wird ausgeführt.

Das IDP-Modul wird mit einem vorkonfigurierten Satz von Protokoll-Decodern ausgeliefert. Diese Protokolldecoder verfügen über Standardeinstellungen für verschiedene protokollspezifische kontextbezogene Prüfungen, die sie durchführen. Sie können diese Standardeinstellungen verwenden oder sie an die spezifischen Anforderungen Ihrer Website anpassen. Um die Liste der verfügbaren Protokolldecoder anzuzeigen, geben Sie den folgenden Befehl ein:

Für eine detailliertere Ansicht des aktuellen Satzes von Protokolldecodern und ihrer Standardkontextwerte können Sie diedetector-capabilities.xml Datei anzeigen, die sich im Ordner /ar/db/idpd/sec-download auf dem Gerät befindet. Wenn Sie ein neues Sicherheitspaket herunterladen, erhalten Sie auch diese Datei, die aktuelle Protokolle und Standard-Decoderkontextwerte auflistet.

Beispiel: UNIX CDE/dtlogin-Schwachstelle

In diesem Beispiel umfasst Ihr Netzwerk mehrere Benutzerarbeitsstationen und Server, auf denen UNIX ausgeführt wird. Viele UNIX-Betriebssysteme verwenden die Common Desktop Environment (CDE) als grafische Benutzeroberfläche. Ihr Sicherheitsadministrator benachrichtigt Sie über eine neue Schwachstelle im dtlogin-Prozess für CDE (der dtlogin-Prozess verarbeitet einen GUI-Anmeldeprozess für CDE).

Das CERT-Advisory für die Sicherheitsanfälligkeit (http://www.kb.cert.org/vuls/id/179804) enthält die folgenden Informationen:

Aus diesen Informationen wissen Sie, dass der Angriff ein XDMCP-Protokollpaket verwendet und auf UDP/177 ausgeführt wird. Jetzt müssen Sie den Angriffscode finden. Das Advisory enthält auch Verweise, die auf weitere Informationen über den Angriff verweisen. Eine Referenz, http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html, weist darauf hin, dass die Person, die den Angriff zuerst gemeldet hat, auch ein Skript geschrieben hat, das den Angriff repliziert. Rufen Sie das Skript ab, und verschieben Sie es auf den Computer des Angreifers in der Testumgebung.

So entwickeln Sie dieses Angriffsobjekt:

  1. Reproduzieren Sie den Angriff, um den Kontext, die Richtung und das Muster des Angriffs zu bestimmen. Im Idealfall verwenden scio ccap Sie Wireshark gleichzeitig, sodass Sie den Angriff nur einmal ausführen müssen.
  2. Entdecken Sie die Elemente der Angriffssignatur:
    • Dienst. Aus dem CERT-Advisory wissen Sie, dass für den Angriff das XDMCP-Protokoll verwendet wird. Überprüfen Sie die Paketerfassung in Wireshark, um das Protokoll zu bestätigen.

    • Zusammenhang. Verwenden Sie diese Option scio ccap , um zu bestimmen, ob Sie einen bestimmten Dienstkontext zuordnen können. In diesem Beispiel werden die XMCP-Dienstkontexte vom IDP-System nicht unterstützt, und die Ausgabe von scio ccap ist leer. Sie müssen den Paketkontext für den Angriff angeben.

    • Muster. Wenn Sie das XDMCP-Protokoll kennen, stellen Sie fest, dass der Angriff ein Nicht-NUL-Zeichen (Hexadezimalcode 00 1b) verwendet, um den Verbindungstyp anzugeben, der ungültig ist (das NUL-Zeichen steht für den Internetverbindungstyp in XDMCP). Um das Nicht-NUL-Zeichen in einem Signaturmuster zu verankern, schließen Sie einige der vorhergehenden Bytes als Teil des Musters ein. In diesem Beispiel verankern Sie das Nicht-NUL-Zeichen mit der Versionsnummer (Hexadezimalcode 00 01) und dem Anforderungsoptionscode (Hexadezimalcode 00 07). Das vollständige Angriffsmuster ist 00 01 00 07, gefolgt von fünf Zeichen eines beliebigen Typs, gefolgt von einem sechsten Zeichen und entweder einem Nicht-NUL-Zeichen (wie oben mit 00 1b gezeigt) oder einem Nicht-NUL-Zeichen und einem anderen Zeichen.

    • Richtung. Suchen Sie die Quell-IP-Adresse, die die Sitzung initiiert hat. In diesem Beispiel können Sie die Angriffsrichtung nicht bestimmen.

  3. Erstellen Sie ein Angriffsobjekt, das der Angriffssignatur entspricht. Verwenden Sie den folgenden regulären Ausdruck, um die Signatur abzugleichen:

    In diesem Ausdruck:

    • Der Ausdruck \x gibt einen Hexadezimalwert an.

    • Die Zahlen 00 01 00 07 im XDMP-Protokoll stellen die Versionsnummer (Hexadezimalcode 00 01) und den Request-Optionscode (Hexadezimalcode 00 07) dar.

    • Die fünf Punkte (.....) bezeichnen fünf Zeichen beliebiger Art.

    • Die Klammern ( ) geben eine Gruppe von Elementen an, und der senkrechte Strich (|) gibt OR an. Diese Zeichen werden oft zusammen verwendet, um anzugeben, dass ein Angriff ein Element aus der Gruppe enthalten muss.

    • Die öffnenden und schließenden Klammern in Kombination mit einer Einfügemarke [^ geben die Negation an.

    • Der umgekehrte Schrägstrich in Kombination mit einer Null (\0) gibt eine Oktalcodenummer an.

    • Die Zeichen 00 sind Hexadezimalcode für ein NUL-Zeichen. In diesem Beispiel muss der Angriff ein Nicht-NUL-Zeichen enthalten, dem entweder ein anderes Zeichen vorangestellt ist oder gefolgt ist ([^\000] oder [^\000]).

    • Die Punkt-Stern-Kombination (.*) gibt eine Platzhalterübereinstimmung an. Wenn der Platzhalter am Ende eines Ausdrucks verwendet wird, gibt er an, dass auf den angegebenen Ausdruck alles folgen kann.

  4. Testen Sie das Angriffsobjekt.

Beispiel: Einen Wurm erkennen

Würmer und Trojaner umgehen häufig Firewalls und andere herkömmliche Sicherheitsmaßnahmen, um in ein Netzwerk einzudringen. In diesem Beispiel erstellen Sie ein benutzerdefiniertes Angriffsobjekt, um den Blaster-Wurm in Ihrem Netzwerk zu erkennen.

Das CERT-Advisory (http://www.cert.org/advisories/CA-2003-20.html) für den Blaster-Wurm enthält die folgenden Informationen:

Anhand dieser Informationen wissen Sie, dass der Angriff DCOM-Exploits nutzt, eine zuvor identifizierte Sicherheitslücke. Jetzt müssen Sie den Angriffscode finden. Das Advisory enthält auch Verweise, die auf weitere Informationen über den Angriff verweisen. Leider enthält keine der Webseiten, auf die verwiesen wird, Exploit-Code. Nachdem Sie das Internet mit den Informationen aus dem CERT-Advisory durchsucht haben, finden Sie Exploit-Code auf PacketStorm (http://packetstormsecurity.com/0307-exploits/dcom.c).

So entwickeln Sie dieses Angriffsobjekt:

  1. Reproduzieren Sie den Angriff, um den Kontext, die Richtung und das Muster des Angriffs zu bestimmen. Im Idealfall verwenden scio ccap Sie Wireshark gleichzeitig, sodass Sie den Angriff nur einmal ausführen müssen.
  2. Entdecken Sie die Elemente der Angriffssignatur:
    • Dienst. Aus dem CERT-Advisory wissen Sie, dass für den Angriff ICMP verwendet wird, für das das IDP-Betriebssystem keine Servicekontexte unterstützt. Überprüfen Sie die Paketerfassung, um zu bestätigen, dass das Protokoll ICMP ist.

    • Zusammenhang. Verwenden Sie diese Option scio ccap , um zu bestimmen, ob wir einen bestimmten Dienstkontext abgleichen können. In diesem Beispiel werden die ICMP-Dienstkontexte vom IDP-System nicht unterstützt, und die Ausgabe von scio ccap ist leer. Sie müssen den ersten Paketkontext für den Angriff angeben.

    • Muster. Wählen Sie den ersten Frame aus, der in Wireshark aufgeführt ist, und überprüfen Sie die Informationen im zweiten Abschnitt. Da Sie wissen, dass ICMP-Pakete keine Daten enthalten sollten, untersuchen Sie die 64-Byte-Datennutzlast. Sie können leicht erkennen, dass die unregelmäßige Nutzlast aus mehreren "AA"-Zeichen besteht, bei denen es sich wahrscheinlich um Code handelt, der versucht, einen Puffer überlaufen zu lassen. Da dieses Muster im Kontext eines ICMP-Pakets ungewöhnlich ist, wählen Sie es als Ihre Signatur aus.

    • Richtung. Suchen Sie die Quell-IP-Adresse, die die Sitzung initiiert hat. In diesem Beispiel können Sie die Angriffsrichtung nicht bestimmen.

  3. Erstellen Sie ein Angriffsobjekt, das der Angriffssignatur entspricht. In diesem Beispiel verwenden wir den folgenden regulären Ausdruck, um die Signatur abzugleichen:

    In diesem Ausdruck:

    • Der Ausdruck \X gibt an, dass ein Hexadezimalwert folgen soll.

    • Die Punkt-Stern-Kombination (.*) gibt eine Platzhalterübereinstimmung an. Wenn der Platzhalter am Ende eines Ausdrucks verwendet wird, gibt er an, dass auf den angegebenen Ausdruck alles folgen kann.

  4. Testen Sie das Angriffsobjekt.

Beispiel: Zusammengesetzte Signatur zum Erkennen der Ausnutzung einer HTTP-Schwachstelle

Einige Angriffe sind so gestaltet, dass sie harmlos erscheinen, wenn sie auf Paketebene betrachtet werden. Für diese Angriffe können Sie eine zusammengesetzte Signatur erstellen, die mehrere Signaturmuster in mehreren Kontexten (Dienst, Nichtdienst oder beides) erkennt.

In diesem Beispiel verfügen Sie über einen Webserver, der Microsoft FrontPage Server-Erweiterungen verwendet. Ihr Sicherheitsadministrator benachrichtigt Sie über eine neue Sicherheitsanfälligkeit aufgrund eines Pufferüberlaufs in den FrontPage-Servererweiterungen.

Das BugTraq-Advisory für die Sicherheitsanfälligkeit (http://www.securityfocus.com/bid/9007/discussion/) enthält die folgenden Informationen:

Das folgende Proof-of-Concept-Beispiel wird ebenfalls bereitgestellt:

Zusätzlich ist ein Link zum kompilierten Exploit enthalten.

Aus diesen Informationen wissen Sie, dass der Angriff das HTTP-Protokoll und zumindest einen Teil des Angriffs die POST-Methode verwendet. Verwenden Sie den Link zum kompilierten Exploit, um das Skript abzurufen, und verschieben Sie es auf den Computer des Angreifers in Ihrer Testumgebung.

So entwickeln Sie dieses Angriffsobjekt:

  1. Reproduzieren Sie den Angriff, um den Kontext, die Richtung und das Muster des Angriffs zu bestimmen. Idealerweise verwenden Sie scio ccap Wireshark gleichzeitig, damit Sie den Angriff nur einmal ausführen müssen.
  2. Entdecken Sie die Elemente der Angriffssignatur:
    • Dienst. Aus dem BugTraq-Advisory wissen Sie, dass für den Angriff das HTTP-Protokoll verwendet wird. Überprüfen Sie die Paketerfassung, und suchen Sie die Verwendung des HTTP-Protokolls.

    • Zusammenhang. Verwenden Sie diese Option scio ccap , um zu bestimmen, ob Sie einen bestimmten Dienstkontext zuordnen können. In diesem Beispiel ist der Dienstkontext HTTP URL Parsed.

    • Muster. Sie erkennen schnell das Signaturmuster POST /_vti_bin/_vti_aut/fp30reg.dll innerhalb des HTTP-Dienstes.

      Da dieses Muster jedoch Fehlalarme auslösen kann, legen Sie auch ein zweites Signaturmuster fest, um sicherzustellen, dass Ihre Regel nur den Angriff erkennt. In diesem Fall ist die zweite Signatur (im BugTraq-Advisory vermerkt) .Transfer-Encoding: chunked

    • Richtung. Suchen Sie die Quell-IP-Adresse, die die Sitzung initiiert hat. In diesem Beispiel ist die Angriffsrichtung für beide Signaturmuster Client-zu-Server.

  3. Erstellen Sie ein Angriffsobjekt, das der Angriffssignatur entspricht. Verwenden Sie den folgenden regulären Ausdruck, um die erste Signatur abzugleichen:

    In diesem Ausdruck:

    • Die öffnende eckige Klammer (\[) gibt den Beginn einer Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung für alle Zeichen an, bis die schließende Klammer angezeigt wird.

    • Das Muster /_vti_bin/_vti_aut/fp30reg ist eine direkte Zeichenübereinstimmung.

    • Der umgekehrte Schrägstrich in Kombination mit dem Punkt (\.) gibt an, dass der Punkt mit Escapezeichen versehen ist (der Punkt wird im Muster angezeigt).

    • Die schließende eckige Klammer (\]) gibt das Ende einer Übereinstimmung an, bei der die Groß-/Kleinschreibung nicht beachtet wird.

    • Der Punkt in Kombination mit dem Sternchen (.*) gibt an, dass ein oder mehrere Zeichen enthalten sein müssen.

  4. Fügen Sie eine zweite Signatur hinzu. Verwenden Sie den folgenden regulären Ausdruck, um die zweite Signatur abzugleichen:

    In diesem Ausdruck:

    • Die öffnende eckige Klammer (\[) gibt den Beginn einer Übereinstimmung ohne Berücksichtigung der Groß-/Kleinschreibung für alle Zeichen an, bis die schließende Klammer angezeigt wird.

    • Das Muster Transfer-Encoding: ist eine direkte Zeichenübereinstimmung.

    • Das Pluszeichen (+) gibt an, dass ein Leerzeichen ein- oder mehrmals innerhalb des Musters vorkommen muss.

    • Das unterteilte Muster ist eine direkte Zeichenübereinstimmung.

    • Die schließende eckige Klammer (\]) gibt das Ende einer Übereinstimmung an, bei der die Groß-/Kleinschreibung nicht beachtet wird.

  5. Testen Sie das Angriffsobjekt.

Beispiel: Verwenden von Zeitbindungsparametern zum Erkennen eines Brute-Force-Angriffs

Die Zeitbindungseinschränkung erfordert, dass das Muster innerhalb einer Minute eine bestimmte Anzahl von Malen auftritt, damit der Datenverkehr als Übereinstimmung betrachtet wird.

Sie können den Zeitbindungsparameter zusammen mit der Signatur verwenden, um Anzeichen eines Brute-Force-Angriffs zu erkennen. Das Ändern des Kennworts durch einen Benutzer ist ein harmloses Ereignis und wird normalerweise gelegentlich im Netzwerk gesehen. Tausende von Passwortänderungen in einer Minute sind jedoch verdächtig.

Bei einem Brute-Force-Angriff versucht der Angreifer, die Systemabwehr mit schierer Gewalt zu durchbrechen, in der Regel durch Überlastung der Kapazität des Zielservers oder durch wiederholte Versuch-und-Irrtum-Versuche, Authentifizierungsanmeldeinformationen abzugleichen. Bei einem Brute-Force-Login-Angriff sammeln die Angreifer zunächst eine Liste von Benutzernamen und ein Passwortwörterbuch. Als Nächstes verwendet der Angreifer ein Tool, das das erste Kennwort für den ersten Benutzer in der Liste in das Wörterbuch eingibt und dann jedes Kennwort für jeden Benutzer ausprobiert, bis eine Übereinstimmung gefunden wird. Wenn der Angreifer jede Kombination aus Benutzernamen und Passwörtern ausprobiert, ist er immer erfolgreich. Brute-Force-Angriffe schlagen jedoch häufig fehl, da das Kennwortwörterbuch in der Regel eingeschränkt ist (nicht alle möglichen Kennwörter enthält) und das Angriffstool keine Permutationen für das Kennwort durchführt (z. B. Umkehren von Buchstaben oder Ändern der Groß-/Kleinschreibung).

In diesem Beispiel erstellen Sie ein Signaturangriffsobjekt, das eine übermäßige Anzahl von Kennwortänderungen für Benutzer erkennt, die über HTTP authentifiziert sind (eine webbasierte Anwendung).

Zuerst konfigurieren Sie ein Angriffsmuster:

In diesem Ausdruck:

  • Die Punkt-Stern-Kombination (.*) gibt eine Platzhalterübereinstimmung an.

  • Der umgekehrte Schrägstrich vor einem Zeichen gibt an, dass es sich um einen regulären Ausdruck handelt und mit Escapezeichen versehen werden muss. In diesem Fall handelt es sich bei dem Zeichen um eine öffnende Klammer. Der umgekehrte Schrägstrich wird auch in diesem Ausdruck vor der Dateierweiterungsmarkierung (dem Punkt) und vor der schließenden Klammer verwendet.

  • Der Name des CGI-Skripts, das zum Ändern von Benutzerkennwörtern verwendet wird, ist ebenso enthalten wie die CGI-Erweiterung.

  • Wählen Sie für den Kontext HTTP-URL-PARSED aus der Liste aus, da Sie versuchen, Kennwortänderungen zu erkennen, die für webbasierte Anwendungen auftreten. Wenn das changepassword.cgi Skript verwendet wird, wird es als Teil der URL angezeigt, aber Sie müssen das Gerät der IDP-Serie anweisen, die URL zu analysieren, um den Namen zu finden.

Als Nächstes konfigurieren Sie die Zeitbindung.

In diesen Einstellungen:

  • Der Bereich ist auf Peer festgelegt, damit das Angriffsmuster unabhängig von Quelle oder Ziel mit dem Ereignis übereinstimmen kann.

  • Die Anzahl ist auf eine hohe Zahl (bis 1000) festgelegt, um Fehlalarme zu vermeiden. Dieser Wert bedeutet, dass das changepassword.cgi-Skript 1000 Mal in einer URL vorkommen muss, bevor das Angriffsobjekt abgeglichen wird.

Referenz: Benutzerdefinierte Protokollnummern für Angriffsobjekte

Tabelle 26 Protokollnummern, die im IDP-System verwendet werden.

Tabelle 26: IDP-Angriffsobjekte: Protokollnummern

Protokollname

Protokollnummer

HOPOPT

0

ICMP

1

IGMP

2

GGP

3

IPIP (IPIP)

4

ST

5

TCP

6

CBT (CBT)

7

EGP

8

IGP

9

BBN-RCC-MON

10

NVP-II

11

WELPE

12

ARGUS

13

EMCON

14

XNET

15

CHAOS

16

UDP

17

MUX

18

DCN-MEAS

19

HMP

20

PRM (PRM)

21

XND-IDP

22

STAMM-1

23

TRUNK-2

24

LEAF-1

25

LEAF-2

26

RDP

27

IRTP

28

ISO-TP4

29

NETBLT

30

MFE-NSP

31

MERIT-INP

32

SEP

33

3 STÜCK

34

IDPR

35

XTP

36

DDP

37

TP_PLUS_PLUS

39

IL

40

IPV6

41

SDRP

42

IPV6-ROUTING

43

IDV6-FRAGMENT

44

IDRP

45

U.A.W.G

46

GRE

47

MHRP

48

BNA

49

ASW

50

AH

51

I-NLSP

52

KLAUEN

53

NARP

54

MOBIL

55

TLSP

56

HÜPFEN

57

IPV6-ICMP

58

IPV6-NONXT

59

IPV6-OPTS

60

AHIP

61

CFTP

62

ALNP

63

SAT-EXPAK

64

KRYPTOLAN

65

RVD

66

IPPC

67

ADFSP

68

SA-MO

69

VISUM

70

IPCV (IPCV)

71

CPNX (Englisch)

72

CPHB

73

WSN

74

PVP

75

BR-SAT-MO

76

SUN-ND

77

WB-MON

78

WB-EXPAK

79

ISO-IP

80

VMTP (VMTP)

81

SECURE-VMTP

82

REBEN

83

TTP

84

NSFNET-IBP

85

DGP

86

TCF

87

EIGRP

88

OSPFIGP

89

SPRITE-RPC

90

LARP

91

MTP

92

AX_25

93

IPIP (IPIP)

94

MICP

95

SCC-SP

96

ETHERIP

97

KAPSELUNG

98

AFFEN

99

GMTP

100

IFMP

101

PNNI

102

PIM

103

ARIS

104

SCPS

105

QNX

106

A/N

107

IPCOMP

108

SNP

109

KOMPAT-PEER

110

IPZ-IN-IP

111

VRRP

112

PGM

113

HOP-O

114

L2TP

115

DDX

116

IATP

117

STP

118

SRP

119

UTI

120

SMP

121

SSM

122

PTP

123

ISIS

124

FEUER

125

CRTP

126

CRUDP

127

SSCOPMCE

128

IPLT

129

SPS

130

PFEIFE

131

SCTP

132

FC

133

RSVP-E2E-IGNORIEREN

134

N/A

 

N/A

 

N/A

 

RESERVIERT

255

Referenz: Nicht druckbare und druckbare ASCII-Zeichen

Die folgenden Tabellen enthalten Details zur ASCII-Darstellung von nicht druckbaren und druckbaren Zeichen.

Tabelle 27: ASCII-Referenz: Nicht druckbare Zeichen

Dec

Fluch

Okt

Verkohlen

Kommentar

0

0

000

NUL

Null

1

1

001

SOH

Anfang der Überschrift

2

2

002

STX

Textanfang

3

3

003

ETX

Ende des Textes

4

4

004

EOT

Ende der Übertragung

5

5

005

ENQ

Anfrage

6

6

006

ACK

Anerkennen

7

7

007

BEL

Glocke

8

8

010

BS

Backspace

9

9

011

REGISTERKARTE

Registerkarte "Horizontal"

10

Ein

012

LF

Zeilenvorschub

11

B

013

VT

Vertikale Registerkarte

12

C

014

FF

Formularvorschub

13

D

015

CR

Wagenrücklauf

14

E

016

ALSO

Ausschalten

15

F

017

SI

EINSCHALTEN

16

10

020

DLE

Datenlink-Flucht

17

11

021

DC1-KARTON

Gerätesteuerung 1

18

12

022

DC2-KARTON

Gerätesteuerung 2

19

13

023

DC3-KARTON

Gerätesteuerung 3

20

14

024

DC4

Gerätesteuerung 4

21

15

025

NAK

Negative Bestätigung

22

16

026

SYN

Synchroner Leerlauf

23

17

027

ETB

Ende des Übertragungsblocks

24

18

030

DOSE

Abbrechen

25

19

031

EM

Ende des Mediums

26

1A

032

SUB

Ersatz

27

1 Mrd.

033

ESC

Flucht

28

1C

034

FS

Dateitrennzeichen

29

1D

035

GS

Gruppentrennzeichen

30

1E

036

RS

Datensatz-Trennzeichen

31

1F

037

UNS

Trennzeichen für Einheiten

Tabelle 28: ASCII-Referenz: Druckbare Zeichen

Dec

Fluch

Okt

Verkohlen

32

20

040

Raum

33

21

041

!

34

22

042

 

35

23

043

#

36

24

044

$

37

25

045

%

38

26

046

&

39

27

047

 

40

28

050

(

41

29

051

)

42

2A

052

*

43

2 Mrd.

053

+

44

2C

054

,

45

2D

055

-

46

2E

056

.

47

2F

057

/

48

30

060

0

49

31

061

1

50

32

062

2

51

33

063

3

52

34

064

4

53

35

065

5

54

36

066

6

55

37

067

7

56

38

070

8

57

39

071

9

58

3A

072

:

59

3 Mrd.

073

;

60

3C

074

<

61

3D

075

=

62

3E

076

>

63

3F

077

?

64

40

100

@

65

41

101

Ein

66

42

102

B

67

43

103

C

68

44

104

D

69

45

105

E

70

46

106

F

71

47

107

G

72

48

110

H

73

49

111

Ich

74

4A

112

J

75

4 Mrd.

113

K

76

4C

114

L

77

4D

115

M

78

4E

116

N

79

4F

117

O

80

50

120

P

81

51

121

Q

82

52

122

R

83

53

123

S

'84

54

124

T

85

55

125

U

86

56

126

V

87

57

127

W

88

58

130

X

89

59

131

Y

90

5A

132

Z

91

5 Mrd.

133

[

92

5C

134

\

93

5D

135

]

94

5E

136

^

95

5F

137

_

96

60

140

`

97

61

141

ein

98

62

142

b

99

63

143

c

100

64

144

d

101

65

145

e

102

66

146

f

103

67

147

g

104

68

150

h

105

69

151

Ich

106

6A

152

j

107

6 Mrd.

153

k

108

6C

154

l

109

6D

155

m

110

6E

156

n

111

6F

157

o

112

70

160

p

113

71

161

q

114

72

162

r

115

73

163

s

116

74

164

t

117

75

165

u

118

76

166

v

119

77

167

w

120

78

170

x

121

79

171

y

122

7A

172

z

123

7 Mrd.

173

{

124

7C

174

|

125

7D

175

}

126

7E

176

~

127

7F

177

DEL

128

80

200

Ç

129

81

201

ü

130

82

202

é

131

83

203

â

132

84

204

ä

133

85

205

à

134

86

206

å

135

87

207

ç

136

88

210

ê

137

89

211

ë

138

8A

212

è

139

8 Mrd.

213

ï

140

8C

214

î

141

8D

215

ì

142

8E

216

Ä

143

8F

217

Å

144

90

220

É

145

91

221

æ

146

92

222

Æ

147

93

223

ô

148

94

224

ö

149

95

225

ò

150

96

226

û

151

97

227

ù

152

98

230

ÿ

153

99

231

Ö

154

9A

232

Ü

155

9 Mrd.

233

¢

156

9C

234

£

157

9D

235

¥

158

9E

236

P

159

9F

237

ƒ

160

A0

240

á

161

DIN A1

241

í

162

DIN A2

242

ó

163

DIN A3

243

ú

164

DIN A4

244

ñ

165

DIN A5

245

Ñ

166

DIN A6

246

ª

167

DIN A7

247

º

168

A8

250

¿

169

A9

251

¬

170

AA

252

 

171

BLUTGRUPPE

253

1/2

172

WECHSELSTROM

254

1/4

173

INSERAT

255

¡

174

AE

256

"

175

AF

257

"

176

B0

260

¦

177

B1

262

¦

178

B2

262

¦

179

B3

263

¦

180

B4

264

¦

181

B5

265

¦

182

B6

266

¦

183

B7

267

+

184

B8-KARTON

270

+

185

B9-KARTON

271

¦

186

BA

272

¦

187

BB

273

+

188

V. Chr

274

+

189

BD

275

+

190

SEIN

276

+

191

BF

277

+

192

C0

300

+

193

C1

301

-

194

C2-KARTON

302

-

195

C3-KARTON

303

+

196

C4

304

-

197

C5

305

+

198

C6-KARTON

306

¦

199

C7-KARTON

307

¦

200

C8-KARTON

310

+

201

C9-KARTON

311

+

202

CA

312

-

203

CB

313

-

204

CC

314

¦

205

CD

315

-

206

Unserer Zeitrechnung

316

+

207

VGL

317

-

208

D0-KARTON

320

-

209

D1

321

-

210

D2-KARTON

322

-

211

D3

323

+

212

D4

324

+

213

D5

325

+

214

D6

326

+

215

D7

327

+

216

D8-KARTON

330

+

217

D9-KARTON

331

+

218

DA

332

+

219

DB

333

¦

220

GLEICHSTROM

334

_

221

DD

335

¦

222

DE

336

¦

223

DF

337

¯

224

E0

340

ein

225

E1

341

ß

226

E2

342

G

227

E3

343

p

228

E4

344

S

229

E5

345

s

230

E6

346

μ

231

E7

347

t

232

E8-KARTON

350

F

233

E9

351

T

234

EA

352

O

235

EB

353

d

236

EG

354

8

237

ED

355

f

238

EE

356

e

239

EF

357

n

240

F0

360

=

241

Formel 1

361

+/-

242

F2

362

=

243

Taste F3

363

=

244

Taste 4

364

(

245

F5

365

)

246

F6

366

÷

247

F7

367

˜

248

F8

370

°

249

Taste F9

371

250

FA

372

251

FB

373

v

252

FC

374

n

253

FD

375

²

254

FE

376

¦

255

FF

377

 

Beispiel: Konfigurieren von IDP-Protokolldecodern

In diesem Beispiel wird gezeigt, wie IDP-Protokolldecoder-Tunables konfiguriert werden.

Anforderungen

Bevor Sie beginnen, sollten Sie sich mit der Funktion IDP-Protokolldecoder vertraut machen. Weitere Informationen finden Sie unter Grundlegendes zu IDP-Protokolldecodern.

Überblick

Das Junos IDP-Modul wird mit einer Reihe von vorkonfigurierten Protokoll-Decodern ausgeliefert. Diese Protokolldecoder verfügen über Standardeinstellungen für verschiedene protokollspezifische kontextbezogene Prüfungen, die sie durchführen. Sie können die Standardeinstellungen verwenden oder sie an die spezifischen Anforderungen Ihrer Website anpassen. In diesem Beispiel wird gezeigt, wie Sie den Protokolldecoder für FTP optimieren.

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So konfigurieren Sie IDP-Protokolldecoder-Tunables:

  1. Zeigen Sie die Liste der Protokolle mit abstimmbaren Parametern an.

  2. Konfigurieren Sie abstimmbare Parameter für das FTP-Protokoll.

  3. Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.

Verifizierung

Um zu überprüfen, ob die Konfiguration ordnungsgemäß funktioniert, geben Sie den Befehl show security idp status ein.

Grundlegendes zur Unterstützung mehrerer IDP-Detektoren

Wenn ein neues Sicherheitspaket empfangen wird, enthält es Angriffsdefinitionen und einen Detektor. In jeder Version eines Sicherheitspakets entsprechen die Angriffsdefinitionen den Fähigkeiten des mitgelieferten Detektors. Wenn die Richtlinienalterung auf dem Gerät deaktiviert ist (siehe die Anweisung zum Zurücksetzen der Richtlinie für Befehle zur Richtlinienalterung), ist immer nur eine Richtlinie gültig. Wenn jedoch die Richtlinienalterung aktiviert ist und eine Richtlinienaktualisierung erfolgt, wird die vorhandene Richtlinie nicht entladen, wenn die neue Richtlinie geladen wird. Daher können beide Richtlinien auf dem Gerät in Kraft sein. In diesem Fall werden alle vorhandenen Sitzungen weiterhin durch vorhandene Richtlinien überprüft, und neue Sitzungen werden mit neuen Richtlinien überprüft. Sobald alle vorhandenen Sitzungen, die die ältere Richtlinie verwenden, beendet wurden oder abgelaufen sind, wird die ältere Richtlinie entladen.

Wenn eine Richtlinie geladen wird, wird sie auch einem Detektor zugeordnet. Wenn der neuen Richtlinie, die geladen wird, ein Detektor zugeordnet ist, der mit dem Detektor übereinstimmt, der bereits von der vorhandenen Richtlinie verwendet wird, wird der neue Detektor nicht geladen, und beide Richtlinien verwenden einen einzelnen zugeordneten Detektor. Wenn der neue Melder jedoch nicht mit dem aktuellen Melder übereinstimmt, wird der neue Melder zusammen mit der neuen Richtlinie geladen. In diesem Fall verwendet jede geladene Richtlinie einen eigenen zugehörigen Detektor für die Angriffserkennung.

Beachten Sie, dass maximal zwei Melder gleichzeitig geladen werden können. Wenn bereits zwei Melder geladen sind (durch zwei oder mehr Richtlinien) und das Laden einer neuen Richtlinie auch das Laden eines neuen Detektors erfordert, muss mindestens einer der geladenen Detektoren entladen werden, bevor der neue Detektor geladen werden kann. Bevor ein Melder entladen wird, werden auch alle Richtlinien, die den entsprechenden Melder verwenden, entladen.

Sie können die aktuelle Richtlinie und die entsprechende Melderversion anzeigen, indem Sie den folgenden Befehl eingeben:

Ab Junos OS Version 18.4R1 werden beim Laden einer neuen IDP-Richtlinie die vorhandenen Sitzungen anhand der neu geladenen Richtlinie überprüft, und die vorhandenen Sitzungen werden bei der IDP-Verarbeitung nicht ignoriert. Die IDP-Überprüfung wird für kontextbasierte Angriffe, die vom Melder erstellt werden, fortgesetzt, nachdem eine neue IDP-Richtlinie geladen wurde, mit der Ausnahme, dass die neue Richtlinie, die mit dem neuen Melder geladen wird, nicht identisch ist.

Grundlegendes zur Inhaltsdekomprimierung

In Anwendungsprotokollen wie HTTP können die Inhalte komprimiert und dann über das Netzwerk übertragen werden. Die Muster stimmen nicht mit dem komprimierten Inhalt überein, da die Signaturmuster so geschrieben werden, dass sie mit den nicht codierten Verkehrsdaten übereinstimmen. In diesem Fall wird die IDP-Erkennung umgangen. Um eine IDP-Erkennung des komprimierten HTTP-Inhalts zu vermeiden, wurde ein IDP-Submodul hinzugefügt, das den Protokollinhalt dekomprimiert. Der Signaturmusterabgleich erfolgt für den dekomprimierten Inhalt.

Um den Status aller IPS-Zählerwerte anzuzeigen, geben Sie den folgenden Befehl ein:

Einige Angriffe werden durch komprimierte Inhalte eingeführt. Wenn der Inhalt dekomprimiert wird, kann er sich zu einer sehr großen Größe aufblähen, was wertvolle Systemressourcen beansprucht, was zu Denial-of-Service führt. Diese Art von Angriff erkennt man am Verhältnis von dekomprimierter Datengröße zu komprimierter Datengröße. Der Zähler content-decompress-ratio-over-limit gibt die Anzahl der Vorfälle an, bei denen dieses Verhältnis überschritten wurde. Das Standardverhältnis wird als konsistent mit einer typischen Umgebung angesehen. In einigen Fällen muss dieses Verhältnis jedoch durch Zurücksetzen des content-decompress-ratio-over-limit Werts angepasst werden. Beachten Sie jedoch, dass ein höheres Verhältnis die Wahrscheinlichkeit verringert, diese Art von Angriff zu erkennen.

Der Zähler content-decompress-memory-over-limit gibt die Anzahl der Vorfälle an, bei denen die Menge der dekomprimierten Daten den zugewiesenen Arbeitsspeicher überschritten hat. Die Standardspeicherzuweisung bietet 33 KB pro Sitzung für eine durchschnittliche Anzahl von Sitzungen, die gleichzeitig dekomprimiert werden müssen. Um festzustellen, ob dieser Wert mit Ihrer Umgebung konsistent ist, analysieren Sie Werte aus dekomprimierungsbezogenen Zählern und die Gesamtzahl der IDP-Sitzungen, die das Gerät durchlaufen, und schätzen Sie die Anzahl der Sitzungen, die gleichzeitig dekomprimiert werden müssen. Unter der Annahme, dass für jede dieser Sitzungen 33 KB Arbeitsspeicher für die Dekomprimierung erforderlich sind, vergleichen Sie Ihre geschätzten Anforderungen mit dem Standardwert. Bei Bedarf können Sie die Speicherzuweisung anpassen, indem Sie den content-decompression-max-memory-kb Wert zurücksetzen. Beachten Sie, dass, da die Inhaltsdekomprimierung eine erhebliche Zuweisung von Arbeitsspeicher erfordert, die Systemleistung durch eine Erhöhung der maximalen Speicherzuweisung für die Dekomprimierung beeinträchtigt wird.

Beispiel: Konfigurieren der IDP-Inhaltsdekomprimierung

In diesem Beispiel wird gezeigt, wie die Dekomprimierung von IDP-Inhalten konfiguriert wird.

Anforderungen

Bevor Sie beginnen, sollten Sie sich die Funktion zur Dekomprimierung von IDP-Inhalten ansehen. Weitere Informationen finden Sie unter Grundlegendes zur Inhaltsdekomprimierung

Überblick

Die Dekomprimierungsfunktion ist standardmäßig deaktiviert. In diesem Beispiel aktivieren Sie den Detektor, konfigurieren den maximalen Arbeitsspeicher auf 50.000 Kilobyte und konfigurieren ein maximales Dekomprimierungsverhältnis von 16:1.

Anmerkung:

Das Aktivieren der Dekomprimierung führt zu einer Verringerung der Leistung auf Ihrem Gerät.

Konfiguration

Verfahren

Schritt-für-Schritt-Anleitung

So konfigurieren Sie die Dekomprimierung von IDP-Inhalten:

  1. Aktivieren Sie den Melder.

    Anmerkung:

    Um den Melder zu deaktivieren, setzen Sie den Wert tunable‑value auf 0.

  2. Ändern Sie bei Bedarf den maximalen Arbeitsspeicher in Kilobyte.

  3. Konfigurieren Sie bei Bedarf das maximale Dekomprimierungsverhältnis.

  4. Wenn Sie mit der Konfiguration des Geräts fertig sind, bestätigen Sie die Konfiguration.

Verifizierung

Um zu überprüfen, ob die Konfiguration ordnungsgemäß funktioniert, geben Sie den Befehl show security idp status ips ein. Die Inhaltsdekomprimierungszähler stellen Statistiken zur Dekomprimierungsverarbeitung bereit.

Grundlegendes zu signaturbasierten IDP-Angriffen

Um ein benutzerdefiniertes Angriffsobjekt zu konfigurieren, geben Sie einen eindeutigen Namen für das Objekt an und geben dann zusätzliche Informationen an, die Ihnen das Auffinden und Verwalten des Angriffsobjekts erleichtern können.

Bestimmte Eigenschaften in den Angriffsobjektdefinitionen sind für alle Arten von Angriffen gleich, z. B. Angriffsname, Schweregrad, Dienst- oder Anwendungsbindung, Zeitbindung und Protokoll- oder Portbindung. Einige Felder sind spezifisch für einen Angriffstyp und nur für diese spezifische Angriffsdefinition verfügbar.

Signaturangriffsobjekte verwenden eine zustandsbehaftete Angriffssignatur (ein Muster, das immer innerhalb eines bestimmten Angriffsabschnitts vorhanden ist), um bekannte Angriffe zu erkennen. Dazu gehören auch das Protokoll oder der Dienst, der für den Angriff verwendet wurde, und der Kontext, in dem der Angriff stattfindet. Die folgenden Eigenschaften sind spezifisch für Signaturangriffe und Sie können sie bei der Konfiguration des Signaturangriffs konfigurieren: Angriffskontext, Angriffsrichtung, Angriffsmuster und protokollspezifische Parameter (TCP-, UDP-, ICMP- oder IP-Headerfelder).

Beachten Sie bei der Konfiguration von signaturbasierten Angriffen Folgendes:

  • Angriffskontext und -richtung sind Pflichtfelder für die Definition des Signaturangriffs.

  • Die Musternegation wird nur für paket-, leitungs- und anwendungsbasierte Kontexte unterstützt, nicht aber für stream- und normalisierte Streamkontexte.

  • Bei der Konfiguration der protokollspezifischen Parameter können Sie Felder nur für eines der folgenden Protokolle angeben: IP, TCP, UDP oder ICMP.

  • Wenn Sie eine Protokollbindung konfigurieren, können Sie nur eine der folgenden Optionen angeben: IP, ICMP, TCP, UDP, RPC oder Anwendungen.

    • IP: Die Protokollnummer ist ein Pflichtfeld.

    • TCP und UDP: Sie können entweder einen einzelnen Port (minimum-port) oder einen Portbereich (minimum-port und maximum-port) angeben. Wenn Sie keinen Port angeben, wird der Standardwert (0-65535) verwendet.

    • RPC: Die Programmnummer ist ein Pflichtfeld.

Ab Junos OS Version 19.1R1 können Sie signaturbasierte Angriffe mithilfe erweiterter Hyperscan-Parameter konfigurieren. Durch das Festlegen optimaler Werte für die erweiterten Hyperscan-Parameter können Sie den Prozess des Angriffsmusterabgleichs erheblich verbessern.

Um die erweiterten Parameter zu konfigurieren, fügen Sie die optional-parameters Option auf Hierarchieebene [edit security idp custom-attack attack-name attack-type signature] ein. Unter der optional-parameters Option können Sie folgende Parameter konfigurieren:

  • min-offset

  • max-offset

  • min-length

Kurzes Funktionsprinzip der Hyperscan API – Hyperscan ist eine Software-Engine für den Abgleich regulärer Ausdrücke, die auf hohe Leistung und Flexibilität ausgelegt ist. Wenn eine Signatur mit einem Muster als Teil einer IDP-Richtlinie konfiguriert wird, wird das Muster als regulärer Ausdruck identifiziert. In der Routing-Engine nimmt Hyperscan diesen regulären Ausdruck als Eingabe und kompiliert ihn zu einer Datenbank, die an die Packet Forwarding Engine übertragen wird. Wenn ein Paket in die Packet Forwarding Engine eingeht, werden die Daten im Paket überprüft, um festzustellen, ob sie mit dem regulären Ausdruck übereinstimmen, der die Datenbank verwendet.

Wenn eine IDP-Richtlinie mit einem Satz von Signaturen konfiguriert ist, werden deterministische endliche Automatengruppen (DFA) gebildet. Muster aller Signaturen in den DFA-Gruppen werden an Hyperscan übergeben, um eine einzige Datenbank zu bilden, mit der alle Angriffe im Paket gleichzeitig überprüft werden können. Da für jeden Angriff eine einzelne Datenbank anstelle einer separaten Datenbank verwendet wird, ist der Musterabgleich effizient.

Wenn eine Signatur mit den erweiterten Parametern konfiguriert ist, bildet die Hyperscan API die Datenbank unter Berücksichtigung der konfigurierten Parameter. Der Musterabgleich erfolgt auf der Packet Forwarding Engine mit dieser neuen Datenbank. Mit diesen Parametern können die von einem Muster erzeugten Übereinstimmungen zur Kompilierzeit eingeschränkt werden, anstatt sich darauf zu verlassen, dass die Anwendung unerwünschte Übereinstimmungen zur Laufzeit verarbeitet.

Beispiel: Konfigurieren von IDP-signaturbasierten Angriffen

In diesem Beispiel wird gezeigt, wie ein signaturbasiertes Angriffsobjekt erstellt wird.

Anforderungen

Bevor Sie beginnen, konfigurieren Sie Netzwerkschnittstellen.

Überblick

In diesem Beispiel erstellen Sie einen Signaturangriff mit dem Namen sig1 und weisen ihm die folgenden Eigenschaften zu:

  • Empfohlene Aktion (Paket verwerfen): Legt ein passendes Paket ab, bevor es sein Ziel erreichen kann, schließt die Verbindung jedoch nicht.

  • Zeitbindung: Gibt den Bereich als source und die Anzahl als 10an. Wenn scope gleich ist source, werden alle Angriffe von derselben Quelle gezählt, und wenn die Anzahl der Angriffe die angegebene Anzahl (10) erreicht, wird der Angriff protokolliert. In diesem Beispiel wird jeder zehnte Angriff von derselben Quelle protokolliert.

  • Angriffskontext (Paket): Entspricht dem Angriffsmuster innerhalb eines Pakets.

  • Angriffsrichtung (beliebig): Erkennt den Angriff in beide Richtungen – Client-zu-Server- und Server-zu-Client-Datenverkehr.

  • Protokoll (TCP): Gibt den TTL-Wert 128 an.

  • Shellcode (Intel): Legt das Flag fest, um Shellcode für Intel-Plattformen zu erkennen.

  • Protokollbindung: Gibt das TCP-Protokoll und die Ports 50 bis 100 an.

Nachdem Sie ein signaturbasiertes Angriffsobjekt konfiguriert haben, geben Sie den Angriff als Übereinstimmungskriterium in einer IDP-Richtlinienregel an. Siehe Beispiel: Definieren von Regeln für eine IDP-IPS-Regelbasis.

Konfiguration

Verfahren

CLI Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die erforderlich sind, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie dann die Befehle, fügen Sie sie auf der Hierarchieebene in die CLI ein, und geben Sie sie dann aus dem [edit] Konfigurationsmodus ein commit .

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

So erstellen Sie ein signaturbasiertes Angriffsobjekt:

  1. Geben Sie einen Namen für den Angriff an.

  2. Geben Sie allgemeine Eigenschaften für den Angriff an.

  3. Geben Sie den Angriffstyp und den Kontext an.

  4. Geben Sie die Angriffsrichtung und das Shellcode-Flag an.

  5. Legen Sie das Protokoll und seine Felder fest.

  6. Geben Sie die Protokollbindung und die Ports an.

  7. Geben Sie die Richtung an.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security idp Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit Sie aus dem Konfigurationsmodus.

Verifizierung

Vergewissern Sie sich, dass die Konfiguration ordnungsgemäß funktioniert.

Überprüfen der Konfiguration

Zweck

Stellen Sie sicher, dass das signaturbasierte Angriffsobjekt erstellt wurde.

Aktion

Geben Sie im Betriebsmodus den show security idp status Befehl ein.

Grundlegendes zu auf IDP-Protokollanomalien basierenden Angriffen

Ein Angriffsobjekt für Protokollanomalien erkennt unbekannte oder komplexe Angriffe, die gegen Protokollspezifikationen (RFCs und allgemeine RFC-Erweiterungen) verstoßen. Sie können keine neuen Protokollanomalien erstellen, aber Sie können ein neues Angriffsobjekt konfigurieren, das steuert, wie Ihr Gerät mit einer vordefinierten Protokollanomalie umgeht, wenn es erkannt wird.

Die folgenden Eigenschaften sind spezifisch für Angriffe auf Protokollanomalien:

  • Angriffsrichtung

  • Versuchsbedingung

Beachten Sie bei der Konfiguration von auf Protokollanomalien basierenden Angriffen Folgendes:

  • Die Dienst- oder Anwendungsbindung ist ein Pflichtfeld für Angriffe auf Protokollanomalien. Neben den unterstützten Anwendungen umfassen die Services auch IP, TCP, UDP, ICMP und RPC.

  • Die Eigenschaften "Angriffsrichtung" und "Testbedingung" sind Pflichtfelder für die Konfiguration von Anomalie-Angriffsdefinitionen.

Beispiel: Konfigurieren von auf IDP-Protokollanomalien basierenden Angriffen

In diesem Beispiel wird gezeigt, wie ein auf Protokollanomalien basierendes Angriffsobjekt erstellt wird.

Anforderungen

Bevor Sie beginnen, konfigurieren Sie Netzwerkschnittstellen.

Überblick

In diesem Beispiel erstellen Sie einen Protokollanomalieangriff mit dem Namen anomaly1 und weisen ihm die folgenden Eigenschaften zu:

  • Zeitbindung: Gibt den Bereich als peer und die Anzahl als 2 an, um Anomalien zwischen Quell- und Ziel-IP-Adressen der Sitzungen für die angegebene Anzahl von Malen zu erkennen.

  • Schweregrad (Info): Stellt Informationen zu allen Angriffen bereit, die den Bedingungen entsprechen.

  • Angriffsrichtung (beliebig): Erkennt den Angriff in beide Richtungen – Client-zu-Server- und Server-zu-Client-Datenverkehr.

  • Service (TCP): Stimmt Angriffe mithilfe des TCP-Service ab.

  • Testbedingung (OPTIONS_UNSUPPORTED) – Stimmt mit bestimmten vordefinierten Testbedingungen überein. In diesem Beispiel ist die Bedingung, dass sie übereinstimmt, wenn der Angriff nicht unterstützte Optionen enthält.

  • Shellcode (sparc): Legt das Flag fest, um Shellcode für Sparc-Plattformen zu erkennen.

Nachdem Sie das auf Protokollanomalien basierende Angriffsobjekt konfiguriert haben, geben Sie den Angriff als Übereinstimmungskriterium in einer IDP-Richtlinienregel an. Siehe Beispiel: Definieren von Regeln für eine IDP-IPS-Regelbasis.

Konfiguration

Verfahren

CLI Schnellkonfiguration

Um dieses Beispiel schnell zu konfigurieren, kopieren Sie die folgenden Befehle, fügen Sie sie in eine Textdatei ein, entfernen Sie alle Zeilenumbrüche, ändern Sie alle Details, die erforderlich sind, um sie an Ihre Netzwerkkonfiguration anzupassen, kopieren Sie dann die Befehle, fügen Sie sie auf der Hierarchieebene in die CLI ein, und geben Sie sie dann aus dem [edit] Konfigurationsmodus ein commit .

Schritt-für-Schritt-Anleitung

Im folgenden Beispiel müssen Sie durch verschiedene Ebenen in der Konfigurationshierarchie navigieren. Anweisungen hierzu finden Sie unter Verwenden des CLI-Editors im Konfigurationsmodus im CLI-Benutzerhandbuch.

So erstellen Sie ein auf Protokollanomalien basierendes Angriffsobjekt:

  1. Geben Sie einen Namen für den Angriff an.

  2. Geben Sie allgemeine Eigenschaften für den Angriff an.

  3. Geben Sie den Angriffstyp und die Testbedingung an.

  4. Geben Sie weitere Eigenschaften für den Anomalieangriff an.

Befund

Bestätigen Sie im Konfigurationsmodus Ihre Konfiguration, indem Sie den show security idp Befehl eingeben. Wenn in der Ausgabe nicht die beabsichtigte Konfiguration angezeigt wird, wiederholen Sie die Konfigurationsanweisungen in diesem Beispiel, um sie zu korrigieren.

Wenn Sie mit der Konfiguration des Geräts fertig sind, wechseln commit Sie aus dem Konfigurationsmodus.

Verifizierung

Gehen Sie folgendermaßen vor, um zu bestätigen, dass die Konfiguration ordnungsgemäß funktioniert:

Überprüfen der Konfiguration

Zweck

Vergewissern Sie sich, dass das auf Protokollanomalien basierende Angriffsobjekt erstellt wurde.

Aktion

Geben Sie im Betriebsmodus den show security idp status Befehl ein.

Übersicht über die Konfiguration der IDP-Richtlinien

Mit der IDP-Richtlinie (Intrusion Detection and Prevention) von Junos OS können Sie selektiv verschiedene Techniken zur Erkennung und Verhinderung von Angriffen im Netzwerkverkehr erzwingen, der ein IDP-fähiges Gerät passiert. Sie können damit Richtlinienregeln definieren, die basierend auf einer Zone, einem Netzwerk und einer Anwendung einem Datenverkehrsabschnitt entsprechen, und anschließend aktive oder passive Vorkehrung für diesen Datenverkehr treffen.

Eine IDP-Richtlinie definiert, wie Ihr Gerät mit dem Netzwerkverkehr umgeht. Sie ermöglicht es Ihnen, verschiedene Techniken für die Erkennung und Verhinderung von Angriffen im Datenverkehr in Ihrem Netzwerk durchzusetzen.

Eine Richtlinie besteht aus Regelbasen, und jede Regelbasis enthält einen Satz von Regeln. Sie definieren Regelparameter, z. B. Datenverkehrsübereinstimmungsbedingungen, Aktionen und Protokollierungsanforderungen, und fügen die Regeln dann zu Regeldatenbanken hinzu. Nachdem Sie eine IDP-Richtlinie erstellt haben, indem Sie Regeln in einer oder mehreren Regelbasen hinzugefügt haben, können Sie diese Richtlinie als aktive Richtlinie auf Ihrem Gerät auswählen.

Führen Sie die folgenden Schritte aus, um die IDP-Richtlinie zu konfigurieren:

  1. Aktivieren Sie IDP in einer Sicherheitsrichtlinie.

  2. Konfigurieren von IDP-Richtlinienregeln, IDP-Regelbasen und IDP-Regelaktionen. Siehe Beispiel: Einfügen einer Regel in die IDP-Regelbasis , Beispiel: Definieren von Regeln für eine IDP-IPS-Regelbasis und Beispiel: Konfigurieren und Anwenden von Rewrite-Regeln auf einem Sicherheitsgerät .

  3. Konfigurieren Sie benutzerdefinierte IDP-Signaturen. Weitere Informationen finden Sie unter Grundlegendes zu IDP-Signatur-basierten Angriffen und Beispiel: Konfigurieren von IDP-Signatur-basierten Angriffen .

  4. Aktualisieren Sie die IDP-Signaturdatenbank. Weitere Informationen finden Sie unter Aktualisieren der IDP-Signaturdatenbank – Übersicht.

IPv6 Covert Channels – Übersicht

Ein verdeckter Kanal ist eine Angriffstechnik, die die Kommunikation von Informationen ermöglicht, indem Objekte auf unbefugte oder illegale Weise über bestehende Informationskanäle übertragen werden. Mit Hilfe von verdeckten Kanälen kann ein Angreifer böswillige Aktivitäten in einem Netzwerk ausführen.

Ab Junos OS Version 19.1R1 wird die Identifizierung und Verminderung verdeckter Kanäle für IPv6-Erweiterungsheader in Intrusion Detection and Prevention (IDP) unterstützt. Es ist die Übertragung von Informationen, die gegen die bestehenden Sicherheitssysteme verstößt. Das Sicherheitspaket für IDP enthält eine Datenbank mit vordefinierten IDP-Angriffsobjekten für verdeckte Kanäle, die Sie in IDP-Richtlinien verwenden können, um Datenverkehr mit Angriffen abzugleichen.

Im Rahmen dieser Unterstützung können Sie Anomalien in den IPv6-Erweiterungsheadern erkennen und kennzeichnen, wodurch verdeckte Kanäle eingerichtet und die in der Richtlinie festgelegten Maßnahmen ergriffen werden können. Die verdeckten Kanalangriffe werden in der Show security idp attack table Seite mit den anderen Angriffen angezeigt.

Tabellarischer Änderungsverlauf

Die Unterstützung der Funktion hängt von der Plattform und der Version ab, die Sie benutzen. Verwenden Sie Funktionen entdecken , um festzustellen, ob eine Funktion auf Ihrer Plattform unterstützt wird.

Loslassen
Beschreibung
18.4R1
Ab Junos OS Version 18.4R1 können Sie das maximale Zeitintervall zwischen zwei beliebigen Instanzen eines benutzerdefinierten zeitgebundenen Angriffs konfigurieren, und der Bereich für das maximale Zeitintervall beträgt 0 Minuten und 0 Sekunden bis 60 Minuten und 0 Sekunden. In Junos OS-Versionen vor 18.4R1 beträgt das maximale Zeitintervall zwischen zwei beliebigen Instanzen eines zeitgebundenen Angriffs 60 Sekunden, bis die Anzahl der Angriffsauslöser die in der Zeitbindung konfigurierte Anzahl erreicht. Die interval interval-value Anweisung wird in der [edit security idp custom-attack attack-name time-binding] Hierarchie eingeführt, um eine benutzerdefinierte Zeitbindung zu konfigurieren.
15,1 x 49-D140
Beginnend mit Junos OS Version 15.1X49-D140 beträgt die maximal zulässige Anzahl von Zeichen für einen benutzerdefinierten Angriffsobjektnamen 60 Zeichen. Sie können die Anweisung mit dem set security idp custom-attack Befehl validieren.