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
Panorama de la gestión de riesgos de los promotores
La gestión de riesgos del desarrollador es un enfoque holístico y proactivo de la seguridad de las aplicaciones, centrado en quienes contribuyen al código y no en los bits y bytes de la propia capa de la aplicación.
Seguridad desde el diseño: Definición de las mejores prácticas, capacitación de los desarrolladores y evaluación comparativa de los resultados de la seguridad preventiva
En este documento de investigación, los cofundadores Secure Code Warrior , Pieter Danhieux y el Dr. Matias Madou, Ph.D., junto con los expertos colaboradores, Chris Inglis, ex Director Nacional Cibernético de EE.UU. (ahora Asesor Estratégico de Paladin Capital Group), y Devin Lynch, Director Senior, Paladin Global Institute, revelarán los hallazgos clave de más de veinte entrevistas en profundidad con líderes de seguridad empresarial, incluyendo CISOs, un VP de Seguridad de Aplicaciones y profesionales de seguridad de software.
Evaluación comparativa de las competencias en materia de seguridad: optimización del diseño seguro en la empresa
Encontrar datos significativos sobre el éxito de las iniciativas Secure-by-Design es notoriamente difícil. Los responsables de la seguridad de la información se enfrentan a menudo al reto de demostrar el rendimiento de la inversión (ROI) y el valor empresarial de las actividades de los programas de seguridad, tanto a nivel de las personas como de la empresa. Por no mencionar que a las empresas les resulta especialmente difícil obtener información sobre cómo se comparan sus organizaciones con los estándares actuales del sector. La Estrategia Nacional de Ciberseguridad del Presidente desafió a las partes interesadas a "adoptar la seguridad y la resiliencia desde el diseño". La clave para que las iniciativas de seguridad por diseño funcionen no es sólo dotar a los desarrolladores de las habilidades necesarias para garantizar un código seguro, sino también garantizar a los reguladores que esas habilidades están en su lugar. En esta presentación, compartimos una miríada de datos cualitativos y cuantitativos, derivados de múltiples fuentes primarias, incluidos puntos de datos internos recogidos de más de 250.000 desarrolladores, opiniones de clientes basadas en datos y estudios públicos. Aprovechando esta agregación de puntos de datos, pretendemos comunicar una visión del estado actual de las iniciativas Secure-by-Design en múltiples verticales. El informe detalla por qué este espacio está actualmente infrautilizado, el impacto significativo que un programa de mejora de las competencias puede tener en la mitigación de los riesgos de ciberseguridad y el potencial para eliminar categorías de vulnerabilidades de un código base.
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.
Recursos para empezar
Revelado: Cómo define el sector cibernético la seguridad por diseño
En nuestro último libro blanco, nuestros cofundadores, Pieter Danhieux y el doctor Matias Madou, se sentaron con más de veinte líderes de seguridad empresarial, incluidos CISO, líderes de AppSec y profesionales de la seguridad, para averiguar las piezas clave de este rompecabezas y descubrir la realidad detrás del movimiento Secure by Design. Se trata de una ambición compartida por todos los equipos de seguridad, pero no de un libro de jugadas compartido.
¿Vibe Coding va a convertir tu código en una fiesta de fraternidad?
Vibe Coding es como una fiesta de fraternidad universitaria, y la IA es la pieza central de todos los festejos, el barril. Es muy divertido dar rienda suelta a la creatividad y ver adónde te lleva tu imaginación, pero después de unas cuantas borracheras, beber (o usar IA) con moderación es, sin duda, la solución más segura a largo plazo.