Sr Architect, EdgeTheory
April 2014
A bug in OpenSSL's implementation of TLS hearbeat
1% of sites still vulnerable as of Nov 1
Both servers and clients were vulnerable
1) Send 5 bytes: "ABCDE"
2) Server responds with "ABCDE"
1) If you're still there, send me these 65535 bytes back: "ABCDE"
The server never checks that you're not requesting more back than you sent!
2) Server responds with "ABCDE ... Hunter2" - 64k of potentially decrypted bytes
hbtype = *p++;
n2s(p, payload);
pl = p;
…
*bp++ = TLS1_HB_RESPONSE;
s2n(payload, bp);
memcpy(bp, pl, payload);
Introduced Sep, 1989
Disclosed Sep, 2014
6 different vulnerabilities
Tools
CGI/FastCGI-based web applications
OpenSSH
DHCP
CUPS
Oracle products
Cisco products
"I don't use bash"
Unknown number of machines still affected
Machine can be compromised indefinitely without symptoms.
Easy to resolve:
Small number of individual attack vectors
Widely deployed and easy to attack
Large number of attack vectors
Varying degrees of difficulty to attack and varying levels of deployment
When you do it wrong, every problem is your fault.