Icônes SCW
héros bg sans séparateur
Blog

Série de codes permettant aux codeurs de prendre le contrôle de l'infrastructure de sécurité : fonctions de sécurité désactivées

Dr Matthias Madu
Publié le 04 mai 2020
Dernière mise à jour le 10 mars 2026

De nos jours, les menaces qui pèsent sur la cybersécurité sont omniprésentes et incessantes. Plus les facettes de notre vie sont numérisées, plus les enjeux pour les cybercriminels sont élevés - il y a trop de code à sécuriser, et les données privées sont trop précieuses. En outre, il est devenu pratiquement impossible de suivre et de défendre chaque aspect de la surface d'attaque après le déploiement des programmes.

Il existe des approches qui peuvent atténuer certains de ces symptômes, et l'une d'entre elles est apparente lorsque des organisations astucieuses adoptent le concept d'infrastructure en tant que code (IaC). Bien sûr, comme pour tout développement, il y a des pièges à éviter en matière de sécurité. Et comme les développeurs travaillent sur le code qui génère l'infrastructure vitale pour héberger les applications, la sensibilisation à la sécurité est essentielle à chaque étape du processus.

Alors, comment un développeur débutant dans un environnement de serveurs en nuage peut-il se perfectionner, apprendre les ficelles du métier et aborder la construction avec une conscience accrue de la sécurité ? Nous avons créé la prochaine série Coders Conquer Security pour aborder les vulnérabilités IaC courantes, et ces prochains blogs se concentreront sur les étapes que vous, en tant que développeur, pouvez suivre pour commencer à déployer une infrastructure sécurisée en tant que code dans votre propre organisation.

Commençons.

Une fable de l'Ouest américain raconte l'histoire d'un homme paranoïaque qui craignait que des bandits n'attaquent et ne dévalisent sa propriété. Pour compenser, il a investi dans toutes sortes de mesures de sécurité, comme l'installation d'une porte d'entrée très solide, la pose de planches sur toutes les fenêtres et la conservation d'un grand nombre d'armes à portée de main. Il a tout de même été cambriolé une nuit pendant son sommeil parce qu'il avait oublié de verrouiller la porte latérale. Les bandits ont simplement constaté que la sécurité était défaillante et ont rapidement exploité la situation.

Le fait de désactiver des fonctions de sécurité dans votre infrastructure s'apparente à cela. Même si votre réseau dispose d'une infrastructure de sécurité solide, elle ne sert pas à grand-chose si des éléments ont été désactivés.

Permettez-moi de vous lancer un défi avant d'entrer dans le vif du sujet :

Cliquez sur le lien ci-dessus et vous serez transporté vers notre plateforme de formation ludique, où vous pourrez tenter d'éliminer dès maintenant une vulnérabilité de la fonction de sécurité désactivée. (Attention : Il s'ouvrira dans Kubernetes, mais utilisez le menu déroulant et vous pourrez choisir entre Docker, CloudFormation, Terraform et Ansible).

Quels sont vos résultats ? Si vous avez encore du travail à faire, lisez la suite :

Les fonctions de sécurité peuvent être désactivées pour diverses raisons. Avec certaines applications et certains frameworks, elles peuvent être désactivées par défaut et doivent d'abord être activées pour commencer à fonctionner. Il est également possible que les administrateurs aient désactivé des fonctions de sécurité spécifiques afin de pouvoir effectuer plus facilement certaines tâches sans être constamment contestés ou bloqués (par exemple, rendre public un seau AWS S3). Une fois leur travail terminé, ils peuvent oublier de réactiver ces fonctions désactivées. Ils peuvent également préférer les laisser désactivées pour se faciliter la tâche à l'avenir.

Pourquoi les dispositifs de sécurité désactivés sont-ils si dangereux ?

Le fait d'avoir une ou plusieurs fonctions de sécurité désactivées est néfaste pour plusieurs raisons. Tout d'abord, la fonction de sécurité a été intégrée aux ressources de l'infrastructure pour les protéger contre un exploit, une menace ou une vulnérabilité connus. S'il est désactivé, il ne pourra pas protéger vos ressources.

Les attaquants essaieront toujours de trouver en premier les failles facilement exploitables et peuvent même utiliser un script pour passer en revue les faiblesses les plus courantes. C'est un peu comme si un voleur vérifiait toutes les voitures d'une rue pour voir si une porte est déverrouillée, ce qui est beaucoup plus facile que de briser une fenêtre. Les pirates peuvent être surpris de constater qu'un dispositif de sécurité courant est inactif. Mais lorsque cela se produit, il ne leur faut pas longtemps pour l'exploiter.

