Aller au contenu

Analyse de sécurité ​

Ogma comprend des scanners passif et actif. L'analyse passive examine le trafic capturé. L'analyse active envoie des requêtes modifiées et valide les constats à partir du comportement des réponses, des temps de réponse, de la réflexion des données injectées et de la comparaison avec une réponse de référence.

Scanner passif ​

Le scanner passif évalue les entrées HTTP capturées sans envoyer de nouveau trafic.

Il détecte notamment les catégories suivantes :

  • Divulgation d'erreurs SQL, NoSQL, LDAP, de moteurs de modèles, de désérialisation et XML.
  • En-têtes de sécurité absents ou insuffisants.
  • Problèmes d'attributs de cookies.
  • Mauvaises configurations CORS.
  • Exposition de secrets, de clés privées, de données de comptes de service, de webhooks et de jetons.
  • Exposition de dépôts de code source, de configurations, de documentation d'API ou de fichiers sensibles.
  • Problèmes liés aux JWT, tels que l'algorithme none, une expiration lointaine et l'utilisation de HMAC.
  • Réponses lentes et méthodes HTTP dangereuses.

Les constats passifs facilitent le triage, mais nécessitent toujours un examen. Les constats relatifs aux en-têtes et aux politiques dépendent souvent du contexte de l'application.

Exécuter une analyse passive ​

  1. Capturez du trafic.
  2. Ouvrez Utilitaires > Scanner.
  3. Sélectionnez Scanner passif.
  4. Cliquez sur Analyser tout l’historique.
  5. Examinez les constats créés dans Constats.

Les règles passives personnalisées se configurent dans Paramètres > Scanner.

Scanner actif ​

Le scanner actif injecte des charges utiles aux emplacements candidats d'une requête et valide la réponse de la cible.

Familles de vérifications implémentées :

VérificationCritère de confirmation
Injection SQLRecherche des erreurs SQL ou, pour les charges utiles temporelles, un délai reproductible supérieur au temps de référence mesuré.
XSS réfléchiExige que la charge utile soit reflétée dans une réponse HTML sans l'encodage attendu.
Traversée de répertoires / LFIExige des indicateurs de contenu de fichier absents de la réponse de référence.
Injection de commandes systèmeExige une sortie de commande ou, pour les charges utiles temporelles, un délai reproductible supérieur au temps de référence mesuré.
SSTIUtilise des charges utiles de calcul déterministe dans les modèles et exige la présence du résultat calculé dans la réponse.
SSRFExige des preuves de métadonnées ou de bannières de service obtenues à partir des URL injectées.
Redirection ouverteExige une réponse de redirection pointant vers le domaine externe injecté.

Le scanner ne considère délibérément pas une réponse générique 200 OK comme une preuve de vulnérabilité.

Vérifications non implémentées ​

La liste des vérifications actives peut inclure des vérifications signalées comme non implémentées. Elles sont visibles pour clarifier la feuille de route, mais ne créent aucun constat. Dans le backend actuel, les XXE et les téléversements non sécurisés ne sont pas confirmés automatiquement sans vérification hors bande ou propre à l'application.

Lancer l’analyse active de l’historique ​

Lancer l’analyse active de l’historique teste les requêtes capturées récemment en injectant des charges utiles dans :

  • Les paramètres de la chaîne de requête.
  • Les paramètres du corps des formulaires.
  • Les valeurs JSON.
  • Les segments de chemin.
  • Certains en-têtes, lorsque cette option est activée.

Définissez le périmètre avant une analyse active pour concentrer le trafic et les résultats sur la cible.

Processus recommandé :

  1. Définissez et activez le périmètre.
  2. Capturez un trafic représentatif de la cible.
  3. Commencez par une analyse passive.
  4. Exécutez des analyses actives sur des requêtes sélectionnées avant d'utiliser Lancer l’analyse active de l’historique.
  5. Examinez les requêtes de preuve et les éléments probants des réponses dans Constats.
  6. Éliminez les faux positifs au lieu de rapporter les résultats bruts du scanner.

Qualité des preuves ​

Un constat de scanner de qualité doit répondre aux questions suivantes :

  • Quel paramètre ou quelle entrée a été testé ?
  • Quelle charge utile a été utilisée ?
  • Qu'est-ce qui a changé dans la réponse ?
  • Ce comportement était-il absent de la réponse de référence ?
  • Le problème est-il reproductible ?
  • Des preuves sont-elles liées dans Ogma ?

Lorsque les preuves sont incertaines, réduisez le niveau de confiance ou conservez le résultat sous forme de note jusqu'à sa confirmation.

Logiciel propriétaire. Tous droits réservés.