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

Los problemas de seguridad de Huawei en el Reino Unido demuestran la necesidad de una codificación segura

Pieter Danhieux
Publié le 06 juin 2019
Dernière mise à jour le 6 mars 2026

Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.

Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.

Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.

Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.

Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.

Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.

El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .

Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.

Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.

Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.

Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.

Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

Veuillez consulter la ressource
Veuillez consulter la ressource

Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Sin embargo, es un problema que se puede solucionar.

Souhaitez-vous en savoir davantage ?

Directeur général, président et cofondateur

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur 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é.

Veuillez réserver une démonstration.
Partager sur :
marques LinkedInSocialLogo x
auteur
Pieter Danhieux
Publié le 06 juin 2019

Directeur général, président et cofondateur

Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Partager sur :
marques LinkedInSocialLogo x

Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.

Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.

Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.

Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.

Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.

Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.

El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .

Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.

Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.

Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.

Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.

Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

Veuillez consulter la ressource
Veuillez consulter la ressource

Veuillez remplir le formulaire suivant pour télécharger le rapport.

Nous souhaiterions obtenir votre autorisation pour vous envoyer des informations sur nos produits 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.

Envoyer
icône de réussite scw
icône d'erreur scw
Pour envoyer le formulaire, veuillez activer les cookies « d'analyse ». N'hésitez pas à les désactiver à nouveau une fois que vous avez terminé.

Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.

Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.

Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.

Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.

Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.

Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.

El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .

Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.

Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.

Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.

Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.

Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

Veuillez consulter le webinaire
Commencer
En savoir plus

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

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur 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é.

Veuillez consulter le rapportVeuillez réserver une démonstration.
Télécharger le PDF
Veuillez consulter la ressource
Partager sur :
marques LinkedInSocialLogo x
Souhaitez-vous en savoir davantage ?

Partager sur :
marques LinkedInSocialLogo x
auteur
Pieter Danhieux
Publié le 06 juin 2019

Directeur général, président et cofondateur

Pieter Danhieux est un expert en sécurité mondialement reconnu, avec plus de 12 ans d'expérience en tant que consultant en sécurité et 8 ans en tant qu'instructeur principal pour SANS, enseignant des techniques offensives sur la façon de cibler et d'évaluer les organisations, les systèmes et les individus pour les faiblesses de sécurité. En 2016, il a été reconnu comme l'une des personnes les plus cool d'Australie dans le domaine de la technologie (Business Insider), a reçu le prix du professionnel de la cybersécurité de l'année (AISA - Australian Information Security Association) et détient les certifications GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.

Partager sur :
marques LinkedInSocialLogo x

Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.

Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.

Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.

Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.

Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.

Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.

El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .

Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.

Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.

Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.

Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.

Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

Table des matières

Télécharger le PDF
Veuillez consulter la ressource
Souhaitez-vous en savoir davantage ?

Directeur général, président et cofondateur

En savoir plus

Secure Code Warrior là pour aider votre organisation à protéger le code tout au long du cycle de vie du développement logiciel et à créer une culture où la cybersécurité est une priorité. Que vous soyez administrateur 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é.

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

Ressources pour débuter

Plus de publications
Centre de ressources

Ressources pour débuter

Plus de publications