Deuxièmement, le fait de mettre en place une bonne sécurité puis de la désactiver crée un faux sentiment de sécurité. Les administrateurs peuvent penser qu'ils sont protégés contre les menaces courantes s'ils ne savent pas que quelqu'un a désactivé ces défenses.

Pour illustrer la manière dont un pirate peut tirer parti d'une fonction de sécurité désactivée, prenons l'exemple de la fonction de sécurité AWS S3 qui consiste à bloquer l'accès public. Avec le blocage de l'accès public à Amazon S3, les administrateurs de comptes et les propriétaires de seaux peuvent facilement mettre en place des contrôles centralisés pour limiter l'accès public à leurs ressources Amazon S3. Cependant, certains administrateurs rencontrant des problèmes lors de l'accès à un bac S3 décident de le rendre public afin d'effectuer la tâche le plus rapidement possible. S'ils oublient d'activer cette fonction de sécurité, un pirate aura un accès complet aux informations stockées dans ce seau S3, ce qui entraînera non seulement la divulgation d'informations, mais aussi des coûts supplémentaires dus aux frais de transfert de données.

Comparons un peu de code réel ; regardez ces extraits de CloudFormation :

Vulnérable :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : false
BlockPublicPolicy : false
IgnorePublicAcls : false
RestrictPublicBuckets : false
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Sécurisé :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : true
BlockPublicPolicy : true
IgnorePublicAcls : true
RestrictPublicBuckets : true
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Empêcher la désactivation des dispositifs de sécurité

Empêcher les fonctions de sécurité désactivées de nuire à votre organisation est autant une question de politique que de pratique. Il convient de mettre en place une politique ferme stipulant que les fonctions de sécurité ne doivent être désactivées que dans des circonstances très spécifiques. Les incidents au cours desquels des fonctions doivent être temporairement désactivées pour résoudre un problème ou mettre à jour des applications doivent être consignés. Une fois les travaux terminés, il convient de vérifier que les dispositifs ont été pleinement réactivés.

Si une fonction de sécurité doit être désactivée de manière permanente afin de rationaliser les opérations, d'autres protections doivent être fournies aux données concernées afin de garantir que les pirates ne pourront pas y accéder en l'absence de la protection par défaut. Si une fonction de protection nécessaire a été désactivée, ce n'est qu'une question de temps avant qu'un pirate ne trouve cette porte déverrouillée et n'exploite la situation.

Apprenez-en plus, lancez-vous des défis :

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 contre les ravages causés par d'autres failles de sécurité et vulnérabilités.

Prêt à trouver et à corriger cette vulnérabilité maintenant que vous avez lu l'article ? Il est temps d'essayer un défi de sécurité gamifié de l'IaC sur la plateforme Secure Code Warrior pour garder toutes vos compétences en cybersécurité aiguisées et à jour.

Il s'agit d'une série hebdomadaire couvrant les huit principales vulnérabilités de l'infrastructure en tant que code ; revenez la semaine prochaine pour en savoir plus !

Afficher les ressources
Afficher les ressources

Les attaquants cherchent toujours à identifier en premier lieu les vulnérabilités les plus faciles à exploiter, mais ils peuvent également utiliser des scripts pour exploiter les failles courantes. Cela revient à un voleur qui inspecte toutes les voitures circulant sur la route pour vérifier si les portes ne sont pas déverrouillées. C'est beaucoup plus simple que de briser une vitre.

Souhaitez-vous en savoir davantage ?

Le Dr Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu un doctorat en sécurité des applications, axé sur les solutions d'analyse statique, à l'université de Gand.Il a ensuite rejoint Fortify aux États-Unis, où il a réalisé qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a amené à développer des produits qui aident les développeurs, allègent la charge de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de Team Awesome, il apprécie de faire des présentations sur scène lors de conférences telles que RSA, BlackHat et DefCon.

En savoir plus

Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.

Veuillez réserver une démonstration.
Partager :
marques LinkedInSocialLogo x
Auteur
Dr Matthias Madu
Publié le 04 mai 2020

