El error Heartbleed permite a otras partes leer la memoria fuera del espacio deseado, pero no Le permite leer la memoria de otros procesos . La dirección de inicio tampoco puede ser modificada por el atacante, realmente depende del algoritmo de asignación de memoria que la memoria termina de devolver. Lo más probable es que esta sea la memoria de una solicitud HTTP reciente (para servidores web y navegadores web). Para los servidores web ocupados, existe una alta probabilidad de recuperar datos completamente diferentes porque la memoria se sobrescribió mientras se servía a otros usuarios.
Cloudflare investigado el posibilidad de obtener una clave SSL privada del servidor web nginx, pero encontró muy poco probable que exprimiera la clave privada. El argumento principal es que el servidor web nginx carga la clave privada muy pronto durante el inicio. No se asigna / utiliza mucha memoria en ese momento, por lo que la clave privada se almacena en una dirección baja. Cuando llegan nuevas solicitudes, se usan direcciones más distantes, por lo que piensan que es difícil (y probablemente imposible) obtener la clave. Es por eso que han presentado un desafío que les pide a los evaluadores que demuestren lo contrario.
Tenga en cuenta que no hay ninguna prueba de que no sea posible obtener las claves. La postura paranoica (y segura) es entonces asumir que es posible (incluso si la probabilidad de ser golpeado por un meteorito es mayor). Para probar que no es posible obtener las claves utilizando este único error , se debe verificar cuidadosamente cómo funciona el asignador de memoria y cómo otros factores externos pueden afectar el direccionamiento.
Los investigadores pudieron obtener la clave privada en "condiciones de laboratorio". ¿Cuáles eran estas condiciones? Si ejecutan un servidor web personalizado utilizando OpenSSL en un dispositivo integrado con poca memoria, esto puede hacer que sea mucho más fácil obtener la clave privada, pero no es realista.
Independientemente de si las claves privadas se pueden filtrar o no, se ha demostrado que las solicitudes y respuestas HTTP recientes se pueden leer de la memoria. Esto incluye contraseñas (consulte Yahoo, conozco a alguien que obtuvo contraseñas de 3k en poco tiempo), documentos comerciales, código fuente (incluidas las credenciales de la base de datos), tokens de inicio de sesión, ID de sesión y más. Aunque la clave privada principal no fue robada, todavía es bastante posible que se hayan filtrado los secretos del maestro de la copia que permitirían a alguien que olfateó la red descifrar los datos cifrados.
En cuanto a la auditoría, usted no puede ver en los registros de acceso de los servidores web que se haya atacado con este error. Solo con una captura de paquetes, puedes decirlo.
Dado que los ataques son bastante sigilosos y el error permite a los atacantes remotos recopilar fácilmente datos a los que normalmente no se puede acceder desde el exterior (código fuente) o que deberían estar cifrados (contraseñas), en mi opinión, Heartbleed es bastante grave. Recibió mucha prensa, pero eso parece estar justificado.