Slashdot Mirror


Serious Security Bugs Found In Android Kernel

geek4 writes with this excerpt from eWeek Europe: "An analysis of Google Android Froyo's open source kernel has uncovered 88 critical flaws that could expose users' personal information. An analysis of the kernel used in Google's Android smartphone software has turned up 88 high-risk security flaws that could be used to expose users' personal information, security firm Coverity said in a report published on Tuesday. The results, published in the 2010 edition of the Coverity Scan Open Source Integrity Report, are based on an analysis of the Froyo kernel used in HTC's Droid Incredible handset. ... While Android implementations vary from device to device, Coverity said the same flaws were likely to exist in other handsets as well. Coverity uncovered a total of 359 bugs, about one-quarter of which were classified as high-risk."

53 of 230 comments (clear)

  1. 88 critical flaws by Anonymous Coward · · Score: 5, Funny

    88 Critical flaws on the wall... 88 critical flaws... You take one down, pass it around...

    1. Re:88 critical flaws by icannotthinkofaname · · Score: 5, Funny

      You take one down, pass it around...

      ...89 critical flaws on the wall! ...shit, wait. My bad. These bugs are harder to fix than I thought they would be.

      --
      Let q be a radix > 1. I am in ur base-q, killing 10 d00ds.
    2. Re:88 critical flaws by blackraven14250 · · Score: 3, Funny

      There's more redundancy in the summary than there are flaws in Android kernel.

    3. Re:88 critical flaws by camperslo · · Score: 2, Interesting

      This article sure looks suspect coming from someone at a place with a name like PageOnePR?
      Going to their site it is clear the business is about promoting branding on social web sites.
      This isn't a group of coders working on improving quality. It's about PR and headlines.
      It's obviously not Android or open source that they're promoting.

      My money is on MS-funded FUD just as the MS phone is about to ship...

    4. Re:88 critical flaws by TooMuchToDo · · Score: 4, Insightful

      Number of new bugs we know about in Android: 88. Number of new bugs we know about in Windows for the phone? Note the process at work.

    5. Re:88 critical flaws by totally+bogus+dude · · Score: 3, Insightful

      Well yes, they were found. How else would we be reading an article about them having been found if they hadn't been found?

  2. Does it also cause sentences to duplicate? by ruiner13 · · Score: 5, Funny

    An analysis of Google Android Froyo's open source kernel has uncovered 88 critical flaws that could expose users' personal information. An analysis of the kernel used in Google's Android smartphone software has turned up 88 high-risk security flaws that could be used to expose users' personal information

    Does it also cause words in sentences to duplicate? Does it also cause sentences to duplicate? Also, was this submission done on an Android phone?

    --

    today is spelling optional day.

  3. Re:The most interesting thing about that article.. by AuMatar · · Score: 4, Informative

    Probably not many. Android has a rather large application framework running on top of Linux. The flaws are most likely in it, and most likely allow you to get access to data that you don't have permission to (permissions are implemented in the same code layer). When people talk about android, android isn't really an OS- it's more like Gnome or KDE with a basic permission system hacked on (and a totally Android only API).

    --
    I still have more fans than freaks. WTF is wrong with you people?
  4. Android or Linux by MSG · · Score: 4, Interesting

    Apparently no word on whether these are flaws in the vanilla kernel which Google has inherited, or flaws in the code that Google wrote.

  5. Re:The most interesting thing about that article.. by vakuona · · Score: 3, Insightful

    I don't think Apple was going for domination of the smartphone. Apple wants to sell lots of expensive smartphones, and they are not going to sell 100m of those year to year.

  6. score one for open source by SoupGuru · · Score: 2, Insightful

    Vulnerabilities are found and hopefully patched.

    As for Windows Phone 7, what we don't know won't hurt us, right?

    --
    What doesn't kill you only delays the inevitable
    1. Re:score one for open source by cyber-vandal · · Score: 3, Funny

      What we don't use surely?

  7. Re:Should have waited by TheRaven64 · · Score: 4, Funny

    Windows 7 Phones have no security vulnerabilities at all. Not even attackers have worked out how to run code on them...

    --
    I am TheRaven on Soylent News
  8. 88 bugs... by MrEricSir · · Score: 2, Funny

    ...about 44 women?

    --
    There's no -1 for "I don't get it."
    1. Re:88 bugs... by geekoid · · Score: 2

      Android is an open System, open to the whole wide world.
      Window is a bitter pill, security is a joke,
      iOS is a controlling freak, locked down app to unfurl.
      Linux lays the code right out, guarded by bearded blokes.
       

      --
      The Kruger Dunning explains most post on /. http://en.wikipedia.org/wiki/Dunning%E2%80%93Kruger_effect
  9. coverity's mindless drivel by Lead+Butthead · · Score: 5, Interesting

    Those "critical" and "serious" label are largely meaningless; Coverity allows you to configure classes of "problems" as being one of several different severity. It is what the sysadmin of Coverity wants it to be. If so desired, buffer overflow could be configured to the severity of "minor."

    --
    ELOI, ELOI, LAMA SABACHTHANI!?
  10. Re:The most interesting thing about that article.. by Anonymous Coward · · Score: 2, Informative

    The only reason Android is selling more phones in the US is because they are on more carriers. Which is about to change. Android will take a big hit when that happens just as happened in Europe.

    Whoever the idiot is who thinks OS X uses Linux needs to get a clue. It's the mach Kernel, some BSD subsystems, Darwin, and a UI layer.

  11. details? by JustFisher · · Score: 2, Insightful

    Andoid revision? Which kernel version? What are those 88? Did they found kernel flaws or app platform in general? What are you/they talking about?

  12. Re:The most interesting thing about that article.. by cr_nucleus · · Score: 2, Informative

    Apple wants to sell lots of expensive smartphones

    The device is only a mean to get people to pay for applications...

  13. coverity is a great tool. by gonar · · Score: 4, Interesting

    we use it at .

    Coverity is the commercial offshoot of the old Stanford Checker that found something like 2500 critical bugs in the linux kernel back when it (the checker) was just a grad school project. the bugs got fixed very quickly and linux was better for it.

    that said, Coverity's definition of serious or critical is not necessarily what most developers could call critical (haven't read the bug list, but from personal experience.....)

    in any case, this is a win. these bugs are now known, and google/community will fix them within days if they haven't already been fixed (I hope Coverity had the decency to inform google prior to their press release)

    --
    The difference between Theory and Practice is greater in Practice than in Theory.
    1. Re:coverity is a great tool. by Esospopenon · · Score: 2, Informative

      If you had read TFA, you'd have seen that Coverity is not releasing any details until January to allow Google and vendors to fix things.

    2. Re:coverity is a great tool. by RenderSeven · · Score: 2

      They may supply the output for free as you say. But I would have to assume Google and other for-profit developers need to retest using a licensed copy. Or more to the point, I would assume that Coverity would assume that. Perhaps I am terminally cynical, but even if Android can be considered a free software project I dont believe Coverity is trying to help Google out of sheer altruism.

      OTOH you seem to have had positive experiences with them, so perhaps they deserve the benefit (I also automatically cave to any user ID under 10000 :-))

  14. Re:Coverity uncovered a total of 359 bugs, but... by WrongSizeGlass · · Score: 2, Funny

    There's an app for that ;-)

  15. Re:Bug bounties? by WrongSizeGlass · · Score: 3, Insightful

    How much are these worth in bug bounty money?

    To Google or to exploit writers? I'm sure they're both offering bounties but I don't think they pay the same.

  16. High False Positive Rate by Anonymous Coward · · Score: 5, Interesting

    Coverity uncovered a total of 359 bugs, about one-quarter of which were classified as high-risk.

    Based on my experience using Coverity's tools, more than half are actually false positives and less than half of what's left are really as serious as rated.

  17. Re:this is a Success for open-source! by drcheap · · Score: 5, Interesting

    They are outed, and so get fixed even faster.

    Well, sort of. Even if they get fixed quickly by developers, the time it takes them to actually get fixes to consumer devices is huge. That deployment process relies on device manufacturers who often customize the OS a bit per-device and cell carriers who have to push out the updates. For them it's just an expense/loss of resources, so unless it's something really serious they don't even seem to put much effort into it.

  18. Re:The most interesting thing about that article.. by dragonturtle69 · · Score: 2, Interesting

    I must be missing the link to the study results. Oh, won't be out until next year, to allow for patching.

    So, maybe something, maybe nothing.

    There are better release from Coverity's site, http://coverity.com/

    --
    "What luck for the rulers that men do not think." - Adolph Hitler
  19. Re:Ok... by taviso · · Score: 5, Interesting

    Odd, I don't know why you're picking on me, but I assume "Android Kernel" is marketing-speak for "Linux", in which I've reported found and fixes dozens of flaws over the years.

    As you're so interested, here are some from the last month or two that you can take a look at.

    CVE-2010-3080, A use-after-free in snd_seq_oss_open
    CVE-2010-2960, A to-userspace dereference in keyctl_session_to_parent.
    CVE-2010-2954, Kernel panic and to-userspace dereference in AF_IRDA sockets.
    CVE-2010-3067, Various problems with aio (things like aio_submit())

    The coverity results I've seen in the past are generally very low quality with a high density of chaff. I haven't seen the report they're talking about, but would be surprised if there were any noteworthy findings with any significant security impact. The only report I've seen them publish that had any convincing vulnerabilities was in 2006, where they found a verifiable privilege escalation in XFree86 (due to a pretty horrendous typo).

    I'm a little saddened that you so readily associate me with Windows security, where as I consider myself primarily a Linux security developer, but I guess I'm flattered that where I spend my time is so important to you.

    (perhaps a little creepy, though).

    --
    ex$$
  20. Re:The most interesting thing about that article.. by Dhalka226 · · Score: 2, Funny

    hey are not going to sell 100m of those year to year.

    Why not? This year's model is EVEN MORE SHINY!!!

  21. 88 problems? by Anonymous Coward · · Score: 4, Funny

    If you're havin' 'droid problems i feel bad for you son,
    I got 88 problems but a bug ain't one

    1. Re:88 problems? by V!NCENT · · Score: 2, Funny

      If you're having girl problems I feel bad for you son,
      I got 88 bugs but a bitch ain't one.

      --
      Here be signatures
  22. SERIOUS by SirThe · · Score: 3, Informative

    You could like mention that this is projected to be the least number of vulnerabilities per line of code they found. Oh wait, that would require reading the article.

  23. Re:Should have waited by Bill_the_Engineer · · Score: 2, Interesting

    Haven't you seen the commercial. Everyone with a Windows 7 phone have wrecked their cars trying to get it to work.

    --
    These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
  24. Re:The most interesting thing about that article.. by AndrewNeo · · Score: 2, Informative

    Huh? Dalvik is a Java-like virtual machine. Android is the API, UI and user tools, running on top of Linux.

  25. Re:Is it just me? by V!NCENT · · Score: 3, Interesting

    Android uses outdated kernels in every release. Those issues are like "Hey grab a bugfix list from the latest kernel and write a study in which you supposedly hunted down these bugs yourself".

    It's like an unpatched Vista Service Pack Zero and then reporting about bugs that have already been fixed...

    --
    Here be signatures
  26. Real Problem is Slow Carrier Updates by zuperduperman · · Score: 4, Informative

    In truth, this is a strength, not a weakness of Android - this is the "many eyes" of open source in action. No doubt the important fixes among these will be addressed pretty quickly.

    The problem, however, is with the carriers who keep insisting on pushing custom firmware on their devices. With many devices never receiving any updates at all they are wide open - how long until we have massive malware issues because of this?

    What I hope is that this drives some consumer backlash which forces the carriers to stop the nonsense with customizing the core of android and instead just put their skins on the topmost UI layer. They should realize quick smart that they are not and should never be in the OS business and that updates need to come out within weeks of releases from Google, not years or never.

  27. Most of these aren't really going to be an issue by SpazmodeusG · · Score: 2, Interesting

    There's a function that helps avoid exploitation of the vulnerabilities in the API.
    developer.android.com/reference/android/app/ActivityManager.html#isUserAMonkey%28%29

    Just ensure that it's returning false and you should be safe.

  28. Re:The most interesting thing about that article.. by AuMatar · · Score: 4, Interesting

    Depends on your definition of OS. There's more than 1 definition, one of which translates to "the kernel" and another translates to "everything that comes with a computer", and a couple in between. When most technical people say OS, they mean the program that controls access to the hardware and provides system services- the kernel. By that definition Android is a framework on top of the OS. And in functionality it's far closer to a window manager than a kernel.

    --
    I still have more fans than freaks. WTF is wrong with you people?
  29. Re:The most interesting thing about that article.. by exomondo · · Score: 3, Insightful

    Probably not many.

    Well 88 were found in the kernel, which is a linux kernel. But who knows how many of those are in the actual linux kernel mainline.

  30. Re:Who cares about it when no updates available! by ZosX · · Score: 2, Insightful

    Yeah, because IOS is so much more secure than Android. New phones are churning out every 6 months. If you want to be ahead that's the price you have to pay. A new iphone is released every year. I don't really see what you are bitching about. If upgrading your firmware to the latest and shiniest is so damned important, buy a phone that isn't locked down, like a galaxy s or nexus one or htc desire or etc, etc, etc and install from the multitudes of roms floating out there. My "ancient" G1 is running froyo right now, and while it may not be the snappiest, I haven't had too many issues asides from the lack of ram on the g1 and a random reboot every few days due to using swap and a somewhat flaky microsd card.

    Really, even my lowly G1 is a million light years ahead of the crappy motorola candybar I replaced it with. This whole security issue is being blown way out of proportion. I would say that android by its own nature is fairly secure, seeing as how most everything runs in a sandbox anyways. If an app elevates permissions it should notify you and ask for your permission. Also it does say what each app has access to when you install. I don't really see what you could exploit here, since its a virtual machine running on top of a linux kernel. Yeah, you could exploit the kernel, but that wouldn't give you access to the VM running on top. Yeah you could get at the dalvik machine and probably execute overflows and whatnot, but there seems to be a good deal of internal checks against that sort of thing. IOS on the other hand runs everything natively. I would be willing to bet that IOS is easier to exploit than Android.

  31. Re:this is a Success for open-source! by jonwil · · Score: 2, Interesting

    Thats why manufacturers should be in control of updates and not carriers.
    Manufacturers should be the ones to release updates (though a manufacturer provided update system). Apple did it and it works GREAT (and Apple doesnt have to delay updates waiting for "carrier acceptance" or whatever BS the carriers want to do)

    Then we wont have situations like the Telstra branded HTC Desire where the manufacturer has released an update for the phone but the carrier is deliberatly holding up the release of the update.

  32. expose users' personal information by danwiz · · Score: 3, Insightful

    Exposes more than, say, a very simple app (game?) that requires Full Network Access, Fine Grained Location, and access to your System Settings?

    The biggest threat to personal information leaking on an Android phone are overly permissive apps, and the people who install them.

  33. Re:coverity is a code review tool by EvanED · · Score: 4, Informative

    However, I've not seen any formal soundness proof of Coverity itself. As a result, Coverity may very well accept buggy programs as correct. This would certainly limit the tool's usefulness.

    Oh, it definitely does. And in some sense it limits its utility, but it also is what lets it be as successful as it is.

    Rice's theorem says that the ultimate goal -- determine whether a program is buggy -- is literally impossible to be guaranteed to do completely accurately. Because of this, there are three possibilities that you can take when making a tool that attempts to do that; you must pick at least one.

    1. You can say a program is (or may be) buggy when it isn't.
    2. You can say a program is free of bugs when it is actually buggy.
    3. You can accept the possibility that your tool will run forever.

    Each of these occurs in practice. A familiar example of #1 is the type system of a statically-typed language: if x has type int and y has type SomeClass, the type system will say that a program containing the expression x = y is not legal even if it is impossible for that statement to actually execute (and thus the actual failure type systems are designed to prevent can't actually happen). I'm actually having a hard time thinking of a tool that picks just #2, but I'm sure there are some out there. #3 is the hallmark of some techniques such as concolic execution and some recent work on program verification. (I'm involved in one of the last tools.)

    But there are also a number of tools out there that admit the possibility of both false positives and false negatives: in other words both #1 and #2 can happen. The benefit you can get by doing that is that you can get an analysis that can find errors that are rather deeper than, say, your type system and yet it'll still scale to very large programs.

    There's no one perfect analysis; there's a spectrum based on how much you value finding bugs, how much you value gaining assurance that a program is bug-free, how deep of bugs you want to find, and how large of a code base you have to run on. Saying that Coverity "limits its usefulness" based on the spot it choose in the design space is true, but slightly misleadingly so, because every program analysis limits its utility, just in different ways. IMO not having used it, Coverity found a spot which is quite useful.

  34. Re:The most interesting thing about that article.. by Mr2001 · · Score: 2, Informative

    When people talk about android, android isn't really an OS- it's more like Gnome or KDE with a basic permission system hacked on (and a totally Android only API).

    Not quite - Android also includes a set of kernel patches.

    --
    Visual IRC: Fast. Powerful. Free.
  35. Re:The most interesting thing about that article.. by digitalchinky · · Score: 2, Insightful

    From the article and summary my own conclusion is that this is somewhat of an astroturf for Coverity and more than likely lacks any solid foundation. Certainly there may be bugs, but many are probably of the "Meh" kind.

  36. Re:The most interesting thing about that article.. by Dever · · Score: 2, Funny

    now now, give him time...it'll take a while for the cryogenic suspension effects to wear off...

    --
    - I'd prefer not to.
  37. Re:Serious first post by ooshna · · Score: 3, Funny

    This is Google, you know: a privacy flaw exposed in the kernel of their device isn't a FLAW! It's a business-enabling FEATURE..

    God damn Google for stealing Apple's business practices.

  38. Re:The most interesting thing about that article.. by amorsen · · Score: 2, Informative

    It isn't astroturfing. No one is pretending to be from the "community" or "grass roots" or anything. It's plain marketing.

    Coverity provides free code checks to many free software projects, in exchange for being able to make press releases like this one. The mainline Linux kernel has been through it at least a few times, but Coverity seems a bit confused or unhappy about the fact that Linus won't discuss bugs in secret. Many other large free software projects have a group of people who are willing to sign NDA's when dealing with security bugs, so bugs can be patched before being announced.

    --
    Finally! A year of moderation! Ready for 2019?
  39. Re:Ok... by taviso · · Score: 4, Interesting

    Odd question.

    I don't know about three days, but certainly under a week, which is completely normal in free software. Proprietary vendors generally want between six months and two years, but free software vendors and projects very rarely ask for more than a week or two delay before publication.

    In fact, Linus famously tells people not to tell him about any security issue you want kept secret for more than a week, as he will just go ahead and fix it.

    --
    ex$$
  40. Re:The most interesting thing about that article.. by TheRaven64 · · Score: 3, Insightful

    A lot of people - myself included - refer to Darwin when talking about the OS, and Mac OS X when talking about all of the stuff that Apple bundles on the install CD (including Quartz, Cocoa, and so on).

    Defining the OS as the kernel is problematic when you have microkernels, because the line between what is the kernel and what is userspace is blurred. With Symbian, for example, device drivers live in the kernel but they don't handle multiplexing between applications. When an application wants to access a hardware resource, it talks to a userspace server. Are these servers part of the OS?

    The general working definition of an OS is the stuff that you need to boot the system and launch programs. With a UNIX-like system, this includes the init system (typically including a POSIX-compatible shell), and a set of libraries. Most importantly, it includes libc, because this is the public interface to the kernel's functionality. If you select a target when cross-compiling stuff for OS X, you select the Darwin target, not the OS X or XNU target (there isn't one), because the compiler needs to know things like the object format to use (Mach-O), the calling conventions (not defined by the kernel), and a few other things.

    This is why people talk about GNU/Linux as a platform; because it's GNU libc, the GNU shell, and so on that their programs interact with. You can swap out the Linux kernel for something like a FreeBSD kernel much more easily than you can swap out the GNU stuff for BSD equivalents.

    Some people use a slightly broader definition for UNIX-like systems, including everything needed for compliance with the Single UNIX Specification. Since this includes things like c99, c++, and vi, I think it's a little bit to broad, because the system can happily function without them.

    --
    I am TheRaven on Soylent News
  41. Re:The most interesting thing about that article.. by TheRaven64 · · Score: 2, Informative

    The general working definition of an OS is the stuff that you need to boot the system and launch programs.

    It is a struggle to see how the full OS X (or Windows) would not meet this definition.

    The full OS X includes a load of apps, such as iCal, Address Book, and a load of frameworks that are not needed to launch apps. It contains a load of stuff that is not required to boot the system. It is a superset of Darwin, just as Darwin is a superset of XNU (but XNU can not boot on its own, while Darwin can). Any Darwin program will run on OS X, but not every OS X program will run on Darwin, because it may use some of the Apple frameworks or applications.

    You have, however, demonstrated the one consistency I've seen with "technical people" when defining what an "OS" - they always go out of their way to ensure whatever set of rules they make up excludes any sort of "GUI" from being included

    Not at all. The Quartz GUI is a separate process, the WindowServer, which is launched after the init process runs. If you hold down option-S when booting a Mac, it is not loaded, but you can still run programs. If you log in as the >console user from the graphical login screen, the WindowServer exits and you can proceed without it. It is, therefore, a clearly optional part of the system. You can even exit it and run X.org instead on an OS X system, although the X11.app from Apple runs on top of Quartz. There are other Darwin distributions which only include X.org and not Quartz.

    In contrast, Windows has a closer integration and does not expose a terminal-emulator interface to programs, so you must load at least part of the GUI if you want to run programs (if you boot NT in the emergency recovery mode, you actually get the the GUI loading and then running cmd.exe in a command prompt window).

    You have to include a shell for most UNIX-like systems, because the init system runs shell scripts, and you could not finish system startup without it. You have to include libc, because that provides the programmers' interface to the kernel (the Single UNIX Specification only specifies C interfaces, not system calls). You have to include programs that are run by init scripts, such as ifconfig. You do not have to include X11, because the system will happily boot and run programs without it - you can even run graphical programs on a remote display without having X11 running locally.

    --
    I am TheRaven on Soylent News
  42. Re:Serious first post by imakemusic · · Score: 2, Informative

    I mean after search, what have they delivered besides betas and hype? Collapsible threads in webmail?

    Google Maps
    Google Earth/Moon/Mars
    Google Skymaps
    Google Translate
    Google Docs
    Google Calendar
    Google Desktop Search
    Google Image Search
    Google Code
    Google Talk

    Plus they run/own:
    Blogger
    Youtube
    Picasa
    Sketchup

    But apart from that, nothing...

    I'm not saying they're perfect but saying that they've done nothing but search is just plain wrong.

    --
    Brain surgery - it's not rocket science!
  43. A better look at it by Mordocai · · Score: 2, Interesting

    http://www.esecurityplanet.com/features/article.php/3910891/Android-Code-at-Risk.htm seems like a better article to me, as it actually gives you information. For instance, to answer one commenter I saw, it mentions that the code from the vanilla linux kernel has fewer flaws than the code that is Android specific. It also mentions this gem: "We found that the Android kernel had about half the defect density that you would expect, compared to other industry average codebases of the same size," Andy Chou, Chief Scientist and co-founder of Coverity told InternetNews.com."What that means is that a defect density of one defect per approximately one thousand lines of code is industry average, according to our measurements – for the Android kernel, the defect density was about 0.47." According to the same source, the defect density if you look at Android only code is .7 per a thousand lines, so still below the industry average. In short, Android is more secure than most other kernels that Coverity has analyzed.