
Los problemas de seguridad de Huawei en el Reino Unido demuestran la necesidad de una codificación segura
Publicado originalmente en La era de la información. Esta es una versión actualizada que corrige el posicionamiento en torno al soporte de seguridad actual 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ó importantes problemas de seguridad dentro de los procesos de ingeniería de software de Huawei. Aunque gran parte de las noticias sobre este informe crítico se centran en los problemas no resueltos del año anterior, el problema más peligroso y que se pasa por alto es la clara falta de directrices y prácticas de codificación seguras empleadas por Huawei. Pero es un problema que puede solucionarse.
Las noticias, para el gigante chino de las telecomunicaciones Huawei, siguen empeorando. Mientras que Estados Unidos ha prohibido rotundamente que la empresa trabaje en el futuro para el gobierno, el Reino Unido ha aceptado mejor el hecho de que muchos de los fallos subyacentes en los dispositivos y el código de Huawei son corregibles. El Reino Unido creó en 2010 el Centro de Evaluación de la Ciberseguridad de Huawei (HCSEC) para evaluar y abordar los problemas de seguridad de los productos de Huawei, y elaborar un informe anual sobre ellos. Sin embargo, este año el informe ha sido especialmente condenatorio.
Gran parte de la atención sobre el informe HCSEC de 2019 en las noticias ha estado relacionada 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 más antigua del sistema operativo en tiempo real VxWorks de Wind River que pronto llegará al final de su vida útil. Huawei ha prometido arreglar ese problema (y recibirá apoyo continuo de Wind River Systems), pero sigue siendo un componente básico en gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayor parte de la prensa generalista consiste en lo que podría ser un proceso fundamentalmente roto, existente dentro del desarrollo y despliegue de nuevo software y hardware de la compañía. El informe señala "problemas técnicos significativos" en la forma en que Huawei maneja sus métodos de ingeniería interna.
Veamos algunos ejemplos de esos problemas técnicos señalados en el informe. Hay que decir que una de las mejores cosas que ha hecho Huawei ha sido crear unas directrices de codificación segura para ayudar a sus ingenieros y programadores a desplegar nuevo código. Esas directrices abarcan una amplia gama de buenas prácticas, como el uso de versiones seguras conocidas de funciones y procesos del sistema procedentes de bibliotecas de confianza y, desde luego, no de variantes con alguna vulnerabilidad conocida. En teoría, es algo estupendo, pero una evaluación en el mundo real de un sistema de producción de Huawei en el Reino Unido descubrió que esas directrices nunca se comunicaban a los programadores, eran ignoradas por ellos o simplemente no se aplicaban.
El informe examinó funciones específicas de manejo de memoria dentro de aplicaciones de cara al público, en este caso un conjunto de tableros de mensajes donde se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas de entrada de los usuarios nunca deben ser tratadas como "de confianza", se esperaba que esas áreas contuvieran sólo código seguro, según las directrices internas de Huawei. En concreto, los encargados de las pruebas examinaron la invocación directa de las funciones de manejo de memoria memcpy(), strcpy() y sprintf() dentro de esos sistemas de producción, conocidas por provocar potencialmente graves problemas de seguridad como el desbordamiento del búfer desde 1988.
Sorprendentemente, hubo 5.000 invocaciones directas de 17 funciones seguras conocidas de memcpy(), pero también 600 usos de 12 variantes inseguras. La proporción es prácticamente la misma con las demás funciones. Hubo 1.400 invocaciones seguras de strcpy(), pero también 400 malas con vulnerabilidades conocidas. Y se encontraron 2.000 usos seguros de sprintf() frente a 200 inseguros. Aunque es bueno que la mayoría de los usos de esas funciones fueran seguros, eso sigue dejando un 20% del código total vulnerable a ataques conocidos. Se trata de una enorme superficie de ataque, y además sólo tiene en cuenta las invocaciones directas de las tres funciones de manejo de memoria, no los casos de su uso indirecto a través de punteros de función. Aunque los auditores sólo examinaron esas funciones específicas, es poco probable que las tres funciones de manejo de memoria elegidas sean las únicas con problemas.
Aunque es bueno que Huawei haya creado una guía de buenas prácticas para sus programadores, está claro que hay que hacer más. Es un paso para definir las expectativas de seguridad, pero sólo son efectivas si esas directrices se siguen activamente y son conocidas por la cohorte de desarrollo. Huawei podría dar pasos importantes en la mejora de su seguridad comprometiéndose a formar a sus programadores de forma eficaz, y no limitándose a dar las nociones básicas sobre cómo seguir sus directrices internas de Huawei. Deben dar un paso más para demostrar cómo codificar de forma más segura en general. Los programadores deben recibir una formación suficiente sobre los patrones de codificación buenos (seguros) y malos (inseguros) y tener la responsabilidad de practicar lo que su empresa predica, en todo momento.
Muchos de los problemas específicos de codificación señalados en el informe HCSEC se abordan y se aplican como parte de la Secure Code Warrior que capacita a los programadores y a los equipos de ciberseguridad para desplegar y mantener siempre un código seguro. Conceptos como no confiar nunca en la entrada del usuario, extraer siempre funciones de bibliotecas establecidas, sanear toda la entrada antes de pasarla a un servidor y muchas otras prácticas de codificación seguras se demuestran constantemente dentro de la plataforma. También se analizan vulnerabilidades muy específicas y se muestra, paso a paso, cómo evitarlas y mitigarlas.
Además de la formación especializada, las empresas como Huawei podrían hacer uso de las soluciones DevSecOps. Estas soluciones añaden 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, actuando como el ayudante del desarrollador en la "cocina" de la codificación mientras escribe su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor el código y reconocer las posibles vulnerabilidades, al tiempo que permite a los expertos en seguridad de Huawei crear un "libro de cocina" de recetas que se adhieren a sus políticas y ayudan a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que la creación de directrices 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 de buenas prácticas internas resultaron ser el propio zhilaohu de Huawei; lo que en Occidente se llamaría "un tigre de papel". Era un documento con mucho estilo, pero sin sustancia. Para dotarlo de un contenido real se necesitarían las herramientas prácticas adecuadas y un programa de formación real, que adoptara un enfoque práctico y creara conocimientos y habilidades continuas.


