Blog

Coders Conquer Security OWASP Top 10 API Series - Fonctionnalités de sécurité désactivées/fonctionnalités de débogage activées/pertes de permissions

Matias Madou, Ph.D.
Publié le 11 novembre 2020

Si la plupart des vulnérabilités de cette liste sont assez spécifiques aux API, le problème des fonctions de sécurité désactivées, des fonctions de débogage activées et des autorisations incorrectes peut se poser n'importe où. Il est probablement un peu plus répandu dans les API, mais les attaquants tentent souvent de trouver des failles non corrigées et des fichiers ou répertoires non protégés n'importe où dans un réseau. Le fait de tomber sur une API dont le débogage est activé ou dont les fonctions de sécurité sont désactivées ne fait que faciliter leur travail infâme. Pire encore, il existe des outils automatisés permettant de détecter et d'exploiter les mauvaises configurations de sécurité. Si vous en avez dans votre environnement, il y a donc de fortes chances qu'elles soient exploitées, ce qui explique pourquoi cette vulnérabilité figure sur la liste de l'OWASP des failles dangereuses des API.

Avant de passer aux choses sérieuses, essayez de résoudre ce problème de débogage :

Comment les fonctions de sécurité désactivées, les fonctions de débogage activées et les autorisations incorrectes se glissent-elles dans une API ?

Pour comprendre comment cette faille multidimensionnelle de l'API est ajoutée aux réseaux, nous devons la décomposer en ses éléments constitutifs. Commençons par le problème des fonctions de débogage activées. Le débogage est un outil utile qui aide les développeurs à comprendre pourquoi les applications ne fonctionnent pas correctement ou font des erreurs. Lorsque le débogage est activé, les erreurs et les exceptions génèrent des pages d'erreur détaillées permettant aux développeurs de voir ce qui n'a pas fonctionné et de résoudre les problèmes. Il est tout à fait possible d'activer le débogage lorsqu'une application est encore en cours de développement.

Cependant, il y a une raison pour laquelle la plupart des frameworks sont accompagnés d'avertissements concernant l'utilisation du mode débogage dans un environnement de production, probablement directement dans le code où le débogage est activé. Par exemple, dans le code où le débogage est activé :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le débogage activé en production !
DEBUG = True

Dans cet exemple, le débogage a été activé. L'application Django génère des pages d'erreur détaillées lorsqu'une exception est levée. Si cela est fait dans un environnement de production, un adversaire aurait accès à ces pages d'erreur, qui contiennent des métadonnées sur l'environnement. Bien que le débogage soit désactivé par défaut dans la plupart des frameworks, il est facile d'oublier de le réactiver s'il est activé au cours d'un long processus de développement. Ensuite, lorsque l'application est transférée dans un environnement de production, elle fournit aux attaquants de nombreuses informations sur la manière de compromettre une application, voire un serveur ou un réseau entier.

Si l'activation du mode débogage est généralement un problème isolé, les vulnérabilités liées aux autorisations incorrectes et aux fonctions de sécurité désactivées sont souvent associées. Par exemple, dans un scénario réel fourni par l'OWASP, un attaquant a utilisé un moteur de recherche pour trouver une base de données qui était accidentellement connectée à l'internet. Comme le système de gestion de base de données populaire utilisait sa configuration par défaut, l'authentification était désactivée. Ainsi, en combinant les vulnérabilités liées aux autorisations inappropriées et aux fonctions de sécurité désactivées, l'attaquant a pu accéder à des millions d'enregistrements contenant des informations confidentielles, des préférences personnelles et des données d'authentification.

Élimination des vulnérabilités liées aux fonctions de sécurité désactivées, aux fonctions de débogage activées et aux autorisations incorrectes

Vous devrez probablement adopter une double approche pour éliminer cette vulnérabilité. Pour éliminer la partie du problème liée à l'activation du débogage, ajoutez simplement une vérification au processus de développement afin de vous assurer que le débogage est désactivé avant de transférer une API ou une application dans l'environnement de production. Dans notre exemple, la commande appropriée serait la suivante :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le debug activé en production !
DEBUG = False

