Slashdot Mirror


Over Half of Software Fails First Security Tests

An anonymous reader writes "Even with all of the emphasis on writing software with security in mind, most software applications remain riddled with security holes, according to a new report released today about the actual security quality of all types of software. Close to 60 percent of the applications tested by application security company Veracode in the past year-and-a-half failed to achieve a successful rating in their first round of testing. And this data is based on software developers who took the time and effort to have their code tested — who knows about the others." Reader sgtrock pointed out another interesting snippet from the article: "'The conventional wisdom is that open source is risky. But open source was no worse than commercial software upon first submission. That's encouraging,' Oberg says. And it was the quickest to remediate any flaws: 'It took about 30 days to remediate open-source software, and much longer for commercial and internal projects,' he says."

145 comments

  1. That's great. by cbiltcliffe · · Score: 3, Insightful

    Now they need to test the users.....

    --
    "City hall" in German is "Rathaus" Kinda explains a few things......
    1. Re:That's great. by Anonymous Coward · · Score: 0

      Close to 60 percent of the applications tested by application security company Veracode in the past year-and-a-half failed to achieve a successful rating in their first round of testing.

      What I'm shocked to hear is about 40% of software does pass the first round of testing. The bar must be rather low...

    2. Re:That's great. by ka9dgx · · Score: 1

      Testing the users might make sense if the Operating System had a reasonable security model. If you can't easily restrict a program to a small subset of your machine, you're forced to trust code you didn't write to get anything done.

      Nobody should blame the users, if the OS sucks.

    3. Re:That's great. by TrisexualPuppy · · Score: 2, Interesting

      Why is this such a shock to you?

      For secure software, isn't it just a bit subjective? These tests were submitted by people who NEEDED to have their software tested. Much of the software out there doesn't deal with sensitive data, and much of it is too simple to serve as a system security risk, and it isn't submitted. So you this 60% figure doesn't really mean much. Most software isn't submitted for security checks and never needs to be.

      This article is FUD, and the necessary details are not explained. Methinks that Veracode was just trying to get a little publicity. Thanks again, Soulskill!

    4. Re:That's great. by Volante3192 · · Score: 3, Funny

      Of course, 60% of the apps they tested were web applications, leaving 40%...

      (Yeah, yeah, it's unlikely that the only apps that failed were web apps, I just thought it a spiffy coincidence that the % of apps that failed testing also equaled the % of web apps tested.)

    5. Re:That's great. by Anonymous Coward · · Score: 0, Flamebait

      like an operating system that keeps ALL settings, from kernel level security stuff to the users font setting in a game program in the SAME FILE.

      Honestly, the registry is an ABORTION and a very stupid idea, yet Microsoft wont let it go. /etc settings that is system protected and ./etc in each user's directory that they can save their changes to the core setting found in /etc

      It's not hard, Windows adopting several of the used forever policies in Unix would have saved them a metric buttload of grief over the past 2 decades.

      Reasonable security model... How about any security model at ALL??!?!!?!?

    6. Re:That's great. by k8to · · Score: 1

      Sure, software security doesn't matter, if the software never takes external inputs that could be controlled by a third party.

      That's a good, what, 2% of software?

      --
      -josh
    7. Re:That's great. by AlecC · · Score: 2

      Why? Surely, if I was going to send my software for external security testing, I would first test it in house, both more cheaply and less humiliatingly. This is not 60% of all software failing, this is 60% of all software sent for test failing. This suggests that in-house testing is remarkably badly thought through.The sorts of the sorts of tests that Veracode are going to do should be predictable - shouldn't you run them yourself before submitting the software?

      --
      Consciousness is an illusion caused by an excess of self consciousness.
    8. Re:That's great. by Anonymous Coward · · Score: 3, Insightful

      Your viewpoint is a little close-minded. Most software written is never even sold. It is mainly in-house custom apps in companies where it would be pointless to try to exploit it because there are easier ways to get the data. And how about the software that runs completely closed on microcontrollers that are in every single product sold today?? Think before you post. :)

    9. Re:That's great. by ka9dgx · · Score: 2, Interesting

      Yes, the registry sucks, for many reasons.

      Yes, better defaults could have been chosen 2 decades ago.

      Now things have changed, and any system that doesn't let limits get set per task is insufficient. The current choices now are insuring 2 more decades of pain. I'm trying to educate people on the better options available, so that a better choice gets made.

      It's now necessary to think of security with a much finer grain. The user is no longer the natural dividing line. It needs to be per task instance.

    10. Re:That's great. by ClosedSource · · Score: 1

      Of course MS isn't going to let go of the Registry - it would break most applications. No doubt it would be great for Linux because Windows wouldn't be able to run Windows applications either.

    11. Re:That's great. by jsebrech · · Score: 2, Interesting

      These tests were submitted by people who NEEDED to have their software tested.

      I think the software submitted for testing is actually more secure than the average software, because it's made by people who actually know about the problem.

      Much of the software out there doesn't deal with sensitive data, and much of it is too simple to serve as a system security risk

      All web sites need to have good security. Without good security, you can get all sorts of hijacking attacks, where systems that seem harmless are abused to mount attacks on more sensitive systems.

      The biggest problem with security is the degree it is underestimated. Everyone thinks it's somebody else's problem. Collectively though, the web is a one huge gaping security hole, and it's because of this attitude.

      Most of the books on web development I've opened up contain security holes in the code samples. Even something as basic as SQL injection is still very prevalent in the code samples you find online and in print. Things get much worse when you start talking about subtler flaws like XSS or CSRF. And don't even get me started on the programming forums...

      This article is most definitely not FUD.

    12. Re:That's great. by Anonymous Coward · · Score: 0

      Depends on how you measure software - time*instances in use or per program existing. 99.9% of software by the later standard fits that description, though probably 5% consists exclusively of "hello world", etc. For professional applications, sure it matters, but for internal stuff where you are in control of all input, securing it from yourself is a waste of time.

    13. Re:That's great. by HungryHobo · · Score: 1

      Really?
      If anything I'm more stunned that 40% of code sent in didn't have any major flaws.
      It isn't easy to write secure code.

      I do some amateur testing for some of my friends web apps (looking for all the common ones which I'm fairly familiar with, SQl injection, XSS, various code execution fuckery etc) and it's rare to be able to hand back a list shorter than my arm and that's when they're actually writing code with security in mind.

    14. Re:That's great. by AlecC · · Score: 1

      Then maybe you should be offering your services to all these these companies with failing software. If you can do such testing, so can the creators of the software. Yes, it needs a test team who are not the original designers - but so, frankly, does any software. The designer can never see the faults in their own baby. This result suggests that the companies creating the software are just assuming "it will be alright on the night" - which is a recipe for disaster in an environment of positive attacks. It is pretty bad when your only enemy is Murphy's law: when you have an intelligent enemy, code-and-hope does not fly.

      --
      Consciousness is an illusion caused by an excess of self consciousness.
    15. Re:That's great. by Bert64 · · Score: 1

      Also, how did they come to be testing open source software... Was it submitted by the authors for testing? I suspect not, since the testing process will cost money... Or did they simply download it and decide to test it arbitrarily? If the latter, then the open source software in question doesn't fall under the "needed their software tested" category...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    16. Re:That's great. by TheLink · · Score: 1

      > Honestly, the registry is an ABORTION and a very stupid idea, yet Microsoft wont let it go. /etc settings that is system protected and ./etc in each user's directory that they can save their changes to the core setting found in /etc

      The registry has ACLs. That's why many badly written games/apps need users to run as administrator - they need the permissions to change parts of the registry that they shouldn't be changing.

      And there's HKCU vs HKLM.

      Windows also has %USERPROFILE%\Local Settings and %USERPROFILE%\Application Data

      The registry approach has its disadvantages, but you're not stating them.

      --
    17. Re:That's great. by Bert64 · · Score: 1

      Compatibility (with their own lockin) is their biggest selling point, but because of design flaws (like the registry and countless others) also their biggest weakness...

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    18. Re:That's great. by gehrehmee · · Score: 1

      The flip-side of course is that if the company is submitting their code for security checking, they're paying at least some attention to security. The company that doesn't care may have many many more vulnerabilities.

      --
      "You know, Hobbes, some days even my lucky rocketship underpants don't help" -- Calvin
    19. Re:That's great. by ClosedSource · · Score: 2, Informative

      I agree to the extent that compatibility is an important selling point and it also limits their ability to change their OS.

      I'm not so willing to concede that the registry is an example of a design flaw. You have to consider the design within its context. For an explanation of why the registry was created and a discussion for and against it see http://blogs.msdn.com/oldnewthing/archive/2007/11/26/6523907.aspx

    20. Re:That's great. by TheLink · · Score: 2, Interesting

      > If you can't easily restrict a program to a small subset of your machine, you're forced to trust code you didn't write to get anything done.
      > Nobody should blame the users, if the OS sucks.

      Agreed. And most OSes out there suck in this respect (OSX, Linux, Windows).

      FWIW Windows Vista and Windows 7 kinda suck less - since they actually have some sandboxing with IE8.

      Ubuntu has apparmor sandboxing of firefox as an option that's turned off by default, and even if you turn it on it's not sandboxed enough IMO (firefox can read and write almost anything in the user's home directory with the exclusion of just a few directories).

      As it is, most users are either forced to:

      1) Solve a version of the Halting Problem where they don't and can't know all the inputs and are unable to read the source code (or even know if that's really the source code of the executable they are about to run ;) ).

      2) Use only software from a Trusted Vendor's repository. Not a good strategy for Microsoft given their Monopoly Status, and this approach/philosophy doesn't actually help the OSS cause that much either.

      You can say "download the source and compile it yourself", when even experts have difficulty finding flaws in the software, how would users find them (see also 1) ).

      Users will just skip the pointless steps and go to "make install" (which often requires root permissions).

      As it is I have proposed that applications request for the sandbox they want to be run in. Then the O/S enforces the sandbox.

      It's easier to figure out the danger the application poses, if you require applications to state up front the limits of what they want. If they say "No Limits" you can assume you don't want to run it.

      The sandboxes can be from a shortlist of template sandboxes, or custom sandboxes which are signed by trusted parties.

      Organizations could have Trusted 3rd Parties audit the application's proposed sandbox and sign it if they believe it's OK.

      It is much easier to audit a sandbox than audit thousands of lines of code.

      Furthermore the code audit results will be invalidated if the program can update itself online, or can possibly fetch new instructions from the Internet. Whereas the sandbox audit would still be valid.

      For example, without sandboxing, a code audited program might fetch new instructions and decide to turn on your webcam without your permission. In contrast if the sandbox doesn't allow the program to access the webcam, the program isn't going to be able to access the webcam even if it fetched new instructions.

      Unless of course there's a bug in the sandboxing. But at least this means you can concentrate more resources on getting the sandbox and O/S bugs fixed, rather than try to get the dozens or hundreds of programs security audited and reaudited everytime there's a new update.

      --
    21. Re:That's great. by julesh · · Score: 1

      like an operating system that keeps ALL settings, from kernel level security stuff to the users font setting in a game program in the SAME FILE

      Err... kernel level security stuff is generally in HKEY_LOCAL_MACHINE, which is stored in %windir%\system.dat. User fonts settings in a game should be in HKEY_CURRENT_USER, which is stored in %userprofiledir%\ntuser.dat. Totally different files.

    22. Re:That's great. by david_thornley · · Score: 2, Interesting

      The referenced defense of the registry is an article that mostly discusses the weaknesses of Microsoft implementations of ".ini" files, and many of those weaknesses are due to Microsoft design features I consider distinctly suboptimal. I'm perfectly willing to agree that the registry might be better than a botched implementation of rc files, but that is hardly a convincing defense.

      Moreover, even if the registry was the right idea in the 16-bit days, that doesn't mean it's not a problem currently. The biggest strength and biggest weakness of MS Windows is the tremendous number of MS Windows-compatible apps out there, making the operating system very useful and very hard to change.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    23. Re:That's great. by tjarrett · · Score: 3, Informative

      We scan selected open source projects on a pro bono basis and reach out to the project teams to share the findings with them.

      Disclaimer: I work for Veracode and was a coauthor of the report.

    24. Re:That's great. by ka9dgx · · Score: 1

      Cool... some good ideas in here... I'll read this a few times to let it sink in.

    25. Re:That's great. by HungryHobo · · Score: 1

      I don't mean that crappy code is ok.
      I'm just trying to say it really is remarkable to be able to turn out any non trivial body code even with extensive testing which has no detectable flaws.

      I'd have expected it to be far less than 40% of code getting through that gauntlet.

      Of course unless they prove the code (and even then...) there almost certainly is flaws still in there.

    26. Re:That's great. by cyber-vandal · · Score: 1

      Don't be ridiculous. The applications barrier to entry doesn't exist and all that the competitors need to do is come up with a killer app and Microsoft will die. Or so people tell me on here repeatedly, ignoring all the Windows only apps and drivers that trap people into using it. The fact the Microsoft themselves have to provide a Windows XP mode tells you all you need to know about how bloody hard it is to shift Win32. Apple may have made inroads but I wonder how many dual booting Macs there are or Mac owners who also own a PC out of convenience or necessity.

    27. Re:That's great. by Anonymous Coward · · Score: 0

      No wonder given all the frameworks and assorted languages that make application development so easy a caveman can do it. And the influx of cheap and/or inept software developers from the Third World only adds to the problem.

    28. Re:That's great. by ClosedSource · · Score: 1

      Had you fully read my comments you'd know that I already discussed the "biggest strength and weakness" of Windows (as did Bert64 before me).

      Unix/Linux has its configuration problems too.

    29. Re:That's great. by Shadow+Labs · · Score: 1

      Your viewpoint is a little close-minded. Most software written is never even sold. It is mainly in-house custom apps in companies where it would be pointless to try to exploit it because there are easier ways to get the data. And how about the software that runs completely closed on microcontrollers that are in every single product sold today?? Think before you post. :)

      Your viewpoint is a little close-minded. Just because an app/server/system/whatever doesn't have sensitive data, that doesn't make it pointless to try to exploit. Ever hear of chained exploits? You break into system X, from there break into system Y, from there break into system Z, etc. until you finally get to your true target. Some little homegrown app that nobody gives 2 cents about (especially in regard to software/system security) because it houses no sensitive data may provide just the perfect platform for an attacker to do an initial exploit against. Now that they have their foot in the door, they can utilize that compromised system to launch their real attack that may not have been feasible otherwise. I've seen countless companies where important systems are relatively well defended against the outside and user segments of the network, but are not well defended against other server segments. Hop into the server segment via a poorly coded homegrown app, and you've just bypassed a big layer of many companies' defenses.

      --

      echo $SIG
    30. Re:That's great. by Anonymous Coward · · Score: 0

      I'd like to stress test some user skulls with a hydraulic press . . .

    31. Re:That's great. by Random+Walk · · Score: 1

      Ubuntu has apparmor sandboxing of firefox as an option that's turned off by default, and even if you turn it on it's not sandboxed enough IMO (firefox can read and write almost anything in the user's home directory with the exclusion of just a few directories).

      It's trivial to simply run Firefox under a different user id. I use about three applications that need to access the net (web, mail, chat), and each of them gets started (via a simple wrapper script) under a different, dedicated UID.

  2. What emphasis on security? by Jurily · · Score: 4, Insightful

    I thought the only measure of a project was whether it makes the deadline.

    1. Re:What emphasis on security? by Paspanique · · Score: 1

      Nope... the only measure is cost...Anything else is secondary...

      --
      I don't have an intelligent phone, so I need to be.
    2. Re:What emphasis on security? by Anonymous Coward · · Score: 0

      I thought the only measure of a project was whether it makes the deadline.

      No, it's whether you pay Always the Lowest Price. Always.

  3. Bolting On by Chris+Lawrence · · Score: 3, Insightful

    As Bruce Schneier has said, trying to bolt on security to an existing product or application can be very difficult and time consuming. Sometimes you even have to redesign things. Designing for security and using secure coding practices from the beginning, however, makes it much, much easier.

    1. Re:Bolting On by Jurily · · Score: 1

      And nearly 90 percent of internally developed applications contained vulnerabilities in the SANS Top 25 and OWASP Top 10 lists of most common programming errors and flaws in the first round of tests, Oberg says.

      It doesn't matter how much you redesign things, if you fuck up the routine stuff.

    2. Re:Bolting On by sopssa · · Score: 0, Redundant

      That's probably easy if it's just one guy, but what about when it's several, if not even hundreds of developers? Random patch code in OSS bug-tracking systems can make some other unrelated code insecure because the guy who submitted the patch didn't know everything about the code or didn't check it through and it slipped past the maintainers too. This is especially true in projects with really large codebase or several code branches and forks.

    3. Re:Bolting On by Chris+Lawrence · · Score: 1

      Sure, bugs can always be introduced, and some of these will open security holes. But as long as the fundamental design conforms to a sensible security model, this isn't a big deal. That type of bug can be found through additional code review. (Note that testing is *not* a method to find security bugs.)

    4. Re:Bolting On by Chris+Lawrence · · Score: 1

      If the design is good, you can fix the bugs. If the design is fundamentally flawed, you
      need to throw it out and start again. There is a difference.

    5. Re:Bolting On by Jurily · · Score: 1

      That type of bug can be found through additional code review.

      Every bug can be found through enough additional code review. The problem is, it's slow and expensive.

    6. Re:Bolting On by Chris+Lawrence · · Score: 1

      So, what's your point? Bugs are hard to find. Bugs can be fixed, a broken security model cannot.

    7. Re:Bolting On by Anonymous Coward · · Score: 3, Insightful

      Designing for security and using secure coding practices from the beginning, however, makes it much, much easier.

      Sure it does... but that sort of design takes money and expertise. More often software is dreamed up and planned in ad hoc meetings. For example, a person in marketing decides it would be a great idea if their customers can get updates on their phones and Nitwitter accounts. In a 4PM meeting the marketer proposes it to his boss as a necessary value-add function without which the competition would eat us alive (1).

      The next day, a "planning" meeting is called. The marketing manager tells (note, I say "tells" not "asks for input") the programming manager that the company needs mobile updates. The company needs (note, it's changed from the "Marketer wants" to "company needs") it before the next peak retail opportunity. This opportunity is either Valentine's Day or Easter or Summer Break or Thanksgiving or some other arbitrary retail holiday.

      The programming manager tells his programmer, "We need it by end of week."

      The programmer begins to think about the problem. He raises objections to the timeline and lack of design. The marketing manager cries to the CEO. The CEO screams at the CTO. The CTO screams at the programming manager. The manager tells the programmer that he's wasted a day and we still need it by end of week.

      The programmer thinks about coding and how to grab the data he needs. He browses a database and finds a table that he needs. To make it accessible to the web frontend, he opens up some permissions. Maybe he creates a new view that combines multiple tables to make his code easier or faster. This new view now violates PCI and SOX regulations, but he doesn't care.. this is just for testing until he can figure out how to do it properly. He stays up all night and gets a proof of concept working. The next day he shows it to his manager.

      His manager says, "OK, tell them it's done."

      The test software becomes production.

    8. Re:Bolting On by hardburn · · Score: 2, Interesting

      When it comes to security, not necessarily. A good design of classes for the purposes of readability and maintainability does not necessarily mean it's easy to fix a security bug. These are often completing design choices.

      The two biggest errors cited by TFA were cross-site scripting and SQL injection. Generally, XSS can be fixed if you had a decent design--just filter your inputs better. SQL injection even more so. In my experience, good languages have database libraries that make it easy to use placeholders in SQL statements (if you're using some idiot RDBMS that can't handle placeholders, the library can transparently handle placeholders for you in a secure way). If your design started off with a proper database abstraction layer, and you let an SQL injection attack slip through, it should be easy enough to fix.

      However, the third one mentioned is cryptographic implementations. This is much, much harder to solve, and fixes will often result in breaking backwards compatibility. For instance, the RC4 algorithm is considered reasonably secure on its own, but it's also very fragile. If you later decide to use something else, moving your data away from it can have huge backwards compatibility issues; this was exactly the situation faced by WEP. It can still happen for other algorithms, even one's that are sturdier than RC4.

      Making practically unbreakable algorithms was hard, but it's largely a solved problem. Using those algorithms in practice is much, much harder, and it's a problem that has to be re-solved with each new system.

      --
      Not a typewriter
    9. Re:Bolting On by Lumpy · · Score: 1

      99% of it does not. Internally designed stuff in a company is usually the biggest messes there are. They were started by some mananger that was handy in VB 6 years ago and then perpetuated. nobody is ever given time to take a year and rewrite it, so everything is not even bolted on, it's slapped on with duct-tape.

      to fix this we need to force managers to understand that software is not easy nor fast. Some say it takes education, I say it needs kneecaps broken.

      But then I'm a humanitarian.

      --
      Do not look at laser with remaining good eye.
    10. Re:Bolting On by ClosedSource · · Score: 1

      It's software, there's nothing that can't be fixed.

    11. Re:Bolting On by Bert64 · · Score: 4, Interesting

      For another encryption example, look at how windows and linux implement user password hashing...

      Linux takes the plaintext password via an input channel (ssh, telnet, gdm, local console etc), passes it to PAM which loads the corresponding password from the shadow file, encrypts the user input with the same algorithm and salt, and compares the output. The backend (pam, encryption cipher) can be changed without affecting how the frontend, making it easy to use a different encryption algorithm as increases in computing power, or discovery of cryptographic flaws, renders the old ones insecure.

      Windows, in a somewhat misguided attempt to prevent plain texts being sent over the network, effectively uses the encrypted hash (yes its more complicated than that, but the general idea is that only the hash ever gets used and the password isnt sent in the clear - unix solves this at a different layer by using encryption of the plaintext password such as ssh)... Because of this, the hashing algorithm is difficult to change. Older windows used lanman which is laughably weak, while modern windows uses ntlm by default which is somewhat stronger but not great... However, modern windows still has lanman support for compatibility reasons, and until vista/2008 it was still enabled by default. If they change the hashing algorithm, then they will still have to retain the old ones for quite some time in order to have compatibility, and also change the protocols to handle a third possible algorithm.
      The fact that you can use the hash without cracking it first is also a design flaw, this isn't possible on unix or anything else i'm aware of.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    12. Re:Bolting On by Bert64 · · Score: 1

      Bugs can be fixed without impacting operation/compatibility...
      A design flaw cannot.

      --
      http://spamdecoy.net - free throwaway anonymous email - avoid spam!
    13. Re:Bolting On by ClosedSource · · Score: 1

      No. Both design flaws and bugs can sometimes be fixed without impacting operation/compatibility and sometimes they can't.

      But we weren't talking about the consequences of a fix, just whether it can be done.

    14. Re:Bolting On by growse · · Score: 1

      Sorry to nitpick, but XSS is nothing about how you input data and everything about how you output data. There's nothing wrong with being very liberal with what you accept as input (javascript, tag soup, whatever) as long as it's properly encoded on output. If you restrict yourself to just filtering input, that model breaks when a new interface is built that inputs data into your database which doesn't do input filtering.

      --
      There is nothing interesting going on at my blog
  4. Open source doesn't necessarily mean dangerous by Pojut · · Score: 2, Insightful

    I know of at least one rather large and well-known company that doesn't use OSS because of "security", yet voluntarily continues to use IE6.

    That sort of thing really pisses me off.

    1. Re:Open source doesn't necessarily mean dangerous by Opportunist · · Score: 3, Informative

      Quite the opposite. OSS is often far more secure than its "commercial" counterpart, for the obvious reasons.

      1) No deadline. OSS is usually "done when it's done". Most OSS software I know is in perpetual beta, never reaching what its maker would call a "release state", but offers at least the same level of security and stability (if not better) as its commercial counterpart. Simply because there is no date we have to push something out the door, secure or not, ready or not, we have to make it for christmas (or for the new Windows version).

      2) No need to "sell" the software. You needn't dumb down and strip security so potential customers accept the level of burden security adds to the fold. Security is never free. It always comes at the price of overhead. When you have two software tools available, customers will pick the one that is more "accessible". Which usually also is the less secure one. Because security often adds layers of additional overhead (either to you, the user, slowing you down and requiring you to enter passwords or access things in a certain way, maybe even with additional tools instead of from "inside" the tool you're mainly using, or to the system, meaning your software will run slower).

      3) Peer review. Your code can easily be reviewed by thousands of "hackers" trying to find an easy way into your system, instead of having to poke at decompiled code. If you can read the source, far more people are able to poke and prod at it, resulting in more secure software instead of less, because security holes get found faster and, in turn, fixed faster. By the time you start using the product, a few months after its release, you may rest assured that all the easy to find security holes have been found by hobbyists. With CSS you often need experienced ASM cracks to dig those holes up, resulting in fewer people able to look at those holes and thus a slower patching cycle.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Open source doesn't necessarily mean dangerous by El+Lobo · · Score: 1
      This is only one side of the picture.

      a) While all you say is more or less true, that applies to big well known OS projects only. Obscure little one/two man projects don't have that big of a peer review. If those projects have few users, you can live with critical security holes for years without then even being known.

      b) Extra large OS projects have the chaos factor against them. When a security hole is patched on some Linuz distro: where does this apply? On Ubuntu? Is this present on Kubuntu as well? What about Redhat? What about my own forked distro that I distribute?

      --
      It's time to realise that Abble's products are the biggest abomination these days. Just say NO to the dumb iAbble way!!
    3. Re:Open source doesn't necessarily mean dangerous by Anonymous Coward · · Score: 0

      That sort of thing really pisses me off.

      Well then grow a pair and out them.... let us all get on the rage train!

    4. Re:Open source doesn't necessarily mean dangerous by Lumpy · · Score: 1

      It's typically because whoever is in charge is incredibly under-educated. Probably their CTO or CIO really knows nothing at all, and then filled the ranks below him with yes-men that knows as little as he does.

      At the bottom you have the guys wanting to get things done and secure, they pound their heads against the wall.

      --
      Do not look at laser with remaining good eye.
    5. Re:Open source doesn't necessarily mean dangerous by Ltap · · Score: 1

      Most distros leave the kernel alone, it's Redhat that does a lot of stuff that is ported upstream.

      --
      Yet Another Tech Blog
      (but so much more, including game and movie reviews)
      http://yanteb.peasantoid.org
    6. Re:Open source doesn't necessarily mean dangerous by clone53421 · · Score: 1

      And let me guess... their IT department would claim that open-source software is too difficult to test and administer patches remotely and keep updated?

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    7. Re:Open source doesn't necessarily mean dangerous by Xtifr · · Score: 1

      ...that applies to big well known OS projects only. Obscure little one/two man projects don't have that big of a peer review. If those projects have few users, you can live with critical security holes for years without then even being known.

      How secure do you imagine that obscure little one/two man proprietary, closed source projects are? The comparison doesn't just apply to big, popular OSS projects. Other things being equal, open source projects will tend to be more secure--if for no other reason, simply because people tend to be more careful when they know others will review their code. However, you're quite correct in pointing out that there are other factors than just open vs. closed, and it's important to factor those in as well.

  5. Undefined requirements by ClosedSource · · Score: 1

    There is no requirements document for security that you can follow and guarantee that your application is secure. You're really trying to anticipate all the ideas other people may have about compromising your code. In general, this is impossible to achieve, so you do the best you can.

    1. Re:Undefined requirements by Opportunist · · Score: 1

      There is no document because such a document would be outdated the moment you wrote it.

      I write security guides and tips for a local computer magazine, based on developments in the malware industry. It happens, rarely but it does, that I have to retract my articles at last minute and rewrite them because what I wrote simply is not true anymore. What I wrote a year ago is certainly no longer true. Tips I gave 6 months ago are not offering security anymore. And what I wrote 3 months ago might still hold a hint of water, but it's anything but certain.

      A few years ago I could sensibly give people the advice to check their system periodically with autoruns and check for unknown jobs starting. In came code injected in the "alignment holes" of system files, rendering that advice pointless. I recommended putting routers in front of their home network, now routers are target for malware, not only rendering this recommendation pointless but potentially I'd be telling them to deliberately offer an attack vector.

      Such "standard papers" take months, sometimes over a year, to reach maturity. By the time they are ready, they are at best useless. At worst dangerous.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    2. Re:Undefined requirements by Lumpy · · Score: 1

      There is no document because such a document would be outdated the moment you wrote it.

      That's why you put it on a Wiki!

      --
      Do not look at laser with remaining good eye.
    3. Re:Undefined requirements by ClosedSource · · Score: 1

      "There is no document because such a document would be outdated the moment you wrote it."

      I agree. My point was that we shouldn't be surprised that many applications are not secure because it's an open-ended problem.

    4. Re:Undefined requirements by starfishsystems · · Score: 1

      It happens, rarely but it does, that I have to retract my articles at last minute and rewrite them because what I wrote simply is not true anymore.

      Then you're approaching security as if it were a technology. It's not; it's a science. If you write instead about the application of security principles, you won't find yourself having to retract anything.

      Sure, a particular use case might become less relevant over time, but it can't become wrong unless you misunderstood the underlying principle to begin with. The principle remains, and talking about it constitutes the real teaching opportunity.

      --
      Parity: What to do when the weekend comes.
    5. Re:Undefined requirements by Opportunist · · Score: 1

      You want to base your security guidelines on a wiki? And be held responsible for its implementation? Are you nuts?

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    6. Re:Undefined requirements by tjarrett · · Score: 1

      There is an industry effort to define a "watch list" for common mistakes that lead to security flaws. Co-led by the folks behind the Common Weakness Enumeration at MITRE and the SANS Institute, the SANS Top 25 (full listing here) is being used as a requirements document for the security of purchased applications by the State of New York, among others.

      It's not perfect--it omits backdoors and other intentional security flaws, among other categories--but it's better than nothing, by a long shot.

      Disclaimer: I work at Veracode and was a co-author of the report that the original article was about.

  6. The other half by maxume · · Score: 2, Funny

    And the other half isn't even tested.

    --
    Nerd rage is the funniest rage.
    1. Re:The other half by M8e · · Score: 0

      The other half fails the 0th test.

    2. Re:The other half by Opportunist · · Score: 3, Funny

      Nah, the other half crashed when pitted against the security test suite.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  7. Well now by Monkeedude1212 · · Score: 4, Informative

    That's extrapolating a bit much, isn't it? And scanning through the article, they don't even name the sample size, just percentages.

    And yes, they mention that its only the stuff that they test, "so imagine what the rest is like". Well - thats it though, if someone is professionally developing with security in mind, they probably know how to test it in office or know somebody who can. Thus - no need to pay this corporation to test something you can do yourself.
    If you are developing with security in mind - but aren't sure exactly what you're looking to protect against - THATS when you go to companies like these.

    This is a pretty much skewed data source (probably a slashvertisement for them, too), and is the only study of its type. Take it with a weeks worth of salt.

    1. Re:Well now by jsebrech · · Score: 1

      Well - thats it though, if someone is professionally developing with security in mind, they probably know how to test it in office or know somebody who can.

      Independent security validation is the only way to verify that your approach to security works in practice.

    2. Re:Well now by eLore · · Score: 1

      For the most part I agree with you. The caveat is that in certain circumstances, having an external party review your widgets is necessary from a regulatory compliance perspective. Also, Marcus Ranum is famous for ranting on "bad management" which requires you to pay an outside consultant to tell you the same thing that your internal resources were telling you, but for more money. Unfortunately, I've seen more than one organization suffer from this.

    3. Re:Well now by julesh · · Score: 1

      That's extrapolating a bit much, isn't it? And scanning through the article, they don't even name the sample size, just percentages.

      I was wondering about selection bias, and, yes, investigating the company that did the research they appear to specialise in analysing native code (e.g. C or C++ applications) running under Windows. My guess is that a lot of the more security-conscious developers have moved to other environments (interpreted or JIT-compiled code and/or Linux), so they're left analysing the dregs...

    4. Re:Well now by sgtrock · · Score: 1

      I made my submission after first seeing a story in El Reg. While I saw it in several other places, I thought the Dark Reading story was a bit better in highlighting the findings than most. You're right, though. It's very light on the methodology. The press release on VeraCode's site has a bit more information:

      ...1,600 Internally Developed, Open Source, Outsourced, and Commercial applications analyzed when first submitted to Veracode...

      ...the first report of its kind to provide security intelligence derived from multiple testing methodologies (static, dynamic and manual) on the full spectrum of application types (components, shared libraries, web and non-web applications) and programming languages (including Java, C/C++ and .NET) from every part of the software supply chain on which organizations depend.

      ...analyzing billions of lines of code submitted to Veracode for independent verification of software security from more than 15 industries.

      (emphasis added)

      So. The sample consists of approximately 1,600 applications consisting of billions of lines of code from self selecting organizations; organizations who have an interest in writing the most secure code possible or they wouldn't be subjecting themselves to this process or paying for the service. And still, 60% of all these apps fail the first time through!

      I've been following testing results for FOSS for years. I've waded through thesis papers, press releases, magazine articles, Coverity's Scan site, you name it and I've dug into it. Virtually everything else that I've come across covered just a single means; static or dynamic code analysis, pen testing, fuzz testing, bug report analysis, mathematical breakdowns that attempt to address the "why" FOSS works so well, etc. The press release defines a sample size that is at least within shouting distance as the largest two that I know of; a study commissioned by the European Commission to analyze the economic impact of FLOSS which briefly discusses bug fixing, Coverity, and Coverity again.

      At most, they might have tackled two methodologies in a single article. This is the first such announcement that I've been able to find that covers multiple methodologies. IMNSHO, that's what makes this an important story. Slashvertisement or not.

      (BTW, note that the original announcment was at RSA Conference 2010. I suppose that makes it a RSAvertisement first? Nahhh. Doesn't trip off the tongue. ;) )

  8. Security is no selling point by Opportunist · · Score: 5, Interesting

    It just is not. Actually, quite the opposite: The better your security, the more your potential customer will be put off by it.

    Users do not care about security until it is too late (i.e. until after they got infected), and only then they will bitch and rant and complain how insecure your piece of junk is. If you, otoh, take security serious and implement it sensibly, they will bitch and rant already at install because they hate the hoops to jump through and the obstacles to dodge to make your software "just work".

    Security is the antagonist to comfort. By its very definition. No matter where you look, security always means "additional work". Either to the user, which means overhead to his work, or to the program, which means it will invariably be slower than its competing products.

    Thus security is not only an "unnecessary evil" when selling your product. It is actually hurting you when you try to convince someone to buy your stuff. Your software will be slower due to its security "burden", and it will be less comfortable to the user. The user does not see the glaring security holes when he buys the product. Only after, when the product bites him in the ass because it opened him up to an attack. But by then, he will already have paid for your product. And he will have bought your product instead of the more secure product your competitor offered, because yours was faster and easier to use.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
    1. Re:Security is no selling point by characterZer0 · · Score: 3, Insightful

      Protecting against SQL injection attacks, XSS, buffer overflows, and validating user input does not put off users.

      --
      Go green: turn off your refrigerator.
    2. Re:Security is no selling point by Cro+Magnon · · Score: 1

      Yes it does. It makes your product later than the fast & slopper competition.

      --
      Slow down, cowboy! It has been 4 hours since you last posted. You must wait another few hours.
    3. Re:Security is no selling point by ka9dgx · · Score: 3, Informative

      Actually, good security would be a GREAT selling point, if someone actually implemented it.

      Security is the ability to run code without unwanted side effects. Windows, Mac, Linux do not offer a simple way to do this. The closest you can get is either Sandboxie on Windows, AppArmor on Linux, or setting up a VM per program.

      If you offered a way to specify the limits of side effects on an application before and while it runs, you could make a ton of people very happy. I suspect there is some money to be made there as well.

    4. Re:Security is no selling point by Anonymous Coward · · Score: 0

      Why is there no discussion of the fundamental trade offs inherent in all forms of engineering not only software. That is security is only another facet of software performance that includes features, reliability, cost, flexibility, ease of use etc. All software in fact all human defenses are insecure in the sense that a determined attacker can overcome them. There is a wide spectrum of users who can trade off perceived security risks versus benefits. No one choice is better than another. I leave my 89 Plymouth unlocked so what.

    5. Re:Security is no selling point by digitalhermit · · Score: 1

      It's not an either/or thing. Secure software is often the *easiest* to configure. It's when configuration is difficult and prone to error that people make mistakes or start using default configurations.

      For example, when a service is installed on a system many installers do not have procedures for configuring the firewall. It may be a range of ports that's needed, or some access to a particular IP address. So people install the software and it doesn't work. They read something on the Internet that it's a firewall issue. So what do most people do? They turn off the firewall. I know at least three people who did this because they couldn't get NTP updates to work on their systems.

    6. Re:Security is no selling point by jsebrech · · Score: 1

      It depends on the product, but there are indeed corporate customers who have policies disallowing them from purchasing / deploying software that does not pass independent security audit.

      It's a mixed bag, and it depends on the market you're in. For some types of software, security is a non-issue. Security is like usability. You can always improve things, but at some point you have to say "up to here, and no further".

    7. Re:Security is no selling point by ClosedSource · · Score: 1

      I think there is a political issue which disproportionally elevates the importance of security - it's a talking point against Windows.

    8. Re:Security is no selling point by clone53421 · · Score: 1

      The better your security, the more your potential customer will be put off by it.

      If, by “better”, you mean more intrusive, controlling, cumbersome, slow, and restrictive... then yes. Of course they will be.

      But if, by “better”, you mean less intrusive, controlling, cumbersome, slow and restrictive...

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    9. Re:Security is no selling point by Lord+Ender · · Score: 2, Informative

      Security is the antagonist to comfort. [etc. etc. etc.]

      Your entire rant is based on a false premise. In most cases, security actually increases "comfort" or "convenience." It's damn inconvenient to use a system which crashes, misbehaves, and needs to be frequently rebuilt due to security problems. Removing buffer overflow vulnerabilities from your software in no way inconveniences your users.

      Authentication is perhaps the only piece that sometimes is inconvenient. Just typing your username to log in is more convenient than having to type a password. But that's the exception to the rule. And systems which time you out while you're using them, and don't integrate with SSO, are actually not "more secure," they're just badly-implemented. So that's not a trade-off either.

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    10. Re:Security is no selling point by Opportunist · · Score: 1

      The problem is, all those nuisances will not surface until you have the product in a "productive" environment. Most products look quite nice in laboratory conditions (i.e. at demonstrations), even if they're crash prone, insecure and incompatible.

      By the time those crashes, reinstalls and "wtf did it do now" moments appear, management will already have signed the payment for the piece of junk you'll be tied to for the next decade.

      --
      We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  9. Slashvertisement by wintercolby · · Score: 1

    Veracode offers the service of finding security flaws in your source. By definition organizations and developers that submit their source to them are going to have more secure software (according to Veracode) when it's released, after it's been certified.

    All this shows is that there are developers using a company that specializes in finding security bugs to . . . find security bugs. It's just like using any other debugging tool, you rarely get a clean compile with no bugs on the first try.

    --
    Most ignorance is vincible ignorance. We don't know because we don't want to know. --Aldous Huxley
  10. Security firm says security is an issue by SlappyBastard · · Score: 4, Insightful

    Hmmm . . . there's a word for that . . . XKCD, can you help me?

    http://www.xkcd.com/703/

    --
    I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
    1. Re:Security firm says security is an issue by lysdexia · · Score: 1

      And here I thought that meant having sex with Tauntauns.

    2. Re:Security firm says security is an issue by Anonymous Coward · · Score: 0

      Tauntauphilia.

    3. Re:Security firm says security is an issue by SlappyBastard · · Score: 1

      The word for that is "fanboy".

      --
      I scream. You scream. I assume that means we're both acquainted with the problem. We proceed.
  11. What about commercial open source software by weeble · · Score: 4, Informative

    So lots of comparisons between open source and commercial software; however there is a lot of open source software that is sold, i.e. commercial. In addition it has been shown that most of the code for the Linux kernel was developed by people who were paid to do it by Red Hat, IBM, Intel and others. Does that mean that the Linux Kernel is commercial software.

    May be the article should refer to closed source proprietary and open source software.

    The article reads as if the author does not fully understand the how Open Source software is developed and is just a large advert (a.k.a. press release) for the auditing software.

    --
    Slashdot Beta should die a painful death.
    1. Re:What about commercial open source software by ClosedSource · · Score: 1

      The comparison should really be application to application regardless of the open/closed commercial/non-commercial categories. There's no inherent relationship between these categories and security.

    2. Re:What about commercial open source software by Tanuki64 · · Score: 1

      In addition it has been shown that most of the code for the Linux kernel was developed by people who were paid to do it by Red Hat, IBM, Intel and others.

      And what does this mean? Paid = better programmers? Funny, very funny. I experienced much more bad programmers who were paid that bad programmers who do their stuff because they like what they do. Paid programmers, who initially were hardware developers, physicist, even biologists, then the business changed and they were told they are now softwaredevelopers. Here is a C++ book, start reading. Some of the computer science guys were not much better. Never coded more than 100 lines of code, but they are the experts with a degree.

      So I don't care how many developers in an open source projects are actually paid to contribute. This is not necessarily a sign of expertise or quality.

    3. Re:What about commercial open source software by weeble · · Score: 1

      It means that the open source software development is often paid for by a commercial organisation.

      The original article is trying to compare commercial (by which I guess they mean closed source) and open source (which is mostly commercial).

      --
      Slashdot Beta should die a painful death.
    4. Re:What about commercial open source software by Tanuki64 · · Score: 1

      Maybe he really meant this. I might be a bit touchy here, but too often the term 'paid programmer' is used in a context do demean open source hobby developers.

  12. 80-20 by gmuslera · · Score: 1

    That is 50-50 is good news if the sample was broad enough . Could be interesting to match that numbers with amount of users... could be a lot of those programs that their userbase coincide (or is even lower) with the amount of developers, and see how insecure are programs with more than 100,1000 or even more users (i.e. if the top 20 % of top safe applications have the 80 % or more of users,or the distribution is better than that).

  13. They get paid to find security holes by dcraid · · Score: 2, Interesting

    Will a security firm ever certify that a solution is perfect on the first pass? Not if they want to be invited back for a second.

    1. Re:They get paid to find security holes by j00r0m4nc3r · · Score: 1

      Not only that, but some applications don't need to be secure. Who cares if Minesweeper has a buffer overflow? It runs in user space, and if the operating system works like it should, that isn't a problem. If not, it's the OS that's insecure...

  14. Code has bugs... so don't trust it. by ka9dgx · · Score: 1

    Code has bugs, it always will. You need to reduce the attack surface, why not reduce it all the way down to the kernel of the OS? If you don't need to trust any of the users programs with the security of the whole system, you've solved a lot of problems.

    Don't trust the users? Not a good idea. The users are the administrators these days.

    Don't trust the internet? Well... it's a communications medium, just a set of tubes.

    Don't trust the programs? Great idea!

    1. Re:Code has bugs... so don't trust it. by hellraizer · · Score: 1

      "Don't trust the users? Not a good idea. The users are the administrators these days." - Bad Idea , users WILL mess up the system no matter how, imho we should NOT trust them "Don't trust the internet? Well... it's a communications medium, just a set of tubes." you have a point here, but isnt Clowd Computing all about "trusting" the web ?

    2. Re:Code has bugs... so don't trust it. by ka9dgx · · Score: 2, Insightful

      The reason users mess things up is that they have bad tools. There is no simple way to run something in a sandbox.

    3. Re:Code has bugs... so don't trust it. by Xtifr · · Score: 1

      Code has bugs, it always will.

      Really? I defy you to find a bug in my implementation of /bin/false. :)

      What is true is that the chance of a bug appearing grows exponentially as the code increases in complexity, so that for any program of moderate or greater complexity, the chance that one or more bugs exist is near certainty, but I wouldn't be posting on slashdot if I didn't enjoy the occasional moment of nitpicking pedantry... :)

  15. sometimes security doesn't matter by i.r.id10t · · Score: 1

    Sometimes security doesn't matter, esp. with regard to the "internal project" stuff mentioned.

    Of course, this is the area that basic utility scripting is used, you and perhaps one or two others are the only ones using it, you already have access to any other system you could get via a cross scripting technique, access to any DBs you'd get with a SQL injection, etc.

    --
    Don't blame me, I voted for Kodos
    1. Re:sometimes security doesn't matter by Tanuki64 · · Score: 1

      Sometimes security doesn't matter, esp. with regard to the "internal project" stuff mentioned.

      In theory (not in reality) security always matters. You never know when your 'internal project' stuff bleeds into product code.

  16. In other news... by GuruBuckaroo · · Score: 3, Insightful

    More than 90% of all software tested fails to compile the first time. Seriously, that's what security testing is for - finding holes so they can be filled.

    --
    Poor means hoping the toothache goes away.
  17. Not a shocker by ErichTheRed · · Score: 2, Interesting

    Coming from the systems integration side of things, I don't view this as a surprise. Developers are great at writing software, but in my experience they have no idea about how the platform they're deploying it on actually works beyond the API function calls they make. This leads to internal applications that I have to throw back because part of the requirements are, "User must be a member of the Administrators or Power Users group." Most dev guys just don't get that it's very dangerous to give the end user full rights to an Internet-connected Windows box. There's just too many holes in Windows to safely allow it.

    To be fair, there are a lot of reasons for stuff like this...not the least of which is deadlines for deploying "something that works." I've been there on the systems side too...scrambling at the last second to get hardware and operating systems deployed because of a deployment date. There are also a lot of apps coded in C++ and other unmanaged languages that open the system up for all sorts of buffer overrun attacks. Not much you can do there except vigilant code checking.

    I think a little education on both sides of the fence would be useful. Developers should get some kind of training in "systems administration and internals for developers" and systems guys should definitely be educated in what holes are safe to open up on their systems. (That's a big cause of this too -- there's a lot of low-skilled systems admins out there who take the developer's instructions at face value without checking to see if full access is really needed.)

    1. Re:Not a shocker by ka9dgx · · Score: 1

      Why force the developers to worry so much about security? Why not instead provide a way to have a contract with the OS, which limits side effects to a known set of limitations? That would save a lot of grief, and let the developers get on with it.

    2. Re:Not a shocker by Anonymous Coward · · Score: 0

      Well, someone has to develop such a contractual system, and one would hope they care about security.

      Stop being lazy and learn to program well, not just VB that works most of the time.

    3. Re:Not a shocker by ka9dgx · · Score: 1

      The contract system is called capabilities, and it was first described in the 1960s. It's simply a kernel owned list of things a process is allowed to do.... if it's not in the list, the process doesn't get to do it.

      Programmer skill is great, but you can't blame the programmer for bad tools either.

    4. Re:Not a shocker by ducomputergeek · · Score: 1

      Mod parent up. I come from the same SI background and now running a programming shop. What dumbfounded me were the folks with CS degrees that really had no idea how the networking/systems side worked. I can remember a few times they'd call me over after working half a day or more trying to figure out why something in their code wasn't working only to have me take a look and in less than 30 seconds figure out it something on the server wasn't running or there was a network configuration problem.

      --
      "The problem with socialism is eventually you run out of other people's money" - Thatcher.
    5. Re:Not a shocker by Chirs · · Score: 1

      Not going to work. The developers will try and do something, violate the contract, the program crashes. Rather than track down the source of the problem they just loosen the contract a bit because they're up against a deadline. Eventually through feature creep the contract becomes basically that the program can do whatever it wants.

  18. "remediate"? by Voline · · Score: 2, Insightful

    Try "remedy", or does that not sound pseudo-technical enough?

    1. Re:"remediate"? by lennier · · Score: 1

      As a technologist, I remediate all the architected solutionizations I administrate.

      --
      You are not a brain: http://books.google.com/books?id=2oV61CeDx-YC
  19. Obsolete? by vlm · · Score: 2, Informative

    The conventional wisdom is that open source is risky.

    Does anyone believe that anymore, other than journalists quoting other journalists and PR people?

    I did some google searching, trying to find when that old FUD campaign started. It seems to not show up much until 1998.

    The 12 year old advertising/FUD campaign is getting kind of tired.

    --
    "Science flies us to the moon. Religion flies us into buildings." - Victor Stenger
  20. As misleading as 'Show all warnings' by yalap · · Score: 1

    A customer just run their $10k scanner on our software and only found 3 problems. But it turned out the vendor had grabbed every 'security vulnerability' ever reported on any discussion board/mailing list and listed it as a problem. e.g. 'I tried this URL and my computer slowed down a bit. I think it is a denial of service attack.' Took a few days to research and disprove their claims. Meanwhile, how many other such claims is it making? To me, it is analogous to switching on 'Show all warnings' - I've worked with managers and developers that want to eliminate all the warnings in the source. Apart from just rock polishing, I think it distracts them from focusing on the real issues like security and performance. Like any job, you need to have the right tools and know how to use them. We do use Java Findbugs and network scanners. But poor use of any tools only leads to cuts, bruises and visits to the emergency room.

    1. Re:As misleading as 'Show all warnings' by clone53421 · · Score: 3, Insightful

      I've worked with managers and developers that want to eliminate all the warnings in the source.

      There’s a good reason for that, and it’s not as petty as you think.

      Warnings exist to let the programmer know that the actual behaviour might not be what the programmer thought was most intuitive. If it’s implicitly casting a float into an int, you damn well better know what that means and what effect it’s going to have on your code... it means that 1/2 == 0, for starters. Similarly, there’s absolutely no reason why you can’t use (count = 5) as an expression, except that its value is always 5, not true or false as you may have incorrectly thought.

      Lazy, sloppy, or inexperienced programmers are going to fall for these sort of pitfalls. Experienced, careful ones won’t nearly as often. But if you force a lazy, sloppy, and inexperienced programmer to learn why the compiler is giving a warning and eliminate it, he’s going to end up slightly less lazy, more careful, and with a little more experience than he started with, because he’ll hopefully understand the warnings by then and know what the code is actually doing.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    2. Re:As misleading as 'Show all warnings' by Tanuki64 · · Score: 1

      There's a good reason for that, and it's not as petty as you think.

      100% Agreement. With on exception: No new line at end of file. This warning I hate with all my heart. :-D

    3. Re:As misleading as 'Show all warnings' by lucian1900 · · Score: 1

      In fact, there is a good reason for that, too. If your code gets compiled by some old/stupid compiler, anything after an #include might end up starting on the included file's last line.

    4. Re:As misleading as 'Show all warnings' by Tanuki64 · · Score: 1

      I know. But I never had to use one of those ancient compilers. Still, I am pretty sure the first day I start disabling this particular warning is the day this problem will bite me. ;-)

    5. Re:As misleading as 'Show all warnings' by Hurricane78 · · Score: 1

      And that’s Haskell compilers, fail at every single of those unsafe casts. By language definition.

      Sure, you can do sloppy stuff in Haskell too. But it requires writing out a function name that basically says "I am doing sloppy coding, and what I write right now is nasty shit that should never happen!"

      --
      Any sufficiently advanced intelligence is indistinguishable from stupidity.
  21. MOD PARENT UP by Anonymous Coward · · Score: 0

    you know you want to

  22. Comment removed by account_deleted · · Score: 2, Insightful

    Comment removed based on user account deletion

  23. 60% !!! by NicknamesAreStupid · · Score: 1

    Obviously, Veracode's tests aren't thorough enough. But it raises the question, "who tests the testing software?"

    1. Re:60% !!! by wilkinc · · Score: 1

      Obviously, Veracode's tests aren't thorough enough. But it raises the question, "who tests the testing software?"

      I dunno...Coast Guard?

  24. Encouraging? by clone53421 · · Score: 1

    The conventional wisdom is that open source is risky. But open source was no worse than commercial software upon first submission. That's encouraging

    ...um, I’d have started with the opposite premise, that open-source is safer. In light of that premise, I think their findings are somewhat discouraging... except,

    It took about 30 days to remediate open-source software, and much longer for commercial and internal projects

    Now that’s encouraging.

    --
    Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  25. security is important by Anonymous Coward · · Score: 0

    mostly to security consultants. nobody else really cares because it just doesn't matter that much.

  26. Firefox has too many developers by Anonymous Coward · · Score: 0

    This obviously causes security holes.

    In its last several releases, everyone's favorite Open Source browser has become an unstable mess of add-ons, plugins, and other hacks that chew up memory like a fat kid with a chocolate-dipped corn dog. In fact, just last week, SecurityFocus released news of a devastating exploit in Firefox 3.5.5 that they blame squarely on its unstable architecture.

    From its infancy Firefox has been the product of collaborative effort, unifying code from hackers worldwide. But thanks to the Hayes Law, we see that there is a "sweet spot" to such a development style, and that Firefox has long since left it behind. In the chart below, we can see that the number of Firefox developers has increased exponentially since 2002, and that number will more than double in 2010.

    But it's time to be honest: either Firefox, as a modern web browser, will have killer performance on 64-bit, multicore Intel chips or it's not worth downloading and installing. And since, as we have seen in the recent past, that Firefox is actually getting slower with each release, Firefox is certainly a waste of time for anyone who takes their web browsing seriously.

    The Hayes Law states that, given a specific type of software project, there is a certain complexity associated with it, and with that complexity an optimal number of developers. It's actually a little more complicated than that, taking into account development model, coding platform, programming language, and code repository platform, but in the end it's easy to plug in the numbers and see where a project's headed.

    Against the Hayes Law, Firefox appears to have jumped the shark sometime after the Firefox 2.0 in 2006. The next major release, Firefox 3.0 in 2008, introduced many issues users today complain about: bloat, sloth, instability, and insatiable hunger for memory. Firefox user complaints increased in tandem, all syncing up with the jump in developers. Ergo Firefox's problem: too many cocks in the kitchen.

    To further underline this growing problem, Firefox completely falls down in Acid3: Firefox 3.5 scores 93/100, and Firefox 3.6 scores only 87/100. Needless to say, Firefox 4.0 mockups score 0/100. Sadly, this is a continuation of a trend: Firefox took the longest of all browsers to beat Acid2. And don't even think about Acid4. Firefox is collapsing under its own weight.

    The core of this problem looms: the number of developers, as seen in the chart above, will only continue to skyrocket for Firefox 3.6 and beyond. By the time Firefox 4.0 is released, sometime in December 2010, the number of developers will be nearly 4,000, almost a full magnitude greater than the optimal 445 or so in 2006. Clearly, Firefox is about to capsize.

    So what is to be done? Users can petition the Mozilla Corporation and the Mozilla Foundation to rethink their development model, focus on optimization instead of new features, and perhaps backpedaling on some of the less sensible projects like Mozilla Mobile and the non-standard XUL interface. Concerned individuals should log into Mozilla's Bugzilla and let loose with their bug and crash reports like never before.

    Unless Brendan Eich and Mitchell Baker take their heads out of their asses, however, the best course of action is to escape Firefox like rats from a sinking ship. There are other options out there: Apple's small, fast, and efficient Safari, coded by several dozen professional programmers, is currently the best browser for Mac and Windows. The time-honored Internet Explorer continues to embrace and extend Web standards. Other browsers like Chrome, Opera, and Lynx are out there too but aren't for everyone.

    In the end, Mozilla Firefox as it stands is a sick browser that is in need of emergency surgery not ready to take on the challenges of Web 2.0 and things like CSS 3, HTML5, and JavaScript 1.9. Unless something happens soon, Firefox will take the entire World Wide Web—and everyone who depends on it—back to the Stone Age of the Internet.

    1. Re:Firefox has too many developers by clone53421 · · Score: 1

      Three point five point FIVE?

      We’re up to version 3.5.8. Please do try to keep up.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    2. Re:Firefox has too many developers by clone53421 · · Score: 1

      Scratch that... 3.6 has been out for a month now. I rarely restart this computer, so it hadn’t told me to update yet.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
    3. Re:Firefox has too many developers by Anonymous Coward · · Score: 0

      too many cocks in the kitchen

      Are you suggesting Firefox needs more women developers?

    4. Re:Firefox has too many developers by julesh · · Score: 1

      Scratch that... 3.6 has been out for a month now. I rarely restart this computer, so it hadn't told me to update yet.

      I'd update _now_ if I were you. I didn't notice the problem either, but then I visited an old bookmark to a bittorrent site that's now defunct and got rooted and I got myself an annoying piece of adware installed (ironically entitled "Windows XP Antivirus").

      Versions of FF only a few weeks out of date are now being actively exploited by the bad guys. Keep up-to-date.

    5. Re:Firefox has too many developers by clone53421 · · Score: 1

      I already did.

      --
      Alexander Peter Kristopeit bought his basement from his mommy for one dollar.
  27. I am a professional softwaredeveloper myself..... by Tanuki64 · · Score: 1

    ...and I don't give a **** for security. I am working as freelancer. As such there a two possibilities: I calculate correctly including all costs for proper design and tests, or I get the contract. Customers pay ****, customers want ****, customers get ****.

  28. Security by QuoteMstr · · Score: 1

    Back when I was in charge of hiring new programmers for a web development shop, the very first thing I'd do when I got a resume would be to load up the applicant's personal website, if he had one.

    No, I didn't look at the aesthetics of the site. I didn't care about the cleanliness of the HTML. The implementation language and web framework didn't matter. I had more important things on my mind: I would find a form, and type hello world' -- ; SHOW TABLES. If the site misbehaved, I'd toss the resume in the trash and adamantly refuse to reconsider it.

    Management thought I was nuts --- these were guys with degrees! They came with great recommendations! And they're cheap! What does one bug matter? But with SQL injection being the now #2 security vulnerability, who's whining now?

    Attention to correctness is the bedrock trait of a good developer. Everything else comes second; security is just one property of correct code.

    1. Re:Security by Tanuki64 · · Score: 1

      Attention to correctness is the bedrock trait of a good developer. Everything else comes second; security is just one property of correct code.

      I disagree. This is pure lip service. Everybody wants secure code, but nobody wants to pay for it. So I infer that security and quality is not important. Whenever I submit a realistically estimated cost/time plan I can be sure that I won't get the bid. So cheap and fast, everything else comes second, or third, or fourth.

      A situation I experienced myself.
      Company, which developed medical devices. Project manager: Make sure, that the gui looks nice. Me: Cannot do it, somewhere the is a problem, which causes the program to crash randomly every few hours. Project Manager: No problem. People are used that programs crash. The just start them new. But a nice gui is what sells.

      So don't tell me security or quality is in the least important.

  29. uhhh by buddyglass · · Score: 1

    "Conventional wisdom" depends on who you ask. The convention wisdom I've heard is that OSS is actually more secure. More eyes, etc. The flip side of his analysis is that while OSS was no more vulnerable than closed source it was also no less vulnerable, which would suggest the closed source model is equally capable of producing secure code.

  30. Sample sizes, testing by tjarrett · · Score: 1

    You can check out the full report online from the Veracode.com website (requires registration).

    We disclose the sample size in the appendix (1591 applications).

    You can test the quality of code you are developing yourself with a simple source code scanner, but testing third party code is a little more challenging. I don't know too many significant applications that are entirely created in house, with no dependency on third party libraries.

    Disclaimer: I work for Veracode and was a coauthor of the study.

  31. Platforms by tjarrett · · Score: 1

    If you take a look at the full report (registration required), you'll see that the application pool from which the report was drawn was 47% Java, 31% C/C++ (on Windows, Red Hat Linux, and Solaris), and 22% .NET. Other data is provided (industry, supplier type) to help frame the terms of the application pool from which the data was drawn. We acknowledge the inherent selection bias (the applications in the report come from our customers) in the methodology section.

    Disclaimer: I work for Veracode and was a co-author of the report.

    1. Re:Platforms by OpieTaylor · · Score: 1

      tjarrett wrote: "We acknowledge the inherent selection bias (the applications in the report come from our customers) in the methodology section."

      It's good of him to point that out, but that's not the only flaw in the study I'm sure. First of all it was done by someone with a stake in the outcome, which is always problematic, even with the purest of intentions.

      Second, the article says "[t]he vulnerability with the highest total count was cross-site scripting (XSS), and was the third most prevalent flaw."

      In my experience that's usually an artifact of the application server and the test tool--not the code. Out of the box most app servers error pages echo back arguments like parameter=evil_script. The tool says that's XSS. The vendors like BEA, Sun, Oracle don't seem to agree, although they'll send you a patch if you beg.

      I wonder whether Veracode actually validated that the "vulnerabilities" were actually exploitable.

      --
      Thanks a lot, big brain. (K. Vonnegut, "Galapagos")
  32. Over Half of Software Fails First Security Tests by f0rk · · Score: 1

    Over Half of Software Fails First Security Tests. Well that good, now i want the second half to be tested to.

  33. Interesting. by E.+Edward+Grey · · Score: 1

    Even though the "conventional wisdom" is that the science of programming has entirely changed to consider security issues from end to end, in reality this does not appear to be the case at all.

    I think this is a very interesting and valuable insight. The people doing the talking have completely sold everyone on a vision in which the coder keeps security in mind from the get-go, but the people doing the, uh ... doing ... are doing things the way they have always done them, and tacking on the security piece after the fact.

    Is it that programmers in general simply believe that buyers are unreasonably paranoid? Or is it that planning for security throughout the process is too costly and time-consuming?

    --

    ---don't make me break out my red pen.

  34. It's already per-user by cbhacking · · Score: 1

    FYI, the system-wide registry hive (HKEY_LOCAL_MACHINE, or HKLM) is stored in a different file than the per-user registry hives (HKEY_CURRENT_USER, or HKCU, is stored under the user profile directory).

    The complaint that each registry hive is all in one file is still somewhat valid (I kind of like having a centralized tool for changing configuration settings, which is a lot easier when you have fewer files containing the settings) but only on Win9x was the entire registry stored in a single location.

    Additionally, individual registry keys have their own ACLs. It's actually much finer-grained security than the Unix-like way of doing things. The defaults are that stuff in HKLM is world-readable and Admin-writable, and keys within HKCU are read/write by you (and Admin) only, but it's all configurable.

    --
    There's no place I could be, since I've found Serenity...
  35. Secure web app design is HARD by einhverfr · · Score: 3, Insightful

    I know you meant it in jest, but there's a serious point there.

    First, having written a number of small utilities, and some larger GUI-based tools, I have to say that web app design is fundamentally more difficult primarily because you have a number of specific challenges in this area that only apply to them.

    Not only do you have to deal with all the usual problems, but you also have to deal with XSRF, XSS, and so forth. This is because you are you have a program which is generating HTML code as output, not merely a nice UI that is the product of the code, and this is happening in a stateless environment so information is somewhat limited in the interaction well beyond what it would be normally. Furthermore, authentication is more difficult in a stateless environment, especially where multi-tier systems are involved.

    Most people don't appreciate how easy these are to mess up and how hard they are to fix when a developer creates a project without adequate thought to security in the first place.....

    --

    LedgerSMB: Open source Accounting/ERP
  36. So Veracode is missing about 40% by the+eric+conspiracy · · Score: 1

    It seems to me that a through test would initially flunk pretty close to 100% of all software. So this means Veracode is too lenient by about 40%.

  37. And readily available building blocks by DrYak · · Score: 1

    Last, but not least :

    4) Open source development has access to lots of readily available building blocks, for free. If a commercial developer want to add some feature to its software, they have to either pay a 3rd party developer (with the whole IP right labyrinth associated with that, in addition to the cost), to go "Not-Invented-Here" syndrome and write it themselves (and we know just how much secure it can be to re-invent the wheel, rather than getting a tested and proved version), or just plain skip the feature.

    Security is increase because :
    a) re-writing the thing on several time is a waste of resource, better spend the same time perfecting what is already here.
    There's a lot of application which implement some kind of HTML parser for layout presentation. It's often buggy and has sometime been exploited (I remember ICQ's code for displaying ads, for example).
    The open source world has Gecko and WebKit, which have been perfected for years and thus contain a lot less vulnerabilities.
    b) the components are freely available and easy to get as much as they are easy to update.
    The Linux world has seen some major security problems in the past. Fixing it was a snap. Simply patch the library. Every project depending on it can freely get an upgrade. Distro simply install a patched version and every software depending on it auto-magically benefits it.
    Windows world share a lot less code. When the "bug in image decompressor" (I think it was WMF... not sure), one had to track every last software which might use its own copy of the library. Less shared code : more difficult to fix.
    c) Ready-to-use blocks for security.
    Whereas small closed source project might resort to half-assed security modules, most opensource project simpy count on SSH-Tunnels (front-end for torrent downloader, for example) or on GNUTLS / NSS+NSPR.

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
  38. What "convenitonal wisdom"? by Hurricane78 · · Score: 1

    The conventional wisdom is that open source is risky.

    No. The conventional wisdom is, that open source is much much safer!

    Who wrote this? Some PHBtard?

    --
    Any sufficiently advanced intelligence is indistinguishable from stupidity.