Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>

Découvrez quelle solution de test API est arrivée en tête dans le rapport GigaOm Radar. Obtenez votre rapport d'analyse gratuit >>
Aller à la section
Les récentes pannes de système mondiales liées à la mise à jour du logiciel CrowdStrike Falcon montrent l'importance de tests complets avant le déploiement, y compris des pratiques éprouvées telles que l'analyse statique. Découvrez comment l'utilisation des outils d'analyse de code statique de Parasoft peut prévenir efficacement des problèmes similaires à l'avenir.
Aller à la section
Aller à la section
Dans le monde en évolution rapide de la livraison automatisée de logiciels (CI/CD), il est crucial de préserver l’intégrité et la fiabilité des mises à jour logicielles. Le récent incident survenu chez CrowdStrike, impliquant une mise à jour critique du capteur Windows, souligne l'impératif de tests complets avant le déploiement. Cet événement, qui a entraîné des problèmes importants après la mise à jour, sert de mise en garde pour les développeurs de logiciels : les tests automatisés doivent évaluer rigoureusement non seulement la cybersécurité, mais également la fiabilité et la sécurité. Le protocole de CrowdStrike commence par une suite de tests automatisés. CrowdStrike déclare :
« Le processus de publication des capteurs commence par des tests automatisés, avant et après la fusion dans notre base de code. Cela comprend les tests unitaires, les tests d’intégration, les tests de performances et les tests de résistance.
Il est intéressant de noter qu’il n’y a aucune mention de l’analyse de code statique dans leur programme de tests. Étant donné que les secteurs critiques pour la sécurité défendent depuis longtemps l’analyse statique pour anticiper les problèmes, cette omission est frappante. Les outils d'analyse statique comme ceux de Parasoft se sont révélés très efficaces pour améliorer la robustesse des logiciels.
Les déploiements de logiciels automatisés reposent sur des tests logiciels complets effectués au début du cycle, également appelés test de décalage gauche—pour détecter les défauts et vulnérabilités potentiels avant qu’ils n’atteignent la production. Il est crucial, lors des premiers tests, de donner la priorité à la sécurité et à la fiabilité du code, ainsi qu'à la sécurité, afin d'éviter les incidents qui érodent la confiance et provoquent des perturbations importantes.
Analyse statique joue un rôle crucial dans les tests de décalage à gauche, en identifiant et en atténuant les problèmes dès le début du processus de développement. Contrairement à test dynamique, qui nécessite l'exécution du code, l'analyse statique examine le code source sans exécuter le programme. Cela permet une détection précoce des erreurs potentielles, des vulnérabilités de sécurité et des violations des normes de codage dès le début du cycle de vie du logiciel.
Dans le cas du problème de mise à jour CrowdStrike Falcon, le respect des normes de codage telles que MISRA, CERT et CWE grâce à des outils d'analyse statique aurait joué un rôle déterminant dans la détection et l'atténuation de ce défaut logique.
Ces normes contiennent toutes des directives de codage pour identifier l'utilisation de pointeurs NULL, la cause première de cet échec. Offres Parasoft couverture approfondie de ces normes et le déploiement d'un ensemble robuste de vérificateurs axés sur la sécurité, la sûreté et la fiabilité aurait pu détecter ces types de bogues plus tôt.
Voici quelques directives de codage d’analyse statique issues de trois normes différentes qui pourraient être utilisées pour détecter ces types de défauts logiciels.
MISRA C++ 2023 | Directives de codage |
---|---|
MISRA C++2023:7.11.1 | nullptr doit être la seule forme de la constante de pointeur nul |
MISRA C++2023:8.7.1 | L'arithmétique du pointeur ne doit pas former un pointeur invalide |
MISRA C++2023:11.6.2 | La valeur d'un objet ne doit pas être lue avant d'avoir été définie |
CWE | Directives de codage |
---|---|
CWE : 395 | Utilisation de NULLPointer Exception Catch pour détecter le déréférencement de pointeur NULL |
CWE : 476 | Déréférence de pointeur NULL |
CWE : 626 | Erreur d'interaction d'octet NULL |
CWE : 690 | Valeur de retour non cochée pour le déréférencement du pointeur NULL |
CERT SEI | Directives de codage |
---|---|
CERT : EXP34-C | Ne pas déréférencer les pointeurs nuls |
CERT : ARR30-C | Ne formez pas et n'utilisez pas de pointeurs hors limites ou d'indices de tableau |
CERT : ARR30-C | Ne pas accéder à la mémoire libérée |
En intégrant ces normes dans leur processus de développement, CrowdStrike aurait pu identifier les erreurs de codage, les failles de sécurité et les problèmes de conformité avant qu'ils n'atteignent la production. Cela aurait permis de garantir que la mise à jour était robuste, sécurisée et conforme aux meilleures pratiques, évitant ainsi les perturbations et les risques de sécurité potentiels rencontrés par environ 8.5 milliards d'appareils.
Analyse statique vs analyse dynamique.
Découvrez en quoi ils diffèrent et pourquoi chacun est important.
Les outils d'analyse statique de Parasoft sont conçus pour détecter un large éventail de problèmes pouvant entraîner des pannes logicielles. L'intégration de ces outils dans le pipeline d'intégration et de livraison continues (CI/CD) permet aux développeurs d'analyser automatiquement leur code pour détecter les problèmes potentiels à chaque modification. Cette approche proactive permet d’identifier :
La mise en œuvre des solutions de tests automatisés de Parasoft peut réduire considérablement le risque d'incidents tels que le problème de mise à jour CrowdStrike Falcon. Les principaux avantages comprennent :
L'incident de mise à jour CrowdStrike Falcon souligne l'importance de tests approfondis dans le développement de logiciels. Tirer parti de solutions de tests automatisés telles que Les outils d'analyse statique de Parasoft peut réduire considérablement le risque d’introduire des problèmes dans les mises à jour logicielles. Cela protège non seulement la réputation d’une entreprise, mais garantit également une expérience plus fluide aux utilisateurs. Sur le marché actuel, compétitif et soucieux de la sécurité, investir dans des solutions de test robustes n'est pas seulement une bonne pratique, c'est une nécessité.
Premiers pas avec l'analyse statique
« MISRA », « MISRA C » et le logo triangulaire sont des marques déposées de The MISRA Consortium Limited. ©The MISRA Consortium Limited, 2021. Tous droits réservés.