Slashdot Mirror


Security Expert Says Java Vulnerability Could Take Years To Fix, Despite Patch

An anonymous reader writes "After the Department of Homeland Security's US-CERT warned users to disable Java to stop hackers from taking control of users' machines, Oracle issued an emergency patch on Sunday. However, HD Moore, chief security officer of Rapid7, said it could take two years for Oracle to fix all the security flaws in the version of Java used to surf the web; that timeframe doesn't count any additional Java exploits discovered in the future. 'The safest thing to do at this point is just assume that Java is always going to be vulnerable,' Moore said."

46 of 320 comments (clear)

  1. Java used to be secure and sandboxed by buchner.johannes · · Score: 4, Insightful

    What happened? Most of these exploits seem to rely on rewriting methods / accessing byte code ... how about disabling that access for applets as a temporary measure?

    --
    NB: The message above might reflect my opinion right now, but not necessarily tomorrow or next year.
    1. Re:Java used to be secure and sandboxed by bobdehnhardt · · Score: 4, Insightful

      Nothing is truly secure, it's simply in a state where the vulnerabilities haven't been discovered yet.

    2. Re:Java used to be secure and sandboxed by robmv · · Score: 5, Insightful

      I don't see think Java the platform is a security nightmare, but if someone doesn't need then don't install it, reduce your chances of being attacked with software you don use.

      Every Chrome/Firefox release has security vulnerabilities fixes, sometimes bugs as critical as this one, and I don't see people screaming "Remove Chrome, Disable Firefox...". All software has bugs, the problem with Java is the slow response of Oracle (and Sun at that time) fixing things, the update cycles are too long and only when a critical bug very loud on the media is found you see them pushing a fix.

    3. Re:Java used to be secure and sandboxed by zero.kalvin · · Score: 5, Informative

      Yes, but when a bug is found in either of them (Firefox or Chrome) devs race to plug the whole. On the other hand Oracle knew about this since August and did nothing about it..

    4. Re:Java used to be secure and sandboxed by gandhi_2 · · Score: 4, Insightful

      Maybe if they'd spent less time trying to get people to install ask toolbar or somesuch bullshit....

    5. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 5, Insightful

      They did not do nothing about it, they did release a patch. (That patch was insufficient and that is a valid point to criticize Oracle.)

    6. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 5, Informative

      yes, we already blacklist Java across the company where I work due to this.

      in general they're quite liberal about letting employees manage their own computers (it's a software dev studio) but Java is blacklisted because of the Ask bundling, which is considered Spyware at corporate level and difficult to remove cleanly.

    7. Re:Java used to be secure and sandboxed by bbn · · Score: 4, Informative

      Java code is sandboxed but many parts of the Java standard library is not written in Java. Every time SUN took the easy way out and used an external library instead of reimplementing in Java, they opened the platform to exploits of bugs in that library. Also it seems the SUN engineers did not really like to code in Java so they made a very large part of the platform in C - even when they could have made those parts in Java.

      The standard library rt.jar file has more than 1000 methods that are implemented by native calls to C code or third party C libraries. It is simply too much to check that every single one of those crossed all the t's and dotted the i's. So we keep finding more bugs.

      The sandbox itself is fairly secure so there is nothing wrong with the idea. It is just the implementation that went wrong.

    8. Re:Java used to be secure and sandboxed by squiggleslash · · Score: 3, Insightful

      Disuse leads to misuse.

      I'm serious. Java (on the web browser) got ignored, Flash (a more complex system so misleadingly more insecure) got the attention, and as a result Sun, and then Oracle, increasingly went to "phoning it in" as far as updating the Java plug-in went. If you want to know where the security holes are in any system, don't look at the parts that everyone uses, as those are the parts the security people are all over.

      --
      You are not alone. This is not normal. None of this is normal.
    9. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 4, Insightful

      Taking half a year to release the patch is also a valid point to criticize.

    10. Re:Java used to be secure and sandboxed by VGPowerlord · · Score: 4, Insightful

      They did not do nothing about it, they did release a patch. (That patch was insufficient and that is a valid point to criticize Oracle.)

      Taking half a year to release the patch is also a valid point to criticize.

      The GP wasn't talking about the patch from Saturday.

      There was a previous patch in October that partly plugged the hole that was exploited this time, and Oracle should definitely be bashed for that.

      --
      GLaDOS for President 2016! "Well here we are again. It's always such a pleasure." -- GLaDOS, 2011
    11. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 4, Informative

      If you download from java.sun.com (or http://www.oracle.com/technetwork/java/index.html) then there's no bundled toolbar. Only the installers from java.com have the bundled toolbar.

    12. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 5, Funny

      This is absolutely not true. This vulnerability was a zero-day exploit. Zero-day means, by definition, nobody knew about it except the guys who wrote the exploit. We learned about this exploit last Thursday and had a fix on Sunday. Folks were up working around the clock to get the fix out.

      We take security exploits incredibly seriously. Three times a year Oracle produces "critical patch updates" and we're working hard to clear out every bug from our backlog related to security, at the expense of new feature development. The suggestion that Oracle doesn't care about fixing these security problems is simply not true.

    13. Re:Java used to be secure and sandboxed by drkstr1 · · Score: 4, Insightful

      It's just a widely deployed target (much like Flash, PDF, and Windows), which means the baddies get a better ROI on their efforts. It's nearly impossible to fully lock down a platform like that while still providing functionality above and beyond HTML/JS. Even less so because it's a valuable target with lots of attention.

      --
      Fanboy Status: Apache Flex, C#, Eclipse, KDE, Pirate Party, Ron Paul, Slackware, Windows 7
    14. Re:Java used to be secure and sandboxed by Anonymous Coward · · Score: 5, Insightful

      No, no, no and no.

      That is a terrible logical fallacy and everytime it comes up it gets to +5 insightful. This is simply just as broken as the "broken windows" fallacy (nothing to do with Microsoft Windows btw). And for whatever reason, even smart people fall for it.

      The fallacy you're falling for is basically the "shades of gray" fallacy. Instead of having two choices (black or white) you argue that it's all gray. But hence you're restricting the issue to something even more simplistic than before: now instead of two colors, there's only one (gray, no matter the shade).

      So instead of saying that there are technologies inherently more secure than others (for example OpenBSD hasn't been "rooted" nearly as many times as Windows XP), you're saying: "But OpenBSD had *two* remote-root bugs already found in 12 years and there are probably others, but we haven't found them yet. So it is impossible to create something secure".

      And by doing you're implying that OpenBSD or Windows XP: it doesn't matter, it's all gray. Because nothing is truly secure.

      And it's very sad. And it's a terrible fallacy to fall for.

  2. Re:So long/The way the future was by tripleevenfall · · Score: 5, Funny

    This might seriously impede the Year of Java on the Desktop

  3. Two years? by schneidafunk · · Score: 5, Interesting

    It looks like he randomly pulled a time frame. I cannot find an explanation for the two year estimate.

    --
    Some people die at 25 and aren't buried until 75. -Benjamin Franklin
    1. Re:Two years? by Anonymous Coward · · Score: 5, Insightful

      It looks like he randomly pulled a time frame. I cannot find an explanation for the two year estimate.

      Ah, but that's the beauty of it! Owing to the blind hatred of Java around these parts, he can pull any alarmist timeframe out of his ass at any time, and we're certainly not going to argue with him!!! If anyone does, we can accuse them of liking Java, and then we excommunicate them and shame them in the entire software engineering world until they can't ever get a job again as a warning to others! It's brilliant!

    2. Re:Two years? by Zocalo · · Score: 5, Interesting

      Possibly, but it could also have something to do with Oracle's announcement that Java will be getting regular updates on a two year schedule. Maybe he's just assuming it's going to take a major iteration - from the v8.x series due in September to the next release, v9.x to completely fix this class of flaws.

      --
      UNIX? They're not even circumcised! Savages!
    3. Re:Two years? by LordLimecat · · Score: 3, Insightful

      and we're certainly not going to argue with him

      Why would we? Given that Java has been a security nightmare for 5+ years, 2 years to "secure" it (ie, doesnt have a critical exploit every 2 months) doesnt seem far fetched. If anything its conservative.

      Seriously, anyone want to take bets on whether in 2 years browsers will still treat java plugin as an unusual security case? (firefox / chrome auto-disable java unless its the most current version due to its massive problems).

  4. Browser Plugins are Always Vulnerable by Anonymous Coward · · Score: 5, Insightful

    The solution is to stop running untrusted code in your browser. If you are using a browser's default configuration, then any time you go to a website, the browser will automatically download and execute software from the website, in the form of Flash, Java applets, javascript, and Silverlight, if you have it installed.

    And you think there aren't any vulnerabilities in any of those sandboxes?

    1. Re:Browser Plugins are Always Vulnerable by Wrath0fb0b · · Score: 3, Funny

      But there are also well-documented CSS vulnerabilities, XUL exploits and even one in a JPG parser.

      Should we disable those as well? Are you part of some guerrilla marketing campaign to bring back Lynx?

    2. Re:Browser Plugins are Always Vulnerable by LordLimecat · · Score: 4, Insightful

      Living is a risk. You have to quantify and try to mitigate the bigger risks.

      Java qualifies as a "bigger risk", and you mitigate it by uninstalling JRE.

    3. Re:Browser Plugins are Always Vulnerable by Anonymous Coward · · Score: 4, Funny

      Personally I'd vote for bringing back gopher! And if that means we "lose" that blinged out "web-2.0" crap, it's not a day too soon.

    4. Re:Browser Plugins are Always Vulnerable by dkf · · Score: 3, Informative

      Java qualifies as a "bigger risk", and you mitigate it by uninstalling JRE.

      You mitigate by disabling Java in the browser. You also want to do that for performance reasons; the Java plugin is resource hungry by comparison with most other plugins (let alone with running Javascript code). I've been keeping it switched off for ages, and the logic behind that wasn't security even though that was one of the nice outcomes. Uninstalling the JRE is a much more extensive change, in that it tends to result in the inability to run any Java program, including many that are totally unrelated to web security. The best response is always the proportionate one.

      Of course, with this much hyperbole you're well suited to be a security commentator. Throwing babies out with bathwater a speciality! Next up, why you should disable HTTPS because of the compromise of one CA...

      --
      "Little does he know, but there is no 'I' in 'Idiot'!"
  5. Applies to all outside software by Todd+Knarr · · Score: 4, Insightful

    The safest thing to do at this point is just assume that Java is always going to be vulnerable.

    That's not specific to Java, it applies to all software that's downloaded from an outside source and run on your local machine. That means Adobe Reader (PDF is simply a wrapper for a program written in Postscript), Flash (ditto, written in a special programming language) and even Javascript. It even includes downloaded TrueType fonts (the font hinting program they can include is just that, an executable program). Don't dismiss them just because they're sandboxed. Java was sandboxed, that didn't stop this vulnerability. Sandboxes are software and software has bugs in it, always. The only question is the number and severity of the bugs. The simpler the software, the fewer bugs there tend to be because there's fewer places for them to hide. Their favorite hiding place is in unexpected interactions between different parts of a piece of software, or between the software and the system it runs in, and simpler software has fewer and simpler interactions that're easier to get right.

    This even applies to software you buy from a vendor. The difference is that with bought software you tend to download it only a few times and always directly from the source. Contrast this with the Web, where you're downloading multiple pieces of software on virtually every Web page you hit with no idea where they're coming from (and, in the case of advertising networks, the place you download them from may not even know who or where they're coming from).

    1. Re:Applies to all outside software by TheGratefulNet · · Score: 5, Insightful

      in short, 'mobile code' (stuff that runs and is sent across from them to you, to be run on YOUR platform) is untrustable by nature.

      I never liked the idea of it, not once. I think its all a security fail.

      'here, here's some binary code. run this. no, don't ask questions, just execute this, please'.

      why people thought that was a good idea is beyond me.

      --

      --
      "It is now safe to switch off your computer."
    2. Re:Applies to all outside software by PenquinCoder · · Score: 5, Informative

      Java != Javascript

    3. Re:Applies to all outside software by Karlt1 · · Score: 5, Informative

      "Trying to use 'todays' internet with Java disabled is not a viable option. A realistic estimate is that over 70% of all common websites require Java to function correctly.

      It is unfortunate that so many web developers use Java in places where it just isn't required. While I agree that Java Script does provide needed functionality in some situations, that is not the case in many (most) applications."

      Really? This day and age someone not knowing the difference between Java and Javascript?

      70% of pages do not use Java. Javascript yes but they are completely different.

    4. Re:Applies to all outside software by Todd+Knarr · · Score: 3, Informative

      Absolutely nothing. In fact, I think they've already found ways to break out of most of the hypervisors out there and gain access to the host machine from inside a VM. The only exceptions I can think of are the IBM mainframe hypervisors, and those have the dual advantages of a) decades of work finding and removing bugs and b) hardware that was designed to run the hypervisor and has special support for isolating the hypervisor from the virtual machines.

      Bear in mind that for cloud applications you actually need to be worried about the reverse: protecting your application from the hypervisor breaking into it. The worst incursions won't be from other applications breaking out of their VMs, it'll be incursions from the cloud provider's own internal network (from conventionally-infected machines) infiltrating the host machines' hypervisor software and from there reaching down to infect hosted applications.

    5. Re:Applies to all outside software by bcrowell · · Score: 4, Informative

      PDF is simply a wrapper for a program written in Postscript

      Not true. Postscript is a Turing-complete language. PDF is basically a redesign of postscript that, among other changes, makes it into a Turing-incomplete language. This makes PDF inherently more secure than Postscript.

      The security flaws that keep popping up in Adobe Reader are not holes in PDF itself, they're holes in other features that were added on later, such as the ability of recent versions of PDF to embed javascript. By default, AR will execute javascript that's embedded in pdf files. This is both a privacy (people can track readers) and a security issue (more than one stack overflow bug has been discovered that's related to js). To disable js, go to Edit, Preferences, JavaScript, and uncheck "Enable Acrobat JavaScript".

      Better yet, simply don't use AR as your PDF plugin in your browser. On linux, Evince is pretty good.

      The situation with PDF is actually closely analogous to the one with java applets. Both technologies were designed with security in mind, and are inherently possible to implement straightforwardly in a secure way. Both are open specs that are freely implementable without paying patent royalties. In both cases, the evolution of the spec is currently being guided by an evil corporation that doesn't care about security. The main difference is that in the case of PDF, the relevant read/write functionality exists in multiple completely independent implementations, whereas for java, there is no full reimplementation by anyone besides sun/oracle, only implementations that use almost all of oracle's code and replace portions that weren't freely available.

  6. So? by Hatta · · Score: 3, Interesting

    Running programs from untrusted sources has always been unadvisable. I run java every day, and I'm not worried at all about getting compromised. Apps like ImageJ or UGENE, if they weren't written in Java would be written in a native language which would be just as dangerous to install. So don't be an idiot and run programs from random websites and you'll be fine.

    --
    Give me Classic Slashdot or give me death!
  7. Re:So long/The way the future was by Anonymous Coward · · Score: 5, Funny

    Sure, Java will be dead in 5 years.. just like COBOL.

  8. Re:WTF is the deal with Java and being so insecure by Anonymous Coward · · Score: 4, Insightful

    The idea is that you are at the same time providing a full language and a sandbox. Together. Java is not inherently more or less secure than any other language (well, mostly), but the above premise is extremely hard to pull off correctly. Think of an applet as some piece of code you download and execute. Would you trust doing that in any special language? Think of Flash, how many flash issues have we seen? And Flash is "less complex" than Java.

  9. Much hyperbole about nothing by Zero__Kelvin · · Score: 5, Interesting
    That's not specific to Sun/Oracle's JVM Implementation, but goes for all software, at all times.

    "it could take two years for Oracle to fix all the security flaws in the version of Java used to surf the web" ... "The safest thing to do at this point is just assume that Java is always going to be vulnerable,""

    This guy isn't a security expert. He doesn't even know that Java is a programming language, and that Oracle's JVM is not "a version of Java used to surf the web". No self respecting expert would misuse terms the way he is, and he should be sued for doing it. It leads to ridiculous situations, where people think Java is inherently bad. I mean, isn't Android based on Java? OMFG ... don't get one of those! Haven't you heard. Java is vulnerable to attack! If the writer got what this guy said correct then his guy is either shilling for Apple or Microsoft against Google/Android, hates Oracle, or is phenomenally incompetent.

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  10. Why isn't there a whitelist-only mode? by Anonymous Coward · · Score: 5, Interesting

    I find it strange that I can install a flash blocker that allows me to whitelist certain websites but that similar functionality seems to be missing for Java... the easy answer is to not allow java to run unless the site or even specific URL is in a whitelist.

    The java engine should check whether the code it is about to execute is from a whitelisted location before it executes it. If the code is not, it should warn the user, perhaps prompting to add the site.

    That way your banking and ecommerce sites would still work easily while the "bad guys" would at least have to successfully social-engineer you into adding their site, a situation much better than what we currently see where all you have to do is inadvertently browse to a web page with compromized java applets embedded.

    1. Re:Why isn't there a whitelist-only mode? by David_Hart · · Score: 5, Informative

      If you are using Firefox, Chrome, or Safari, you can install NoScript. I find that it works well. It takes some effort to figure out which scripts you need to run for each page to display properly and which are the advertisement scripts. But it does the job. So far, I have found only one site that doesn't work with NoScript, but it's not a common site.

      If you are not using If you are using Firefox, Chrome, or Safari, then it may be time to switch. I, personally, have always preferred IE. However, I made the switch to Firefox a couple of years ago and haven't turned back since. The security plugins for FireFox are much better than for IE and most are free (open source).

  11. It's the browser plugin... by Anonymous Coward · · Score: 5, Insightful

    Running programs from untrusted sources has always been unadvisable. I run java every day, and I'm not worried at all about getting compromised. Apps like ImageJ or UGENE, if they weren't written in Java would be written in a native language which would be just as dangerous to install. So don't be an idiot and run programs from random websites and you'll be fine.

    The problem is, the default Java runtime install includes a browser plugin that allows Java applets embedded in a webpage to run automatically. Code delivered this way is supposed to run inside a strict sandbox, but that sandbox has been repeatedly shown to be full of holes.

    (Desktop apps written in Java, including UGENE and ImageJ [and Eclipse, and the mostly-not-Java LibreOffice] do not use the browser plugin and will run fine even if the browser plugin is disabled or deleted completely. Your standard don't-be-an-idiot advice does indeed apply to these kinds of apps. But the JRE you installed to run ImageJ will install the browser plugin you never asked for and don't need.)

    Oracle really should consider making the browser plugin a separate, optional, non-default installation.

  12. Server- vs. client-side Java by DragonWriter · · Score: 5, Informative

    "Trying to use 'todays' internet with Java disabled is not a viable option. A realistic estimate is that over 70% of all common websites require Java to function correctly.

    The only way that number is within an order of magnitude of being correct is if it is a reference server-side Java, which isn't the issue. In-browser Java is the issue, and very few common websites require in-browser Java to function correctly (in-browser JavaScript, perhaps, but aside from artifacts of early-90s marketing in the naming, the two have nothing in common.)

  13. Re:So long/The way the future was by gabereiser · · Score: 3, Funny

    I think he meant Kobol, the originating planet of the thirteen tribes.... Took a lot longer than 5 years to die but then again, the Galactica found it in ruin and didn't stay for archeological studies...

  14. Re:WTF is the deal with Java and being so insecure by Luckyo · · Score: 4, Informative

    Javascript has NOTHING to do with java.

  15. Reflection API by RedHackTea · · Score: 3, Interesting

    So after following the rabbit hole, the article links here (see PDF) and here (same site, just "codes" for the issues) while exclaiming about 50 issues in Java! If you cut out the fluff, the only issue is the Reflection API. C# will and does have the same exact vulnerabilities. And after looking through it, it wouldn't take 2 years to apply these "fixes"; however, some "fixes" remove Java functionality, so it will never be "fixed" because why remove functionality. Any language can do bad things. We can only hope that the general public doesn't read this shill crap.

    However, I admit that this is also a good thing to hopefully encourage Oracle to provider quicker updates/patches/etc.

    I still don't see a mass migration to other languages happening. JAXB (and annotations in general) is one of the best things Java ever invented. I have yet to find a language with features that make XML reading/writing as easy as JAXB. Unicode, i18n, and l10n were well-done from the beginning. Even though people laugh at the notion of byte code and the cross-platformness of Java, I still have yet to see another language do this better. Java will die when either a better solution emerges or enough corporate shill kills it.

    And I still don't understand why Linux is being bogged down with C# mono programs such as Banshee, TomBoy, etc. Don't get me wrong, these are great programs, but why not write them in a language that is more open? It would have been just as easy to do these in Java with GTK+.

    /endrant

    --
    The G
  16. oracle as damage, route around it by bcrowell · · Score: 5, Insightful

    To paraphrase a well known saying, I think it's time for the internet to start seeing oracle as damage and route around it.

    One really simple thing that seems needed, and that should be extremely simple to do, would be a whitelist/blacklist plugin for java applets in firefox. The vast majority of java applet users are probably people who work in a bank, a law practice, or a medical office and only ever need to use a single applet. They need an option where they can blacklist all java applets by default, but allow applets from medicalrecords.com or whatever. These folks can't just disable the java plugin completely. Setting plugins.click_to_play to true is also a solution, but it breaks sites that use flash, and it doesn't protect the business against an office worker who clicks on stuff without thinking. (I tried setting this flag on my desktop box at home, and was too much of a nuisance. This is what I have flashblock for, and flashblock does the job better.)

    Another helpful step would be to make it easier for people to find out which versions of java they have on their computers and easier for them to avoid unsafe versions. On my ubuntu box, managing this is a total mess. If I do "java -version", it tells me I'm running java 1.6, which would be immune to this vulnerability. But if I check inside the directory /usr/lib/jvm , it turns out I actually have 1.5, 1.6, and 1.7 all installed. Well, which one is firefox using? I get zero results from dpkg --get-selections icedtea . In firefox, doing tools:add-ons:plugins tells me I have IcedTea-Web 1.2, which tells me nothing about the java version. Typing about:plugins in the url bar shows me literally two dozen version numbers. Googling turns up somebody's test app at http://javatester.org/version.html , but (a) how do I know this guy isn't a black hat, and (b) even if that showed I was currently running 1.6, what happens if a future apt-get upgrade bumps me into 1.7?

    The final thing that should really happen IMO is that the OSS community should get off the java upgrade treadmill. The IcedTea project should designate some version such as 1.6 as a high-security, stable version and focus some real effort on making that version secure. Distros should stop packaging 1.7+ until the dust settles -- and if that take a couple of years, who the heck cares? Hell, I wouldn't care if it took a decade, or forever.

  17. How do *you* propose interfacing to the OS? by msobkow · · Score: 3, Interesting

    Of course there are hundreds or thousands of native API calls made by the Java stack.

    Sooner or later you have to talk to the OS.

    --
    I do not fail; I succeed at finding out what does not work.
    1. Re:How do *you* propose interfacing to the OS? by bbn · · Score: 4, Informative

      Yes the point is that you can make it "later" instead of "sooner". Example of this is the Google Native Client which exposes OS services through only an API consisting of a handful of allowed methods compared to the thousands of the Java platform. It is a lot easier to make 10 methods secure than 1000.

      Native Client can run C code inside the Sandbox, so you can still take advantage of existing libraries.

  18. Re:So long/The way the future was by BotnetZombie · · Score: 4, Funny

    Perhaps the time is right for a COBOL browser plugin?