Le renseignement sur les menaces dans Verify

Sécuriser les organisations contre les attaques d'identité à grande échelle avec IBM Security Verify

Les violations de données dues à l'augmentation de la transformation numérique dans tous les secteurs d'activité s'avèrent coûteuses à corriger et ont un impact négatif sur la réputation de la marque. Selon Cost of a Rapport sur les violations de données 2022, l'utilisation d'informations d'identification volées ou compromises reste la cause la plus fréquente d'une atteinte à la protection des données. Les violations causées par le vol ou la compromission d'informations d'identification ont coûté en moyenne 4.50 millions d'USD. Ces violations ont eu le cycle de vie le plus long - 243 jours pour identifier la violation, et 84 jours supplémentaires pour la contenir. Les clients cherchent donc à avoir une visibilité sur le trafic suspect qui arrive chez leurs locataires et à prendre des mesures proactives pour éviter les attaques liées à l'identité. Les attaques basées sur l'identité comprennent également des attaques continues sur les ressources par le biais de nombreuses tentatives de connexion et de tentatives de second facteur. Les organisations doivent rester alertes et conscientes, 24x7, ce qui crée beaucoup de consternation et d'inconfort pour les équipes qui protègent ces ressources.

En raison de ces vecteurs de menace et des préoccupations des organisations, IBM Security Verify SaaS introduit une fonctionnalité permettant d'analyser le trafic sur l'ensemble des locataires afin de détecter les indicateurs de compromission et les anomalies pour les attaques liées à l'identité, telles que les attaques par force brute, les attaques par bourrage d'identifiants, les écarts de connexion, et bien d'autres encore à l'avenir. Ces alertes permettront aux administrateurs chargés de la gestion des identités et des accès (IAM) de l'organisation de connaître le trafic suspect et de prendre des mesures correctives proactives, telles que le blocage d'une adresse IP ou la désactivation du ou des comptes d'utilisateur.

📘

Note

Cette fonctionnalité est disponible dans le cadre d'une bêta fermée. Veuillez contacter le support IBM si vous souhaitez que cette fonction soit activée dans votre locataire
dans votre locataire.

Présentation

IBM Security Verify aide les entreprises à se protéger contre les attaques à grande échelle basées sur l'identité. L'un des mécanismes consiste à utiliser une détection avancée des menaces basée sur les anomalies détectées dans le trafic de tous les clients d' IBM Security Verify. Ce point est décrit plus en détail dans le présent document.

2848

Protection Edge

Chaque fois qu'une demande arrive à Verify, elle est d'abord analysée au niveau de la périphérie afin de bloquer le trafic suspect et de prévenir les attaques telles que l'injection de commande, le Cross Site Scripting (XSS), le DDOS, le HTTP invalide, l'injection PHP, l'inclusion de fichier à distance, l'injection SQL, les chevaux de Troie, etc. Avec une solution de sécurité périphérique, Verify utilise également la géolocalisation et les politiques de réseau pour sécuriser l'infrastructure. Il s'agit notamment des règles de pare-feu pour les applications Web, des règles IP, de la protection DOS basée sur des limites de débit par IP et de la réputation des clients basée sur le comportement antérieur des adresses IP individuelles et partagées. Il est conçu pour arrêter les clients malveillants avant qu'ils ne puissent attaquer.

En outre, le bot manager détecte, alerte et empêche le trafic de bots. En outre, des règles personnalisées sont définies par IBM pour refuser tout trafic suspect qui ne relèverait d'aucune des protections standard fournies par le service WAF. Cette fonctionnalité d' IBM Security Verify existe depuis des années et n'est pas nouvelle.

L'équipe de détection et de réponse à la sécurité d' IBM Security Verify surveille les menaces et les activités suspectes dans son écosystème de milliers de clients et de partenaires, et réagit en prenant les mesures appropriées. Les adresses IP malveillantes connues sont ajoutées à une liste de blocage au niveau de la couche périphérique, en même temps que divers contrôles de sécurité couvrant le cryptage, la sécurité des données des locataires, la séparation et la sécurité du réseau, etc. Cela empêche l'accès à tout locataire Verify à partir de ces adresses IP.

Analyseur de menaces

La couche de défense suivante est l'analyseur de menaces qui analyse le trafic entrant pour détecter les attaques potentielles liées à l'identité, telles que le bourrage d'informations d'identification, les attaques par force brute, les anomalies de connexion, etc. Il exploite également les informations sur les menaces d' IBM Security X-Force Exchange pour les adresses IP concernant la réputation et les données historiques d'activités telles que les logiciels malveillants, les bots, etc. IBM Security X-Force Exchange est une plateforme de partage de renseignements sur les menaces basée sur le cloud qui permet aux utilisateurs de rechercher rapidement les dernières menaces de sécurité, d'agréger des renseignements exploitables et de collaborer avec leurs pairs. IBM X-Force Exchange, avec l'aide des renseignements générés par l'homme et la machine, exploite IBM X-Force dans son intégralité pour aider les utilisateurs à devancer les menaces émergentes.

Il s'agit de la nouvelle capacité dont il est question dans cet article.

L'analyseur de menaces utilise des modèles de menaces historiques générés par tous les locataires IBM Security Verify. Ainsi, tout locataire peut profiter des alertes générées par l'analyseur de menaces, même s'il n'y a pas eu d'attaque antérieure. Cela permet d'atténuer les attaques de manière proactive.

Dans un premier temps, Threat Analyzer suivra quatre grands vecteurs de menace. Les vecteurs de menace analysés seront continuellement améliorés et complétés, et de nouveaux modèles de menace seront ajoutés pour des vecteurs supplémentaires, sans nécessiter de configuration spécifique de la part du locataire. Les modèles actuellement pris en charge sont décrits ci-dessous.

  1. X-Force Actionable IPs : Ce vecteur de menace examine les flux de données fournis par IBM Security X-Force. Ce flux de données est une coopération de signaux évalués et agrégés pour identifier et classer les adresses IP suspectes par le biais de données de télécommunication et d'autres données de réseau auxquelles IBM Security X-Force participe et qu'elle alimente. Cette mesure vise à empêcher les adresses IP connues et suspectes d'accéder au système.

  2. Échecs de connexion : Ce vecteur de menace examine les modèles d'échecs de connexion pour le premier et le deuxième facteur afin de déterminer si les échecs de connexion se situent dans les limites du seuil normal ou s'ils s'en écartent. L'objectif est d'empêcher les attaques à grande échelle par force brute à partir des adresses IP qui utilisent ce type d'attaque.

  3. Écarts de connexion : Ce vecteur de menace examine les modèles de connexion réussie pour le premier et le deuxième facteur afin de déterminer si les connexions réussies se situent dans les limites normales ou s'écartent des seuils normaux. L'objectif est d'empêcher les connexions réussies à partir d'identifiants volés sur les adresses IP qui utilisent ce type d'attaque.

  4. Le bourrage d'informations d'identification/les informations d'identification compromises : Ce vecteur de menace s'intéresse à l'utilisation de mots de passe courants ou falsifiés lors de la connexion afin d'identifier les adresses IP qui persistent à utiliser des mots de passe courants ou falsifiés. L'objectif est d'empêcher les ouvertures de session courantes ou hameçonnées à partir des adresses IP qui utilisent ce type d'attaque.

Pré-authentification

Une fois qu'il est confirmé que le trafic n'est pas suspect, il est procédé à des vérifications de préauthentification. Il s'agit notamment de vérifier si l'identifiant entrant est un mot de passe courant ou un identifiant précédemment compromis. Si cette vérification est positive, IBM Security Verify applique des règles d'accès pour déterminer si la demande doit être autorisée/bloquée ou si une vérification supplémentaire est nécessaire.

Cela fera partie d'une prochaine mise à jour.

Authentification

IBM Security Verify offre un moteur de risque adaptatif et robuste qui peut être configuré pour évaluer les règles de contrôle d'accès en fonction du contexte de la demande (comme la géographie et les plages de sous-réseau IP), du contexte et des attributs de l'utilisateur, de l'état de conformité d'un appareil provenant d'une solution de gestion d'appareils, de la biométrie du comportement dynamique de l'utilisateur, etc. En fonction du résultat de l'évaluation de la politique, la décision peut consister à autoriser la transaction, à la bloquer, à demander des facteurs d'authentification supplémentaires ou à diriger l'utilisateur vers un système externe.

