
Los desarrolladores del escáner IoT Inspector realizan periódicamente comprobaciones rutinarias de firmware de diferentes fabricantes. A veces encuentran vulnerabilidades en los dispositivos de Internet de las cosas. Pero el
último hallazgo es especialmente sorprendente. En el firmware del enrutador Cisco SG250, el escáner encontró
varios certificados y la clave secreta correspondiente de un empleado de Futurewei Technologies, una subsidiaria estadounidense de Huawei Technologies, llamado Harry Wu con la dirección de correo electrónico
gary.wu1@huawei.com
.
Pero, ¿cómo entraron en el firmware del enrutador Cisco?
También era extraño la ubicación de los archivos en cuestión (/root/.ssh/). Este directorio suele ser para claves SSH, no para certificados.

Los desarrolladores verificaron manualmente los resultados del escáner automático. Eran confiables, el análisis manual confirmó los resultados automatizados.

Dado el debate político sobre Huawei, los empleados no querían especular sobre este tema e inmediatamente transmitieron información a Cisco. Allí, el departamento de seguridad confirmó los resultados y comenzó una investigación interna. Les tomó solo unos días descubrir las razones y compartir los detalles.
Al final resultó que, los certificados y la clave privada en cuestión eran parte del paquete gratuito
OpenDaylight GitHub , que se utiliza en algunos productos de Cisco. El problema afectó a todos los enrutadores de las series Cisco 250/350 / 350X / 550X. Los desarrolladores utilizaron los certificados para probar la función
Cisco FindIT para administrar de manera proactiva la red de enrutadores con el descubrimiento automático de todos los dispositivos en la red, la configuración a través de una única interfaz, etc. Los certificados estaban en el firmware de los productos debido a una simple supervisión.
Cisco lanzó inmediatamente el firmware sin estos certificados y el 3 de julio publicó
recomendaciones de seguridad . Además, Cisco solucionó otros problemas detectados por el escáner: hashes de contraseñas vacías, dependencias innecesarias y varias vulnerabilidades de dependencia.
No había amenaza para la seguridad aquí. Sobre las míticas "puertas traseras de Huawei" está fuera de discusión. Según Cisco, no se han identificado vectores de ataque ya que los certificados no se utilizan realmente en las versiones finales de firmware.
Pero aún así, hay dos problemas.
Primero, los desarrolladores a menudo, por conveniencia o inadvertidamente, colocan información confidencial en el código del programa, que luego se presenta en el dominio público. Por ejemplo, en marzo de 2019, investigadores de la Universidad de Carolina del Norte escanearon un GitHub y descubrieron que más de 100,000 repositorios contenían claves API, tokens y claves criptográficas. Además, miles de nuevos "secretos" únicos llegan a GitHub todos los días. Las estadísticas generales sobre los objetos secretos encontrados muestran que la mayoría de las claves API de Google ingresan al dominio público. Las claves privadas de RSA y los identificadores de Google OAuth también son comunes.

El estudio mostró que un atacante, incluso con recursos mínimos, podría comprometer a muchos usuarios de GitHub y encontrar muchas claves secretas. Para combatir este problema, GitHub ha desarrollado una función de
escaneo de tokens de escaneo de tokens que escanea repositorios, busca tokens y notifica a los proveedores de servicios de fuga de información.
El segundo problema es que los programas conectan cada vez más proyectos en el mismo GitHub que las dependencias externas de Open Source, sin verificarlos en consecuencia. Resulta que los desarrolladores confían ciegamente en el código de otra persona, que nadie puede seguir. El problema se describe, por ejemplo, en el artículo de Russ Cox "Nuestro problema con las adicciones", cuya
traducción está en Habré.