Le Dr Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu un doctorat en sécurité des applications, axé sur les solutions d'analyse statique, à l'université de Gand.Il a ensuite rejoint Fortify aux États-Unis, où il a réalisé qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a amené à développer des produits qui aident les développeurs, allègent la charge de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de Team Awesome, il apprécie de faire des présentations sur scène lors de conférences telles que RSA, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société, Sensei Security. Tout au long de sa carrière, Matias a dirigé plusieurs projets de recherche sur la sécurité des applications, qui ont abouti à la création de produits commerciaux et à l'obtention de plus de 10 brevets.Lorsqu'il n'est pas à son bureau, Matias enseigne dans le cadre de formations avancées sur la sécurité des applications et intervient régulièrement lors de conférences internationales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matthias a obtenu un doctorat en génie informatique à l'université de Gand, où il a étudié la sécurité des applications grâce à l'obfuscation des programmes visant à masquer le fonctionnement interne des applications.

Partager :
marques LinkedInSocialLogo x

De nos jours, les menaces qui pèsent sur la cybersécurité sont omniprésentes et incessantes. Plus les facettes de notre vie sont numérisées, plus les enjeux pour les cybercriminels sont élevés - il y a trop de code à sécuriser, et les données privées sont trop précieuses. En outre, il est devenu pratiquement impossible de suivre et de défendre chaque aspect de la surface d'attaque après le déploiement des programmes.

Il existe des approches qui peuvent atténuer certains de ces symptômes, et l'une d'entre elles est apparente lorsque des organisations astucieuses adoptent le concept d'infrastructure en tant que code (IaC). Bien sûr, comme pour tout développement, il y a des pièges à éviter en matière de sécurité. Et comme les développeurs travaillent sur le code qui génère l'infrastructure vitale pour héberger les applications, la sensibilisation à la sécurité est essentielle à chaque étape du processus.

Alors, comment un développeur débutant dans un environnement de serveurs en nuage peut-il se perfectionner, apprendre les ficelles du métier et aborder la construction avec une conscience accrue de la sécurité ? Nous avons créé la prochaine série Coders Conquer Security pour aborder les vulnérabilités IaC courantes, et ces prochains blogs se concentreront sur les étapes que vous, en tant que développeur, pouvez suivre pour commencer à déployer une infrastructure sécurisée en tant que code dans votre propre organisation.

Commençons.

Une fable de l'Ouest américain raconte l'histoire d'un homme paranoïaque qui craignait que des bandits n'attaquent et ne dévalisent sa propriété. Pour compenser, il a investi dans toutes sortes de mesures de sécurité, comme l'installation d'une porte d'entrée très solide, la pose de planches sur toutes les fenêtres et la conservation d'un grand nombre d'armes à portée de main. Il a tout de même été cambriolé une nuit pendant son sommeil parce qu'il avait oublié de verrouiller la porte latérale. Les bandits ont simplement constaté que la sécurité était défaillante et ont rapidement exploité la situation.

Le fait de désactiver des fonctions de sécurité dans votre infrastructure s'apparente à cela. Même si votre réseau dispose d'une infrastructure de sécurité solide, elle ne sert pas à grand-chose si des éléments ont été désactivés.

Permettez-moi de vous lancer un défi avant d'entrer dans le vif du sujet :

Cliquez sur le lien ci-dessus et vous serez transporté vers notre plateforme de formation ludique, où vous pourrez tenter d'éliminer dès maintenant une vulnérabilité de la fonction de sécurité désactivée. (Attention : Il s'ouvrira dans Kubernetes, mais utilisez le menu déroulant et vous pourrez choisir entre Docker, CloudFormation, Terraform et Ansible).

Quels sont vos résultats ? Si vous avez encore du travail à faire, lisez la suite :

Les fonctions de sécurité peuvent être désactivées pour diverses raisons. Avec certaines applications et certains frameworks, elles peuvent être désactivées par défaut et doivent d'abord être activées pour commencer à fonctionner. Il est également possible que les administrateurs aient désactivé des fonctions de sécurité spécifiques afin de pouvoir effectuer plus facilement certaines tâches sans être constamment contestés ou bloqués (par exemple, rendre public un seau AWS S3). Une fois leur travail terminé, ils peuvent oublier de réactiver ces fonctions désactivées. Ils peuvent également préférer les laisser désactivées pour se faciliter la tâche à l'avenir.

Pourquoi les dispositifs de sécurité désactivés sont-ils si dangereux ?

Le fait d'avoir une ou plusieurs fonctions de sécurité désactivées est néfaste pour plusieurs raisons. Tout d'abord, la fonction de sécurité a été intégrée aux ressources de l'infrastructure pour les protéger contre un exploit, une menace ou une vulnérabilité connus. S'il est désactivé, il ne pourra pas protéger vos ressources.

