Xbox Hypervisor Security Protection Hacked
ACTRAiSER writes "A recent Post on Bugtraq claims the hack of the Xbox 360 Security Protection Hypervisor. It includes sample code as well."
From Bugtraq
"We have discovered a vulnerability in the Xbox 360 hypervisor that allows
privilege escalation into hypervisor mode. Together with a method to
inject data into non-privileged memory areas, this vulnerability allows
an attacker with physical access to an Xbox 360 to run arbitrary code
such as alternative operating systems with full privileges and full
hardware access."
That actually took longer than I thought. I still like my Xbox Media Center Xbox original better.
3cx.org - A truly bad website.
Will it run DOOM?
Physics is nothing like religion. If it was, we'd have an easier time trying to raise money!
A recent Post on Bugtraq claims the hack of the Xbox 360 Security Protection Hypervisor.
Is that like some primitive version of what Geordi Laforge wears?
The theory of relativity doesn't work right in Arkansas.
Does it run Linux......yet?
Libertarian Leaning Political Discussion Forum.
Wait. Don't you mean this allows an Xbox 360 user to run arbitrary code such as alternative operating systems with full privileges and full hardware access on the machine they rightfully own ?
How is this an attack, except in the eyes of MS?
Oct 31, 2006 - release of 4532 kernel, which is the first version
containing the bug
Nov 16, 2006 - proof of concept completed; unsigned code running in
hypervisor context
Nov 30, 2006 - release of 4548 kernel, bug still not fixed
Dec 15, 2006 - first attempt to contact vendor to report bug
Dec 30, 2006 - public demonstration
Jan 03, 2007 - vendor contact established, full details disclosed
Jan 09, 2007 - vendor releases patch
Feb 28, 2007 - full public release
Patch Development Time (In Days): 6
Does MS force updates for things like this?
[Fuck Beta]
o0t!
I've been looking to upgrade my media streamer capabilities and the original XBOX can run Xbox Media Center (http://www.xboxmediacenter.com/). I wonder if this means that a 360 version with HD streaming might be forthcoming? I hope so. I've been avoiding getting one because how locked down it is.
-S
--- What parts of "shall make no law", "shall not be infringed", and "shall not be violated" don't you understand?
Weird... i'm using mine for exactly that, and without any hacks! (Yes, it does have to work as an extender, but anyone who isn't impressed by Windows Media Center hasn't used it yet. No I'm not an astroturfer).
The 360 is easily the most exciting console I've owned since the PSX, given all it can do. I don't even have cable hooked up to my 1080p TV - its basically just a monitor for my 360.
No, I guess this wasn't a very informative post... i mostly just wanted to give MS props for doing at least something right. You know; compliment before you criticize.
Jeremy
from the article
"Vendor was notified anonymously, and after cordial discussions a patch
was promptly released."
was it really "patched"?
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
"Bug was fixed in version 4552 (released Jan 09, 2007 - not a
Patch Tuesday)."
Fixed already for most people , anyone who's connected to xbox live.
I'm not sure why there still protecting the system like they are though, 'backup' games are already rife due to hacked DVD rom firmware (which they seem to be unable to back fix), so why not let it run arbitary code, didnt hurt the xbox 1?
Sadly, unless you haven't updated your machine in the last two months, this wouldn't matter as MS has already patched it. As for those of you with an "unpatched" kernel, let's just say this is like v1.5 PSPs.
Timeline:
..
..
Jan 03, 2007 - vendor contact established, full details disclosed
Jan 09, 2007 - vendor releases patch
Patch Development Time (In Days): 6
Interesting to compare timelines affecting Microsoft's users to timelines affecting Microsoft's control schemes.
Could this be a cheap way to get a nice small G5? Somehow I doubt that it'll run anything other than pirated games a some *nix.
under $400?
you have to pay extra for the HD dvd drive...
I don't know, I wish they would do what XBMC does and play any video format instead of just DRM WMV. If they would do that the 360 would be perfect. At the moment it feels crippled in that one regard.
Wait. Don't you mean this allows an Xbox 360 user to run arbitrary code such as alternative operating systems with full privileges and full hardware access on the machine they rightfully own ?
It's a joke!
The guy who caught the bug is using techie humor in perfect hacker tradition. He's pretending to take things utterly literally and following them to a redicuilous extreme.
In this case he's doing it by publishing a report of how to crack an Xbox and run an arbitrary OS on it - with complete details on how to replicate it - as a bug report. And he went through the entire procedure:
- Identify and diagnose the problem.
- Build a proof-of-concept test.
- Check it against the latest release (and find the bug still there).
- Notify the vendor (who ignores the report, as usual).
- Give him time to respond (which he doesn't).
- Give a public demonstration.
- Respond in friendly fashion to the vendor-initiated contact (after the public demo lights a fire), giving him the details of the proof-of-concept.
- Give the vendor some time to generate and publish a patch.
- Publish the complete details of the exploit.
He did this just as if it were a bug, rather than a "feature".
Now there is "improved" firmware that fixes the hole. And the complete details are out there. If anybody who actually owns an Xbox who doesn't want to "fix" the "bug" and leaves his firmware backdated, so he can "be exploited by himself" by loading Linux, *BSD, or whatever on his own Xbox, well, that's what he gets for not staying up to date on patch levels.
ROTFLMAO!
Meanwhile the "anonymous hacker" has published (on Bugtraq no less) complete details of how to crack the Xbox (with a backdated firmware load) and run an arbitrary OS on it with full privileges. Yet when it comes to the DMCA he's squeaky-clean. The MAFIAAs and Microsoft have absolutely no claim against him if anybody out there happens to "exploit himself" and use this "bug" to break their "trusted" computing platform.
But there's one thing I don't understand:
Why didn't samzenpus use "The Foot" when he approved this article? B-)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
so if this opens the possibility of "arbitrary code" i guess that means only days until someone is running slackware on their 360. someone has already mentioned the updates through xbox live so i guess it's all over now. i do not have a 360, so forgive me if this is a silly question, but are these updates optional? i understansd the psp situation where there was no requirement to update the BIOS but newer games were not guaranteed to work with older versions .. same deal here perhaps?
more interesting would be the option of running something like bootcamp and making great use of the hardware. but i'm biased cos i like osx ...
Thou Shalt Ignite That Which Burns.
now i've got a reason too buy a 360 :-)
i was waiting 360 or ps3.
let me restate that ps3 with full hardware access, or hacked 360(full hardware access implied).
woohoo now i'll be able to play halo 3 at my house. ( i'm not going to own a system for one or two games )
bored? try this http://jadmadi.net/blog/2005/01/27/linux-wine-how-to-running-windows-viruses-with-wine/
... to follow?
My understanding (although I haven't tried it) is that any audio or video you can play on the host PC can be streamed to the xbox. At least I'm happily playing my FLAC audio files through my 360... I assume video is the same but could be wrong.
Jeremy
I don't know, I wish they would do what XBMC does and play any video format instead of just DRM WMV. If they would do that the 360 would be perfect. At the moment it feels crippled in that one regard.
While it's not a perfect solution you can use tools like http://www.tversity.com/home or http://runtime360.com/category/blog/transcoding/ to convert just about any media file into WMV in realtime to stream over a network.
Eric
One problem with your amusing story: Microsoft did respond with a patch that closed the hole.
W00T!
what? no mention of http://free60.org?
anyway i try to go there and the wiki seems slashdotted or maybe just slow.
Coralized Link --> http://wiki.free60.org.nyud.net:8080/
What goes around comes around, kid.
Maybe it would, if it weren't already patched. Typical /., reporting on a bug which was fixed two months ago.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
Read it again Sherlock; he mentioned that.
--
WHO ATE MY BREAKFAST PANTS?
One problem with your amusing story: Microsoft did respond with a patch that closed the hole.
So did you install it? Without a way to back out if it broke something? B-)
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
will run Linux? Man, the Sony PR people just can't seem to get a break. ;)
Does MS force updates for things like this?
Yes. As soon as your XB360 attempts to connect to Live (which even without you paying, it will do if you signed up for it) it will demand you update or it will disconnect you (which with Live-connected dashboard accounts signs you out of your local XB360 profile too)
Any bets on whether code running in hypervisor mode can create a virtual machine environment where the updated Microsoft code can think it's running the show when it's actually king of a sandbox?
Bantam Dominique roosters crow a four-note song. Once you've heard it as "Happy BIRTHday" you can't NOT hear it that way
They don't have to test against nearly as much. Part of the problem with OS patching is you have to test to make sure your patch doesn't break anything else, since a whole lot relies on it. Releasing a patch early that screws up is almost worse than releasing no patch at all. With a console, there's little that runs. A very basic OS and only a single 3rd party app at a time. Much less work to do to check it.
You only pay extra for the HD if you buy the core system, either way its STILL under 400.00 (by a dollar)
Your understanding is incorrect.
The 360 can only play WMV and MPEG2 - it can't just play any of the files playable on the host PC.
amazingly random comment, the discussion was about HD-DVD.
Will it blend?
Hey crybaby, Xbox 360 Hypervisor Privilege Escalation Vulnerability Feb 27 2007 11:14PM Anonymous Hacker (anohacker googlemail com) It's day old news, not 2 month old news.
Now if we can get media centre running on the 360, wonder if it can handle HD content playback. Original Xbox Media Centre refuses to play and HD content, the PIII 733MHz CPU is not fast enough to handle it.
Due to this limitation I set up a ubuntu/mythtv box, but somehow I still like XBMC better. I usually keep my content on my XP PC due to large storage on it and XBMC pulls it quite nicely. Not saying mythtv does not, but somehow I find using the game controller on xbmc more convinient to use.
Yes, absolutely. But there are some things that need to be dealt with first, one being how to prevent the efuse from being blown (prevents kernel from being downgraded).
Just to clarify, the WMV files don't have to have DRM, though it's true that the 360 can only play WMV files (for the moment? Who knows if Microsoft will ever release a video codec pack?). In the meantime, you can transcode your videos and stream that to the 360 instead. It's not a perfect solution, but it is a solution.
That is sad, one can only hope the invulnerability will be a moving target.
Oct 31, 2006 - release of 4532 kernel, which is the first version containing the bug Nov 16, 2006 - proof of concept completed; unsigned code running in hypervisor context Nov 30, 2006 - release of 4548 kernel, bug still not fixed Dec 15, 2006 - first attempt to contact vendor to report bug Dec 30, 2006 - public demonstration Jan 03, 2007 - vendor contact established, full details disclosed Jan 09, 2007 - vendor releases patch Feb 28, 2007 - full public release Patch Development Time (In Days): 6 Stupid is as stupid does.
Actually, those who broke the 5v line that causes the Efuse to be blown upon updating can reopen said hole. Those looking to mod the console did this quite some time ago.
Forgive my ignorance, but as I understand it, consoles have all this security stuff on them to stop this, because they do not *want* to be used as general purpose computers, partly because the things are subsidised on sale, and the shortfall recouped by games sales? ,lead to console maufacturers giving up.
If that's true, then an all-out war to hack the things will eventually
At which point the price of the next gen of consoles will probably double, as they will be sold at true cost.
Who wants that?
DRM-free indie games for the PC and Mac: Positech Games
Wait, you don't even know if the C language was used, yet you are sure that the problem would go away with another language? Oh my god...
The AACS key is NOT 0xF606EEFD628B1CA427BEA93A9CA9773F
But I *already have* an xbox for gaming, I didnt buy it to use as a media center, it just happens to useable as one too. It's (reasonably) quiet, already hooked up to my TV and network, and I'd have it there anyway - so why put *another* box next to my tv when the one that's already there can do both jobs well? I suspect that's the reason a lot of people do it.
:-D (and if you don't get that reason, pack up and leave /. now :-p)
Oh, and 'cause I can
"goodbye and hello, as always" ~Prince Corwin, from Zelazny's Amber series
What language do you propose as an alternative for implementing hypervisors?
Badass Resumes
Heh, another post arbitrarily modded as troll. You can't even predict this shit anymore.
I'm sorry to hear that.
Have you tried attaching a flag to aid visibility?
Z.
This is a good thing that they fixed it - I don't want people playing online with hacked games. Offline? I don't care what people do.
Actually the system call handler was probably written in PPC assembly. The system call handler is an interrupt service routine: it does the following jobs -
1. Save user mode registers (context switch).
2. Manipulate special purpose registers, e.g. re-enable interrupts.
3. Jump to system call service routine, based on the system call number passed as a parameter. This is where the bug was found - the jump destination was being computed incorrectly.
4. Restore registers.
5. Return to user code.
Even C is too high-level to do most of these operations. Standard C does not allow you to manipulate low-level registers. So assembly is used.
If you are interested, you can find the Linux system call handler for x86 systems in arch/i386/entry.S.
>north
You're an immobile computer, remember?
Can we please stop employing sub-par developers who only know of memory management as something the garbage collector deals with?
--
Arkan
Amen! I'm not meaning to flame, but i'm sick and tired of people complaining about perfectly good "low level" languages like C just because it gives enough flexibility to the programmer to fuck up. "You mean you actually have to deal with memory management and parameter checks?! Preposterous!!!".
.ASP - which are fine too, but each have their place. You would never develop a web applet in C (if you even could), just as you would never develop a goddamn hypervisor in Java. Grow up.
I see this all the time from developers that grow too acostumed to languages like Java and
And if it were, can you briefly explain why you believe this flaw to be due to the limitations of C? That is, why it would not have occurred with another language? Can we please stop using C now? "Assuming the whole thing was coded in C", are you implying that they should have written the operating system in Java or Ada 95, or Shoot-Em-Up-Construction-Kit instead?
C certainly is certainly far from perfect from a modern perspective, but they probably chose it (assuming they did) for valid performance reasons. Other languages may have better checking, type safety, blah blah, but they all come with performance trade-offs. They may be better suited for many applications, but I can understand why they might have chosen C here.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Even though the 360 only plays WMV and MPEG2 video, audio gets transcoded automatically if you use the 360 an extender. Most of my music is stored as LAME encoded 192/256 kb VBR MP3's and the 360 in the living room plays them just fine. I don't know what the media extender software does internally - you probably do lose some quality as the XP or MCE pc transcodes your music on-the-fly. Video can be transcoded using other apps like Transcode360: http://www.runtime360.com/ I haven't tried this myself though.
Couldn't figure out how/if I could private reply ...
I'm curious how you access MythTV recorded content from XBMC? I've got the same setup, and if I setup an SMB share on my myth server I can see the record files, but the file names are all numeric channel and date time recording data.
Whats your setup like?
think before you write, it'll save me moderator points.
You must be new here.
I'm in between insightful sigs right now...
I've been pissed off about it since the sony hating began, and it's not just here, it's a very large portion of the internet
the only really justified sony hate I can remember was about the drm rootkit CDs, and sony deserved the hate they got for that shit.
but all the PS3 hate? come on, shut the hell up already, you're just going to say something that we've already heard OVER NINE THOUSAND times.
learn how to think for yourself, rather than just taking the opinion of a herd of trolls who also can't think for themself.
also, to cover my bases, I like the 360. it's a fine console. though I would like to see more good non-shooter games for it.
also, I don't own a PS3 at this time, just because there are only a couple decent games so far. but as soon as a game or two that I really want come out, (shouldn't be too long) I'm all over it.
also, I'm the flamebaited comment? well that's just awesome.
You can use the XBMC MythTV python scripts here.... http://sourceforge.net/projects/xbmcmythtv/ Basically you just put it in your scripts directory on your XMBC installation. There is a setup screen and you can have it access your files through Samba. It is okay for watching recorded programs. It asks if you want to skip commercials but it never works for me. Watching live TV doesn't work that well either. But for accessing your recordings, it works just fine.
Hey moron,
Jan 09, 2007 - vendor releases patch
We're currently in... March. Two months after that date. Yup.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
Unfortunately you need a windows PC for this, since they "embraced and extended" upnp, to require certain parameters and model names be reported by the UPNP/windows media connect server. Thankfully "x360mediaserver" fakes this well enough for audio. I can't get video streaming to work (not even from my work laptop running XP). Not even if I copy the xvid files to the laptop. I really wish MS hadn't made me jump through hoops to use this hardware as a network player. As it is, I just generally end up using my mythbox anyway because it's easier, and doesn't require UPNP hacks. My ideal solution would actually be playing Gears of War, and Dead rising on my mythbox, and interfacing the controllers to it. This is the first time I've bought a console, and the wireless controllers are definitely a great idea.
Hey moron,
Jan 09, 2007 - vendor releases patch
Feb 28, 2007 - full public release
That was, uh, yeah, yesterday.
This was news unless you work at Microsoft xbox division.
I would just ignore that live TV is an option. On my setup, I use the tuner in my mythTV box purely for scheduled recordings, and watch live TV with the TV itself. Using the tuner through myth and XBMC doesn't work well enough to make me want to rely on it for daily use. Unless you have a display that lacks a tuner, and have no other option, I'd just say forget it.
It's astonishing how many people don't know CS.
To answer your question, a proper type system ala ML/Haskell/Erlang/Dylan would solve the problem at compile-time.
I'm well aware that type-checking is much weaker in C than in more modern languages. However, the article stated that the problem was due to "incomplete checking of the parameters". This doesn't necessarily imply a type-checking problem; hence my question.
And bearing in mind that the code example given doesn't even appear to be written in C (as you had assumed), and that the poster who guessed it was PPC assembly is likely closer to the mark, I don't see that your argument is necessarily applicable here.
I'm not familiar with with PowerPC assembly, but my guess is that its type-checking is pretty low-level (if any). And I'm pretty sure that no-one is going to use assembler these days unless they have a damn good reason for it; if (as others have suggested), C didn't support the required facilities for such low-level OS programming, there was no way they were going to be able to do it in the higher level languages you had in mind.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Hey idiot,
Jan 09, 2007 - vendor releases patch
The news is done when THAT happens, not when someone discloses the non-issue.
For a site about things like basic rights, Slashdot users sure do like to censor "dissent".
I apologize for saying it, but you are still wrong and ignorant. Functional programs do not need to check their parameters, for the simple reason that algebraic types force the programmer to write a function for each case of an algebraic type.
C is much more like assembly than a high level programming language.
There is nothing that Haskell or Erlang can not do. There are operating systems written in them, or telephone switchers, or routers. Really low level stuff. There is no excuse in using C/C++/assembly any more, especially in the context of today's computers that are very powerful.
Or are you claiming that Haskell can replace *all* applications of assembly/C/C++ (even allowing for the fact that in the real world, compilers can often optimise better than doing it by hand)? There is no excuse in using C/C++/assembly any more You're claiming that Haskell (or Erlang) is capable of carrying out the operations that were (supposedly) too low-level to be done in C? And that they can do this with the performance required by something like the XBox 360?
Furthermore, I suspect that there are "real-world" practical issues surrounding the choice of C/C++/assembly, even if that is only programmer familiarity with the language and procedural paradigms; and that is a good enough "excuse", even if long-term we'd be better off writing everything in Haskell.
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Just out of interest, what constitutes a "high-level" language in your opinion?
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).
Since I am talking about Erlang/Haskell, what else other than the functional programming model would I have been discussing? your comment seems a little ...stupid.
That's why I called you ignorant, because you think Ada has a proper type system.
Erlang and Haskell do not need more memory and time than C. They can work under the same hardware that C works, and offer same or better performance and much lower development cost.
Yes. Haskell/Erlang can replace all applications of assembly/C/C++. I advise you to check out this.
Yeah!
The billions of dollars spent each year in debugging and testing prove you otherwise.
Erlang, Haskell, Oz, Ocaml, Lisp, Smalltalk etc
As for "...stupid", would that be stupidity like your original assumption that the XBox security breach was due to the offending OS code being written in C- when in fact the only evidence in the article clearly suggested otherwise? Haskell/Erlang can replace all applications of assembly/C/C++. I advise you to check out this. No, I'm not reading the whole damn website just to figure out if what you say is true in practice, or just a theoretical possibility. The billions of dollars spent each year in debugging and testing prove you otherwise. You sound very confident. I recommend you start a mainstream software company (apps, games, etc.) based around these technologies tommorow.
Obviously, finding large numbers of programmers familiar with "real-world" use of Haskell (for *any* applications C/C++/assembler is currently being used for) will be *no problem whatsoever*. Right?
(You'll note that the specific comment you replied to wasn't anti-Haskell, but merely noted the problems with finding enough programmers experienced in the language/paradigm in the short term).
I look forward to hearing of your phenomenal success!
"Slashdot - News and Chat Sites Deviant". (Click "homepage" link above for details).