Apple Plugs Software Update Hole 181
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."
Apple (Score:2, Funny)
That's a good thing. (Score:3, Funny)
how do you update? (Score:3, Funny)
Re:how do you update? (Score:1)
Re:how do you update? (Score:2, Informative)
http://docs.info.apple.com/article.html?artnum=
http://docs.info.apple.com/article.html?artnum=
Re:how do you update? (Score:3, Informative)
Checksum info [apple.com]
Re:how do you update? (Score:1)
Which is useless. (Score:2)
Re:how do you update? (Score:2, Informative)
Here's what the description says:
Security Update 7-12-02 delivers a more secure Software Update service to verify that future updates originate from Apple. If you would prefer to download this manually from a secure Apple server you can download the package at http://www.info.apple.com/kbnum/n75304
Doesnt MS already do that? (Score:1, Offtopic)
Re:Doesnt MS already do that? (Score:1, Flamebait)
Re:Doesnt MS already do that? (Score:2)
Yes, I read the Aplle EULAs
Good for Apple! (Score:1, Redundant)
stating the obvious, but... (Score:3, Interesting)
Actually, it's only half-fixed... (Score:5, Insightful)
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.
Re:Actually, it's only half-fixed... (Score:2, Insightful)
I doubt it's even a problem on os9-think different (Score:2)
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
Re:I doubt it's even a problem on os9-think differ (Score:1)
Re:Actually, it's only half-fixed... (Score:5, Informative)
This wouldn't be a problem for the average user running OS X and classic, since the OS 9 version of software update wouldn't ever be launched. Only the Os X version would be activated regularly to check for updates.
True that until they patch the OS 9 version similarly there will be a lingering risk for people running OS 9 as their primary OS, but not for those using it in Classic mode.
Re:Actually, it's only half-fixed... (Score:1)
Actually, Classic regularly launches OS 9's Software Update on my Cube, every Monday night. A holdover from when I was using OS 9 as my main system, more than 1 year ago.
I realize now that the reason I didn't deactivate it is because I'm not an average user. I thought I was just being lazy
Re:Actually, it's only half-fixed... (Score:1)
Oops on me then. Hopefully they'll have an update for Software Update 9 soon...
Re:Actually, it's only half-fixed... (Score:2)
No.
Re:Actually, it's only half-fixed... (Score:1)
Me: "No"
You: "Thanks for clearing that up. I guess I was imagining this [slashdot.org] then."
No, you weren't imagining the article, just the part where you interpreted it to mean "you had to boot to OS 9 and run software update there to get it." There were direct download links in the story body itself.
More to the point though, my original post was written to make the point that the average OS X user has no reason to fear Software Update while running in Classic mode. 'Booting up into OS 9 and running Software Update' is not the same as running in Classic mode, and via Apple's means of notifying users of the update, those who run in classic mode were given a direct download link. Those who don't regualrly use the OS 9 version of Software Update (ie those who are using OS X and Classic instead of OS 9) never got notification to use OS 9's software update to install the CarbonLib update.
Game, set, and match. Thanks for playing.
Re:Actually, it's only half-fixed... (Score:2)
Noprob.
Yes, it should show up in Update for X. I guess they assumed that folks who would need carbonlib would boot into 9 now and again. That makes a certain amount of sense, because the apps that rely on carbonlib are those that are built to run in both OS X and OS 9. Therefore, any app that would take advantage of carbonlib would only do so if you were running in OS 9 mode as opposed to OS X + Classic.
Thanks for making me think that through. I hadn't realized that 'till now.
Re:Actually, it's only half-fixed... (Score:1)
Re:Actually, it's only half-fixed... (Score:1)
Knowing that there will be no more OS 9 updates, why would someone be running OS 9 Software Update anyway?
Re:Actually, it's only half-fixed... (Score:2)
It is true that there are no major updates expected as Apple has stated that they are not going to make any, but bug fixes and possibly efficiency updates will likely continue for some time.
they probably had it done anyways... (Score:2, Interesting)
Right (Score:1)
Hard to tell whether this is right or wrong...but at least they released this quickly after the flaw was announced.
Re:they probably had it done anyways... (Score:3, Interesting)
I think this could easily have been a "Joe, Steve wants a fix for this before you leave today" problem followed up by a week or so of testing and final rollout.
The OS 9 Software Update is a whole other matter though, since the checksum code isn't just sitting around waiting to be used. It might take a while longer for that to roll out.
Gee, unix and xml don't suck after all.
And if this was Microsoft (Score:1)
Hypocrites.
Re:And if this was Microsoft (Score:3, Interesting)
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.
check the authenticity of this update too (Score:5, Informative)
or for the extra paranoid, check the secure page [apple.com]
Re:check the authenticity of this update too (Score:3, Insightful)
Am I wrong?
Re:check the authenticity of this update too (Score:1)
Re:check the authenticity of this update too (Score:1)
Not Quite (Score:5, Informative)
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.
Re:Not Quite (Score:2)
If you can prevent physical access to your machine (if you can't you're sunk anyway, period) then it's generally sufficient to have your checksum list stored on a floppy which is not write-enabled.
Storing it offsite but online doesn't help; storing it offsite and not online makes it unusefully unwieldy.
Re:check the authenticity of this update too (Score:2)
Re:check the authenticity of this update too (Score:5, Informative)
There was also a post to the security-announce list [apple.com], signed with Apple's Product Security key [apple.com], which you can verify with a live person [apple.com] if you really feel like it. The post contained the website notes, plus SHA1 checksum of the installer disk image. Given current security technology, Apple covered their bases quite well.
Re:check the authenticity of this update too (Score:2)
Since Apple has provided a web page with the checksum listed you can check the signature yourself. They also used the SHA1 method for generating the checksum, which guarantees there can be no other file/message with the same signature.
If you use Apple's secure page to independently check the checksum the following steps need to take place to present a false update:
a) DNS spoof Apple.com
b) Get a forged SSL certificate in apple's name (not impossible, remember someone got a Microsoft certificate not too many months ago)
c) provide your own update and the signature for that update
Not an impossible scenario, but not an easy one either.
Assuming you got a real software update the scenario becomes more difficult by adding a public key signature on the update, so now the private key (assuming they aren't signing them with multiple keys) also needs to be cracked to provide a bogus update.
The most likely source of a bogus update becomes an insider at Apple using the legitimate software update process to provide a properly signed bogus update.
check the .dmg not the .pkg (Score:1)
Re:check the .dmg not the .pkg (Score:1)
Hash: SHA1
The checksum matched for me. See my user info page if you want to check my sig, btw.
-----BEGIN PGP SIGNATURE-----
Version: PGPfreeware 7.0.3 for non-commercial use
iQA/AwUBPTBeFm7jpSWWX3oCEQLfQgCfRw0SElf9XBkQaL9
8Y8urE5KHVz9x5rjMohkIkvd
=GD2l
Re:check the .dmg not the .pkg (Score:1)
If they're using it on you I suggest the thick end.
Re:check the authenticity of this update too (Score:1)
Good turnaround Apple (Score:3, Insightful)
Re:Good turnaround Apple (Score:2, Funny)
Speak for yourself dude. Personally, I enjoy being rooted-- sometimes several times a day. Remember: it's only naughty if you want it to be.
Re:Good turnaround Apple (Score:1)
I'd like to see the looks on people's faces when they see "Canada Roots" on my shirt.
funny X (Score:1)
look at good old mac os 9 where holding down the mouse button would freeze every process of copying or deleting files.
so what?
socially engineered hole... (Score:2, Interesting)
Re:socially engineered hole... (Score:2)
How does SU now check signatures? (Score:1)
But how does it verify the checksums it matches?
If SU is looking up a list of checksums on a web site somewhere, what stops this attack from happening again?
Just set up another spoofed web server that dishes out checksums for bogus packages, and SU thinks everything is okay...
Re:How does SU now check signatures? (Score:2, Insightful)
Funny (Score:1, Insightful)
When Apple fixes a hole five days after acknowledging it, they're praised for being so quick to patch it.
Re:Funny (Score:5, Insightful)
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 [cunap.com]
http://online.securityfocus.com/archive/1/280964 [securityfocus.com]
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!
Just checking (Re: Funny) (Score:5, Informative)
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.
Linux is Funnier (Score:2, Insightful)
And just for the record [slashdot.org].
software update (Score:2)
Re:software update (Score:3, Informative)
From the software update inforrmation:
"Security Update 7-12-02 delivers a more secure Software Update service to verify that future updates originate from Apple. If you would prefer to download this manually from a secure Apple server you can download the package at http://www.info.apple.com/kbnum/n75304"
Re:software update (Score:2)
It's a mouthful (Score:1)
Then they'd have to make a "Software Update Security Hole Patch software update/security hole patch".
update via software update (Score:1)
Here's it's description of the path:
Security Update 7-12-02 delivers a more secure Software Update service to verify that future updates originate from Apple. If you would prefer to download this manually from a secure Apple server you can download the package at http://www.info.apple.com/kbnum/n75304
Now let's turn the tables. (Score:2, Interesting)
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.
Re:Now let's turn the tables. (Score:1)
Who wants that? Encrypting everything is usually not the answer. Since usually you don't really care if you're browsing a website securely or not, and https incurs performance-damaging overhead, I would be hesitant to use an https-always browser.
Re:Now let's turn the tables. (Score:3, Interesting)
The problem lies in that to serve https requests, you need a certificate (logical). Now, if you want your certificate to actually identify you as who you really are, you need to be certified by a certificate authority (CA), which itself is certified by somebody else until a root certificate authority. The process of certification costs money, and doesn't take only a few minutes to complete. So in addition to the performance degradation due to the encrytion (not bad on a small server, but can grow quite fast), you'd be effectively limiting who can operate a web server. Or else, if the server's certificate doesn't go back to a root CA, you wouldn't have a certitude on the identity of the distant server.
As to how Unix handles the verification problem, the major distributors digitally sign (PGP usually) their packages with their (or one of their) private key. And what happens if the private key is compromised? Same thing as with any private key scheme: you're screwed.
Re:Now let's turn the tables. (Score:1)
Ok, back to reality.
New softwareupdate command (Score:4, Informative)
Re:New softwareupdate command (Score:1)
That's so what I've been waiting for -- like RedHat's up2date that makes it so easy for me to update all our servers. This is going to make the desktop part of my job so much easier.
Re:New softwareupdate command (Score:2)
Re:New softwareupdate command (Score:3, Funny)
Now, say it with me, everyone!
"Just set it, and forget it!
w00t.
Not a solution, just requires a different attack (Score:3, Interesting)
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.
Re:Not a solution, just requires a different attac (Score:3, Insightful)
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.
Re:Not a solution, just requires a different attac (Score:2)
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.
Re:Not a solution, just requires a different attac (Score:3, Insightful)
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.
Re:Not a solution, just requires a different attac (Score:1)
I think you underestimate the difficulty of brute-forcing RSA-style keys... RSA-129 (which is about 426 bits long) took 1600 computers 8 months to factor back in 1994. That was the part that could be distributed over multiple machines. Then it took a supercomputer with 16384 processors 45 hours to solve the 4GB matrix that came out of the distributed part of the process.
It's not gonna be a piece of cake to crack the 1024 bits keys that are the minimum people use these days, even if you do have tens of thousands of machines to do the distributed part. And after you're done with that, where are you gonna get a computer that can solve a multi-gigabyte matrix in a reasonable amount of time?
Re:Not a solution, just requires a different attac (Score:2)
Re:Not a solution, just requires a different attac (Score:1)
While this is a valid point, I doubt it poses a plausible threat in this particular case, primarily because public key encryption is so widely used. If anyone wanted to spend enormous amounts of resources to crack such keys, the chances are, they won't be going after Apple's Software Update servers and it's relatively small number of clients.
The same has been seen with viruses. It's not necessary that viruses and worms are more difficult to write for Macs (although thay may be the case), but a simple matter of economics. Why write a virus that would, at most, infect 2-4% of the world's computers when, for the same (or less) effort, 90% of the world's computers can be targetted?
Re:Not a solution, just requires a different attac (Score:2)
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.
Other Problems with Software Update (Score:3, Interesting)
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.
Re: 300MB (Score:2)
Re:Other Problems with Software Update (Score:3, Informative)
You can find all the successfully downloaded updates in "/Library/Receipts". You can double-click the packages in there to install the update, copy the update to another machine and install it, burn it to CD for later use, etc.
On the down side, Apple doesn't seem to advertise they they store all the update packages there, so some people can't figure out where all the HD space is going.
Re:Other Problems with Software Update (Score:1)
Re:Other Problems with Software Update (Score:3, Informative)
For example, the very large (400MB+) developer tools package has a receipt of size 616k.
In order to save the package to install later or on other machines, you have to select Update:Save Update before you click the "Install" button in Software Update.
Re:Other Problems with Software Update (Score:3, Funny)
Re:Other Problems with Software Update (Score:2)
Also, just noted while perusing my "Library" directory that there's a directory called "Caches" and within that directory, a directory known as "Software Update Cache".... would this be where things were kept?
Re:Other Problems with Software Update (Score:2)
Re:Other Problems with Software Update (Score:1)
The receipts folder is not really "where all the HD space is going". On my system it totals 32 MB for all the 10.1 updates, language packages, dev tools, etc. I'll tell you what's REALLY to blame - did you know there's a directory called "usr" on your disk that you can't even SEE? It's using up almost 240 MB on my disk! Of all the nerve....
hmmm (Score:4, Funny)
HOWTO report security problems to Apple (Score:3, Informative)
If you need to report a security problem to Apple, there are instructions on the Apple Product Security [apple.com] page.
It boils to an email to product-security@apple.com [mailto]. Encrypt sensitive information using Apple's product security PGP key [apple.com], 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 [sourceforge.net] and related tools, which are perfectly suitable for PGP, including rudimentary integration with Mail.app.
Re:HOWTO report security problems to Apple (Score:1)
software update CLI tool (Score:3, Informative)
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.
Re:software update CLI tool (Score:2)
SOFTWAREUPDATE(8) System Manager's Manual SOFTWAREUPDATE(8)
NAME
...]
...
softwareupdate - system software update tool
SYNOPSIS
softwareupdate [item
DESCRIPTION
Software Update checks for new and updated versions of your software based on information about your computer and current software.
If you give no arguments, a list of available software updates is determined and displayed. Each entry includes the item name, description, version, and size.
For each item name you give, the corresponding software update is downloaded, unarchived, and installed.
softwareupdate must be run as root.
softwareupdate (Score:1, Informative)
Note (Score:5, Insightful)
Good to see a relatively quick response... (Score:2)
Re:Wow (Score:2)
Re:Wow (Score:2)
Re:Impressive. Now if they weren't control freaks. (Score:1)
Re:"Mac's don't have bugs" (Score:3, Funny)
Re:"Mac's don't have bugs" (Score:2)