Les attaquants essaieront toujours de trouver en premier les failles facilement exploitables et peuvent même utiliser un script pour passer en revue les faiblesses les plus courantes. C'est un peu comme si un voleur vérifiait toutes les voitures d'une rue pour voir si une porte est déverrouillée, ce qui est beaucoup plus facile que de briser une fenêtre. Les pirates peuvent être surpris de constater qu'un dispositif de sécurité courant est inactif. Mais lorsque cela se produit, il ne leur faut pas longtemps pour l'exploiter.

Deuxièmement, le fait de mettre en place une bonne sécurité puis de la désactiver crée un faux sentiment de sécurité. Les administrateurs peuvent penser qu'ils sont protégés contre les menaces courantes s'ils ne savent pas que quelqu'un a désactivé ces défenses.

Pour illustrer la manière dont un pirate peut tirer parti d'une fonction de sécurité désactivée, prenons l'exemple de la fonction de sécurité AWS S3 qui consiste à bloquer l'accès public. Avec le blocage de l'accès public à Amazon S3, les administrateurs de comptes et les propriétaires de seaux peuvent facilement mettre en place des contrôles centralisés pour limiter l'accès public à leurs ressources Amazon S3. Cependant, certains administrateurs rencontrant des problèmes lors de l'accès à un bac S3 décident de le rendre public afin d'effectuer la tâche le plus rapidement possible. S'ils oublient d'activer cette fonction de sécurité, un pirate aura un accès complet aux informations stockées dans ce seau S3, ce qui entraînera non seulement la divulgation d'informations, mais aussi des coûts supplémentaires dus aux frais de transfert de données.

Comparons un peu de code réel ; regardez ces extraits de CloudFormation :

Vulnérable :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : false
BlockPublicPolicy : false
IgnorePublicAcls : false
RestrictPublicBuckets : false
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Sécurisé :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : true
BlockPublicPolicy : true
IgnorePublicAcls : true
RestrictPublicBuckets : true
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Empêcher la désactivation des dispositifs de sécurité

Empêcher les fonctions de sécurité désactivées de nuire à votre organisation est autant une question de politique que de pratique. Il convient de mettre en place une politique ferme stipulant que les fonctions de sécurité ne doivent être désactivées que dans des circonstances très spécifiques. Les incidents au cours desquels des fonctions doivent être temporairement désactivées pour résoudre un problème ou mettre à jour des applications doivent être consignés. Une fois les travaux terminés, il convient de vérifier que les dispositifs ont été pleinement réactivés.

Si une fonction de sécurité doit être désactivée de manière permanente afin de rationaliser les opérations, d'autres protections doivent être fournies aux données concernées afin de garantir que les pirates ne pourront pas y accéder en l'absence de la protection par défaut. Si une fonction de protection nécessaire a été désactivée, ce n'est qu'une question de temps avant qu'un pirate ne trouve cette porte déverrouillée et n'exploite la situation.

Apprenez-en plus, lancez-vous des défis :

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 contre les ravages causés par d'autres failles de sécurité et vulnérabilités.

Prêt à trouver et à corriger cette vulnérabilité maintenant que vous avez lu l'article ? Il est temps d'essayer un défi de sécurité gamifié de l'IaC sur la plateforme Secure Code Warrior pour garder toutes vos compétences en cybersécurité aiguisées et à jour.

Il s'agit d'une série hebdomadaire couvrant les huit principales vulnérabilités de l'infrastructure en tant que code ; revenez la semaine prochaine pour en savoir plus !

Afficher les ressources
Afficher les ressources

Pour télécharger le rapport, veuillez remplir le formulaire ci-dessous.

Nous vous prions de bien vouloir nous autoriser à vous envoyer des informations sur nos produits et/ou sur des sujets liés au codage sécurisé. Nous traitons vos informations personnelles avec le plus grand soin et ne les vendons jamais à des tiers à des fins marketing.

Envoi
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer le cookie « Analytics ». Une fois le paramétrage terminé, vous pouvez le désactiver à nouveau.

De nos jours, les menaces qui pèsent sur la cybersécurité sont omniprésentes et incessantes. Plus les facettes de notre vie sont numérisées, plus les enjeux pour les cybercriminels sont élevés - il y a trop de code à sécuriser, et les données privées sont trop précieuses. En outre, il est devenu pratiquement impossible de suivre et de défendre chaque aspect de la surface d'attaque après le déploiement des programmes.