Un reciente informe del Centro de Evaluación de la Ciberseguridad de Huawei, del Reino Unido, ha detectado importantes problemas de seguridad en los procesos de ingeniería de software de Huawei. Pero es un problema que puede solucionarse.
Director General, Presidente y Cofundador

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDirector General, Presidente y Cofundador
Pieter Danhieux es un experto en seguridad mundialmente reconocido, con más de 12 años de experiencia como consultor de seguridad y 8 años como instructor principal de SANS enseñando técnicas ofensivas sobre cómo atacar y evaluar organizaciones, sistemas y personas en busca de debilidades de seguridad. En 2016, fue reconocido como una de las personas más cool de la tecnología en Australia (Business Insider), galardonado como Profesional de Seguridad Cibernética del Año (AISA - Asociación Australiana de Seguridad de la Información) y tiene certificaciones GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.


Publicado originalmente en La era de la información. Esta es una versión actualizada que corrige el posicionamiento en torno al soporte de seguridad actual 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ó importantes problemas de seguridad dentro de los procesos de ingeniería de software de Huawei. Aunque gran parte de las noticias sobre este informe crítico se centran en los problemas no resueltos del año anterior, el problema más peligroso y que se pasa por alto es la clara falta de directrices y prácticas de codificación seguras empleadas por Huawei. Pero es un problema que puede solucionarse.
Las noticias, para el gigante chino de las telecomunicaciones Huawei, siguen empeorando. Mientras que Estados Unidos ha prohibido rotundamente que la empresa trabaje en el futuro para el gobierno, el Reino Unido ha aceptado mejor el hecho de que muchos de los fallos subyacentes en los dispositivos y el código de Huawei son corregibles. El Reino Unido creó en 2010 el Centro de Evaluación de la Ciberseguridad de Huawei (HCSEC) para evaluar y abordar los problemas de seguridad de los productos de Huawei, y elaborar un informe anual sobre ellos. Sin embargo, este año el informe ha sido especialmente condenatorio.
Gran parte de la atención sobre el informe HCSEC de 2019 en las noticias ha estado relacionada 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 más antigua del sistema operativo en tiempo real VxWorks de Wind River que pronto llegará al final de su vida útil. Huawei ha prometido arreglar ese problema (y recibirá apoyo continuo de Wind River Systems), pero sigue siendo un componente básico en gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayor parte de la prensa generalista consiste en lo que podría ser un proceso fundamentalmente roto, existente dentro del desarrollo y despliegue de nuevo software y hardware de la compañía. El informe señala "problemas técnicos significativos" en la forma en que Huawei maneja sus métodos de ingeniería interna.
Veamos algunos ejemplos de esos problemas técnicos señalados en el informe. Hay que decir que una de las mejores cosas que ha hecho Huawei ha sido crear unas directrices de codificación segura para ayudar a sus ingenieros y programadores a desplegar nuevo código. Esas directrices abarcan una amplia gama de buenas prácticas, como el uso de versiones seguras conocidas de funciones y procesos del sistema procedentes de bibliotecas de confianza y, desde luego, no de variantes con alguna vulnerabilidad conocida. En teoría, es algo estupendo, pero una evaluación en el mundo real de un sistema de producción de Huawei en el Reino Unido descubrió que esas directrices nunca se comunicaban a los programadores, eran ignoradas por ellos o simplemente no se aplicaban.
El informe examinó funciones específicas de manejo de memoria dentro de aplicaciones de cara al público, en este caso un conjunto de tableros de mensajes donde se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas de entrada de los usuarios nunca deben ser tratadas como "de confianza", se esperaba que esas áreas contuvieran sólo código seguro, según las directrices internas de Huawei. En concreto, los encargados de las pruebas examinaron la invocación directa de las funciones de manejo de memoria memcpy(), strcpy() y sprintf() dentro de esos sistemas de producción, conocidas por provocar potencialmente graves problemas de seguridad como el desbordamiento del búfer desde 1988.
Sorprendentemente, hubo 5.000 invocaciones directas de 17 funciones seguras conocidas de memcpy(), pero también 600 usos de 12 variantes inseguras. La proporción es prácticamente la misma con las demás funciones. Hubo 1.400 invocaciones seguras de strcpy(), pero también 400 malas con vulnerabilidades conocidas. Y se encontraron 2.000 usos seguros de sprintf() frente a 200 inseguros. Aunque es bueno que la mayoría de los usos de esas funciones fueran seguros, eso sigue dejando un 20% del código total vulnerable a ataques conocidos. Se trata de una enorme superficie de ataque, y además sólo tiene en cuenta las invocaciones directas de las tres funciones de manejo de memoria, no los casos de su uso indirecto a través de punteros de función. Aunque los auditores sólo examinaron esas funciones específicas, es poco probable que las tres funciones de manejo de memoria elegidas sean las únicas con problemas.
Aunque es bueno que Huawei haya creado una guía de buenas prácticas para sus programadores, está claro que hay que hacer más. Es un paso para definir las expectativas de seguridad, pero sólo son efectivas si esas directrices se siguen activamente y son conocidas por la cohorte de desarrollo. Huawei podría dar pasos importantes en la mejora de su seguridad comprometiéndose a formar a sus programadores de forma eficaz, y no limitándose a dar las nociones básicas sobre cómo seguir sus directrices internas de Huawei. Deben dar un paso más para demostrar cómo codificar de forma más segura en general. Los programadores deben recibir una formación suficiente sobre los patrones de codificación buenos (seguros) y malos (inseguros) y tener la responsabilidad de practicar lo que su empresa predica, en todo momento.
Muchos de los problemas específicos de codificación señalados en el informe HCSEC se abordan y se aplican como parte de la Secure Code Warrior que capacita a los programadores y a los equipos de ciberseguridad para desplegar y mantener siempre un código seguro. Conceptos como no confiar nunca en la entrada del usuario, extraer siempre funciones de bibliotecas establecidas, sanear toda la entrada antes de pasarla a un servidor y muchas otras prácticas de codificación seguras se demuestran constantemente dentro de la plataforma. También se analizan vulnerabilidades muy específicas y se muestra, paso a paso, cómo evitarlas y mitigarlas.
Además de la formación especializada, las empresas como Huawei podrían hacer uso de las soluciones DevSecOps. Estas soluciones añaden 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, actuando como el ayudante del desarrollador en la "cocina" de la codificación mientras escribe su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor el código y reconocer las posibles vulnerabilidades, al tiempo que permite a los expertos en seguridad de Huawei crear un "libro de cocina" de recetas que se adhieren a sus políticas y ayudan a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que la creación de directrices 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 de buenas prácticas internas resultaron ser el propio zhilaohu de Huawei; lo que en Occidente se llamaría "un tigre de papel". Era un documento con mucho estilo, pero sin sustancia. Para dotarlo de un contenido real se necesitarían las herramientas prácticas adecuadas y un programa de formación real, que adoptara un enfoque práctico y creara conocimientos y habilidades continuas.

