
Los problemas de seguridad de Huawei en el Reino Unido demuestran la necesidad de una codificación segura
Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.
Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.
Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.
Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.
Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.
El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .
Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.
Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.
Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.
Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.


Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Sin embargo, es un problema que se puede solucionar.
최고 경영자, 회장 겸 공동 설립자

Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.
데모 예약하기최고 경영자, 회장 겸 공동 설립자
피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.


Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.
Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.
Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.
Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.
Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.
El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .
Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.
Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.
Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.
Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.
Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.
Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.
Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.
Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.
El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .
Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.
Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.
Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.
Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.

아래 링크를 클릭하고 이 자료의 PDF를 다운로드하세요.
Secure Code Warrior 귀사의 조직이 소프트웨어 개발 라이프사이클 전반에 걸쳐 코드를 보호하고 사이버보안을 최우선으로 하는 문화를 조성하도록 Secure Code Warrior . AppSec 관리자, 개발자, CISO 또는 보안 관련 담당자라면 누구든, 저희는 귀사의 조직이 안전하지 않은 코드와 관련된 위험을 줄일 수 있도록 돕습니다.
보고서 보기데모 예약하기최고 경영자, 회장 겸 공동 설립자
피터 댄히외는 보안 컨설턴트로 12년 이상 경력을 쌓았으며, 조직, 시스템 및 개인의 보안 취약점을 타겟팅하고 평가하는 방법에 대한 공격 기법을 가르치는 SANS의 수석 강사로 8년 이상 활동한 세계적으로 인정받는 보안 전문가입니다. 2016년에는 호주에서 가장 멋진 기술자 중 한 명으로 선정(비즈니스 인사이더)되었고, 올해의 사이버 보안 전문가(AISA - 호주 정보 보안 협회)로 선정되었으며, GSE, CISSP, GCIH, GCFA, GSEC, GPEN, GWAPT, GCIA 자격증을 보유하고 있습니다.
Publicado originalmente en Era de la información. Esta es una versión actualizada que corrige la posición en torno al soporte de seguridad continuo de Wind River Systems para su producto de sistema operativo en tiempo real, VxWorks.
Un informe reciente del Centro de Evaluación de Ciberseguridad de Huawei del Reino Unido identificó los principales problemas de seguridad en los procesos de ingeniería de software de Huawei. Si bien gran parte de las noticias sobre este importante informe se centran en cuestiones no abordadas del año anterior, el problema más peligroso y pasado por alto es la evidente falta de directrices y prácticas de codificación seguras empleadas por Huawei. Sin embargo, es un problema que se puede solucionar.
Las noticias, para el gigante chino de telecomunicaciones Huawei, siguen empeorando. Si bien los Estados Unidos han prohibido rotundamente que la empresa trabaje en el gobierno en el futuro, el Reino Unido ha aceptado más el hecho de que muchas de las fallas subyacentes en los dispositivos y el código de Huawei son solucionables. El Reino Unido creó el Centro de Evaluación de Ciberseguridad de Huawei (HCSEC) en 2010 para evaluar y abordar los problemas de seguridad de los productos de Huawei y para producir un informe anual acerca de ellos. Sin embargo, este año el informe fue especialmente condenatorio.
Gran parte de la atención prestada al informe HCSEC de 2019 en las noticias se ha relacionado con el hecho de que casi no se ha abordado ningún fallo de seguridad del año anterior. Esto incluye el uso de una versión anterior del sistema operativo en tiempo real VxWorks de Wind River, que pronto dejará de funcionar. Huawei ha prometido solucionar ese problema (y recibirá el apoyo continuo de Wind River Systems), pero sigue siendo un componente fundamental de gran parte de la infraestructura de telecomunicaciones del Reino Unido.
Un factor crítico que parece haber sido pasado por alto por la mayoría de la prensa convencional equivale a lo que podría ser un proceso fundamentalmente interrumpido, que existe dentro del desarrollo e implementación de nuevo software y hardware por parte de la empresa. El informe señala «problemas técnicos importantes» relacionados con la forma en que Huawei gestiona sus métodos de ingeniería internos.
Veamos algunos ejemplos de los problemas técnicos descritos en el informe. Hay que decir que una de las mejores cosas que Huawei ha hecho ha sido crear directrices de codificación seguras para ayudar a sus ingenieros y programadores a implementar código nuevo. Estas directrices abarcan una amplia gama de prácticas recomendadas, como el uso de versiones seguras conocidas de las funciones y los procesos del sistema procedentes de bibliotecas confiables y, desde luego, no de variantes con vulnerabilidades conocidas. En teoría, eso es algo fantástico, pero una evaluación real de un sistema de producción de Huawei en el Reino Unido reveló que esas directrices o bien nunca se comunicaban a los programadores, o bien eran ignoradas por ellos o simplemente no se aplicaban.
El informe analizó las funciones específicas de gestión de la memoria en las aplicaciones públicas, en este caso un conjunto de tableros de mensajes en los que se invitaba a los usuarios, como función del programa, a añadir entradas. Dado que las áreas que ingresan los usuarios nunca deben considerarse «confiables», se esperaba que esas áreas solo contuvieran código seguro, de acuerdo con las directrices internas de Huawei. En concreto, los evaluadores analizaron la invocación directa de las funciones de gestión de memoria memcpy (), strcpy () y sprintf () en esos sistemas de producción, conocidas por provocar graves problemas de seguridad, como el desbordamiento del búfer desde 1988 .
Sorprendentemente, hubo 5000 invocaciones directas de 17 funciones seguras conocidas de memcpy (), pero también 600 usos de 12 variantes inseguras. Era aproximadamente la misma proporción que las demás funciones. Había 1.400 invocaciones seguras de strcpy (), pero también 400 incorrectas con vulnerabilidades conocidas. Además, se encontraron 2000 usos seguros de sprintf (), en comparación con 200 usos inseguros. Si bien es bueno que la mayoría de los usos de esas funciones fueran seguros, eso deja alrededor del 20% del código total vulnerable a los ataques conocidos. Se trata de una zona de ataque muy peligrosa y, además, solo tiene en cuenta las invocaciones directas de las tres funciones de gestión de la memoria, y no los casos en los que se utilizan indirectamente mediante punteros de función. Si bien los auditores solo analizaron esas funciones específicas, es poco probable que las tres funciones de gestión de memoria elegidas sean las únicas que presenten problemas.
Si bien es bueno que Huawei haya creado una guía de mejores prácticas para sus programadores, está claro que queda mucho por hacer. Definir las expectativas de seguridad es tan solo un paso, pero solo son eficaces si esas directrices se siguen de forma activa y el grupo de desarrolladores las conoce. Huawei podría lograr avances significativos en la mejora de su seguridad si se comprometiera a capacitar a sus programadores de manera eficaz y no se limitara a echar un vistazo a los aspectos básicos sobre cómo seguir las directrices internas de Huawei. En general, deben dar un paso más y demostrar cómo programar de forma más segura. Los programadores deben estar suficientemente capacitados sobre los patrones de codificación buenos (seguros) y malos (inseguros) y asumir la responsabilidad de poner en práctica lo que su empresa predica en todo momento.
Muchos de los problemas de codificación específicos descritos en el informe HCSEC se abordan y aplican como parte del Secure Code Warrior plataforma, que capacita a los programadores y equipos de ciberseguridad para que siempre implementen y mantengan un código seguro. En la plataforma se demuestran constantemente conceptos como no confiar nunca en las entradas de los usuarios, extraer siempre funciones de bibliotecas establecidas, limpiar todas las entradas antes de pasarlas a un servidor y muchas otras prácticas de codificación segura. También analizamos las vulnerabilidades más específicas y mostramos, paso a paso, cómo evitarlas y mitigarlas.
Además de una formación especializada, empresas como Huawei podrían utilizar las soluciones DevSecOps. Incorpora formación en tiempo real directamente en el IDE, utilizando recetas de codificación seguras que se adaptan a las directrices de seguridad de la empresa, y actúa como el ayudante del desarrollador en la «cocina» de programación en la que escriben su código. Este enfoque podría ayudar a los programadores de Huawei de todos los niveles de habilidad a escribir mejor código y a reconocer las posibles vulnerabilidades, al tiempo que permitiría a los expertos en seguridad de Huawei crear un «recetario» con recetas que se ajusten a sus políticas y ayuden a ejecutar los comandos.
Una lección fundamental de los problemas de Huawei debería ser que crear pautas de codificación segura no tiene sentido si los programadores no las conocen o simplemente no saben cómo seguir las buenas prácticas de codificación. En este caso, las directrices internas sobre mejores prácticas resultaron ser las propias de Huawei, lo que Occidente llamaría»un tigre de papel'. Era un documento con mucho estilo, pero sin contenido. Para hacerlo más efectivo se necesitarían las herramientas prácticas adecuadas y un programa de capacitación real, que adoptara un enfoque práctico y desarrollara conocimientos y habilidades continuos.




%20(1).avif)
.avif)