Il existe des approches qui peuvent atténuer certains de ces symptômes, et l'une d'entre elles est apparente lorsque des organisations astucieuses adoptent le concept d'infrastructure en tant que code (IaC). Bien sûr, comme pour tout développement, il y a des pièges à éviter en matière de sécurité. Et comme les développeurs travaillent sur le code qui génère l'infrastructure vitale pour héberger les applications, la sensibilisation à la sécurité est essentielle à chaque étape du processus.

Alors, comment un développeur débutant dans un environnement de serveurs en nuage peut-il se perfectionner, apprendre les ficelles du métier et aborder la construction avec une conscience accrue de la sécurité ? Nous avons créé la prochaine série Coders Conquer Security pour aborder les vulnérabilités IaC courantes, et ces prochains blogs se concentreront sur les étapes que vous, en tant que développeur, pouvez suivre pour commencer à déployer une infrastructure sécurisée en tant que code dans votre propre organisation.

Commençons.

Une fable de l'Ouest américain raconte l'histoire d'un homme paranoïaque qui craignait que des bandits n'attaquent et ne dévalisent sa propriété. Pour compenser, il a investi dans toutes sortes de mesures de sécurité, comme l'installation d'une porte d'entrée très solide, la pose de planches sur toutes les fenêtres et la conservation d'un grand nombre d'armes à portée de main. Il a tout de même été cambriolé une nuit pendant son sommeil parce qu'il avait oublié de verrouiller la porte latérale. Les bandits ont simplement constaté que la sécurité était défaillante et ont rapidement exploité la situation.

Le fait de désactiver des fonctions de sécurité dans votre infrastructure s'apparente à cela. Même si votre réseau dispose d'une infrastructure de sécurité solide, elle ne sert pas à grand-chose si des éléments ont été désactivés.

Permettez-moi de vous lancer un défi avant d'entrer dans le vif du sujet :

Cliquez sur le lien ci-dessus et vous serez transporté vers notre plateforme de formation ludique, où vous pourrez tenter d'éliminer dès maintenant une vulnérabilité de la fonction de sécurité désactivée. (Attention : Il s'ouvrira dans Kubernetes, mais utilisez le menu déroulant et vous pourrez choisir entre Docker, CloudFormation, Terraform et Ansible).

Quels sont vos résultats ? Si vous avez encore du travail à faire, lisez la suite :

Les fonctions de sécurité peuvent être désactivées pour diverses raisons. Avec certaines applications et certains frameworks, elles peuvent être désactivées par défaut et doivent d'abord être activées pour commencer à fonctionner. Il est également possible que les administrateurs aient désactivé des fonctions de sécurité spécifiques afin de pouvoir effectuer plus facilement certaines tâches sans être constamment contestés ou bloqués (par exemple, rendre public un seau AWS S3). Une fois leur travail terminé, ils peuvent oublier de réactiver ces fonctions désactivées. Ils peuvent également préférer les laisser désactivées pour se faciliter la tâche à l'avenir.

Pourquoi les dispositifs de sécurité désactivés sont-ils si dangereux ?

Le fait d'avoir une ou plusieurs fonctions de sécurité désactivées est néfaste pour plusieurs raisons. Tout d'abord, la fonction de sécurité a été intégrée aux ressources de l'infrastructure pour les protéger contre un exploit, une menace ou une vulnérabilité connus. S'il est désactivé, il ne pourra pas protéger vos ressources.

Les attaquants essaieront toujours de trouver en premier les failles facilement exploitables et peuvent même utiliser un script pour passer en revue les faiblesses les plus courantes. C'est un peu comme si un voleur vérifiait toutes les voitures d'une rue pour voir si une porte est déverrouillée, ce qui est beaucoup plus facile que de briser une fenêtre. Les pirates peuvent être surpris de constater qu'un dispositif de sécurité courant est inactif. Mais lorsque cela se produit, il ne leur faut pas longtemps pour l'exploiter.

Deuxièmement, le fait de mettre en place une bonne sécurité puis de la désactiver crée un faux sentiment de sécurité. Les administrateurs peuvent penser qu'ils sont protégés contre les menaces courantes s'ils ne savent pas que quelqu'un a désactivé ces défenses.

