Apple Plugs Software Update Hole
hype7 writes "Apple's getting quick! Less than 5 days after the recently reported software update vulnerability was discovered, Apple have a patch plugging the hole. Apparently, packages now presented via the Software Update mechanism are cryptographically signed, and the new Software Update client 1.4.6 checks for a valid signature before installing any new packages."
Was there a worm hole in the apple?
We wouldn't want all those people more intelligent than the rest of us to get rooted.
Call (206) 338-5780 COLLECT for information about a genuine BA, BS, MA, MS, MBA, or Ph.D.
Do you use the software update mechanism to update the software update mechanism?
As a Tibook owner I'm darn glad Apple is getting more serious about releasing security patches. Now that they've entered the server market (with the Xserve), they really have no choice.
True, Apple has said that OS 9 is dead, but there's a hell of a lot of installations out there, and they all use an insecure Software Update mechanism as well. Apple needs to do the right thing and fix it for those who haven't upgraded because they can't (like those with hardware whose drivers haven't been updated yet), and to prevent Classic from becoming its own security hole.
I use Macs for work, Linux for education, and Windows for cardplaying.
the reason it was so quick, was that they had probably included these crypto-features in their new upcoming os release(s)... they could have just done a diff ...
but who knows? maybe they are quick!
- david
What bug-free and/or 100% secure OS's exist? How would ever know if it was 100% secure?
What?
if you want to make sure this update is valid you can read the update info and verify the checksum
or for the extra paranoid, check the secure page
Apple has been really taking security seriously lately and this only helps to build confidence that the machine is capable of being used by more novice users who know nothing about the evils of being rooted.
OS9 and OSX are VERY diferent from the ground up. I would be surprised if fundamental security issues that are found in one, exist in the other.
Cheers
what a great way to sneak in a little trojan... spoof apple's own software update function and provide it for everyone under the guise of apple acting swiftly to patch a hole. put it up on a spoofed apple page and even provide a verification checksum to ease any suspician. ah well. would make a good movie twist...
The line between terrorist and patriot depends on which side of the molatov cocktail you are on.
No telling what else it does without your permission. Remember the WMP, Passport, XP EULA.
Yes, I read the Aplle EULAs
photosMy Photostream
Bah. In my opinion, the most secure OS ever used on most desktops was DOS. :)
My own pointless vanity vintage computing page
As I understand it, it's not just using checksums, which I agree could still be open to attack. It's requiring all the packages it installs to be cryptographically signed - i.e. Apple must sign all packages they release with THEIR private key and the Software Update client has a copy of Apple's public key in order to be able to verify the signatures. If the signature can't be verified, it won't install the package - i.e. for a malicious third party to be able to install something on a user's machine via Software Update not only would he have to DNS spoof as before but he would also have to obtain Apple's private key from somewhere, which I would hope/expect is fairly difficult. This is the same practise as RH, Ximian et al. use...
Yes, but can we trust the software update to software update? 8-)
The situation is not quite comparable...
The last n Microsoft security holes that I've seen have been discovered by security groups which reported them privately to Microsoft, and worked with Microsoft for typically a month or two to get the patch out. Then the vulnerability was announced the same day as the patch release. A few days or weeks later, an exploit for the vulnerability was posted someplace reasonably mainstream.
Not so here. The Apple vulnerability was just posted to bugtraq along with an exploit. No indication was made that any attempt to contact Apple was made, much less working privately with Apple while the problem was resolved.
http://www.cunap.com/~hardingr/projects/osx/exploi t.html
http://online.securityfocus.com/archive/1/280964
Also this wasn't the worst vulnerability ever found. If someone poisons your DNS server they really can do all manner of bad things to you; Software Update is (was) just one of many concerns you should have. Keep your DNS servers secure!
ALL that this quasi-"hole" came down to was, "Wow! If you download software updates from apple.com over the internet, you are susceptable to man-in-the-middle attacks!" what a surprise. I mean, it's a VERY GOOD THING apple has plugged this, i'm just saying if they hadn't no one would have really been hurt :)
Anyway, though, let's just check: how do the other OSes handle this same problem? Someone in another thread claimed that Windows Update used some kind of "SHA-1" hashing, or something. OK. What about the Unix world? How does apt-get validate the checksums of the "new packages" it receives when you run apt-get update? How does "red carpet" do the same? What about the BSD ports system? When you go to www.solaris.com or www.redhat.com or www.kernel.org, and you see on the news page that there's a big new security patch, and you download it, how do you know that that's real and you aren't just looking at something sitting on a compromised router somewhere, masquerading as those sites?
I am just curious.
Maybe if the government would stop dicking with everyone and intentionally making it difficult to widely implement ssh and scp (scp is the ftp/ssh thing, right?) on a large scale in software projects such as web browsers, we'd have scp everywhere by now, and web browsers would default to https, and the public keys for ftp.apple.com and ftp.microsoft.com and ftp.debian.org would all be logged in the "trusted public keys" files of those respective OSes by default, and this wouldn't be a problem, becuase netscape and internet explorer would give you big warning signs everywhere when the ftp site you are looking at isn't the one you think it is.. and everyone would be just that much safer from being subject to service interruptions because of social engineering.
Do you ever use telnet? Ever?
Do you use insecure POP3?
If either of these things is true, your passwords are flying through unprotected space every time you do either one, and you have no sane reason to complain about apple leaving apple software update with this "hole" for so long. If someone has the ability to exploit the software update "hole" mentioned here, they also have the ability to eavesdrop on all the traffic-- including passwords-- that you create when you do telnet, insecure POP3, or a number of other things.
I'd say the hypocrisy here is that we're considering it a horrendous hole that an apple network application was susceptable to man-in-the-middle attacks, but we're not, as members of the internet community as a whole, looking for ways that we can implement things such as ssh tunnelling or s/wan on a massive scale so that man-in-the-middle attacks can be wiped out at the root of the problem instead of having to be implemented individually in every single application in the universe.
This update also adds the command-line updating tool that comes with Xserve. See 'man softwareupdate'.
This space unintentionally left unblank.
Yes, so long as the means of communicating the checksum are secure (i.e., not prone to a man-in-the-middle attack).
Actually checksums have been used for years in order to ensure that a program has not been replaced with a malicious bit of code or modified in any way:
For instance, you want to make sure you haven't been hacked and ls hasn't been tampered with to hide the files? Have an checksum for it stored offsite and/or in a secure manner (encrypt it with a symmetric key and pray that key hasn't been compromised as well) and then compare with what pops up when you look at the file.
The idea is that if the file has changed at all, the checksum is going to be different.
Note though that in order for this to work the means by which you receive the checksum *must* be secure. They can be cleartext (such as in this case), but you must be able to confirm the source of the checksum is who you think it is.
Thus, it would be a poor way for the software update mechanism to operate (since the attacker could send a false checksum) but is okay for something like this.
Integrate Keynote and LaTeX
A hacker now just has to do some more work. Instead of just the DNS misdirection, they now need to create a checksum for their bad/malicious code. The updater will query their fake update server for the now forged checksum and see it matches the fake update package that was retrieved from the same hacked up server.
Even if they automatically get the checkum from a specific IP or set of IPs, all one has to do is create a server with that IP and insert it in the network and get a few routers to change their IP routing tables.
If they use a third party to verify the downloaded checksum is authentic, that server itself is vulnerable to the DNS and IP routing 'man in the middle' attacks.
This just makes the haker's job a little more complex. But if they have privs to alter DNS on a server this is just two minutes extra work. This whole thing is just silly. The initial problem was a non-problem. The solution doesn't provide any substantial obsticle to someone that wants to perpetrate such an attack. There in fact is no solution other than a 1-1 split key system. I generate a public key one time and send it to Apple. They then use that key to encrypt/sign all the updates sent to me. I use the private key to verify/decrypt the update and install it. I know that only Apple has my public key so I can be safe.
The problem here of course is that Apple needs to store potentially millions of public keys on their servers, and use a lot of CPU to do the unique signing/encrypting as people request the updates.
The split key eliminates the man in the middle, as they have no way to get ahold of each user's public key. They can't fake one, and no amount of DNS or IP redirection (other than the initial sending of the public key) will allow them to masquerade as the authentic site.
Article X: The powers not delegated... by the Constitution...are reserved...to the people
A hacker now just has to do some more work. Instead of just the DNS misdirection, they now need to create a checksum for their bad/malicious code. The updater will query their fake update server for the now forged checksum and see it matches the fake update package that was retrieved from the same hacked up server.
Ever heared about public key cryptography? They sign their packages with their private key, and their public key is hard coded in the software. It's not just a checksum, it's a cryptographically signed checksum. It's pretty safe.
To sign a checksum for his bad code, the attacker needs to crack Apple's private key. Which can take a few weeks if you're the NSA, but a few hundreds years if you're anyone else.
Yeah, yeah, yeah, and Microsoft doesn't have bugs, either. They have service packs...and service packs...and service packs...
There ain't no rules here; we're trying to accomplish something.
1) If you download a package, and for some reason, it doesn't install right off (any kind of error, or even if you're just not ready yet), Software Update FORGETS IT HAS DOWNLOADED IT. This is particularly frustrating when you have just downloaded an 18 MB package over your modem, and you have to do it again.
2) If you download part of a package, of course, it doesn't use any kind of smart downloading process to pick up where it left off. Arg.
3) What is this with everything requiring 300 MB to install 20 MB pieces of software? Sure, that's sneezing space for those of you with 40 GB drives, but some of us are still running mere 5 Gig machines.
Libertarianism is rich wolves and poor sheep playing gambler's ruin for dinner.
The "Installer" application has a bug in which it miscalculates the space required for an update or install. It's a silly bug, but since most new Macs have a hard drive of 30GB or more even 300MB is hardly anything.
-- thinkyhead software and media
For someone to steal a single private key is rather trivial. Getting enough CPU together to brute force the private key is relatively simple, especially for a hacker that has compromised many systems and can easily install a distributed key generator on all of them. As was seen by several recent worms/viruses it would be possible to install such a client of literally tens of thousands of systems. Since you can have both encrypted and decrypted versions of the protected information, checking for a good key is easy.
If, in my method, a hacker was to get hold of a public key or two (or a hundred), only a few people or sites would be affected. All the other keys would not be compromised. The risk of wide-spread corruption is almost nil. A hacker would need to get the account information and the account's encrypting key before a successful redirection would work and install the modified code.
Apple already has the infrastructure of the iTools system for storing the private keys for each site/user/system and for the authentication for updates. The only thing that would remain is to be sure they have enough CPU power to to on-the-fly signing for each request. This is the scenareo I see: Create a public/private key pair using an Apple supplied utility (or GPG) Log in to iTools and send them the public key (using SSL) later: SWU queries Apple for any new packages If packages are available, SWU sends the iTools account info (using SSL) Apple retrieves your public key and uses it to sign the appropriate packages SWU retrieves the signed packages and verfies them against your local private key If they pass muster the packages are installed. Many people will say the single signer model is safe enough. That may be true, but don't for a moment think that it actually eliminates the risk of wide-spread distribution of fake updates. The multiple signers model does.
Article X: The powers not delegated... by the Constitution...are reserved...to the people
doesn't seem to be compatible with the 10.1.3.1337 update that came out yesterday :(. in fact, all my programs don't launch anymore. not even aol.
You mean lets say they took over distributed.net and had around 28,149 (or more, since this was the active number of participants in rc5-64 yesterday, who could have multiple machines) machines trying to crack said keys. Lets see, they have been working on rc5-64 for 5 years now... Putting in some estimation for moore's law, lets say it would take 2 years starting now. So lets get it done in a 3 months period then we need 8 times as many machines. That means at least 160,000 compromised machines all contacting unknown network addresses over three months. If that is not noticed, that is one hell of a hacker. And thats assuming that Apple used something with an outdated keyspace thats only about as large as rc5-64.
In other words, yeah, it might not be the safest option out there. But its safe enough for me.
I think you're right. They would be bitching about how slow Microsoft is with the update. But surely you're not suggesting Apple is getting a free ride in the Slashdot forums. Apple takes a hell of a beating here or haven't you noticed that the main discussion here begins with 5 "jokes" at Apple's expense?
The more daring observation would be:
"If this were a Linux distro putting out an update they would be praised for how quickly and efficiently they had handled the situation." Or at least they would be instantly forgiven for having taken 5 days.
You like your Macintosh better than me, don't you Dave? Dave? Can you hear me Dave?
The real truth of the matter is that it's not Apple who gets a free ride here at Slashdot - it's Linux. Usually when a Linux distro is patched/updated the story on the front page ( and it's always on the front page) usually includes the word "drool" and at least one exclamation point. Apple takes their lumps here same as Microsoft. Worse in many ways because more than half the people here are at least dual-booting a MS OS. Almost none are using an Apple one. But when do the Linux guys get criticised here? About anything?
And just for the record.
You like your Macintosh better than me, don't you Dave? Dave? Can you hear me Dave?
Article X: The powers not delegated... by the Constitution...are reserved...to the people
Actually, when you are connected to the 'net, a Software Update window will occasionally automagically appear, when there are new/critical updates available. You just check off the ones you want, and hit install. It couldn't be easier.
slashdot!=valid HTML
If you need to report a security problem to Apple, there are instructions on the Apple Product Security page.
It boils to an email to product-security@apple.com. Encrypt sensitive information using Apple's product security PGP key, key ID 0x44E85F68, fingerprint AE43 8996 9250 78A6 D587 3CA8 2165 60D7 44E8 5F68.
Although PGP for Mac OS X is sadly still in suspended animation, others have mentioned the availability of MacGPG and related tools, which are perfectly suitable for PGP, including rudimentary integration with Mail.app.
Well, softare update is now available from the CLI:
...]
Welcome to Darwin!
[jupiter:~] root# softwareupdate
Software Update Tool
Copyright 2002 Apple Computer, Inc.
Your software is up to date.
[jupiter:~] root#
Also, the man page for software update says you can install (a) specific update(s) by name, by softwareupdate [item
Interestingly, it must be run as root, though Software Update via System Preferences only requires an Administrator's password -- this could just be because it sudo's, as an admin *can* sudo... Also, it was written (the CLI tool, or at least the man page) on May 2, 2002.
Anyone who can put a trojan on the site can also put a bumb SHA1 on it. Why doesn't Apple use PKI?
--
Internet Explorer (n): Another bug -- that is, a feature that can't be turned off -- in Windows.
I appreciate, even though it is probably coincidental, that Apple did NOT attack the press for reporting this hole before they had a chance to plug it. It has been a reasonably quick, mature response. Unlike another company that we all know that seems incapable of fixing holes without having a go at all "enemies" on the side.
However, I would have thought that would be standard practice in this day and age, most everything else done by major companies has some sort of cryptographic signature in this sort of context...
XML is like violence. If it doesn't solve the problem, use more.
Good point. But that could also be said about the initial 'problem'. If someone where going to do a MiM attack via DNS spoof, why would they target Apple and not Microsoft, or Adobe or Id(or whoever makes the latest game).
I think the problem with your statement though is that it qualifies as security by obscurity. Claiming relative safety because of a relatively small size is just bad voodoo.
As for the cracking issue, I'm be far less worried about someone cracking the cipher than I am someone emailing it out of the building, or someone hacking in and downloading it.
Article X: The powers not delegated... by the Constitution...are reserved...to the people