La capacité d'authentification basée sur le risque est l'accès adaptatif. Les options MFA comprennent l'OTP par SMS/Email, TOTP et l'application IBM Verify Authenticator (ex : push, présence de l'utilisateur et biométrie). Les options sans mot de passe comprennent également le QRCode et les clés d'accès (FIDO).

Exporter ou notifier des événements de menace

Cette section décrit les différentes manières dont les événements liés aux menaces peuvent être interrogés et transmis à des outils externes tels que le SIEM pour un examen plus approfondi. Vous pouvez choisir celui que vous utilisez déjà pour interroger d'autres événements. Si vous le configurez pour la première fois, nous vous recommandons d'utiliser l'approche des webhooks de notification.

  1. Les webhooks de notification : Cela peut se faire en spécifiant event_type = threat comme intérêt lors de l'ajout d'un événement personnalisé dans l'abonnement aux événements pour la configuration du webhook de notification. Pour plus de détails sur la configuration du webhook de notification, voir Création d'un webhook de notification

  2. Interroger les événements liés aux menaces à l'aide de l'API des événements : Pour ce faire, il suffit de spécifier event_type = threat comme filtre pour l'API des événements. Pour plus de détails sur l'utilisation de l'API des événements, voir Extraction des données d'activité et d'événement

  3. QRadar DSM : QRadar DSM peut être configuré pour interroger les événements de menace en sélectionnant event_type = threat. Pour plus de détails sur l'utilisation de QRadar DSM, voir IBM Security QRadar

Menaces et enquêtes

Cette section décrit les différentes alertes générées par IBM Security Verify et fournit des conseils sur les étapes possibles pour des investigations supplémentaires afin de déterminer si le trafic est suspect ou non. Il fournit également des détails sur les mesures correctives proactives à prendre si le trafic est jugé suspect.

Nom de l'alerte : Adresses IP pouvant faire l'objet d'une action de la part de XFE

Indique : Attaque par force brute
Détails : Les adresses IP à haut risque sont impliquées dans des activités malveillantes, telles que la pulvérisation de mots de passe et le C&C de botnet, et peuvent indiquer que des comptes ont été compromis au cours de la dernière heure. Voici les quatre catégories d'adresses IP exploitables que nous utilisons :

  • Analyse des adresses IP (scanning)
  • Logiciels malveillants (mw)
  • Bots (bots)
  • Serveur de commande et de contrôle de botnet c2server )

Enquête : Analyser le trafic pour déterminer si des mesures correctives sont nécessaires.

  1. Identifier l' URL du locataire concerné ( top5_affected_tenantname )
  2. Identifier le type d'événements générés par l'activité d'adresses IP exploitables ( top5_affected_event_type )
  3. Si des événements de gestion sont générés, identifiez si la réinitialisation des mots de passe ou l'ajout de dispositifs MFA est effectué pour un ou plusieurs utilisateurs. Cela pourrait indiquer un risque de reprise de compte.
  4. Identifier la liste des adresses IP suspectes et vérifier si des demandes de connexion ont abouti à partir de ces adresses IP.
    • xfe_confirmed_malicious_ips: Liste des IP pouvant faire l'objet d'une action et à partir desquelles des événements de SSO, d'authentification ou de gestion ont été trouvés au cours de la dernière heure
    • xfe_threat_insight: Catégories associées aux Ips exploitables. Par exemple, "Found 3 known malicious IPs, having categories : anonsvcs : 0, bots : 3, c2server: 0, mw : 0, scanning : 0"
    • suspicious_ips: Liste des adresses IP exploitables trouvées au cours de la dernière heure, avec le pourcentage d'échec, le nombre de réussites et le nombre d'échecs de connexion pour chaque adresse IP.
  5. Identifier la gravité de l'alerte :
    • Critique : Si 5 adresses IP ou plus sont trouvées parmi les adresses IP pouvant faire l'objet d'une action
    • Avertissement : Si 1 ou <5 adresses IP sont trouvées parmi les IP pouvant faire l'objet d'une action
  6. Si les demandes provenant d'adresses IP exploitables échouent, le site top5_affected_data_cause fournit davantage d'informations sur la cause des échecs.
  7. Identifier les noms d'utilisateur affectés ( top5_affected_data_username ) qui montrent les 5 comptes les plus utilisés pendant l'attaque.
  8. Identifier si un compte a été accédé avec succès ( compromised_users ) à partir d'adresses IP suspectes
  9. Identifier l'application concernée ( top5_affected_data_applicationname )

Actions de remédiation possibles :

  1. Bloquer l'adresse IP si le trafic semble suspect. Pour plus de détails, reportez-vous à la section sur les IP de blocage.
  2. Bloquer les comptes d'utilisateurs s'ils sont compromis. Pour plus de détails, reportez-vous à la section relative aux comptes de blocs.
{
  "rule_id": "XFE_ACTIONABLE_IP",
  "rule_name": "Actionable IP addresses from XFE",
  "summary": "Actionable IP addresses from XFE: 115 risky events are observed from 2022-12-17 11:00:00 UTC to 2022-12-17 12:00:00 UTC.",
  "source": "[('tenantid', '874f131f-79a9-4581-b078-de7681091fbc')]",
  "component": "Login activity",
  "anomalous_event_count": 115,
  "normal_traffic_volume": 0,
  "start_time": 1671274800000,
  "end_time": 1671278400000,
  "date": "2022-12-17",
  "severity": "critical",
  "index": "event-*",
  "impacted_user_count": 22,
  "suspicious_ips": "[['ip', 'fail_percentage', 'failure_count', 'success_count'],
  ['193.118.55.162', 100.0, 5, 0], ['103.153.190.238', 40.0, 2, 3], ['209.141.36.112', 100.0, 1, 0],
  ['198.235.24.173', 100.0, 1, 0], ['140.213.15.89', 33.33, 1, 2], ['197.210.53.113', 33.33, 1, 2],
  ['47.9.0.237', 25.0, 1, 3], ['164.100.133.253', 0.0, 0, 2], ['197.210.70.62', 0.0, 0, 1],
  ['171.245.218.108', 0.0, 0, 1], ['116.50.59.204', 0.0, 0, 1], ['102.88.62.82', 0.0, 0, 1],
  ['223.196.170.127', 0.0, 0, 2], ['180.247.45.59', 0.0, 0, 1], ['129.205.124.227', 0.0, 0, 7],
  ['105.113.20.110', 0.0, 0, 2], ['213.55.85.89', 0.0, 0, 3], ['105.178.43.219', 0.0, 0, 7],
  ['103.134.0.5', 0.0, 0, 1], ['103.28.246.254', 0.0, 0, 3], ['102.89.34.16', 0.0, 0, 4],
  ['197.211.58.30', 0.0, 0, 5], ['121.101.133.181', 0.0, 0, 2]]",
  "anomalous_suspicious_ips": [
    "193.118.55.162", "103.153.190.238", "209.141.36.112",
    "198.235.24.173", "140.213.15.89", "197.210.53.113",
    "47.9.0.237", "164.100.133.253", "197.210.70.62",
    "171.245.218.108", "116.50.59.204", "102.88.62.82",
    "223.196.170.127", "180.247.45.59", "129.205.124.227",
    "105.113.20.110", "213.55.85.89", "105.178.43.219",
    "103.134.0.5", "103.28.246.254", "102.89.34.16",
    "197.211.58.30", "121.101.133.181"
  ],
  "compromised_users": "{'105.178.43.219': ['[email protected]'], '129.205.124.227': ['[email protected]'], '197.211.58.30': ['[email protected]'], '102.89.34.16': ['[email protected]'], '103.153.190.238': ['[email protected]'], '103.28.246.254': ['[email protected]'], '213.55.85.89': ['[email protected]'], '47.9.0.237': ['[email protected]'], '105.113.20.110': ['[email protected]'], '121.101.133.181': ['[email protected]'], '140.213.15.89': ['[email protected]'], '164.100.133.253': ['[email protected]'], '197.210.53.113': ['[email protected]'], '223.196.170.127': ['[email protected]'], '102.88.62.82': ['[email protected]'], '103.134.0.5': ['[email protected]'], '116.50.59.204': ['[email protected]'], '171.245.218.108': ['[email protected]'], '180.247.45.59': ['[email protected]'], '197.210.70.62': ['[email protected]']}",
  "xfe_threat_insight": "Found 23 known malicious IPs, having categories: bots: 22, c2server: 0, mw: 0, scanning: 2",
  "xfe_confirmed_malicious_ips": [
    "129.205.124.227", "116.50.59.204", "102.89.34.16",
    "193.118.55.162", "103.153.190.238", "180.247.45.59",
    "164.100.133.253", "197.210.70.62", "171.245.218.108",
    "198.235.24.173", "102.88.62.82", "213.55.85.89",
    "105.178.43.219", "103.134.0.5", "209.141.36.112",
    "103.28.246.254", "197.211.58.30", "47.9.0.237",
    "197.210.53.113", "223.196.170.127", "121.101.133.181",
    "105.113.20.110", "140.213.15.89"
  ],
  "top5_affected_event_type": "{'risk': 44, 'authentication': 36, 'sso': 31, 'management': 4}",
  "most_significant_event_type": [
    "risk",
    "authentication",
    "sso"
  ],
  "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 115}",
  "most_significant_tenantid": [
    "874f131f-79a9-4581-b078-de7681091fbc"
  ],
  "top5_affected_tenantname": "{'tenant1.abc.com': 92, 'tenant2.abc.com': 23}",
  "most_significant_tenantname": [
    "tenant1.abc.com"
  ],
  "top5_affected_data_subtype": "{'oidc': 23, 'user_password': 17, 'mfa': 11, 'saml': 8, 'token-exchange': 7}",
  "most_significant_data_subtype": [
    "oidc",
    "user_password",
    "mfa"
  ],
  "top5_affected_data_scope": "{'openid': 20, 'openid email': 2, 'openid profile': 1}",
  "most_significant_data_scope": [
    "openid"
  ],
  "top5_affected_data_cause": "{
    'Token Exchange Successful': 7,
    \"CSIAC4610E Unable to retrieve the application's configuration for the Entity ID https://18.135.137.31/samlsp.em7?action=metadata because there is no match found.\": 5,
    'Authenticated user \"[email protected]\" successfully.': 2,
    'Authenticated user \"[email protected]\" successfully.': 2,
    'The system failed to authenticate user \"[email protected]\" because of \"INVALID_CREDS\".': 2
  }",
  "most_significant_data_cause": [
    "Token Exchange Successful",
    "CSIAC4610E Unable to retrieve the application's configuration for the Entity ID https://18.135.137.31/samlsp.em7?action=metadata because there is no match found.",
    "Authenticated user \"[email protected]\" successfully."
  ],
  "top5_affected_data_sourcetype": "{'clouddirectory': 24, 'oidc': 7, 'saml': 1}",
  "most_significant_data_sourcetype": [
    "clouddirectory",
    "oidc"
  ],
  "top5_affected_servicename": "{'risk': 44, 'oidc_rt': 23, 'profilemgmt': 17, 'factors': 11, 'saml_runtime': 9}",
  "most_significant_servicename": [
    "risk",
    "oidc_rt",
    "profilemgmt"
  ],
  "top5_affected_data_providerid": "{'https://18.135.137.31/samlsp.em7?action=metadata': 5, 'https://18.135.144.228/samlsp.em7?action=metadata': 1, 'https://3.123.117.242/samlsp.em7?action=metadata': 1, 'https://tenant1.abc.com/saml/sps/saml20ip/saml20': 1, 'https://sso.everbridge.net/GNMManager': 1}",
  "most_significant_data_providerid": [
    "https://18.135.137.31/samlsp.em7?action=metadata",
    "https://18.135.144.228/samlsp.em7?action=metadata",
    "https://3.123.117.242/samlsp.em7?action=metadata"
  ],
  "top5_affected_data_grant_type": "{'authorization_code': 18, 'resource_owner': 7, 'implicit': 5}",
  "most_significant_data_grant_type": [
    "authorization_code",
    "resource_owner"
  ],
  "top5_affected_data_mfamethod": "{'Email OTP': 15}",
  "most_significant_data_mfamethod": [
    "Email OTP"
  ],
  "top5_affected_data_username": "{'[email protected]': 16, '[email protected]': 12, '[email protected]': 10, '[email protected]': 8, 'UNKNOWN': 7}",
  "most_significant_data_username": [
    "[email protected]",
    "[email protected]",
    "[email protected]",
    "[email protected]"
  ],
  "top5_affected_geoip_country_name": "{'Nigeria': 46, 'India': 20, 'Indonesia': 20, 'Rwanda': 12, 'Netherlands': 5}",
  "most_significant_geoip_country_name": [
    "Nigeria",
    "India",
    "Indonesia"
  ]
}

