Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
SUR CETTE PAGE
 

Attaques d’objets et de groupes d’objets pour les stratégies IDP

Cette rubrique explique les détails sur les objets et les groupes d’attaques IDP. Il explique comment créer, modifier et utiliser des objets et des groupes d’attaques pour protéger les réseaux contre diverses menaces et vulnérabilités. Cela garantit que des mesures de sécurité robustes sont en place.

Les objets d’attaque, les objets de signatures d’application et les objets de service sont utilisés pour définir les règles de stratégie IDP. En réponse aux nouvelles vulnérabilités, Juniper Networks fournit périodiquement un fichier contenant les mises à jour de la base de données d’attaques sur le site Web de Juniper. Vous pouvez télécharger ce fichier pour protéger votre réseau contre les nouvelles menaces. Ces objets et groupes d’attaques sont conçus pour détecter les schémas d’attaque connus et les anomalies de protocole au sein du trafic réseau. Vous pouvez configurer des objets et des groupes d’attaques en tant que conditions de correspondance dans les règles de stratégie IDP.

Pour plus d’informations, consultez les rubriques suivantes :

Comprendre notre approche pour traiter les vulnérabilités connues et inconnues

Cette rubrique comprend les sections suivantes :

Vulnérabilités connues

Les vulnérabilités connues sont celles documentées au sein de la communauté de la sécurité Internet. La communauté de la sécurité Internet comprend plusieurs organisations de sécurité, des analystes de sécurité et des forums de sécurité. La communauté de sécurité découvre et analyse en permanence de nouvelles attaques et échange ces informations sur Internet. De cette façon, ils peuvent localiser, identifier et vraiment comprendre une attaque.

Certains avis de sécurité contiennent le code d’attaque en question. Vous pouvez utiliser les informations et le code de l’attaque pour capturer des informations sur les paquets et les contextes de service. Vous pouvez utiliser ces informations pour créer un objet d’attaque par signature personnalisé.

Malheureusement, la plupart des avis n’affichent pas le code de l’attaque avec la description de l’attaque. Si vous ne parvenez pas à obtenir le code d’attaque, lisez attentivement l’avis et essayez de reconstituer les bases du paquet d’attaque.

PRUDENCE:

N’oubliez pas d’isoler le code acquis à partir de sources inconnues.