Publicado originalmente en La era de la información. Esta es una versión actualizada que corrige el posicionamiento en torno al soporte de seguridad actual 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ó importantes problemas de seguridad dentro de los procesos de ingeniería de software de Huawei. Aunque gran parte de las noticias sobre este informe crítico se centran en los problemas no resueltos del año anterior, el problema más peligroso y que se pasa por alto es la clara falta de directrices y prácticas de codificación seguras empleadas por Huawei. Pero es un problema que puede solucionarse.
Las noticias, para el gigante chino de las telecomunicaciones Huawei, siguen empeorando. Mientras que Estados Unidos ha prohibido rotundamente que la empresa trabaje en el futuro para el gobierno, el Reino Unido ha aceptado mejor el hecho de que muchos de los fallos subyacentes en los dispositivos y el código de Huawei son corregibles. El Reino Unido creó en 2010 el Centro de Evaluación de la Ciberseguridad de Huawei (HCSEC) para evaluar y abordar los problemas de seguridad de los productos de Huawei, y elaborar un informe anual sobre ellos. Sin embargo, este año el informe ha sido especialmente condenatorio.
Gran parte de la atención sobre el informe HCSEC de 2019 en las noticias ha estado relacionada 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 más antigua del sistema operativo en tiempo real VxWorks de Wind River que pronto llegará al final de su vida útil. Huawei ha prometido arreglar ese problema (y recibirá apoyo continuo de Wind River Systems), pero sigue siendo un componente básico en gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayor parte de la prensa generalista consiste en lo que podría ser un proceso fundamentalmente roto, existente dentro del desarrollo y despliegue de nuevo software y hardware de la compañía. El informe señala "problemas técnicos significativos" en la forma en que Huawei maneja sus métodos de ingeniería interna.
Veamos algunos ejemplos de esos problemas técnicos señalados en el informe. Hay que decir que una de las mejores cosas que ha hecho Huawei ha sido crear unas directrices de codificación segura para ayudar a sus ingenieros y programadores a desplegar nuevo código. Esas directrices abarcan una amplia gama de buenas prácticas, como el uso de versiones seguras conocidas de funciones y procesos del sistema procedentes de bibliotecas de confianza y, desde luego, no de variantes con alguna vulnerabilidad conocida. En teoría, es algo estupendo, pero una evaluación en el mundo real de un sistema de producción de Huawei en el Reino Unido descubrió que esas directrices nunca se comunicaban a los programadores, eran ignoradas por ellos o simplemente no se aplicaban.
El informe examinó funciones específicas de manejo de memoria dentro de aplicaciones de cara al público, en este caso un conjunto de tableros de mensajes donde se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas de entrada de los usuarios nunca deben ser tratadas como "de confianza", se esperaba que esas áreas contuvieran sólo código seguro, según las directrices internas de Huawei. En concreto, los encargados de las pruebas examinaron la invocación directa de las funciones de manejo de memoria memcpy(), strcpy() y sprintf() dentro de esos sistemas de producción, conocidas por provocar potencialmente graves problemas de seguridad como el desbordamiento del búfer desde 1988.
Sorprendentemente, hubo 5.000 invocaciones directas de 17 funciones seguras conocidas de memcpy(), pero también 600 usos de 12 variantes inseguras. La proporción es prácticamente la misma con las demás funciones. Hubo 1.400 invocaciones seguras de strcpy(), pero también 400 malas con vulnerabilidades conocidas. Y se encontraron 2.000 usos seguros de sprintf() frente a 200 inseguros. Aunque es bueno que la mayoría de los usos de esas funciones fueran seguros, eso sigue dejando un 20% del código total vulnerable a ataques conocidos. Se trata de una enorme superficie de ataque, y además sólo tiene en cuenta las invocaciones directas de las tres funciones de manejo de memoria, no los casos de su uso indirecto a través de punteros de función. Aunque los auditores sólo examinaron esas funciones específicas, es poco probable que las tres funciones de manejo de memoria elegidas sean las únicas con problemas.
Aunque es bueno que Huawei haya creado una guía de buenas prácticas para sus programadores, está claro que hay que hacer más. Es un paso para definir las expectativas de seguridad, pero sólo son efectivas si esas directrices se siguen activamente y son conocidas por la cohorte de desarrollo. Huawei podría dar pasos importantes en la mejora de su seguridad comprometiéndose a formar a sus programadores de forma eficaz, y no limitándose a dar las nociones básicas sobre cómo seguir sus directrices internas de Huawei. Deben dar un paso más para demostrar cómo codificar de forma más segura en general. Los programadores deben recibir una formación suficiente sobre los patrones de codificación buenos (seguros) y malos (inseguros) y tener la responsabilidad de practicar lo que su empresa predica, en todo momento.
Muchos de los problemas específicos de codificación señalados en el informe HCSEC se abordan y se aplican como parte de la Secure Code Warrior que capacita a los programadores y a los equipos de ciberseguridad para desplegar y mantener siempre un código seguro. Conceptos como no confiar nunca en la entrada del usuario, extraer siempre funciones de bibliotecas establecidas, sanear toda la entrada antes de pasarla a un servidor y muchas otras prácticas de codificación seguras se demuestran constantemente dentro de la plataforma. También se analizan vulnerabilidades muy específicas y se muestra, paso a paso, cómo evitarlas y mitigarlas.
Además de la formación especializada, las empresas como Huawei podrían hacer uso de las soluciones DevSecOps. Estas soluciones añaden 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, actuando como el ayudante del desarrollador en la "cocina" de la codificación mientras escribe su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor el código y reconocer las posibles vulnerabilidades, al tiempo que permite a los expertos en seguridad de Huawei crear un "libro de cocina" de recetas que se adhieren a sus políticas y ayudan a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que la creación de directrices 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 de buenas prácticas internas resultaron ser el propio zhilaohu de Huawei; lo que en Occidente se llamaría "un tigre de papel". Era un documento con mucho estilo, pero sin sustancia. Para dotarlo de un contenido real se necesitarían las herramientas prácticas adecuadas y un programa de formación real, que adoptara un enfoque práctico y creara conocimientos y habilidades continuas.