Nom de l'alerte : Attaque potentielle de type "credential stuffing" (PCS)

Indique : Attaque par bourrage d'informations d'identification
Détails : Augmentation soudaine des échecs liés aux noms d'utilisateur et aux mots de passe par rapport au comportement normal pour les événements SSO ou Auth au cours des 14 derniers jours. L'alerte contiendra des détails sur les adresses IP rouges trouvées lors de l'attaque.
Enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL locataire concerné ( top5_affected_tenantname ).

  2. Identifier la liste des adresses IP suspectes et vérifier si des demandes de connexion ont abouti à partir de ces adresses IP.

    • xfe_confirmed_malicious_ips: Liste des IP pouvant faire l'objet d'une action et à partir desquelles des événements de SSO, d'authentification ou de gestion ont été trouvés au cours de la dernière heure
    • xfe_threat_insight: Catégories associées aux Ips exploitables. E.g.: "Found 3 known malicious IPs, having categories : anonsvcs : 0, bots : 3, c2server: 0, mw : 0, scanning : 0."
    • suspicious_ips: Liste des adresses IP exploitables trouvées au cours de la dernière heure, avec le pourcentage d'échec, le nombre de réussites et le nombre d'échecs de connexion pour chaque adresse IP.
  3. Identifier la gravité de l'alerte :

    • Critique : si le nombre d'événements anormaux est de > max(5*normal_failure_count, 10000).
    • Attention : si le nombre d'événements anormaux est compris entre [min(3* normal traffic volume, 5000), 10000]
  4. top5_affected_data_cause donne plus d'informations sur les causes des défaillances.

  5. Identifier les noms d'utilisateur affectés ( top5_affected_data_username ) qui montrent les 5 comptes les plus utilisés pendant l'attaque.

  6. Identifier si un compte a été accédé avec succès ( compromised_users ) à partir d'adresses IP suspectes

  7. Identifier l'application concernée ( top5_affected_data_applicationname )

  8. normal_traffic_volume fournit un comptage de base basé sur les 14 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.

  9. Dans certains cas, l'augmentation du nombre d'échecs liés aux noms d'utilisateur et aux mots de passe peut être due à l'intégration d'un plus grand nombre d'utilisateurs ou à l'intégration de nouvelles applications. Déterminez s'il s'agit d'une raison possible de l'alerte.

  10. Les champs supplémentaires suivants peuvent être analysés pour obtenir un contexte supplémentaire pour l'enquête afin de déboguer les composants affectés pendant l'attaque ou pour des problèmes opérationnels

  • most_significant_data_client_name
  • most_significant_data_providerid
  • most_significant_data_redirecturl
  • most_significant_data_scope
  • most_significant_data_subtype
  • most_significant_geoip_country_name
  • most_significant_servicename
  1. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  2. En général, outre cette alerte, d'autres alertes peuvent être générées au cours de l'attaque, telles que
  • Plusieurs tentatives de connexion échouées à partir de l'adresse IP (ou)
  • Nombre anormal d'échecs d'événements SSO/Authentication observés par locataire.
  1. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'une véritable attaque ou non.

Quelques modèles d'analyse connus :

  1. Identifier la liste xfe_confirmed_malicious_ips. Si une IP est trouvée dans la catégorie, elle peut être directement bloquée ou peut être signalée comme une attaque avec une grande confiance.
  2. Regardez les statistiques des IP dans la liste suspicious_ips
    • Si la plupart des échecs proviennent d'une seule IP et que les autres ont un nombre d'échecs très faible, il est possible que quelqu'un ait exécuté un script ou une application en configurant un nom d'utilisateur ou un mot de passe erroné (identifiez le(s) nom(s) d'utilisateur valide(s) accessible(s) à partir de l'IP). Examinez également la cause de la défaillance et top5_affected_data_applicationname pour voir s'il s'agit de l'un des problèmes connus.
    • Si plusieurs IP présentent un nombre important d'échecs dans la liste des IP suspectes, il est très probable qu'il s'agisse d'une attaque. Identifier les top5_geoip_country_name dans l'alerte ainsi que le pays et la répartition des noms d'utilisateur pour les IP suspectes à fort taux d'échec.
    • Si les échecs concernent une application spécifique, ils peuvent être dus à une mauvaise configuration de l'application. Vérifiez auprès du propriétaire de l'application.
  3. Pour les événements d'authentification, si la plupart des causes d'échec contiennent des chaînes comme INVALID_CREDS, il peut s'agir d'une attaque.

Actions de remédiation possibles :

  1. S'il n'est pas certain qu'il s'agisse d'une attaque => Surveiller le trafic pour déterminer si le trafic avec échec du mot de passe du nom d'utilisateur est en augmentation.

  2. S'il est confirmé qu'il s'agit d'une attaque, bloquer les adresses IP dans l'attribut anomalous_suspicious_ips. Pour plus de détails, reportez-vous à la section sur les IP de blocage.

  3. Les comptes qui ont été connectés avec succès à partir d'adresses IP suspectes pourraient être compromis. Les noms d'utilisateur potentiellement compromis correspondant à chaque IP suspecte se trouvent dans l'attribut compromised_users. Pour les comptes compromis, les clients peuvent décider de réinitialiser le mot de passe ou de désactiver ces comptes. Pour plus d'informations, reportez-vous à la section sur le blocage des comptes ou à la section sur la demande de réinitialisation du mot de passe.

