Blizzard Exempt from iOS and MacOS Security Sandbox
twitter.com
twitter.com
I deleted the tweet with the picture of the sandbox because people start hyping it up without linking the clarification.
And the "clarification" tweet: https://twitter.com/i0n1c/status/738084828202053633
For those late to the party: the sandbox bypass exception for Blizzard only affects the access() family of syscalls - probably harmless
Edit: Original tweet screenshot http://imgur.com/c8RnYjo (it's still in Google cache… for now).
If an attacker knows what files Blizzard is calling access() on, they could likely use this exploit and execute arbitrary code.
That is not a security flaw in access, it's a potential security flaw in administrative processes that use access() and then operate on files. There's a hole there where someone could swap the file that they are trying to open. That's just a reason to not use that API (there are the at APIs for a reason). But since Blizzard processes are (presumably) not running as root, there isn't a security flaw.
> If an attacker knows what files Blizzard is calling access() on, they could likely use this exploit and execute arbitrary code.
The ability to maybe* get a program to do some file operations on a different file than it checked against is miles away from code execution, unless the program's job is to execute code from a file.
And that string is the Blizzard identifier: https://www.virustotal.com/en/file/bdfd2017fb776b52a4604928e...
Though I'd like to know more details, like:
* Why does blizzard need to run in the sandbox on Mac OS X? The app sandbox is opt-in (though required for App Store apps)
* Can anyone set their team ID to blizzard's?
* Are blizzard games attack vectors?
No, at least not for apps that are distributed on the official channels and signed with an official developer cert.
> * Are blizzard games attack vectors?
All games are, savegame manipulation is often the first step towards jailbreaking a game console.
Checkmate.
https://www.wired.com/2016/01/nsa-hacker-chief-explains-how-...
Heck, back in the day I caught someone (thankfully not at the place I worked) running a game (some FPS) server on their exchange server box. Running Steam is well within the realm of possibilities.
Oh, yes it did. Served us well. (evil grin)
Note: Also embedded web browser into our business application in development-mode only. The GUI forms and such. Policy had IE locked down but embedded browser still worked lol. So, fast coders got the job done quickly then were bullshitting around on Internet till someone approached. One key stroke and back to boring UI testing. ;)
1) welcome to the wonderful and horrible world of a journeyman in the middle
So, sysadmin was thanking me for helping him deal with machines that were inexplicably always crashing "because Acer machines are garbage." You feel more or less conflicted now? :P
[edit] I feel about the same, as a system admin, I get bit in the /\$$ way too often by good intentions. I hear they pave a road with them (I think I worked there).
The sysadm caught him playing it and promptly unistalled the game.
However the important business application hosted on the server then stopped working and no one could figure out why.
Nothing would work... even after lots of debugging, error log analysis and redeploying.
The developer suggested installing Doom again and lo and behold, the application started working.
Software would ship with shared DLL's, uninstalling an application would usually have a knock on effect.
MS-DOS was used a lot for small office servers. Whilst Windows NT4 was growing in popularity, it was an expensive option for firms. Plus it was hard to play games on NT4 due to memory protection issues.
A fable of Doom being needed to run a server in today's environment is ridiculous, however back then things were a lot less mature. The issue wasn't limited to just games. Any application with shared files was a nightmare, normally you just renamed files, rebooted, then if things worked you could delete the files.
Perhaps you meant it's a later version of Windows, or the game's spiritual predecessor, Theme Park, which ran in DOS.
Edit: Maybe not this since it's unrelated to virtual memory but it's along the same lines, going to some lengths to keep software compatible
> Windows 95? No problem. Nice new 32 bit API, but it still ran old 16 bit software perfectly. Microsoft obsessed about this, spending a big chunk of change testing every old program they could find with Windows 95. Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here's the amazing part: On beta versions of Windows 95, SimCity wasn't working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn't free memory right away. That's the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.
[1] http://www.joelonsoftware.com/articles/fog0000000054.html
https://mobile.twitter.com/gruber/status/738149554978070529
Turns out a complete non-story.
The reason doesn't make it a "non-story" in any way.
Nobody sane expected the reason to be anything besides something like that (e.g. some evil root access plan) -- and it's still a story.
The "story" here was that Apple was being irresponsible by giving Blizzard an exception to the sandbox.
In actuality it's little more than a shim to make a buggy Blizzard updater not crash by thinking it could do something it couldn't.
Maybe your update is now a paid update, so people can either pony up, or not upgrade, or abandon your software. Hello CS6. Was your latest update $10k? *major enterprise developer thanks you for the multi million dollar windfall your OS update gave them by forcing all their deploys to pay for a compatibility update, caused by "you".
Being a major platform developer is full of hard decisions balancing user experience and security, performance and future looking direction. It's not a problem most developers have to concern themselves with in your average app.
[edit: why the heck are people voting mikeash down, legitimate question after all in tone and spirit]
But that's a complete guess.
Apple shipped an update to the sandbox and included a small, harmless fix to avoid issues in popular 3rd party software. Microsoft does this all the time.
Also according to those same birdies, the Blizzard fixed the bug a while ago so the 'exemption' may be removed soon as it's no longer necessary.
Truth is--he knew what was going to happen, so this looks just like another excuse to rant.
If I recall correctly, the pangu dev team attended some of his sessions about iOS hacking and used this knowledge to create a publicly available jailbreak tool. He then started to rant about how they "stole" his technologies on twitter (see for example https://twitter.com/i0n1c/status/481020166483238912).
More about his childish public behavior related to the jailbreak scene can be read here: http://www.iclarified.com/41983/pangu-jailbreak-stops-using-...
After the first release, pangu replaced his bug by one of theirs (and both bugs were fixed by apple in a subsequent iOS release.) He probably had to spend some time finding a new bug to use in his classes so it's understandable to be pissed.
A sibling post said they took his code. That's a fair complaint, was it clear when they saw it that it was not code that they could reuse?