Les fonctionnalités de débogage de l'application Django sont maintenant désactivées avec l'indicateur DEBUG configuré à False. Aucune page d'erreur ne sera générée en réponse aux erreurs. Si un adversaire accède quand même aux pages d'erreur, elles ne contiendront pas de métadonnées utiles et ne constitueront pas un risque pour l'application.

Il est un peu plus difficile d'éliminer les vulnérabilités liées aux fonctions de sécurité désactivées et aux autorisations inappropriées, car elles peuvent englober un large éventail de vulnérabilités spécifiques. La meilleure façon de les arrêter est de développer un processus standard et reproductible pour permettre le déploiement rapide et facile des actifs verrouillés dans l'environnement de production.

Même dans ce cas, vous devez créer un processus dans lequel les fichiers d'orchestration, les composants d'API et les services en nuage tels que les autorisations de seau Amazon S3 sont constamment examinés et mis à jour. Cet examen doit également évaluer l'efficacité globale des paramètres de sécurité dans l'ensemble de l'environnement au fil du temps, afin de s'assurer que l'organisation améliore constamment la sécurité de ses API.

Consultez les pages du Secure Code Warrior pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayer une démo de la plateforme de formation Secure Code Warrior pour maintenir vos compétences en cybersécurité à jour.


Voir la ressource
Voir la ressource

C'est probablement un peu plus fréquent dans les API, mais les attaquants tentent souvent de trouver des failles non corrigées et des fichiers ou répertoires non protégés n'importe où dans un réseau. Le fait de tomber sur une API dont le débogage est activé ou dont les fonctions de sécurité sont désactivées ne fait que faciliter leur travail malveillant.

Vous souhaitez en savoir plus ?

Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstration
Partager sur :
Auteur
Matias Madou, Ph.D.
Publié le 11 novembre 2020

Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.

Partager sur :

Si la plupart des vulnérabilités de cette liste sont assez spécifiques aux API, le problème des fonctions de sécurité désactivées, des fonctions de débogage activées et des autorisations incorrectes peut se poser n'importe où. Il est probablement un peu plus répandu dans les API, mais les attaquants tentent souvent de trouver des failles non corrigées et des fichiers ou répertoires non protégés n'importe où dans un réseau. Le fait de tomber sur une API dont le débogage est activé ou dont les fonctions de sécurité sont désactivées ne fait que faciliter leur travail infâme. Pire encore, il existe des outils automatisés permettant de détecter et d'exploiter les mauvaises configurations de sécurité. Si vous en avez dans votre environnement, il y a donc de fortes chances qu'elles soient exploitées, ce qui explique pourquoi cette vulnérabilité figure sur la liste de l'OWASP des failles dangereuses des API.

Avant de passer aux choses sérieuses, essayez de résoudre ce problème de débogage :

Comment les fonctions de sécurité désactivées, les fonctions de débogage activées et les autorisations incorrectes se glissent-elles dans une API ?

Pour comprendre comment cette faille multidimensionnelle de l'API est ajoutée aux réseaux, nous devons la décomposer en ses éléments constitutifs. Commençons par le problème des fonctions de débogage activées. Le débogage est un outil utile qui aide les développeurs à comprendre pourquoi les applications ne fonctionnent pas correctement ou font des erreurs. Lorsque le débogage est activé, les erreurs et les exceptions génèrent des pages d'erreur détaillées permettant aux développeurs de voir ce qui n'a pas fonctionné et de résoudre les problèmes. Il est tout à fait possible d'activer le débogage lorsqu'une application est encore en cours de développement.

Cependant, il y a une raison pour laquelle la plupart des frameworks sont accompagnés d'avertissements concernant l'utilisation du mode débogage dans un environnement de production, probablement directement dans le code où le débogage est activé. Par exemple, dans le code où le débogage est activé :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le débogage activé en production !
DEBUG = True

