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?
IIRC, doesnt MS's Windows Update already do something like SHA1 (or some other algorithm) signiture checking?
The One Rule Of Chess You'll Ever Need: Don't play someone who carries a kit in their bookbag.
Subject line says all...
"How to Do Nothing," kids activities, back in print!
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?
people would be screaming about how slow and inefficient they were.
Hypocrites.
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.
so you think X acts odd?
look at good old mac os 9 where holding down the mouse button would freeze every process of copying or deleting files.
so what?
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.
The problem does indeed exist in OS9, since the problem is, in general terms, getting the user to download and install malicious software, since there's no way of verifying the authenticity of the update.
Speaking from experience, yes, often times a whole bunch of features are developed and then they sit on it. It makes more marketing sense to release things in increments.
Hard to tell whether this is right or wrong...but at least they released this quickly after the flaw was announced.
Ah. I too encountered the issue that the checksum didn't match... until I realized I was not checking the .dmg, but rather the .pkg. Make sure you are checking the .dmg and everything should match up. Now of course you have to trust that the checksum is authentic...
The line between terrorist and patriot depends on which side of the molatov cocktail you are on.
It's better that SU looks at checksums of incoming packages, I agree.
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...
Bah. In my opinion, the most secure OS ever used on most desktops was DOS. :)
My own pointless vanity vintage computing page
Slashdot is funny. When Microsoft announces a patch for Windows two days after a security hole is found, they get bashed for publishing insecure software.
When Apple fixes a hole five days after acknowledging it, they're praised for being so quick to patch it.
If you're really that concerned with the politics of your hw, there's really very little related to computers you *COULD* buy. What with scandals abound from M$ and apple, all the lawsuits involved with DRAM mnfr's, shoddy HD's, and optical/removable drives with deplorable MTBF ratings (compared to parts being made 10 years ago), and all the bad mouthing and CSR nightmares in between, it's amazing you found a box to post on today.
This is where I get my recommended daily allowance of "Foot in Mouth."
Yes, but can we trust the software update to software update? 8-)
Then they'd have to make a "Software Update Security Hole Patch software update/security hole patch".
I design user interfaces for a free network management application,
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
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 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?
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.
One cool new thing in the Software Update Security Update... it adds a file to /usr/sbin/ called softwareupdate. Looks like darwin users may soon be able to keep upt odate as well
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.
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?
---
Open Source Shirts
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
SUCK MY DICK you macintosh faggots who can't bear the truth!
> Ever heared about public key cryptography?
This raises an interesting point (though one that goes a
bit off topic for the Apple update): What happens when
some math grad student discovers a generalised way to
determine a private key given the corresponding public
key? Just something to think about.
Cut that out, or I will ship you to Norilsk in a box.