Slashdot Log In
Amit Singh's Challenge: Find a Decade-Old Bug
Posted by
timothy
on Wed Apr 13, 2005 02:56 PM
from the older-than-the-os-that-hosts-it dept.
from the older-than-the-os-that-hosts-it dept.
dreicodan writes "Well this has too many juicy Mac OS X nuggets in one bag! All details are on this page, but I'll summarise. Apparently Amit Singh discovered a 10+ year old serious bug in OS X. The bug started in Nextstep and is still in Panther (and apparently Tiger, too). Then Amit wrote a program to demo the bug, but also made the program capable of hiding what it does using some complicated Mach kernel voodo! He then threw a challenge open to OS X experts to figure out the bug. It turns out that a week and some 1000 downloads later, three brilliant hackers (Alexy Proskuryakov, Andrew Wellington, Graham Dennis) were able to solve the puzzle. Also looks like other than these guys, nobody got anywhere with the problem. Be ready for extremely gory details of how the program was written and how it was decoded. Its a thrilling read, and OS X hacking doesn't get any more hardcore than this! Hopefully Apple fixes this bug now at last."
This discussion has been archived.
No new comments can be posted.
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Full
Abbreviated
Hidden
Loading... please wait.
Funny responses (Score:5, Funny)
http://www.kernelthread.com/mac/challenge/result/ [kernelthread.com]
Re:Funny responses (Score:3, Interesting)
that's the response I got when macupdate.com had automatically picked up one of my sf.net [sf.net] projects. I made an OSX installer package for my binaries and received many complaints about it in the "discuss this software" forum of macupdate...
bastards.
10 years? (Score:4, Funny)
Re:10 years? (Score:3, Interesting)
Does c:\con\con count?
Re:10 years? (Score:3, Insightful)
I think I remember hearing that unless M$ restructures the Sec model, there really isnt a way for them to stop it from happening.
and why do I use M$, well, because Bill Gates exemplified Greed to me. The Largest software developer in the world, Oracle not far behind, M$ exudes Greed, Avarice, and Exclusionism (w?). And that dear friends comes from a 30 developer , not a 13yo, like so many critics
What's impressive (Score:4, Insightful)
Re:What's impressive (Score:3, Insightful)
Re:What's impressive (Score:5, Interesting)
I agree. Either they didn't know it was there, or they didn't think it was important enough to fix right away.
But that's different from them not knowing how to fix something, which I'm sure they do.
Parent
Re:What's impressive (Score:4, Interesting)
There was an old terminal machine from the 70s that had a weird bug of permanently hiding processes far beneath "ps" so no admin could ever see it. When the machine was decommissioned in the 90s, the shutdown revealed some student's print-paper-lpr process that got lost for 20 years.
Parent
Re:What's impressive (Score:4, Insightful)
If you never, ever encounter it, it's not serious.
You could probably cause a kernel panic by driving an iron spike through the boot drive during some critical OS-level operation.
But it'd be daft to write iron-spike-handling code, to prevent a kernel panic in that rare situation.
Parent
Re:What's impressive (Score:5, Informative)
Parent
Re:What's impressive (Score:5, Interesting)
NEXTSTEP/OS X has an incredibly layered architecture, and those layers are quite well-stratified. That stratification is a great design asset - it makes it a lot easier to keep the whole mess organized, and reduces the number of boundary conditions where bugs (such as this kernel bug
-BUT-, the bug is still there. While I normally hate old bugs as much as anyone, especially ones that cause kernel panics, in this case I am sincerely and profundly impressed at the amount of discipline that must have been present in the development culture at NeXT. (We'll see about Apple - on the inside, Classic MacOS became quite possibly the most tangled kludge of an operating system ever produced in its last few incarnations, and I do get the impression that Apple is starting to take OS X down that path, too.)
Parent
A reason why there weren't 1000 submissions (Score:5, Insightful)
Singh said he was going to give the prize to the first person with a correct submission. Not the best submission, nor the most complete submission, or the most creative submission.
So I think people just gave up after the first couple of submissions were posted. He shouldn't have displayed the number of submissions that had been received.
Also, this challenge didn't hit Slashdot until after it was finished. I know I didnt' hear about it until after the first two submissions were submitted.
It was fun to track down though.
Re:A reason why there weren't 1000 submissions (Score:5, Informative)
aftk2's recent submissions:
The Mac OS X Expert Challenge
Thu Apr 07, '05 01:22 PM
Rejected
Not for lack of trying, unfortunately.
Parent
How zen (Score:5, Funny)
Re:How zen (Score:3, Funny)
A lot of cursing, that is.
NeXTSTEP had lots of bugs (Score:5, Interesting)
Let's all hope (Score:5, Funny)
Man, What with blowing away their 2Q'05 earnings projections, I hope the first thing Apple does is address this bug that no one has paid any attention to in 10 years. That will make me as a Apple user and share holder happier than if they continue this "innovation" fad.
Nice Tie-In (Score:4, Interesting)
exploits for dummies (Score:5, Insightful)
The rest of the article is good fun, but this passage is a brain fart. There are millions of lines of source code in any modern operating system. Exploits don't sprout overnight like mana from heaven. The most useful skill for divining exploits is to notice the existence of edge cases in how various subsystems interact with one another. There is also the important case where "chance favors the prepared mind". This is where something funny happens as a result of an honest mistake, then the "prepared mind" notices (and pursues) the chance event's darker implications.
Serious bugs that lurk for decades are hardly unknown. The ASN.1 bug springs to mind. It's hard to image a bug more widely deployed that escaped detection for such a long time. The question here is why, for such a long time, this simple flaw evaded interactions with dark energy. It's for precisely the same reason that experts rarely make the best testers. There are certain kinds of elementary programming mistakes that the "prepared mind" will habitually avoid. This distribution has a slim tail. If the minions of evil fail to stumble into any telltale clues after five years, chances are good it will remain hidden for a long time yet.
This is in fact the same mistake that Kurweil makes in predicting the imminent singularity: that intellectual power is a fully ordered function, based on the premise that a really smart person can achieve any interesting result that any person much less smart can achieve. To put this in perspective, consider the recently discovered AKS primality test. This is what AKS achieved by some clever tricks using concepts of undergraduate algebra and a 15-year old theorem.
http://www.flonnet.com/fl1917/19171290.htm [flonnet.com]
Undergraduate concepts in algebra exploited to achieve mathematical immortality. That ought to frame a tiny, unnoticed flaw in OS/X.
Re:exploits for dummies (Score:5, Interesting)
Indeed. I think the problem is not that nobody was looking for flaws, but that they were looking in the parts they're familiar with. They'd be looking in the BSD-oriented parts, or the upper levels of the OS.
They probably wouldn't be looking in the Mach parts of the OS, where this bug appears. I doubt many people have spent the time to learn enough about Mach to think of potential exploits.
Parent
Dr. Norton, are you paying attention? (Score:4, Interesting)
People in Capital One, Compound Therapeutics, Fossil, Goldman Sachs, IKEA, and SAAB were interested enough to download this, but no one from the Semantecs/Sophos/Secunas of this world found it worth their while to check it out??!!
I would certainly hope that they are paying attention to the use of dynamic code modification, code obfuscation, and red herrings. While these techniques are not new, none of the (Windows) malware seen so far were designed to be even half as proficient in these matters as panpipes. Further, Amit has stated that he could have made panpipes even more difficult to debug (but didn't).
Kudos to Amit for this highly educational exercise! He certainly seems to know his way about the innards of OS X (not to mention all the other OSes he runs [kernelthread.com] on his 17"PB via VPC.)
(I bet he has some interesting insights about the evolution and workings of OSes from MS (he is running ALL the flavors of DOS [kernelthread.com] and Windows [kernelthread.com] that I know of.)
If there's one person Apple should hire (Score:5, Insightful)
Given that all the immense amount of detail that Amit has given on OSX as shown on kernelthread and in his upcoming book has been done in his spare time, could you imagine what he could achieve if this was his job. Granted, I'm no HR person, but I would think that Apple should be chafing at the bit to get him on board. I know that if it was up to me, I would offer him an almost blank cheque to write his own salary on.
He is the person who could get OSX into the enterprise.
Of course, if he did work for Apple, then his website would surely suffer, what with NDAs and such. Perhaps it's better that he doesn't work at Apple.
Re:To be honest (Score:4, Insightful)
I don't think the person behind the challenge meant to imply that macs are toys. Only that very few people outside of Apple know much about the inner workings of their beast named OS X. As far as exploits go, a kernel panic is one of the safest out there. No way of intentionally damaging specific files, no remote execution of code. Of course, as one of the many people who doesn't know much about OSX internals, I suppose its possible that the vulnerability could lead to such things. I just don't know, and given that your name wasn't on the list, I surmise you don't either.
Parent
Re:To be honest (Score:4, Insightful)
Well, apart from the attempt to disclaim responsibility for a statement whilst still presenting it as credible (the '_some_ claim' statement), there's the gratuitous insult aimed at provoking others - 'toy'.
Why bother claiming Macs are toys in a story about an obscure bug? What does a toy mean to you? Ironically one of the most persistent criticisms of Macs is that current games don't play well on them, so they are in fact not very good toys.
Parent