{
  "rule_id": "CREDENTIAL_STUFFING_SSO",
  "rule_name": "Potential credential stuffing attack (SSO)",
  "summary": "Potential credential stuffing attack (SSO): 31348 anomalous events are observed, beyond normal traffic volume, from 2022-11-23 17:00:00 UTC to 2022-11-23 18:00:00 UTC.",
  "source": "[('tenantid', '874f131f-79a9-4581-b078-de7681091fbc'), ('tenantname', 'tenant1.abc.com'), ('data.result', 'failure')]",
  "component": "Login activity",
  "anomalous_event_count": 31348,
  "normal_traffic_volume": 1004,
  "start_time": 1669222800000,
  "end_time": 1669226400000,
  "date": "2022-11-23",
  "severity": "critical",
  "index": "event-sso-*",
  "impacted_user_count": 32090,
  "impacted_apps_count": 5,
  "suspicious_ips": "[['ip', 'fail_percentage', 'failure_count', 'success_count'],
  ['52.117.163.162', 98.72, 10517, 136], ['169.50.223.22', 98.53, 5502, 82], ['169.50.223.24', 98.42, 5431, 87],
  ['169.59.129.120', 98.44, 5242, 83], ['169.59.129.116', 98.67, 5185, 70]]",
  "anomalous_suspicious_ips": [
    "169.50.223.22",
    "169.50.223.24",
    "169.59.129.116",
    "169.59.129.120",
    "52.117.163.162"
  ],
  "compromised_users": "{'52.117.163.162': ['[email protected]', '[email protected]', '[email protected]'], '169.50.223.24': ['[email protected]', '[email protected]', '[email protected]'], '169.59.129.120': ['[email protected]', '[email protected]', '[email protected]', '[email protected]'], '169.50.223.22': ['[email protected]', '[email protected]', '[email protected]'], '169.59.129.116': ['[email protected]', '[email protected]']}",
  "xfe_threat_insight": "Found 1 known malicious IPs, having categories: anonsvcs: 0, bots: 0, c2server: 0, mw: 1, scanning: 0.",
  "xfe_confirmed_malicious_ips": ['52.117.163.162'],
  "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 32352}",
  "most_significant_tenantid": [
    "874f131f-79a9-4581-b078-de7681091fbc"
  ],
  "top5_affected_tenantname": "{'tenant1.abc.com': 32352}",
  "most_significant_tenantname": [
    "tenant1.abc.com"
  ],
  "top5_affected_servicename": "{'oidc_rt': 32352}",
  "most_significant_servicename": [
    "oidc_rt"
  ],
  "top5_affected_data_subtype": "{'oidc': 32352}",
  "most_significant_data_subtype": [
    "oidc"
  ],
  "top5_affected_data_scope": "{'openid': 32352}",
  "most_significant_data_scope": [
    "openid"
  ],
  "top5_affected_data_cause": "{'CSIAQ0264E The user name or password is invalid.': 32321, 'CSIAQ0264E El nombre de usuario o la contraseña no es válido.': 12, 'CSIAQ0264E O nome do usuário ou a senha é inválida.': 9, 'CSIAQ0264E 用户名或密码无效。': 4, 'CSIAQ0264E 사용자 이름 또는 비밀번호가 올바르지 않습니다.': 2}",
  "most_significant_data_cause": [
    "CSIAQ0264E The user name or password is invalid."
  ],
  "top5_affected_data_applicationname": "{'urx_next': 31877, 'ABC_PROD_CLOUD': 347, 'ABC Cloud IAM production - global': 117, 'ABC Cloud IAM staging - global': 7, 'ABC Cloud IAM integrationtest': 4}",
  "most_significant_data_applicationname": [
    "urx_next"
  ],
  "top5_affected_data_client_name": "{'urx_next': 31877, 'ABC_PROD_CLOUD': 347, 'ABC Cloud IAM production - global': 117, 'ABC Cloud IAM staging - global': 7, 'ABC Cloud IAM integrationtest': 4}",
  "most_significant_data_client_name": [
    "urx_next"
  ],
  "top5_affected_data_redirecturl": "{'UNKNOWN': 32352}",
  "most_significant_data_redirecturl": [
    "UNKNOWN"
  ],
  "top5_affected_data_providerid": "{}",
  "most_significant_data_providerid": [],
  "top5_affected_data_username": "{'[email protected]': 319, '[email protected]': 17, '[email protected]': 9, '[email protected]': 6, '[email protected]': 6}",
  "most_significant_data_username": [
    "[email protected]"
  ],
  "top5_affected_geoip_country_name": "{'United States': 32334, 'Australia': 17, 'United Kingdom': 1}",
  "most_significant_geoip_country_name": [
    "United States"
  ]
}

Nom de l'alerte : Plusieurs tentatives de connexion échouées à partir de l'adresse IP

Indique : Attaque par force brute ou par bourrage d'informations d'identification
Détails : Augmentation soudaine des échecs de connexion à partir d'une adresse IP par rapport au comportement normal pour les événements SSO ou Auth au cours des 7 derniers jours.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL du locataire concerné ( top5_affected_tenantname )
  2. Identifier la liste des adresses IP suspectes et vérifier si des demandes de connexion ont abouti à partir de ces adresses IP.
    • xfe_confirmed_malicious_ips: Liste des adresses IP pouvant faire l'objet d'une action et à partir desquelles des événements de SSO, d'authentification ou de gestion ont été trouvés au cours de la dernière heure
    • xfe_threat_insight: Catégories associées aux adresses IP pouvant faire l'objet d'une action. E.g.: "Found 3 known malicious IPs, having categories : anonsvcs : 0, bots : 3, c2server: 0, mw : 0, scanning : 0."
    • suspicious_ips: Liste des adresses IP exploitables trouvées au cours de la dernière heure, avec le pourcentage d'échec, le nombre de réussites et le nombre d'échecs de connexion pour chaque adresse IP.
  3. Identifier la gravité de l'alerte :
    • Critique : si un certain nombre d'événements anormaux sont > max(5*normal_failure_count, 5000)
    • Attention : si le nombre d'événements anormaux est compris entre [min(3* normal traffic volume, 1000), 5000]
  4. top5_affected_data_cause donne plus d'informations sur les causes des défaillances. Cela peut aider à déterminer si les défaillances sont dues à un problème opérationnel.
  5. Identifier les noms d'utilisateur affectés ( top5_affected_data_username ) qui montrent les 5 comptes les plus utilisés pendant l'attaque.
  6. Identifier si un compte a été accédé avec succès ( compromised_users ) à partir d'adresses IP suspectes.
  7. Identifier l'application concernée ( top5_affected_data_applicationname ).
  8. normal_traffic_volume fournit un comptage de base basé sur les 7 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  9. Dans certains cas, des logins d'échec sont générés en raison de problèmes opérationnels. Déterminer s'il existe des problèmes connus qui pourraient être à l'origine de ces défaillances et donner lieu à une alerte.
  10. Les champs supplémentaires suivants peuvent être analysés pour obtenir un contexte supplémentaire pour l'enquête afin de déboguer les composants affectés pendant l'attaque ou pour des problèmes opérationnels
  • most_significant_data_client_name
  • most_significant_data_providerid
  • most_significant_data_redirecturl
  • most_significant_data_scope
  • most_significant_data_subtype
  • most_significant_geoip_country_name
  • most_significant_servicename 
  1. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  2. Identifier si plusieurs noms d'utilisateur sont utilisés à partir de l'IP. Si plusieurs noms d'utilisateur sont utilisés, identifiez s'il s'agit d'un VPN. Si l'adresse IP n'est pas VPN, il peut s'agir d'une attaque.
  3. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'une véritable attaque ou non.