Dans cet exemple, le débogage a été activé. L'application Django génère des pages d'erreur détaillées lorsqu'une exception est levée. Si cela est fait dans un environnement de production, un adversaire aurait accès à ces pages d'erreur, qui contiennent des métadonnées sur l'environnement. Bien que le débogage soit désactivé par défaut dans la plupart des frameworks, il est facile d'oublier de le réactiver s'il est activé au cours d'un long processus de développement. Ensuite, lorsque l'application est transférée dans un environnement de production, elle fournit aux attaquants de nombreuses informations sur la manière de compromettre une application, voire un serveur ou un réseau entier.

Si l'activation du mode débogage est généralement un problème isolé, les vulnérabilités liées aux autorisations incorrectes et aux fonctions de sécurité désactivées sont souvent associées. Par exemple, dans un scénario réel fourni par l'OWASP, un attaquant a utilisé un moteur de recherche pour trouver une base de données qui était accidentellement connectée à l'internet. Comme le système de gestion de base de données populaire utilisait sa configuration par défaut, l'authentification était désactivée. Ainsi, en combinant les vulnérabilités liées aux autorisations inappropriées et aux fonctions de sécurité désactivées, l'attaquant a pu accéder à des millions d'enregistrements contenant des informations confidentielles, des préférences personnelles et des données d'authentification.

Élimination des vulnérabilités liées aux fonctions de sécurité désactivées, aux fonctions de débogage activées et aux autorisations incorrectes

Vous devrez probablement adopter une double approche pour éliminer cette vulnérabilité. Pour éliminer la partie du problème liée à l'activation du débogage, ajoutez simplement une vérification au processus de développement afin de vous assurer que le débogage est désactivé avant de transférer une API ou une application dans l'environnement de production. Dans notre exemple, la commande appropriée serait la suivante :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le debug activé en production !
DEBUG = False

Les fonctionnalités de débogage de l'application Django sont maintenant désactivées avec l'indicateur DEBUG configuré à False. Aucune page d'erreur ne sera générée en réponse aux erreurs. Si un adversaire accède quand même aux pages d'erreur, elles ne contiendront pas de métadonnées utiles et ne constitueront pas un risque pour l'application.

Il est un peu plus difficile d'éliminer les vulnérabilités liées aux fonctions de sécurité désactivées et aux autorisations inappropriées, car elles peuvent englober un large éventail de vulnérabilités spécifiques. La meilleure façon de les arrêter est de développer un processus standard et reproductible pour permettre le déploiement rapide et facile des actifs verrouillés dans l'environnement de production.

Même dans ce cas, vous devez créer un processus dans lequel les fichiers d'orchestration, les composants d'API et les services en nuage tels que les autorisations de seau Amazon S3 sont constamment examinés et mis à jour. Cet examen doit également évaluer l'efficacité globale des paramètres de sécurité dans l'ensemble de l'environnement au fil du temps, afin de s'assurer que l'organisation améliore constamment la sécurité de ses API.

Consultez les pages du Secure Code Warrior pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayer une démo de la plateforme de formation Secure Code Warrior pour maintenir vos compétences en cybersécurité à jour.


Voir la ressource
Voir la ressource

Remplissez le formulaire ci-dessous pour télécharger le rapport

Nous aimerions que vous nous autorisiez à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traiterons toujours vos données personnelles avec le plus grand soin et ne les vendrons jamais à d'autres entreprises à des fins de marketing.

Soumettre
Pour soumettre le formulaire, veuillez activer les cookies "Analytics". N'hésitez pas à les désactiver à nouveau une fois que vous aurez terminé.

Si la plupart des vulnérabilités de cette liste sont assez spécifiques aux API, le problème des fonctions de sécurité désactivées, des fonctions de débogage activées et des autorisations incorrectes peut se poser n'importe où. Il est probablement un peu plus répandu dans les API, mais les attaquants tentent souvent de trouver des failles non corrigées et des fichiers ou répertoires non protégés n'importe où dans un réseau. Le fait de tomber sur une API dont le débogage est activé ou dont les fonctions de sécurité sont désactivées ne fait que faciliter leur travail infâme. Pire encore, il existe des outils automatisés permettant de détecter et d'exploiter les mauvaises configurations de sécurité. Si vous en avez dans votre environnement, il y a donc de fortes chances qu'elles soient exploitées, ce qui explique pourquoi cette vulnérabilité figure sur la liste de l'OWASP des failles dangereuses des API.

