SSL Holes Found In Critical Non-Browser Software
Gunkerty Jeb writes "The death knell for SSL is getting louder. Researchers at the University of Texas at Austin and Stanford University have discovered that poorly designed APIs used in SSL implementations are to blame for vulnerabilities in many critical non-browser software packages. Serious security vulnerabilities were found in programs such as Amazon's EC2 Java library, Amazon's and PayPal's merchant SDKs, Trillian and AIM instant messaging software, popular integrated shopping cart software packages, Chase mobile banking software, and several Android applications and libraries. SSL connections from these programs and many others are vulnerable to a man in the middle attack."
Shocking!
News Flash: People bypass inconvenient security features. Security reduced as a result.
How does this at all lead to a "death knell" for SSL?
The death knell for SSL is getting louder
What does this mean? Just that vendors should be using the newer versions of SSL that were rebranded TLS? Or is there another, competing technology that is recommended instead?
Wouldn't a Death Krull be cooler?
I thought SSL in general was susceptible to man in the middle attacks, so ANY app that uses it would be too. That doesn't mean a death knell. It means something like Domain Keys need to be used to make these even more secure.
How is the wrong implementation of a protocol in a framework library a fault of the protocol?
Either devs need to be aware that there's extra steps in validating using an SSL library in their framework of choice, or the framework needs to be patched appropriately, but based on the concepts the article's provided, sounds like bad implementation aka crap code, and not enough QC. Some OOP would help make the implementation easier though...
This is a problem of bad APIs and people not competent to select libraries with better ones. The same would happen with any other encryption protocol. Implementing and using cryptography is hard, in particular because testing will usually not show anything is wrong and testing is still the only thing most software "developers" have in their bag of tools to ensure correctness. As long as people without a clue decide they can implement cryptographic libraries or use them, these things will continue to happen.
Most ACs are not even worth the keystrokes to insult them. Be generically insulted by this and ignored otherwise.
The compliant about libcurl is baseless. It's said VERY CLEAR in the documentation how to use the feature. If stupid devs can't figure it out that's hardly the fault of a library developer. I've never had an issue with it and I've used it in C, C++, and PHP.
To repeat what I said on the mailing list. If I break my thumb with a hammer do blame the hammer or do I blame myself?
As Yehezkel Horowitz pointed out on the mailing list.
This is the quote from the FAQ
>Q: How do I use cURL securely?
>A: CURLOPT_SSL_VERIFYPEER must be set to TRUE, CURLOPT_SSL_VERIFYHOST must be left to its default value or set to 2. Anything >else, such as setting CURLOPT_SSL_VERIFYHOST to TRUE, will result in the SSL connection being insecure against a man-in-the-middle attacker.
The real answer should be - cURL defaults are secure - no need for any code to use it securely.
==================
In general I think the very short answer for this publication should be RTFM.
The little bit longer answer would be -
1. cURL is a C code library - you can't set a value to TRUE since this is not in the language syntax.
So you has somewhere in your includes something like "#define TRUE 1" - you must be aware to this issue - this is an important part of the relations between computers/compilers/programmers.
2. Before setting any option to cURL - you should read the very clear documentation about this option.
==================
As to what we can do to make cURL even better (in order to protect unprofessional users that don't know what they are doing), We could make '1' to act as '2' (verify peer identity), and add a special magic value (i.e. 27934) that will act as todays '1' (check for CN existence but don't verify it).
I think they owe everyone at libcurl an apology.
"Ubuntu" -- an African word, meaning "Slackware is too hard for me". - stolen from Dan C alt.os.linux.slackware
While libraries like cURL have excellent documentation, other libraries such as OpenSSL have terrible documentation. Assuming that the cURL developers understood how to use OpenSSL correctly, it's quite simple for me to use their library to establish a secure connection.
What's harder is to figure out how to do it with OpenSSL. There is no obvious starting point for opening a secure connection that you can glean from reading the man pages. There are books you can buy on the subject, but that doesn't excuse the library authors from writing easy to understand documentation. The library itself is quite elegant: with just a few steps you have a secure connection that you can read and write just as if it were any other network connection (or, for that matter, a file on disk). But figuring out how to correctly set up and tear down a connection using that library isn't well documented at all.
Easy Online Role Playing Campaign Management
I've been frustrated by the bad API's for simple HTTPS requests in PHP. Any feedback on this approach?
* http://www.reddit.com/r/PHP/comments/xush4/php_applications_and_ssl_certificates/
* https://github.com/totten/ca_config
A death cruller!
Valid criticisms of API with suggestions for improvement. Please mod up.
The public CAs are fundamentally untrustworthy. Your only hope is to do like ssh: keep track of certificates that have been seen, and raise an alert if a site's certificate ever changes. Self-signed isn't worse than China-signed, Belarus-signed, Russia-signed, France-signed, Israel-signed, or any of the other supposedly "trustworthy" public CAs you so love.
"The death knell for SSL is getting louder."
Oh my... WHY ARE THERE SO MANY BS SUBMITS ACCEPTED?
Seriously /. editors, get your act together and keep the BS out! (Along with "how to build xyz", 'how to reuse first gen photo frames", idiotic posts by some dads asking re: tablet usage for their 3yrs old, etc. etc.)
(But anyway, since i discovered HN this year, my dissatisfaction about how low the standard for news "articles" on /. became is a bit remedied. There IS actually hope for real technical information & stuff discussed on the internet.)