Pour illustrer la manière dont un pirate peut tirer parti d'une fonction de sécurité désactivée, prenons l'exemple de la fonction de sécurité AWS S3 qui consiste à bloquer l'accès public. Avec le blocage de l'accès public à Amazon S3, les administrateurs de comptes et les propriétaires de seaux peuvent facilement mettre en place des contrôles centralisés pour limiter l'accès public à leurs ressources Amazon S3. Cependant, certains administrateurs rencontrant des problèmes lors de l'accès à un bac S3 décident de le rendre public afin d'effectuer la tâche le plus rapidement possible. S'ils oublient d'activer cette fonction de sécurité, un pirate aura un accès complet aux informations stockées dans ce seau S3, ce qui entraînera non seulement la divulgation d'informations, mais aussi des coûts supplémentaires dus aux frais de transfert de données.

Comparons un peu de code réel ; regardez ces extraits de CloudFormation :

Vulnérable :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : false
BlockPublicPolicy : false
IgnorePublicAcls : false
RestrictPublicBuckets : false
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Sécurisé :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : true
BlockPublicPolicy : true
IgnorePublicAcls : true
RestrictPublicBuckets : true
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Empêcher la désactivation des dispositifs de sécurité

Empêcher les fonctions de sécurité désactivées de nuire à votre organisation est autant une question de politique que de pratique. Il convient de mettre en place une politique ferme stipulant que les fonctions de sécurité ne doivent être désactivées que dans des circonstances très spécifiques. Les incidents au cours desquels des fonctions doivent être temporairement désactivées pour résoudre un problème ou mettre à jour des applications doivent être consignés. Une fois les travaux terminés, il convient de vérifier que les dispositifs ont été pleinement réactivés.

Si une fonction de sécurité doit être désactivée de manière permanente afin de rationaliser les opérations, d'autres protections doivent être fournies aux données concernées afin de garantir que les pirates ne pourront pas y accéder en l'absence de la protection par défaut. Si une fonction de protection nécessaire a été désactivée, ce n'est qu'une question de temps avant qu'un pirate ne trouve cette porte déverrouillée et n'exploite la situation.

Apprenez-en plus, lancez-vous des défis :

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 contre les ravages causés par d'autres failles de sécurité et vulnérabilités.

Prêt à trouver et à corriger cette vulnérabilité maintenant que vous avez lu l'article ? Il est temps d'essayer un défi de sécurité gamifié de l'IaC sur la plateforme Secure Code Warrior pour garder toutes vos compétences en cybersécurité aiguisées et à jour.

Il s'agit d'une série hebdomadaire couvrant les huit principales vulnérabilités de l'infrastructure en tant que code ; revenez la semaine prochaine pour en savoir plus !

Veuillez consulter le séminaire en ligne.
Commençons
En savoir plus

Veuillez cliquer sur le lien ci-dessous pour télécharger le PDF de cette ressource.

Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.

Afficher le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Afficher les ressources
Partager :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager :
marques LinkedInSocialLogo x
Auteur
Dr Matthias Madu
Publié le 04 mai 2020

Le Dr Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu un doctorat en sécurité des applications, axé sur les solutions d'analyse statique, à l'université de Gand.Il a ensuite rejoint Fortify aux États-Unis, où il a réalisé qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a amené à développer des produits qui aident les développeurs, allègent la charge de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de Team Awesome, il apprécie de faire des présentations sur scène lors de conférences telles que RSA, BlackHat et DefCon.

Matias est un chercheur et développeur qui possède plus de 15 ans d'expérience pratique dans le domaine de la sécurité logicielle. Il a développé des solutions pour des entreprises telles que Fortify Software et sa propre société, Sensei Security. Tout au long de sa carrière, Matias a dirigé plusieurs projets de recherche sur la sécurité des applications, qui ont abouti à la création de produits commerciaux et à l'obtention de plus de 10 brevets.Lorsqu'il n'est pas à son bureau, Matias enseigne dans le cadre de formations avancées sur la sécurité des applications et intervient régulièrement lors de conférences internationales telles que RSA Conference, Black Hat, DefCon, BSIMM, OWASP AppSec et BruCon.

Matthias a obtenu un doctorat en génie informatique à l'université de Gand, où il a étudié la sécurité des applications grâce à l'obfuscation des programmes visant à masquer le fonctionnement interne des applications.

Partager :
marques LinkedInSocialLogo x

De nos jours, les menaces qui pèsent sur la cybersécurité sont omniprésentes et incessantes. Plus les facettes de notre vie sont numérisées, plus les enjeux pour les cybercriminels sont élevés - il y a trop de code à sécuriser, et les données privées sont trop précieuses. En outre, il est devenu pratiquement impossible de suivre et de défendre chaque aspect de la surface d'attaque après le déploiement des programmes.