Quelques modèles d'analyse connus :

  1. Identifier la liste xfe_confirmed_malicious_ips, si elle est positive, bloquer l'IP en question.
  2. Vérifiez le nombre d'alertes d'échecs multiples de connexion générées au cours de cette heure, puis identifiez top5_affected_data_cause, top5_affected_data_applicationname, et top5_affected_data_username.
    • Si le trafic provient d'une application spécifique et d'un utilisateur spécifique, il se peut que quelqu'un ait configuré le mauvais nom d'utilisateur/mot de passe et exécuté un script pour quelque chose. Confirmer s'il s'agit d'un trafic légitime ou non.
    • Si le trafic provient de plusieurs utilisateurs : Bloquez l'adresse IP (à moins qu'il ne s'agisse d'une adresse IP VPN/proxy). Si l'IP est une IP VPN/proxy, identifiez top5_affected_data_cause pour déterminer si cela est dû à des problèmes opérationnels.
    • Si plusieurs alertes sont trouvées au cours d'une heure : Identifier top5_affected_tenantname et top5_affected_data_username pour chaque alerte. Si plusieurs IP présentent le plus grand nombre d'échecs pour un même locataire et de la part de plusieurs utilisateurs, il peut s'agir d'une attaque ou d'une défaillance majeure d'une application ou d'un système.

Actions de remédiation possibles :

  1. S'il n'est pas certain qu'il s'agisse d'une attaque => Surveiller le trafic pour déterminer si les défaillances diminuent ou augmentent.
  2. S'il est confirmé qu'il s'agit d'une attaque, bloquez les adresses IP suspectes. Pour plus de détails, reportez-vous à la section sur les IP de blocage.
  3. Les comptes qui ont été connectés avec succès à partir d'adresses IP suspectes pourraient être compromis. Les noms d'utilisateur potentiellement compromis correspondant à l'adresse IP suspecte peuvent être trouvés dans l'attribut compromised_users. Pour les comptes compromis, les clients peuvent décider de l'action à entreprendre, c'est-à-dire s'ils veulent réinitialiser les mots de passe ou désactiver ces comptes. Pour plus d'informations, reportez-vous à la section sur le blocage des comptes ou à la section sur la demande de réinitialisation du mot de passe.
{
    "rule_id": "MULTIPLE_FAILED_LOGIN_AUTH",
    "rule_name": "Multiple failed login from an IP address (Auth)",
    "summary": "Multiple failed login from an IP address (Auth): 5597 anomalous events are observed, beyond normal traffic volume, from 2023-01-10 17:00:00 UTC to 2023-01-10 18:00:00 UTC.",
    "source": "[('data.origin', '165.155.173.54'), ('data.result', 'failure')]",
    "component": "Login activity",
    "anomalous_event_count": 5597,
    "normal_traffic_volume": 0,
    "start_time": 1673370000000,
    "end_time": 1673373600000,
    "date": "2023-01-10",
    "severity": "critical",
    "index": "event-authentication-*",
    "impacted_user_count": 17,
    "suspicious_ips": "[['ip', 'fail_percentage', 'failure_count', 'success_count'], ['165.155.173.54', 98.45, 5597, 88]]",
    "anomalous_suspicious_ips": [
      "165.155.173.54"
    ],
    "compromised_users": "{'165.155.173.54': ['serafina', 'alessi', 'donyg', 'evanb', 'joelr', 'taqb', 'anthony', 'heaven', 'jenny', 'jessica']}",
    "xfe_threat_insight": "Found 0 known malicious IPs.",
    "xfe_confirmed_malicious_ips": [],
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 5597}",
    "most_significant_tenantid": [
      "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_tenantname": "{'tenant1.abc.com': 5593, 'tenant2.abc.com': 4}",
    "most_significant_tenantname": [
      "idpcloud.nycenet.edu"
    ],
    "top5_affected_data_subtype": "{'user_password': 5596, 'mfa': 1}",
    "most_significant_data_subtype": [
      "user_password"
    ],
    "top5_affected_data_scope": "{}",
    "most_significant_data_scope": [],
    "top5_affected_data_cause": "{'The system failed to authenticate user \"aariz\" because of \"INVALID_CREDS\".': 5579,
    'The system failed to authenticate user \"anthony\" because of \"INVALID_CREDS\".': 2,
    'The system failed to authenticate user \"mtorr\" because of \"INVALID_CREDS\".': 2,
    'CSIAH2417E The one-time password that you submitted was invalid. Submit a valid one-time password.': 1,
    'The system failed to authenticate user \"aless\" because of \"INVALID_CREDS\".': 1}",
    "most_significant_data_cause": [
      "The system failed to authenticate user \"aari\" because of \"INVALID_CREDS\"."
    ],
    "top5_affected_data_sourcetype": "{'clouddirectory': 5596}",
    "most_significant_data_sourcetype": [
      "clouddirectory"
    ],
    "top5_affected_servicename": "{'profilemgmt': 5596, 'authsvc': 1}",
    "most_significant_servicename": [
      "profilemgmt"
    ],
    "top5_affected_data_providerid": "{}",
    "most_significant_data_providerid": [],
    "top5_affected_data_grant_type": "{}",
    "most_significant_data_grant_type": [],
    "top5_affected_data_mfamethod": "{'SMS OTP': 1}",
    "most_significant_data_mfamethod": [
      "SMS OTP"
    ],
    "top5_affected_data_username": "{'aari': 5579, 'anthony': 2, 'mtor': 2, 'ANor': 1, 'aless': 1}",
    "most_significant_data_username": [
      "aari"
    ],
    "top5_affected_geoip_country_name": "{'United States': 5597}",
    "most_significant_geoip_country_name": [
      "United States"
    ]
}

Nom de l'alerte : Nombre anormal d'échecs d'événements SSO/Authentication observés par locataire.

Indique : Attaque par force brute ou par bourrage de données d'identification ou problèmes opérationnels
Détails : Augmentation soudaine des échecs de connexion pour un locataire par rapport au comportement normal pour les événements SSO ou Auth au cours des 14 derniers jours.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier les URL des locataires concernés ( top5_affected_tenantname ).
  2. Identifier la liste des adresses IP suspectes et vérifier si des demandes de connexion ont abouti à partir de ces adresses IP.
    • xfe_confirmed_malicious_ips: Liste des adresses IP pouvant faire l'objet d'une action et à partir desquelles des événements de SSO, d'authentification ou de gestion ont été trouvés au cours de la dernière heure
    • xfe_threat_insight: Catégories associées aux adresses IP pouvant faire l'objet d'une action. E.g.: "Found 3 known malicious IPs, having categories : anonsvcs : 0, bots : 3, c2server: 0, mw : 0, scanning : 0."
    • suspicious_ips: Liste des adresses IP exploitables trouvées au cours de la dernière heure, avec le pourcentage d'échec, le nombre de réussites et le nombre d'échecs de connexion pour chaque adresse IP.
  3. Identifier la gravité de l'alerte :
    • Critique : si un certain nombre d'événements anormaux sont > max(5*normal_failure_count, 10000)
    • Attention : si le nombre d'événements anormaux est compris entre [min(3* normal traffic volume, 5000), 10000]
  4. top5_affected_data_cause donne plus d'informations sur les causes des défaillances. Cela permet de déterminer si les défaillances sont dues à des problèmes opérationnels.
  5. Identifier les noms d'utilisateur affectés ( top5_affected_data_username ) qui montrent les 5 comptes les plus fréquemment utilisés pendant l'attaque.
  6. Identifier l'application concernée ( top5_affected_data_applicationname ).
  7. normal_traffic_volume fournit un comptage de base basé sur les 14 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  8. Dans certains cas, des événements de connexion d'échec sont générés en raison de problèmes opérationnels.
    • Déterminer s'il existe un problème connu qui pourrait être à l'origine de ces défaillances et donner lieu à une alerte.
    • Identifier s'il y a d'autres alertes générées indiquant une attaque telle que plusieurs tentatives de connexion échouées à partir d'une adresse IP (ou) une attaque potentielle de bourrage d'informations d'identification
  9. Les champs supplémentaires suivants peuvent être analysés pour obtenir un contexte supplémentaire pour l'enquête afin de déboguer les composants affectés pendant l'attaque ou pour des questions opérationnelles
    • most_significant_data_client_name
    • most_significant_data_providerid
    • most_significant_data_redirecturl
    • most_significant_data_scope
    • most_significant_data_subtype
    • most_significant_geoip_country_name
    • most_significant_servicename
  10. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  11. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'une attaque ou d'un problème opérationnel.

