Porque las pruebas de software son realmente difíciles.
Este error se cometió, revisó y probó sin levantar una bandera y hay muchas razones por las que no se detectó:
- El error en sí mismo era increíblemente pequeño y básicamente no comprobaba que un dato fuera realmente tan grande como decía ser. Se redujo a una sola línea de código y no se destacó de todos modos.
- Es muy poco probable que los evaluadores normales puedan detectar este error, ya que verificarían la funcionalidad y no pasarían el código línea por línea.
- Este mismo código exacto podría no haber sido un problema si se hubiera desarrollado en un entorno diferente o incluso en un idioma diferente.
- El error no arroja ningún error mientras se ejecuta el código. Los atacantes no dejan rastro y pueden desviar silenciosamente los datos de los servidores, lo que hace que sea imposible detectarlos solo con el uso regular.
- Este tipo de error necesita pruebas de penetración especializadas por personal de seguridad experimentado, pero requiere muchos recursos, es difícil de organizar y es difícil justificar el tiempo, especialmente para proyectos de código abierto como OpenSSL.
- Los proveedores deberían haber probado el software de forma independiente, pero su ROI es muy bajo en comparación con pasar tiempo reparando errores conocidos y creando nuevas funciones para su propio software.
- También existe una confianza implícita en algo que es de código abierto para que todos puedan ver y que sea tan ampliamente utilizado. Hay una suposición natural de que este software está bien construido y que cualquier error existente ya se habría encontrado y dedicar más tiempo a probarlo sería un desperdicio.
En resumen, fue un error realmente difícil de atrapar y estoy seguro de que tendrá grandes impactos en las pruebas en el futuro.
- ¿Cuál es el mejor y más barato antivirus disponible en el mercado?
- Alguien está intentando hackear mi Facebook constantemente y estoy recibiendo solicitudes de cambio de contraseña. ¿Cómo lo aseguro?
- Cómo instalar el antivirus Bitdefender
- ¿Existe algún algoritmo amigable para los humanos para elegir contraseñas (y no olvidarlas)?
- ¿Cuál es el mejor título para obtener si desea ingresar al campo de la seguridad cibernética?
Actualización 4/24 : a la luz del alcance masivo de esta vulnerabilidad y la dependencia de tantos en este software, ahora ha habido algunos desarrollos en los patrocinadores: los gigantes tecnológicos, castigados por Heartbleed, finalmente aceptan financiar OpenSSL