OpenSSL Security Vulnerability 245
SiliconEntity writes "On the heels of multiple OpenSSH vulnerabilities,
the OpenSSL project is now reporting a number of security vulnerabilities of its own. OpenSSL is a standard cryptographic library used in a wide variety of security applications. The new vulnerabilities range from denial-of-service attacks to stack corruption, which imply the possibility of running malicious code. New versions of the software are released today which address the vulnerabilities."
already patched (Score:2, Informative)
Re:already patched (Score:2, Informative)
Re:already patched (Score:2)
Ditto for emerge...though you might need to specify the 0.9.6k ebuild manually.
Re:already patched (Score:2)
amen. all my boxes were patched before this hit the front page. Went in and even did a MANUAL up2date, since I didn't want to wait an hour, considering it was a pretty important update. Gotta love up2date...
Re:already patched (Score:2)
There is something to be said about that. I know alot of Linux purists will preach about Slackware or Debian, but IMHO the way you knock the 800 pound gorilla out of the tree (MS) is with at least a 400 pound gorilla, which is either RedHat, SuSe or Mandrake. My money is on RedHat.
RedHat DOES make Linux more accessible to the
Re:already patched (Score:2, Informative)
And here I thought the best way was a well aimed projectile.
If Microsoft is an 800 pound gorilla, then Red Hat is a fruit fly. MSFT has a market cap of 301 billion dollars. RHAT has a market cap of 1.75 million dollars. MSFT is 172,000 times larger than RHAT in this sense. Or maybe we should compare annual sales revenues (MSFT = 354 * RHAT). Or number of employees (MSFT = 99 * RHAT). Even on this
Re:already patched (Score:2)
(none of this should be construed
Re:already patched (Score:2)
Well, I am not out to destroy them, mainly because I feel any effort would be redundant. History is full of companies that once dominated, and now are unknown. Usually because someone else came up with a "better mouse trap".
Linux advocates don't need to worry about Microsoft. They will continue to shoot themselves in the foot and piss off customers. If anyone *REALLY* wants to see Microsoft destroyed, al
Re:already patched (Score:2, Interesting)
phew (Score:5, Funny)
thank goodness i use windows
Re:phew (Score:5, Funny)
Hell, Microsoft is even kind enough to send the "Latest Internet Patch" right to my inbox. Sometimes 36 times a day, when necessary!!
Now that's what I call service!
HaHaHa! (Score:2)
Re:HaHaHa! (Score:2)
German!...
Germain!...
Jackson 5!...
Tito!
Yes, *ox is now *oxen in the plural, thanks to Brian Regan [brianregan.com].
Re:HaHaHa! (Score:2)
Ok then, what about 'bollox'? Does that make 'bolloxen' a second order plural?
Bolloxen sounds a bit like a anti dandruff shampoo or something.
Re:phew (Score:3, Insightful)
I like to just sit back, have an espresso, and let everything around me fall into chaos. Life is good; the flashing warning lights keep me company through the long night.
Re:phew (Score:3, Interesting)
If you were, would you even know it?
If an open source program falls in a binary only forrest, does it make a sound?
Which means.... (Score:2, Funny)
the second round of patches come out.
pheeew (Score:3, Funny)
Re:pheeew (Score:2)
Seriously, between SSH and OpenSSL, I'm getting real tired of patching every week or two. I manage a few Windows, several Linux, and a couple of Sun systems, and "panic patches" on OpenSSH/OpenSSL have far outnumbered any Windows problems. Not that I like Windows better or anything, but this is getting really, really ridiculous.
At this point, *nix security is better only in that I can strip it down more easily, but
Re:pheeew (Score:2)
Of course, I'm equally pissed about all vulns out as of late, but I guess thats why I run debian patches are just an apt-get away.
Re:pheeew (Score:2)
Well, not sure.
With telnet, you need someone that actually monitors your socket to grab your password. Gicing the number of sockets out there, it's quite unlikely.
With OpenSSH/L, you just need someone wanting to do it to your machine. They don't even need your password.
So which one is more secure?
Re:pheeew (Score:2)
Feeling kinda good about it (Score:3, Informative)
Also, it took me less than a minute to patch my webserver. That's good design.
Re:Feeling kinda good about it (Score:5, Insightful)
As opposed to what? The months before Blaster came out that the patch was available?
Things like this just illustrate that all software has bugs. OSS is not a magic solution, and Microsoft does not hire poor programmers. That won't stop rampant anti-"M$" trolls of course, but the more rational of us can look at this and move on.
Re:Feeling kinda good about it (Score:2)
Yeah; both of you who are on slashdot.
Re:Feeling kinda good about it (Score:3, Informative)
Actually, it was a couple of weeks. And that was very much the exception to the rule with regards to Microsoft's history with bug reporting/patching.
Case in point is the IE mishandling of SSL which allowed anyone with a valid cert to issue a "valid" cert for any OTHER domain. This went on, denied and downplayed by Microsoft, for HOW long?
Re:Feeling kinda good about it (Score:2)
Whoop-de-doo.. a few weeks or a few months. Almost all of the OSS vulns I've monitored for the past 5 years have been announced and patched within 30 days of rumors floating around in certain circles, and more often than not, less than half that time.
The Blaster patch story is still quite a departure from the usual SOP employed by Microsoft. There is no debating that point. One semi-alert response to a show-stopper of a bug does not heal the wounds of a decade.
Re:Feeling kinda good about it (Score:5, Funny)
A+++++++++++!
oh please... (Score:2, Interesting)
The holes in OSS software are usually holes found by code audits done by people who know what they're doing. And said holes are often only theoretical, ie. many of them aren't exploitable.
Linux (Score:2)
Take off your anti-"M$" goggles and breathe the free air.
Re:Linux (Score:2)
Or do you have some evidence to back up your claim?
I'd like to breathe the free air, but I've not got enough money for the per-seat licence...
Re:Linux (Score:2)
This directly contradicts the spoon-fed mantra that "UGH UGH LINUX=GOOD MS=BAD." And if you bring into play that Apache is more used than IIS, you directly contradict all those people who say "Windows is more used yet less secure!!!!1"
Or, you could just be rational about it. Take
Re:Linux (Score:2)
I've been working with Win, Linux, and BSD in a production enviornment for 7 years, and I'm not that stupid. Windows is shit(relatively). Most Linux distros (out of the box anyway) are shit. BSD isn't too bad. However... Windows leaves you at MS's mercy, whereas with
Re:Linux (Score:2)
Ever look at your own sig? You're too stupid to realize that the security site linked to is a perfect example of what I said, 90% of those security updates are probably not even exploitable.
Apparently, 90% is your new made-up stat. Meanwhile, we'll ignore all the buffer overflows (particularly in Gentoo) and remote code exploits.
I've been working with Win, Linux, and BSD in a production enviornment for 7 year
Re:Feeling kinda good about it (Score:2)
I refute that. A good programmer would not work on a project knowing perfectly well that it is riddled with fundamental security holes, poor design, marketing driven specifications and so on. For example, whilst I am sure that there are many very SKILLED programmers who have worked on Outlook, I would argue that they cannot be GOOD. There is an ethical dimension to professionalism. Yes, I realise that by this criteria 'good' programmers are extremely hard to fin
Re:Feeling kinda good about it (Score:2)
Do all the recent blatant holes in OpenSSL/SSH mean the programmers aren't good?
Read my sig and breathe the free air.
Re:Feeling kinda good about it (Score:5, Insightful)
As opposed to what? The months before Blaster came out that the patch was available?
To be fair; that patch didn't install on a significant portion of machines (any system running w2k sp2), and the work-around Microsoft suggested didn't either, and if it did, it didn't until a reboot, which wasn't mentioned.
Add to that that the first patch appeared to install but did not (and would also not "re"install) on a number of machines. Today microsoft advises you to run a firewall and anti-virus programs all over their webpage. Before the blaster incident they didn't, because they hadn't dropped the ball quite as badly yet.
I also find it (not so..) amusing that the System File Checker doesn't work without the DCOM service running (which isn't running for example, in Safe Mode, a Mode you'd expect sfc to be used in), and that DCOM for some reason listens to any one who will talk to it, rather than, by default, restrict access to 127/8.
Why is some software more secure than others? (Score:5, Insightful)
I got annoyed at the slashdot comments last time there was security hole in OpenSSH and wrote this page [irccrew.org] (copy pasted below). I count OpenSSL as insecure software - we need a secure replacement. GNUTLS [gnutls.org] looks somewhat better, but I don't trust it too much either.
Why is some software more secure than others?
How do you measure software security?
Here's my definition on what is secure software.
Intro
I get really tired of seeing these kinds of comments every time some widely used software has security holes:
While they may be partially true, I think they're also very misleading and disparages the hard work that some secure software authors have done.
Simplicity Is Security
The difference between secure and insecure software is really the coding techniques being used by it's authors. Authors of secure software do everything they can to prevent accidental mistakes from ever happening. Authors of insecure software just fixes the accidental mistakes. There are very few secure software authors.
Auditing insecure software doesn't make it secure. Sendmail is a good example of this. It's been audited countless times by competent people. The simplest mistakes were catched easily long time ago, but a few very difficult to find vulnerabilities were found only recently.
How do secure software authors then avoid the kind of security holes that are difficult to find? By keeping the code simple. The code doesn't get secure by polluting it with tons of security checks. It gets secure by keeping the security checks in as few places as possible.
Auditing secure software is easy. You can just quickly browse through most of the sources without having to stop and look at it carefully. Everything just looks clean, simple and correct. vsftpd is a good example of this.
Sure, it's still possible that secure software has some security holes occationally. It just happens a lot less often (if ever) and usually the problems are less critical. For example none of the security holes in Postfix have lead to arbitrary code execution or being able to read other peoples mails. Denial of Service attacks are nothing compared to them.
(some examples in the web page not included)
Re:Why is some software more secure than others? (Score:3, Informative)
And if you think auditing "secure software" is easy, you're just setting yourself up to be owned. Auditing sh
Re:Why is some software more secure than others? (Score:2)
Complexity is fine, but it doesn't mean that the implementation has to be full of code that is both difficult to follow and that looks insecure at the first glance. I have looked at both GNUTLS and OpenSSL sources and GNUTLS is significantly easier to follow and it does pretty much the same thing.
Auditing depends on what you're interested in. Auditing sources for buffer overflows and other common security flaws must be easy. Auditing for crashes and more subtle bugs of course requires to be much more care
Re:Why is some software more secure than others? (Score:2)
That's what I wanted to hear. Now, how can I get an ssh tool that runs on top of it?
Re:Why is some software more secure than others? (Score:3, Informative)
Re:Why is some software more secure than others? (Score:4, Insightful)
Perhaps no software is absolutly secure, and without bugs, but we're not anywhere close yet.
Software needs to be designed (engineered is a better word) to be secure, modular and ONLY as functional as needed.
I think in general, OSS and Linux do this better than Windows does, but it's a methodology change every OS level software writer needs to take to heart.
It's critical when Office crashes, or had bugs, but not as critical as in SSL, Apache or something similar.
In short, I think the laissez faire attitude we all have, both from accepting bugs, and about coding them ourselves is a SIGNIFICANT part of the problem. We need to raise the expectations, and hold people/companies accountable when these standards are not met.
Cheers,
Greg
Re:Why is some software more secure than others? (Score:5, Insightful)
Here lies the problem:
1) Cheap
2) Fast
3) Secure
Pick 2
I call bullshit (Score:2)
1) Cheap
2) Fast
3) Secure
Pick 2
This is simply not true. If you add in some other commonly requested attributes, like "full of overly complex GUI iCandy," "every feature under the sun," or the like, then you might have to decide.
The key is simplicity. A simple, well-designed, and carefully coded solution can be cheap, fast, and secure; the simplicity of the design reinforces all three of these.
QMail, for instance, is free, fast, and secure.
Re:Why is some software more secure than others? (Score:2)
Pick 2
Cheap should really be "developed with few man-hours" in this generalized statement. In a sense, good OSS is "highly expensive"
On the other hand, programming in a truly secure fashion from day one dramatically reduces the work to secure the software later on. So maybe that generalization breaks down when y
Re:Why is some software more secure than others? (Score:2)
Re:Why is some software more secure than others? (Score:2)
Re:Why is some software more secure than others? (Score:5, Informative)
You're way off base in this case. SSL requires the use of X.509 certificates, and it was in the cert parsing code that these new vulnerabilities were found. X.509 means ASN.1 formats, which have at least two different encoding rules, BER and DER that both must be supported; implicit versus explicit tags; several different ways of encoding packet lengths, and a host of other complexities. There's no way to write this kind of code and just keep it simple as you describe. Any implementation of SSL which is going to interoperate with other systems on the net is going to face these complexities.
I've written certificate handling code so I know how complicated it is. Also worth reading is Peter Gutmann's somewhat dated but still insightful X.509 Style Guide [auckland.ac.nz] which describes some of the horrors an X.509 implementation has to deal with.
In this case the failures were mostly in the error handling, and any developer knows that this tends to be the hardest part of your program to get right. Not only are there a lot more ways things can fail than go right, but they can fail in many more places in your code and it is very difficult to make sure your program can recover gracefully from everywhere something might go wrong.
Also, I'm not sure if it's public yet, but a lot of other implementations are affected by this besides OpenSSL. See the CERT advisory when it comes out and you will find some of the biggest names in the security business got burned by this. It's absurd to suppose that your cosmic insights are somehow being overlooked by companies that base their reputations on security.
Re:Why is some software more secure than others? (Score:3, Interesting)
I think I'll have to change the wording some more. Complex things require complex code, that's fine. If there's a security hole because the behaviour was wrong in some case, it's understandable.
What I especially don't like is that the same old buffer overflow and other memory allocation related problems come up over and over again. The 1. problem in this case was a double-free() bug. Although this is the most difficult C-related problem to solve easily (without garbage collector), with cleaner code it lik
Re:Why is some software more secure than others? (Score:2)
Re:Why is some software more secure than others? (Score:5, Insightful)
The errors which you should expect from a X.509 implementation involve failing to parse obscure certificates correctly or failing to give the right error message about a malformed X.509 certificate. If the code itself is simple in implementation, it should be straightforwardly obvious that, no matter what, the parser will return either an X.509 structure or an error message; the complexity of X.509 merely prevents anyone from determining if the return value is actually correct.
OpenSSL has a lot of spagetti code, wrappers, and unnecessary function pointers, inherited from the SSLeay days. In an ideal world, it would be rewritten to be more straightforward, but that's more effort than anyone is really willing to put in (except the GNUTLS people, but that's license-related anyway).
Re:Why is some software more secure than others? (Score:3, Interesting)
I always wanted to have better support for error handling in C. Programmers should not be forced to handle errors by nest
Re:Why is some software more secure than others? (Score:4, Informative)
Exceptions would be nice, but I think in most cases the cleanup is just freeing dynamically allocated memory. Solution is to get rid of the free() calls. Garbage collector, memory pools, alloca(), data stack, etc. Data stack [irccrew.org] and memory pools have worked very well with my latest project [dovecot.fi]. Error handling is almost always just a return call and there's hardly any wrapper functions just for handling errors. Too bad I haven't yet had time to test how well they'd work in other kind of software. I'd guess pretty well except maybe for general purpose libraries since they require a bit different way of writing C code.
Re:Why is some software more secure than others? (Score:3, Interesting)
It seems like a good step forward.
Re:Why is some software more secure than others? (Score:2)
Some things are much easier to secure than others.
You could spend you life (imprisoned) in a fortress, but you'd miss out on too many things if you do.
Re:Why is some software more secure than others? (Score:2)
the ole keep it simple stupid... (Score:5, Insightful)
Be advised that complex data dependent protocols are not trivial to code. Not only that, they are even harder to get to interoperate with other implementations of the same protocol. All the nasty little bug-a-boos show up that the protocol designers hadn't thought or even dreamed of. So what's the plan? Toss out all the OpenSSL/GNUtls code and start over...but this time let's try something new... let's make it simple and secure?
What you don't seem to understand, is that people far smarter than you and I have already had these philosophical debates and do you know what they came up with?
No software is completely secure.
Prompt disclosure is important.
More eyes, code review, what have you is a good thing.
Plan for failure/breaches/etc.
Your measure of secure software is juvenile. It doesn't even provide an interesting definition of software security. Pointing at less than complete implementations of smtp and ftp makes your entire argument suspect. Also the "auditing secure software is easy" comment is another dead give away.
Re:the ole keep it simple stupid... (Score:2)
Re:Why is some software more secure than others? (Score:2)
Redhat 6.2 updates? (Score:3, Interesting)
Other than compiling from source, that is. Or upgrading to a supported distro! I'm hoping to put off that day!
Re:Redhat 6.2 updates? (Score:2)
RedHat RPMS (Score:3, Informative)
one of life's little ironies (Score:3, Funny)
Well it amused me anyway
grsec? (Score:2, Insightful)
Commit Rights (Score:2, Funny)
OpenSSH not vulnerable (Score:5, Informative)
OpenSSH isn't remotely vulnerable to these attacks. Recent versions don't use the OpenSSL ASN.1 parsing code for signature validation (e.g. signatures coming from the network). The OpenSSL ASN.1 code is only used for parsing private keys.
This was done a little while ago [theaimsgroup.com], as Markus (wisely) decided that we didn't need a whole ASN.1 parser just to verify signatures.
Don't let that slow you down patching the issue - Apache and other SSL/TLS apps (OpenLDAP, the various imapd's, etc.) may be vulnerable.
Re:OpenSSH not vulnerable (Score:2)
Understand the scope of the vulnerability (Score:3, Informative)
Vulnerable to denial of service attack
Potentially vulnerable to remote exploits (unknown currently)
For a client (e.g. mail client) using OpenSSL
Its good to see.... (Score:2, Interesting)
Re:Got the popcorn (Score:5, Insightful)
Waited for what, perfection?
In a Real World environment, "pretty safe" is a whole hell of a lot better than nothing. So long as flaws are fixed quickly after being identified, I don't see what the problem is.
If you want *real* security, you need an air gap. Otherwise, quit yer bitchin'.
Re:Got the popcorn (Score:2)
Seems only a handful of people in the world know how to program securely in C.
Unfortunately there don't appear to be viable alternatives - the need for performance and reasonable compactness tends to reduce the number of possible alternatives by a lot.
Then there aren't that many programmers who actually know the few that are left. How many Lisp programmers? Ocaml?
I'm not saying that those la
Re:Got the popcorn (Score:2, Interesting)
Flamebait? More like the truth. Take a look at the rest of the posts in this story, especially the ones modded to 4 and 5. Microsoft flames, all.
Re:Minor Bug (Score:3, Informative)
4. Due to an error in the SSL/TLS protocol handling, a server will parse a client certificate when one is not specifically requested. This by itself is not strictly speaking a vulnerability but it does mean that *all* SSL/TLS servers that use OpenSSL can be attacked using vulnerabilities 1, 2 and 3 even if they don't enable client authentication.
so i do think that it affects most users.
Re:first post! (Score:3, Funny)
posted via lynx over openssh! w00t! w00t!
Oh, so that was your box...sorry about that.
Re:at least the OOS community puts out notices (Score:2)
Re:Open Source Code Quality (Score:2)
I think you don't understand the meaning of "firmly refutes".
From the man page:
Re:Open Source Code Quality (Score:4, Insightful)
Linux allocates physical memory pages on the fly, as you use them. Try this code. It allocates 256 megs on each run until you exit. How many times do you have to run it before it says malloc returns 0? How much more memory than you have (including swap) did it allocate?
This kind of thing happens with stacks as well. Memory on your stack is allocated on the fly as you use it. What happens when the kernel can't allocate a memory page when it is first accessed? It kills the process. hard. This means that user processes can steal resources and cause any number of root processes to die, just because they made a function call that required a larger stack.
This does have many security and dependability implications, as the original poster said. Most people do not know this and do not handle this case!
--jeff++
Re:Open Source Code Quality (Score:2)
Re:Open Source Code Quality (Score:2)
Next, change the program so it actually touches memory pages. malloc() still never returns 0. When the system is out of memory, the program will be killed WHEN IT TOUCHES the memory.
What does this mean? It means that under linux there is no use handling t
Re:Open Source Code Quality (Score:2)
Then one of of the root processes needs to touch a new memory page that was alloced, or it needs a new memory page to expand its stack. The root process will be killed, right? It is the root process that is the offender. And there is no way for the root process to handle this error. It is just killed.
--jeff++
Re:Open Source Code Quality (Score:2)
pronounciation (Score:2)
Re:Lazy admin and Auto-Update (Score:2)
Re:Lazy admin and Auto-Update (Score:3, Informative)
On the other hand, unlike windows update you don't need to reboot every time you update something like this (the only time you ever need to boot is if you update the kernel).
Re:Lazy admin and Auto-Update (Score:3, Informative)
Lazy applies to admins, open-source applications, closed-source applications, make-up applications, partners in relationships, oil changes, bill-paying, laundry, dishes, dogs, eyeballs, and any other situation where not taking action is available as an option, which happens to be most situations. No fix for anything is any good if it goes unused.
> what good is an immediate bugfix if the admin
Re:Lazy admin and Auto-Update (Score:3, Interesting)
For example, the two latest RPC patches (blaster and successor) have been mildly annoying to install. Sure, you just run MS's update tool, but I've found that about 20% of machines still read unpatched according to MS's security auditing tool. This makes it kindof a pain to ensure compliance.
After reapplying the patch six or seven times to some machines, our network is safe. That's kindof lame.
Similarly, the patch that would have pr
Re:Lazy admin and Auto-Update (Score:2, Informative)
pardon my ignorance, does Linux have a similar auto-update feature like in Windows (but with fewer bugs :) ?
No problem, after all no one's born knowing this stuff. :)
It seems most Linux distros have such a feature under various names, but they generally call home (or the nearest mirror site, or wherever you told it to look), and compare the list of updates there against the software installed on your machine. Then it gives you the opportunity to review the relevant updates individually, with explanat
Re:Lazy admin and Auto-Update (Score:3, Informative)
RedHat RHN service:
$60 a year gets you two "entitlements" and they are $60 each afterward. You can change your entitlements to any computer as often as you want. I use one entitlement for just updating fresh installs, for instance. You can easily run a cron job by placing a script in
up2date -p
up2date -u
The -p updates their servers with all the supported packages you have installed(not necessary if you don't install anything or haven't since the last -
Obligatory Gentoo Zealotry (Score:3)
Basically every time I log in in the morning I get a message like:
# Current files on iceage.doughtyhouse.net that need a looksie:
#
#
#
It's not windowsupdate, but it gets the job done even when I'm on vacation, and I've never had
Re:Obligatory Gentoo Zealotry (Score:2)
Re:Obligatory Gentoo Zealotry (Score:2)
Every morning I'll have a list of what should be updated waiting in my email box.
Re:Lazy admin and Auto-Update (Score:2)
Nice.. very nice. I'll be interested in seeing some statistics regarding the usage of that tool later on...
(this could also help those being sued by the RIAA should a case ever go to court).
Re:dang! (Score:5, Interesting)
"Just run Windows Update. It's easy!"
"Just run apt-get It's easy!"
I'd like to quit running updates every 15 seconds or so.
I'd prefer it was right the first time. I'm getting really tired of patching machines all over the place. I'm turning into a patch money. Test, patch, test, patch, test, patch - with an occasional sleep and eat thrown in occasionally.
No matter how easy Windows update is, it still has to get done. If MS does it for you, you'll worry about them breaking stuff. If you have to do it yourself, you worry you'll miss something, or break it yourself. Frankly, that sucks.
Cheers,
Greg
Re:dang! (Score:2)
At least on the Linux side, there's a little hope. Suppose you have 3 tiers.. you can setup a box that will keep debs or rpms updated via cron. apt-get update; apt-ge
Re:dang! (Score:2)
stop it
stop it
stop it
stop it
STOP IT
PLEASE
sheesh [freshrpms.net]
Re:Shh! What's that sound? (Score:2)
Re:Shh! What's that sound? (Score:2)
neither theo de raadt, the openssh developers, nor openbsd have anything to do with openssl. openssl is a separate library, developed by an external group, that is relied upon by many applications (including openssh).
Re:Would it be too much to ask... (Score:2)
--RJ
Re:Microsoft? (Score:2)
Hopefully the ruckus is putting more eyes to the code.