Blog

Les problèmes de sécurité de Huawei au Royaume-Uni démontrent la nécessité d'un codage sécurisé.

June 6, 2019
Pieter Danhieux
Bus rouge à impériale sur un pont, avec Big Ben et le Parlement de Londres en arrière-plan.

Publié initialement dans Information Age. Il s'agit d'une version mise à jour qui rectifie les informations concernant le support de sécurité continu de Wind River Systems pour son système d'exploitation temps réel, VxWorks.

Un rapport récent du centre d'évaluation de la cybersécurité de Huawei au Royaume-Uni a identifié des problèmes de sécurité majeurs dans les processus d'ingénierie logicielle de Huawei. Bien qu'une grande partie de l'actualité autour de ce rapport critique se concentre sur des problèmes non résolus de l'année précédente, le problème le plus dangereux et le plus négligé est l'absence manifeste de directives et de pratiques de codage sécurisé chez Huawei. Mais c'est un problème qui peut être résolu.

Pour le géant chinois des télécoms Huawei, la situation ne cesse de se dégrader. Alors que les États-Unis ont purement et simplement interdit à l'entreprise de travailler sur de futurs projets gouvernementaux, le Royaume-Uni a mieux accepté le fait que bon nombre des failles sous-jacentes des appareils et du code de Huawei sont réparables. Le Royaume-Uni a créé le Huawei Cyber Security Evaluation Centre (HCSEC) en 2010 pour évaluer et traiter les problèmes de sécurité des produits Huawei, et pour produire un rapport annuel à ce sujet. Cependant, le rapport de cette année est particulièrement accablant.

L'essentiel de l'attention médiatique portée au rapport 2019 du HCSEC a trait au fait que presque aucune faille de sécurité de l'année précédente n'a été corrigée. Cela inclut l'utilisation d'une ancienne version du système d'exploitation temps réel VxWorks de Wind River, qui arrivera bientôt en fin de vie. Huawei a promis de résoudre ce problème (et bénéficiera d'un support continu de la part de Wind River Systems), mais il reste un composant central d'une grande partie de l'infrastructure télécom britannique.

Un facteur critique qui semble avoir été négligé par la plupart des médias grand public équivaut à ce qui pourrait être un processus fondamentalement défaillant, existant au sein du développement et du déploiement de nouveaux logiciels et matériels par l'entreprise. Le rapport note des « problèmes techniques significatifs » dans la manière dont Huawei gère ses méthodes d'ingénierie internes.

Examinons quelques exemples de ces problèmes techniques décrits dans le rapport. Il faut dire que l'une des meilleures initiatives de Huawei a été de créer des directives de codage sécurisé pour aider ses ingénieurs et programmeurs à déployer du nouveau code. Ces directives couvrent un large éventail de bonnes pratiques, comme l'utilisation de versions sûres connues de fonctions système et de processus issus de bibliothèques de confiance, et certainement pas de variantes présentant des vulnérabilités connues. C'est une excellente chose en théorie, mais une évaluation réelle d'un système de production Huawei au Royaume-Uni a révélé que ces directives n'étaient jamais communiquées aux programmeurs, ignorées par eux ou tout simplement non appliquées.

Le rapport s'est penché sur des fonctions spécifiques de gestion de la mémoire au sein d'applications publiques, en l'occurrence un ensemble de forums de discussion où les utilisateurs étaient invités, en tant que fonction du programme, à ajouter des entrées. Étant donné que les zones de saisie utilisateur ne devraient jamais être considérées comme « de confiance », il était attendu que ces zones ne contiennent que du code sécurisé, conformément aux directives internes de Huawei. Plus précisément, les testeurs ont examiné l'invocation directe des fonctions de gestion de la mémoire memcpy(), strcpy() et sprintf() au sein de ces systèmes de production, connues pour pouvoir entraîner de graves problèmes de sécurité comme le dépassement de tampon depuis 1988 .

De manière choquante, il y avait 5 000 invocations directes de 17 fonctions memcpy() sûres connues, mais aussi 600 utilisations de 12 variantes non sécurisées. Le ratio était à peu près le même pour les autres fonctions. Il y avait 1 400 invocations strcpy() sûres, mais aussi 400 mauvaises avec des vulnérabilités connues. Et 2 000 utilisations sûres de sprintf() ont été trouvées, contre 200 non sécurisées. Bien qu'il soit positif que la plupart des utilisations de ces fonctions soient sûres, cela laisse environ 20 % du code global vulnérable à des attaques connues. Il s'agit d'une surface d'attaque énorme, et cela ne prend en compte que les invocations directes des trois fonctions de gestion de la mémoire, et non les instances de leur utilisation indirecte via des pointeurs de fonction. Bien que les auditeurs n'aient examiné que ces fonctions spécifiques, il est peu probable que les trois fonctions de gestion de la mémoire choisies soient les seules à poser problème.

S'il est louable que Huawei ait créé un guide des meilleures pratiques pour ses programmeurs, il est clair qu'il faut aller plus loin. Définir les attentes en matière de sécurité est une première étape, mais elles ne sont efficaces que si ces directives sont activement suivies et connues de l'équipe de développement. Huawei pourrait faire des progrès significatifs en s'engageant à former efficacement ses programmeurs, et pas seulement en survolant les bases de leurs directives internes. Ils doivent franchir le pas supplémentaire en démontrant comment coder de manière plus sécurisée en général. Les développeurs doivent être suffisamment formés aux bons et aux mauvais modèles de codage et avoir la responsabilité de mettre en pratique ce que leur entreprise prêche, à chaque fois.

