¿Cuáles son los efectos secundarios de recompilar OpenSSL con -DOPENSSL_NO_HEARTBEATS?

8

Lo siento si es muy abierto final. Todas las noticias sobre la hazaña de Heartbleed han estado inundando Google, y no puedo entender qué hace. ¿Está bien volver a compilar?

    
pregunta user2738698 08.04.2014 - 20:48
fuente

1 respuesta

12

Si compilas OpenSSL con -DOPENSSL_NO_HEARTBEATS , obtienes una biblioteca OpenSSL y herramientas que pueden hacer cualquier cosa que OpenSSL "normal" pueda hacer, excepto el soporte de la extensión SSL / TLS llamada "Heartbeat". Esa extensión se describe en RFC 6520 . Es una extensión bastante reciente.

Al igual que con todas las extensiones, su uso en cualquier conexión SSL dada está sujeta a una negociación que se produce en los primeros pasos del protocolo de enlace. Básicamente, la extensión se puede usar solo si el cliente afirma que la admite y quiere usarla (en ClientHello ) y el servidor responde que la admite y está de acuerdo con su uso ( en el ServerHello ). Si su biblioteca SSL se compiló sin el soporte de Heartbeat, entonces no publicitará el soporte de Heartbeat; si está involucrado en un apretón de manos donde aparece esa extensión, la manejará como una "extensión desconocida", es decir, ignorarla por completo.

Aparte de eso, tu OpenSSL recién compilado se comportará como el anterior, y las cosas funcionarán. Lo que se romperá es si una aplicación específica insiste en usar la extensión Heartbeat: esa extensión intentará activar la extensión y usarla, y no funcionará.

Mirando el código fuente de OpenSSL, parece que la función SSL_heartbeat() (utilizada para enviar un "tiempo" por una aplicación que tiene en cuenta Heartbeat) es una macro, que invoca la función genérica SSL_ctrl() con algunos parámetros numéricos. Esto implica que si una aplicación realmente quiere usar esa funcionalidad, y la proporciona con su biblioteca OpenSSL sin latidos, entonces no habrá ningún error de enlace; el código se ejecutará; pero cualquier llamada de envío de latido producirá un estado de error. Cómo reaccionará la aplicación depende de la aplicación. De hecho, desde el punto de vista de la aplicación, las cosas serán como si el par no fuera compatible con Heartbeat.

Afortunadamente, esta extensión es muy reciente, y no debe haber muchas aplicaciones que conozcan Heartbeat, y mucho menos que la utilicen. Lo más probable es que su OpenSSL recompilado no rompa nada en absoluto, por lo que la respuesta a su pregunta es: sí , es muy bien bien recompilar.

    
respondido por el Thomas Pornin 08.04.2014 - 21:08
fuente

Lea otras preguntas en las etiquetas