Actions de remédiation possibles :

   

  1. S'il n'est pas certain qu'il s'agisse d'une attaque => Surveiller le trafic pour déterminer si les défaillances diminuent ou augmentent.
  2. S'il est confirmé qu'il s'agit d'une attaque, bloquez les adresses IP mentionnées dans l'attribut anomalous_suspicious_ips. Pour plus de détails, reportez-vous à la section sur les IP de blocage.
  3. Les comptes qui ont été connectés avec succès à partir d'adresses IP suspectes pourraient être compromis. Les noms d'utilisateur potentiellement compromis correspondant à l'adresse IP suspecte peuvent être trouvés dans l'attribut compromised_users. Pour les comptes compromis, les clients peuvent décider de l'action à entreprendre, c'est-à-dire s'ils veulent réinitialiser les mots de passe ou désactiver ces comptes. Pour plus de détails, reportez-vous à la section sur le blocage des comptes ou à la section sur la demande de réinitialisation du mot de passe.
{
    "rule_id": "TENANT_FAILED_SSO_EVENTS",
    "rule_name": "Abnormal number of failed SSO events observed per tenant.",
    "summary": "Abnormal number of failed SSO events observed per tenant.: 24456 anomalous events are observed, beyond normal traffic volume, from 2022-12-19 10:00:00 UTC to 2022-12-19 11:00:00 UTC.",
    "source": "[('tenantid', '874f131f-79a9-4581-b078-de7681091fbc'), ('tenantname', 'tenant1.abc.com'), ('data.result', 'failure')]",
    "component": "Login activity",
    "anomalous_event_count": 24456,
    "normal_traffic_volume": 711,
    "start_time": 1671444000000,
    "end_time": 1671447600000,
    "date": "2022-12-19",
    "severity": "critical",
    "index": "event-sso-*",
    "impacted_user_count": 88,
    "impacted_apps_count": 37,
    "suspicious_ips": "[['ip', 'fail_percentage', 'failure_count', 'success_count'],
    ['177.241.73.204', 100.0, 24777, 0], ['129.42.21.2', 100.0, 26, 0], ['129.42.18.2', 100.0, 24, 0],
    ['129.42.19.2', 100.0, 24, 0], ['89.64.54.76', 100.0, 19, 0], ['52.116.134.146', 100.0, 12, 0],
    ['122.161.79.4', 100.0, 11, 0]]",
    "anomalous_suspicious_ips": [
      "122.161.79.4",
      "177.241.73.204",
      "89.64.54.76"
    ],
    "xfe_threat_insight": "Found 1 known malicious IPs, having categories: anonsvcs: 0, bots: 1, c2server: 0, mw: 0, scanning: 0`",
    "xfe_confirmed_malicious_ips": ['122.161.79.4'],
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 25167}",
    "most_significant_tenantid": [
      "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_tenantname": "{'tenant1.abc.com': 25167}",
    "most_significant_tenantname": [
      "tenant1.abc.com"
    ],
    "top5_affected_servicename": "{'oidc_rt': 25167}",
    "most_significant_servicename": [
      "oidc_rt"
    ],
    "top5_affected_data_subtype": "{'oidc': 25167}",
    "most_significant_data_subtype": [
      "oidc"
    ],
    "top5_affected_data_scope": "{'openid email': 24790, 'openid': 259, 'openid profile': 2, 'openid profile email': 1}",
    "most_significant_data_scope": [
      "openid email"
    ],
    "top5_affected_data_cause": "{'CSIAQ0178E Login is required. The request cannot be processed without authentication.': 24777,
    'CSIAQ0278E User is not authorized to access the application due to policy constraints.': 150,
    'CSIAQ0158E The [authorization_grant] of type [authorization_code] does not exist or is invalid.': 70,
    'CSIAQ0158E The [authorization_grant] of type [refresh_token] does not exist or is invalid.': 31,
    'CSIAQ0158E タイプ [refresh_token] の [authorization_grant] は存在しないか無効です。': 13}",
    "most_significant_data_cause": [
      "CSIAQ0178E Login is required. The request cannot be processed without authentication."
    ],
    "top5_affected_data_applicationname": "{'Gaz-HAT-Production': 24777, 'abc-refresh-service-prod': 107, 'ABCProductionOIDC': 72, 'ABC Publisher': 63, 'FastPassPRDClient': 30}",
    "most_significant_data_applicationname": [
      "Gaz-HAT-Production"
    ],
    "top5_affected_data_client_name": "{'ABC-HAT-Production': 24777, 'ABCrefresh-service-prod': 107, 'ABCProductionOIDC': 72, 'abc Publisher': 63, 'abcFastPassPRDClient': 30}",
    "most_significant_data_client_name": [
      "Gaz-HAT-Production"
    ],
    "top5_affected_data_redirecturl": "{'https://gaz.tuc.stglabs.ibm.com/oidc/callback/': 24777, 'https://w3-authorization-service.us-south-k8s.intranet.ibm.com/sso/callback': 88, 'https://w3.ibm.com/w3publisher/redirect.html': 63, 'UNKNOWN': 50, 'https://fastpass.w3cloud.ibm.com:443/oidcclient/redirect/FastPassPRDClient': 30}",
    "most_significant_data_redirecturl": [
      "https://gaz.tuc.stglabs.ibm.com/oidc/callback/"
    ],
    "top5_affected_data_providerid": "{}",
    "most_significant_data_providerid": [],
    "top5_affected_data_username": "{'UNKNOWN': 24978, '[email protected]': 19, '[email protected]': 17, '[email protected]': 11, '[email protected]': 10}",
    "most_significant_data_username": [
      "UNKNOWN"
    ],
    "top5_affected_geoip_country_name": "{'Mexico': 24777, 'United States': 192, 'India': 84, 'Poland': 26, 'Japan': 22}",
    "most_significant_geoip_country_name": [
      "Mexico"
    ]
}

Nom de l'alerte : Authentification fréquente d'un seul utilisateur

Indique : Attaque par force brute ou problèmes opérationnels
Détails : Augmentation soudaine des demandes d'authentification réussies de la part d'un seul utilisateur par rapport au comportement normal pour les événements SSO ou Auth au cours des 7 derniers jours.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL locataire concerné ( top5_affected_tenantname ).
  2. Identifier la gravité de l'alerte :
    • Critique : si un certain nombre d'événements anormaux sont > max(5*normal_failure_count, 10000)
    • Attention : si le nombre d'événements anormaux est compris entre [min(3* normal traffic volume, 5000), 10000].
  3. Identifier les noms d'utilisateur concernés ( top5_affected_data_username ) pour évaluer les comptes utilisés à partir d'adresses IP.
  4. Identifier l'application concernée ( top5_affected_data_applicationname ).
  5. normal_traffic_volume fournit un comptage de base basé sur les 7 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  6. Dans certains cas, l'authentification fréquente peut être due à une mauvaise configuration de l'application. Déterminer s'il existe un problème connu qui pourrait être à l'origine de ces défaillances et donner lieu à une alerte.
  7. Les champs supplémentaires suivants peuvent être analysés pour obtenir un contexte supplémentaire pour l'enquête afin de déboguer les composants affectés pendant l'attaque ou pour des problèmes opérationnels.
    • most_significant_data_client_name
    • most_significant_data_providerid
    • most_significant_data_redirecturl
    • most_significant_data_scope
    • most_significant_data_subtype
    • most_significant_geoip_country_name
    • most_significant_servicename
  8. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  9. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'un trafic suspect.

Quelques modèles d'analyse connus :

  1. Identifier si plusieurs alertes arrivent dans le même intervalle pour un même locataire. Si oui, vérifiez s'il y a un problème opérationnel connu pour le locataire, sinon regardez l'attribut top5_affected_data_applicationname pour identifier l'application responsable de la génération de l'alerte.
  2. Si l'alerte est générée par la même source (c'est-à-dire la même URL locataire et le même nom d'utilisateur) pendant plusieurs heures, l'utilisateur peut être bloqué pendant une certaine durée (par exemple 24 heures).
  3. Recherchez la répartition des adresses IP et des noms d'application pour déterminer s'il s'agit d'une attaque distribuée.