Bon nombre des problèmes de codage spécifiques décrits dans le rapport du HCSEC sont traités et appliqués dans le cadre de la plateforme Secure Code Warrior, qui forme les programmeurs et les équipes de cybersécurité à toujours déployer et maintenir un code sécurisé. Des concepts tels que ne jamais faire confiance aux entrées utilisateur, toujours extraire des fonctions de bibliothèques établies, assainir toutes les entrées avant de les transmettre à un serveur et bien d'autres pratiques de codage sécurisé sont constamment démontrés au sein de la plateforme. Nous examinons également des vulnérabilités très spécifiques et montrons, étape par étape, comment les éviter et les atténuer.

En plus d'une formation qualifiée, des entreprises comme Huawei pourraient utiliser des solutions DevSecOps. Cela ajoute un coaching en temps réel directement dans l'IDE, en utilisant des recettes de codage sécurisé personnalisées selon les directives de sécurité de l'entreprise, agissant comme le sous-chef du développeur dans la « cuisine » du codage pendant qu'il écrit son code. Une telle approche pourrait aider les programmeurs de Huawei, quel que soit leur niveau de compétence, à écrire un meilleur code et à reconnaître les vulnérabilités potentielles, tout en permettant aux experts en sécurité de Huawei de créer un « livre de recettes » conforme à leurs politiques.

Une leçon essentielle à tirer des difficultés de Huawei est que la création de directives de codage sécurisé ne sert à rien si les programmeurs ne les connaissent pas, ou ne savent tout simplement pas comment suivre de bonnes pratiques. Dans ce cas, les directives internes se sont révélées être le zhilaohu de Huawei ; ce que l'Occident appellerait un tigre de papier'. C'était un document avec beaucoup de style, mais sans substance. Pour lui donner du mordant, il faudrait des outils pratiques adaptés et un véritable programme de formation, axé sur la pratique et le développement continu des compétences.

Slogan

Gouvernez le développement assisté par IA avant la mise en production

Évaluez les risques liés à l'IA, appliquez des politiques de codage sécurisé dès le commit et accélérez la livraison sécurisée tout au long de votre cycle de développement.

Réserver une démo
Bibliothèque de ressources

Explorer plus d'articles

Accédez à du contenu expert sur le codage sécurisé, la gouvernance de l'IA et la gestion des risques logiciels.

tout parcourir
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Supercharged Security Awareness: How Tournaments are Inspiring Developers at Erste Group

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Suspendisse varius enim in eros elementum tristique. Duis cursus, mi quis viverra ornare, eros dolor interdum nulla, ut commodo diam libero vitae erat. Aenean faucibus nibh et justo cursus id rutrum lorem imperdiet. Nunc ut sem vitae risus tristique posuere.

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Security as culture: How Blue Prism cultivates world-class secure developers

Learn how Blue Prism, the global leader in intelligent automation for the enterprise, used Secure Code Warrior's agile learning platform to create a security-first culture with their developers, achieve their business goals, and ship secure code at speed

En savoir plus
Étude de cas
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Une culture de la sécurité : comment Sage a bâti son programme de champions

Découvrez comment Sage a renforcé sa sécurité grâce à une approche flexible axée sur les relations humaines, formant plus de 200 champions de la sécurité et obtenant une réduction mesurable des risques.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Mois de la sensibilisation à la cybersécurité 2026 : comprendre la sécurité de l'IA est essentiel à la défense de l'entreprise

Nous avons atteint un point où la plupart des grandes entreprises d'IA ont publiquement appelé à un ralentissement mondial du développement de l'IA afin de permettre aux garde-fous de sécurité de rattraper leur retard. Pourtant, la réalité est que de graves problèmes de sécurité se sont déjà concrétisés. Cela place d'innombrables responsables de la sécurité et équipes de direction dans une situation d'urgence, alors que les coûts financiers et les risques liés à la mise en œuvre de l'IA ne cessent de s'accumuler.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Levier 8 : Valoriser votre programme

Un programme de codage sécurisé a besoin de plus qu'un contenu de qualité pour réussir. Le levier 8 montre comment l'image de marque transforme la participation en une expérience convoitée, axée sur le statut.

En savoir plus
Blog
Libellé du filtre
Ceci est un texte à l'intérieur d'un bloc div.

Chaque employé est désormais en première ligne de la cybersécurité IA

Le paysage technologique des entreprises évolue à une vitesse que peu avaient anticipée avant qu'il ne soit trop tard. Nous avons officiellement franchi le cap du code écrit par l'humain et de l'assistance basique par copilote pour entrer dans l'ère du cycle de vie de développement agentique (ADLC). Si les agents IA autonomes promettent une efficacité sans précédent dans de multiples fonctions, ils apportent également une toute nouvelle catégorie de risques en matière de sécurité et de réglementation.

En savoir plus

Sécurisez le développement piloté par l'IA avant le déploiement

Identifiez les risques de développement, appliquez vos politiques et prévenez les vulnérabilités tout au long du cycle de vie de vos logiciels.

Réserver une démo
trust score
Aucun élément trouvé.