Il existe des approches qui peuvent atténuer certains de ces symptômes, et l'une d'entre elles est apparente lorsque des organisations astucieuses adoptent le concept d'infrastructure en tant que code (IaC). Bien sûr, comme pour tout développement, il y a des pièges à éviter en matière de sécurité. Et comme les développeurs travaillent sur le code qui génère l'infrastructure vitale pour héberger les applications, la sensibilisation à la sécurité est essentielle à chaque étape du processus.

Alors, comment un développeur débutant dans un environnement de serveurs en nuage peut-il se perfectionner, apprendre les ficelles du métier et aborder la construction avec une conscience accrue de la sécurité ? Nous avons créé la prochaine série Coders Conquer Security pour aborder les vulnérabilités IaC courantes, et ces prochains blogs se concentreront sur les étapes que vous, en tant que développeur, pouvez suivre pour commencer à déployer une infrastructure sécurisée en tant que code dans votre propre organisation.

Commençons.

Une fable de l'Ouest américain raconte l'histoire d'un homme paranoïaque qui craignait que des bandits n'attaquent et ne dévalisent sa propriété. Pour compenser, il a investi dans toutes sortes de mesures de sécurité, comme l'installation d'une porte d'entrée très solide, la pose de planches sur toutes les fenêtres et la conservation d'un grand nombre d'armes à portée de main. Il a tout de même été cambriolé une nuit pendant son sommeil parce qu'il avait oublié de verrouiller la porte latérale. Les bandits ont simplement constaté que la sécurité était défaillante et ont rapidement exploité la situation.

Le fait de désactiver des fonctions de sécurité dans votre infrastructure s'apparente à cela. Même si votre réseau dispose d'une infrastructure de sécurité solide, elle ne sert pas à grand-chose si des éléments ont été désactivés.

Permettez-moi de vous lancer un défi avant d'entrer dans le vif du sujet :

Cliquez sur le lien ci-dessus et vous serez transporté vers notre plateforme de formation ludique, où vous pourrez tenter d'éliminer dès maintenant une vulnérabilité de la fonction de sécurité désactivée. (Attention : Il s'ouvrira dans Kubernetes, mais utilisez le menu déroulant et vous pourrez choisir entre Docker, CloudFormation, Terraform et Ansible).

Quels sont vos résultats ? Si vous avez encore du travail à faire, lisez la suite :

Les fonctions de sécurité peuvent être désactivées pour diverses raisons. Avec certaines applications et certains frameworks, elles peuvent être désactivées par défaut et doivent d'abord être activées pour commencer à fonctionner. Il est également possible que les administrateurs aient désactivé des fonctions de sécurité spécifiques afin de pouvoir effectuer plus facilement certaines tâches sans être constamment contestés ou bloqués (par exemple, rendre public un seau AWS S3). Une fois leur travail terminé, ils peuvent oublier de réactiver ces fonctions désactivées. Ils peuvent également préférer les laisser désactivées pour se faciliter la tâche à l'avenir.

Pourquoi les dispositifs de sécurité désactivés sont-ils si dangereux ?

Le fait d'avoir une ou plusieurs fonctions de sécurité désactivées est néfaste pour plusieurs raisons. Tout d'abord, la fonction de sécurité a été intégrée aux ressources de l'infrastructure pour les protéger contre un exploit, une menace ou une vulnérabilité connus. S'il est désactivé, il ne pourra pas protéger vos ressources.

Les attaquants essaieront toujours de trouver en premier les failles facilement exploitables et peuvent même utiliser un script pour passer en revue les faiblesses les plus courantes. C'est un peu comme si un voleur vérifiait toutes les voitures d'une rue pour voir si une porte est déverrouillée, ce qui est beaucoup plus facile que de briser une fenêtre. Les pirates peuvent être surpris de constater qu'un dispositif de sécurité courant est inactif. Mais lorsque cela se produit, il ne leur faut pas longtemps pour l'exploiter.

Deuxièmement, le fait de mettre en place une bonne sécurité puis de la désactiver crée un faux sentiment de sécurité. Les administrateurs peuvent penser qu'ils sont protégés contre les menaces courantes s'ils ne savent pas que quelqu'un a désactivé ces défenses.