Avant de passer aux choses sérieuses, essayez de résoudre ce problème de débogage :

Comment les fonctions de sécurité désactivées, les fonctions de débogage activées et les autorisations incorrectes se glissent-elles dans une API ?

Pour comprendre comment cette faille multidimensionnelle de l'API est ajoutée aux réseaux, nous devons la décomposer en ses éléments constitutifs. Commençons par le problème des fonctions de débogage activées. Le débogage est un outil utile qui aide les développeurs à comprendre pourquoi les applications ne fonctionnent pas correctement ou font des erreurs. Lorsque le débogage est activé, les erreurs et les exceptions génèrent des pages d'erreur détaillées permettant aux développeurs de voir ce qui n'a pas fonctionné et de résoudre les problèmes. Il est tout à fait possible d'activer le débogage lorsqu'une application est encore en cours de développement.

Cependant, il y a une raison pour laquelle la plupart des frameworks sont accompagnés d'avertissements concernant l'utilisation du mode débogage dans un environnement de production, probablement directement dans le code où le débogage est activé. Par exemple, dans le code où le débogage est activé :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le débogage activé en production !
DEBUG = True

Dans cet exemple, le débogage a été activé. L'application Django génère des pages d'erreur détaillées lorsqu'une exception est levée. Si cela est fait dans un environnement de production, un adversaire aurait accès à ces pages d'erreur, qui contiennent des métadonnées sur l'environnement. Bien que le débogage soit désactivé par défaut dans la plupart des frameworks, il est facile d'oublier de le réactiver s'il est activé au cours d'un long processus de développement. Ensuite, lorsque l'application est transférée dans un environnement de production, elle fournit aux attaquants de nombreuses informations sur la manière de compromettre une application, voire un serveur ou un réseau entier.

Si l'activation du mode débogage est généralement un problème isolé, les vulnérabilités liées aux autorisations incorrectes et aux fonctions de sécurité désactivées sont souvent associées. Par exemple, dans un scénario réel fourni par l'OWASP, un attaquant a utilisé un moteur de recherche pour trouver une base de données qui était accidentellement connectée à l'internet. Comme le système de gestion de base de données populaire utilisait sa configuration par défaut, l'authentification était désactivée. Ainsi, en combinant les vulnérabilités liées aux autorisations inappropriées et aux fonctions de sécurité désactivées, l'attaquant a pu accéder à des millions d'enregistrements contenant des informations confidentielles, des préférences personnelles et des données d'authentification.

Élimination des vulnérabilités liées aux fonctions de sécurité désactivées, aux fonctions de débogage activées et aux autorisations incorrectes

Vous devrez probablement adopter une double approche pour éliminer cette vulnérabilité. Pour éliminer la partie du problème liée à l'activation du débogage, ajoutez simplement une vérification au processus de développement afin de vous assurer que le débogage est désactivé avant de transférer une API ou une application dans l'environnement de production. Dans notre exemple, la commande appropriée serait la suivante :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le debug activé en production !
DEBUG = False

Les fonctionnalités de débogage de l'application Django sont maintenant désactivées avec l'indicateur DEBUG configuré à False. Aucune page d'erreur ne sera générée en réponse aux erreurs. Si un adversaire accède quand même aux pages d'erreur, elles ne contiendront pas de métadonnées utiles et ne constitueront pas un risque pour l'application.

Il est un peu plus difficile d'éliminer les vulnérabilités liées aux fonctions de sécurité désactivées et aux autorisations inappropriées, car elles peuvent englober un large éventail de vulnérabilités spécifiques. La meilleure façon de les arrêter est de développer un processus standard et reproductible pour permettre le déploiement rapide et facile des actifs verrouillés dans l'environnement de production.

