Slashdot Mirror


Oracle Fixes 42 Security Vulnerabilities In Java

wiredmikey writes "Oracle released its quarterly Critical Patch Update (CPU) for April, which addressed a whopping 128 security issues across multiple product families. As part of its update, Oracle released a Java SE Critical Patch Update to plug 42 security holes in Java, 19 with base CVE score of 10 (the highest you can go) and 39 related to the Java Web Start plugin which can be remotely exploited without authentication. According to security analyst Wade Williamson, organizations need to realize that Java will continue to pose a significant risk. 'The first step is for an organization to understand precisely where and why Java is needed,' Williamson wrote. 'Based on the rate of newly discovered vulnerabilities, security teams should assume that Java is and will continue to be vulnerable.' Organizations should to take a long, hard look at Java and answer for themselves if it's worth it, Williamson added. Due to the threat posed by a successful attack, Oracle is strongly recommending that organizations apply the security fixes as soon as possible."

47 of 211 comments (clear)

  1. Re:still with the java? by jtollefson · · Score: 2

    Why your bank? They're using Java because it isn't going anywhere soon. It's highly integrated all over the place and is leading the way as the language of choice for everything from big-data processing a'la MapReduce frameworks in Hadoop to Mom & Pop shops just looking for a new college grad to put together something for their needs.

    Dislike your bank because they're not treating you like their most important customer, not because they're using Java. =)

  2. Re:I only drink coffee by binarylarry · · Score: 5, Informative

    Few sites use Java applets (which is what you uninstalled).

    Far more sites use Java to power the site on the server side (Google, Amazon, Ebay, etc).

    --
    Mod me down, my New Earth Global Warmingist friends!
  3. #1 web error by EmperorOfCanada · · Score: 3, Interesting

    What I have observed is that many corporate types adopted Java about 8-10 years ago and seem to be largely sticking with it. But what I don't see are any organizations now switching to Java. The very occasional organization also seems to be dropping Java. At this rate the corporate world will still be using Java for a long time but I don't think it is where the cool kids are. Interestingly there seems to be no one thing replacing Java. I see python definitely becoming the language of choice in certain limited areas such as science and hedge-funds. I see some people tossing their java web front ends and replacing it with an array of things even including PHP.

    So all in all where Java is it will probably stay and I doubt that these security concerns will damage that audience much. What reports like this will certainly do is to dissuade many potential adopters of Java based technologies.

    1. Re:#1 web error by Anonymous Coward · · Score: 2, Interesting

      What reports like this will certainly do is to dissuade many potential adopters of Java based technologies.

      Which is a shame, because these vulnerabilities (which, for the most part, are either in the web plugin itself, or in aspects of the JVM that are only exploitable through the web plugin) have no bearing on Java's suitability for its most popular uses.

      The best move Oracle could make to rectify Java's public perception is to un-bundle the goddamn web plugin from the JRE. It's like a festering, oozing sore smack dab on the middle of the face of the platform.

      Make it optional, part of a separate download, and bury the link somewhere behind a registration wall on the support pages where only the most determined IT pinheads will ever find it.

    2. Re:#1 web error by Anonymous Coward · · Score: 4, Insightful

      Speaking as someone who does Release Engineering professionally, and thus tends to see all the technologies that a company uses in deploying modern systems, Java is still #1 by a long shot, and I continue to see new development done all the time.

      It's all middleware, though. And, frankly, for pretty much any reasonably scalable system which has some sort of a front end web-ish part, a middleware "business logic" part, and a DB backend, Java is not only the leader, but its essentially one of two choices: .Net is the other.

      Standalone apps don't much exist in Java anymore (the few that do are mostly legacy). It's also almost completely disappeared as part of the Frontend portion of content delivery (i.e. not in the dynamic content being served to the end user, nor in the "web server" portion of the infrastructure).

      But in terms of middleware, well, only .Net is a serious competitor in terms of enterprise requirements. Java's got all the nice library and code support, plus plugins and stuff for all the build/deployment/test infrastructure. C++ doesn't even come close, and python/ruby/perl aren't even in the running. Now, there are architectures where there IS no middleware, and the frontend system actually is a python program which both serves content and has business logic in it, but I see them far less commonly, and they have serious scalability issues.

      And, frankly, the middleware tier is also the place which minimizes Java's deficiencies, and maximizes its strengths.

      As far as the future goes, I desperately wish Oracle would quit expanding the featureset of Java, and just spend all the time cleaning up the codebase. Java (the language) is more than feature-full at this time, and there's really very little need to keep adding stuff to the language. The codebase, on the other hand, needs at least couple of years of full-on cleanup. The JVM itself is still pretty solid, but everything else is suffering from neglect pretty badly.

    3. Re:#1 web error by ADRA · · Score: 3, Interesting

      Trust me, as an implementor, there are plenty of new enterprises lining up moving to Java from C/C++/legacy. The alternatives are hodge podge languages which will most likely not work for supporting large number of diverse product categories, or you go with C/C++ and pay a crap load more money for developers & more time spent. Or, you can go with .NET which is fine if you're an all MS shop (less and less) or you rely on Mono for your non-windows systems (tough sell).

      Where's the panacea of general programming environments where:
      1. You can integrate it with -practically anything- (whatever the customer's currently plugged into -- protocol/socket, old DB's, all those queue systems, email, batch tools, clustering(scale), etc..) with little development overhead
      2. Easy access to developers with varying degrees of cost / performance
      3. 100% support on mainstream deployment platforms of choice

      If you're not answering these three questions, most non-dev centric businesses won't be playing ball.

      "but I don't think it is where the cool kids are"
      Yes, there's a big difference between what some people want to develop in, and what people actually write useful code in. Joe rock-star could do all his work in Scala/Groovy/Ruby/Python/langoftheweek, but without super unsexy long term support from competent developers, that software will crumble and die with the company forced to move their platform to something more standard just to find people to keep it alive.

      --
      Bye!
  4. Re:I only drink coffee by Freaky+Spook · · Score: 5, Interesting

    I need to use java interfaces every day, Cisco, EMC, Brocade, HP, IBM, Dell all use java for their management consoles, and I have to keep at list 6 different installers to be able to use them properly as periodic updates to java tend to break access to them if the client hasn't been keeping up with their firmware updates(which is pretty much everyone)

    It can be frustrating when you need 3 different versions of java to complete one job.

  5. Naive question by DoofusOfDeath · · Score: 5, Insightful

    What's the deal with people saying Java is a major source of insecurity?

    Does that mean compared to C++? Are they comparing (Java + all its libraries) to (C++ plus one instance of each library which is needed to match Java's standard libraries)? Insecurity of the JVM itself, compared to native object code?

    I honestly can't tell.

    1. Re:Naive question by Anonymous Coward · · Score: 4, Informative

      What's the deal with people saying Java is a major source of insecurity?

      Does that mean compared to C++? Are they comparing (Java + all its libraries) to (C++ plus one instance of each library which is needed to match Java's standard libraries)? Insecurity of the JVM itself, compared to native object code?

      I honestly can't tell.

      Really, none of the above. Of those, "Insecurity of the JVM itself" is closest to the truth.

      The big problem with Java is the browser plugin.

      For the most part, these vulnerabilities (I'm generalizing) are in the parts of the JVM that are used by the Java browser plugin, or in the plugin itself.

      It's actually one of the great ironies of Java. The Java language, and the JVM, were actually pretty well designed with regards to security; things like strong typing and garbage-collected memory management go a long way toward preventing ordinary bugs from becoming security issues. Unfortunately, long ago, Sun figured Java was so safe that there would be no risk with running Java code ("applets") off the Internet, right in your browser. So they built in a sandbox into the JVM, and created the Java applet embedding browser plugin that depended on that sandbox to prevent applets from harming your computer.

      And in doing that, they overreached, especially as they began adding features* that made the sandboxing of code from the Web harder and harder to enforce.

      Get rid of the browser plugin, and Java is no worse than any other language/platform. Probably better than some.

      C++ doesn't have this problem, because there is no equivalent browser plugin that allows random bits of C++ code from the web to get onto your comptuer.

      * I have heard that JVM support for dynamic languages in the version 7 JVM is a big reason for the growth in security vulnerabilities. I'm not educated enough to say whether this is true or nonsense, but it seems plausible

    2. Re:Naive question by VortexCortex · · Score: 2

      What's the deal with people saying Java is a major source of insecurity?

      Does that mean compared to C++? Are they comparing (Java + all its libraries) to (C++ plus one instance of each library which is needed to match Java's standard libraries)? Insecurity of the JVM itself, compared to native object code?

      I honestly can't tell.

      Yes. The design of the stack based language traded speed for size. When run as an interpreted language pure Java is very secure. However, now that it has JIT compilation you're basically just taking data, flagging that as code, then running it. That's what's inherently insecure. Not only do you have to worry about defects in the applications and library code, but also the virtual machine itself, which lowers the bar for malicious data to get itself marked as code, and executed. Combine that with the fact that in order to call an implementation "Java" it must have all those bells and whistles, PLUS backwards compatibility for deprecated features, AND a significantly huge section of "all its libraries", anything with the "Java" name attached is synonymous with Exploitable -- Anything with an attack surface that wide is. That Java is deployed on powerful well connected hardware as well as on end user machines through client side browser plugins makes it a perfect environment for anyone getting into malware development, the largely non-patched state of things and the fact that older (unpatched) versions are still sitting on your hard drive after a new update, waiting to be exploited by any malware that specifically targets them (check your installed program list and see), means that Java is considered "a major source of insecurity" by security experts world wide, yours truly included.

      You and I know that a language isn't just it's implementation, however, with Java: It is. That's a requirement of Oracle's trademark license. Which is why Oracle sued over Android (which uses the language Java, but not the implementation) -- So, when they say "Java", it's not the syntax we're talking, it's "Java" as defined by its owner.

      I loved Java once. Java COULD have been an amazing lightweight sandbox for application development, but it isn't. Java COULD have been the One Runtime to Rule them all if it wasn't so fracking complex, and native cross platform application development frameworks didn't exist (and work better). What is Java really though? Java is a way to make your application cross platform without releasing the source code... If you release the source code then Java's benefit is its unified API -- Which other cross platform toolchains provide. When I tally things up, including the massive source of exploits, extreme slowness (due to emulated floats -- not even using the FPU), Java just doesn't make sense for me. The advice in the submission is sound. Figure out if Java is worth it, look at the other solutions, and see if it's really the best way forward, all things considered, including security.

      Also Note: monocultures become extinct IRL when a single vulnerability wipes out the species, it's not just Java that is punished for dragging along unneeded complexity and unused features, it's a dumb design that is punished by the nature of the universe itself time and again throughout history. The efficiency requirements of life (less energy to maintain a less complex system) and competition combat this in life forms... Hell, Sex was invented as a better alternative to doing shit like Java does.

    3. Re:Naive question by Anonymous Coward · · Score: 2, Insightful

      There was ActiveX, which was a fancy name for "let's download DLLs from websites and execute them in the browser process". We all know that bombed massively, especially because rogue website could launch (e.g.) HP's dlls inside their HTML code. They would then proceed to exploit the buffer overflows in the HP DLLs.

      ActiveX was a security nightmare based on downloaded C++ dlls.You see, mankind enumerates all possible ways of crap until it decides to limit itself to the less dangerous crap (JS).

  6. Oh come on... by Zephiris · · Score: 4

    It's been worrying me that the tagline "News for nerds, stuff that matters" has been removed from Slashdot (except in the source code, but gets replaced on any/all page loads), but this story is coming behind both TFA and the actual patches being available for two full days prior.

    It's no "Preskill mocks Stephen Hawking" quote from 2012, like the other article, but maybe this could've ended up -slightly- higher priority given that it fixes 1-2 remote unauthenticated exploits in Java, and IIRC 3 in Oracle DB.

    --

    "A Goddess rarely smiles for she is forced by others to be an island unto herself." - Zephiris
  7. You're using it wrong by viperidaenz · · Score: 4, Insightful

    Java isn't evil, Browser plugins are.
    Leave Java on the server side and be done with it.

    1. Re:You're using it wrong by StormReaver · · Score: 5, Insightful

      Leave Java on the server side and be done with it.

      Or learn to use Java properly on the client side, which means stop using it as a browser plugin. Java makes an excellent desktop application development platform, but an absolutely lousy browser plugin.

    2. Re:You're using it wrong by viperidaenz · · Score: 4, Informative

      Yes. That's exactly what I'm doing at my current job. Java back end, Java thick client.

    3. Re:You're using it wrong by stenvar · · Score: 2

      Java makes an excellent desktop application development platform, but an absolutely lousy browser plugin.

      You may like Java as a developer, but Java fails to integrate properly with any of the desktops; Java desktop apps are a nightmare.

    4. Re:You're using it wrong by dropadrop · · Score: 2

      Java makes an excellent desktop application development platform, but an absolutely lousy browser plugin.

      You may like Java as a developer, but Java fails to integrate properly with any of the desktops; Java desktop apps are a nightmare.

      I've seen a lot of nice Java desktop apps and a lot of bad ones.

    5. Re:You're using it wrong by Anonymous Coward · · Score: 2

      Java makes an excellent* desktop application.

      * Excellent is defined here as "slow, ugly and memory hungry."

    6. Re:You're using it wrong by stenvar · · Score: 2

      Whether they are "nice" or not in and of themselves isn't the point. They fail to integrate with the desktop, they don't behave like native apps, and they don't look like native apps either.

  8. Re:I only drink coffee by __aawmso8327 · · Score: 2

    Write once, debug everywhere.

  9. Re:I only drink coffee by aztracker1 · · Score: 2

    Write once, run anywhere*

    * where available, void where prohibited, quantities limited, some restrictions may apply, batteries not included.

    --
    Michael J. Ryan - tracker1.info
  10. Re:v1.6 is forgotten but most use that by viperidaenz · · Score: 3, Informative

    What are you smoking? 1.6 update 45, released a few days ago contains all these fixes.

  11. Re:Repeat after me by viperidaenz · · Score: 5, Insightful

    yeah, it should read: 3 Java security vulnerabilities (2 are client only) and 39 Java Web Start vulnerabilities fixed.

  12. Fix the model. Chicken wire isn't watertight by raymorris · · Score: 2

    With tje taste of Java exploits exceeding one per day, it seems clear the problem is bigger than the specific exploits they are fixing. The DESIGN that allows for hundreds of vulnerabilities is seriously flawed and THAT is what they should fix.

    It really looks like someone trying to use chicken wire fencing to build a dam, and they keep patching each little hole. Instead, they need to ditch the porous chicken wire and use something watertight for the barrier between VM and system.

  13. Ask by andrewa · · Score: 4, Insightful

    Yet still they are trying to sneak the "Ask" toolbar in there.....

    --
    :(){ :|:& };:
    1. Re:Ask by SeaFox · · Score: 3, Informative

      I've decided that must be the only reason they haven't created an auto-update system for Java. I mean, my AV software can update its own definitions, my web browser can update itself, yet I still have to click the stupid message every time Oracle farts.

      My mom has been complaining about it too. The frequency of these updates are encouraging people to ignore them or turn them off like the classic boy who cried "Wolf!".

      If the Java system could update itself they'd lose the opportunity to trick people into not unchecking the Ask Toobar, McAfee Security Scan, etc shovel-ware. And as people get frustrated with the constant updates they get sloppier about what they're clicking as they go though them.

  14. Re:I only drink coffee by Anonymous Coward · · Score: 3, Informative

    it only take 15 lines of code to say "Hello World!"

    lolwut?

    if you need 15 lines of java to do a 'hello world', then the problem is with the person in the mirror.

    for all its faults, the browser plugin being the most obvious, java for apps is freakin awesome. None of the obtuse BS of C and C++ but all the ability...not to mention all the free libs. Frankly, if it weren't for Java, I'd be sleeping on the streets.

  15. Great. Headaches ahead. by mindwhip · · Score: 3, Funny

    Every time they release one of these my companies IT department insists on the new version being mandatory and installs it on every PC without any testing.

    This then breaks one (or more) of our externally provided and supported, business critical, small user base, Java client/server systems. After a few days of frantic phone calls and manual un-installs of the new Java version (which have to be done by IT support due to security lockdown remoting into PCs, after senior signoff) we have to keep doing to combat the overnight updates) we end up with an emergency change to install a very alpha version of the client/server system.

    The updated client is normally so full of bugs that it gets several further emergency updates over the next 3 months and is just about stable and almost bug free in time for Oracle to release another patch...

    --
    [The Universe] has gone offline.
  16. Warning: ask.com toolbar by icknay · · Score: 5, Informative
    Suppose that when you first run the java installer, it asks you if you wan to install the ask.com toolbar, naturally you select No Ask.com Malware button, and everything installs nicely. Now later on, for each security update that comes along, there's a nice Install Important Update button .. and what do you suppose that does? It installs the Ask.com toolbar! I know Oracle is supposed to be aggressive with their practices, but I cannot believe they abuse security updates this way to get a few pennies out of Ask.com which is basically a search-result-spam engine.

    The reason you have not heard about this more, is that Macs and Firefox/Chrome (not sure about IE) resist the Ask.com installer, so you just don't see it, but the crappy Oracle behavior is in fact going on each time. The result is that naive users are getting this toxic thing installed and it really messes up their whole internet experience.

    Hey Oracle: you're pissing away tons of Java goodwill in exchange for pennies form the Ask.com spammers. Who on the heck thought that was a good trade? Like what techie who learns of this behavior is ever going to install Java anywhere? Aren't you trying to make JavaFX into a real client thing?

    See http://www.zdnet.com/a-close-look-at-how-oracle-installs-deceptive-software-with-java-updates-7000010038/ for lots of details on how the Ask.com installer tries to trick the users and hide itself. It's kind of interesting arms race between the spamming toolbar and the browser vendors.

  17. Re:And this is where Oracle is failing... by stenvar · · Score: 2

    Java language evolution has been cosmetic, not substantive; Sun and Oracle have refused to fix things at the VM level. As a result, Java has fallen behind more and more over the years.

  18. Re:still with the java? by siDDis · · Score: 2

    In Scandinavia we have to use a java applet called BankID for login to our bank account. This has for the past few months become REALLY frustrating for people who really don't know what Java is. Even technicians who has a basic understanding of what a computer is, has problems keeping Java up to date(they don't know where to download it, and therefore accidentally download something they shouldn't) and all the them are infected with that Oracle search toolbar malware.

  19. Re:still with the java? by symbolset · · Score: 4, Insightful

    My teller offered me online banking once. But her monitor was tilted just enough that I could tell she was using IE6. "Um, no. Thanks. I'm good."

    --
    Help stamp out iliturcy.
  20. These are NOT JAVA vulnerabilities by coder111 · · Score: 5, Informative

    These are java APPLET or BROWSER PLUGIN vulnerabilities. Completely different thing.

    Slashdot should stop with this misinformation. Java the LANGUAGE is OK. Java Virtual Machine is OK. Servers using Java as server-side language are OK. Java desktop applications are OK.

    Java the BROWSER PLUGIN is vulnerable. But Java Browser plugin should never have happened in the first place and should be killed with fire.

    So stop with the whole bashing of Java in general. Java is a very good and mature language, with the fastest JVM on planet today, lots of open source 3rd party libraries, servers, frameworks and tools. It's very very good for server-side development.

    --Coder

  21. Re:still with the java? by dropadrop · · Score: 2

    In Scandinavia we have to use a java applet called BankID for login to our bank account. This has for the past few months become REALLY frustrating for people who really don't know what Java is. Even technicians who has a basic understanding of what a computer is, has problems keeping Java up to date(they don't know where to download it, and therefore accidentally download something they shouldn't) and all the them are infected with that Oracle search toolbar malware.

    I'm in Scandinavia and don't need to use any java applets...

    Have you considered that there are tens of banks in Scandinavia, and only a handful require java support in browsers? I would be surprised if such banks did not exist outside Scandinavia too. Just switch to something else (at least for day to day banking if you can't move loans).

  22. Ballanced? by Racerdude · · Score: 4, Insightful

    "Organizations should to take a long, hard look at Java and answer for themselves if it's worth it, Williamson added.". This doesn't sound very balanced. It sounds like he has some sort of ulterior motive

  23. Re:And this is where Oracle is failing... by symbolset · · Score: 5, Insightful

    Languages need to keep up with the times, or they become an albatross.

    Unless through being steeped in the art and basic principles and with an eye toward the future the authors built their language in such a way that it could be timeless art that stood for all time, like for example Brian Kernighan and Dennis Ritchie's "C".

    Go ahead and learn ALGOL, FORTRAN, BASIC, SNOBOL, APL, ADA, brainfuck, R, LISP and dozens of others like I did if that's your nerd thing. It's fun. After you've done that you'll come to the same conclusion I did: programming languages are syntactic sugar. They are constructs for interpreting your ideas into references to libraries that instantiate the desired result in predictable ways.

    C is. It stands like the Oedipus trilogy as a distillation of all prior art and a foundation of all subsequent art. It is beautiful and timeless in the same way. Learn this one thing and all else becomes easy. Unfortunately, like the Tau, it is not possible to really understand C until you don't need to do so any more. When you have learned enough about C to know why it is a fool's game you will have become ready to launch your own inferior language.

    --
    Help stamp out iliturcy.
  24. Re:still with the java? by allcoolnameswheretak · · Score: 2

    I'm getting tired of this Java bashing in the media due to security issues. Java isn't inherently more insecure than any other platform. On the contrary, it has a sophisticated, built-in security system that most other platforms lack. But of course there are bugs and holes, just like with any other software. The only reason why Java is being exploited and making headlines so much recently is because Java is so widely adopted now that it makes a big target. It's what hackers have their sights on at the moment, just like they had their sights on Flash or Acrobat Reader a while back. If enough people switched to a different platform because Java is so insecure, the only result would be that in a couple of years hackers would be targeting the new platform, because it's the new prime target. Then all of its security holes will gradually be uncovered and the switchers will be just as exposed or even more so than if they had sticked with Java in the first place.

  25. Re:I only drink coffee by kevingolding2001 · · Score: 4, Funny

    Write once, run away*

    * I can't take original credit for this. I read it somewhere and thought it was very funny.

  26. Yes, it's an industry-wide problem by Anonymous+Brave+Guy · · Score: 2

    I agree wholeheartedly. Almost the entire software development industry is rotten, and Java is just an easy target to pick on because of the browser plug-in vulnerabilities.

    Certainly security is a difficult thing to get right, but that's no excuse for using tools and techniques that are horribly inadequate for writing secure code. Take a look at how many critical vulnerabilities get patched in every major browser in a year and you see they're no shining beacons of security virtue either. A substantial proportion of our core infrastructure is still written in error-prone, bug-friendly languages like C and C++, which looking objectively from the outside is just crazy.

    Unfortunately, it's an institutional malaise, something that is hard for any individual actor in the system to fix. Most development projects simply can't afford to just give up on languages and run-time platforms with vast ecosystems surrounding them that dramatically increase productivity or they'll put themselves at a significant competitive disadvantage. That will continue until someone's "better alternative" language/platform also comes with the same kind of ecosystem.

    Realistically, we'll probably have to put up with this sort of nonsense until either the general public start wising up to how much security failures really cost and vote with their wallets, or governments step in and regulate to force the issue, or some project starts eating everyone's lunch because it really does offer such an improvement that using it is a compelling advantage and it can bootstrap its own ecosystem. And it's not as if any of those options doesn't have problems of its own...

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
    1. Re:Yes, it's an industry-wide problem by Joce640k · · Score: 4, Interesting

      A substantial proportion of our core infrastructure is still written in error-prone, bug-friendly languages like C and C++

      A good programmer can write secure code with C++.

      A good programmer cannot write secure code with Java - he's at the mercy of the JVM.

      Java was sold to the world as a secure platform and has completely failed to deliver. Only a handful of websites need it (usually unnecessarily, and mostly for basic things like authentication) yet the huge all-singing-and-dancing API exposes you on every single web site that you visit. Does anybody really need all those Java multimedia APIs, etc.?

      It's become a cancer on the computing world, it needs:

      a) To be removed (recommended).
      b) To be reduced - bank logins only need a subset of Java 1.1.

      (PS: You can still use it for back-end work if you want, but keep it out of the browsers...)

      --
      No sig today...
    2. Re:Yes, it's an industry-wide problem by darjen · · Score: 4, Insightful

      How many good programmers actually exist who are capable of writing secure code in C++? And out of them, how many will still make simple errors like an occasional buffer overrun? Even if you're a "good" programmer there will be lapses in judgement or things that are just overlooked.

      I do largely agree with your comment about keeping it out of the browsers though.

    3. Re:Yes, it's an industry-wide problem by Anonymous+Brave+Guy · · Score: 2

      Well, I don't accept your premise about good programmers writing secure C++ code. The evidence just doesn't support your position: there are plenty of vulnerabilities found in software written in C++, just like every other language in widespread industrial use today. Often they just come in the form of library vulnerabilities that your unsuspecting C++ linked into his application, but they're still out of his control unless he wants to rewrite his security library, which I hope we would all agree is a Really Bad Idea(TM) if he's not genuinely a security expert himself.

      But even if we grant your premise for the sake of argument, how is someone supposed to write secure C++ and then run it in someone else's browser accessed over the web without posing a security risk to the remote user? You're comparing apples to oranges.

      For a long time, there was a real need for things that browsers couldn't do natively and that meant plug-ins like Java or Flash. Of course that also meant the security risks that came with them, but who was offering a better option at the time? As new technologies mature, the use cases that made plug-ins helpful may be better served in other ways. However, it's unrealistic to expect everyone who was using those technologies to drop them and rewrite everything overnight, and many of the newer technologies are objectively not as good at getting useful things done as Java or Flash yet.

      Apple tried your just-bin-it approach with Flash on their mobile devices, and all that happened was that when you visit popular sites on your more-expensive-than-a-laptop iPad you see messages saying content isn't available for your device, while competitors pitch products with slogans like "See the whole web!" What do you think would happen if we somehow magically made the Java plug-in disappear tomorrow?

      --
      If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.
  27. Re:And this is where Oracle is failing... by symbolset · · Score: 3, Interesting

    C doesn't have safety belts and airbags, that's your complaint? They gave you the framework to create those things if you need them. If you can't be bothered to check your work and your inputs, to consider pathological cases and data, no linguistic tool is going to make your work stable and secure.

    Languages are syntactic sugar. When you have implemented the basic stacks of OO, heap, stack, garbage collection, array transforms, list and set processing, the dually-linked-list-dancing-btree-with-bucket-hash, the things that other languages give as algorithms in C then you know you can implement them as C libraries properly once and be done with them. Things like inheritance, soft-typing and operator overloading are a distraction and a menace to predictability, readability and debugging. When you encounter a new problem with no lib you can just write an algorithm that can transform the datastructure in the desired way, make it a lib and call it. The usages of the various languages add nothing but orientation hurdles to get the C programmer into the language developer's state of mind. The states of mind of language developers can be sometimes interesting, but sometimes they are mad. This is not high art. This is fingerpainting. There is a guy here on /. (not me) who designs sorting algorithms that dynamically optimize on processor cache size, in 1KB of code and competes with the world's best. There is another who designed a procedurally generated FPS with unlimited terrain in 4KB. THAT is high art. Once you have mastered the use of your programming tools, you can begin to explore what art can be made with them.

    Admittedly some languages have some rapid development potentials and usages where the programmer need not know his programming art, but that is "tools for fools", not real work. Even at their most obtuse, these are almost always implemented in C. Windows is almost entirely C, as is Linux, BSD, of course Unix, every game engine and of course all of the libraries and drivers. It is all C. Even the C++ compilers are more than 90% C.

    Other languages, like LOGO, are for children who can't be bothered to learn their Wirth before they make the turtle draw.

    --
    Help stamp out iliturcy.
  28. Re:NOT correct by DrXym · · Score: 4, Insightful

    With a C++ program it is up to me, the programmer to make sure there are no exploits.

    Which is why of course all those ActiveX controls running in IE, mostly written in C++ were so immune to exploitation. The security exceeded everybody's wildest expectations.

  29. Re:still with the java? by DrXym · · Score: 2
    I think it's a good reason to hate a bank. Most banking sites these days have seen the wisdom of using pure HTML, CSS and Javascript. I've seen sites which have used Java to fetch a certificate off the disk which is used in conjunction with authentication. Invariably this is a pain in the ass and immediately makes the site inconvenient to use from any platform / browser the bank hasn't "blessed" for that purpose and some banks will point blank refuse to work if your browser is "wrong".

    I don't blame Java per se - the bank used Java because it was the only way to achieve what they wanted to do. The problem is that what they want to do is stupid and there are alternatives which don't involve so much hassle. e.g. instead of issuing a cert, banks could use a hard token or post out a one time pad book, or employ several layers security.

  30. Re:Most biased summary, ever. by gbjbaanb · · Score: 2

    the point is that they just patched 39 vulnerabilities that were not know about last week... how many are still in there that we just haven't discovered yet? That's why we criticise them, because they've found so many vulns, there's a good chance there's a load more waiting to be discovered.

  31. Re:And this is where Oracle is failing... by Anonymous+Brave+Guy · · Score: 2

    C doesn't have safety belts and airbags, that's your complaint?

    Your car analogy is poor. You're talking about whether the language is good for safety, and safety belts and airbags save lives.

    If you can't be bothered to check your work and your inputs, to consider pathological cases and data, no linguistic tool is going to make your work stable and secure.

    That's an absolute argument in a relative world.

    I don't need to check that I'm not dereferencing a NULL pointer everywhere if my programming language's type system means there is no NULL value in that context. The entire class of mistakes is removed.

    I don't need to check for an off-by-one error updating a loop counter if I'm using a loop control structure in my programming language that has no explicit counter at all. The entire class of mistakes is removed.

    No human programmer is perfect, no matter how good or experienced they are. I make mistakes. You make mistakes. Every single programmer reading these posts makes mistakes. The only way to remove a class of errors with close to 100% reliability is to use tools and processes that remove the possibility of the human error in the first place.

    If my tools do that for me in some cases, it leaves me that much longer to think about the other ones, and makes it that much clearer for my peer reviewers to check that I got the logic right when I do. It's not as if I have somehow mysteriously lost all my defensive programming skills by using a more powerful language instead of C! I'll just be using those skills to better effect, because I can concentrate on the harder problems and trust that the easy ones are already solved.

    --
    If you disagree, post your argument. (-1, Overrated) isn't your personal censorship tool for views you don't like.