Haga clic en el siguiente enlace y descargue el PDF de este recurso.
Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Ver el informeReservar una demostraciónDirector General, Presidente y Cofundador
Pieter Danhieux es un experto en seguridad mundialmente reconocido, con más de 12 años de experiencia como consultor de seguridad y 8 años como instructor principal de SANS enseñando técnicas ofensivas sobre cómo atacar y evaluar organizaciones, sistemas y personas en busca de debilidades de seguridad. En 2016, fue reconocido como una de las personas más cool de la tecnología en Australia (Business Insider), galardonado como Profesional de Seguridad Cibernética del Año (AISA - Asociación Australiana de Seguridad de la Información) y tiene certificaciones GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA.
Publicado originalmente en La era de la información. Esta es una versión actualizada que corrige el posicionamiento en torno al soporte de seguridad actual 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ó importantes problemas de seguridad dentro de los procesos de ingeniería de software de Huawei. Aunque gran parte de las noticias sobre este informe crítico se centran en los problemas no resueltos del año anterior, el problema más peligroso y que se pasa por alto es la clara falta de directrices y prácticas de codificación seguras empleadas por Huawei. Pero es un problema que puede solucionarse.
Las noticias, para el gigante chino de las telecomunicaciones Huawei, siguen empeorando. Mientras que Estados Unidos ha prohibido rotundamente que la empresa trabaje en el futuro para el gobierno, el Reino Unido ha aceptado mejor el hecho de que muchos de los fallos subyacentes en los dispositivos y el código de Huawei son corregibles. El Reino Unido creó en 2010 el Centro de Evaluación de la Ciberseguridad de Huawei (HCSEC) para evaluar y abordar los problemas de seguridad de los productos de Huawei, y elaborar un informe anual sobre ellos. Sin embargo, este año el informe ha sido especialmente condenatorio.
Gran parte de la atención sobre el informe HCSEC de 2019 en las noticias ha estado relacionada 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 más antigua del sistema operativo en tiempo real VxWorks de Wind River que pronto llegará al final de su vida útil. Huawei ha prometido arreglar ese problema (y recibirá apoyo continuo de Wind River Systems), pero sigue siendo un componente básico en gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayor parte de la prensa generalista consiste en lo que podría ser un proceso fundamentalmente roto, existente dentro del desarrollo y despliegue de nuevo software y hardware de la compañía. El informe señala "problemas técnicos significativos" en la forma en que Huawei maneja sus métodos de ingeniería interna.
Veamos algunos ejemplos de esos problemas técnicos señalados en el informe. Hay que decir que una de las mejores cosas que ha hecho Huawei ha sido crear unas directrices de codificación segura para ayudar a sus ingenieros y programadores a desplegar nuevo código. Esas directrices abarcan una amplia gama de buenas prácticas, como el uso de versiones seguras conocidas de funciones y procesos del sistema procedentes de bibliotecas de confianza y, desde luego, no de variantes con alguna vulnerabilidad conocida. En teoría, es algo estupendo, pero una evaluación en el mundo real de un sistema de producción de Huawei en el Reino Unido descubrió que esas directrices nunca se comunicaban a los programadores, eran ignoradas por ellos o simplemente no se aplicaban.
El informe examinó funciones específicas de manejo de memoria dentro de aplicaciones de cara al público, en este caso un conjunto de tableros de mensajes donde se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas de entrada de los usuarios nunca deben ser tratadas como "de confianza", se esperaba que esas áreas contuvieran sólo código seguro, según las directrices internas de Huawei. En concreto, los encargados de las pruebas examinaron la invocación directa de las funciones de manejo de memoria memcpy(), strcpy() y sprintf() dentro de esos sistemas de producción, conocidas por provocar potencialmente graves problemas de seguridad como el desbordamiento del búfer desde 1988.
Sorprendentemente, hubo 5.000 invocaciones directas de 17 funciones seguras conocidas de memcpy(), pero también 600 usos de 12 variantes inseguras. La proporción es prácticamente la misma con las demás funciones. Hubo 1.400 invocaciones seguras de strcpy(), pero también 400 malas con vulnerabilidades conocidas. Y se encontraron 2.000 usos seguros de sprintf() frente a 200 inseguros. Aunque es bueno que la mayoría de los usos de esas funciones fueran seguros, eso sigue dejando un 20% del código total vulnerable a ataques conocidos. Se trata de una enorme superficie de ataque, y además sólo tiene en cuenta las invocaciones directas de las tres funciones de manejo de memoria, no los casos de su uso indirecto a través de punteros de función. Aunque los auditores sólo examinaron esas funciones específicas, es poco probable que las tres funciones de manejo de memoria elegidas sean las únicas con problemas.
Aunque es bueno que Huawei haya creado una guía de buenas prácticas para sus programadores, está claro que hay que hacer más. Es un paso para definir las expectativas de seguridad, pero sólo son efectivas si esas directrices se siguen activamente y son conocidas por la cohorte de desarrollo. Huawei podría dar pasos importantes en la mejora de su seguridad comprometiéndose a formar a sus programadores de forma eficaz, y no limitándose a dar las nociones básicas sobre cómo seguir sus directrices internas de Huawei. Deben dar un paso más para demostrar cómo codificar de forma más segura en general. Los programadores deben recibir una formación suficiente sobre los patrones de codificación buenos (seguros) y malos (inseguros) y tener la responsabilidad de practicar lo que su empresa predica, en todo momento.
Muchos de los problemas específicos de codificación señalados en el informe HCSEC se abordan y se aplican como parte de la Secure Code Warrior que capacita a los programadores y a los equipos de ciberseguridad para desplegar y mantener siempre un código seguro. Conceptos como no confiar nunca en la entrada del usuario, extraer siempre funciones de bibliotecas establecidas, sanear toda la entrada antes de pasarla a un servidor y muchas otras prácticas de codificación seguras se demuestran constantemente dentro de la plataforma. También se analizan vulnerabilidades muy específicas y se muestra, paso a paso, cómo evitarlas y mitigarlas.
Además de la formación especializada, las empresas como Huawei podrían hacer uso de las soluciones DevSecOps. Estas soluciones añaden 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, actuando como el ayudante del desarrollador en la "cocina" de la codificación mientras escribe su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor el código y reconocer las posibles vulnerabilidades, al tiempo que permite a los expertos en seguridad de Huawei crear un "libro de cocina" de recetas que se adhieren a sus políticas y ayudan a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que la creación de directrices 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 de buenas prácticas internas resultaron ser el propio zhilaohu de Huawei; lo que en Occidente se llamaría "un tigre de papel". Era un documento con mucho estilo, pero sin sustancia. Para dotarlo de un contenido real se necesitarían las herramientas prácticas adecuadas y un programa de formación real, que adoptara un enfoque práctico y creara conocimientos y habilidades continuas.
Índice
Director General, Presidente y Cofundador