Même dans ce cas, vous devez créer un processus dans lequel les fichiers d'orchestration, les composants d'API et les services en nuage tels que les autorisations de seau Amazon S3 sont constamment examinés et mis à jour. Cet examen doit également évaluer l'efficacité globale des paramètres de sécurité dans l'ensemble de l'environnement au fil du temps, afin de s'assurer que l'organisation améliore constamment la sécurité de ses API.

Consultez les pages du Secure Code Warrior pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayer une démo de la plateforme de formation Secure Code Warrior pour maintenir vos compétences en cybersécurité à jour.


Accès aux ressources

Cliquez sur le lien ci-dessous et téléchargez le PDF de cette ressource.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Voir le rapportRéservez une démonstration
Partager sur :
Vous souhaitez en savoir plus ?

Partager sur :
Auteur
Matias Madou, Ph.D.
Publié le 11 novembre 2020

Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Matias est un chercheur et un développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité des logiciels. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre entreprise Sensei Security. Au cours de sa carrière, Matias a dirigé de nombreux projets de recherche sur la sécurité des applications qui ont débouché sur des produits commerciaux et peut se targuer d'avoir déposé plus de 10 brevets. Lorsqu'il n'est pas à son bureau, Matias a été instructeur pour des formations avancées en matière de sécurité des applications ( courses ) et intervient régulièrement lors de conférences mondiales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matias est titulaire d'un doctorat en ingénierie informatique de l'Université de Gand, où il a étudié la sécurité des applications par le biais de l'obscurcissement des programmes afin de dissimuler le fonctionnement interne d'une application.

Partager sur :

Si la plupart des vulnérabilités de cette liste sont assez spécifiques aux API, le problème des fonctions de sécurité désactivées, des fonctions de débogage activées et des autorisations incorrectes peut se poser n'importe où. Il est probablement un peu plus répandu dans les API, mais les attaquants tentent souvent de trouver des failles non corrigées et des fichiers ou répertoires non protégés n'importe où dans un réseau. Le fait de tomber sur une API dont le débogage est activé ou dont les fonctions de sécurité sont désactivées ne fait que faciliter leur travail infâme. Pire encore, il existe des outils automatisés permettant de détecter et d'exploiter les mauvaises configurations de sécurité. Si vous en avez dans votre environnement, il y a donc de fortes chances qu'elles soient exploitées, ce qui explique pourquoi cette vulnérabilité figure sur la liste de l'OWASP des failles dangereuses des API.

Avant de passer aux choses sérieuses, essayez de résoudre ce problème de débogage :

Comment les fonctions de sécurité désactivées, les fonctions de débogage activées et les autorisations incorrectes se glissent-elles dans une API ?

Pour comprendre comment cette faille multidimensionnelle de l'API est ajoutée aux réseaux, nous devons la décomposer en ses éléments constitutifs. Commençons par le problème des fonctions de débogage activées. Le débogage est un outil utile qui aide les développeurs à comprendre pourquoi les applications ne fonctionnent pas correctement ou font des erreurs. Lorsque le débogage est activé, les erreurs et les exceptions génèrent des pages d'erreur détaillées permettant aux développeurs de voir ce qui n'a pas fonctionné et de résoudre les problèmes. Il est tout à fait possible d'activer le débogage lorsqu'une application est encore en cours de développement.

Cependant, il y a une raison pour laquelle la plupart des frameworks sont accompagnés d'avertissements concernant l'utilisation du mode débogage dans un environnement de production, probablement directement dans le code où le débogage est activé. Par exemple, dans le code où le débogage est activé :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le débogage activé en production !
DEBUG = True

Dans cet exemple, le débogage a été activé. L'application Django génère des pages d'erreur détaillées lorsqu'une exception est levée. Si cela est fait dans un environnement de production, un adversaire aurait accès à ces pages d'erreur, qui contiennent des métadonnées sur l'environnement. Bien que le débogage soit désactivé par défaut dans la plupart des frameworks, il est facile d'oublier de le réactiver s'il est activé au cours d'un long processus de développement. Ensuite, lorsque l'application est transférée dans un environnement de production, elle fournit aux attaquants de nombreuses informations sur la manière de compromettre une application, voire un serveur ou un réseau entier.