Actions de remédiation possibles :

  1. En cas de doute sur un trafic suspect => surveiller le trafic pour déterminer si les défaillances diminuent ou augmentent.
  2. Si le trafic est considéré comme suspect, bloquer le compte pour lequel l'alerte a été générée afin de prendre des mesures correctives proactives. Pour plus de détails, reportez-vous à la section relative aux comptes de blocs.
{
    "rule_id": "FREQUENT_AUTH_SINGLEUSER_AUTH",
    "rule_name": "Frequent authentication from single user (Auth)",
    "summary": "Frequent authentication from single user (Auth): 16283 anomalous events are observed, beyond normal traffic volume, from 2022-12-26 10:00:00 UTC to 2022-12-26 11:00:00 UTC.",
    "source": "[('tenantid', '874f131f-79a9-4581-b078-de7681091fbc'), ('data.username', 'MSurk'), ('data.result', 'success')]",
    "component": "Login activity",
    "anomalous_event_count": 16283,
    "normal_traffic_volume": 0,
    "start_time": 1672048800000,
    "end_time": 1672052400000,
    "date": "2022-12-26",
    "severity": "critical",
    "index": "event-authentication-*",
    "impacted_user_count": 1,
    "anomalous_suspicious_ips": [
      "12.153.148.57"
    ],
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 16283}",
    "most_significant_tenantid": [
      "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_tenantname": "{'tenant1.abc.com': 16283}",
    "most_significant_tenantname": [
      "tenant1.abc.com"
    ],
    "top5_affected_data_cause": "{'Authenticated user \"MSurk\" successfully.': 16283}",
    "most_significant_data_cause": [
      "Authenticated user \"MSurk\" successfully."
    ],
    "top5_affected_data_subtype": "{'user_password': 16283}",
    "most_significant_data_subtype": [
      "user_password"
    ],
    "top5_affected_data_scope": "{}",
    "most_significant_data_scope": [],
    "top5_affected_data_sourcetype": "{'clouddirectory': 16283}",
    "most_significant_data_sourcetype": [
      "clouddirectory"
    ],
    "top5_affected_servicename": "{'profilemgmt': 16283}",
    "most_significant_servicename": [
      "profilemgmt"
    ],
    "top5_affected_data_origin": "{'12.153.148.57': 16283}",
    "most_significant_data_origin": [
      "12.153.148.57"
    ],
    "top5_affected_data_providerid": "{}",
    "most_significant_data_providerid": [],
    "top5_affected_data_grant_type": "{}",
    "most_significant_data_grant_type": [],
    "top5_affected_data_mfamethod": "{}",
    "most_significant_data_mfamethod": [],
    "top5_affected_data_username": "{'MSurk': 16283}",
    "most_significant_data_username": [
      "MSurk"
    ],
    "top5_affected_geoip_country_name": "{'United States': 16283}",
    "most_significant_geoip_country_name": [
      "United States"
    ]
}

Nom de l'alerte : Nombre anormal d'enrôlements de dispositifs d'AMF

Indique : Attaque par force brute
Détails : Augmentation soudaine des dispositifs MFA d'un seul utilisateur par rapport à un comportement normal au cours des 7 derniers jours.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL locataire concerné ( top5_affected_tenantname ).
  2. Identifier la gravité de l'alerte :
    • Critique : si le nombre d'événements anormaux est de > 18.
    • Attention : si le nombre d'événements anormaux est de > 10.
  3. Identifier la méthode la plus utilisée ( top5_affected_data_mfamethod ) au cours de la dernière heure.
  4. normal_traffic_volume fournit un comptage de base basé sur les 7 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  5. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'un trafic suspect.

Quelques modèles d'analyse connus :

Cette alerte est générée lors d'événements de gestion. Si une alerte est trouvée, il faut alors vérifier si elle provient d'un utilisateur valide ou non. Si l'utilisateur est valide, identifiez le type d'authentification ( top5_affected_data_mfamethod ) et le nombre de dispositifs en cours d'enrôlement ( anomalous_event_count ). Prendre des mesures en cas de soupçon.

Actions de remédiation possibles :

  1. En cas de doute sur un trafic suspect => surveiller le trafic pour déterminer si les défaillances diminuent ou augmentent.
  2. Si le trafic est considéré comme suspect, bloquer le compte pour lequel l'alerte a été générée afin de prendre des mesures correctives proactives. Pour plus de détails, reportez-vous à la section relative aux comptes de blocs.
{
    "rule_name": "Abnormal number of device enrollments",
    "rule_id": "ABNORMAL_DEVICE_ENROLLMENT",
    "summary": "Abnormal number of device enrollments: 20 anomalous events are observed, beyond normal traffic volume, from 2023-01-12 17:00:00 UTC to 2023-01-12 18:00:00 UTC.",
    "severity": "critical",
    "date": "2023-01-12",
    "start_time": "2023-01-12 17:00:00",
    "end_time": "2023-01-12 18:00:00",
    "component": "Login activity",
    "normal_traffic_volume": 0,
    "anomalous_event_count": 20,
    "impacted_user_count": 1,
    "index": "event-management-*",
    "most_significant_data_origin": [
      "129.41.58.3"
    ],
    "top5_affected_data_username": "{'Henry': 20}",
    "source": "[('data.mfamethod', 'Voice OTP'), ('data.username', 'Henry')]",
    "top5_affected_servicename": "{'factors': 20}",
    "most_significant_data_mfamethod": [
      "Voice OTP"
    ],
    "most_significant_geoip_country_name": [
      "United States"
    ],
    "most_significant_data_grant_type": [],
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 20}",
    "top5_affected_tenantname": "{'tenant1.abc.com': 20}",
    "most_significant_servicename": [
      "factors"
    ],
    "most_significant_tenantname": [
      "tenant1.abc.com"
    ],
    "top5_affected_data_origin": "{'129.41.58.3': 20}",
    "anomalous_suspicious_ips": [
      "129.41.58.3"
    ],
    "most_significant_tenantid": [
      "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_geoip_country_name": "{'United States': 20}",
    "top5_affected_data_grant_type": "{}",
    "top5_affected_data_mfamethod": "{'Voice OTP': 20}",
    "most_significant_data_username": [
      "Henry"
    ]
}

Nom de l'alerte : Utilisation multiple d'informations d'identification compromises

Indique : Prise de contrôle de compte, force brute, bourrage d'informations d'identification
Détails : Augmentation soudaine de l'utilisation d'informations d'identification compromises pour les demandes d'authentification d'une adresse IP par rapport à son comportement normal pour les événements d'authentification au cours des 7 derniers jours. Un grand nombre d'informations d'identification compromises sont stockées dans le site GLOBAL Dictionary de Verify, que les clients peuvent configurer dans leur locataire pour une protection supplémentaire contre la réutilisation d'informations d'identification compromises.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL locataire concerné ( top5_affected_tenantname ).
  2. Identifier la gravité de l'alerte :
    • Critique : si un certain nombre d'événements anormaux sont > 50
    • Attention : si le nombre d'événements anormaux est compris entre [8, 50].
  3. Identifier l'adresse IP qui tente d'utiliser les informations d'identification compromises dans l'attribut source.
  4. Identifier les noms d'utilisateur concernés ( top5_affected_data_username ) pour évaluer les comptes utilisés à partir d'adresses IP.
  5. normal_traffic_volume fournit un comptage de base basé sur les 7 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  6. Les champs supplémentaires suivants peuvent être analysés pour obtenir un contexte supplémentaire pour l'enquête afin de déboguer les composants affectés pendant l'attaque ou pour des problèmes opérationnels.
    • most_significant_data_sourcetype
    • most_significant_data_providerid
    • most_significant_data_scope
    • most_significant_data_subtype
    • most_significant_geoip_country_name
    • most_significant_servicename
  7. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  8. Sur la base du contexte des étapes précédentes, déterminez s'il peut s'agir d'un trafic suspect.

Quelques modèles d'analyse connus :

  1. Identifiez si l'IP tente d'accéder à plusieurs utilisateurs en utilisant les informations d'identification compromises de l'attribut top5_affected_data_username. Si oui, l'adresse IP peut être bloquée pendant un certain temps.
  2. Si plusieurs alertes ont été détectées à partir de plusieurs IP en une heure ou si la même IP a été détectée par la règle Multiple_failed_login ou la règle credential_stuffing, il se peut qu'une attaque par force brute ou une attaque par bourrage d'informations d'identification soit en cours.

Actions de remédiation possibles :

  1. En cas de doute sur un trafic suspect => surveiller le trafic pour déterminer si l'utilisation de mots de passe compromis diminue ou augmente.
  2. Si certains comptes d'utilisateurs ont été consultés avec succès pendant la durée de l'attaque à partir de la même adresse IP, déconnectez l'utilisateur de toutes les sessions actives et demandez-lui de changer de mot de passe ou bloquez-le temporairement à titre de mesure corrective proactive. Pour plus de détails, reportez-vous à la section relative aux comptes de blocs.
  3. Si plusieurs utilisateurs sont accédés à partir de l'IP avec des informations d'identification compromises, bloquez l'IP dans l'attribut source. Pour plus de détails, reportez-vous à la section sur les IP de blocage.
{
    "rule_id": "COMPROMISED_CREDENTIALS",
    "rule_name": "Multiple use of compromised credentials",
    "summary": "Multiple use of compromised credentials: 100 anomalous events are observed, beyond normal traffic volume, from 2023-02-08 21:00:00 UTC to 2023-02-08 22:00:00 UTC.",
    "source": "[('data.origin', '129.41.58.3'), ('data.dict_type', 'GLOBAL')]",
    "component": "Login activity",
    "severity": "critical",
    "impacted_user_count": 1,
    "anomalous_event_count": 100,
    "normal_traffic_volume": 0,
    "date": "2023-02-08",
    "top5_affected_data_scope": "{}",
    "rule_attribute": "compromised_credentials",
    "top5_affected_data_username": "{'Henry': 100}",
    "start_time": "2023-02-08 21:00:00",
    "end_time": "2023-02-08 22:00:00",
    "index": "event-authentication-*",
    "top5_affected_servicename": "{'profilemgmt': 100}",
    "most_significant_data_mfamethod": [],
    "most_significant_geoip_country_name": [
        "United States"
    ],
    "most_significant_data_grant_type": [],
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 100}",
    "top5_affected_tenantname": "{'tenant1.abc.com': 100}",
    "top5_affected_data_providerid": "{}",
    "most_significant_servicename": [
        "profilemgmt"
    ],
    "most_significant_tenantname": [
        "tenant1.abc.com"
    ],
    "most_significant_data_sourcetype": [
        "clouddirectory"
    ],
    "most_significant_data_scope": [],
    "most_significant_tenantid": [
        "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_data_subtype": "{'user_password': 100}",
    "most_significant_data_subtype": [
        "user_password"
    ],
    "most_significant_data_providerid": [],
    "top5_affected_geoip_country_name": "{'United States': 100}",
    "top5_affected_data_grant_type": "{}",
    "top5_affected_data_mfamethod": "{}",
    "top5_affected_data_sourcetype": "{'clouddirectory': 100}",
    "most_significant_data_username": [
        "Henry"
    ]
}