Pour illustrer la manière dont un pirate peut tirer parti d'une fonction de sécurité désactivée, prenons l'exemple de la fonction de sécurité AWS S3 qui consiste à bloquer l'accès public. Avec le blocage de l'accès public à Amazon S3, les administrateurs de comptes et les propriétaires de seaux peuvent facilement mettre en place des contrôles centralisés pour limiter l'accès public à leurs ressources Amazon S3. Cependant, certains administrateurs rencontrant des problèmes lors de l'accès à un bac S3 décident de le rendre public afin d'effectuer la tâche le plus rapidement possible. S'ils oublient d'activer cette fonction de sécurité, un pirate aura un accès complet aux informations stockées dans ce seau S3, ce qui entraînera non seulement la divulgation d'informations, mais aussi des coûts supplémentaires dus aux frais de transfert de données.

Comparons un peu de code réel ; regardez ces extraits de CloudFormation :

Vulnérable :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : false
BlockPublicPolicy : false
IgnorePublicAcls : false
RestrictPublicBuckets : false
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Sécurisé :

CorporateBucket :
Type : AWS::S3::Bucket
Propriétés :
PublicAccessBlockConfiguration :
BlockPublicAcls : true
BlockPublicPolicy : true
IgnorePublicAcls : true
RestrictPublicBuckets : true
VersioningConfiguration :
Status : Enabled
BucketEncryption :
ServerSideEncryptionConfiguration :
- ServerSideEncryptionByDefault :
SSEAlgorithm : "AES256"

Empêcher la désactivation des dispositifs de sécurité

Empêcher les fonctions de sécurité désactivées de nuire à votre organisation est autant une question de politique que de pratique. Il convient de mettre en place une politique ferme stipulant que les fonctions de sécurité ne doivent être désactivées que dans des circonstances très spécifiques. Les incidents au cours desquels des fonctions doivent être temporairement désactivées pour résoudre un problème ou mettre à jour des applications doivent être consignés. Une fois les travaux terminés, il convient de vérifier que les dispositifs ont été pleinement réactivés.

Si une fonction de sécurité doit être désactivée de manière permanente afin de rationaliser les opérations, d'autres protections doivent être fournies aux données concernées afin de garantir que les pirates ne pourront pas y accéder en l'absence de la protection par défaut. Si une fonction de protection nécessaire a été désactivée, ce n'est qu'une question de temps avant qu'un pirate ne trouve cette porte déverrouillée et n'exploite la situation.

Apprenez-en plus, lancez-vous des défis :

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 contre les ravages causés par d'autres failles de sécurité et vulnérabilités.

Prêt à trouver et à corriger cette vulnérabilité maintenant que vous avez lu l'article ? Il est temps d'essayer un défi de sécurité gamifié de l'IaC sur la plateforme Secure Code Warrior pour garder toutes vos compétences en cybersécurité aiguisées et à jour.

Il s'agit d'une série hebdomadaire couvrant les huit principales vulnérabilités de l'infrastructure en tant que code ; revenez la semaine prochaine pour en savoir plus !

Table des matières

Télécharger le PDF
Afficher les ressources
Souhaitez-vous en savoir davantage ?

Le Dr Matias Madou est expert en sécurité, chercheur, directeur technique et cofondateur de Secure Code Warrior. Matias a obtenu un doctorat en sécurité des applications, axé sur les solutions d'analyse statique, à l'université de Gand.Il a ensuite rejoint Fortify aux États-Unis, où il a réalisé qu'il ne suffisait pas de détecter les problèmes de code sans aider les développeurs à écrire du code sécurisé. Cela l'a amené à développer des produits qui aident les développeurs, allègent la charge de la sécurité et dépassent les attentes des clients. Lorsqu'il n'est pas à son bureau en tant que membre de Team Awesome, il apprécie de faire des présentations sur scène lors de conférences telles que RSA, BlackHat et DefCon.

En savoir plus

Secure Code Warrior vous assiste dans la protection de votre code tout au long du cycle de vie du développement logiciel et dans la création d'une culture qui accorde la priorité à la cybersécurité. Que vous soyez responsable de la sécurité des applications, développeur, responsable de la sécurité des systèmes d'information ou professionnel de la sécurité, nous vous aidons à réduire les risques liés au code non sécurisé.

Veuillez réserver une démonstration.[Télécharger]
Partager :
marques LinkedInSocialLogo x
Centre de ressources

Ressources pour débuter

Autres publications
Centre de ressources

Ressources pour débuter

Autres publications