Android Jelly Bean Much Harder To Hack
New submitter SternisheFan tips this quote from an article at Ars:
"The latest release of Google's Android mobile operating system has finally been properly fortified with an industry-standard defense. It's designed to protect end users against hack attacks that install malware on handsets. In an analysis published Monday, security researcher Jon Oberheide said Android version 4.1, aka Jelly Bean, is the first version of the Google-developed OS to properly implement a protection known as address space layout randomization. ASLR, as it's more often referred to, randomizes the memory locations for the library, stack, heap, and most other OS data structures. As a result, hackers who exploit memory corruption bugs that inevitably crop up in complex pieces of code are unable to know in advance where their malicious payloads will be loaded. When combined with a separate defense known as data execution prevention, ASLR can effectively neutralize such attacks."
I have been doing game hacks (trainers and multiplayer hacks) on Windows for over a decade. Windows - or it's compilers - have always had data and code location randomization. As a result we don't rely on specific code addresses but make our code universally working anywhere.
One popular method of establishing this is to rely on fingerprints. Instead of hard coding addresses, you provide fingerprint that finds the right place first. Lets say you have a specific code. Then your fingerprint might be as follows:
90 32 ?? ?? ?? ?? 30 ?? ?? ?? 90 90 90 90 ?? ?? 32 40 4B ??
Then you will run thru the code searching for such piece of code. Anything can be in place of ??, such as other addresses. Sure, you can't hard code anymore.. but your code will be much better after adding this kind of function because then it will also work between all versions of software, even if updates.
So basically Google is adding something that other OSes have had for decades and making a huge noise about it, while it actually establishes nothing and even forces hackers to deliver better code. It seems like Google does not know at all what they're doing with their OS.
Android Jelly Bean Much Harder To Hack
I can't wait to show this headline to my non-computer-type friends and watch their heads explode.
who cares....who has 4.1?
here is an idea why not just use unix permission built into linux? give me sudo privileges by default so i don't have to hack it, and let me worry about the security.
---Saying gnome 3 is better than windows 8 not so much a compliment as it is damning with light praise.
From my experience with hackers, if you say your platform is more challenging to hack, it attracts more hackers to try and hack it. Never taunt happy fun hackers.
Obfuscating your security is okay, but obfuscating the fact you have a bunch of anti-hacks in place seems even better.
I've been looking into anti hacker theory ever since Starcraft 1 maphackers ruined ladder.
God spoke to me
Will be hackable with a sonic screwdriver.
Address space layout randomisation sounds like a good idea, long overdue, and I'm glad it's slowly being rolled out.
That said - I think it's an extremely sad reflection on the state of software engineering that we simply accept that "memory corruption bugs in complex pieces of code are inevitable".
Memory corruption has such far-reaching consequences - causing the failure of pretty much every assumption of guarantee that it simply shouldn't be possible, let alone inevitable, in any industrial-strength language. We don't accept that, say, integer addition should sometimes randomly fail - although that used to happen back in the days of vacuum tubes. But we found and fixed the problem, and now our hardware is (relatively) trustworthy - yet our software is worse than ever. That we just shrug and accept memory corruption as normal - with an entire ecosystem of cybercrime and cyberwarfare created because of it - and don't seem to even think about why it might be, and how to fix the issue, but just keep slapping half-thought-out bandaid after bandaid is shameful to our profession.
(Insert image of Edsger Dijkstra surveying our burnt-out CloudPad 2.0 PHP/C++/Javascript cyberjungle with a single tear.)
You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
Now just make it harder for the malware installed by the carriers and manufacturers, and you might have something.
ASLR won't stop everyone.
This shitty Kindle Fire is going to hand-me-down city and my iPad is getting nervous. Everything I hear about the Nexus 7 and Jelly bean has me extremely excited!
It seems like the big vulneraibilites in mobile platforms these days involve apps doing things they shouldn't. Android is, for the most part, way ahead of Apple in terms of technical mitigations. Android sandboxes apps with explicit permission grants. Apple just vets them, incompletely. iOS also seems vulnerable to odd things, like this. Apparently executing unsigned code on iOS, if you can pull it off, sidesteps part of the sandbox. Android is based on the assumption that any app can execute unsigned code and it still tries to be secure.
A quick look at Oberheide's site shows a talk from a week ago at Summer Con detailing problems with Google's 'Bouncer' system, designed to detect malicious apps before they enter the Android Market:
http://jon.oberheide.org/blog/2012/06/21/dissecting-the-android-bouncer/
http://jon.oberheide.org/files/summercon12-bouncer.pdf
The executive summary:
Bouncer doesn't have to be perfect to
be useful
â-- It will catch crappy malware
â-- It won't catch sophisticated malware
â-- Same as AV, IDS,
â-- How much does Bouncer raise the
bar?
â-- Currently: not much
â-- Future: hopefully more?
The English word fart is one of the oldest words in the English vocabulary.
It's been in Android since 4.0 (Ice Cream Sandwich), which was released in mid-2011.
"Gasp! Does this mean a Slashdot summary might be incorrect?! Perish the fucking thought!"
http://xkcd.com/380/
I'm reading through this thread, and the standard response made by anyone who disagrees with a post is to either call them a moron, idiot, motherfucker, or to insinuate they are gay.
How about this? If you guys think that a post is inaccurate or simplistic - consider responding and explaining why the post is wrong. If you can't do that, then maybe your level of understanding on this topic is lower than you think it is.
I mean, come on. I realize this is Slashdot, and there are always a few people like that hanging around - but this story seems to be attracting an inordinate number of guys that have nothing to offer but anger and venom.
#DeleteChrome
What ever happened to processors designed to keep data and code execution spaces separate? It was done in the 1980s on processors with far far fewer gates. While it made application design a bit more 'thoughtful', I don't remember any designers complaining about it. Maybe I'm old fashioned, but aren't buffer/stack overruns/underruns a hardware architectural issue? If so, then why don't they fix the hardware?
memory corruption bugs that inevitably crop up in complex pieces of code...
Well, if they didn't use an OS written in C, or they used a static verifier, they wouldn't have that problem.
Address space randomization only protects against inept attackers. If the attacker can get anything running at a low privilege level, and there's an overflow exploit that lets them look into the address space they're attacking, they can find whatever is being moved around.
Address space randomization at best turns attacks into system crashes.
If you are curious about security, and which OS was first, perhaps you should look at OpenBSD and Linux (or, to be more specific, grsecurity, SELinux, AppArmor, TOMOYO, etc). If you wish to dig further, there's always MULTICS.
On the other hand, the first iPhone came out in the U.S. on June 29, 2007 and the first Android phone on October 22, 2008, so Google introduced the tech into its line of phones at about the same delta-relative-to-initial-release as Apple. As you note, Apple had a head start.
I'm all for additional security in all areas, but if they at some point remove the ability to root android phones then they will start to loose some of their appeal. Many cell carriers lock down important functionality in the android platform and its a slap in googles face giving clients crimpled versions of their platform and thus incomplete impressions on just how cool android is. Security should still take priority over worrying about whether or not people can root the device, but I'm hoping for the best of both worlds.
http://interserver.net/
This is not the problem with Android. The problem is those 5/5 star apps with "WOW Super I like this a lot" comments for several pages for malware. And the fact that devs are not pushed to explain why they need this and that phone feature (and obviously no control from Google).
Apple is further than Android. Sure, the app has to ask for permission, but whom does it ask? The end user. The end user is asked to agree to *bunch of things* to get his new app that he just chose out of a gazillion other apps. At that point in time, the end user is determined to get the app on his/her device and is willing to agree to anything because they already decided they want the app. In practice, those explicit permission grants mean nothing because for all practical purposes, over 50% of end users would probably agree to donate their first born child to the developer of the app without even blinking if that was in the click-screen with the grants.
Also, the unique UID per application and the unix filesystem permissions for all apps are usually worthless. Developers tend to set permissions of all their files to 777, which means world readable and executable. That way, they won't get any pesky permission denied errors. That other apps can read and write in their files doesn't matter to them, until someone "hacks" their application they aren't going to change it and Google Play sure isn't going to deny them for it, because Google has no commercial interest in denying apps that aren't malicious but just stupidly bad protected.
No, this is not an Apple Fanboi comment, but a reflection on the state of security android is in at the moment. These two factors combined make Android a total laugh when it comes to security, even if the rest of the framework is getting fairly decent, the end result is abysmal and you should consider any and all data on an average users android phone to be compromised.
I was promised a flying car. Where is my flying car?
Security through obfuscation/obscurity is when a company says "It's secure because it's proprietary." Seriously, because they have security experts looking at their implementation and critiquing it, by definition it's not security by obfuscation.
ASLR is a very important OS security mechanism. With DEP, which prevents hackers from simply placing an exploit in the application's own memory and executing that, hackers need to be able to determine where system libraries are in memory, in order to leverage them to execute their exploit code. If they get the memory location wrong, the exploited application will most likely crash (the stack will return to a memory location with unpredictable results). It isn't simply a matter of trying randomly, because they can't.
Either way, the problem was that messing with permissions like that would break some apps for whatever reason.
It's because the applications don't catch the SecurityException that gets thrown when an application accesses an API that requires a permission that the application doesn't have. This is done on the assumption that the installer will grant all privileges that the application requests, which is true of all official Android releases (and particularly all that come with a lawfully made copy of Google Play Store).
if we had descent permission we could stop super pony free app from phoning home our stolen information.
For one thing, I thought only Parallax Software had Descent permission. For another, if the application weren't allowed to phone home at least every so often, it'd just error out "can't contact high score server" back to the home screen, just like the various Android app stores do while offline.
I can try to be a cynic and think that someone will find a work around this concept but I always enjoy seeing new security concepts like this pop up to see how effective it is or not.
Nor realizing that that means they didn't get one of the most key points of software development: That you never write the same code twice
So how should one design an application for portability to both Windows Phone 7 and another handheld platform without either A. writing the same code twice (WP7 can't run a lot of languages other than C#) or B. paying hundreds of dollars per year to Xamarin?
PHP, which appears to be the only language and community ever to actively hate consistency to the point of working directly against it
I agree with you. However, PHP hangs on in part because entry-level web hosting plans that offer only PHP are often cheaper than plans allowing other, more consistent languages. Case in point: visit this page, click "Linux plan details", and search for "Language Support".
All I can think of is initially exposing devices to a curated version of the Play Store ala Apple
AppsLib tries to do this: it ranks "approved" applications higher than other applications. Amazon Appstore is also a curated store and the default store on Kindle Fire tablets.
iOS works fine without JIT compilers outside of JavaScript in Safari.
It's been in Android since 4.0 (Ice Cream Sandwich), which was released in mid-2011.
"Gasp! Does this mean a Slashdot summary might be incorrect?! Perish the fucking thought!"
RTFA. It was introduced in 4.0, but the implementation was flawed. It is fixed in 4.1.
Reading the fucking article to gain more insight than was present in the summary? Perish the...oh, yeah, right.
Carry on.
And OSX was the last of the major desktop OS's to implement ASLR. Linux has had it since 2000. Windows had it by 2005. OSX only had a partial implementation with Leopard.
Good confirmation that android copied iOS
Who would've thought they would turn jelly beans into Androids.
What's wrong with the world. I don't want to hack no goddamn Androids.
Give me my jelly beans back! What the hell am I going to do with Androids?
Mods are bitchy today...
1. Doesn't deserve -1. Doesn't deserve a 5 by any means, but this is a true statement. 1 is appropriate. 0 is as well. But -1 is stupid.
2. Gentoo Hardened, as the OP calls it (always called it Hardened Gentoo myself) actually entails more than the ASLR. The ASLR is a definite factor in it, however, so it is still more relevant than some of the trolls that get up-modded on this...
Are most iOS applications written in a Java-like language?
No. iOS applications don't need recompilation because they are written in the unmanaged language Objective-C, perhaps with some C++, except for those applications that run mostly inside a UIWebView which are written in JavaScript. The W^X enforced on applications other than Safari's JavaScript interpreter is stricter than that on platforms allowing general recompilation: no page designated for writing can ever switch to being designated for execution, nor vice versa, without being cleared first.
Thanks for the pointers.
However, I was more interested in Android's direct competitors, i.e. other mobile operating systems. I am certainly aware that desktop/server OSs have had ASLR for quite a while. (Although I don't think MULTICS would have had it... I read that ASLR was only invented in 2001. Maybe it existed earlier but not under that name?)
Yeah, my comment about Apple's head start was _intended_ to draw attention to the way the summary was castigating Google's alleged tardiness, when in reality they're only a handful of months behind their major competition in _mobile_ OS's. I thought the article summary was quite trollish when it was talking about how Google has "finally implemented an industry standard defence" and I was trying to point that out - I wasn't trying to troll myself!
I appear to have been widely misinterpreted, unfortunately. I definitely need to use sarcasm tags more when posting on Slashdot.
I certainly think ASLR is a great thing to have in a widely-deployed OS that tends to hold a lot of valuable user data, and which has a lot of exposure to the web. I'm still curious to know whether BB OS and Windows Phone have any ASLR capability, but it appears that no-one who knows has seen these posts.
For what it's worth, I've done 5 minutes of Googling and haven't found any evidence that WP7 or BBOS _do_ have ASLR. So I'm kind of assuming that they don't (which makes a bit of a mockery of the claim that ASLR is an industry standard). Still, good job Google (and Apple) for actually applying serious security improvements to mobile OS's.
ASLR is commonly used alongside DEP, and it's harder to get a JIT-recompiling virtual machine such as Dalvik working under DEP than to get anything else working under DEP.
Six years in IT industry is eternity.
Then explain why so many businesses are still using a desktop OS from 2002.