Nom de l'alerte : Regroupement par cause de défaillance

Indique : Problèmes opérationnels
Détails : Augmentation soudaine des événements de défaillance ayant une cause spécifique par rapport au comportement normal au cours des 7 derniers jours. Les causes ne sont pas liées à une défaillance du nom d'utilisateur ou du mot de passe.
Étapes de l'enquête : Analyser le trafic pour comprendre s'il peut s'agir d'une attaque réelle ou non et si des mesures correctives sont nécessaires.

  1. Identifier l' URL locataire concerné ( top5_affected_tenantname ).
  2. Identifier la gravité de l'alerte :
    • Critique : si le nombre d'événements anormaux est de > max(5*normal_failure_count, 10000).
    • Attention : si le nombre d'événements anormaux est de > [min(3* normal traffic volume, 5000), 10000].
  3. Identifier les noms d'utilisateur concernés ( top5_affected_data_username ).
  4. Identifier l'application concernée ( top5_affected_data_applicationname ).
  5. normal_traffic_volume fournit un comptage de base basé sur les 7 derniers jours d'événements comparés aux événements de la dernière heure. anomalous_event_count est la différence entre le total des événements de la dernière heure et le volume_de_trafic_normal.
  6. Les champs supplémentaires suivants peuvent être analysés afin d'obtenir un contexte supplémentaire pour l'enquête. Les attributs suivants peuvent aider à déboguer les composants affectés lors des problèmes opérationnels
    • most_significant_data_client_name
    • most_significant_data_providerid
    • most_significant_data_redirecturl
    • most_significant_data_scope
    • most_significant_data_subtype
    • most_significant_geoip_country_name
    • most_significant_servicename 
  7. Vous pouvez voir le nombre d'événements pour chacune des valeurs correspondant aux attributs ci-dessus dans leur attribut respectif top5_affected_<FIELD NAME>.
  8. Cette alerte concerne principalement des questions opérationnelles. Identifiez l'application concernée et le type de problème à partir de top5_affected_data_applicationname et des attributs de summary.

Actions de remédiation possibles :

En fonction du problème opérationnel, il peut être nécessaire de modifier la configuration de la console d'administration de Verify ou d'obtenir l'aide de l'équipe d'assistance de Verify.

{
    "rule_id": "CAUSE_OF_SSO_FAILURE",
    "rule_name": "Grouping by the cause of failure (SSO)",
    "summary": "Grouping by the cause of failure (SSO): 11314 anomalous events are observed, beyond normal traffic volume, from 2023-01-18 15:00:00 UTC to 2023-01-18 16:00:00 UTC.",
    "source": "[('data.cause', 'CSIAC5061E An unexpected error has occurred with a protocol module com.tivoli.am.fim.fedmgr2.protocol.GenericPocAuthenticationDelegateProtocol.'), ('data.result', 'failure')]",
    "component": "Login activity",
    "anomalous_event_count": 11314,
    "normal_traffic_volume": 1595,
    "start_time": 1674054000000,
    "end_time": 1674057600000,
    "date": "2023-01-18",
    "severity": "critical",
    "index": "event-sso-*",
    "impacted_user_count": 7774,
    "impacted_apps_count": 20,
    "top5_affected_tenantid": "{'874f131f-79a9-4581-b078-de7681091fbc': 12909}",
    "most_significant_tenantid": [
      "874f131f-79a9-4581-b078-de7681091fbc"
    ],
    "top5_affected_tenantname": "{'tenant1.abc.com': 11057, 'tenant2.abc.com': 1852}",
    "most_significant_tenantname": [
      "tenant1.abc.com"
    ],
    "top5_affected_servicename": "{'saml_runtime': 12909}",
    "most_significant_servicename": [
      "saml_runtime"
    ],
    "top5_affected_data_subtype": "{'saml': 12420, 'WS-Fed': 489}",
    "most_significant_data_subtype": [
      "saml"
    ],
    "top5_affected_data_scope": "{}",
    "most_significant_data_scope": [],
    "top5_affected_data_cause": "{'CSIAC5061E An unexpected error has occurred with a protocol module com.tivoli.am.fim.fedmgr2.protocol.GenericPocAuthenticationDelegateProtocol.': 12909}",
    "most_significant_data_cause": [
      "CSIAC5061E An unexpected error has occurred with a protocol module com.tivoli.am.fim.fedmgr2.protocol.GenericPocAuthenticationDelegateProtocol."
    ],
    "top5_affected_data_applicationname": "{'ABC-365': 320, 'Google.com': 67}",
    "most_significant_data_applicationname": [
      "ABC-365"
    ],
    "top5_affected_data_client_name": "{}",
    "most_significant_data_client_name": [],
    "top5_affected_data_redirecturl": "{}",
    "most_significant_data_redirecturl": [],
    "top5_affected_data_providerid": "{'UNKNOWN': 12472, 'urn:federation:MicrosoftOnline': 323}",
    "most_significant_data_providerid": [
      "UNKNOWN"
    ],
    "top5_affected_data_username": "{'UNKNOWN': 86, '[email protected]': 60, '[email protected]': 31, 'julia': 20, 'Bryan': 11}",
    "most_significant_data_username": [
      "UNKNOWN",
      "[email protected]",
      "[email protected]"
    ],
    "top5_affected_geoip_country_name": "{'United States': 12295, 'India': 178, 'Canada': 84, 'United Kingdom': 72, 'Mexico': 36}",
    "most_significant_geoip_country_name": [
      "United States"
    ]
}

Corrélation entre plusieurs alertes :

Cette section fournit des conseils sur l'investigation et les mesures correctives proactives lorsque plusieurs alertes sont générées.

Corrélation des alertesIndicateur deAction corrective en cours de vérificationExamen
Bourrage potentiel de données d'identification + Échecs multiples de connexionRemplissage de documents d'identitéBloquer les IP dans VerifySuivre l'enquête sur une attaque potentielle de type "credential stuffing" (bourrage d'informations d'identification)
Nombre anormal d'échecs + Plusieurs échecs de connexionProblème opérationnel causé par certaines machines sélectionnéesInformer le client des IP et des utilisateurs liés à ces IP.Examinez la cause de la défaillance et la répartition des utilisateurs par IP.
(bourrage potentiel d'informations d'identification/échecs multiples de connexion) + inscriptions anormales de dispositifsPrise de contrôle de compteBloquer le(s) utilisateur(s) compromis
(bourrage potentiel d'informations d'identification + échecs multiples de connexion / nombre anormal d'échecs) + informations d'identification compromisesPulvérisation du mot de passeBloquer les Ips et inviter les utilisateurs compromis à changer de mot de passe

Étapes de remédiation

Bloquer des utilisateurs ou des comptes

Vous pouvez bloquer des utilisateurs par l'intermédiaire de l'interface utilisateur ou d'une API. Voir Mise à jour des détails de l'utilisateur pour désactiver un utilisateur via l'interface utilisateur, et Modifier l'API de l'utilisateur pour mettre à jour le statut "actif" d'un utilisateur spécifique comme "faux" en utilisant l'API.

Bloquer des adresses IP

Ajouter une condition d'IP aux politiques d'accès lorsque cela est possible. Vous pouvez également ouvrir un ticket auprès du support IBM en indiquant les adresses IP à bloquer.

Réinitialiser le mot de passe

Pour réinitialiser le mot de passe d'un utilisateur de cloud directory, utilisez l'API de réinitialisation du mot de passe. Si l'utilisateur est un utilisateur fédéré, réinitialiser le mot de passe à la source (par exemple Active Directory ).

priti Patil, Nagesh Bhagwat & M Krishnakant Achary, IBM Security