Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I have successfully extracted a key and decrypted traffic in a lab. I'm refining my automatic process. You're forgetting analysis of the runtime layout of OpenSSL in RAM which is quite predictable on machines without defensive measures. I have a 100% success rate extracting memory and about a 20% success rate programmatically extracting the secret key of the server. I'm nearly 100% against a certain version of Apache with standard distribution configuration.

I did this with no formal CS education and about 400 lines of code. I'm an operations engineer, not a security expert. Once I get it 100% and review my situation legally, I'll probably publish what I have.

Now is not the time to be conservative. Efforts to downplay this vulnerability are directly damaging to the Internet's security and, given that you are a single-issue poster, suspicious.



This is the reason the grandparent post was downvoted. Assumption that cause something seems unlikely is usually a bad idea in security.

Thanks for confirming my suspicions about this bug, seems anyone with decent effort can break keys.


runtime layout of OpenSSL in RAM which is quite predictable on machines without defensive measures

I think this is also part of the problem, if it's just storing the keys in plaintext. I've analysed some protection systems which have gone to great lengths to make sure that this isn't the case - where keys are permuted, broken up into randomly-sized chunks, and scattered amongst other randomly generated data, all of which gets moved around in memory in a random fashion periodically. Some of the state required to obtain the key is outside the process.

Obviously this makes encryption/decryption operations a lot slower. "Security costs speed. How safe do you want to be?"


I'm not sure you even need to do any analysis of the runtime layout of OpenSSL, to be honest, though no doubt it increases the efficiency of the attack.


Would you mind emailing me the code? I'd like to learn from it.


Given the power of this code as a weapon and certain circumstances in my personal life, I will be consulting legal advice before doing anything with it. There's a pretty good chance I will be advised against releasing it.

All you need is a debugger against your target service and an ability to recognize patterns. And no, ASLR doesn't help much.


Ah, understandable. Thank you anyway!




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: