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
Servicios profesionales - Acelerar con experiencia
El equipo de servicios de estrategia de programas (PSS) de Secure Code Warriorle ayuda a crear, mejorar y optimizar su programa de codificación segura. Tanto si empieza de cero como si está perfeccionando su enfoque, nuestros expertos le proporcionarán orientación personalizada.
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.
Búsqueda: Aprendizaje líder en la industria para mantener a los desarrolladores por delante mitigando el riesgo.
Quests es una learning platform que ayuda a los desarrolladores a mitigar los riesgos de seguridad del software mediante la mejora de sus habilidades de codificación segura. Con rutas de aprendizaje curadas, desafíos prácticos y actividades interactivas, capacita a los desarrolladores para identificar y prevenir vulnerabilidades.
Recursos para empezar
Inyección indirecta y riesgos de seguridad de las herramientas de codificación agéntica
Cómo se engañó a un agente de codificación para que escribiera código propenso a inyecciones SQL, instalara herramientas de shell y tal vez incluso acechara a su usuario.
La Década de los Defensores: Secure Code Warrior Cumple Diez Años
Secure Code Warriorha permanecido unido, dirigiendo el barco a través de cada lección, triunfo y contratiempo durante toda una década. Estamos creciendo y listos para afrontar nuestro próximo capítulo, SCW 2.0, como líderes en gestión de riesgos para desarrolladores.
10 predicciones clave: Secure Code Warrior sobre la influencia de la IA y el diseño seguro en 2025
Las organizaciones se enfrentan a decisiones difíciles sobre el uso de la IA para apoyar la productividad a largo plazo, la sostenibilidad y el retorno de la inversión en seguridad. En los últimos años nos ha quedado claro que la IA nunca sustituirá por completo el papel del desarrollador. Desde las asociaciones entre IA y desarrolladores hasta las crecientes presiones (y confusión) en torno a las expectativas de seguridad por diseño, echemos un vistazo más de cerca a lo que podemos esperar durante el próximo año.