Les organisations suivantes sont actives dans la communauté de la sécurité et constituent une bonne ressource pour trouver des informations sur les attaques :

  • NVD : base de données nationale sur les vulnérabilités (http://nvd.nist.gov). Référentiel de données de gestion des vulnérabilités du gouvernement des États-Unis représenté à l’aide du protocole SCAP (Security Content Automation Protocol).

  • SANS : administrateur système, audit, réseau, institut de sécurité (www.sans.org). Un organisme de recherche, de certification et d’éducation en matière de sécurité de l’information qui fournit des alertes de sécurité. Héberge également l’Internet Storm Center (ISC) à http://www.incidents.org.

  • CVE : vulnérabilités et expositions courantes (http://cve.mitre.org). Une liste standardisée des vulnérabilités et autres risques liés à la sécurité de l’information.

  • BugTraq (http://securityfocus.com/archive/1). Une liste de diffusion modérée hébergée par Security Focus qui discute et annonce les vulnérabilités de sécurité informatique.

  • Centre de coordination CERT (http://www.cert.org). Organisme d’alerte de sécurité financé par le gouvernement fédéral qui fournit des avis de sécurité.

  • Sécurité tempête de paquets (http://packetstormsecurity.nl). Organisation à but non lucratif de professionnels de la sécurité qui fournit des informations de sécurité par le biais d’actualités, de conseils, de forums et de codes d’attaque.

  • Metasploit (http://www.metasploit.com). Metasploit fournit des informations utiles pour effectuer des tests d’intrusion, développer des signatures IDS et rechercher des exploits.

  • FrSIRT — Equipe de Réponse aux Incidents de Sécurité (http://www.frsirt.com). FrSIRT est un organisme indépendant de recherche en sécurité qui fournit des conseils de sécurité et des services d’alerte et de notification des vulnérabilités en temps réel.

  • ISS : systèmes de sécurité Internet (http://www.iss.net). Une société de sécurité Internet qui fournit des alertes et des niveaux de menace Internet.

Vulnérabilités inconnues

Les vulnérabilités inconnues sont celles qui n’ont pas été documentées dans les avis de la communauté sur la sécurité Internet. Dans ce cas, les journaux d’événements de sécurité IDP Series Profiler, pare-feu ou IDP générés dans votre environnement de production vous alertent en cas d’activité suspecte et de trafic anormal. Dans votre environnement de production, vous utiliserez des outils de journalisation des paquets pour capturer les paquets et les informations de contexte de service que vous pourrez ensuite analyser et tester dans votre laboratoire.

Test d’un objet d’attaque personnalisé

Nous vous recommandons d’utiliser le workflow suivant pour tester un objet d’attaque personnalisé. Notez que la procédure suivante comporte des étapes générales et est destinée aux utilisateurs experts familiarisés avec ces tâches.

Pour tester un objet d’attaque personnalisé :

  1. Créez une stratégie de sécurité et une nouvelle règle de base de règles IDP qui inclut uniquement l’objet d’attaque personnalisé à tester. Activez la journalisation et la journalisation des paquets.
  2. Envoyez la stratégie à l’équipement de laboratoire IDP Series.
  3. À partir de l’ordinateur de l’attaquant, reproduisez l’attaque qui cible l’ordinateur de la victime.
  4. Utilisez la visionneuse de journaux de Security Director pour voir si le trafic généré génère des journaux comme prévu.

Si votre test échoue, consultez l’avis d’attaque, la RFC de protocole et le code d’attaque ou les captures de paquets pour identifier des informations supplémentaires qui peuvent vous aider à affiner vos paramètres. Le problème le plus fréquent qui nécessite un réglage est la syntaxe de l’expression DFA.

Création d’un objet d’attaque signature

Un objet d’attaque de signature est un modèle que vous souhaitez que le système détecte. Vous utilisez une expression DFA pour représenter le modèle. Toutes les autres propriétés de signature que vous pouvez définir (telles que le contexte du service ou du protocole, la direction et d’autres contraintes) sont fournies afin que vous puissiez optimiser les performances du système lors de la détection du modèle et éliminer les faux positifs. En général, vous souhaitez régler les paramètres d’un objet d’attaque de signature afin que le système le recherche dans tous les contextes où il peut se produire et dans aucun autre contexte.

Pour configurer un objet d’attaque de signature :

  1. Dans le Gestionnaire d’objets, sélectionnez Objets d’attaque > Objets IDP.
  2. Cliquez sur l’onglet Attaques personnalisées .
  3. Cliquez sur l’icône + pour afficher la boîte de dialogue Attaque personnalisée.
  4. Configurez les paramètres de l’objet d’attaque. Le Tableau 1 fournit des instructions pour compléter les paramètres.
    Tableau 1 : Boîte de dialogue Attaque personnalisée : Paramètres de l’onglet Général

    Réglage

    Description

    Nom

    Nom affiché dans l’interface utilisateur.

    Pourboire:

    Incluez le protocole utilisé par l’attaque dans le nom de l’attaque.

    Description

    (Facultatif) Informations sur l’attaque. Bien qu’une description soit facultative lorsque vous créez un objet d’attaque, elle peut vous aider à mémoriser des informations importantes sur l’attaque. Pour obtenir des exemples, consultez les descriptions des attaques prédéfinies.

    Sévérité

    Info, Avertissement, Mineur, Majeur ou Critique. Les attaques critiques sont des tentatives de faire planter votre serveur ou de prendre le contrôle de votre réseau.

    • Critique : contient les objets d’attaque correspondant à des exploits qui tentent d’échapper à la détection, de provoquer le plantage d’un périphérique réseau ou d’obtenir des privilèges au niveau du système.

    • Info : contient des objets d’attaque correspondant à un trafic normal et inoffensif contenant des URL, des échecs de recherche DNS, des chaînes de communauté publiques SNMP et des paramètres peer-to-peer (P2P). Vous pouvez utiliser des objets d’attaque informationnels pour obtenir des informations sur votre réseau.

    • Majeur : contient des objets d’attaque correspondant à des exploits qui tentent de perturber un service, d’obtenir un accès au niveau de l’utilisateur à un périphérique réseau ou d’activer un cheval de Troie précédemment chargé sur un périphérique.

    • Mineur : contient des objets d’attaque correspondant à des exploits qui détectent les efforts de reconnaissance tentant d’accéder à des informations vitales par le biais de la traversée de répertoires ou de fuites d’informations.

    • Avertissement : contient des objets d’attaque correspondant à des exploits qui tentent d’obtenir des informations non critiques ou d’analyser un réseau à l’aide d’un outil d’analyse.

    Les attaques informationnelles sont les moins dangereuses et sont généralement utilisées par les administrateurs réseau pour découvrir des failles dans leur propre système de sécurité.

    Catégorie

    Une catégorie prédéfinie ou nouvelle. Utilisez cette catégorie pour regrouper les objets d’attaque. Au sein de chaque catégorie, les objets d’attaque sont regroupés par gravité. Par exemple : FTP, TROJAN, SNMP.

    Mots-clés

    Identifiants uniques pouvant être utilisés pour rechercher et trier les enregistrements de journaux. Les mots-clés doivent être liés à l’attaque et à l’objet de l’attaque.

    Recommandé

    Indique que cet objet d’attaque fait partie de votre ensemble d’objets d’attaque présentant le risque le plus élevé. Par la suite, lorsque vous ajouterez cet objet d’attaque à des groupes dynamiques, vous pourrez spécifier s’il faut inclure uniquement les objets d’attaque recommandés.

    • Oui : ajoute au groupe dynamique les attaques prédéfinies recommandées par Juniper Networks.

    • Non : spécifie les objets d’attaque non recommandés dans le groupe d’attaques dynamiques.

       

    Performances de détection

    Spécifiez ce filtre pour filtrer les objets d’attaque lents. Vous pouvez utiliser ce filtre pour sélectionner uniquement les attaques appropriées en fonction de leur impact sur les performances.

    Sélectionnez une option :

    • Élevé : ajoute un objet d’attaque à fort impact qui est vulnérable à une attaque. L’impact des signatures sur les performances est élevé7 à élevé9, où l’identification des applications est lente.

    • Medium (Moyenne) : ajoute un objet d’attaque aux performances moyennes qui est vulnérable à une attaque. L’impact des signatures sur les performances est moyen4 à moyen6, où l’identification de l’application est normale.

    • Faible performance : ajoute un objet d’attaque à faible impact vulnérable à une attaque. L’impact des signatures sur les performances est faible1 à faible3, où l’identification des applications est plus rapide.

    • Unknown (Inconnu) : définit tous les objets d’attaque sur unknown (inconnu) par défaut. Lorsque vous ajustez l’IPS à votre trafic réseau, vous pouvez modifier ce paramètre pour vous aider à suivre l’impact sur les performances. L’impact des signatures sur les performances est de 0 = inconnu, l’identification de l’application étant également inconnue.

  5. Cliquez sur l’onglet Général .
  6. Sous Versions d’attaque, cliquez sur l’icône + pour afficher l’assistant Nouvelle attaque.
  7. Sur la page Plate-forme et type cibles, sélectionnez une plate-forme d’appareil et un type d’attaque. Le Tableau 2 décrit les types d’attaques.
    Tableau 2 : types d’objets d’attaque

    Type

    Description

    Signature

    Utilise une signature d’attaque dynamique (un modèle qui existe toujours dans une section spécifique de l’attaque) pour détecter les attaques connues.

    Les objets d’attaque par signature dynamique incluent également le protocole ou le service utilisé pour perpétrer l’attaque et le contexte dans lequel l’attaque se produit.

    Si vous connaissez la signature exacte de l’attaque, le protocole et le contexte d’attaque utilisé pour une attaque connue, sélectionnez cette option.

    Attaque composée

    Détecte les attaques qui utilisent plusieurs méthodes pour exploiter une vulnérabilité. Cet objet combine plusieurs signatures ou anomalies de protocole en un seul objet d’attaque, forçant le trafic à faire correspondre toutes les signatures ou anomalies combinées au sein de l’objet d’attaque composé avant que le trafic ne soit identifié comme une attaque.

    En combinant et même en spécifiant l’ordre dans lequel les signatures ou les anomalies doivent correspondre, vous pouvez être très précis sur les événements qui doivent se produire avant que le moteur IDP n’identifie le trafic comme une attaque.

    Si vous avez besoin de détecter une attaque qui utilise plusieurs activités bénignes pour attaquer votre réseau, ou si vous souhaitez imposer une séquence spécifique d’événements avant que l’attaque ne soit considérée comme malveillante, sélectionnez cette option.

  8. Sélectionnez Signature et cliquez sur Suivant.
  9. Sur la page Attaque personnalisée - Propriétés générales, configurez d’autres paramètres. Le tableau 3 fournit des instructions pour compléter les paramètres.
    Tableau 3 : Attaque personnalisée – Propriétés générales

    Propriété

    Description

    Détails de la signature

    Reliure

    Service : si vous avez pu déterminer le service grâce à vos recherches, sélectionnez Service. Plus loin dans l’assistant, vous pouvez spécifier un contexte de service.

    IP : si vous n’êtes pas sûr du service, mais que vous connaissez les détails de l’adresse IP, sélectionnez IP et spécifiez un numéro de type de protocole.

    TCP, UDP ou ICMP : si vous ne connaissez pas le contexte du service, mais que vous connaissez les détails du protocole, sélectionnez-le.

    Pour les types de protocoles TCP et UDP, spécifiez les plages de ports.

    RPC : si vous détectez des menaces via le protocole RPC (Remote Procedure Call), sélectionnez cette option et spécifiez l’ID du programme.

    Le RPC est utilisé par les applications de traitement distribué pour gérer l’interaction entre les processus à distance. Lorsqu’un client fait un appel de procédure à distance à un serveur RPC, le serveur répond avec un programme à distance. Chaque programme distant utilise un numéro de programme différent.

    Activer

    Les attributs de liaison temporelle permettent de suivre le nombre de répétitions d’une signature. En configurant la portée et le nombre d’attaques, vous pouvez détecter une séquence de ces mêmes attaques sur une période de temps (une minute) entre les sessions. Cette méthode est utile pour détecter les attaques par force brute qui tentent de deviner les informations d’identification d’authentification ou qui dépassent la capacité du système à traiter les données.

    Service

    Spécifiez le service utilisé par l’attaque pour pénétrer dans votre réseau. Vous pouvez sélectionner le service spécifique utilisé pour perpétrer l’attaque comme liaison de service.

    Par exemple, supposons que vous sélectionniez le service DISCARD. Le protocole Discard est un protocole de couche applicative dans lequel TCP/9, UDP/9 décrit le processus de suppression des données TCP ou UDP envoyées au port 9.

    Champ d’application temporel

    Sélectionnez l’étendue dans laquelle le comptage a lieu :

    • IP source : détecte la signature dans le trafic à partir de l’adresse IP source pendant le nombre spécifié de fois, quelle que soit l’adresse IP de destination.

    • IP de destination : détecte la signature dans le trafic à partir de l’adresse IP de destination pendant le nombre spécifié de fois, quelle que soit l’adresse IP source.

    • Peer : détecte la signature dans le trafic entre les adresses IP source et de destination des sessions pour le nombre spécifié de fois.

    Nombre de temps

    Spécifiez le nombre de fois que l’objet d’attaque doit détecter une attaque dans l’étendue spécifiée avant que l’appareil considère que l’objet d’attaque correspond à l’attaque.

    La plage est comprise entre 0 et 4 294 967 295.

    Match Assurance

    Spécifiez ce filtre pour suivre les objets d’attaque en fonction de la fréquence à laquelle l’attaque produit un faux positif sur votre réseau.

    Sélectionnez une option :

    • Élevé : fournit des informations sur les faux positifs fréquemment suivis.

    • Moyen : fournit des informations sur les faux positifs occasionnellement suivis.

    • Faible : fournit des informations sur les faux positifs rarement suivis.

    Impact sur les performances

    Spécifiez ce filtre pour filtrer les objets d’attaque lents. Vous pouvez utiliser ce filtre pour sélectionner uniquement les attaques appropriées en fonction de leur impact sur les performances.

    Sélectionnez une option :

    • Élevé : ajoute un objet d’attaque à fort impact qui est vulnérable à une attaque. L’impact des signatures sur les performances est élevé7 à élevé9, où l’identification des applications est lente.

    • Medium (Moyenne) : ajoute un objet d’attaque aux performances moyennes qui est vulnérable à une attaque. L’impact des signatures sur les performances est moyen4 à moyen6, où l’identification de l’application est normale.

    • Faible performance : ajoute un objet d’attaque à faible impact vulnérable à une attaque. L’impact des signatures sur les performances est faible1 à faible3, où l’identification des applications est plus rapide.

    • Unknown (Inconnu) : définit tous les objets d’attaque sur unknown (inconnu) par défaut. Lorsque vous ajustez l’IPS à votre trafic réseau, vous pouvez modifier ce paramètre pour vous aider à suivre l’impact sur les performances. L’impact des signatures sur les performances est de 0 = inconnu, l’identification de l’application étant également inconnue.

    Portée

    Spécifiez si l’attaque est correspondante au sein d’une session ou entre les transactions d’une session :

    • session : autorise plusieurs correspondances pour l’objet au sein d’une même session.

    • transaction : fait correspondre l’objet sur plusieurs transactions qui se produisent au cours de la même session.

    Cliquez sur Suivant.

  10. Sur la page Attaque personnalisée – Modèle d’attaque, configurez les paramètres du modèle. Le Tableau 4 fournit des instructions pour compléter les paramètres.
    Tableau 4 : Attaque personnalisée – Modèle d’attaque

    Réglage

    Description

    Modèle

    Une expression DFA. Les lignes suivantes résument les conventions de syntaxe DFA. Pour plus d’informations, consultez une source standard sur la programmation avec des expressions régulières.

     

    \B.0.1.. 00\B

    Correspondance au niveau du bit pour les protocoles binaires. La longueur du masque de bits doit être en multiples de 8.

    Le premier \B indique le début du masque de bits. Le dernier \B indique la fin du masque de bits.

    La virgule (.) indique que le bit peut être égal à 0 ou à 1.

    Un 0 ou un 1 indique que le bit à cette position doit être 0 ou doit être 1.

    \0 <octal_number>

    Pour une correspondance binaire directe.

    \X<nombre-hexadécimal>\X

    Pour une correspondance binaire directe.

    \[<jeu de caractères>\]

    Pour les correspondances insensibles à la casse.

    .

    Pour correspondre à n’importe quel symbole.

    *

    Pour faire correspondre 0 ou plusieurs symboles.

    +

    Pour faire correspondre 1 ou plusieurs symboles.

    ?

    Pour faire correspondre le symbole 0 ou 1.

    ()

    Groupement d’expressions.

    |

    Alternance. Généralement utilisé avec ().

    Exemple : L’expression suivante correspond chien ou chat : (chien | chat).

    []

    Classe de caractères. N’importe quelle valeur explicite entre parenthèses à la position correspond.

    Exemple : [Dd]ay correspond Jour et jour.

    [<début>-<fin>]

    Plage de caractères. N’importe quelle valeur comprise dans la plage (indiquée par un trait d’union). Vous pouvez mélanger une classe de caractères et une plage hexadécimale.

    Exemple : [AaBbCcDdEeFf0-9].

    [^<début>-<fin>]

    Négation de la plage de caractères.

    Exemple : [^Dd]ay correspond à Hay et ray, mais pas au jour ou au jour.

    Note:

    Pour annuler l’intégralité d’un motif de signature, sélectionnez l’option Annuler dans la zone de texte du motif.

    \u<string>\u

    Correspondances insensibles à Unicode.

    \s

    Espaces.

     

    \

    Utilisez une barre oblique inverse pour échapper les caractères spéciaux afin qu’ils soient mis en correspondance et non traités comme des opérateurs d’expression régulière.

    Personnage Évadé

    *

    \*

    (

    \(

    )

    \)

    .

    \.

    +

    \+

    \

    \\

    [

    \0133

    ]

    \0135

    Note:

    Étant donné que la combinaison de la barre oblique inverse et des crochets ouvrants et fermants est utilisée dans l’expression insensible à la casse, vous devez utiliser la barre oblique inverse avec le code octal pour les caractères entre crochets.

    Nier

    Annule le schéma d’attaque.

    Expressions régulières

    Entrez une expression régulière pour définir des règles correspondant aux comportements malveillants ou indésirables sur le réseau.

    Par exemple : Pour la syntaxe \[hello\], le modèle attendu est hello, ce qui est sensible à la casse.

    Les exemples de correspondances peuvent être : hElLo, HEllO et heLLO.

    Contexte

    Lie la correspondance de motif à un contexte.

    Pour les services connus, tels que HTTP, sélectionnez le service dans la première zone, puis sélectionnez le contexte HTTP que vous avez découvert avec scio ccap, par exemple HTTP POST Parsed Param, dans la deuxième zone.

    Si vous n’avez pas réussi à découvrir le contexte, sélectionnez Autre dans la première zone, puis sélectionnez l’un des contextes suivants dans la deuxième zone :

    • Paquet : détecte le modèle dans n’importe quel paquet.

    • Premier paquet : inspecte uniquement le premier paquet d’un flux. Lorsque le sens de flux est défini sur any, le moteur de détection vérifie le premier paquet des flux de serveur à client (STC) et de client à serveur (CTS). Qui dit moins de traitement, dit plus de performances. Si vous savez que le modèle apparaît dans le premier paquet d’une session, sélectionnez Premier paquet.

    • L’inspection du premier paquet de données se termine après le premier paquet d’un flux. Sélectionnez cette option pour détecter l’attaque uniquement dans le premier paquet de données d’un flux. Si vous savez que le modèle apparaît dans le premier paquet de données d’un flux, sélectionnez Premier paquet de données.

    • Flux 256 : réassemble les paquets et recherche une correspondance de modèle dans les 256 premiers octets d’un flux de trafic. Le flux 256 est souvent le meilleur choix pour les attaques non-UDP. Lorsque le sens d’écoulement est défini sur any, le moteur de détection vérifie les 256 premiers octets des flux STC et CTS. Si vous savez que le modèle apparaîtra dans les 256 premiers octets d’une session, sélectionnez Flux 256.

    • Flux 8K – Comme le flux 256, sauf qu’il réassemble les paquets et recherche une correspondance de modèle dans les 8 192 premiers octets d’un flux de trafic.

    • Stream 1K – Comme Stream 256, sauf qu’il réassemble les paquets et recherche une correspondance de modèle dans les 1024 premiers octets d’un flux de trafic.

    • Ligne : détecte un motif à l’intérieur d’une ligne spécifique. Utilisez ce contexte pour les applications ou protocoles orientés ligne (tels que FTP).

    • Flux : réassemble les paquets et extrait les données pour rechercher une correspondance de modèle. Cependant, le moteur IDP ne reconnaît pas les limites des paquets pour les contextes de flux, de sorte que les données de plusieurs paquets sont combinées. Sélectionnez cette option uniquement lorsqu’aucune autre option de contexte ne contient l’attaque.

    Note:

    Si vous sélectionnez un contexte de ligne, de flux ou de service, vous ne configurez pas de critères de correspondance pour les paramètres IP et les champs d’en-tête de protocole.

    Direction

    Sélectionnez la direction dans laquelle vous souhaitez détecter le motif :

    • Client vers serveur : détecte le modèle uniquement dans le trafic client-serveur.

    • Du serveur au client : détecte le modèle uniquement dans le trafic de serveur à client.

    • Tout : détecte le motif dans l’une ou l’autre direction.

    L’initiateur de session est considéré comme le client, même si cette adresse IP source est un serveur.

    Ajouter une anomalie

    Anomalie

    Sélectionnez une option pour détecter les messages anormaux ou ambigus au sein d’une connexion en fonction de l’ensemble de règles du protocole utilisé.

    La détection des anomalies de protocole fonctionne en trouvant les écarts par rapport aux normes de protocole, le plus souvent définis par les RFC et les extensions RFC courantes.

    Direction

    Spécifiez la direction de connexion de l’attaque :

    • Client vers serveur : détecte l’attaque uniquement dans le trafic client-serveur.

    • Du serveur au client : détecte l’attaque uniquement dans le trafic de serveur à client.

    • Any (N’importe laquelle) : détecte l’attaque dans l’une ou l’autre direction.

    L’utilisation d’une seule direction (au lieu de n’importe laquelle) améliore les performances, réduit le nombre de faux positifs et augmente la précision de la détection.

    Cliquez sur Suivant.

  11. Si vous avez sélectionné un contexte de ligne, de flux, de flux 256 ou de service, ne configurez pas de critères de correspondance pour les paramètres IP et les champs d’en-tête de protocole. Cliquez sur Terminer.

    Si vous utilisez un contexte de paquets, vous pouvez affiner la correspondance en ajoutant des critères pour les indicateurs IP et les en-têtes de paquets, comme décrit dans les tableaux suivants.

    Pourboire:

    Si vous n’êtes pas sûr des indicateurs IP et des champs IP que vous souhaitez faire correspondre, laissez tous les champs vides. Si aucune valeur n’est définie, le moteur IDP tente de faire correspondre la signature pour tous les contenus d’en-tête.

    Sur la page Attaque personnalisée - Paramètres IPv4 et correspondances d’en-tête, configurez les paramètres de modèle. Le Tableau 5 fournit des instructions pour compléter les paramètres.

    Tableau 5 : Attaque personnalisée – Page Paramètres IPv4 et correspondances d’en-tête

    Réglage

    Description

    Validation de la somme de contrôle

    Validez le champ de somme de contrôle par rapport à la somme de contrôle calculée.

    Type de service

    Type de service. Les types de services courants sont les suivants :

    • 0000 Par défaut

    • 0001 Réduire les coûts

    • 0002 Maximiser la fiabilité

    • 0003 Maximiser le débit

    • 0004 Minimiser les retards

    • 0005 Maximiser la sécurité

    Indicateurs IP

    Bits d’indicateur IP.

    DIH

    Longueur de l’en-tête Internet en mots.

    Longueur totale

    Longueur totale du datagramme IP.

    ID

    Valeur unique utilisée par le système de destination pour réassembler un paquet fragmenté.

    Durée de vie

    Durée de vie (TTL) du paquet. Cette valeur représente le nombre de routeurs par lesquels le paquet peut passer. Chaque routeur qui traite le paquet décrémente le TTL de 1 ; lorsque le TTL atteint 0, le paquet est rejeté.

    Protocole

    Protocole utilisé dans l’attaque.

    Source

    Adresse IP de l’appareil attaquant.

    Destination

    Adresse IP de la cible de l’attaque.

    Sur la page Attaque personnalisée - Paramètres IPv6 et correspondances d’en-tête, configurez les paramètres de modèle. Le Tableau 6 fournit des instructions pour compléter les paramètres.

    Tableau 6 : Attaque personnalisée – Page Paramètres IPv6 et correspondances d’en-tête

    Réglage

    Description

    Destination

    Adresse IP de la cible de l’attaque.

    En-tête d’extension

    Définissez l’en-tête de l’extension IPv6 pour le service de détection d’intrusion (IDS).

    Étiquette de flux

    Activez les étiquettes de flux de paquets IPv6.

    Limite de saut

    Spécifie le nombre maximal de sauts que le routeur peut utiliser dans les annonces de routeur et dans tous les paquets IPv6.

    En-tête suivant

    Identifie le type de protocole Internet pour l’en-tête qui suit immédiatement l’en-tête IPv6.

    Longueur de la charge utile

    Spécifie la longueur de la charge utile du paquet IPv6, ou contenu, exprimée en octets.

    Source

    Identifie l’équipement hôte, ou l’interface sur un nœud, qui a généré le paquet IPv6.

    Classe de trafic

    Permet aux nœuds sources ou aux routeurs d’identifier différentes classes (ou priorités en matière de qualité de service) pour les paquets IPv6. (Ce champ remplace le champ Type de service IPv4.)

    Sur la page Attaque personnalisée – En-tête du paquet TCP, configurez les paramètres de modèle. Le tableau 7 fournit des instructions pour compléter les paramètres.

    Tableau 7 : Objet d’attaque personnalisé : champs d’en-tête de paquet TCP

    Réglage

    Description

    Source Port

    Numéro de port sur l’équipement attaquant.

    Destination Port

    Numéro de port de la cible de l’attaque.

    Numéro de séquence

    Numéro de séquence du paquet. Ce numéro identifie l’emplacement des données par rapport à l’ensemble de la séquence de données.

    Numéro ACK

    ACK du paquet. Ce numéro identifie le numéro de séquence suivant ; l’indicateur ACK doit être activé pour activer ce champ.

    Longueur de l’en-tête

    Nombre d’octets dans l’en-tête TCP.

    Taille de la fenêtre

    Nombre d’octets dans la taille de la fenêtre TCP.

    Longueur des données

    Nombre d’octets dans la charge utile de données. Pour les paquets SYN, ACK et FIN, ce champ doit être vide.

    Pointeur urgent

    Les données contenues dans le paquet sont urgentes ; l’indicateur URG doit être activé pour activer ce champ.

    MSS

    Activez et spécifiez la taille maximale du segment TCP.

    Réservé

    Spécifiez les trois bits réservés dans le champ d’en-tête TCP.

    Indicateurs TCP

    Indicateurs d’en-tête TCP. Spécifiez que IDP recherche une correspondance de modèle, que l’indicateur TCP soit défini ou non.

    Mise à l’échelle de la fenêtre

    Spécifiez le facteur d’échelle utilisé par la session de l’attaque.

    Sur la page d’en-tête Attaque personnalisée – UDP, configurez les paramètres de modèle. Le tableau 8 fournit des instructions pour compléter les paramètres.

    Tableau 8 : Objet d’attaque personnalisé : champs d’en-tête UDP

    Réglage

    Description

    Validation de la somme de contrôle

    Validez le champ de somme de contrôle par rapport à la somme de contrôle calculée.

    Source Port

    Numéro de port sur l’équipement attaquant.

    Destination Port

    Numéro de port de la cible de l’attaque.

    Longueur des données

    Nombre d’octets dans la charge utile de données.

    Sur la page d’en-tête Attaque personnalisée – paquet ICMP, configurez les paramètres de modèle. Le tableau 9 fournit des instructions pour compléter les paramètres.

    Tableau 9 : Objet d’attaque personnalisé : champs d’en-tête de paquet ICMP

    Réglage

    Description

    Validation de la somme de contrôle

    Validez le champ de somme de contrôle par rapport à la somme de contrôle calculée.

    ICMP Type

    Code principal qui identifie la fonction de la demande ou de la réponse.

    ICMP Code

    Code secondaire qui identifie la fonction de la requête ou de la réponse dans un type donné.

    Numéro de séquence

    Numéro de séquence du paquet. Ce numéro identifie l’emplacement de la demande/réponse par rapport à l’ensemble de la séquence.

    ICMP ID

    Numéro d’identification, qui est une valeur unique utilisée par le système de destination pour associer les demandes et les réponses.

    Longueur des données

    Nombre d’octets dans la charge utile de données.

  12. Cliquez sur Terminer.

Présentation des objets et groupes d’objets d’attaque IDP prédéfinis

Le package de sécurité pour la détection et la prévention des intrusions (IDP) contient une base de données d’objets d’attaque IDP prédéfinis et de groupes d’objets d’attaque IDP que vous pouvez utiliser dans les stratégies IDP pour faire correspondre le trafic contre des attaques connues et inconnues. Juniper Networks met régulièrement à jour les objets et groupes d’attaques prédéfinis en fonction des modèles d’attaque nouvellement découverts.

Les mises à jour de la base de données des objets d’attaque peuvent inclure :

  • Nouvelles descriptions ou sévérités pour les objets d’attaque existants

  • Nouveaux objets d’attaque

  • Suppression des objets d’attaque obsolètes

Cette rubrique comprend les sections suivantes :

Objets d’attaque prédéfinis

Les objets d’attaque prédéfinis sont répertoriés par ordre alphabétique. Ces objets d’attaque ont des noms uniques qui vous aident à identifier l’attaque. La première partie du nom indique le groupe auquel appartient l’objet d’attaque. Par exemple:

  • FTP:USER:ROOT: appartient au FTP:USER groupe. Il détecte les tentatives de connexion à un serveur FTP à l’aide du root compte.

  • HTTP:HOTMAIL:FILE-UPLOAD: appartient au HTTP:HOTMAIL groupe. Il détecte les fichiers joints aux e-mails envoyés via le service Hotmailde messagerie Web .

Groupes d’objets d’attaque prédéfinis

La liste des groupes d’attaque prédéfinis affiche les objets d’attaque dans les catégories décrites ci-dessous. Une liste de recommandations d’objets d’attaque que Juniper Networks considère comme des menaces sérieuses est également disponible. Les objets d’attaque recommandés sont classés dans les catégories suivantes :

Tableau 10 : groupes d’objets d’attaque prédéfinis

Groupe d’objets d’attaque

Description

Type d’attaque

Regroupe les objets d’attaque par type (anomalie ou signature). À l’intérieur de chaque type, les objets d’attaque sont regroupés par gravité.

Catégorie

Regroupe les objets d’attaque en fonction de catégories prédéfinies. Au sein de chaque catégorie, les objets d’attaque sont regroupés par gravité.

Système d’exploitation

Regroupe les objets d’attaque en fonction du système d’exploitation auquel ils s’appliquent : BSD, Linux, Solaris ou Windows. Au sein de chaque système d’exploitation, les objets d’attaque sont regroupés par services et par gravité.

Sévérité

Regroupe les objets d’attaque en fonction de la gravité attribuée à l’attaque. IDP dispose de cinq niveaux de gravité : Critique, Majeur, Mineur, Avertissement, Info. À l’intérieur de chaque gravité, les objets d’attaque sont regroupés par catégorie.

Web Services

Regroupe les objets attaqués par des services Web courants. Ces services sont regroupés par niveaux de gravité : Avertissement, Critique, Majeur, Mineur, Info.

Divers

Regroupe les objets d’attaque par niveau de performance. Les objets d’attaque affectant les performances IDP à un certain niveau sont regroupés dans cette catégorie.

Réponse

Regroupe les objets d’attaque dans le trafic circulant dans la direction du serveur vers le client.

Comprendre les objets d’attaque personnalisés

Vous pouvez créer des objets d’attaque personnalisés pour détecter de nouvelles attaques ou personnaliser des objets d’attaque prédéfinis pour répondre aux besoins uniques de votre réseau.

Pour configurer un objet d’attaque personnalisé, spécifiez un nom unique pour celui-ci, puis spécifiez des informations supplémentaires, telles qu’une description générale et des mots-clés, ce qui peut vous aider à localiser et à gérer plus facilement l’objet d’attaque.

Certaines propriétés des définitions d’objet d’attaque sont communes à tous les types d’attaques, telles que le nom de l’attaque, la description, le niveau de gravité, la liaison de service ou d’application, la liaison temporelle, l’action recommandée et la liaison de protocole ou de port. Certains champs sont spécifiques à un type d’attaque et ne sont disponibles que pour cette définition d’attaque spécifique.

Note:

La fonctionnalité IDP est activée par défaut, aucune licence n’est requise. Il est également possible de configurer et d’installer des attaques personnalisées et des groupes d’attaques personnalisés dans les stratégies IDP, même si aucune licence valide ni base de données de signatures n’est installée sur l’appareil.

Cette rubrique comprend les sections suivantes :

Nom de l’attaque

Spécifiez un nom alphanumérique pour l’objet. Vous pouvez inclure le protocole utilisé par l’attaque dans le nom de l’attaque.

À partir de la version 15.1X49-D140 de Junos OS, le nombre maximal de caractères autorisés pour un nom d’objet d’attaque personnalisé est de 60. Vous pouvez valider l’instruction à l’aide de la set security idp custom-attack commande.

Sévérité

Spécifie la brutalité de l’attaque sur votre réseau. Les catégories de gravité, par ordre croissant de brutalité, sont info, avertissement, mineur, majeur, critique. Les attaques critiques sont les plus dangereuses : elles visent généralement à faire planter votre serveur ou à prendre le contrôle de votre réseau. Les attaques informationnelles sont les moins dangereuses et sont généralement utilisées par les administrateurs réseau pour découvrir des failles dans leurs propres systèmes de sécurité.

Liaisons de service et d’application

Le champ de liaison de service ou d’application spécifie le service utilisé par l’attaque pour pénétrer dans votre réseau.

Note:

Spécifiez la liaison de service ou de protocole dans une attaque personnalisée. Si vous spécifiez les deux, la liaison de service est prioritaire.

  • any: indiquez any si vous n’êtes pas sûr du service correct et si vous souhaitez faire correspondre la signature dans tous les services. Étant donné que certaines attaques utilisent plusieurs services pour attaquer votre réseau, vous souhaiterez peut-être sélectionner la Any liaison de service pour détecter l’attaque, quel que soit le service choisi par l’attaque pour une connexion.

  • service: la plupart des attaques utilisent un service spécifique pour attaquer votre réseau. Vous pouvez sélectionner le service spécifique utilisé pour perpétrer l’attaque comme liaison de service.

    Pour obtenir la liste des services, des liaisons de service et des contextes, reportez-vous à la section Présentation des objets d’attaque personnalisés IDP Contextes de service

Liaisons de protocole et de port

Les liaisons de protocole ou de port vous permettent de spécifier le protocole qu’une attaque utilise pour pénétrer dans votre réseau. Vous pouvez spécifier le nom du protocole réseau ou le numéro de protocole.

Note:

Spécifiez la liaison de service ou de protocole dans une attaque personnalisée. Si vous spécifiez les deux, la liaison de service est prioritaire.

  • IP : vous pouvez spécifier n’importe quel protocole de couche réseau pris en charge à l’aide de numéros de protocole. Le Tableau 11 répertorie les numéros de protocole des différents protocoles.

    Tableau 11 : protocoles pris en charge et numéros de protocoles

    Nom du protocole

    Numéro de protocole

    IGMP

    2

    IP-IP

    4

    EGP

    8

    CHIOT

    12

    PQ

    29

    L’IPV6

    41

    ROUTAGE

    43

    FRAGMENT

    44

    RSVP

    46

    GRE

    47

    ESP

    50

    AH

    51

    L’ICMPV6

    58

    AUCUN

    59

    DSTOPTS

    60

    MTP

    92

    L’ENCAP

    98

    PIM

    103

    COMP

    108

    CRU

    255

  • ICMP, TCP et UDP : les attaques qui n’utilisent pas un service spécifique peuvent utiliser des ports spécifiques pour attaquer votre réseau. Certaines attaques TCP et UDP utilisent des ports standard pour pénétrer dans votre réseau et établir une connexion.

  • RPC : le protocole d’appel de procédure à distance (RPC) est utilisé par les applications de traitement distribué pour gérer l’interaction entre les processus à distance. Lorsqu’un client fait un appel de procédure à distance à un serveur RPC, le serveur répond avec un programme à distance ; Chaque programme distant utilise un numéro de programme différent. Pour détecter les attaques qui utilisent RPC, configurez la liaison de service en tant que RPC et spécifiez l’ID de programme RPC.

Le Tableau 12 présente des exemples de formats pour les protocoles clés.

Tableau 12 : Exemples de formats pour les protocoles

Nom du protocole

Numéro de protocole

Description

ICMP

<Port>ICMP</Port>

Spécifiez le nom du protocole.

IP

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

Spécifiez le numéro de protocole de la couche réseau.

Le RPC

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

Spécifiez le numéro du programme RPC.

TCP ou UDP

  • <Port>TCP </Port>

  • <Port>TCP/port </Port>

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

La spécification du port est facultative pour les protocoles TCP et UDP. Par exemple, vous pouvez spécifier l’un des éléments suivants :

  • <Port>UDP</Port>

  • <Port>UDP/10</Port>

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

Liaisons temporelles

Utilisez des liaisons temporelles pour configurer les attributs d’heure de l’objet d’attaque personnalisé de liaison temporelle. Les attributs de temps contrôlent la façon dont l’objet d’attaque identifie les attaques qui se répètent un certain nombre de fois. En configurant la portée et le nombre d’attaques, vous pouvez détecter une séquence de ces mêmes attaques sur une période donnée entre les sessions.

À partir de Junos OS version 18.4R1, vous pouvez configurer l’intervalle de temps maximal entre deux instances d’une attaque personnalisée à liaison temporelle et la plage de l’intervalle de temps maximal est comprise entre 0 minute et 0 seconde et 60 minutes et 0 seconde. Dans les versions de Junos OS antérieures à la version 18.4R1, l’intervalle de temps maximal entre deux instances d’une attaque par liaison temporelle est de 60 secondes pour que le nombre de déclencheurs d’attaque atteigne le nombre configuré dans la liaison temporelle. L’instruction interval interval-value est introduite au niveau de la [edit security idp custom-attack attack-name time-binding] hiérarchie pour configurer une liaison temporelle personnalisée.

Portée

Spécifiez la portée dans laquelle le nombre d’attaques se produit :

  • Source : spécifiez cette option pour détecter les attaques à partir de l’adresse source le nombre spécifié de fois, quelle que soit l’adresse de destination. Cela signifie que pour une attaque donnée, une valeur seuil est conservée pour chaque attaque à partir de l’adresse source. L’adresse de destination est ignorée. Par exemple, des anomalies sont détectées à partir de deux paires différentes (ip-a,) et (,ip-aip-c ) qui ont la même adresse ip-a source mais des adresses ip-b de destination différentes et ip-c ip-b. Ensuite, le nombre de correspondances pour ip-a les incréments jusqu’à 2. Supposons que la valeur seuil ou count soit également définie sur 2, la signature déclenche l’événement d’attaque.

  • Destination : spécifiez cette option pour détecter les attaques envoyées à l’adresse de destination le nombre spécifié de fois, quelle que soit l’adresse source. Cela signifie que pour une attaque donnée, une valeur seuil est conservée pour chaque attaque à partir de l’adresse de destination. L’adresse source est ignorée. Par exemple, si des anomalies sont détectées à partir de deux paires différentes (ip-a,) et (,ip-cip-b ) qui ont la même adresse ip-b de destination mais des adresses ip-a source différentes et ip-c ip-b. Ensuite, le nombre de correspondances pour ip-b les incréments jusqu’à 2. Supposons que la valeur seuil or count soit également définie sur 2, alors la signature déclenche l’événement d’attaque.

  • Peer : spécifiez cette option pour détecter les attaques entre les adresses IP source et de destination des sessions pendant le nombre spécifié de fois. Cela signifie que la valeur de seuil s’applique à une paire d’adresses source et de destination. Supposons que des anomalies soient détectées à partir de deux paires source/destination différentes (ip-a, ) et (,ip-aip-c ). ip-b Ensuite, le nombre de correspondances pour chaque paire est défini sur 1, même si les deux paires ont une adresse source commune.

Compter

La valeur du nombre ou du seuil spécifie le nombre de fois que l’objet d’attaque doit détecter une attaque dans l’étendue spécifiée avant que l’équipement ne considère que l’objet d’attaque correspond à l’attaque. Si vous liez l’objet d’attaque à plusieurs ports et que l’objet d’attaque détecte cette attaque sur différents ports, chaque attaque sur chaque port est comptée comme une occurrence distincte. Par exemple, lorsque l’objet d’attaque détecte une attaque le puis le , le nombre est égal à TCP/80 TCP/8080deux.

Une fois la count correspondance atteinte, chaque attaque qui correspond aux critères entraîne une augmentation du nombre d’attaques d’une unité. Ce cycle de comptage dure une durée définie par l’utilisateur (configurée à l’aide de l’option interval ), après quoi le cycle se répète.

Intervalle

Intervalle spécifie l’intervalle de temps maximal entre deux instances d’une attaque personnalisée à liaison temporelle. La plage de l’intervalle de temps est comprise entre 0 seconde et 1 heure et la valeur par défaut est de 60 secondes.

Propriétés de l’attaque (attaques signatures)

Les objets d’attaque de signature utilisent une signature d’attaque dynamique (un modèle qui existe toujours dans une section spécifique de l’attaque) pour détecter les attaques connues. Ils incluent également le protocole ou le service utilisé pour perpétrer l’attaque et le contexte dans lequel l’attaque se produit. Les propriétés suivantes sont spécifiques aux attaques de signature, et vous pouvez les configurer lors de la configuration de l’attaque de signature :

Note:

Le contexte de l’attaque, le type de flux et la direction sont des champs obligatoires pour définir la signature de l’attaque.

Contexte de l’attaque

Un contexte d’attaque définit l’emplacement de la signature. Si vous connaissez le service et le contexte du service spécifique, spécifiez-le, puis spécifiez les contextes de service appropriés. Si vous connaissez le service, mais que vous n’êtes pas sûr du contexte spécifique du service, spécifiez l’un des contextes généraux suivants :

  • first-data-packet: spécifiez ce contexte pour détecter l’attaque uniquement dans le premier paquet de données.

  • first-packet: spécifiez ce contexte pour détecter l’attaque uniquement dans le premier paquet d’un flux. Lorsque le sens de flux de l’objet d’attaque est défini sur any, l’appareil vérifie le premier paquet des flux serveur-client et client-serveur. Si vous savez que la signature de l’attaque apparaît dans le premier paquet d’une session, le fait de choisir first packet plutôt que de packet réduire la quantité de trafic que l’équipement doit surveiller, ce qui améliore les performances.

  • packet: spécifiez ce contexte pour qu’il corresponde au modèle d’attaque au sein d’un paquet. Lorsque vous sélectionnez cette option, vous devez également spécifier la liaison de service pour définir les options d’en-tête de service . Bien que cela ne soit pas obligatoire, la spécification de ces paramètres supplémentaires améliore la précision de l’objet d’attaque et donc les performances.

  • line: spécifiez ce contexte pour détecter une correspondance de motif à l’intérieur d’une ligne spécifique de votre trafic réseau.

  • normalized-stream: spécifiez ce contexte pour détecter l’attaque dans l’ensemble d’un flux normalisé. Le flux normalisé est l’une des multiples façons d’envoyer des informations. Dans ce flux, les informations contenues dans le paquet sont normalisées avant qu’une correspondance ne soit effectuée. Supposons www.yahoo.com/sports que soit identique à www.yahoo.com/s%70orts. La forme normalisée pour représenter ces deux URL peut être www.yahoo.com/sports. Choisissez normalized stream au lieu de stream, à moins que vous ne souhaitiez détecter un modèle dans sa forme exacte. Par exemple, si vous souhaitez détecter le modèle www.yahoo.com/s%70ortsexact , sélectionnez stream.

  • normalized-stream256: spécifiez ce contexte pour détecter l’attaque dans les 256 premiers octets d’un flux normalisé.

  • normalized-stream1k: spécifiez ce contexte pour détecter l’attaque dans les 1024 premiers octets d’un flux normalisé.

  • normalized-stream-8k: spécifiez ce contexte pour détecter l’attaque uniquement dans les 8 192 premiers octets d’un flux normalisé.

  • stream: spécifie ce contexte pour réassembler les paquets et extraire les données pour rechercher une correspondance de motif. Cependant, l’appareil ne peut pas reconnaître les limites des paquets pour les contextes de flux, de sorte que les données de plusieurs paquets sont combinées. Spécifiez cette option uniquement lorsqu’aucune autre option de contexte ne contient l’attaque.

  • stream256: spécifiez ce contexte pour réassembler les paquets et rechercher une correspondance de modèle dans les 256 premiers octets d’un flux de trafic. Lorsque le sens de flux est défini sur any, l’appareil vérifie les 256 premiers octets des flux serveur-client et client-serveur. Si vous savez que la signature de l’attaque apparaîtra dans les 256 premiers octets d’une session, le fait de choisir stream256 plutôt que stream de réduire la quantité de trafic que l’équipement doit surveiller et mettre en cache, améliorant ainsi les performances.

  • stream1k: spécifiez ce contexte pour réassembler les paquets et rechercher une correspondance de modèle dans les 1024 premiers octets d’un flux de trafic. Lorsque le sens de flux est défini sur any, l’appareil vérifie les 1024 premiers octets des flux de serveur à client et de client à serveur. Si vous savez que la signature de l’attaque apparaîtra dans les 1024 premiers octets d’une session, stream1024 choisissez plutôt de stream réduire la quantité de trafic que l’appareil doit surveiller et mettre en cache, améliorant ainsi les performances.

  • stream8k: spécifiez ce contexte pour réassembler les paquets et rechercher une correspondance de modèle dans les 8 192 premiers octets d’un flux de trafic. Lorsque le sens de flux est défini sur any, l’appareil vérifie les 8 192 premiers octets des flux de serveur à client et de client à serveur. Si vous savez que la signature de l’attaque apparaîtra dans les 8 192 premiers octets d’une session, choisissez stream8192 plutôt de stream réduire la quantité de trafic que l’appareil doit surveiller et mettre en cache, améliorant ainsi les performances.

Direction de l’attaque

Vous pouvez spécifier la direction de connexion de l’attaque. L’utilisation d’une seule direction (au lieu de ) améliore les performances, réduit le nombre de faux positifs et augmente la précision de Anyla détection.

  • Du client au serveur (ne détecte l’attaque que dans le trafic du client au serveur)

  • Du serveur au client (détecte l’attaque uniquement dans le trafic de serveur à client)

  • N’importe lequel (détecte l’attaque dans les deux sens)

Schéma d’attaque

Les schémas d’attaque sont des signatures des attaques que vous souhaitez détecter. Une signature est un motif qui existe toujours au sein d’une attaque ; Si l’attaque est présente, la signature l’est aussi. Pour créer le modèle d’attaque, vous devez d’abord analyser l’attaque afin de détecter un modèle (tel qu’un segment de code, une URL ou une valeur dans un en-tête de paquet), puis créer une expression syntaxique qui représente ce modèle. Vous pouvez également annuler un motif. La négation d’un modèle signifie que l’attaque est considérée comme correspondant si le modèle défini dans l’attaque correspond au not modèle spécifié.

Note:

La négation de modèle est prise en charge uniquement pour les contextes basés sur des paquets, des lignes et des applications, et non pour les contextes de flux et de flux normalisés.

Paramètres spécifiques au protocole

Spécifie certaines valeurs et options existantes dans les en-têtes de paquets. Ces paramètres sont différents selon les protocoles. Dans une définition d’attaque personnalisée, vous ne pouvez spécifier des champs que pour l’un des protocoles suivants : TCP, UDP ou ICMP. Cependant, vous pouvez définir des champs de protocole IP avec TCP ou UDP dans une définition d’attaque personnalisée.

Note:

Les paramètres d’en-tête ne peuvent être définis que pour les objets d’attaque qui utilisent un contexte de paquet ou de premier paquet. Si vous avez spécifié une ligne, un flux, un flux 256 ou un contexte de service, vous ne pouvez pas spécifier de paramètres d’en-tête.

Si vous n’êtes pas sûr des options ou des paramètres d’indicateur du paquet malveillant, laissez tous les champs vides et la détection et prévention d’intrusion (IDP) tente de faire correspondre la signature pour tout le contenu de l’en-tête.

Le Tableau 13 affiche les champs et les indicateurs que vous pouvez définir pour les attaques qui utilisent le protocole IP.

Tableau 13 : champs et indicateurs de protocole IP

Champ

Description

Type de service

Spécifiez une valeur pour le type de service. Les types de services courants sont les suivants :

  • 0000 Par défaut

  • 0001 Réduire les coûts

  • 0002 Maximiser la fiabilité

  • 0003 Maximiser le débit

  • 0004 Minimiser les retards

  • 0005 Maximiser la sécurité

Longueur totale

Spécifiez une valeur pour le nombre d’octets dans le paquet, y compris tous les champs d’en-tête et la charge utile de données.

ID

Spécifiez une valeur pour la valeur unique utilisée par le système de destination pour réassembler un paquet fragmenté.

Temps de vie

Spécifiez une valeur entière comprise entre 0 et 255 pour la durée de vie (TTL) du paquet. Cette valeur représente le nombre d’équipements que le paquet peut traverser. Chaque routeur qui traite le paquet décrémente le TTL de 1; lorsque le TTL atteint 0, le paquet est rejeté.

Protocole

Spécifiez une valeur pour le protocole utilisé.

Source

Saisissez l’adresse source de l’appareil attaquant.

Destination

Saisissez l’adresse de destination de la cible de l’attaque.

Bit réservé

Ce bit n’est pas utilisé.

Plus de fragments

Lorsqu’elle est définie (1), cette option indique que le paquet contient plus de fragments. Lorsqu’il n’est pas défini (0), il indique qu’il ne reste plus de fragments.

Ne fragmentez pas

Lorsqu’elle est définie (1), cette option indique que le paquet ne peut pas être fragmenté pour la transmission.

Le Tableau 14 affiche les champs d’en-tête de paquet et les indicateurs que vous pouvez définir pour les attaques utilisant le protocole TCP.

Tableau 14 : Champs et indicateurs d’en-tête TCP

Champ

Description

Source Port

Spécifiez une valeur pour le numéro de port sur l’équipement attaquant.

Destination Port

Spécifiez une valeur pour le numéro de port de la cible de l’attaque.

Numéro de séquence

Spécifiez une valeur pour le numéro de séquence du paquet. Ce numéro identifie l’emplacement des données par rapport à l’ensemble de la séquence de données.

Numéro ACK

Spécifiez une valeur pour le numéro ACK du paquet. Ce numéro identifie le numéro de séquence suivant ; l’indicateur ACK doit être activé pour activer ce champ.

Longueur de l’en-tête

Spécifiez une valeur pour le nombre d’octets dans l’en-tête TCP.

Longueur des données

Spécifiez une valeur pour le nombre d’octets dans la charge utile de données. Pour les paquets SYN, ACK et FIN, ce champ doit être vide.

Taille de la fenêtre

Spécifiez une valeur pour le nombre d’octets dans la taille de la fenêtre TCP.

Pointeur urgent

Spécifiez une valeur pour le pointeur urgent. La valeur indique que les données du paquet sont urgentes ; l’indicateur URG doit être activé pour activer ce champ.

URG

Lorsqu’il est défini, l’indicateur urgent indique que les données du paquet sont urgentes.

ACK

Lorsqu’il est défini, l’indicateur d’accusé de réception accuse réception d’un paquet.

PSH (en anglais)

Lorsqu’il est défini, l’indicateur push indique que le récepteur doit envoyer toutes les données de la séquence actuelle à l’application de destination (identifiée par le numéro de port) sans attendre les paquets restants dans la séquence.

Le RST

Lorsqu’il est défini, l’indicateur de réinitialisation réinitialise la connexion TCP, en rejetant tous les paquets d’une séquence existante.

SYN

Lorsqu’il est défini, l’indicateur SYN indique une demande pour une nouvelle session.

NAGEOIRE

Lorsqu’il est défini, l’indicateur final indique que le transfert de paquets est terminé et que la connexion peut être fermée.

R1

Ce bit réservé (1 sur 2) n’est pas utilisé.

R2

Ce bit réservé (2 sur 2) n’est pas utilisé.

Le Tableau 15 affiche les champs d’en-tête de paquet et les indicateurs que vous pouvez définir pour les attaques utilisant le protocole UDP.

Tableau 15 : Champs et indicateurs d’en-tête UDP

Champ

Description

Source Port

Spécifiez une valeur pour le numéro de port sur l’équipement attaquant.

Destination Port

Spécifiez une valeur pour le numéro de port de la cible de l’attaque.

Longueur des données

Spécifiez une valeur pour le nombre d’octets dans la charge utile de données.

Le Tableau 16 affiche les champs d’en-tête de paquet et les indicateurs que vous pouvez définir pour les attaques utilisant le protocole ICMP.

Tableau 16 : Champs d’en-tête et indicateurs ICMP

Champ

Description

ICMP Type

Spécifiez une valeur pour le code principal qui identifie la fonction du paquet de demande ou de réponse.

ICMP Code

Spécifiez une valeur pour le code secondaire qui identifie la fonction du paquet de demande ou de réponse dans un type donné.

Numéro de séquence

Spécifiez une valeur pour le numéro de séquence du paquet. Ce numéro identifie l’emplacement du paquet de demande ou de réponse par rapport à l’ensemble de la séquence.

ICMP ID

Spécifiez une valeur pour le numéro d’identification. Le numéro d’identification est une valeur unique utilisée par le système de destination pour associer les paquets de demande et de réponse.

Longueur des données

Spécifiez une valeur pour le nombre d’octets dans la charge utile de données.

Exemple de définition d’une attaque par signature

Voici un exemple de définition d’attaque par signature :

Propriétés de l’attaque (attaques par anomalies de protocole)

Un objet d’attaque par anomalie de protocole détecte les attaques inconnues ou sophistiquées qui violent les spécifications du protocole (RFC et extensions RFC courantes). Vous ne pouvez pas créer d’anomalies de protocole, mais vous pouvez configurer un nouvel objet d’attaque qui contrôle la façon dont votre appareil gère une anomalie de protocole prédéfinie lorsqu’il est détecté.

Note:

La liaison de service ou d’application est un champ obligatoire pour les attaques par anomalie de protocole.

Les propriétés suivantes sont spécifiques aux attaques par anomalie de protocole. La direction de l’attaque et la condition de test sont des champs obligatoires pour configurer les définitions d’attaque par anomalie.

Direction de l’attaque

La direction de l’attaque vous permet de spécifier la direction de connexion d’une attaque. L’utilisation d’une seule direction (au lieu de ) améliore les performances, réduit le nombre de faux positifs et augmente la précision de Anyla détection :

  • Du client au serveur (ne détecte l’attaque que dans le trafic du client au serveur)

  • Du serveur au client (détecte l’attaque uniquement dans le trafic de serveur à client)

  • N’importe lequel (détecte l’attaque dans les deux sens)

Condition d’essai

La condition de test est une condition à associer pour une attaque par anomalie. Juniper Networks prend en charge certaines conditions de test prédéfinies. Dans l’exemple suivant, la condition est un message trop long. Si la taille du message est supérieure à la valeur préconfigurée pour cette condition de test, l’attaque est mise en correspondance.

Exemple de définition d’une attaque par anomalie de protocole

Voici un exemple de définition d’une attaque par anomalie de protocole :

Propriétés d’attaque (attaques combinées ou en chaîne)

Un objet d’attaque composé ou en chaîne détecte les attaques qui utilisent plusieurs méthodes pour exploiter une vulnérabilité. Cet objet combine plusieurs signatures et/ou anomalies de protocole en un seul objet d’attaque, ce qui oblige le trafic à faire correspondre un modèle de signatures et d’anomalies combinées au sein de l’objet d’attaque composé avant que le trafic ne soit identifié comme une attaque. En combinant, voire en spécifiant l’ordre dans lequel les signatures ou les anomalies doivent correspondre, vous pouvez être très précis sur les événements qui doivent se produire avant que l’équipement n’identifie le trafic comme une attaque.

Vous devez spécifier un minimum de 2 membres (attaques) dans une attaque composée. Vous pouvez spécifier jusqu’à 32 membres dans l’attaque composée. Les membres peuvent être des attaques par signature ou par anomalie.

Les propriétés suivantes sont spécifiques aux attaques composées :

Portée

L’étendue vous permet de spécifier si l’attaque correspond au sein d’une session ou entre les transactions d’une session. Si le service spécifié prend en charge plusieurs transactions au sein d’une même session, vous pouvez également spécifier si la correspondance doit se produire sur une seule session ou peut être effectuée sur plusieurs transactions au sein d’une session :

  • Spécifiez session pour autoriser plusieurs correspondances pour l’objet au sein de la même session.

  • Spécifiez transaction de faire correspondre l’objet à plusieurs transactions qui se produisent au cours de la même session.

Commande

Utilisez la correspondance ordonnée pour créer un objet d’attaque composé qui doit correspondre à chaque signature de membre ou anomalie de protocole dans l’ordre que vous spécifiez. Si vous ne spécifiez pas de correspondance ordonnée, l’objet d’attaque composé doit toujours correspondre à tous les membres, mais le modèle d’attaque ou les anomalies de protocole peuvent apparaître dans l’attaque dans un ordre aléatoire.

Réinitialisation

Spécifie qu’un nouveau journal est généré chaque fois qu’une attaque est détectée au cours de la même session. Si ce champ est activé no , l’attaque n’est consignée qu’une seule fois pour une session.

Expression (expression booléenne)

L’utilisation du champ d’expression booléenne désactive la fonction de correspondance ordonnée. Le champ d’expression booléenne utilise les propriétés du nom du membre ou de l’index du membre. Les trois opérateurs booléens suivants sont pris en charge, ainsi que les parenthèses, ce qui permet de déterminer la priorité :

  • or: si l’un ou l’autre des modèles de nom de membre correspond, l’expression correspond.

  • and: si les deux modèles de nom de membre correspondent, l’expression correspond. Peu importe l’ordre dans lequel les membres apparaissent.

  • oand (ordered and): si les deux modèles de nom de membre correspondent et s’ils apparaissent dans le même ordre que celui spécifié dans l’expression booléenne, l’expression correspond.

Supposons que vous ayez créé cinq membres de signature, intitulés s1-s5. Supposons que vous sachiez que l’attaque contient toujours le motif s1, suivi de soit s2 ou s3. Vous savez également que l’attaque contient s4 toujours et , s5mais que leurs positions dans l’attaque peuvent varier. Dans ce cas, vous pouvez créer l’expression booléenne suivante :

Note:

Vous pouvez définir une correspondance ordonnée ou une expression (pas les deux) dans une définition d’attaque personnalisée.

Index des membres

L’index des membres est spécifié dans les attaques en chaîne afin d’identifier un membre (attaque) de manière unique. Dans l’exemple suivant, l’index de membre est utilisé pour identifier les membres m01 et m02 dans l’expression définie :

Note:

Lors de la définition de l’expression, vous devez spécifier l’index des membres pour tous les membres.

Exemple de définition d’une attaque composée

Voici un exemple de définition d’une attaque composée :

Création d’un objet d’attaque composé

Utiliser des objets d’attaque composés dans les cas où :

  • Les attaques utilisent plusieurs méthodes pour exploiter une vulnérabilité et, examinées de manière indépendante, les contextes individuels semblent bénins.

  • L’appariement de plusieurs contextes réduit le nombre de faux positifs.

  • Le couplage d’une signature à une anomalie de protocole réduit le nombre de faux positifs.

Vous sélectionnez des objets d’attaque de signature ou des anomalies prédéfinies en tant que « membres » de l’objet composé, et vous utilisez des expressions booléennes pour spécifier la logique de correspondance.

Pour configurer un objet d’attaque composé :

  1. Configurez les propriétés générales de l’objet d’attaque et les informations de référence comme décrit pour les objets d’attaque de signature.

    Sur la page Plate-forme et type cibles, sélectionnez une plate-forme cible, sélectionnez Attaque composée, puis cliquez sur Suivant.

  2. Sur la page Attaque personnalisée - Propriétés générales, configurez les paramètres décrits dans le Tableau 17.
    Tableau 17 : Attaque personnalisée – Propriétés générales

    Propriété

    Description

    Liaison temporelle

    Mêmes directives que pour les objets d’attaque de signature.

    Cliquez sur Suivant.

  3. Sur la page Membres composés, spécifiez les paramètres d’attaque composée et ajoutez des membres. Le Tableau 18 fournit des instructions pour compléter les paramètres.
    Tableau 18 : Paramètres d’attaque combinée

    Réglage

    Description

    Portée

    Indiquez si l’attaque est ciblée au sein d’une session ou entre les transactions d’une session. Sélectionnez l’une des options suivantes :

    • Session : autorise plusieurs correspondances pour l’objet au sein de la même session.

    • Transaction (Transaction) : fait correspondre l’objet sur plusieurs transactions effectuées au cours de la même session.

    Réinitialisation

    Activez cette option pour générer un nouveau journal chaque fois qu’une attaque est détectée au sein de la même session. Si cette option n’est pas sélectionnée, l’attaque n’est consignée qu’une seule fois par session.

    Expression booléenne

    Entrez une expression booléenne des membres de l’attaque utilisée pour identifier la façon dont les membres de l’attaque doivent être appariés. Saisissez une expression booléenne à l’aide des opérateurs booléens suivants :

    • OU : si l’un des modèles de nom de membre correspond, l’expression correspond.

    • ET : si les deux modèles de nom de membre correspondent, l’expression correspond. Peu importe l’ordre dans lequel les membres apparaissent.

    • OAND : si les deux modèles de noms de membres correspondent, et s’ils apparaissent dans le même ordre que dans l’expression booléenne, l’expression correspond.

    Par exemple, l’expression booléenne (s1 OAND s2) OR (s1 OAND s3)) AND (s4 AND s5) correspondrait à une attaque qui contient s1 suivi de s2 ou s3, et qui contient également s4 et s5 à n’importe quel endroit.

    Ajouter un membre

    Cliquez sur l’icône +, sélectionnez Anomalie de signature ou de protocole, puis complétez les détails de configuration.

    Pour les membres de signature, spécifiez les mêmes informations contextuelles que pour un objet d’attaque de signature.

    Pour les membres d’anomalies de protocole, sélectionnez-les dans une liste d’anomalies de protocole prédéfinies.

    Bonne pratique :

    Voici des exemples de convention de nommage pour les membres : m01, m02, m03, etc. Il est recommandé d’utiliser cette même convention de nommage.

    Commande

    Activez cette option pour créer un objet d’attaque composé qui doit correspondre à chaque signature de membre ou anomalie de protocole dans l’ordre que vous spécifiez. Si vous ne spécifiez pas d’ordre, l’objet d’attaque composé doit toujours correspondre à tous les membres, mais les anomalies de modèle ou de protocole peuvent apparaître dans l’attaque dans n’importe quel ordre.

    Un objet d’attaque composé détecte les attaques qui utilisent plusieurs méthodes pour exploiter une vulnérabilité.

    Liaison de protocole

    Liaison de protocole quant à l’attaque qui sera détectée.

  4. Cliquez sur Terminer.

Modification d’objets d’attaque personnalisés en raison des changements introduits dans la mise à jour de signature

Cette rubrique décrit les modifications apportées à certains contextes de service générés par le décodeur de protocole HTTP. À partir de la mise à jour de signature #1972, le décodeur de protocole HTTP ne génère plus de contextes. Si votre stratégie de sécurité IDP inclut des signatures personnalisées qui utilisent les contextes qui ont été supprimés, vous devez modifier vos définitions d’objets d’attaque comme décrit ci-dessous pour éviter les erreurs de compilation de stratégie. Cette rubrique contient les informations suivantes :

Référence : Contextes supprimés

Pour améliorer les performances, le décodeur de protocole HTTP ne génère plus les contextes répertoriés dans la première colonne du tableau 19. Consultez ce tableau pour obtenir des instructions sur le remplacement des contextes dans les objets d’attaque personnalisés.

Tableau 19 : Contextes du service HTTP

Enlevé

Remplacer par

Directive

http-text-html-body

http-texte-html

Remplacez les signatures qui utilisent le contexte http-text-html-body par http-text-html. Vous n’avez pas besoin d’apporter de modifications au motif de signature ou à d’autres propriétés.

  • 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

Utilisez une combinaison des contextes suivants :

  • méthode_de_requête_http

  • http-url-parsed

  • http-variable-parsed

Utilisez une signature composée avec un booléen ET pour diviser le motif de signature en plusieurs morceaux. Assurez-vous que le champ Portée est défini sur Transaction.

L’utilisation du contexte http-request-method est facultative. Vous utilisez le contexte http-request-method pour lier la détection aux transactions http GET ou POST ou HEAD. Pour la méthode GET, nous utilisons le modèle \[GET\] (GET insensible à la casse). N’utilisez http-request-method que si les résultats que vous avez enregistrés précédemment et qui correspondent à la méthode de requête valent la peine d’être conservés. Si ce n’est pas le cas, omettez-le pour améliorer les performances. Si vous utilisez http-request-method, commandez-le en premier dans la chaîne composée.

Utilisez le contexte http-url-parsed pour faire correspondre une signature d’attaque identifiable dans l’URL. Utilisez ce contexte pour faire correspondre un modèle dans l’URL qui apparaît avant les paramètres variables, c’est-à-dire la partie de l’URL située avant le point d’interrogation ( ?).

Utilisez un ou plusieurs contextes analysés par les variables http pour faire correspondre les paramètres de la variable URL, c’est-à-dire la partie de l’URL située après le point d’interrogation ( ?), normalement séparée par des esperluettes (&).

Exemple : Remplacement du contexte pour les motifs apparaissant dans du texte HTML

Chaque contexte généré par le moteur du détecteur HTTP a un coût en performance. Les contextes http-text-html et http-text-html-body ont le même objectif. Réduire le nombre de contextes améliore les performances.

Le tableau 20 montre les propriétés d’une signature avant la mise à jour #1972 et de la signature après. Il s’agit d’un changement simple. Vous ne changez que le contexte. Vous n’avez pas besoin de modifier le motif ou d’autres propriétés.

Tableau 20 : Contextes du service HTTP : texte HTML

Avant la mise à jour

Après la mise à jour

Contexte

http-text-html-body

http-texte-html

Modèle

.*<span></span>.*

.*<span></span>.*

Exemple : Remplacement des contextes pour les modèles apparaissant dans les URL

Cette section est divisée en deux parties :

Signatures qui correspondent aux méthodes de requête

Lorsque vous modifiez des objets d’attaque personnalisés qui correspondaient précédemment aux méthodes de requête GET, POST ou HEAD, demandez-vous si les correspondances avec ces modèles de méthode de requête ont été efficaces pour vous. Gardez à l’esprit que chaque contexte généré a un coût en performance. Si la méthode de requête n’est pas essentielle à vos résultats, profitez-en pour refondre votre signature sans elle.

Le tableau 21 et le tableau 22 montrent les propriétés d’une signature avant la mise à jour #1972 et de la signature composée après. Cet exemple préserve l’intérêt d’une méthode de requête.

Tableau 21 : Contextes du service HTTP : méthodes de requête avant mise à jour

Signature avant mise à jour

Portée

Contexte

http-get-url-parsed-param

Modèle

\[/viper/vegaspalms/\].*

Tableau 22 : Contextes du service HTTP : méthodes de requête après la mise à jour

Signature composée après mise à jour

Réf. M01

Réf. M02

Portée

Transaction

 

Contexte

méthode_de_requête_http

http-url-parsed

Modèle

\[GET\]

\[/viper/vegaspalms/\].*

Signatures correspondant aux chaînes d’URL et aux variables d’URL

D’une manière générale, le fractionnement d’un modèle unique en plusieurs contextes peut avoir un impact positif ou négatif sur les performances. Vous devez tester vos modifications pour comprendre l’impact sur les performances avant de déployer les objets d’attaque dans un réseau de production. L’exemple présenté dans les Tableaux 23 et 24 brise la correspondance d’URL en plusieurs contextes. Notre équipe de sécurité a testé les performances pour les recommandations décrites ici.

Tableau 23 : Contextes du service HTTP : chaînes d’URL et variables avant mise à jour

Signature avant mise à jour

Portée

Contexte

http-get-url-param-parsed-param

Modèle

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

Tableau 24 : Contextes du service HTTP : chaînes d’URL et variables après mise à jour

Signature composée après mise à jour

 

Réf. M01

Réf. M02

Réf. M03

Réf. M04

Portée

Transaction

     

Contexte

http-url-parsed

http-variable-parsed

http-variable-parsed

http-variable-parsed

Modèle

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

\[option=com_content\]

\[do_pdf=1\]

\[id=1\]

Exemple : Configuration d’attaques combinées ou en chaîne

Cet exemple montre comment configurer des attaques composées ou en chaîne pour des critères de correspondance spécifiques. Un objet d’attaque composé ou en chaîne peut être configuré pour détecter les attaques qui utilisent plusieurs méthodes pour exploiter une vulnérabilité.

Exigences

Avant de commencer, IDP doit être pris en charge et activé sur l’appareil.

Aperçu

Un objet d’attaque composé ou en chaîne peut combiner les signatures et les anomalies pour former un seul objet d’attaque. Un seul objet d’attaque peut contenir :

  • Au moins deux signatures

  • Au moins deux anomalies

  • Une combinaison de signatures et d’anomalies

Les objets d’attaque composés ou en chaîne combinent plusieurs signatures et/ou anomalies de protocole en un seul objet d’attaque, forçant le trafic à correspondre à un modèle de signatures et d’anomalies combinées au sein de l’objet d’attaque composé avant que le trafic ne soit identifié comme une attaque. Ces objets sont également utilisés pour réduire les faux positifs et augmenter la précision de la détection. Il vous permet d’être précis sur les événements qui doivent se produire avant qu’IDP identifie le trafic comme une attaque.

Configuration

Procédure

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur cette procédure, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.

Pour configurer des attaques composées ou en chaîne pour des critères de correspondance spécifiques :

  1. Créez une stratégie IDP.

  2. Associez une base de règles à la stratégie.

  3. Ajoutez des règles à la base de règles.

  4. Définissez les critères de correspondance de la règle.

  5. Spécifiez un nom d’ensemble d’applications pour qu’il corresponde aux critères de la règle.

  6. Spécifiez l’objet d’attaque correspondant et le nom de l’objet d’attaque.

  7. Spécifiez une action pour la règle.

  8. Spécifiez les options de notification ou de journalisation pour la règle.

  9. Activez la stratégie IDP.

  10. Spécifiez un nom pour l’attaque personnalisée.

  11. Définissez la gravité de l’attaque personnalisée.

  12. Définissez le type d’attaque et le nom de l’application pour l’attaque personnalisée.

  13. Définissez la portée et l’ordre dans lequel l’attaque est définie.

  14. Spécifiez un nom pour le premier membre de l’objet d’attaque en chaîne.

  15. Définissez le contexte, le modèle et la direction du premier membre de l’objet d’attaque en chaîne.

  16. Spécifiez un nom pour le deuxième membre de l’objet d’attaque en chaîne.

  17. Définissez le contexte, le modèle et la direction du deuxième membre de l’objet d’attaque en chaîne.

  18. Spécifiez un nom pour le troisième membre de l’objet d’attaque en chaîne.

  19. Spécifiez un type et une direction d’attaque pour le troisième membre de l’objet d’attaque en chaîne.

  20. Spécifiez les options de suivi et les informations du fichier de suivi pour les services IDP.

  21. Spécifiez les événements et autres informations qui doivent être inclus dans la sortie de trace.

Résultats

À partir du mode configuration, confirmez votre configuration en entrant la show security idp commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.

Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Note:

Lorsque vous passez commit en mode configuration, la configuration est vérifiée en interne, puis validée. S’il y a des erreurs, la validation échouera et les erreurs seront signalées.

Vérification

Pour vérifier que la configuration de l’attaque en chaîne fonctionne correctement, effectuez la tâche suivante :

Vérification de la configuration

But

Vérifiez que la configuration de l’attaque en chaîne est correcte.

Action

À partir du mode opérationnel, entrez la show security idp policy-commit-status commande pour vérifier l’état de la compilation ou du chargement de la stratégie.

Note:

La sortie de la show security idp policy-commit-status commande est dynamique, il n’y a donc pas de sortie unique pour cette commande.

Vérifiez que les attaques sont détectées conformément à la configuration, transmettez le trafic via l’appareil pour déclencher une correspondance d’attaque. Par exemple, entrez la show security idp status commande pour vérifier si la stratégie est chargée ou non.

user@host> show security idp status

Entrez la commande pour transmettre le show security idp attack table trafic d’attaque, puis vérifiez que les attaques sont détectées ou non.

Note:

La commande n’affichera la sortie que lorsque des attaques sont détectées.

user@host> show security idp attack table

Exemple : Configuration de groupes d’attaques avec des groupes d’attaques dynamiques et des groupes d’attaques personnalisés

Cet exemple montre comment configurer des groupes d’attaques avec des groupes d’attaques dynamiques et des groupes d’attaques personnalisés dans une stratégie IDP pour protéger un serveur FTP ou Telnet.

Exigences

Avant de commencer, installez le package de sécurité sur l’appareil uniquement si l’une des déclarations suivantes est vraie :

  • Des groupes d’attaque dynamiques sont configurés.

  • Les groupes d’attaques personnalisés contiennent des attaques ou des groupes d’attaques prédéfinis.

Note:

Si les groupes d’attaques personnalisés contiennent uniquement des attaques personnalisées, la licence du package de sécurité n’est pas requise et il n’est pas nécessaire d’installer le package de sécurité sur l’appareil. Pour installer le package de sécurité, vous avez besoin d’une licence de package de sécurité IDP.

Aperçu

L’IDP contient un grand nombre d’objets d’attaque prédéfinis. Pour gérer et organiser les stratégies IDP, les objets d’attaque peuvent être regroupés. Un groupe d’objets d’attaque peut contenir au moins deux types d’objets d’attaque. Les groupes d’attaque sont classés comme suit :

  • Groupe d’attaques dynamiques : contient les objets d’attaque en fonction de certains critères de correspondance. Lors d’une mise à jour de signature, l’appartenance dynamique à un groupe est automatiquement mise à jour en fonction des critères de correspondance de ce groupe. Par exemple, vous pouvez regrouper dynamiquement les attaques liées à une application spécifique à l’aide des filtres du groupe d’attaques dynamiques.

  • Custom attack group (Groupe d’attaques personnalisé) : contient la liste des attaques spécifiées dans la définition de l’attaque. Un groupe d’attaques personnalisé peut également contenir des attaques prédéfinies spécifiques, des attaques personnalisées, des groupes d’attaques prédéfinis ou des groupes d’attaques dynamiques. Un groupe d’attaques personnalisé est de nature statique, car les attaques sont spécifiées dans le groupe. Par conséquent, le groupe d’attaque ne change pas lorsque la base de données de sécurité est mise à jour. Il peut s’agir d’attaques prédéfinies ou de groupes d’attaques prédéfinis à partir de la base de données de signatures, ou d’autres attaques personnalisées et de groupes d’attaques dynamiques.

Dans cet exemple, nous configurons un groupe d’attaques dans une stratégie IDP pour protéger un serveur FTP ou Telnet contre des attaques personnalisées et dynamiques.

Configuration

Procédure

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur cette procédure, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.

Pour configurer des groupes d’attaques avec des groupes d’attaques dynamiques et des groupes d’attaques personnalisés :

  1. Créez une stratégie IDP.

  2. Associez une base de règles à la stratégie.

  3. Ajoutez des règles à la base de règles.

  4. Définissez les critères de correspondance de la règle.

  5. Spécifiez un nom d’ensemble d’applications pour qu’il corresponde aux critères de la règle.

  6. Spécifiez une correspondance pour le groupe d’attaques personnalisé.

  7. Spécifiez une correspondance pour le groupe d’attaques dynamiques.

  8. Spécifiez une action pour la règle.

  9. Spécifiez les options de notification ou de journalisation pour la règle.

  10. Activez la stratégie IDP.

  11. Spécifiez un nom pour l’attaque personnalisée.

  12. Définissez la gravité de l’attaque personnalisée.

  13. Définissez le type et le contexte de l’attaque.

  14. Spécifiez un modèle pour l’attaque.

  15. Spécifiez la direction de l’attaque.

  16. Spécifiez un nom pour le groupe d’attaques personnalisé.

  17. Spécifiez une liste d’attaques ou de groupes d’attaques qui appartient au groupe d’attaques personnalisé.

  18. Spécifiez un nom pour le premier groupe d’attaques dynamiques.

  19. Configurez un filtre et définissez une valeur de catégorie pour le filtre.

  20. Spécifiez un nom pour le deuxième groupe d’attaques dynamiques.

  21. Configurez un filtre pour le deuxième groupe d’attaques dynamiques et définissez la direction et ses valeurs pour ce champ.

  22. Spécifiez les options de suivi et les informations du fichier de suivi pour les services IDP.

  23. Spécifiez les événements et autres informations qui doivent être inclus dans la sortie de trace.

Résultats

À partir du mode configuration, confirmez votre configuration en entrant la show security idp commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.

Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Note:

Lorsque vous passez commit en mode configuration, la configuration est vérifiée en interne, puis validée. S’il y a des erreurs, la validation échouera et les erreurs seront signalées.

Vérification

Vérification de la configuration

But

Vérifiez que la configuration est correcte.

Action

À partir du mode opérationnel, entrez la show security idp policy-commit-status commande pour vérifier l’état de la compilation ou du chargement de la stratégie.

Note:

La sortie de la show security idp policy-commit-status commande est dynamique, il n’y a donc pas de sortie unique pour cette commande.

Vérifiez que les attaques sont détectées conformément à la configuration, transmettez le trafic via l’appareil, ce qui déclenchera une correspondance d’attaque. Par exemple, entrez la show security idp status commande pour vérifier si la stratégie est chargée ou non.

user@host> show security idp status

Entrez la commande pour transmettre le show security idp attack table trafic d’attaque, puis vérifiez que les attaques sont détectées ou non.

Note:

La commande n’affichera la sortie que lorsque des attaques sont détectées.

user@host> show security idp attack table

Expressions DFA d’objet d’attaque personnalisées

Le Tableau 25 fournit des exemples de syntaxe pour faire correspondre un modèle d’attaque.

Tableau 25 : Exemple : Expressions régulières d’objet d’attaque personnalisé

Exemple de syntaxe

Description

Exemples de correspondances

Bonjour.. \B.0.1.. 00\B... monde

Il y a deux aspects à l’appariement :

Doit correspondre au modèle de masque de bits : \B.0.0.1.. 00\B

Doit correspondre au nombre d’octets (signifié par .) avant et après le motif de masque de bits.

Allumettes:

Bonjour.. \B.0.11100\B... mondeBonjour.. \B.0.10000\B... monde

Ne correspond pas :

Bonjour.\B.0.1.. 00\B.worldBonjour.. \B.0.1.. 11\B... monde

\X01 86 A5 00 00\X

Modèle avec les cinq octets spécifiés mot pour mot.

Tél. 01 86 A5 00 00

(hello|world)

Motif avec bonjour ou monde se produisant une fois.

Bonjour

monde

(hello|world)+

Motif avec bonjour ou monde se produisant une ou plusieurs fois.

helloworld

bonjour le monde

bonjourbonjour

\[Bonjour\]

Pattern hello, insensible à la casse.

Bonjour

Bonjour

Bonjour

\uBonjour\u

Pattern hello, Unicode insensible.

Bonjour

68656c6c6f

hello\sworld

Modèle hello world, les deux mots séparés par un espace.

Salut tout le monde

[c-e]a(d|t)

Modèle avec la première lettre de c, d ou e ; la lettre du milieu a ; et se terminant par d ou t.

chat

papa

manger

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

Modèle qui commence par une lettre autre que c, d ou e ; avoir la deuxième lettre a ; et se terminent par d ou t.

mode

Zad

a*b+c

Modèle avec n’importe quel nombre de caractères (y compris zéro) ; suivi d’un ou plusieurs caractères b ; suivi d’un c caractère.

av. J.-C

abc

aaaabbbbc

T[Kk]

Modèle qui commence par un T majuscule, suivi d’un k insensible à la casse.

TK

Tk

([Tt])k

Modèle qui commence par un t insensible à la casse, suivi d’un k minuscule.

Tk

Tk

Mer[Dans]

Motif commençant par Mer, suivi d’un l, d’un m ou d’un n minuscule.

Phoque

Couture

Sean

([B-D])at

Modèle qui commence par un B majuscule, C ou D, suivi d’un at minuscule.

Chauve-souris

Chat

Dat

\0133\[bonjour\]\0135

Modèle qui commence par une parenthèse ouvrante, suivie d’un bonjour insensible à la casse, se terminant par une parenthèse fermante. Cette expression utilise l’expression \0 pour signifier que l’expression suivante est un code octal, puis le code octal de la parenthèse ouvrante (133) ou de la parenthèse fermante (135) suit.

[bonjour]

[HeLLo]

Exemple : Utilisation de la négation de modèle

Vous pouvez utiliser la négation de modèle pour exclure un modèle connu pour être sûr et pour correspondre à tout le reste.

Par exemple, supposons que vous conceviez un objet d’attaque pour inspecter le trafic vers un serveur FTP. Vous savez que le nom d’utilisateur et les mots de passe du compte sont bien conservés pour garantir que seuls les utilisateurs autorisés peuvent accéder aux ressources internes. Cependant, à mesure que les réseaux se développent et que de nouveaux composants sont ajoutés, les comptes utilisateurs peuvent proliférer, augmentant ainsi l’accès réseau à des composants spécifiques. Dans cet exemple, vous avez un serveur FTP sur votre réseau interne sur lequel plusieurs comptes d’utilisateur sont activés. Pour améliorer la sécurité, vous souhaitez restreindre l’accès à l’administrateur FTP.

Vous créez un objet d’attaque pour le service FTP, le contexte ftp-username et le modèle admin, puis vous cochez la case Annuler . Le résultat est un objet d’attaque qui peut signaler les tentatives de connexion d’utilisateurs autres que admin. Vous pouvez utiliser cet objet d’attaque dans une règle qui consigne ou supprime le trafic correspondant.

Exemple : Extensions de fichiers correspondantes

Dans cet exemple, vous souhaitez détecter les métafichiers Microsoft Windows, qui utilisent les extensions .emf (Windows Enhanced Metafiles) et .wmf (Microsoft Windows Metafile).

Pour faire correspondre l’un ou l’autre de ces types de fichiers, utilisez une expression DFA simple :

Dans cette expression :

  • Le point, combiné à l’astérisque (.*), indique qu’un ou plusieurs caractères doivent apparaître (caractère générique).

  • La barre oblique inverse combinée au point (\.) indique que le point est échappé (le point apparaît dans le modèle).

  • Les parenthèses au début et à la fin de l’expression ( ) indiquent un groupe. La barre verticale entre le e et le w (e|w) indique une relation OU entre les caractères. Pour cette expression, e ou w doit apparaître dans le motif pour correspondre à cette expression ; Un seul doit être présent.

  • Le crochet ouvrant (\[) indique le début d’une correspondance insensible à la casse pour tous les caractères jusqu’à ce que le crochet fermant (\]) apparaisse.

  • Le crochet fermant (\]) indique la fin d’une correspondance insensible à la casse.

Exemple : attaques par déni de service Apache Tomcat

Dans cet exemple, nous supposons que vous disposez d’un serveur Web exécutant Apache Tomcat. Votre administrateur de sécurité vous informe qu’une vulnérabilité vient d’être annoncée pour Apache Tomcat, et vous décidez de créer un objet d’attaque personnalisé pour protéger votre réseau jusqu’à ce que vous puissiez planifier un temps d’arrêt pour corriger le serveur.

L’avis CVE relatif à la vulnérabilité (http://nvd.nist.gov/nvd.cfm?cvename=CAN-2002-0682) contient la citation suivante :

À partir de ces informations, vous savez que l’attaque utilise HTTP. Vous devez maintenant localiser le code d’attaque. L’avis comprend également des références qui renvoient vers plus d’informations sur l’attaque. Malheureusement, aucune des pages Web référencées ne contient de code d’exploitation. Après avoir effectué une recherche sur le Web à l’aide des informations que vous avez apprises grâce à l’avis CVE, vous localisez un code d’exploitation sur http://packetstormsecurity.nl/0210-exploits/neuter.c. Copiez le script et déplacez-le sur l’ordinateur de l’attaquant dans votre laboratoire de test.

Pour développer cet objet d’attaque :

  1. Reproduisez l’attaque pour déterminer le contexte, la direction et le schéma de l’attaque. Idéalement, utilisez scio ccap et Wireshark en même temps afin de n’avoir à lancer l’attaque qu’une seule fois.
  2. Découvrez les éléments suivants de la signature de l’attaque :
    • Service. Vous savez, d’après l’avis CVE, que l’attaque utilise le protocole HTTP. Examinez la capture de paquets pour confirmer le protocole.

    • Contexte. Permet scio ccap de déterminer si vous pouvez faire correspondre un contexte de service particulier. Dans cet exemple, le modèle de signature se produit dans le contexte de service HTTP URL analysée.

    • Modèle. Vous savez, d’après l’avis, que l’attaque se produit à l’aide d’une méthode GET exploitée dans le protocole HTTP. Sélectionnez la trame qui contient la méthode GET pour afficher les détails de cette section du paquet. Vous pouvez rapidement identifier le motif de signature comme examples/servlet/AUX.

    • Direction. Localisez l’adresse IP source qui a initié la session. Étant donné que cette attaque utilise TCP, vous pouvez utiliser l’option Suivre le flux TCP dans Wireshark pour découvrir rapidement l’adresse IP source qui a initié la session. La direction de l’attaque est du client au serveur.

  3. Créez un objet d’attaque correspondant à la signature de l’attaque. Cet exemple utilise l’expression régulière suivante pour faire correspondre la signature :

    Dans cette expression :

    • La combinaison de points étoiles (.*) indique une correspondance générique.

    • La section /examples/servlet/ est extraite directement de la capture de paquets.

    • Les parenthèses ( ) indiquent un groupe d’éléments et la barre verticale (|) indique OU. Ces caractères sont souvent utilisés ensemble pour indiquer qu’une attaque doit inclure un objet du groupe. Dans cet exemple, l’attaque doit contenir le mot aux, lpt1, con ou prn après la chaîne /examples/servlet/.

      Notez que cet exemple utilise un groupe. La capture de paquets affiche le modèle de signature sous la forme /examples/servlet/AUX. AUX est un périphérique Windows. Vous avez de bonnes raisons d’être sur vos gardes face aux tentatives d’exploitation des périphériques LPT1, CON et PRN.

  4. Testez l’objet d’attaque.

Liste des conditions de test IDP pour un protocole spécifique

Lorsque vous configurez des attaques personnalisées IDP, vous pouvez spécifier des conditions de test de liste pour un protocole spécifique. Pour répertorier les conditions de test pour ICMP :

  1. Répertoriez les conditions de test prises en charge pour ICMP et choisissez celle que vous souhaitez configurer. Les conditions de test prises en charge sont disponibles dans l’interface de ligne de commande au niveau de la [edit security idp custom-attack test1 attack-type anomaly] hiérarchie.

  2. Configurez le service pour lequel vous souhaitez configurer la condition de test.

  3. Configurez la condition de test (il n’est pas nécessaire de spécifier le nom du protocole).

  4. Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Comprendre les décodeurs de protocole IDP

Les décodeurs de protocole sont utilisés par la détection et prévention d’intrusion (IDP) pour vérifier l’intégrité du protocole et les informations contextuelles du protocole en recherchant des anomalies et en s’assurant que les normes RFC sont respectées. Une anomalie peut être n’importe quelle partie d’un protocole, comme l’en-tête, le corps du message ou d’autres champs individuels qui s’écartent des normes RFC pour ce protocole. Par exemple, dans le cas de SMTP, si SMTP MAIL TO précède SMTP HELO, il s’agit d’une anomalie dans le protocole SMTP.

Lorsque des informations contextuelles sur le protocole sont disponibles, les décodeurs de protocole vérifient les attaques dans ces contextes. Par exemple, pour SMTP, si un e-mail est envoyé à user@company.com, user@company.com est l’information contextuelle et SMTP MAIL TO est le contexte. En utilisant les données contextuelles du protocole, plutôt que l’ensemble du paquet, pour détecter les attaques, les décodeurs de protocole améliorent les performances et la précision globales.

Si une stratégie est configurée avec une règle qui correspond à la vérification du décodeur de protocole pour SMTP, la règle se déclenche et les mesures appropriées sont prises.

Le module IDP est livré avec un ensemble préconfiguré de décodeurs de protocole. Ces décodeurs de protocole ont des paramètres par défaut pour les diverses vérifications contextuelles spécifiques au protocole qu’ils effectuent. Vous pouvez utiliser ces valeurs par défaut ou les ajuster pour répondre aux besoins spécifiques de votre site. Pour afficher la liste des décodeurs de protocole disponibles, entrez la commande suivante :

Pour obtenir une vue plus détaillée de l’ensemble actuel de décodeurs de protocole et de leurs valeurs de contexte par défaut, vous pouvez afficher le fichierdetector-capabilities.xml situé dans le dossier /ar/db/idpd/sec-download de l’appareil. Lorsque vous téléchargez un nouveau package de sécurité, vous recevez également ce fichier qui répertorie les protocoles actuels et les valeurs de contexte par défaut du décodeur.

Exemple : Vulnérabilité CDE/dtlogin sous UNIX

Dans cet exemple, votre réseau comprend plusieurs postes de travail utilisateurs et des serveurs exécutant UNIX. De nombreux systèmes d’exploitation UNIX utilisent le Common Desktop Environment (CDE) comme interface utilisateur graphique. Votre administrateur de sécurité vous informe d’une nouvelle vulnérabilité dans le processus dtlogin pour CDE (le processus dtlogin gère un processus de connexion GUI à CDE).

L’avis CERT relatif à la vulnérabilité (http://www.kb.cert.org/vuls/id/179804) contient les informations suivantes :

À partir de ces informations, vous savez que l’attaque utilise le paquet de protocole XDMCP et s’exécute sur UDP/177. Vous devez maintenant localiser le code d’attaque. L’avis comprend également des références qui renvoient vers plus d’informations sur l’attaque. Une référence, http://lists.immunitysec.com/pipermail/dailydave/2004-March/000402.html, indique que la personne qui a signalé l’attaque en premier a également écrit un script qui reproduit l’attaque. Procurez-vous le script et déplacez-le sur l’ordinateur de l’attaquant dans votre laboratoire de test.

Pour développer cet objet d’attaque :

  1. Reproduisez l’attaque pour déterminer le contexte, la direction et le schéma de l’attaque. Idéalement, utilisez scio ccap et Wireshark en même temps afin de n’avoir à lancer l’attaque qu’une seule fois.
  2. Découvrez les éléments de la signature de l’attaque :
    • Service. Vous savez, d’après l’avis du CERT, que l’attaque utilise le protocole XDMCP. Examinez la capture de paquets dans Wireshark pour confirmer le protocole.

    • Contexte. Permet scio ccap de déterminer si vous pouvez faire correspondre un contexte de service particulier. Dans cet exemple, les contextes de service XMCP ne sont pas pris en charge par le système IDP et la sortie de scio ccap est vide. Vous devez spécifier le contexte du paquet de l’attaque.

    • Modèle. Grâce à votre connaissance du protocole XDMCP, vous identifiez que l’attaque utilise un caractère non NUL (code hexadécimal 00 1b) pour spécifier le type de connexion, qui n’est pas valide (le caractère NUL représente le type de connexion Internet dans XDMCP). Pour ancrer le caractère non-NUL dans un modèle de signature, incluez certains des octets précédents dans le modèle. Pour cet exemple, vous choisissez d’ancrer le caractère non-NUL avec le numéro de version (code hexadécimal 00 01) et le code des options de requête (code hexadécimal 00 07). Le schéma d’attaque complet est 00 01 00 07 suivi de cinq caractères de n’importe quel type, suivis d’un sixième caractère et soit d’un caractère non-NUL (comme indiqué ci-dessus avec 00 1b), soit d’un caractère non-NUL et d’un autre caractère.

    • Direction. Localisez l’adresse IP source qui a initié la session. Dans cet exemple, vous ne pouvez pas déterminer la direction de l’attaque.

  3. Créez un objet d’attaque correspondant à la signature de l’attaque. Utilisez l’expression régulière suivante pour faire correspondre la signature :

    Dans cette expression :

    • L’expression \x indique une valeur hexadécimale.

    • Les nombres 00 01 00 07 dans le protocole XDMP représentent le numéro de version (code hexadécimal 00 01) et le code des options de requête (code hexadécimal 00 07).

    • Les cinq points (.....) indiquent cinq caractères de toute sorte.

    • Les parenthèses ( ) indiquent un groupe d’éléments et la barre verticale (|) indique OU. Ces caractères sont souvent utilisés ensemble pour indiquer qu’une attaque doit inclure un objet du groupe.

    • Les crochets ouvrants et fermants combinés avec un accent circonflexe [^ indiquent la négation.

    • La barre oblique inverse combinée à un zéro (\0) indique un numéro de code octal.

    • Les caractères 00 sont du code hexadécimal pour un caractère NUL. Dans cet exemple, l’attaque doit contenir un caractère non-NUL, précédé ou suivi d’un autre caractère ([^\000] ou [^\000]).

    • La combinaison de points étoiles (.*) indique une correspondance générique. Lorsqu’il est utilisé à la fin d’une expression, le caractère générique indique que n’importe quoi peut suivre l’expression spécifiée.

  4. Testez l’objet d’attaque.

Exemple : Détection d’un ver

Les vers et les chevaux de Troie contournent souvent les pare-feu et d’autres mesures de sécurité traditionnelles pour pénétrer dans un réseau. Dans cet exemple, vous allez créer un objet d’attaque personnalisé pour détecter le ver Blaster sur votre réseau.

L’avis CERT (http://www.cert.org/advisories/CA-2003-20.html) concernant le ver Blaster donne les informations suivantes :

À partir de ces informations, vous savez que l’attaque utilise l’exploit DCOM, une faille de sécurité précédemment identifiée. Vous devez maintenant localiser le code d’attaque. L’avis comprend également des références qui renvoient vers plus d’informations sur l’attaque. Malheureusement, aucune des pages Web référencées ne contient de code d’exploitation. Après avoir effectué une recherche sur le Web à l’aide des informations fournies par l’avis du CERT, vous localisez le code d’exploitation sur PacketStorm (http://packetstormsecurity.com/0307-exploits/dcom.c).

Pour développer cet objet d’attaque :

  1. Reproduisez l’attaque pour déterminer le contexte, la direction et le schéma de l’attaque. Idéalement, utilisez scio ccap et Wireshark en même temps afin de n’avoir à lancer l’attaque qu’une seule fois.
  2. Découvrez les éléments de la signature de l’attaque :
    • Service. Vous savez, d’après l’avis du CERT, que l’attaque utilise ICMP, pour lequel le système d’exploitation IDP ne prend pas en charge les contextes de service. Examinez la capture de paquets pour confirmer qu’il s’agit bien d’un protocole ICMP.

    • Contexte. Permet scio ccap de déterminer si nous pouvons faire correspondre un contexte de service particulier. Dans cet exemple, les contextes de service ICMP ne sont pas pris en charge par le système IDP et la sortie de scio ccap est vide. Vous devez spécifier le contexte du premier paquet pour l’attaque.

    • Modèle. Sélectionnez la première image répertoriée dans Wireshark et passez en revue les informations de la deuxième section. Comme vous savez que les paquets ICMP ne doivent pas contenir de données, vous examinez la charge utile de données de 64 octets. Vous pouvez facilement voir que la charge utile irrégulière est constituée de plusieurs caractères « AA », qui sont probablement du code qui tente de déborder une mémoire tampon. Ce modèle étant inhabituel dans le contexte d’un paquet ICMP, sélectionnez-le comme signature.

    • Direction. Localisez l’adresse IP source qui a initié la session. Dans cet exemple, vous ne pouvez pas déterminer la direction de l’attaque.

  3. Créez un objet d’attaque correspondant à la signature de l’attaque. Dans cet exemple, nous utilisons l’expression régulière suivante pour faire correspondre la signature :

    Dans cette expression :

    • L’expression \X indique qu’une valeur hexadécimale doit suivre.

    • La combinaison de points étoiles (.*) indique une correspondance générique. Lorsqu’il est utilisé à la fin d’une expression, le caractère générique indique que n’importe quoi peut suivre l’expression spécifiée.

  4. Testez l’objet d’attaque.

Exemple : Signature composée pour détecter l’exploitation d’une vulnérabilité HTTP

Certaines attaques sont conçues pour paraître bénignes lorsqu’elles sont examinées paquet par paquet. Pour ces attaques, vous pouvez créer une signature composée qui détecte plusieurs modèles de signature dans plusieurs contextes (service, non-service ou les deux).

Dans cet exemple, vous disposez d’un serveur Web qui utilise les extensions Microsoft FrontPage Server. Votre administrateur de sécurité vous informe d’une nouvelle vulnérabilité de débordement de la mémoire tampon dans les extensions FrontPage Server.

L’avis BugTraq pour la vulnérabilité (http://www.securityfocus.com/bid/9007/discussion/) contient les informations suivantes :

L’exemple de démonstration de faisabilité suivant est également fourni :

De plus, un lien vers l’exploit compilé est inclus.

À partir de ces informations, vous savez que l’attaque utilise le protocole HTTP et qu’au moins une partie de l’attaque utilise la méthode POST. Utilisez le lien vers l’exploit compilé pour obtenir le script et le déplacer vers l’ordinateur de l’attaquant dans votre laboratoire de test.

Pour développer cet objet d’attaque :

  1. Reproduisez l’attaque pour déterminer le contexte, la direction et le schéma de l’attaque. Idéalement, utilisez scio ccap et Wireshark simultanément afin de n’avoir à lancer l’attaque qu’une seule fois.
  2. Découvrez les éléments de la signature de l’attaque :
    • Service. Vous savez, d’après l’avis BugTraq, que l’attaque utilise le protocole HTTP. Examinez la capture de paquets et localisez l’utilisation du protocole HTTP.

    • Contexte. Permet scio ccap de déterminer si vous pouvez faire correspondre un contexte de service particulier. Dans cet exemple, le contexte du service est l’URL HTTP analysée.

    • Modèle. Vous identifiez rapidement le modèle de signature POST /_vti_bin/_vti_aut/fp30reg.dll dans le service HTTP.

      Toutefois, étant donné que ce modèle peut déclencher des faux positifs, vous devez également déterminer un deuxième modèle de signature pour vous assurer que votre règle détecte uniquement l’attaque. Dans ce cas, la deuxième signature (notée dans l’avis BugTraq) est Transfer-Encoding: chunked.

    • Direction. Localisez l’adresse IP source qui a initié la session. Dans cet exemple, la direction d’attaque pour les deux modèles de signature est le client vers le serveur.

  3. Créez un objet d’attaque correspondant à la signature de l’attaque. Utilisez l’expression régulière suivante pour faire correspondre la première signature :

    Dans cette expression :

    • Le crochet ouvrant (\[) indique le début d’une correspondance insensible à la casse pour tous les caractères jusqu’à ce que le crochet fermant apparaisse.

    • Le modèle /_vti_bin/_vti_aut/fp30reg correspond directement aux caractères.

    • La barre oblique inverse combinée au point (\.) indique que le point est échappé (le point apparaît dans le modèle).

    • Le crochet fermant (\]) indique la fin d’une correspondance insensible à la casse.

    • Le point, combiné à l’astérisque (.*), indique qu’un ou plusieurs caractères doivent apparaître.

  4. Ajoutez une deuxième signature. Utilisez l’expression régulière suivante pour faire correspondre la deuxième signature :

    Dans cette expression :

    • Le crochet ouvrant (\[) indique le début d’une correspondance insensible à la casse pour tous les caractères jusqu’à ce que le crochet fermant apparaisse.

    • Le modèle Transfer-Encoding : est une correspondance directe de caractères.

    • Le signe plus (+) indique qu’un espace doit apparaître une ou plusieurs fois dans le motif.

    • Le motif segmenté est une correspondance directe de caractères.

    • Le crochet fermant (\]) indique la fin d’une correspondance insensible à la casse.

  5. Testez l’objet d’attaque.

Exemple : Utilisation de paramètres de liaison temporelle pour détecter une attaque par force brute

La contrainte de liaison temporelle nécessite que le modèle se produise un certain nombre de fois dans une minute pour que le trafic soit considéré comme une correspondance.

Vous pouvez utiliser le paramètre de liaison temporelle avec la signature pour détecter les signes d’une attaque par force brute. Un utilisateur qui change son mot de passe est un événement inoffensif, et est normalement vu occasionnellement sur le réseau. Cependant, des milliers de changements de mot de passe en une minute sont suspects.

Lors d’une attaque par force brute, l’attaquant tente de percer les défenses du système en utilisant la force pure, généralement en écrasant la capacité du serveur de destination ou en tentant à plusieurs reprises par essais et erreurs de faire correspondre les informations d’authentification. Lors d’une attaque par connexion par force brute, les attaquants rassemblent d’abord une liste de noms d’utilisateur et un dictionnaire de mots de passe. Ensuite, l’attaquant utilise un outil qui saisit le premier mot de passe dans le dictionnaire du premier utilisateur de la liste, puis essaie chaque mot de passe pour chaque utilisateur jusqu’à ce qu’il obtienne une correspondance. Si l’attaquant essaie toutes les combinaisons de noms d’utilisateur et de mots de passe, il réussit toujours. Cependant, les attaques par force brute échouent souvent parce que le dictionnaire de mots de passe est généralement limité (ne contient pas tous les mots de passe possibles) et que l’outil d’attaque n’effectue pas de permutations sur le mot de passe (comme inverser des lettres ou changer de casse).

Dans cet exemple, vous créez un objet d’attaque de signature qui détecte un nombre excessif de changements de mot de passe pour les utilisateurs authentifiés via HTTP (une application Web).

Tout d’abord, vous configurez un schéma d’attaque :

Dans cette expression :

  • La combinaison de points étoiles (.*) indique une correspondance générique.

  • La barre oblique inverse avant un caractère indique que le caractère représente une expression régulière et qu’il doit être échappé. Dans ce cas, le caractère est une parenthèse ouvrante. La barre oblique inverse est également utilisée dans cette expression avant le marqueur d’extension de fichier (le point) et avant la parenthèse fermante.

  • Le nom du script cgi utilisé pour modifier les mots de passe des utilisateurs est inclus, ainsi que l’extension cgi.

  • Pour plus de contexte, sélectionnez HTTP-URL-PARSED dans la liste, car vous tentez de détecter les changements de mot de passe qui se produisent pour les applications Web. Le script changepassword.cgi, lorsqu’il est utilisé, apparaît dans le cadre de l’URL, mais vous devez indiquer à l’appareil IDP Series d’analyser l’URL afin de trouver le nom.

Ensuite, vous configurez la liaison temporelle.

Dans ces paramètres :

  • L’étendue est définie sur Pair afin que le modèle d’attaque puisse correspondre à l’événement, quelle que soit la source ou la destination.

  • Le nombre est défini sur un nombre élevé (jusqu’à 1000) pour éviter les faux positifs. Cette valeur signifie que le script changepassword.cgi doit apparaître 1000 fois dans une URL avant que l’objet d’attaque ne soit mis en correspondance.

Référence : Numéros de protocole d’objet d’attaque personnalisés

Tableau 26 Numéros de protocole utilisés dans le système IDP.

Tableau 26 : objets d’attaque IDP : numéros de protocole

Nom du protocole

Numéro de protocole

HOPOPT

0

ICMP

1

IGMP

2

GGP

3

L’IPIP

4

ST

5

TCP

6

TCC (TCC)

7

EGP

8

L’IGP

9

BBN-RCC-MON

10

NVP-II

11

CHIOT

12

ARGUS

13

EMCON

14

XNET (en anglais seulement)

15

CHAOS

16

UDP

17

MUX

18

DCN-MEAS

19

HMP

20

PMR (en anglais)

21

XND-IDP

22

TRONC-1

23

TRONC-2

24

FEUILLE-1

25

FEUILLE-2

26

RDP

27

L’IRTP

28

ISO-TP4

29

NETBLT (en anglais seulement)

30

MFE-NSP (en anglais seulement)

31

MERIT-INP

32

SEPT.

33

3 pièces

34

IDPR

35

XTP (en anglais)

36

DDP

37

TP_PLUS_PLUS

39

IL

40

L’IPV6

41

Le SDRP

42

ROUTAGE IPV6

43

FRAGMENT IDV6

44

L’IDRP

45

RSVP

46

GRE

47

Le MHRP

48

L’Amérique du Nord britannique

49

ESP

50

AH

51

I-NLSP (en anglais seulement)

52

PIQUER

53

NARP (en anglais seulement)

54

MOBILE

55

TLSP (en anglais seulement)

56

SAUTILLER

57

IPV6-ICMP

58

IPV6-NONXT

59

IPV6-OPTS

60

L’AHIP

61

Le CFTP

62

ALNP (en anglais seulement)

63

SAT-EXPAK

64

LE KRYPTOLAN

65

RVD

66

La CIPV

67

L’ADFSP

68

SAM-MON

69

VISA

70

L’IPCV

71

Le CPNX

72

La SSPC

73

WSN

74

PVP

75

BR-SAM-MON

76

DIM-ND

77

WB-MON

78

WB-EXPAK

79

ISO-IP

80

Le VMTP

81

VMTP SÉCURISÉ

82

VIGNES

83

TTP

84

NSFNET-IBP

85

DGP

86

Le TCF

87

EIGRP (en anglais seulement)

88

OSPFIGP (en anglais seulement)

89

SPRITE-RPC

90

GN

91

MTP

92

AX_25

93

L’IPIP

94

Le MICP

95

SCC-SP

96

ETHERIP

97

L’ENCAP

98

SINGES

99

GMTP (en anglais seulement)

100

Le PGIP

101

PNNI

102

PIM

103

ARIS

104

SCPS

105

QNX (en anglais)

106

A/N

107

IPCOMP (en anglais seulement)

108

SNP

109

COMPAT-PEER

110

ZP-IN-IP

111

VRRP (en anglais)

112

PGM (en anglais seulement)

113

HOP-O

114

L2TP

115

DDX

116

L’IATP

117

STP (en anglais seulement)

118

SRP

119

UTI

120

SMP

121

SSM

122

PTP

123

ISIS

124

FEU

125

Le CRTP

126

Le CRUDP

127

SSCOPMCE

128

L’IPLT

129

SPS

130

PIPE

131

Le protocole SCTP

132

FC

133

RSVP-E2E-IGNORE

134

n/a

 

n/a

 

n/a

 

RÉSERVÉ

255

Référence : Caractères ASCII non imprimables et imprimables

Les tableaux suivants fournissent des détails sur la représentation ASCII des caractères imprimables et non imprimables.

Tableau 27 : Référence ASCII : Caractères non imprimables

Dec

Sortilège

Opo

Carboniser

Commentaire

0

0

000

NUL

Zéro

1

1

001

SOH

Début de l’en-tête

2

2

002

STX (en anglais seulement)

Début du texte

3

3

003

ETX (en anglais seulement)

Fin du texte

4

4

004

EOT

Fin de transmission

5

5

005

ENQ

Enquête

6

6

006

ACK

Reconnaître

7

7

007

BEL

Cloche

8

8

010

BS

Backspace

9

9

011

ONGLET

Onglet horizontal

10

Un

012

SI

Saut de ligne

11

B

013

VT

Onglet vertical

12

C

014

FF

Flux de formulaire

13

D

015

CR

Retour chariot

14

E

016

AINSI

Décalage vers la sortie

15

F

017

SI

Changement de vitesse

16

10

020

DLE

Échappatoire à la liaison de données

17

11

021

DC1

Contrôle des équipements 1

18

12

022

CC2

Contrôle de l’équipement 2

19

13

023

DC3

Contrôle des équipements 3

20

14

024

DC4

Contrôle des équipements 4

21

15

025

NAK

Accusé de réception négatif

22

16

026

SYN

Ralenti synchrone

23

17

027

ETB (en anglais seulement)

Fin du bloc de transmission

24

18

030

POUVOIR

Annuler

25

19

031

EM

Fin du moyen

26

1A

032

SUB

Substituer

27

1Md

033

ESC

Échapper

28

1C

034

FS

Séparateur de fichiers

29

1D

035

GS

Séparateur de groupe

30

1E

036

RS

Séparateur d’enregistrements

31

1F

037

NOUS

Séparateur d’unités

Tableau 28 : Référence ASCII : Caractères imprimables

Dec

Sortilège

Opo

Carboniser

32

20

040

Espace

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

2Mds

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

3Mds

073

;

60

3C

074

<

61

3D

075

=

62

3E

076

>

63

3F

077

?

64

40

100

@

65

41

101

Un

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

Je

74

4A

112

J

75

4Md

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

5Mds

133

[

92

5C

134

\

93

5D

135

]

94

5E

136

^

95

5F

137

_

96

60

140

`

97

61

141

un

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

Je

106

6A

152

j

107

6Mds

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 (en anglais)

172

z

123

7Mds

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

8Mds

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 (en anglais seulement)

232

Ü

155

9Mds

233

¢

156

9C

234

£

157

9D

235

¥

158

9E

236

P

159

9F

237

ƒ

160

A0

240

á

161

A1

241

í

162

A2 (en anglais)

242

ó

163

A3 (en anglais)

243

ú

164

A4 (en anglais)

244

ñ

165

A5 (en anglais)

245

Ñ

166

A6

246

ª

167

L’A7

247

º

168

L’A8

250

¿

169

L’A9

251

¬

170

AA

252

 

171

AB

253

1/2

172

Courant alternatif

254

1/4

173

ANNONCE

255

¡

174

Æ

256

"

175

AF

257

"

176

B0

260

¦

177

Réf. B1

262

¦

178

Catégorie B2

262

¦

179

Catégorie B3

263

¦

180

Catégorie B4

264

¦

181

Catégorie B5

265

¦

182

Réf. B6

266

¦

183

Réf. B7

267

+

184

B8

270

+

185

Réf. B9

271

¦

186

BA

272

¦

187

BB

273

+

188

Av. J.-C

274

+

189

BD

275

+

190

ÊTRE

276

+

191

BF

277

+

192

C0

300

+

193

C1

301

-

194

C2

302

-

195

C3

303

+

196

C4

304

-

197

C5

305

+

198

C6

306

¦

199

C7

307

¦

200

Le C8

310

+

201

C9

311

+

202

CA

312

-

203

CB

313

-

204

CC

314

¦

205

CD

315

-

206

Après Jésus-Christ

316

+

207

CF

317

-

208

D0

320

-

209

J1

321

-

210

D2

322

-

211

J3

323

+

212

D4

324

+

213

J5

325

+

214

D6

326

+

215

D7

327

+

216

D8

330

+

217

D9

331

+

218

DA

332

+

219

DB

333

¦

220

Courant continu

334

_

221

DD

335

¦

222

DE

336

¦

223

DF

337

¯

224

E0

340

un

225

E1

341

ß

226

E2

342

G

227

L’E3

343

p

228

E4

344

S

229

E5

345

s

230

E6

346

μ

231

E7

347

t

232

E8

350

F

233

E9

351

T

234

EA

352

O

235

EB

353

d

236

CE

354

8

237

ED

355

f

238

EE

356

e

239

EF

357

n

240

F0

360

=

241

F1 (en anglais)

361

+/-

242

F2

362

=

243

F3 (en anglais)

363

=

244

F4

364

(

245

F5

365

)

246

F6

366

÷

247

F7

367

˜

248

F8

370

°

249

F9

371

250

FA

372

251

FB

373

v

252

FC

374

n

253

FD

375

²

254

FE

376

¦

255

FF

377

 

Exemple : configuration de décodeurs de protocole IDP

Cet exemple montre comment configurer les paramètres du décodeur de protocole IDP.

Exigences

Avant de commencer, passez en revue la fonctionnalité de décodeurs de protocole IDP. Reportez-vous à la section Présentation des décodeurs de protocole IDP.

Aperçu

Le module IDP Junos est livré avec un ensemble de décodeurs de protocole préconfigurés. Ces décodeurs de protocole ont des paramètres par défaut pour les diverses vérifications contextuelles spécifiques au protocole qu’ils effectuent. Vous pouvez utiliser les paramètres par défaut ou les ajuster pour répondre aux besoins spécifiques de votre site. Cet exemple vous montre comment régler le décodeur de protocole pour FTP.

Configuration

Procédure

Procédure étape par étape

Pour configurer les paramètres du décodeur de protocole IDP :

  1. Affichez la liste des protocoles qui ont des paramètres réglables.

  2. Configurez les paramètres réglables pour le protocole FTP.

  3. Si vous avez terminé de configurer l’appareil, validez la configuration.

Vérification

Pour vérifier que la configuration fonctionne correctement, entrez la show security idp status commande.

Comprendre la prise en charge de plusieurs détecteurs IDP

Lorsqu’un nouveau package de sécurité est reçu, il contient des définitions d’attaque et un détecteur. Dans n’importe quelle version d’un package de sécurité, les définitions d’attaque correspondent aux capacités du détecteur inclus. Lorsque l’ancienneté des stratégies est désactivée sur l’appareil (voir l’instruction reset-on-policy pour les commandes d’ancienneté des stratégies), une seule stratégie est active à la fois. Toutefois, si la datation des stratégies est activée et qu’une mise à jour est effectuée, la stratégie existante n’est pas déchargée lors du chargement de la nouvelle stratégie. Par conséquent, les deux stratégies peuvent être en vigueur sur l’appareil. Dans ce cas, toutes les sessions existantes continueront d’être inspectées par des stratégies existantes et les nouvelles sessions seront inspectées avec de nouvelles stratégies. Une fois que toutes les sessions existantes utilisant l’ancienne stratégie se sont terminées ou ont expiré, l’ancienne stratégie est alors déchargée.

Lorsqu’une stratégie est chargée, elle est également associée à un détecteur. Si la nouvelle stratégie en cours de chargement a un détecteur associé qui correspond au détecteur déjà utilisé par la stratégie existante, le nouveau détecteur n’est pas chargé et les deux stratégies utilisent un seul détecteur associé. Mais si le nouveau détecteur ne correspond pas au détecteur actuel, le nouveau détecteur est chargé avec la nouvelle stratégie. Dans ce cas, chaque stratégie chargée utilisera alors son propre détecteur associé pour détecter les attaques.

Notez qu’un maximum de deux détecteurs peuvent être chargés à la fois. Si deux détecteurs sont déjà chargés (par deux stratégies ou plus) et que le chargement d’une nouvelle stratégie nécessite également le chargement d’un nouveau détecteur, au moins un des détecteurs chargés doit être déchargé avant que le nouveau détecteur puisse être chargé. Avant qu’un détecteur ne soit déchargé, toutes les stratégies qui utilisent le détecteur correspondant sont également déchargées.

Vous pouvez afficher la stratégie actuelle et la version correspondante du détecteur en entrant la commande suivante :

À partir de Junos OS version 18.4R1, lorsqu’une nouvelle stratégie IDP est chargée, les sessions existantes sont inspectées à l’aide de la stratégie nouvellement chargée et les sessions existantes ne sont pas ignorées pour le traitement IDP. L’inspection IDP se poursuit pour les attaques contextuelles créées par le détecteur après le chargement d’une nouvelle stratégie IDP, à l’exception de la nouvelle stratégie chargée avec le nouveau détecteur.

Comprendre la décompression de contenu

Dans les protocoles d’application comme HTTP, le contenu peut être compressé puis transmis sur le réseau. Les modèles ne correspondent pas au contenu compressé, car ils sont écrits pour correspondre aux données de trafic non codées. Dans ce cas, la détection de l’IDP est éludée. Pour éviter l’évasion de la détection IDP sur le contenu compressé HTTP, un sous-module IDP a été ajouté pour décompresser le contenu du protocole. La correspondance de motif de signature est effectuée sur le contenu décompressé.

Pour afficher l’état de toutes les valeurs du compteur IPS, entrez la commande suivante :

Certaines attaques sont introduites par le biais de contenus compressés. Lorsque le contenu est décompressé, il peut prendre une taille très importante, ce qui consomme de précieuses ressources système, ce qui entraîne un déni de service. Ce type d’attaque est reconnaissable au rapport entre la taille des données décompressées et la taille des données compressées. Le compteur content-decompress-ratio-over-limit identifie le nombre d’incidents pour lesquels ce ratio a été dépassé. Le ratio de défaillance est considéré comme cohérent avec un environnement typique. Dans certains cas, cependant, il peut être nécessaire d’ajuster ce ratio en réinitialisant la content-decompress-ratio-over-limit valeur. Gardez à l’esprit, cependant, qu’un ratio plus élevé réduit les chances de détecter ce type d’attaque.

Le compteur content-decompress-memory-over-limit identifie le nombre d’incidents où la quantité de données décompressées a dépassé la mémoire allouée. L’allocation de mémoire par défaut fournit 33 Ko par session pour un nombre moyen de sessions nécessitant une décompression en même temps. Pour déterminer si cette valeur est cohérente avec votre environnement, analysez les valeurs des compteurs liés à la décompression et le nombre total de sessions IDP traversant l’équipement, et estimez le nombre de sessions nécessitant une décompression en même temps. En supposant que chacune de ces sessions nécessite 33 Ko de mémoire pour la décompression, comparez vos besoins estimés à la valeur par défaut. Si nécessaire, vous pouvez ajuster l’allocation de mémoire en réinitialisant la content-decompression-max-memory-kb valeur. Notez qu’étant donné que la décompression de contenu nécessite une allocation importante de mémoire, les performances du système seront affectées par l’augmentation de l’allocation maximale de mémoire pour la décompression.

Exemple : Configuration de la décompression de contenu IDP

Cet exemple montre comment configurer la décompression de contenu IDP.

Exigences

Avant de commencer, passez en revue la fonctionnalité de décompression de contenu IDP. Reportez-vous à la section Comprendre la décompression de contenu

Aperçu

La fonction de décompression est désactivée par défaut. Dans cet exemple, vous activez le détecteur, configurez la mémoire maximale à 50 000 kilo-octets et configurez un taux de décompression maximal de 16:1.

Note:

L’activation de la décompression entraînera une réduction des performances de votre appareil.

Configuration

Procédure

Procédure étape par étape

Pour configurer la décompression de contenu IDP :

  1. Activez le détecteur.

    Note:

    Pour désactiver le détecteur, réglez le tunable‑value sur 0.

  2. Si nécessaire, modifiez la mémoire maximale en kilo-octets.

  3. Si nécessaire, configurez le taux de décompression maximal.

  4. Si vous avez terminé de configurer l’appareil, validez la configuration.

Vérification

Pour vérifier que la configuration fonctionne correctement, entrez la show security idp status ips commande. Les compteurs de décompression de contenu fournissent des statistiques sur le traitement de la décompression.

Comprendre les attaques basées sur les signatures IDP

Pour configurer un objet d’attaque personnalisé, spécifiez un nom unique pour celui-ci, puis spécifiez des informations supplémentaires, ce qui peut vous aider à localiser et à gérer l’objet d’attaque.

Certaines propriétés des définitions d’objet d’attaque sont communes à tous les types d’attaques, telles que le nom de l’attaque, le niveau de gravité, la liaison de service ou d’application, la liaison temporelle et la liaison de protocole ou de port. Certains champs sont spécifiques à un type d’attaque et ne sont disponibles que pour cette définition d’attaque spécifique.

Les objets d’attaque de signature utilisent une signature d’attaque dynamique (un modèle qui existe toujours dans une section spécifique de l’attaque) pour détecter les attaques connues. Ils incluent également le protocole ou le service utilisé pour perpétrer l’attaque et le contexte dans lequel l’attaque se produit. Les propriétés suivantes sont spécifiques aux attaques de signature et vous pouvez les configurer lors de la configuration de l’attaque de signature : contexte de l’attaque, direction de l’attaque, modèle d’attaque et paramètres spécifiques au protocole (champs d’en-tête TCP, UDP, ICMP ou IP).

Lorsque vous configurez des attaques basées sur des signatures, gardez à l’esprit les points suivants :

  • Le contexte et la direction de l’attaque sont des champs obligatoires pour la définition de la signature de l’attaque.

  • La négation de modèle est prise en charge uniquement pour les contextes basés sur les paquets, les lignes et les applications, et non pour les contextes de flux et de flux normalisés.

  • Lorsque vous configurez les paramètres spécifiques au protocole, vous ne pouvez spécifier des champs que pour l’un des protocoles suivants : IP, TCP, UDP ou ICMP.

  • Lors de la configuration d’une liaison de protocole, vous ne pouvez spécifier qu’un seul des éléments suivants : IP, ICMP, TCP, UDP, RPC ou applications.

    • IP : le numéro de protocole est un champ obligatoire.

    • TCP et UDP : vous pouvez spécifier un seul port (minimum-port) ou une plage de ports (minimum-port et maximum-port). Si vous ne spécifiez pas de port, la valeur par défaut est prise (0-65535).

    • RPC : le numéro de programme est un champ obligatoire.

À partir de Junos OS version 19.1R1, vous pouvez configurer des attaques basées sur des signatures à l’aide des paramètres étendus d’Hyperscan. En définissant des valeurs optimales pour les paramètres étendus d’Hyperscan, vous pouvez améliorer considérablement le processus de correspondance des modèles d’attaque.

Pour configurer les paramètres étendus, incluez l’option optional-parameters au niveau de la [edit security idp custom-attack attack-name attack-type signature] hiérarchie. Vous pouvez configurer les paramètres suivants sous l’option optional-parameters :

  • min-offset

  • max-offset

  • min-length

Bref principe de fonctionnement de l’API Hyperscan - Hyperscan est un moteur logiciel de correspondance d’expressions régulières conçu pour offrir des performances et une flexibilité élevées. Lorsqu’une signature avec un modèle est configurée dans le cadre d’une stratégie IDP, le modèle est identifié comme une expression régulière. Sur le moteur de routage, Hyperscan prend cette expression régulière en entrée et la compile pour former une base de données qui est envoyée au moteur de transfert de paquets. Lorsqu’un paquet entre dans le moteur de transfert de paquets, les données qu’il contient sont inspectées pour déterminer si elles correspondent à l’expression régulière utilisée dans la base de données.

Si une stratégie IDP est configurée avec un ensemble de signatures, des groupes d’automates finis déterministes (DFA) sont formés. Les modèles de toutes les signatures dans les groupes DFA sont transmis à Hyperscan pour former une base de données unique, qui peut être utilisée pour vérifier toutes les attaques dans le paquet à la fois. Étant donné qu’une seule base de données est utilisée au lieu d’une base de données distincte pour chaque attaque, le processus de correspondance de modèles est efficace.

Lorsqu’une signature est configurée avec les paramètres étendus, l’API Hyperscan forme la base de données en tenant compte des paramètres configurés. Le processus de correspondance de modèles se produit sur le moteur de transfert de paquets avec cette nouvelle base de données. Ces paramètres permettent de contraindre l’ensemble des correspondances produites par un motif au moment de la compilation plutôt que de dépendre de l’application pour traiter les correspondances indésirables au moment de l’exécution.

Exemple : Configuration d’attaques basées sur des signatures IDP

Cet exemple montre comment créer un objet d’attaque basé sur des signatures.

Exigences

Avant de commencer, configurez les interfaces réseau.

Aperçu

Dans cet exemple, vous créez une attaque de signature appelée sig1 et lui attribuez les propriétés suivantes :

  • Action recommandée (supprimer le paquet) : supprime un paquet correspondant avant qu’il n’atteigne sa destination, mais ne ferme pas la connexion.

  • Liaison temporelle : spécifie l’étendue en tant que et le nombre en tant que source 10. Lorsque la portée est source, toutes les attaques provenant de la même source sont comptées, et lorsque le nombre d’attaques atteint le nombre spécifié (10), l’attaque est consignée. Dans cet exemple, une attaque sur dix provenant de la même source est enregistrée.

  • Contexte d’attaque (paquet) : correspond au modèle d’attaque au sein d’un paquet.

  • Direction de l’attaque (toute) : détecte l’attaque dans les deux sens : trafic client-serveur et serveur-client.

  • Protocol (TCP) : spécifie la valeur TTL de 128.

  • Shellcode (Intel) : définit l’indicateur de détection du shellcode pour les plates-formes Intel.

  • Protocol binding (Liaison de protocole) : spécifie le protocole TCP et les ports 50 à 100.

Une fois que vous avez configuré un objet d’attaque basé sur une signature, vous spécifiez l’attaque en tant que critère de correspondance dans une règle de stratégie IDP. Reportez-vous à la section Exemple : Définition de règles pour une base de règles IPS IDP.

Configuration

Procédure

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur cette procédure, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.

Pour créer un objet d’attaque basé sur des signatures :

  1. Spécifiez un nom pour l’attaque.

  2. Spécifiez les propriétés communes de l’attaque.

  3. Spécifiez le type et le contexte de l’attaque.

  4. Spécifiez la direction de l’attaque et l’indicateur shellcode.

  5. Définissez le protocole et ses champs.

  6. Spécifiez la liaison de protocole et les ports.

  7. Spécifiez la direction.

Résultats

À partir du mode configuration, confirmez votre configuration en entrant la show security idp commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.

Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Vérification

Vérifiez que la configuration fonctionne correctement.

Vérification de la configuration

But

Vérifiez que l’objet d’attaque basé sur la signature a bien été créé.

Action

À partir du mode opérationnel, entrez la show security idp status commande.

Comprendre les attaques basées sur les anomalies du protocole IDP

Un objet d’attaque par anomalie de protocole détecte les attaques inconnues ou sophistiquées qui violent les spécifications du protocole (RFC et extensions RFC courantes). Vous ne pouvez pas créer d’anomalies de protocole, mais vous pouvez configurer un nouvel objet d’attaque qui contrôle la façon dont votre appareil gère une anomalie de protocole prédéfinie lorsqu’il est détecté.

Les propriétés suivantes sont spécifiques aux attaques par anomalie de protocole :

  • Direction de l’attaque

  • Condition d’essai

Lorsque vous configurez des attaques basées sur des anomalies de protocole, gardez à l’esprit les points suivants :

  • La liaison de service ou d’application est un champ obligatoire pour les attaques par anomalie de protocole. Outre les applications prises en charge, les services incluent également IP, TCP, UDP, ICMP et RPC.

  • Les propriétés Direction de l’attaque et Condition de test sont des champs obligatoires pour configurer les définitions d’attaque par anomalie.

Exemple : configuration d’attaques basées sur des anomalies de protocole IDP

Cet exemple montre comment créer un objet d’attaque basé sur une anomalie de protocole.

Exigences

Avant de commencer, configurez les interfaces réseau.

Aperçu

Dans cet exemple, vous créez une attaque par anomalie de protocole appelée anomalie1 et lui attribuez les propriétés suivantes :

  • Liaison temporelle : spécifie l’étendue et peer le nombre de détections d’anomalies 2 entre les adresses IP source et de destination des sessions pour le nombre de fois spécifié.

  • Gravité (info) : fournit des informations sur toute attaque qui correspond aux conditions.

  • Direction de l’attaque (toute) : détecte l’attaque dans les deux sens : trafic client-serveur et serveur-client.

  • Service (TCP) : correspond aux attaques effectuées à l’aide du service TCP.

  • Condition de test (OPTIONS_UNSUPPORTED) : correspond à certaines conditions de test prédéfinies. Dans cet exemple, la condition est de correspondre si l’attaque inclut des options non prises en charge.

  • Shellcode (sparc) : définit l’indicateur de détection du shellcode pour les plates-formes Sparc.

Une fois que vous avez configuré l’objet d’attaque basé sur une anomalie de protocole, vous spécifiez l’attaque en tant que critère de correspondance dans une règle de stratégie IDP. Reportez-vous à la section Exemple : Définition de règles pour une base de règles IPS IDP.

Configuration

Procédure

Configuration rapide de la CLI

Pour configurer rapidement cet exemple, copiez les commandes suivantes, collez-les dans un fichier texte, supprimez les sauts de ligne, modifiez tous les détails nécessaires pour qu’ils correspondent à votre configuration réseau, puis copiez et collez les commandes dans l’interface de ligne de commande au niveau de la [edit] hiérarchie, puis passez commit en mode de configuration.

Procédure étape par étape

L’exemple suivant vous oblige à naviguer à différents niveaux dans la hiérarchie de configuration. Pour obtenir des instructions sur cette procédure, reportez-vous à la section Utilisation de l’éditeur CLI en mode configuration dans le Guide de l’utilisateur de l’interface de ligne de commande.

Pour créer un objet d’attaque basé sur une anomalie de protocole :

  1. Spécifiez un nom pour l’attaque.

  2. Spécifiez les propriétés communes de l’attaque.

  3. Spécifiez le type d’attaque et la condition de test.

  4. Spécifiez d’autres propriétés pour l’attaque par anomalie.

Résultats

À partir du mode configuration, confirmez votre configuration en entrant la show security idp commande. Si la sortie n’affiche pas la configuration prévue, répétez les instructions de configuration de cet exemple pour la corriger.

Si vous avez terminé de configurer l’appareil, passez commit en mode de configuration.

Vérification

Pour vérifier que la configuration fonctionne correctement, effectuez la tâche suivante :

Vérification de la configuration

But

Vérifiez que l’objet d’attaque basé sur une anomalie de protocole a été créé.

Action

À partir du mode opérationnel, entrez la show security idp status commande.

Vue d’ensemble de la configuration de la stratégie IDP

La stratégie de détection et de prévention d’intrusion (IDP) de Junos OS vous permet d’appliquer de manière sélective diverses techniques de détection et de prévention des attaques sur le trafic réseau passant par un périphérique compatible IDP. Elle vous permet de définir des règles de stratégie correspondant à une section de trafic en fonction d’une zone, d’un réseau et d’une application, puis de prendre des mesures préventives actives ou passives sur ce trafic.

Une stratégie IDP définit la manière dont votre appareil gère le trafic réseau. Il vous permet d’appliquer diverses techniques de détection et de prévention des attaques sur le trafic qui traverse votre réseau.

Une stratégie est composée de bases de règles, et chaque base de règles contient un ensemble de règles. Vous définissez des paramètres de règle, tels que les conditions de correspondance du trafic, les actions et les exigences de journalisation, puis ajoutez les règles aux bases de règles. Une fois que vous avez créé une stratégie IDP en ajoutant des règles dans une ou plusieurs bases de règles, vous pouvez sélectionner cette stratégie comme stratégie active sur votre appareil.

Pour configurer la stratégie IDP, procédez comme suit :

  1. Activez l’IDP dans une stratégie de sécurité.

  2. Configurez les règles de stratégie IDP, les bases de règles IDP et les actions de règle IDP. Voir les rubriques Exemple : Insertion d’une règle dans la base de règles IDP , Exemple : Définition de règles pour une base de règles IPS IDP et Exemple : Configuration et application de règles de réécriture sur un dispositif de sécurité .

  3. Configurez les signatures personnalisées IDP. Consultez les rubriques Comprendre les attaques basées sur les signatures IDP et Exemple : Configuration des attaques basées sur les signatures IDP .

  4. Mettez à jour la base de données de signatures IDP. Reportez-vous à la section Mise à jour de la base de données de signatures IDP.

Présentation des canaux secrets IPv6

Un canal secret est une technique d’attaque qui permet la communication d’informations en transférant des objets via des canaux d’information existants de manière non autorisée ou illicite. À l’aide de canaux cachés, un attaquant peut mener des activités malveillantes sur un réseau.

À partir de la version 19.1R1 de Junos OS, l’identification et l’atténuation des canaux cachés pour les en-têtes d’extension IPv6 sont prises en charge sur la détection et prévention d’intrusion (IDP). C’est le transfert d’informations qui viole les systèmes de sécurité existants. Le package de sécurité pour IDP contient une base de données d’objets d’attaque IDP prédéfinis pour le canal secret que vous pouvez utiliser dans les stratégies IDP pour faire correspondre le trafic aux attaques.

Dans le cadre de cette prise en charge, vous pouvez détecter et signaler les anomalies des en-têtes d’extension IPv6, ce qui peut établir des canaux secrets et prendre les mesures spécifiées dans la stratégie. Les attaques par canal caché sont affichées dans le Show security idp attack table fichier avec les autres attaques.

Tableau de l’historique des modifications

La prise en charge des fonctionnalités est déterminée par la plateforme et la version que vous utilisez. Utilisez l’explorateur de fonctionnalités pour déterminer si une fonctionnalité est prise en charge sur votre plateforme.

Libérer
Description
18.4R1
À partir de Junos OS version 18.4R1, vous pouvez configurer l’intervalle de temps maximal entre deux instances d’une attaque personnalisée à liaison temporelle et la plage de l’intervalle de temps maximal est comprise entre 0 minute et 0 seconde et 60 minutes et 0 seconde. Dans les versions de Junos OS antérieures à la version 18.4R1, l’intervalle de temps maximal entre deux instances d’une attaque par liaison temporelle est de 60 secondes pour que le nombre de déclencheurs d’attaque atteigne le nombre configuré dans la liaison temporelle. L’instruction interval interval-value est introduite au niveau de la [edit security idp custom-attack attack-name time-binding] hiérarchie pour configurer une liaison temporelle personnalisée.
15.1X49-D140
À partir de la version 15.1X49-D140 de Junos OS, le nombre maximal de caractères autorisés pour un nom d’objet d’attaque personnalisé est de 60. Vous pouvez valider l’instruction à l’aide de la set security idp custom-attack commande.