Si l'activation du mode débogage est généralement un problème isolé, les vulnérabilités liées aux autorisations incorrectes et aux fonctions de sécurité désactivées sont souvent associées. Par exemple, dans un scénario réel fourni par l'OWASP, un attaquant a utilisé un moteur de recherche pour trouver une base de données qui était accidentellement connectée à l'internet. Comme le système de gestion de base de données populaire utilisait sa configuration par défaut, l'authentification était désactivée. Ainsi, en combinant les vulnérabilités liées aux autorisations inappropriées et aux fonctions de sécurité désactivées, l'attaquant a pu accéder à des millions d'enregistrements contenant des informations confidentielles, des préférences personnelles et des données d'authentification.

Élimination des vulnérabilités liées aux fonctions de sécurité désactivées, aux fonctions de débogage activées et aux autorisations incorrectes

Vous devrez probablement adopter une double approche pour éliminer cette vulnérabilité. Pour éliminer la partie du problème liée à l'activation du débogage, ajoutez simplement une vérification au processus de développement afin de vous assurer que le débogage est désactivé avant de transférer une API ou une application dans l'environnement de production. Dans notre exemple, la commande appropriée serait la suivante :

# AVERTISSEMENT DE SECURITE : ne pas exécuter avec le debug activé en production !
DEBUG = False

Les fonctionnalités de débogage de l'application Django sont maintenant désactivées avec l'indicateur DEBUG configuré à False. Aucune page d'erreur ne sera générée en réponse aux erreurs. Si un adversaire accède quand même aux pages d'erreur, elles ne contiendront pas de métadonnées utiles et ne constitueront pas un risque pour l'application.

Il est un peu plus difficile d'éliminer les vulnérabilités liées aux fonctions de sécurité désactivées et aux autorisations inappropriées, car elles peuvent englober un large éventail de vulnérabilités spécifiques. La meilleure façon de les arrêter est de développer un processus standard et reproductible pour permettre le déploiement rapide et facile des actifs verrouillés dans l'environnement de production.

Même dans ce cas, vous devez créer un processus dans lequel les fichiers d'orchestration, les composants d'API et les services en nuage tels que les autorisations de seau Amazon S3 sont constamment examinés et mis à jour. Cet examen doit également évaluer l'efficacité globale des paramètres de sécurité dans l'ensemble de l'environnement au fil du temps, afin de s'assurer que l'organisation améliore constamment la sécurité de ses API.

Consultez les pages du Secure Code Warrior pour en savoir plus sur cette vulnérabilité et sur la manière de protéger votre organisation et vos clients des ravages causés par d'autres failles de sécurité. Vous pouvez également essayer une démo de la plateforme de formation Secure Code Warrior pour maintenir vos compétences en cybersécurité à jour.


Table des matières

Voir la ressource
Vous souhaitez en savoir plus ?

Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu son doctorat en sécurité des applications à l'université de Gand, en se concentrant sur les solutions d'analyse statique. Il a ensuite rejoint Fortify aux États-Unis, où il s'est rendu compte qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. C'est ce qui l'a incité à développer des produits qui aident les développeurs, allègent le fardeau de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de l'équipe Awesome, il aime être sur scène pour présenter des conférences, notamment RSA Conference, BlackHat et DefCon.

Secure Code Warrior est là pour vous aider à sécuriser le code tout au long du cycle de vie du développement logiciel et à créer une culture dans laquelle la cybersécurité est une priorité. Que vous soyez responsable AppSec, développeur, CISO ou toute autre personne impliquée dans la sécurité, nous pouvons aider votre organisation à réduire les risques associés à un code non sécurisé.

Réservez une démonstrationTélécharger
Partager sur :
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles
Centre de ressources

Ressources pour vous aider à démarrer

Plus d'articles