Secure Code Warrior está a disposición de su organización para ayudarle a proteger el código a lo largo de todo el ciclo de vida de desarrollo de software y crear una cultura en la que la ciberseguridad sea una prioridad. Tanto si es director de AppSec, desarrollador, CISO o cualquier persona implicada en la seguridad, podemos ayudar a su organización a reducir los riesgos asociados a un código inseguro.
Reservar una demostraciónDescargarRecursos para empezar
Temas y contenidos de la formación sobre código seguro
Nuestro contenido, líder en el sector, evoluciona constantemente para adaptarse al cambiante panorama del desarrollo de software teniendo en cuenta su función. Temas que cubren todo, desde IA a XQuery Injection, ofrecidos para una variedad de roles desde Arquitectos e Ingenieros a Product Managers y QA. Eche un vistazo a lo que ofrece nuestro catálogo de contenidos por tema y función.
Ley de Resiliencia Cibernética (CRA) Vías de aprendizaje alineadas
SCW apoya la preparación para la Ley de Resiliencia Cibernética (CRA) con misiones alineadas con la CRA y colecciones de aprendizaje conceptual que ayudan a los equipos de desarrollo a crear habilidades de diseño seguro, SDLC y codificación segura alineadas con los principios de desarrollo seguro de la CRA.
La Cámara de Comercio establece el estándar para la seguridad impulsada por desarrolladores a gran escala
Kamer van Koophandel comparte cómo ha integrado la codificación segura en el desarrollo diario mediante certificaciones basadas en roles, evaluaciones comparativas de Trust Score y una cultura de responsabilidad compartida en materia de seguridad.
Recursos para empezar
Cybermon ha vuelto: Missions contra el jefe IA Missions están disponibles bajo demanda.
Cybermon 2025 Beat the Boss ya está disponible durante todo el año en SCW. Implemente desafíos de seguridad avanzados de IA/LLM para fortalecer el desarrollo seguro de la IA a gran escala.
La IA puede escribir y revisar código, pero los humanos siguen siendo los responsables del riesgo.
El lanzamiento de Claude Code Security por parte de Anthropic marca un punto de inflexión decisivo entre el desarrollo de software asistido por IA y el rápido avance de nuestro enfoque de la ciberseguridad moderna.
Explicación de la Ley de Resiliencia Cibernética: qué significa para el desarrollo de software seguro desde el diseño
Descubra qué exige la Ley de Ciberresiliencia (CRA) de la UE, a quién se aplica y cómo pueden prepararse los equipos de ingeniería con prácticas de seguridad desde el diseño, prevención de vulnerabilidades y desarrollo de capacidades de los desarrolladores.
Facilitador 1: Criterios de éxito definidos y medibles
El facilitador 1 inicia nuestra serie de 10 partes titulada «Facilitadores del éxito» mostrando cómo vincular la codificación segura con resultados empresariales como la reducción del riesgo y la velocidad para la madurez a largo plazo de los programas.




%20(1).avif)
