Live data from Hacker News

The Heartbleed Challenge

cloudflarechallenge.com

91–100 of 125 posts

Re: The Heartbleed Challenge

#91
post #76

We will add a $10,000 bounty for the first published and confirmed successful completion of this challenge. Conditions: 1) CloudFlare confirms success. 2) The winner publishes their solution, including source, publicly. 3) Promptly send the link to the publication to [adam | ionicsecurity | com] (for tracking the order of submissions) Good luck!

That is awesome Adam, please have it posted on the Challenge page so that more people can see it. Hopefully someone solves it soon :)

Re: The Heartbleed Challenge

#92
post #39

Didn't Juliano Rizzo already post that he'd been able to extract keys from a server? I'm not clear on the circumstances; for instance, it might have been right after boot, and it might have been Apache, and it might have been FreeBSD.

Errata security modified their original post to say that yes they are extractable. And a moderator properly fixed the title after the article was changed to reflect the retraction:

https://news.ycombinator.com/item?id=7561399

Re: The Heartbleed Challenge

#93
post #91
post #76

We will add a $10,000 bounty for the first published and confirmed successful completion of this challenge. Conditions: 1) CloudFlare confirms success. 2) The winner publishes their solution, including source, publicly. 3) Promptly send the link to the publication to [adam | ionicsecurity | com] (for tracking the order of submissions) Good luck!

That is awesome Adam, please have it posted on the Challenge page so that more people can see it. Hopefully someone solves it soon :)

Hopefully someone doesn't solve this!

Re: The Heartbleed Challenge

#94
post #26

Is this really an accurate challenge? I have wondered if the true exposure risk from Heartbleed may be over-stated* due to memory separation between processes, etc. This however is probably a clean server with a fairly static install. There isn't a risk of things like session leakage which I think is the true risk of Heartbleed. Nor would there be the memory fragmentation that would occur in a production system. Whil…

It may be the case that Heartbleed did not practically expose private keys. The risk was not overstated in general, though; a virtually undetectable method that has been proved to do things like leak plaintext username/password credentials is still catastrophic.

Re: The Heartbleed Challenge

#95
post #91
post #76

We will add a $10,000 bounty for the first published and confirmed successful completion of this challenge. Conditions: 1) CloudFlare confirms success. 2) The winner publishes their solution, including source, publicly. 3) Promptly send the link to the publication to [adam | ionicsecurity | com] (for tracking the order of submissions) Good luck!

That is awesome Adam, please have it posted on the Challenge page so that more people can see it. Hopefully someone solves it soon :)

We have no official relationship with CF so they will have to decide to list it on the challenge page. We are a happy CloudFlare customer though!

Re: The Heartbleed Challenge

#96
post #82

so i assume any intermediate values from the RSA computations will end up in the heap and may be accessible by an attacker. is it possible to reconstruct the key from these values? i could be missing something but it looks like signing does m mod p and m mod q and part of these operations involves doing a left shift on the divisor (p, q) and this is allocated to a temporary buffer. if these buffers are allocated near…

> maybe this is not leaked or it requires a read at the correct time because these buffers might be trashed by another computation. As far as I can tell, it's certainly possible for intermediate data to be leaked, but it'd require pretty spectacular timing. That said, I'm having a bit of a hard time understanding why this challenge exists. If the possibility (even remote) exists that key material was leaked in any fo…

for nginx it might not be possible for the intermediate data to be leaked. nginx is single threaded so as long as the intermediate buffers are safely freed or clobbered by the end up the ssl signing method then it won't be possible to leak the key that way. i suspect multithreaded apache would pose a real risk.

Re: The Heartbleed Challenge

#97

Would a multi-process server engine help protect against this? Think what Chrome does with tabs. If the network request is received by a dedicated IO process which then uses IPC to communicate with other parts of the server, then perhaps sensitive information like keys would not be in the same address space so could not be leaked? I guess if the bug was in a sensitive process then it would still happen. Disclaimer: I…

The keys would be in the same process as the one doing the SSL in the first place, and that is the part that is vulnerable.

Even communicating over IPC you would still be vulnerable.

Re: The Heartbleed Challenge

#98

You can read more about the CloudFlare Challenge and our own tests on obtaining SSL Private Key material here: http://blog.cloudflare.com/answering-the-critical-question-c... Matthew Prince Co-founder & CEO, CloudFlare

What is the format of the private key?

I.e., is it a 8192-bit AES256 key?

Re: The Heartbleed Challenge

#99
post #82

so i assume any intermediate values from the RSA computations will end up in the heap and may be accessible by an attacker. is it possible to reconstruct the key from these values? i could be missing something but it looks like signing does m mod p and m mod q and part of these operations involves doing a left shift on the divisor (p, q) and this is allocated to a temporary buffer. if these buffers are allocated near…

> maybe this is not leaked or it requires a read at the correct time because these buffers might be trashed by another computation. As far as I can tell, it's certainly possible for intermediate data to be leaked, but it'd require pretty spectacular timing. That said, I'm having a bit of a hard time understanding why this challenge exists. If the possibility (even remote) exists that key material was leaked in any fo…

i've locally tested the BN_div function and the sdiv buffer is intact at the end of the function with a p or q value. however, the BN values seem to be allocated in some kind of pool and they are reused so the private keys get clobbered by another BN function soon after. also, at the end of the RSA_eay_private_encrypt function the BN values are zeroed (or written over with crap data) so unless there is another implementation bug it should be impossible to leak the intermediate values in a single threaded implementation.

leaking the intermediate values in nginx to recover the private key looks like a dead end. however, i think this could be quite promising for apache mpm_worker. :)

Re: The Heartbleed Challenge

#100
post #90
post #72

Earlier quoted context omitted.

No, it works like this: everyone gets their fix ready hush hush, and on an agreed date it's made public, and vendors hit the "publish" button more or less simlultaneously.

Except that it doesn't work like this. The major Linux vendors are too decentralized for this to work.

Except that it does work like this on a regular basis. It's not just something that sounds nice in theory. Distros and other major software vendors regularly coordinate disclosure. Have there been failures of the process? Sure, but that's the nature of secret keeping. The advantages of coordinated release far outweigh the risk of occasional mistakes, since the latter simply leaves people in the same position as they'd have been without any coordination (i.e. the exact same position that the distros were in with heartbleed).
Post reply on HN