Slashdot Mirror


Insecure Code - Vendors or Developers To Blame?

Annto Dev writes "Computer security expert, Bruce Schneier feels that vendors are to blame for 'lousy software'. From the article: 'They try to balance the costs of more-secure software--extra developers, fewer features, longer time to market--against the costs of insecure software: expense to patch, occasional bad press, potential loss of sales. The end result is that insecure software is common...' he said. Last week Howard Schmidt, the former White House cybersecurity adviser, argued at a seminar in London that programmers should be held responsible for flaws in code they write."

284 comments

  1. Errors and Omissions Insurance by geomon · · Score: 3, Insightful

    Great news for the E&O insurance industry! When programmers become liable for the mistakes (read: human nature) of their creations then everyone who codes for a living will have to consider buying insurance to hedge their risk, or find another form of work.

    E&O is incredibly expensive. I looked into buying a policy when I started doing environmental work due to the possibility that I could be named a 'potentially responsible party' in an environmental enforcement action by the government. I side-stepped that need when I went to work for a large firm that could afford the E&O insurance. You can bet that cost was included in my chargeout rate.

    That is what this effort will lead to for independent programmers. You will have the choice of buying E&O insurance, provided you qualify, and jacking your prices up to cover your costs, or you will have to work for a company that already has it. Hobby/free software enthusiasts are screwed.

    I prefer the policy of 'caveat emptor'. If you install free software on your production machine without properly vetting it you are not only a fool but should bear all of the costs yourself.

    --
    "Rocky Rococo, at your cervix!"
    1. Re:Errors and Omissions Insurance by RingDev · · Score: 4, Insightful

      You'll notice also that this does nothing to improve the security of the code. It just makes it more expencive.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    2. Re:Errors and Omissions Insurance by eln · · Score: 1

      If you install free software on your production machine without properly vetting it you are not only a fool but should bear all of the costs yourself.

      If you install ANY software on your production machine without properly vetting it, you are not only a fool but should bear all of the costs yourself.

    3. Re:Errors and Omissions Insurance by geomon · · Score: 0, Flamebait

      you fucking pussy faggot

      In America, if I fuck a pussy, I am not a faggot.

      --
      "Rocky Rococo, at your cervix!"
    4. Re:Errors and Omissions Insurance by Godeke · · Score: 2, Insightful

      Give this man a dollar! E&O insurance actually increases the rate at which lawsuits are filed (since you have a better chance of actually being paid out). Now, the threat of having your E&O insurance premiums increase is a motivator, I don't think it is much of one as the scenario where you don't have E&O insurance and you are "self insuring".

      Net result: not much additional motivation to secure code, more suits and thus costs increase to feed the lawyers instead of the process.

      --
      Sig under construction since 1998.
    5. Re:Errors and Omissions Insurance by c_woolley · · Score: 0

      If I create a piece of software designed to communicate information about myself to other parties (i.e. ANYTHING that travels over a network) and fail to take into account security or the safety of what could be absolutely vital information, should I not be held responsible? When a car manufacturer puts in a faulty seatbelt and a person dies because of it, do you honestly think that the argument "They shouldn't be held accountable because they needed to meet a deadline and didn't have time to make it safer" should be acceptable? If you sell software, you are responsible. If you advertise the product as freeware...let that be at the user's expense. Hobbyists are not going to be held accountable, unless they are telling everyone "My software has no flaws." Today, if I buy a program, the first thing I need to do after installing is check for the patch...this is simply not good business, and is irresponsible. On the more reasonable side, there really is no bulletproof way to insure against certain vulnerabilities, because the vulnerability may not even be known about. Certain viruses can get through new software because that software makes a brand new vulnerability available to the bad guys. No accountability there, as I can see. If, however, you create a backdoor that can be exploited in order to develop software with an easy safety net, and then fail to fix the backdoor before publishing...you know that you are putting users at risk and you KNEW that you were failing to publish a solid release. These people should be and NEED to be held accountable. This is usually the situation that we hear about when there is a security patch available for a newly released piece of software. Bottom line...software programmers need to be held accountable, unless the flaw is something that was not apparent at the time of development.

    6. Re:Errors and Omissions Insurance by JPyun · · Score: 1

      Sounds like the medical industry. Maybe E&O won't be as exorbantly expensive as malpractice insurance.

    7. Re:Errors and Omissions Insurance by sam_handelman · · Score: 1

      Granted.

        Now how are you going to "properly vet" a mysterious black box, by which I mean anything other than open source software? Read the vendor's documentation so that you know they think it is secure? Try to hack it yourself?

        I'll allow that there are a few private products with an established reputation for security solid enough that you'd consider taking their word even if the code hasn't been subject to public review.

        Personally, I favor the following - vendors should be responsible for the security of any software they SELL. You can write anything you want, but if you charge money for it, you have to be liable if it doesn't work.

        Would this tilt the field in favor of open-source software? Why, yes, so it would! How awful. Ah well.

      --
      The good and new comes from no quarter where it is looked for, and is always something different from what is expected.
    8. Re:Errors and Omissions Insurance by DigiShaman · · Score: 1

      Wow, sounds a lot like our current system of healthcare. Anyone want to guess WHY it's so freaking expensive?

      --
      Life is not for the lazy.
    9. Re:Errors and Omissions Insurance by sjames · · Score: 1

      Of course, it would also mean that programmers would have to gain the right bof signoff. That is, the company cannot for any reason even pretend to ship the software unless/until all pf the programmers sign off certifying that the code is clean.

      Of course, there is a huge can of worms here. What if the software uses 4096 bit DSA sigs for authentication, and next year someone figures out a way to defeat it? You really can't blame the programmers who used (at the time) the most secure authentication known.

      You will also start seeing some REALLY tight system requirements which will inevitably specify an exact OS version on an exact processor/chipset with no other software installed at all. You will also see practically all PCs violating those specs unless you also make it a crime to violate them without a permit and an engineers signoff (the same way you can't just go in and knock out a load bearing wall in a skyscraper).

      I keep hearing about a PEs responsabilities and signoff, but a PE designs ONE structure that may NOT be mixed and matched that will be built on ONE site using exactly the materials specified. For buildings, it has to be that way, but do we really want to need a developer/consultant for a month or two to hack on minesweeper for us so it can be certified to be secure on that particular machine with that particular OS taking into account exactly the software already installed? Considering how many programs he'll have to be intimately familliar with How much will the license cost when source has to be provided so that consultant can see what he's getting into (can't certify no bad interactions if he can't see what's interacting in the first place)

      Neverminding all of that, Once the public sees the pricetag for certified software and the dearth of new features, I predict that web based server app farms will spring up all over the third world (where the current status quo still applies) so businesses can get around having to license certified software.

      Strict liability for either vendor or developer will lead to exactly these things. What we really need (though I don't know how to cause it) is significant market pressure to provide more secure software. Right now, we still have companies and individuals spending great deals of time and money to clean up after a breech promptly sending in their dollars for the next version. History suggests that next version will be as bug-ridden as the previous, but that doesn't seem to diminish it's popularity.

    10. Re:Errors and Omissions Insurance by Rob+Riggs · · Score: 1
      You'll notice also that this does nothing to improve the security of the code. It just makes it more expencive.

      This is only superficially true. A side effect of the insurance industry on many industries is that best practices are developed and enforced in order to reduce insurance rates. As the actuarial for programming evolves, programmers (or the companies which employ them) will be encouraged to following practices that produce better code in order to lower their insurance rates. The cost of not following those practices are currently not well enough quantified for management to base a decision one way or another.

      --
      the growth in cynicism and rebellion has not been without cause
    11. Re:Errors and Omissions Insurance by WolfZombie · · Score: 1

      Looks like it is time for me to open up all the ports on my router and start suing individual Microsoft employees that helped develop Windows XP, it is the American way!

    12. Re:Errors and Omissions Insurance by RingDev · · Score: 1

      I disagree. I think your statement is superficially true.

      Look at health insurance and smoking. Smoking directly effects your health. (Former pack a day smoker for 10 years) You get sick more often, more trips to the doc, higher likelihood of complications at an earlier age then non-smokers, and a higher cost of insurance (If you are paying your own bill or have an employer with a prorating health plan).

      One would assume using your logic that the extra cost of health insurance would push people to stop smoking, but it doesn't. Its had little to no effect.

      -Rick

      --
      "Most people in the U.S. wouldn't know they live in a tyrannical state if it walked up and grabbed their junk." - MyFirs
    13. Re:Errors and Omissions Insurance by Digital+Mage · · Score: 1
      ...then everyone who codes for a living will have to consider buying insurance to hedge their risk...
      Well...not exactly everyone...just U.S. programmers will have to buy insurance. This gives a another huge wage advantage to offshored foriegn workers and provides an accelerator to companies to offshore programming work.

      Any programming work that must stay in the U.S. (e.g. military, homeland security, intelligence) will be more expensive to cover workers with that insurance. And since that work is typically government contracts the U.S. taxpayer will ultimately flip the bill. I'm sure the insurance for something like avionics control software will be very expensive.

    14. Re:Errors and Omissions Insurance by geomon · · Score: 1

      This gives a another huge wage advantage to offshored foriegn workers and provides an accelerator to companies to offshore programming work.

      Good point.

      --
      "Rocky Rococo, at your cervix!"
    15. Re:Errors and Omissions Insurance by MindStalker · · Score: 1

      People are rarly that smart. I was about to say no buisness would run itself in debt with credit cards the way many consumers do. But then I taught of the airlines etc.

    16. Re:Errors and Omissions Insurance by Milican · · Score: 1

      "Hobby/free software enthusiasts are screwed."

      Negative. Just say use at your own risk.

      JOhn

    17. Re:Errors and Omissions Insurance by petermgreen · · Score: 1

      afaict most buisnesses run themselves in debt. Selling more shares means diluting the control of existing owners possiblly reduces the share price etc and obviously isn't possible for private companies without the huge complexity that is an IPO.

      However when your buisness goes downhill you have fixed commitments to creditors (unlike to shareholders) and theese commitments can drive even the largest corparations to bankrupcy.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    18. Re:Errors and Omissions Insurance by MindStalker · · Score: 1

      Yea I always thought it was interesting the difference between shares and normal debt. With shares you "borrow" money with a promise that they will get a cut of possible future earnings but nothing if your money disapears. Debt on the other hand is borrowing with a set percent garunteed return unless you go backrupt, in which you still have to give them as much as you possibly can. Borrowing through shares is the obvious preference, though one has to wonder why a company can pretend it has no debt when its borrowed to the teeth from shares.. Guess its the zero liability.

    19. Re:Errors and Omissions Insurance by petermgreen · · Score: 1

      shares are NOT debt they are part ownership of the company.

      saying a company is in debt to shareholders is like saying a company you own is in debt to you.

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    20. Re:Errors and Omissions Insurance by lucifuge31337 · · Score: 1

      Wow....you don't know a thing about business and finance, do you?

      Selling shares of a company is equity financing, not debt financing.
      Selling bonds is debt financing.
      A private company most certianly can sell stock.
      A company does not need to "IPO" to go public. There are other ways.

      --
      Do not fold, spindle or mutilate.
    21. Re:Errors and Omissions Insurance by petermgreen · · Score: 1

      Selling shares of a company is equity financing, not debt financing.
      exactly most companies run in debt because they don't wan't to sell more shares than they have to. sorry if my wording wasn't too clearSelling bonds is debt financing.
      yep thats one type of debt not the only one though

      A private company most certianly can sell stock.
      i was under the impression that having your stock availible to the general public was what made a company a public company.

      A company does not need to "IPO" to go public. There are other ways.
      such as?

      --
      note: i'm known as plugwash most places but i screwd up registering that here somehow in the past and now can't register
    22. Re:Errors and Omissions Insurance by G-funk · · Score: 1

      We really need a (Score:6, Insightful) for special occasions.

      --
      Send lawyers, guns, and money!
    23. Re:Errors and Omissions Insurance by lucifuge31337 · · Score: 1

      exactly most companies run in debt because they don't wan't to sell more shares than they have to. sorry if my wording wasn't too clear
      That depends. It depends on who you sell the shares to and what they are going to do with them. If you sell them to a hedge fund in a debt/equity line type of arrangement, you can bet they're gonna trade them through pretty quickly which will bang your stock price down. On the other hand, you could be selling them to a private investor or mutual who want to hold on to them. Nothing wrong with that. As far as dilution goes, we aren't talking about someone's home business.....so what if someone else has a piece. Everyone is there to make money. As long as the people with large chunks have the same term-length goals in mind everything can work out just fine.

      i was under the impression that having your stock availible to the general public was what made a company a public company.
      No, the way it is marketed, what qualified an investor to buy, and what burden the company has for public reporting are the main differences.

      A company does not need to "IPO" to go public. There are other ways. such as?
      Off the top of my head, the latest trend is to reverse merge into a public shell. There are plenty laying around form the dot-com bust. It's faster and cheaper.

      --
      Do not fold, spindle or mutilate.
  2. Why not?! by orangeguru · · Score: 1, Insightful

    Almost all other professions have to take responsibility for their work and constructs - why are programmers an exception?!

    1. Re:Why not?! by geomon · · Score: 1

      Almost all other professions have to take responsibility for their work and constructs - why are programmers an exception?!

      Well, they aren't. Doctors and lawyers have certifying boards (here in the US) that can sanction irresponsible behavior, and the worst cases can result in lawsuits. Architects and engineers usually have to find an insurance carrier who will underwrite their work. That is what errors and omissions insurance is for. It is expensive and hard to qualify for.

      --
      "Rocky Rococo, at your cervix!"
    2. Re:Why not?! by Anonymous Coward · · Score: 5, Insightful

      We're an exception because you pay us next to nothing and give us no time to work. You don't hire an engineer and then tell him to build a bridge in a few weeks.

      Tell you what, I'll get licenced to write code and be legally responsible for it the day that customers are willing to pay about 8x what they current pay for the software, and can wait about 4x as long. Can you make that happen? I'm waiting anxiously, because *I* don't get to make those decisions.

      So guess what...you want good code, hold the *EMPLOYER* responsible. I'll bet I suddenly find myself with all of the time I need to develop quality softare.

    3. Re:Why not?! by Quasar1999 · · Score: 4, Insightful

      As a software developer, I'll take responsiblity for bugs in my code and the damages they may cause, the day that politicians take responsiblity for their campain promises and the crap they end up passing as law later...

      --

      ---
      Programming is like sex... Make one mistake and support it the rest of your life.
    4. Re:Why not?! by cpuh0g · · Score: 5, Insightful

      Really? If your car's engine has a problem, do you sue the machinist who made the faulty part or just sue his company? Individual engineers who work for a company that creates software are responsible within the company, but should not be exposed personally. The company takes the ultimate responsibility for the products they produce. If they shortchange the development cycle in order to rush to market and the product is crap, the company takes the hit, not the engineer who wrote the code.

    5. Re:Why not?! by cerelib · · Score: 1

      Say a building collapses because one of the supports was not welded/poured/constructed properly. Would it be a fair solution to hold the few construction workers that worked on that support responsible for any damage or loss of life? No, that is completely ridiculous. If a company sells a product it is their legal responsibility. The construction company has a right to fire those responsible, but they should not be able to sue them for mistakes.

    6. Re:Why not?! by GoatMonkey2112 · · Score: 1

      Give me some specific examples other than doctors and lawyers. That's all I've seen anyone mention in this thread so far.

    7. Re:Why not?! by timeOday · · Score: 4, Insightful
      Almost all other professions have to take responsibility for their work and constructs
      They are? I never sued a farmer because I cut open a watermelon and it was bad inside. I never sued a GM engineer because my transmission only lasted 60K miles. I never sued a weatherman because his forecast was wrong. I never sued a chef because I had a bad meal.

      My point is, there's a whole range of "bad things" that happen, from clearly negligent to uncontrollable, and a lot of stuff in between, and we make that judgement every day by assessing or not assessing blame.

      To construct large, complex software systems without bugs (including security flaws) is beyond the state of the art. In fact, it is beyond the state of the art by definition: if we could make today's systems bug-free, we could, and would, make even more ambitious systems by tolerating some rate of errors. Conversely, with today's state of the art, if we placed correctness (including security) above everything else, we'd have to cut way back on what we attempt, and charge a lot more. The market has already decided that's the wrong approach.

    8. Re:Why not?! by ak3ldama · · Score: 0, Offtopic

      amen, mod parent up

      --
      "but money is the God of Algiers & Mahomet their prophet." - Rich. O'Bryen June 8th 1786
    9. Re:Why not?! by Osiris+Ani · · Score: 1
      Almost all other professions have to take responsibility for their work and constructs
      ...and so are programmers. They're generally held responsible by their employers, the way it really should be.
    10. Re:Why not?! by pilgrim23 · · Score: 1, Troll

      The Code of Hammurabi has one of the oldest product liability clasues in history: If a building colapses and kills people, the builder shall be stoned to death. One could make the punishment fit the crime in that way: The bug revealed your email addrss to spammers; force the programmer into reading spam all day....and MAKE him reply to all the unsubscribe links ;)

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    11. Re:Why not?! by Anonymous Coward · · Score: 2, Interesting

      In no way can they hold me personally responsible. The company I work for makes all kind of sacrifices to win the bid. General quality is what is mostly sacrificed by having ridiculous deadlines and cutting testing time.

      I would love to have luxury of being able to build properly secure solutions and perform extensive system testing, but it's just not possible. The same is true for proper documentation and being pro-active during maintenance contracts.

      The worst part of it all is that the clients have gotten used to both the lower prices and the lower quality. We won't get work if we jack up the prices in order to provide the quality of work we really should be providing.

    12. Re:Why not?! by sedyn · · Score: 1

      Well, let's see what would happen...

      Assume I work for a company with 100 programmers working on the same code.

      Now, of course, I can't know what's going on with all 100 programmers at the same time. They may do something against the specs, and because of this, they FUBAR my code that follows said specs. Am I responsible? Do you trust a jury on that one, when you have to argue your case against your fellow employee? And what if the specs are absolute shit, who gets the blame there?

      Furthermore, what's the incentive to me, a programmer, to tell you what's wrong with your program if you are just going to point the finger at me and try to get me sued? Why don't my fellow programmers and I have a pact that all debugging hooks, all error outputs, everything of the sort doesn't make the final product. Now it's harder to collect evidence to sue with. How does that help the consumer when things do go wrong? Why would any of us stick our necks out for them if they are just going to try to shoot us down?

      Oh, and what happens when I'm working with say, MS software, and it's MS' fault that my program crashes (let's say a memory bug in windows caused it)? Then you have no idea who to sue (let's assume all programmers create a web of ignorance) and little evidence to do it with. And what of malicious intent? I shouldn't be held responsible if you are TRYING to break your machine and succeed for the sake of suing me.

      And lastly, if it does happen programmers will have to unionize or something similar so they have the power to control their own work. This would destroy the software industry, because, we would have to adapt the best testing methods possible, and be very formal about it. Now, I don't think the average person in the software industry has the time, or even the training to do full formal evaluations. Now you need a higher quantity and quality of programmers, that because of their union will eventually start demanding more benefits, have fun paying for that.

      Of course, this is just my 2 cents, but we all know what happens when union mentality creeps in.

      --
      Am I open minded towards open source, or closed minded towards closed source?
    13. Re:Why not?! by hackstraw · · Score: 3, Insightful

      Almost all other professions have to take responsibility for their work and constructs - why are programmers an exception?!

      Name them. At least those that do not require a minimum level of formal training or accreditation.

      Also, this is a mute issue because the lawsuits follow the money. If I were to sue somebody for faulty software, would I waste my time, money, and lawyer expertise on suing the developer that makes say $80,000 a year that probably has no real capitol to speak of, or the multi-million dollar company?

      Also, when I was a developer, I was not the one that decided when the product was done testing and ready to ship. If I can't make that decision, then I have no liability. Period.

    14. Re:Why not?! by DeusExMalex · · Score: 1

      It might have something to do with the fact that while yes, the programmers do the actual coding, it isn't their code. The company they work for owns and sells the code. If the company wants to sell insecure programs then it isn't the programmer's fault. Also, it's not as if a programmer saying "$PROGRAM needs more deveopment and bug-testing" has ever wielded positive results.

    15. Re:Why not?! by Red+Alastor · · Score: 1

      If your software crashes, you won't die. The best solution IMHO is to sell insurances to customers. You buy the software normally and buy an insurance to either a third party or the company providing the software that if you ever gets problems with it, they are going to pay you.

      That way, the outragous fees that would cost would be limitated to those who actually want it and those of us who test properly and have good security (including backup) practice can continue to act as we always did.

      --
      Slashdot anagrams to "Sad Sloth"
    16. Re:Why not?! by gstoddart · · Score: 4, Insightful
      Almost all other professions have to take responsibility for their work and constructs - why are programmers an exception?!

      Because an Engineer of Real World Objects(tm) won't ever have to, say, open the bridge for traffic while the road deck is still being attached because someone decided it needed to be released early.

      An Engineer wouldn't be told that we need flying butresses, a bike lane, and cantilevered sidewalks two weeks before the bridge is supposed to be open, but that it can't affect the delivery timeline and there's no time to test them, and no extra time to do the work so we'll have to do it in our own time.

      Until such time as your employer builds in several extra weeks (months?) of testing for security, provides you with resources to do it, and brings in independant experts to help verify it, then it will be completely impossible for professional developers to meet that standard.

      And as long as the company is selling the software with a license that absolves them from any blame, and helps to ensure they have that theoretically-perfect software, I'm sure as hell not putting my ass on the line with the ultimate responsibility for it.

      Just because the company made several million, and the salesperson got a huge comission, doesn't mean that if it was rushed out the door for reasons out of my control that I got paid any more for the effort. Shit may run down hill, but no *way* it falls that far.
      --
      Lost at C:>. Found at C.
    17. Re:Why not?! by avi33 · · Score: 1

      Uh, because what does 'work on' mean?

      If I inherit a massive codebase and add a few standalone utility functions, it would be easy to track, but most software projects involve inserting code in numerous places.

      Who's responsible? Whoever touched it last? It's not like when you buy a house and you know what responsibilities the plumber, electrician, and HVAC installers have.

      You'd have programmers suing each other. "That's your code." "No, it's not, it's your code"...every organization would have to use a complex CSV tracking system forever just to be compliant with whatever law would enforce this. (Think SarbOx on steroids...SarbOx is only for systems that touch financial data. How about one that tracks access and changes to ALL CODE.) You'd probably have to hide the code itself (from everyone in the organization), and track who even looks at it, and why.

      This is not news. Schnier knows what he's talking about, and he's advocated this for some time. What this schmoe (Howard Schmidt) said last week was really a politically-framed, pro-business-rights version of it.

      Instead of saying "businesses should be responsible" (which would cost businesses time, money, and process...the same businesses who are big supporters of the party(s) that appoint cybersecurity czars)...he conveniently passes it on to the lowly developer, who are often tasked with 'just getting it to market,' among other pressures.

    18. Re:Why not?! by x8 · · Score: 3, Insightful

      Does an architect have to guarantee that every house he designs is secure against breakins?
      Why should a software engineer have to provide this same security guarantee?

      The level of security is a feature like any other feature.

      If you are paying the architect to design "fort knox", then it should be secure to top security standards, otherwise top security can not be expected; because sometimes people just want a cheap place to live with doors that have locks.

      Do we expect every piece of software written, every house built, every vault designed, etc. to meet the highest security standards? In a word, no. Because, at some point, the cost of security becomes so high that we decide that the security is "good enough".

      The US military wasn't even able to secure the pentagon from an attack, and we're worried about suing joe blow software developer for some bugs?

    19. Re:Why not?! by panth0r · · Score: 0

      You'll get what to write code?

      --
      I like suggestions, but I don't like contributing towards them.
    20. Re:Why not?! by pilgrim23 · · Score: 1

      I find it interesting that stating the fact that product liability as a concept is as old as the oldest laws is found to be trollish simply to inform that programmers should be responsible.... Remind me to call the Help Desk next time the Air Traffic Control has problems....
      -Now THIS is trollish!

      --
      - Minutus cantorum, minutus balorum, minutus carborata descendum pantorum.
    21. Re:Why not?! by Anonymous Coward · · Score: 0

      I'll take 4x the money and 8x the wait.

    22. Re:Why not?! by PietjeJantje · · Score: 1

      If someone asks me to built a bridge in a few weeks, then I should say "no thank you". If I built it anyway, I'm responsible. What you suggest is, I built it while I know it will collapse but go for the money, and then when it collapses blaim the ones that ordered me. Well, define "evil". They are guilty, but I'd be more guilty because I should have been more technically aware it cannot be built in a couple of weeks.

    23. Re:Why not?! by Trevahaha · · Score: 1

      Really? Have you never heard of Therac-25?

    24. Re:Why not?! by Anonymous Coward · · Score: 0
      Conversely, with today's state of the art, if we placed correctness (including security) above everything else, we'd have to cut way back on what we attempt, and charge a lot more. The market has already decided that's the wrong approach.

      Schneier's point is that there is a distortion in the market, caused by two factors: (1) the vendors aren't responsible for flaws, so the problems are an externality to them, and (2) purchasers of closed-source software have no way to evaluate vendor claims about their security.

    25. Re:Why not?! by Red+Alastor · · Score: 1

      That's a special case. That's completely different than the rushed to get out-of-the-door software that we usually have on the shelves.

      Beside, there's still no problem with the system we have. When you need mission critical software, you don't buy it on the shelves, you pay for custom develloped and you add responsibilities clauses in the contract.

      --
      Slashdot anagrams to "Sad Sloth"
    26. Re:Why not?! by Anonymous Coward · · Score: 0

      The engineer that builds a bridge that can hold 1 ton is then required to post a sign near the bridge, stating that it will only hold 1 ton. Then, if anyone crosses that bridge in a 2 ton truck & the bridge collapses, the engineer is not responsible.

      A programmer can put "Only certified for XYZ program/system/configuration/etc", but the customer is not likely to read it. And is likely to ignore it if it suits their purpose even then.

      And engineers often work for a company or firm that covers their liability, as well. Why not programmers' employers?

    27. Re:Why not?! by Trevahaha · · Score: 1

      I think it comes down to proving negligence. If you can prove that the person was aware of a problem or risk (or took reasonable efforts to discover the these) and chose not to address it, then they should be responsible.

    28. Re:Why not?! by Dadoo · · Score: 0

      I don't know where you work, but I (and I'm sure many other people here) don't really have that option. I'm never given enough information to give a reasonably accurate quote, so I always quote twice as much time as I'd need if everything I can think of went wrong. My management nearly always gets upset because "that's completely unreasonable," etc. Then they beat me down until I have no choice but to say I'll do it within their constraints.

      When I'm finally finished, it has taken at least as much time as I initially said and everyone's angry.

      Sorry, but I have to blame that on my employer.

      --
      Sit, Ubuntu, sit. Good dog.
    29. Re:Why not?! by ArghBlarg · · Score: 1

      Ah, but of course your suggestion implicitly assumes one has somewhere else to go once one says "No". The problem is, every major software company values time-to-market over quality precisely because they are not held responsible for their products in the same fashion that engineering firms are.

      Of course, cases of gross negligence and pure malice, just like in engineering, will still expose the individual worker to legal action, as is proper. But a systemic lack of process is the employer's failing, not the individual employee's, who will usually be, at best, reprimanded, and at worst, fired, for insisting on better processes by refusing to do the work.

      As parent post says, make the EMPLOYER responsible for the quality, and you'll see project timelines become more realistic, factoring in more time for testing, security audits and code reviews. The only other way is for all programmers to simultaneously wildcat strike until issues like this are addressed by their employers, but we all know that will never happen.

      --
      ERROR 144 - REBOOT ?
    30. Re:Why not?! by Anonymous Coward · · Score: 0

      I never sued a farmer because I cut open a watermelon and it was bad inside.

      There's not enough damage done to warrant a lawsuit. However, you might refuse to pay for it or ask for a refund. They are being held responsible for the quality of their product.

      I never sued a GM engineer because my transmission only lasted 60K miles.

      Car companies have been sued for producing faulty products. This is especially true if it is due to negligence or the impact on the consumer is significant. You, personally, may not have sued them, but it happens. They are being held responsible for the quality of their product.

      I never sued a chef because I had a bad meal.

      But you might refuse to pay. Once again, they are being held responsible for the quality of their product.

      So, yes, other professions take responsibility for their work and constructs.

    31. Re:Why not?! by Ambassador+Kosh · · Score: 1

      Well I am sure that the people that build homes are aware of the risks of the windows, doors, walls etc and how easy it is to break through them. Yet they have chosen not to address those issues. I guess we should make them responsible for that by your logic.

      I write software for a living and I have to deal with what customers will pay and all the tradeoffs involved. I tell them that doing something in a certain way will cause a certain type of security problem and that to avoid that problem the solution needs to be more complex. They choose not to pay what it takes to do it right and so they have to live with the security problem. Sure I know about the issues and sure I could fix it but it is not justified. Your home was not build to fort knox standards and you would not pay even the raw material costs if it was so why should software be different.

      Making software secure against all the various ways it can be abused is very difficult and time consuming. Why should I spend 9 months or more writing something when a customer is only willing to pay for 2 weeks of time? I tell them the risk and they decide what it is worth to them just the way that you choose your house, car etc. If you want a safer car you pay a lot more for it, if you want a safer house you pay more, if you want more secure software you pay more for it the same way. I feel that so long as I tell my clients the major security tradeoffs that I can see in what they ask for that it is their decision on what they want to be done. I try to take all reasonable security precautions and use tools that are less susceptible to security mistakes but there is a limit to what you can do.

      --
      Computer modeling for biotech drug manufacturing is HARD! :)
    32. Re:Why not?! by Decker-Mage · · Score: 1
      Actually, if you are in the US military and write code, you are legally responsible and the penalties can include time spent in a federal prison. However, on the flip-side, you don't have some id10t who doesn't know systems analysis or software engineering jogging your elbow every ten minutes telling you to deliver the software with bugs in it. We could and would spend time in doing an extensive system analysis before even considering whether the project was possible or doable. This would be followed by several weeks just in the design phase to insure a mathematically correct design and that's before even considering the available tools which were also surveyed. Then, and only then, we'd go back and lay out the time line and budget and wait for the go-ahead (which was always given, no strings). Then we were left alone to do the job. After the coding phase, and testing to insure that all hardware/OS/compiler bugs were dealt with, extensive testing was done with real users operating the software while under observation. I've never seen that done in the civilian world, ever. Yeah, they have beta testing and "community technical previews", but that's far too late in the process, in my not so humble opinion, as most features/functionality is set in stone. In any case, our results, zero defects/bugs/security holes, speaks for itself and some of the programs are over twenty years old and still in use (yep, MS-DOS programs used on Windows XP with no problems).

      I didn't allow freeping creaturitis (creeping featuritis) although some functionality (ordering of events, extra validation, etc.) was allowed. You change the spec on me, the whole thing gets trashed and done over just as with any of the other professional engineering fields I've worked in. You do not engineer a nuke plant or a ship to a moving target (although I've seen them do that with the latter and in every case it was a disaster). If you expect the same standards of quality/responsibility from people who develop/engineer software, you are going to have to also adhere to the other side of the contract. Hard specifications/requirements, project time lines/resources set by the engineering team and enforceable by both sides, and penalties to both sides for missed targets, defects, and especially changed requirements, inadequate resources, and poor specifications.

      Been there, done that, burned the t-shirt folks. You can do it, but you have to be serious and you have to have the willingness to stand by your guns. Besides, chewing out a one-star can be exhilarating if not exactly fun ;-).

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
    33. Re:Why not?! by Decker-Mage · · Score: 1

      Not true for the stuff I was writing. Can you say mission critical? I thought you could ;-).

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
    34. Re:Why not?! by quarkscat · · Score: 1

      Right on target!

      This sounds like just another opportunity for commercial software vendors to "slip the noose" of corporate liability.

      The USA's airline industy begs for government aid (at taxpayer expense), all while slashing employee wages, reducing airfares to cash-hemmoraging levels, and then in bankruptcy court eliminate pension and healthcare obligations. All of this while management still draws obscene pay and benefits packages, and a wondorous golden parachute.

      The commercial software houses, apparently, want the same sort of deal: reduced or no liability for their products, shift labor costs overseas, and play the "blame game". Whatever happened to "top-down design", guidelines for prevailing programming practices, and real project management? Oh, yeah - the only things that they should have to worry about is meeting self-imposed project deadlines, their company's quarterly financial reports, and those all-important quarterly bonuses, right? Seeing MSFT's Bill Gates (et.al.) crying crocodile tears for more software engineers to fill their company's ranks makes me ROTFL. Grabbing up nonsensical software patents to obtain "industry leverage", releasing incomplete software documentation to maintain vendor lock-in, and using (still illegal) monopolistic practices to "rape and pillage" their customer base are all business practices that do not deserve to be rewarded with a "blame the programmers" blame game.

    35. Re:Why not?! by LordWill · · Score: 1

      You've forgotten:

      We're going to leave it up to the users to buy & install some of the parts of the bridge (motherboard, RAM, power supply, OS, and our app).
      And we're going to allow the users to replace parts of the foundation on their own so they can drive faster.
      And, without our OK, the users are going to install new features to the bridge (plugins, drivers, applications, viruses, spyware.)

      OK, now who wants to be responsible for the bridge?

  3. Usually.... by Anonymous Coward · · Score: 0

    In my experience, its always time to market + cost that wins out. When a consumer buys a product, they don't [usually] choose a "Secure" product, they buy the cheapest one thats on the shelf.

    1. Re:Usually.... by Anonymous Coward · · Score: 0

      I expect in some industries this may be beginning to change. Most manufacturing companies have spent lots of time getting their production lines efficient.
      When a production line stops the duration of the stop is recorded, engineers work out why it stopped and how to prevent the problem occurring again.
      Very few companies do the same thing with software bugs off the production line. Most manufactures will be able to tell you exactly how long the production line was stopped last month and for what reasons, how many companies can do the same thing when it comes to software bugs in the office?

  4. What next? by jonthegm · · Score: 1

    I predict that Slashdot will have a headline next week that proclaims "Security flaws totally the fault of the end-user."

  5. How about both? by 8127972 · · Score: 2, Interesting

    Vendors (more specifically, the product managers, sales types, etc.) are under pressure to get proudcts out the door to get sales and keep sharholders happy. That forces developers to limit the amount of time they spend writing quality software so that they can keep the PHB's happy. Net result, crappy insecure software.

    BTW, this topic seems vaugely familiar. Is this a dupe?

    --
    This is my opinion. To make sure you don't steal it, it's covered by the DMCA.
    1. Re:How about both? by eln · · Score: 2, Funny

      BTW, this topic seems vaugely familiar. Is this a dupe?

      It's not a dupe, it's an "encore presentation."

    2. Re:How about both? by schon · · Score: 1

      Vendors are under pressure to get proudcts out the door to get sales and keep sharholders happy. That forces developers to limit the amount of time they spend writing quality software

      Ahh, so you're saying that developers are to blame for the decisions of their managers?

      Yeah, *that* makes sense.

    3. Re:How about both? by whyne · · Score: 2, Insightful

      Today's corporate structure has more than 2 groups involved. Excrement rolls down hill. The analysts and advisers explain the value of shipping a release this quarter or year (profit now for the quarter, later for the next quarter, then for the year ... ). Upper management liens on middle management. Middle then liens on lower and supervisors. Then the developers work harder to bring it to life. Even if they do not like the product/method/model, a programmer may not be able to effect the outcome.

    4. Re:How about both? by Liselle · · Score: 1

      Yes, it is a dupe. Had 800+ comments.

      --
      Auto-reply to ACs: "Truly, you have a dizzying intellect."
    5. Re:How about both? by Shotgun · · Score: 1

      How about neither?

      The customers are the ones who put crappy software into service and never hold companies or programmers accountable for the disastrous results. How many butt-in-the-air versions of Windows has corporations pressed into service in place of more secure solutions because of the 'ease of use' and lower 'TCO' arguments?

      When customers are willing to buy or, even worse, actually prefer 'good enough' solutions, all they ever get are 'good enough' solutions.

      --
      Aah, change is good. -- Rafiki
      Yeah, but it ain't easy. -- Simba
  6. Kettle = black; by LaughingCoder · · Score: 5, Insightful

    "the former White House cybersecurity adviser, argued at a seminar in London that programmers should be held responsible for flaws in code they write."

    OK. And to make it fair, let's let lawmakers be responsible for all the unintended consequences their legislation brings about.

    --
    The more you regulate a company, the worse its products become.
    1. Re:Kettle = black; by dattaway · · Score: 1

      Don't stop there. Let's hold CEO's accountable for all the jobs lost due to layoffs and relations overseas.

    2. Re:Kettle = black; by Moofie · · Score: 1

      They are accountable...to their stockholders. I say we hold the stockholders responsible.

      I think we should limit the limitation of liability.

      --
      Why yes, I AM a rocket scientist!
    3. Re:Kettle = black; by mcvos · · Score: 1

      Isn't this the same administration that passes laws to protect big corporations against all sorts of lawsuits?

    4. Re:Kettle = black; by Anonymous Coward · · Score: 0

      If government was accountable to the populace, it wouldn't be government -- it would be private enterprise. Allow me to explain.

      Unaccountability is the nature of any coercive relationship, including the relationship between citizen and government. If one man holds power (the legal "right" to initiate force) over another man, then the first man is necessarily unaccountable to the second. Why? Because (1) coercion is necessarily unaccountable (otherwise the need to coerce wouldn't exist in the first place) and (2) it is impossible that the second man would "volunteer to be coerced" -- as the "social contract" theory claims -- just as it is impossible to coerce a man to volunteer. (The two modes of human interaction, as Rothbard pointed out, are mutually exclusive and logical opposites.)

      To the extent which government is "accountable" is where government finds the need to boost support -- or at least indifference -- from the masses. Typically this will take the form of a public official being visably ousted from his position of power, sheilding the whole of government from its worst nightmare: public skepticism.

    5. Re:Kettle = black; by Cosine+Jeremiah · · Score: 1

      "OK. And to make it fair, let's let lawmakers be responsible for all the unintended consequences their legislation brings about."

      And also the think tanks and lobbyists that came up with the legislation and pushed the lawmakers to vote for it.

    6. Re:Kettle = black; by NatasRevol · · Score: 1

      Why? That's business.

      They should be held responsible for polution caused by their factories. I think a requirement should be that all CEOs must live downstream/wind from their factories.

      --
      There are two types of people in the world: Those who crave closure
    7. Re:Kettle = black; by winwar · · Score: 1

      "If government was accountable to the populace, it wouldn't be government -- it would be private enterprise."

      Sure. And next you'll explain how private enterprise is accountable to the populace. Considering that private enterprise relies on the government. Oops.

  7. E&O by company or by employee by Godeke · · Score: 4, Informative

    Let's see: do we hold employees at an auto factory responsible when unrealistic timetables means shoddy workmanship, or do we hold the employer who chooses speed to market over quality responsible? If that failure means the death of someone, do we sue the manufacturer or the guy who made the poor weld?

    Large software companies have more in common with factories than they do with law firms or medical practices, two places where the liability *is* on the individual. The employees don't get to choose how much time is spent designing quality and security into the product, nor do they get to choose how much quality assurance is done on the back end (although that is a lesser solution to quality code, it is still necessary).

    The day that every programmer is licensed the way that doctors and lawyers are is the day I will reassess this position, but for now programmers are *not* in the position to make the decisions that lead to quality code. I'm not convinced that licensing would ensure that, but without licensing coders are nothing more that code churners cranking to the beat of the employers drum.

    --
    Sig under construction since 1998.
    1. Re:E&O by company or by employee by LaughingCoder · · Score: 2, Interesting

      Large software companies have more in common with factories than they do with law firms or medical practices

      Actually, this is true ... witness outsourcing. When's the last time you saw law firms outsource?

      BTW, how is this going to work if the programmer is a citizen of India? Are US prosecutors going to extradite him or her for inadvertant buffer overflows?

      --
      The more you regulate a company, the worse its products become.
    2. Re:E&O by company or by employee by MaceyHW · · Score: 2, Interesting

      I agree 100% that the company, not the individua should be the one holding the bag, but what happens to feelancers? Unless they can pass the liablity on to the customer when they hand over the code (or otherwise shield their personal assests) virtually no-one is going to be sure enough of their work to code outside the protection of a company.

    3. Re:E&O by company or by employee by mrchaotica · · Score: 4, Insightful
      The day that every programmer is licensed the way that doctors and lawyers...
      In other words, the day when they start making "software engineering" a real engineering discipline, and letting programmers become Professional Engineers:
      The earmark that distinguishes a professional engineer is the authority to "sign off" or "stamp" on a design or a structure, thus taking legal responsibility for it. (emphasis added)
      --

      "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    4. Re:E&O by company or by employee by gstoddart · · Score: 1
      In other words, the day when they start making "software engineering" a real engineering discipline, and letting programmers become Professional Engineers [wikipedia.org]:

      The difference being, is on large projects, when the lead engineer says "can't be done" or "not on time", that decision is final since anyone over-ruling the engineer has just taken on the responsibility that engineer is legally on the hook for. And he'll probably tell you to go to hell and say too bad.

      Whether it gets made into a "real engineering discipline" or not, when managers, marketing, and salespeople are allowed to override my saying "you cannot have this feature by this date", passing the buck to me won't help.

      Engineering projects are controlled by engineers. Software projects are managed by everyone else -- the customer, the salesman, the manager, the board of directors, the Gartner Group (in ways I'll not explain here) ... all of this means that the people writing code are out of the loop for the final decisions.

      If you build a bridge, and a single Engineer is on the hook for the whole project, that doesn't mean that if a junior engineer miscalculates something that the junior engineer is suddenly responsible -- that means that the managing engineer is on the hook, because it was his legal responsibility to ensure the junior engineer's work was correct.

      Even in the engineering fields, it is either the firm or the head honcho who is on the hook, not all of the bit players lower in the org chart.
      --
      Lost at C:>. Found at C.
    5. Re:E&O by company or by employee by WaterBreath · · Score: 1
      do we sue the manufacturer or the guy who made the poor weld

      First rule of litigation: You sue whoever's got the deepest pockets.

      But seriously, your point about software houses being more similar to factories than to medical or law practices is very well taken. Management has much tigher reigns in the software industry. Far too few significant and unreviewable decisions are made by the indivudal worker in a software studio for him to be considered totally responsible for faults.

      It is a well-known fact that a single person cannot produce a large, quality piece of software in the time periods required by the commercial and custom software industries. So why should we hold a single person responsible when a whole process fails? We shouldn't. So who should we sue? Why the entity in charge of the process, of course.

    6. Re:E&O by company or by employee by Godeke · · Score: 1

      That is a tough question. If we were truly engineers, it would be similar to consulting engineers today: you would carry E&O because that is part of being a professional engineer. Rules like suggested (holding the company responsible) would turn freelancers into E&O carrying professionals, by default. I personally own part of a larger software house and do consulting individually. We carry E&O on the software house *and* I carry E&O on my own consulting company (even though the latter is just me).

      Such coverage is expensive and would seriously limit entry into the field. Is a web designer a "programmer"? Does the mis-rendering of his HTML (in Firefox as opposed to IE, for example) make him liable for damages? (Loss of business claims, oh hoo-ray). If so, web designers had better start charging a *lot* more for their services so they can cover themselves properly.

      On the other hand, I have never had to *use* the E&O insurance for more than a contract checkoff item. Part of that is maintaining professional relationships: if something goes wrong (and if you are in the industry long enough it will) you *must* make things right again.

      I guess the question comes down to: are people willing to suffer the increased costs of imposing liability? If software default liability becomes common, it *will* drive the lower end of the industry to companies that can protect them in bulk and those professional freelancers who remain will be more expensive than they are today.

      --
      Sig under construction since 1998.
    7. Re:E&O by company or by employee by johnjaydk · · Score: 1
      If you build a bridge, and a single Engineer is on the hook for the whole project, that doesn't mean that if a junior engineer miscalculates something that the junior engineer is suddenly responsible -- that means that the managing engineer is on the hook, because it was his legal responsibility to ensure the junior engineer's work was correct.

      The moment you, the junior engineer, signs the load calculations and the blueprints for that piece of bridge YOU are the man. If YOU have cut corners when the piece of shit falls apart then your signature will be found on the relevant documents. From there on you can kiss your career goodbye. This kind of responsibility also requires that you can tell your dear manager to go fsck himself if he requires something unsafe/unsound/unprofessional. Now lets try that on for size in software ...

      --
      TCAP-Abort
  8. insecure software by unix_geek_512 · · Score: 3, Informative

    Having been involved in software development I can confirm that most companies are more concerned about cost than the security of their code.

    They would rather get the product out there quickly in order to produce revenue rather than hire more and better developers
    to secure the code.

    It is very sad....

    1. Re:insecure software by Amouth · · Score: 1

      I would have to agree with this.. but some times as a coder you just can't think of everything - hell there is always some way you can screw something up.. atleast any software big enough to sell for real money... either it is going to take forever to get software out there or there will be bugs.. but then again nothing is perfect that is why we have diffrent versions.. we make it we use it we see something wrong we fix it.. it is the a$$'s that use it see something wrong and exploit it that need to be beat across the head with a brick, don't start charging me becuause i didn't think of every posiable way to breake something.. it just isn't humanly posiable

      --
      '...if only "Jumping to a Conclusion" was an event in the Olympics.'
    2. Re:insecure software by Anonymous Coward · · Score: 0

      No, that is not the case at all. If the only reason for bugs occurring is due to time restraints, what you said above would be correct. However, this is incredibly short-sighted - bugs can appear through incompetence, laziness, reliance on faulty libraries - all sorts of things. If you had 100 years to write your app, there would still be bugs.

      The blame should be on the shoulders of /whoever's fault it is/. Circumstances vary. There is no answer to this question - it's a plain stupid one.

  9. Welcome to business. by shdragon · · Score: 2, Insightful

    I'd be glad to take responsibilty for any code I write just as soon as they're willling to pay my new, updated fees. If it's really *that* important shouldn't the client be equally if not more concerned with cost as getting it done right?

    --
    "...we dont care about the economics; we just want to be able to hack great stuff."
    1. Re:Welcome to business. by sparkane · · Score: 1

      Hear hear. It's worth pointing out the following:

      VENDORS are only concerned about costs because CUSTOMERS are concerned about costs.

      When the customers start looking down the expense-barrel of software done "right", they'll change their tune Real Quick, I bet.

  10. it's all about EULA by Thud457 · · Score: 5, Informative
    That's ok, it's covered in the EULA -- the vendor's not responsible for anything. Since the developers are either employed by or are contractors for the vendor, they're similarly protected from any responsibility. So it boils down to caveat emptor -- test, test, and retest before accepting any software product.

    Too bad you have to click through the EULA before you can test it, suckers!

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  11. Howard Schmidt is incompetent. by Anonymous Coward · · Score: 0

    Howard Schimidt has probably never written a single line of code in his life. Fixing software does not require attorneys. It requires better education for developers.

    What do you want Mr. Schmidt? A team of attorneys in each cubicle? Do you want programmers afraid to write new features for fear of being named in a a lawsuit if the code is buggy? Do you think trial attorneys do not have enough money as it is suing people over slip-and-fall cases in grocery stores.

    Please stop your complaining until you show you actually know what you're talking about.

    1. Re:Howard Schmidt is incompetent. by geomon · · Score: 2, Funny

      Please stop your complaining until you show you actually know what you're talking about.

      You, sir, have single-handedly brought Slashdot to a stand still.

      I hope you are happy.

      --
      "Rocky Rococo, at your cervix!"
    2. Re:Howard Schmidt is incompetent. by Anonymous Coward · · Score: 0

      I doubt you'll find many people who have dealt with Howard Schmidt directly will disagree with me.

  12. Why stop with coders? How about bureaucrats too? by samuel4242 · · Score: 1

    Last week Howard Schmidt, the former White House cybersecurity adviser, argued at a seminar in London that programmers should be held responsible for flaws in code they write."

    And why not make the folks in Homeland Security responsible for the flaws in the infrastructure? At a recent congressional hearing for the FEMA folks, a congresswoman asked whether the folks at FEMA should be prosecuted for negligent homicide. She pointed out that a bus driver was being prosecuted. Perhaps it made sense to go farther up the chain.

    Seriously, it's hard to hang individual coders for the same reason it's hard to hang cybersecurity advisors. Most coders work in teams and failures are often systemic. They're literally no one's fault. Well, perhaps the fault of the person who designed the system. But I can tell you that it's very hard if not impossible to anticipate everything that can go wrong.

  13. This is where OSS comes in... by Jonnty · · Score: 1

    Vendors should love open source in this case, nice and cheap (usually) well developed. There's a case for making propriatory software developers liable - we trust they have checked the code - but you can check the code of OSS so if you want to sue the developer you should have checked the code. How can you be sure a product's ok if you can only see the results it produces.

    --
    Any grammatical or spelling errors above are for comic effect, and do not signify imperfection in the writer.
    1. Re:This is where OSS comes in... by LaughingCoder · · Score: 1

      Interesting analogy (and couched as yet another shameless plug for OSS). So then, following your lead, if I make a shoddy car, all I have to do is publish the design drawings and I'm covered? How about pharmaceuticals (here's the molecular structure, feel free to discover and fix any fatal side affects)?

      --
      The more you regulate a company, the worse its products become.
    2. Re:This is where OSS comes in... by Jonnty · · Score: 1

      Cars and pharmacuticals are different - the knowledge is much more easier and cheaper to aquire. If you are going to use software for anything that would warrant litigation if it failed then it should be your resposibility to check the code, hire programmers to fdo it, whatever - if you want to get propriatory software you can pay for the assurance they've checked it over. If you're going to use it for everyday stuff the current situation is fine, so there should be little need for change. Also, buggy code can be pinpointed quickly and easily by third parties, and thus repaired.

      --
      Any grammatical or spelling errors above are for comic effect, and do not signify imperfection in the writer.
    3. Re:This is where OSS comes in... by Anonymous Coward · · Score: 0

      Reality Check...

      No Company is willing to devote time ($$$$) to QC OSS code.

  14. And taking it further... by DigitlDud · · Score: 1

    Users are to blame for putting up with crap and buying insecure software.

    1. Re:And taking it further... by angusmci · · Score: 1

      More realistically, can we please write a law that would allow class action suits against any user who opens an attachment sent to them by email with the promise that it contains nekkid pictures of Britney Spears? And every dipshit everywhere who has ever bought anything advertised by spam?

      If people didn't open viral attachments, the zombie problem would be significantly smaller. If people didn't buy from spammers, the spam problem wouldn't exist at all. Ergo, all the hours I spend trying to keep the systems that I administer spam- and virus-free are the fault of the idiots who believe that their mother wants them to see Anna Kournikova's panties, that Mrs Mariam Abacha has $25 million for them, that DUDD.OB is really going to EXPLODE next Monday, and that buying sugar pills from 'hugeorgan4u.com' will give them the monster instrument they've always dreamed of. I want to bill them for my time. Hell, I want to bill them for everyone's time. And every other cost associated with spam.

      While I'm at it, can I sue everyone who's ever connected an insecure Windows PC to the Internet, or who failed to apply security patches in a timely manner? And the ISPs that won't do anything to take compromised hosts offline, and the hosting companies who won't take action against spam sites and phishing sites running on their systems? And the registrars who accept obviously fraudulent registrations and don't do anything about them even when they get the WDPRS notifications? Or the elected representatives who drafted and passed the entirely toothless CAN-SPAM Act?

      Just say I can, and I'm putting my lawyer's number on speed-dial right now ...

  15. this doesn't sit well with me by fak3r · · Score: 3, Insightful
    • "White House cybersecurity adviser, argued at a seminar in London that programmers should be held responsible for flaws in code they write
    "The problem with that is when an employee writes code for a company, it becomes the companies' code, so it would follow that any litigation should fall on the company, and not the programmer. I would also argue that the programmer doesn't release the software, that's up to the company which *should* have testing and QA measures in place to find bugs and insecurity.
    1. Re:this doesn't sit well with me by GoatMonkey2112 · · Score: 1

      Makes sense to me. Otherwise developers would be able to take their code with them when they leave the company.

    2. Re:this doesn't sit well with me by fak3r · · Score: 1

      Right, I'm not arguing that point, but once the rights are the companies', shouldn't the liability be the companies' as well? I'm arguing 'yes'.

    3. Re:this doesn't sit well with me by GoatMonkey2112 · · Score: 1

      I agree completely. Maybe I shouldn't have replied at all... hehe. The real problem exists in this for the freelance developer and small development companies trying to get started. Stiffled (sp?) innovation through lawsuits is just what this country needs.

  16. Pfft! You call this science? by Quiet_Desperation · · Score: 4, Funny
    Everyone knows that insecure code is caused by code rot and magical error pixies.

    Next you'll be claiming that bad movies are the fault of the people making them, or that it's Britney Spears' fault she sounds like a howler monkey being run over by a bus.

    Sheesh. Scientologists...

    1. Re:Pfft! You call this science? by ArsonSmith · · Score: 1

      Actually Bad moives, Britney Spears, and bad software are all the fault of the people who buy them.

      Don't buy them and they wont exist.

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
    2. Re:Pfft! You call this science? by Quiet_Desperation · · Score: 1

      A brave attempt, young stout squire, but even if no one bought Ms. Spears' horrid opitcal discs of evil noises, she would still sound like a screech owl suffering an anal prolapse.

    3. Re:Pfft! You call this science? by ArsonSmith · · Score: 1

      May very well be true but if Ms. Spears sounds like a screech owl suffering an anal prolapse and no one is around to hear it does she actually make a noise?

      --
      Paying taxes to buy civilization is like paying a hooker to buy love.
  17. Secure code will never happen by digidave · · Score: 4, Insightful

    I'm sick and tired of hearing talk about holding vendors or developers legally responsible for writing insecure code. It's impossible to write any complex application and not have security problems.

    The software industry operates more like the automobile industry: they know their cars will have problems, so they freely fix those problems for the warranty period. Software's warranty period is as long as the vendor or developer say they'll support that software.

    The major difference is with closed source software, after the "warrany" period is up you can't usually pay someone to fix the problems. Open source provides a great car analogy, because after, say, Red Hat stops supporting your OS you can still fix it yourself or hire a developer to fix it for you.

    This is why nobody would buy a car with the hood welded shut. For the life of me I can't figure out why anybody would buy software with the "hood" welded shut.

    --
    The global economy is a great thing until you feel it locally.
    1. Re:Secure code will never happen by hackstraw · · Score: 1

      It's impossible to write any complex application and not have security problems.

      Tell me about it. Its too cool that I can always find an exploit in my credit card company's computer system, my bank's computer system, and the IRS computer system so that I can simply raise my credit limit, lower my balance, put more money in my account, and I never have to pay taxes. Next week, I'm going to start a nuclear war just for fun, because the password on WOMPR is still "Joshua".

      WOULD YOU LIKE TO PLAY A GAME OF CHESS?___

    2. Re:Secure code will never happen by Waffle+Iron · · Score: 1
      I would bet a large sum of money that security holes do in fact exist that would let you do all of those things. In many cases, those systems are just too obscure for the usual hacker types to have poked into them very much, but that doesn't mean that they're free of bugs.

      During the cold war, we actually *did* almost start a nuclear war when somebody accidentally played a nuclear attack training tape without first disconnecting the test system from the live radar tracking systems.

    3. Re:Secure code will never happen by digidave · · Score: 1

      "Its too cool that I can always find an exploit in my credit card company's computer system, my bank's computer system, and the IRS computer system"

      You have no access to those systems. They are not on the Net. Give a good hacker access to a banker's terminal for a long period of time and you'll see him get access he shouldn't.

      --
      The global economy is a great thing until you feel it locally.
    4. Re:Secure code will never happen by hackstraw · · Score: 1

      You have no access to those systems. They are not on the Net.

      Yes they are. At least my bank and my credit cards are on the net. I can transfer funds, see my balance, refute a transaction, open new accounts with any web browser.

    5. Re:Secure code will never happen by Brad+Mace · · Score: 2, Insightful
      Another problem with these discussions is that they treat all 'flaws' the same. I can see at least 3 distinct categories that people should be thinking about:
      1. Malicious code, deliberately inserted into the program. I think everyone would agree the programmer should be held accountable in this case. Vendor could potentially have liability as well
      2. True bugs: code that doesn't function as the programmer intended. I think accountability would vary dramatically on a case by case basis. What percentage of programmers would have made a similar mistake? Perhaps the QA team should be held accountable instead. But expecting perfection from either group seems unreasonable.
      3. Unrealistic expectations: The windows on my house aren't bulletproof, but I don't sue the manufacturer if someone shoots me through them. We should be focusing on the perpetrators in these cases, and perhaps on countries that do nothing about them. As mentioned previously, cars aren't nearly 100% safe, and people are dying in those crashes.
    6. Re:Secure code will never happen by supradave · · Score: 1

      Fortunately, you are wrong. You don't believe that closed software can be secure. Why? Sometimes bigger brains than yours or mine attempt to do something simple, like writing a secure OS that truly is secure, and they succeed. Because you don't get to see the inner workings doesn't mean that it doesn't do what it says.

      The 'hood welded shut' analogy is a bit old. I agree that open source is more like a car without locks, but I still need another piece of equipment to tell me why my check engine light is on (attempt to weld the hood shut by the manufacturers). The second piece of equipment is closed and I have no idea how that works (alright, I don't know how it was programmed). How can I trust the OBD device? I trust it because it told me what was wrong with my car and I could then fix it. The package said it would tell me what's wrong and I believe it. If I told you my company has written an OS (not based on Linux, OpenBSD, Windows or other; a fundamental shift in technology) that is secure and all mathematical tests and in which other reviewers come to the conclusion that it is secure, why wouldn't you believe it is secure. Just because you can't see the code? Perhaps that chocolate bar you're eating is only chocolate flavored.

      What if we could put Linux (or any OS) on top of our OS and solve the problem inherent with all general purpose OS's. And what is that problem? Execution priviledge (not the *nix or Windows file priviledge)? The ability to scan any part of memory? Invalid I/O?

      I can't wait to be able to announce that our OS is truly secure to let the black/white hats at it. Should be by the end of the year (I know I keep saying this and, really, it should be by the end of the year).

    7. Re:Secure code will never happen by Anonymous Coward · · Score: 0

      It is possible to write a complex application and not have security problems, at least not strong confidentiality/integrity problems. This is done using software compartments, with defined communication channels, capabilities, and labelling.

      The problem is that the present languages make this much harder than it should be, because we are prioritizing slightly easier programming instead of higher security.

      I personally think that the responsibility should be put at the *users* of software. They're the ones that have control, and anybody being attacked over the net should be able to sue the people owning the machines they're attacked from. (Yeah, that means that having insurance would be a good idea before getting on the net...)

      Eivind.

    8. Re:Secure code will never happen by Blakey+Rat · · Score: 0

      The hood of my PT Cruiser isn't welded shut, but getting at the innards of the engine is so difficult it might as well be. To replace the battery, you have to come up from the bottom and squeeze it through the wheel-well somehow...

      Point is, the hood of modern cars is basically just fluid fillers.

    9. Re:Secure code will never happen by Coryoth · · Score: 1

      I'm sick and tired of hearing talk about holding vendors or developers legally responsible for writing insecure code. It's impossible to write any complex application and not have security problems.

      It is possible, however, to write a complex application and have formal assurances that the system is secure with respect to certain properties. You can write a complex system and have formal verification that it does not contain any beffer overflow exploits. You can write a complex application and prove that the code fully, correctly, and completely implements a security protocol, and that anything not fully conforming to said protocol is guaranteed to be denied access. You may not be able to guarantee everything, but you should be able to guarantee something.

      An engineer who builds a skyscraper cannot guarantee that it will never fall down: powerful earthquakes, amazing freak weather, planes crashing into it, and other unforseen things may occur. What the engineer will provide legal guarantees on is conditions under which it will not fall down: certain classes of earthquake, weather conditions under which it should stand, and what sort of structural damage it can sustain before falling.

      While you are unlikely to be able to say your code will always work perfectly, you should be able to say what aspects are guaranteed, and under what conditions it is assured to work.

      Jedidiah.

    10. Re:Secure code will never happen by Hosiah · · Score: 1
      For the life of me I can't figure out why anybody would buy software with the "hood" welded shut.

      As far as I can figure, because a /.er told them to.

      I can just hear it now if /. added an automotive section: "Cars are too difficult to operate; who has time to figure out what all those yellow and white stripes on the road mean?", "The indicator lights on the dashboard need to be removed because Joe Sixpack doesn't know what they mean.", "The hoods should be welded shut and I'll happily pay a mechanic to check the oil - anything but teach my mom to do it!", "They should close down all the auto parts stores - who has time to use all those complicated tools and parts?", "The automotive industry is doomed because it won't unify everything into one brand, make, model, and color of car; who has time for deciding between all those choices?", "I would drive a Porche if they gave it away for free, but the employee parking lot at my job has all the spaces configured for Fords only.", and of course, the number one comment: "I'm sticking with my Model T because I already know how to use it - it's too much trouble to learn how to operate a new vehicle!"

    11. Re:Secure code will never happen by Anonymous Coward · · Score: 0

      >Open source provides a great car analogy, because after, say, Red Hat stops supporting your OS you can still fix it yourself or hire a developer to fix it for you.

      Just like when a car manufacturer stops making parts for your car, you can forge and mill your own replacement parts. Yeah, it's physically possible for any part of the car, but it seems like a rather dubious "benefit", if you ask me.

  18. Address its insecurities by Anonymous Coward · · Score: 0

    I always try to reassure my code that it matters and that people love it in spite of its flaws. That usually helps to reduce my insecurities. So I try to show the same kindess to my code. ...as far as unsecure code.... ...uuuuh...

  19. So What Bruce is Basically Saying... by Evil+W1zard · · Score: 1

    Is that developers are looking to make a profit because that is what it comes down to when you do cost vs. benefit analysis... Its like when factories were required to put giant filters in place to help cut down on pollution and if they didnt they were find $1000 dollars... Well if it costs a million dollars to implement the pollution solution (yes that rhymes) then cost vs. benefit for a profit margin was simple for them (although the environment suffered...) Should there be penalties for bad security practices when developing code... IMO yes, but even with those penalties it still might not make a difference depending on what those penalties are...

    --
    News Reporters Make Tasty Polar Bear Treats!
    1. Re:So What Bruce is Basically Saying... by dzfoo · · Score: 1

      You are correct, but I believe that the penalties suggested by Schnier and Schmidt are end-user lawsuits, which can be a very large expense on the corporations.

            -dZ.

      --
      Carol vs. Ghost
      ...Can you save Christmas?
  20. Vendors or Developers To Blame? by BorgCopyeditor · · Score: 1
    Vendors or Developers To Blame?

    I don't know anything about what causes buggy software, but years of training by the press, television, and movies have meticulously prepared my brain to accept the oversimplifying fiction that it must be one of them and not the other.

    --
    Shop as usual. And avoid panic buying.
  21. I go chop your dollar by kinaidos · · Score: 0, Offtopic

    In case you want to give their fight song a listen, here it is - I Go Chop Your Dollar: http://www.tlcafrica.com/I_go_chop_your_dollar1.mo v

    --
    Stephanie says / she wants to know / why she's given half her life to / people she hates now.
    1. Re:I go chop your dollar by Anonymous Coward · · Score: 0

      Ignoring the off-topicness of this, I'd like to give it a listen. But I'm afraid it's a carefully crafted hack that exploits a buffer overflow in Windows Media Player. What to do?

    2. Re:I go chop your dollar by Anonymous Coward · · Score: 0

      VMWare. Or its FOSS equivalent.

  22. make candidates responsible for constituents by demon4 · · Score: 0

    reminds me of an article about making politcal candidates responsible for any illegal action their constituents perform (eg a supporter makes ballots, you get in trouble), kinda makes running for office less appealing

  23. This is really stupid by Spirckle · · Score: 1

    That can only increase the move to outsourcing software. If the companies who put out shoddy software because refuse to implement any kind of internal controls aren't held accountable and US programmers become even more expensive, guess who gets the work and then who ya gonna sue? Somebody in china who makes $37 a day? right...

    Put the burden of liability on the real reason buggy software gets shipped. Hint, it's not the developers 9 times out of 10.

    --
    Using the best knowledge of today to create the problems of tomorrow.
  24. I'm a lawyer... by Anita+Coney · · Score: 1

    So I think everyone is financially to blame, other than my client of course.

    --
    If someone says he and his monkey have nothing to hide, they almost certainly do.
    1. Re:I'm a lawyer... by Anonymous Coward · · Score: 0

      You slimy, dirty, stinky, hairy cunt. Why don't you just fuck off and die?!

    2. Re:I'm a lawyer... by Anita+Coney · · Score: 0

      That's libel, or defamation, or something or another! I'm going to sue your ass!

      --
      If someone says he and his monkey have nothing to hide, they almost certainly do.
  25. How stable is stable? by manarth · · Score: 1

    We've long recognised that different computer systems need different levels of security and stability: real-time systems running Boeing auto-pilots don't need firewalls (at least, I assume they're not networked!) but do need high reliability and stability. Headlines like Nuclear power station brought down by Slammer worm shouldn't happen - and when it does someone needs to take responsibility.

    However, the cost of developing a super-stable system is massive; whilst absolving all risk (as most EULAs do) is akin to passing the buck, liability for flaws needs to be allocated reasonably.

    --
  26. Worse isn't better, it's just 90% don't want it by Nevyn · · Score: 2, Interesting

    This all seems to be a rehash of the "worse is better" meme ... that those damn software programers/companies aren't doing what we want. The only problem is, it's all crack. Almost no customers, even now, are willing to pay more for "quality".

    Yes, I think all other things being equal, people will go towards quality/security ... but it just isn't high on anyones list. Cheap, features, usable ... and maybe quality comes in fourth, maybe.

    And, yes, there are exceptions ... NASA JPL obviously spend huge amounts of money to get quality at the expense of everything else, and I say this having written my own webserver because apache-httpd had too many bugs (which comes with a security guarantee against remote attacks) ... but I'm not expecting people to migrate in droves from apache-httpd, it's got more features. The 90%+ market share have spoken, consistently, and they just don't care about the same things Bruce and I do.

    I have a lot of respect for Bruce, but the companies really are just producing what most people want ... so stop blaming them.

    --
    ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
    1. Re:Worse isn't better, it's just 90% don't want it by Coryoth · · Score: 1

      This all seems to be a rehash of the "worse is better" meme ... that those damn software programers/companies aren't doing what we want. The only problem is, it's all crack. Almost no customers, even now, are willing to pay more for "quality".

      That is slowly changing as the security and reliability meme becomes more common in the mainstream. In practice it was Microsofts horrible run with security, which got a lot of press time, which began to bring security into public focus. It's still not entirely mainstream, but people are more aware than they were, and more and more people are beginning to care.

      Jedidiah.

  27. Holy Schmidt!!!! by Anonymous Coward · · Score: 0

    Howard Schmidt can suck my left nut while I take a shit!

  28. Developers and Vendors should share blame by no13 · · Score: 1

    So you think making level 5 DFD's and showing the clients is good for business? Did it help in securing the network enabled parts to be any safer? NOPE!

    People are now coming UP from security by obscurity. This means that they're becoming security conscious. 2002-2005 witnessed the rise of spyware and spyware awareness together. Even MS, Symantec and McAfee call it a legitimate threat.

    With the customers and users becoming more security conscious and aware, both developers and vendors turn a blind eye. So you think making level 5 DFD's and showing the clients is good for business? Did it help in securing the network enabled parts to be any safer? NOPE!

    People are now coming UP from security by obscurity. This means that they're becoming security conscious. 2002-2005 witnessed the rise of spyware and spyware awareness together. Even MS, Symantec and McAfee call it a legitimate threat.

    With the cusSo you think making level 5 DFD's and showing the clients is good for business? Did it help in securing the network enabled parts to be any safer? NOPE!

    People are now coming UP from security by obscurity. This means that they're becoming security conscious. 2002-2005 witnessed the rise of spyware and spyware awareness together. Even MS, Symantec and McAfee call it a legitimate threat.

    With the cus what was the last time someone actually TRIED to foolproof his code? Even if it was a bittorrent client...

    NO developers pay ANY attention to this aspect, whether while coding, or while designing, or even when learning. (I can crash 100% of all programs created inside my univ. by first to third year students, within an hour... TC++ on DOS)

    Vendors on the other hand, it has been correctly mentioned, that pay no attention to code security, stability, testing...

    Result? Crappy code that dies on you.

    Let's get Micro$oft bashing on..



    It's partly the fault of compiler vendors like MS and borland too... NO tools are popularised to enhance stability, efficiency or security... It's ALWAYS new features this, connectivity that, .NET here, MSSQL there, J2EE over there...

  29. Re: It's already part of the common language by User+956 · · Score: 1

    I predict that Slashdot will have a headline next week that proclaims "Security flaws totally the fault of the end-user."

    Why re-state the obvious?

    /sarcasm

    --
    The theory of relativity doesn't work right in Arkansas.
  30. This is simple by Anonymous Coward · · Score: 0

    Security flaws and bugs are the same thing from different angles. Both are functionality that was not intended, both come from the same cause (programming error/oversight), and both can be reduced through the same means: intelligent modularization, testing, and review.

    The problem is that security has been far less modular than general design. Why is it a running application has the entire rights of the logged in user? Why can it access the internet (without software firewall), read/write any file, or do anything I as a user can do?

    It shouldn't. It's as simple as that. It's like running a bank with a big thick wall to get in, with strict credential checks and armed guards, and meanwhile you expect the customer to conduct all of his business as he pleases and honestly once he's inside. (ooohh.. I'll just take a few thousand dollars and write down that I withdrew that much!)

    Then you hold the customer responsible when he accidently screws up? That's insane. The problem when a particular server has a security flaw in it is that it can expose the entire machine: instead, it ought to expose _only_ the functionality the server needs to run.

    But this also applies to -all- applications. A security hole in your webbrowser? Well, why the hell can your webbrowser run random commands on your machine without your permission?

    As far as I'm concerned, the entire running model for OSes is going to be dramatically different in another few decades. When a program wants to open a new file, up will pop an -operating-system- file open -- requesting whether you, the user, would like to the application to read (or maybe write?) a file. When it wants to communicate over the IO, the OS will prompt you to allow it or not.

    Mark

    1. Re:This is simple by Penguinoflight · · Score: 1

      First, wow why would you post anonymously and use a signature?

      Second, yes, there are problems with what rights a program is given by default in an operating system. This is mostly a problem with the operating system though, and not the software. If the software must report to the user itself, it could report something safe, and do anything else the author intended (Think pop-up windows with the close image that loads your browser with junk instead.)

      Honestly I think that the best solution to this problem is already present. Multi-user operating systems allow users differnt rights, and you should run a program as a user that has only the rights it needs. Security problems then only arise in a single area(the operating system), and can be addressed more easily because a larger set of individuals use the operating system than the set of individuals using any random program.

      --
      "And we have seen and do testify that the Father sent the Son to be the Savior of the World"
      1 John 4:14
    2. Re:This is simple by Anonymous Coward · · Score: 0
      First, wow why would you post anonymously and use a signature?

      Maybe because he doesn't have an account?

  31. employer is liable by putko · · Score: 1

    There are laws that say that the employer assumes the liability for the employees -- unless the employee is acting so bad (e.g. going out of his way to kill someone) that you then say the employee is acting badly. This is why, for example, Domino's contracts with drivers to provide pizza delivery services: Domino's doesn't want the liability for auto accidents. I guess the law could be changed, but that's basically how it goes now. I don't see how it could go any other way: e.g. Billy Gates tells you to ship, or you are fired. You then say, "But Billy, there's 10,000 bugs in windows -- people will suffer damages if we ship now?" Or do you say, "yes master, slink away and ship what you know is a bunch of crap?"

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
  32. Coders responsible? by dokhebi · · Score: 1

    I agree and dis-agree on this. If a software creator is working on his/her own with no one else making the decisions, then that person is responsible for the code that is generated. On the other hand, a programmer in a cubicle farm is not responsible be he/she is doing what they are told, and they have people doing code reviews so the ultimate responsibly falls on the shoulders of the project manager.

    In other words, it's always the boss's fault.

    This is just my $0.02 worth...

  33. RTF-REAL-A from wired by dzfoo · · Score: 5, Informative

    The real article by Bruce Schnier is in Wired:

    http://www.wired.com/news/privacy/0,1848,69247,00. html

    Its more interesting than the sound-bite-full ZD-Net summary.

          -dZ.

    --
    Carol vs. Ghost
    ...Can you save Christmas?
  34. come on, really. by CDPatten · · Score: 2, Insightful

    I'm a developer and errors/holes in my code are my fault. Some, could in theory be the fault of the framework I use, but typically, its mine.

    People really over complicate this topic. Nobody is perfect, and people make mistakes. It really doesn't matter what excuse I use (deadlines, bad company decisions, whatever) if its code I wrote, its my fault. Even if I identified the hole and my boss told me to skip it, I still published flawed code. If I was perfect, it would be bullet proof from the get go, and if my team was perfect the same would apply. My boss would never have to tell me to ignore the error/hole, because my UML model was flawless, and my execution of it was flawless.

    I think this topic comes up because of one of two things; developers passing the buck, or blogger/writers trying to get some press. The fault is obvious, the solution however is far more difficult, and since humans will create the solutions, chances are it will be flawed too, and the cycle repeats...

    1. Re:come on, really. by Red+Flayer · · Score: 1

      " I'm a developer and errors/holes in my code are my fault.""

      Yes, but fault != financial responsibility for the consequences of the errors. Who is taking the financial risk by publishing the software? It's the same entity that will be reaping the rewards of sales of that software, or of other revenue streams derived from distribution of that software.

      "Even if I identified the hole and my boss told me to skip it, I still published flawed code"

      Not really. You wrote it, but your company published it. It was the decision of the company to release the code into the wild; without that decision, the damages would not have occurred. It was also your company, not you, who entered into an agreement with the purchaser of the software (whether through a distributor or not).

      --
      "Trolls they were, but filled with the evil will of their master: a fell race..." -- J.R.R. Tolkien on Olog-hai
    2. Re:come on, really. by ScrewMaster · · Score: 1

      No, you're doing the same thing most of the people writing these articles (not to mention this Schmidt character) are doing. You're confusing fault and responsibility. Yes, if you screw up when writing a piece of code it's your fault. But it should not be your responsibility, because there are (or should be) others in your organization who's responsibility is to determine that your code is correct and serves its intended purpose. Managers (who are paid much bigger bucks than the developers because they have more responsibility), quality control, design assurance, and so forth. Oh ... your company doesn't have any such people? Well, that's really the responsibility of the people that run your company. Not yours.

      --
      The higher the technology, the sharper that two-edged sword.
    3. Re:come on, really. by CDPatten · · Score: 0

      I probably should have been more specific. I don't believe i'm legally responsible, I believe I created the hole. Legal reasonability comes down to an entire new topic all together.

      I think the entire notion of being able to prosecute companies based on faulty code is absurd, but I also don't believe in patents with software. I believe its a copyright issue not a patent issue. Prosecuting someone over faulting code to me is like bringing an author to court because they misspelled a word, or were spreading FUD in their book. The title said it was the best book in the world, and I thought it was second. That said, I've already written about this in other posts.

  35. Poor Linking by adavies42 · · Score: 1

    The link in the post goes to a LA Times summary of the article. The real article is at Wired.

    --
    Media that can be recorded and distributed can be recorded and distributed.
    -kfg
    1. Re:Poor Linking by adavies42 · · Score: 1

      OK, I must be on crack today--the lame article is at zdnet, not the LA Times. My point still stands tho.

      --
      Media that can be recorded and distributed can be recorded and distributed.
      -kfg
  36. You get what you pay for by davidwr · · Score: 1

    For most applications, it should be "caveat emptor" unless the vendor DELIBERATELY "put in" a back door or knowingly or recklessly made promises that weren't true. If you pay $99 for a multi-MLOC piece of code and someone finds a security bug after it's shipped, my first inclination is to say "too bad, let the market punish the vendor not the courts."

    In almost all remaining cases, it should be the vendor who is responsible, not the developer.

    The only time a developer should be responsible is if he's a corporate officer or licensed by the state. Licenses should be required only for "life and death" software like flight-control software, MRI machines, and other things that can kill someone if there is a bug. In those cases, the entire unit - the entire MRI machine - should be "approved" by a licensed professional.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  37. offtopic... Silly mistake. Apologies. by no13 · · Score: 1

    damnit

    stupid clipboard... sticky keys. :(

    I'm really sorry...

    WHY can't we edit our own comments, BTW?

  38. Employer is Liable by putko · · Score: 1

    Sorry: I screwed up my formatting and punctuation. Here it is again, this time with feeling.

    There are laws that say that the employer assumes the liability for the employees -- unless the employee is acting so bad (e.g. going out of his way to kill someone) that you then say the employee is acting badly.

    This is why, for example, Domino's contracts with drivers to provide pizza delivery services: Domino's doesn't want the liability for auto accidents.

    I guess the law could be changed, but that's basically how it goes now. I don't see how it could go any other way: e.g. Billy Gates tells you to ship Windows Clusterfuck Edition now, or you are fired.

    You then say, "But Billy, there's 10,000 bugs in Windows CFE -- people will suffer damages if we ship now?" Or do you say, "Yes master," slink away and ship what you know is a bunch of crap.

    --
    http://www.thebricktestament.com/the_law/when_to_s tone_your_children/dt21_18a.html
  39. No I don't! by Anonymous Coward · · Score: 0

    I have a minor child who is too young to enter into a contract install all my software for me. I click no EULAs.

    Clickthrough EULAs aren't worth diddlyshit. There is no way of proving WHO clicked through.

    A real EULA is a signed document like they used to have in the cave man days when a "computer" was a three story tall pocket calculator and its programs cost hundreds of thousands of dollars.

    The only thing dumber than a EULA is anybody thinking they can ever be enforced. Which is why one has never been in court - the prople who write them know they'd be laughed out of court if they ever tried to sue.

    (mind reading capcha="paranoid"... good work guys)

  40. What the.. by MaXiMiUS · · Score: 0

    For some reason I remember reading this on a different site a few weeks ago. Bad Slashdot repeating repeated news! Bad!

    --
    It's never just a game when you're winning. - George Carlin
  41. The vendor... by BewireNomali · · Score: 4, Insightful

    I don't code, but I don't think making developers responsible for faulty code is a good solution.

    If I develop X for a company that then takes X to market, and X turns out to be faulty, company should be at fault. I am at fault for writing shoddy code, the effect of which will be that I get fewer future contracts or employment to do the same. Company is at fault for taking X to market, and as such should be resonsible for any liability due to X's shortcomings.

    GM is responsible for a shoddy part on one of its vehicles, not the engineer that developed the part.

    Sole proprietors who take their code to market should be responsible, but in that instance, the sole proprietor is both developer and vendor.

    --
    un burrito me trampeó.
    1. Re:The vendor... by Brad+Mace · · Score: 1

      Before we hold anyone accountable, someone needs to define 'faulty'. If a company doesn't claim that their product (software) has a specific attribute (such as security) or perhaps states *explicity* that it doesn't have some property, how can we possibly hold them accountable when we discover it doesn't have this property? There are some basic assumptions, like expecting that your car won't blow up when you turn the key, but beyond this sort of thing, it's not clear how much should automatically be expected.

    2. Re:The vendor... by baka_boy · · Score: 1

      Automakers publish guidelines for vehicle maintenance, and owners who fail to perform "reasonable" upkeep (changing the oil and tires, checking diagnostic codes when the "check engine" light is on, etc.) are seen as liable for many potential failures.

      If we're to emulate automotive engineering, shouldn't users be essentially the ones at fault, as most completely fail to respect the most basic preventative maintenance procedures? If you keep up-to-date on your security patches and virus definitions, don't click on attachments or download software from unknown vendors, etc., your exposure to potential security holes should be entirely manageable.

      Plus, drivers are expected to be licensed and insured, and therefore vetted by a number of authoritative sources as having the basic knowledge needed to responsibly operate a motor vehicle. Since any schmuck with $400 in his pocket can buy a beige-box PC and go online, can you really hold software vendors or developers responsible for every way they find to get themselves 0wned?

  42. Languages with buffer overflows need to be avoided by applecrumble · · Score: 5, Insightful

    A good start to our current security problem would be to stop writing internet based software in languages that allow buffer overflows to occur (e.g. C, C++). 90% of security exploits are caused by buffer overflows. I've seen a figure like this in research papers, but it should be obvious to anyone from reading patch descriptions and current security alters. Writing computer programs in these types of languages and patching the errors as they are found is simply not a scalable solution. It essentially means that if you write a program to be used on a network, you have to maintain and patch it forever because you'll never catch all the buffer overflows it contains (e.g. the zlib bug, not a particular large library and it has been around for a long time). Picking a tool that doesn't even allow these types of errors is the obvious solution. In addition, we need to start using more granular security permissions for our programs. Blaming security problems solely on users is ridiculous. Could you explain to me why a program downloaded from the internet has read and write access to every file on my computer? Why it can open up network connections? Having root users is a start, but we need to be able to sandbox all the applications we download so they just aren't allowed to do anything bad. I see no reason why a user shouldn't be able to download and run any program they find, as they should all be sandboxed appropriately that they cannot cause damage.

  43. It's the customers' fault by rsheridan6 · · Score: 2, Insightful
    If customers demanded secure software, then vendors would produce secure software. People instead buy software that's either the most familiar, easiest to use, cheapest, or has the most features checked off, so that's what vendors. That's why the utter pile of crap known as Windows 3.1/95 won while OS/2 and other more secure alternatives lost, and Windows continues to win over more secure alternatives today. Why should vendors spend their resources on something people have proven they don't care about?

    If people really cared about security, MS would have been driven out of business a long time ago, and other vendors would have taken note of that and made sure the same thing didn't happen to them. We would have more secure, less featureful, less convenient, more expensive software. But people don't care that much, so that didn't happen.

    --
    Don't drop the soap, Tommy!
  44. Re:IN SOVIET RUSSIA by geomon · · Score: 1, Funny

    Now why didn't I see that one coming?

    --
    "Rocky Rococo, at your cervix!"
  45. I'll accept liability for the code by Todd+Knarr · · Score: 5, Insightful

    As a programmer, I'll accept liability for bugs in the code... the day I get the same protection that a professional engineer gets: if I say I need X for the program to be properly designed/written/tested, any manager or executive or marketer who says otherwise can be thrown in jail. No mere job protection, no civil remedies, jail time for anyone who tries to overrule me, same as would happen to a manager who overruled the structural engineer's specification of the grades of concrete and steel to be used in a building.

    Responsibility and authority go hand in hand. If they want to hand the the responsibility, they give me the authority to go with it. If, OTOH, they don't want to give me the authority, then they can shoulder the responsibility.

    1. Re:I'll accept liability for the code by fiftyfly · · Score: 1
      Responsibility and authority go hand in hand. If they want to hand the the responsibility, they give me the authority to go with it. If, OTOH, they don't want to give me the authority, then they can shoulder the responsibility.
      Screw authority - give me ownership. If my employer is going claim all I/P rights (work for hire) they can take any, all and every responsibility for it's marketing and liability.
      --
      "Sanity is not statistical", George Orwell, "1984"
  46. Plenty of Examples by jpowers · · Score: 3, Insightful

    You can make a case for this without worrying about impinging on the right to make free software. Peopleware really isn't worth the thousands of dollars it runs you. Solomon Accounting isn't worth the $100K it costs for a companywide install, Great Plains and larger packages like Deltek's Costpoint (actual install cost: $450K) are no better.

    They have weak or no APIs, the built-in tools aren't able to perform the most basic tasks the users want, and the customized workaround take as much work as rewriting the software.

    I think the guy from the article has a point, as there are many businesses that spend many times any of our salaries running commercial software, and the people involved in the purchase have no idea they're throwing bad money at subpar products. I'm not sure he's talking about something relevant to most slashdotters: even those of us who work in IT don't really get to pick the accounting software people use, the CFOs pretty much run what they know and we have to build accounting their own network around that package.

    --

    -jpowers
    1. Re:Plenty of Examples by Jeff+Molby · · Score: 1

      I've spent the last 5 years developing accounting applications and I just want to point out that they're easy to underestimate, especially ones that try to be all things to all people. I don't have any firsthand knowledge of the packages you mentioned, but I do know that accounting apps can eat up tens of thousands of man-hours like they're nothing.

  47. Who Do You Trust? by PingXao · · Score: 4, Insightful

    Who do you trust more?

    Noted security expert or political hack, ... noted security expert or political hack, ... noted security expert of political hack?

    It's not even close. On the credibility front Schneier has hundreds - no, thousands - of times more credibility on this issue than a political appoiontee out of the White House. Actually it's infinitely more credibility because anything times zero is zero where the White House is concerned.

    1. Re:Who Do You Trust? by Anonymous Coward · · Score: 0

      Actually it's infinitely more credibility because anything times zero is zero where the White House is concerned.

      No, the White House hasn't figured that out yet. Where they're concerned, anything times zero is whatever the hell they want it to be.

      Now, as for our perception of the White House's credibility, yes, you're exactly right... I was going to throw a smiley in there, but then it occurred to me that that's not something to smile about.

    2. Re:Who Do You Trust? by DigiShaman · · Score: 1

      The whitehouse is made up of lawers run FOR lawers. They are the middle men between our freedoms, and it cost money to keep them in check. That money goes back into their pockets so they can leverage more power to ther lawer friends in the political arena.

      Note: this applies to BOTH parties!

      --
      Life is not for the lazy.
    3. Re:Who Do You Trust? by digitalhermit · · Score: 1

      This can be a deadly trap.. We can give more weight to people within their field of expertise -- and this appears to be within the scope of Scheiner's domain -- but "celebrity endorsements" mean nothing for stuff outside their areas. I've seen so many cult-of-personalities pop up with the disciples attributing godlike omniscience to their idol so gotta speak up on this one.

  48. edited comment... don't think you'll read it :( by no13 · · Score: 1

    So you think making level 5 DFD's and showing the clients is good for business? Did it help in securing the network enabled parts to be any safer? NOPE!

    People are now coming UP from security by obscurity. This means that they're becoming security conscious. 2002-2005 witnessed the rise of spyware and spyware awareness together. Even MS, Symantec and McAfee call it a legitimate threat.

    With the customers and users becoming more security conscious and aware, both developers and vendors turn a blind eye.

    what was the last time someone actually TRIED to foolproof his code? Even if it was a bittorrent client...

    NO developers pay ANY attention to this aspect, whether while coding, or while designing, or even when learning. (I can crash 100% of all programs created inside my univ. by first to third year students, within an hour... TC++ on DOS)

    Vendors on the other hand, it has been correctly mentioned, that pay no attention to code security, stability, testing...

    Result? Crappy code that dies on you.

    Let's get Micro$oft bashing on..

    It's partly the fault of compiler vendors like MS and borland too... NO tools are popularised to enhance stability, efficiency or security... It's ALWAYS new features this, connectivity that, .NET here, MSSQL there, J2EE over there...

  49. Reliance on External Packages by t'mbert · · Score: 1

    Modern software development relies on an ever-expanding list of external factors. Case in point, our application ran perfectly fine until one day, it started crashing. The errors gave us no clue to the problem. As far as we could tell, the software was fine. Our software ran on top of a J2EE server, which runs on top of a JVM, which runs on top of an OS, which runs on top of hardware. It relies on database drivers, which connect over a network, which run against a database, which itself relies on the os, which runs on hardware. The J2EE server, of course, relies on the web server, and the driver to make the two work together. They all rely on the firewall for security, and the crypto flavor-of-the-year for HTTPS security.

    All of these pieces can be culprits in the issue, but only one of those is in your direct control, that being your source code.

    In the end, a MS patch against the OS caused issues in the JVM which caused issues in the J2EE server, causing our JDBC connections to lock up and fail. To find that we had to check every piece mentioned above. Swapping out to another JVM fixed the issue, but was risky because the source, which we purchased from a third party, was not qualified to run on the newer JVM.

    Now imagine unwinding all of that in court. Who's fault is it? MS is just patching their OS. Sun can't be held liable for a bug in a JVM that's no longer being maintained, and was not certified to run on the newer OS patches, the J2EE server can't be upgraded because the app isn't built to run on it.

    The fact of the matter is that you can't hold the engineer who designed the break pads responsible for a crash if the driver can switch out the engine, transmission, wheels, tires, diffs, etc., and can drive past the limits of the design of the automobile.

    Ideas like holding software developers or development companies accountable will lead to far less software development, more expensive software, with very hard vendor-imposed limitations, like "by agreeing to this EULA you agree to run this software on a dedicated, vendor-approved machine, with the os of our choosing, and you may not patch the os or hardware drivers unless it is cleared by us."

    No way. I'll take what we have.

    1. Re:Reliance on External Packages by $nickname_212 · · Score: 0

      I am a little surprised to read that you don't have your production app running in a development and/or a QA environment. If this is the case, nothing should change in the production environment until it goes through the development/QA environment and testing (where are the unit tests being ran that would expose this problem). I consider the application of patches to a production environment without testing them to be a flaw in the process as it should be expected that something could fail from a change in any of the interfaces you describe above: database, J2EE server, OS, hardware, web server, etc. This is almost like applyng a firmware change to hardware. I used to be a hardware tester and in particular, dealing with SANs; now I am a software developer. But SANs/datacenters are just as touchy and applying the latest and greatest firmware patch will sometimes screw the whole datacenter up from backup/restore problems to connectivity, etc. I must admit that even though my group runs a development and QA environment, we don't have any control over the system administration. So, we work on a bit of faith that the Sys Admins won't apply a patch that will spin us into a cycle like you describe above. I don't think there is any culpability on the part of the vendors of all the above mentioned hardware/software because there is a lot of complexity. It seems that often times the best solution to maintaining an application is to not change anything that the application relies upon. The reason my company sells Professional Services is because a any change in the data center can be so tumultuous.

  50. Hrm, I'd say I partially agree.... by ShyGuy91284 · · Score: 1

    I am still in college for CS, so I'm not really in the loop enough to know about the real-world application of programming, but I am split on this subject. Is it the developers fault bugs are in code? Yeah. But could it be helped? Probably not. The nature of programming alone makes it seem that almost everyone probably misses a few bugs (that are probably caught during testing before the product goes gold), since people do not work like computers. And from what I've heard, the time constraints for many projects probably don't allow for debugging and testing as much as they should. Hard set deadlines in large projects seem like a rough thing to work with since you never know how programming is going to go, and in crunch time, proper debugging seems like it would be the easiest part to skimp on to meet the deadline.

    --
    In undeveloped countries, the consumer controls the market. In capitalist America, the market controls you.
    1. Re:Hrm, I'd say I partially agree.... by amelith · · Score: 1

      Hmmm. I sense your mind may change rapidly when you leave college.

      In a college assignment you have a fixed specification that won't be changed, you have a fixed delivery date that won't be changed. You also have the advantages of knowing that the problem is soluble with basic CS techniques in a particular amount of time, in that it's probably the same one as handed out last year.

      In badly-run real world projects and companies (which is quite a few of them) one or more of these factors won't be present.

      In bad cases deadlines will be moved arbitrarily by people you don't even know. Specifications will never be complete because the people writing them won't know exactly what they want. Your team will constantly fluctuate in size as people are pulled to firefight other projects. You'll be asked to work insane hours "to show how committed you are".

      If you make the code bulletproof you'll be blamed for over-engineering it. If you're late shipping you'll be blamed for slacking. If it breaks in service then yes, there's blame heading your way for that as well.

      To avoid rapid discouragement it's vital to avoid places like I just described. But it won't be easy because when you go to an interview they'll tell you they are "a quality organization" or "customer driven" which really means they don't have a product strategy.

      Ame

  51. Security in Programs by ncb000gt · · Score: 1

    While security should be a focus and currently is not, it is not the programmers fault for the screw ups.
    I saw one post mention that everyone else is responsible for their actions...Try making a computer run with lines of text...Programming is a bit different that lines of
    [code]
    Computer: go to internet
    Computer: go to slashdot.com
    [/code]
    People don't understand what programming is like. While some people like it, have a knack for it, etc it is difficult to catch every possible problem.

    Take an application, a mid-large sized application, that is like 50+/- thousand lines of code and really tell me that you can debug the entire thing in a timely way? It does become very cost-inefficient.

    Now, I do agree that security should be a focus of software development companies but look from all sides. Security should be a huge concern of companies and it should be the companies responsibility to provide the resources for security efforts. NOT the programmer.

    As the first post mentioned, if you start requiring programmers to hedge liabilities you will see many programmers drop from the field due to the cost alone and you will find that your rants about security will escalate due to the lack of good programmers...

    1. Re:Security in Programs by jedidiah · · Score: 1

      50K LOC is not even a midsized application. It's an overgrown shell script.

      --
      A Pirate and a Puritan look the same on a balance sheet.
    2. Re:Security in Programs by ncb000gt · · Score: 1

      lol, see my point :)

  52. Plus, the company owns the product by kcurtis · · Score: 4, Insightful

    Most contracts result in the company owning all of the intellectual property. If the programmer can't own their work, then the owner should be responsible for it.

    Besides, it is a company's responsibility to sell good products. If they sell a product that is defective, it is often because they didn't do sufficient Q&A on the product, or rushed it to market.

    Bottom line is that if a car maker sells a car with a defective part (the tires lugs were defective), and it passes shoddy Q&A, it is the maker's fault, not the assembly line guy. If it doesn't pass Q&A, you can be sure Ford won't sell it -- but the same doesn't seem true of software.

    1. Re:Plus, the company owns the product by frank_adrian314159 · · Score: 1
      If it doesn't pass Q&A...

      Wow! I didn't know that software did Questions and Answers! OK, people - one last time...

      Q&A=Question and Answer (as in, "The speaker was available for a Q&A session following his presentation.")
      QA=Quality Assurance (i.e., the process by which a product or service is assured of suitability for use).

      The next one of you who messes this up is really going to get an earful.

      Sincerely,
      Mr. Language Nazi

      --
      That is all.
    2. Re:Plus, the company owns the product by GoatMonkey2112 · · Score: 1
      Bottom line is that if a car maker sells a car with a defective part (the tires lugs were defective), and it passes shoddy Q&A, it is the maker's fault, not the assembly line guy.
      That actually brings up another problem with blaming individuals. How do you decide who is really responsible. In most projects multiple people could be blamed in some way.

      I'm currently a member of a class action suit against Ford for installing a crappy plastic intake manifold in my Mustang. I sure don't blame the assembly line guy for installing it that way. An engineer?... maybe, but more likely a bean counter is to blame. Same thing can happen with software. Blame the programmer? Blame the architect? Blame the Q/A? etc...

  53. Re:Languages with buffer overflows need to be avoi by mopslik · · Score: 2, Insightful

    I see no reason why a user shouldn't be able to download and run any program they find, as they should all be sandboxed appropriately that they cannot cause damage.

    Sure, it may be a good start to remove some of the bugs, but who writes the sandbox? In what language? Is the sandbox itself sandboxed, to prevent being comprimised? If so, who writes that sandbox? In what language? Is that sandbox itself sandboxed, to prevent being comprimised? If so...

    It's not an "obvious solution." It's an "obvious time-saver" when it comes to having to check for bugs.

    Could you explain to me why a program downloaded from the internet has read and write access to every file on my computer?

    I think that has more to say about your choice of operating system rather than the program itself.

    It essentially means that if you write a program to be used on a network, you have to maintain and patch it forever because you'll never catch all the buffer overflows it contains.

    I think you mean:

    It essentially means that if you write a program to be used on a network, you have to maintain and patch it forever because you'll never catch all the programming errors, incorrect assumptions, and random unexpected behaviour introduced through unforseen run-time activity it contains.

  54. MOD PARENT UP! by mrchaotica · · Score: 1

    Not only is this exactly the correct solution to this problem, it also illustrates why anyone who calls themself a "Software Engineer" is full of it!

    --

    "[Regarding the 'cloud,'] ownership was what made America different than Russia." -- Woz

    1. Re:MOD PARENT UP! by javaxman · · Score: 1
      I work with a bunch of licensed Electrical Engineers. I write engineering applications they use to do their work.

      My job title ?

      Senior Computer Programmer.

      Despite the fact that my degree came from a school of engineering just like theirs did, and I do complicated system design *and* have to understand all of the details of their engineering practices and workflow, I actually think my job title is more appropriate than that of 'Software Engineer'. Not that Engineer would be inappropriate, it's just that 'programmer' is more descriptive and technically correct. Hardware guys are engineers, software guys are programmers... there's a qualitative difference, even if you're following good engineering-based software design practices.

    2. Re:MOD PARENT UP! by Peter+La+Casse · · Score: 1
      anyone who calls themself a "Software Engineer" is full of it!

      The problem isn't that some people call themselves (or others) "software engineers," it's that some people assume that software engineering is rigorous and correct. It's not.

      I have no problem with professional societies using the law to reserve titles like "Professional Engineer" for those who can pass a rigorous certification, but to claim ownership of the term "engineer" is just silly. Why not also claim ownership of the term "professional"?

  55. The broader picture... by jferris · · Score: 2, Insightful
    ...is that developers are not the only people responsible.

    Although it may vary from shop to shop, where I am currently follows a pretty standard model:

    • Business Analysts gather requirements from the prespective users.
    • Project Management creates specifications
    • Specification are presented in a JAD session where they are gone over in a public discussion
    • Project Management and Business Analaysts work together to deliver a formal Design Document
    • Second JAD session to dissect Design Document and petition for any changes.
    • Development begins while Technical Writers produce any documentation in conjunction with Project Management and Developers.
    • Development performs Unit Testing to verify that the requirments of the specifications are met, as detailed in the Design Document.
    • Quality Assurance tests the entire functionality on top of what has been Unit Tested by Development.
    • Release is scheduled.
    • Repeated as needed (although usually more briefly) for bugs and maintenance.

    There is a major misconception that a Developer is the "one stop" source for software, where that is rarely the case. Even when some of the first steps are handled by a single person (usually when the Developer is a Lead or a Programmer Analyst, in title) the process entails more than just a single person.

    It is only a matter of time, if it hasn't happened already, that insurance companies start selling liability insurance to Developers, just like they sell Malpractice insurance to Doctors. There are companies out there that will claim the "collective effort" when the profits roll in, but will hang a developer out to dry when something goes wrong. Thankfully, I left that job for the one I am at now. ;-)

    --
    You are in a maze of little twisting passages, all different.
  56. 'hood welded shut' by oneiros27 · · Score: 1

    Although you're right about the nature of the problem, the welded hood analogy doesn't fit.

    Automobiles typically need 'preventive maintenance' (PM) performed on them, such as changing filters, belts, and other mechanical systems that need to be replaced due to use and wear. The closest analogy to this in computers is defragging the hard drive, and maybe the occassional disk replacement or vaccuming out the dust.

    Automobile manufacturers have done the closest thing they can to allow you to do the PM, without being able to diagnose the big problems on your own, through the use of computerized transmissions. ODB-II scanners have come down in price, but it's still not something that the average car owner might have.

    Software warrenties are also not like the automotive warrenties, in that the EULA states that you can't sue them, whereas automotive companies can't pull that crap. Although they occassionally do recalls where they don't notify customers (just if you drop it off at a dealer for something else, they'll fix it), they occassionally have things so bad, that they know they'll get sued, and it's cheaper to fix everything, than to deal with the losses in court.

    Software licenses, however, can be written in such a way, that if the customer complains too much, the vendor might have reason to revoke the license. (although, that would be bad press, and might result in a lawsuit, but a good EULA will ensure that the vendor wins the lawsuit). Automobile vendors can't do that will sales ... but they can with leasing. (take the EV1)

    --
    Build it, and they will come^Hplain.
    1. Re:'hood welded shut' by digidave · · Score: 1

      The analogy works for as far as I took it, which is all analogies are meant to do. Arguably, non-security related bug fixes are similar to automobile preventative maintenance, or at least similar to auto recalls.

      --
      The global economy is a great thing until you feel it locally.
  57. Re:Why stop with coders? How about bureaucrats too by Rac3r5 · · Score: 1

    well put,

    Howard Schmidt is a guy who has worked in the software industry, but it not really a geek, he is a BIG SUIT or a PHB. I highly doubt he has ever programmed in his life. Unfortunately, ppl in the big seats would think , hey this guy has worked in the software industry, he knows what he is talking about. I hope ppl ignore this dumbass and just move on.

    Doing something like this will also hinder the Open Source process. Software will get more expensive and we can see a whole bunch of crap going on.

  58. Ridiculus by xenocide2 · · Score: 1

    If you're an engineer practicing on behalf of a single company, you're entitled to an "industrial exemption," at least in the state laws I've read. EEs working for Motorola don't need to be a PE. The company takes the liability, not the engineer. Businesses actively make a decision to place time to market over correctness, over "security." Forcing liability on people engaged in development is stupid and causes inevitable friction between the developer and the business who's hired him and ten others. If you don't agree that the software is secure... well, if you're lucky you'll be transferred to another department. The only thing that personal liability solves is how to enact liability without killing off companies immediately. This way, they'll last for five years before nobody wants to work in the field.

    Furthermore, what happens when a company simply decides to ship a product against your will? Without the power to approve or disapprove a product, liability is a win-lose situation that never flips.

    --
    I Browse at +4 Flamebait

    Open Source Sysadmin

  59. Ultimately both are to blame and liable but ... by Alpha27 · · Score: 1

    in differnt ways.

    If a developer produces shotty code, then they can be reprimanded and ultimately fired f their is a clear sign of shotty work and an inability on the part of the developer to improve.

    If the vendor deploys shotty code, then they can be sued if it causes some sort of damages to the customer. It's the vendors responsibility to ensure the software works fine before it goes out to the customer, and that involves having the right processes in place for quality testing, that are usually dedicated to a group of workers that specifically do testing. If they fail on this, then they can only blame the developer for creating the bug, but not for the fact that it wasn't properly tested and that it was deployed.

    Developers do not have the time to fully stress test software to a variety of tests. If developers are held to full liability, then they will spend 50% of their time coding, and 50% of their time testing and finding bugs, ultimately causing production to drop by half (this is an estimate).

  60. programmers and lousy code... by Anonymous Coward · · Score: 0

    Lousy code is caused by several factors:
    1. unrealistic promises of dates by managers eager to please their superiors
    2. uninformed or untrained programmers
    3. constant interruption of programmers due to constantly shifting priorities

    Good code takes knowledge, concentration, and careful, methodical, uninterrupted work. If the work is hurried or the programmer sucks, or they get constantly interrupted, the work is not done carefully. This leads to security issues.

    2 of these 3 factors are outside the control of the programmer. He is an employee that does what he is told, if he wants to keep his job. If the people telling him what to do, don't understand that you can't do a 3 month job in 2 weeks, but the programmer is forced to do it anyway, bugs be damned, the result is less than optimal 100% of the time.

    Business people and their childish demanding attitudes are the ones that are most often responsible for bad code, not the programmer. He's just doing what he's told, and getting it done in the time allotted. Usually, whether or not it's perfect, is irrelevant as long he delivers *something*.

    I know this because I get subjected to it daily. We have a 6 month project due on Jan 1st, and the business still hasn't signed off on the requirements, well actually they just did yesterday. Now the coding can begin. We now have 2.5 months to get the 6 month job done, "or else".

    Typical... If this "programmers are held legally responsible" crap kicks in, I am finding a new line of work, unless people let me do my freaking job, the right way.

    l8,
    AC

  61. debugging by lawyer by Thud457 · · Score: 1
    You can just have the CEO land on an aircraft carrier sporting a big "Mission Accomplished" banner and all the problems will be resolved.

    Yeah, cynical don't even begin to cover it...

    --

    the preceding comment is my own and in no way reflects the opinion of the Joint Chiefs of Staff

  62. Software Assurance by Coryoth · · Score: 4, Insightful

    Yes, software has bugs and mistakes and errors, and in a large project it can become infeasible to guarantee that there aren't issues somewhere. That doesn't mean, however, that software should simply ignore the issue. It's a matter of contracts and assurance: It is possible to make certain assurances about a piece of software and spend the time making sure it fulfills those properties. For instance, while you might not go to the trouble of ensuring a word processor is completely bug free, it may be worth providing assurances, for instance, that files cannot be corrupted when the program crashes, and that the print preview is exactly what will be printed. There are methods for proving and verifying such properties, and if you restrict it to key properties that the client wants formal assurance on then it is not significant extra work to use those methods.

    The same principle applies to security. While you may not be able to say your system in completely invulnerable without expending enourmous amounts of time and money, you can make certain formal assurances like "no buffer overflow exploits exist in this software" or "the software will always fully and correctly carry security protocol X, or abort with an error and deny access". Such things don't ensure 100% security, but being able to formally make such assurances does significantly improve the expected security of the software.

    For some reason software has gotten stuck in an "all or nothing" mentality, claiming that obviously you can't ensure perfection, therefore you should assume nothing, and make no assurances at all. That is neither necessary, nor productive. Being able to formally guarantee certain properties of software is both possible, and only as much extra work as the amount of assurance you choose to provide.

    Jedidiah.

  63. Re:Errors and Omissions Insurance (GPL V3) by diakka · · Score: 2, Insightful

    The parent poster is correct in that this would destroy hobbyist programming, at least in the US.

    I'm wondering if the GPL 3 should include a clause to protect against this kind of lawsuit as well as patent lawsuits.

    --
    -- Knowledge shared is power lost. -- Aleister Crowley
  64. Because by Anonymous Coward · · Score: 0

    Liability isn't viable in uncontrolled environments which means any normal desktop.

    The mistake everyone seems to be making is that liability doesn't exist in the industry. It most certainly does and always comes with strict terms for approved usage that defines the operating enviroment and prohibits any installation without vendor approval.

  65. Dominoes DOES have some liability by davidwr · · Score: 1

    If Dominoes tells them to drive a certain route or to get there in a certain time, OR GIVES THEM INCENTIVES TO DO EITHER then if there's a wreck Dominoes WILL be dragged into the lawsuit.

    Back in the old days, Dominoes had a 30-minute-or-free guarentee. I don't know if their drivers were contractors or employees at the time but there was a wreck, someone sued, and Dominoes canned their guarentee.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  66. Never say never by MOBE2001 · · Score: 1

    I'm sick and tired of hearing talk about holding vendors or developers legally responsible for writing insecure code. It's impossible to write any complex application and not have security problems.

    Software is unreliable because we have been doing it essentially the same way for 150 years without stopping to think that there might be a better way. We've been writing algorithms ever since Lady Ada Lovelace penned down the first table of intructions for a digital computer. It's time we reevaluate the algorithmic model. Switch to a non-algorithmic, signal-based, synchronous software model and the problem will disappear. Until then, we can't hold either vendors or programmers liable. Didn't Fred Brooks show that algorithmic code is essentially unreliable? See link below for more info on non-algorithmic programming.

  67. Externalities by Phred+T.+Magnificent · · Score: 1

    If liability is passed on to the individual developer, then it remains an externality -- and therefore a non-issue -- as far as the company is concerned. The company doesn't give a damn about your liability: management and marketing will continue to insist on ridiculous schedules and feature sets, because it doesn't effect them. The only way that might change is for the liability to rest with the company (or, as another poster mentioned, for software engineers to be given the same legal protections as other professional engineers, including jail time for managers who overrule their engineering decisions).

    --
    Where is the wisdom we have lost in knowledge?
    Where is the knowledge we have lost in information?
  68. GM does testing on the parts. by crovira · · Score: 1

    They have TIME to do the tests and have made a conscious decision on what constitutes acceptable failure tolerances.

    NOBODY expects a car tire to perform acceptably under the load of a 747 suddenly going down on it so it suddenly accelerates to 120 miles per hour.

    No industry is subjected to performing perfectly each and every time with untested configurations of their components. Testing COSTS.

    Basically, its the attitude that permitted the rise of Microsoft that is at fault here, and this attitude came from the same people who demand 99.9999% up time, and a recovery plan, from their mainframes.

    Get real people.

    PCs and anything hooked up to them, are NOT designed to deal with the loads they are often subjected to. We design systems to fail gracefully under known tolerances.

    --
    MSBPodcast.com The opinions expressed here are my own. If you don't like 'em... Think up your own stuff.
  69. In the end it's not likely to make any difference by OwlWhacker · · Score: 1

    If an individual or a company produces software, and they are liable for any damages the software causes, what do you think is going to happen?

    End users may end up in a situation where they either...

    a) sign an agreement whereby they accept liability themselves, getting the product at a reasonable price - or free of charge.

    or

    b) pay the vendor an exhorbitant fee for some form of software insurance - which would be necessary to cover costs should the company have to recompense for damages.

  70. It's the toolkits and language level! by scorp1us · · Score: 1

    There are 2 kinds of issues:

    1) Designed Issues. These are just plain sloppy design. But is there a way to mitigate this? Yes, with more extenstive and proven frameworks. Still designer lack-of-talent can still doom and app. These can generally be easily fixed because they are at a high enough level.

    2) The harder problems come from the toolkits. This could be due to GLIBC or other"low level" libraries(LLL). I define a LLL as any toolkit which requires and permits you to manage memory implementation directly on a byte-basis. (C, C++, ASM.) Where as the high level libraries (HLL) are object oriented like Java, Python, PHP and not allow someone to mange memory directly.

    PROPOSAL:
    Ideally, we should be able to substitude out a library with one of a completely different internal operation (i.e. vector strings rather than byte arrays, python dictionaries (or C implementations thereof) instead of C structs) recompile and test. Only when it works under all possible libriaries do we know that the only issues that remain are design errors.

    The added advantage to replacing the underlying toolkits is that when an application is distributed, you can ensure that not all instances will have the same vulerabilities. If you have 3 string classes, and each download sent is not the same as the previous, then you will have a exploit that will only pertain to a subset of the downloads sent out. The inherint advantage of this is that you the developer get to write and distribute your application code, in a very architecture free manner, while limiting the feasibility of explotations on your customer base.

    The simplification that I am making is that you can assure the toolkits are 100% error free. It is easier to assess (audit) the error-freeness of a toolkit from which your application can be constructed than it is to audit both eh application and any trickiness in the interface between your app and the toolkit. Having a changable toolkit prevents one from purposefully or unintentionally expliting the toolkit in known and unknown ways. (I belive the as-yet-unknown ways are the most dangerous and harest to track down)

    So I think we can address these issues, and that as software becomes less coupled from the underlying implementation we will see only design errors. And even then the toolkits/frameworks will prevent a good many from seeing the light of day.

    --
    Slashdot's rate-of-post filter: Preventing you from posting too many great ideas at once.
  71. Sign of dependence / maturing industry by Boom11 · · Score: 1
    Now that so many people depend on software in daily lives it is natural for them to request better quality and accountability.
    If you are opposed to paying, say $100 for totally insecure software, then you agree with this premise.

    It probably makes most sense for software publisher to assume responsibility. Thus would eliminate the need to license every corporate VB jockey and merely ensure that someone competent reviews the code before release.
    (This is customary in many licensed professions. E.g: House remodeling projects are usually done by an unlicensed architectural designer and then just reviewed and stamped by a licensed architect.)

  72. Lets just forget about trying. by Some+Random+Username · · Score: 1

    Since you can't make something 100% perfectly secure, we shouldn't bother trying right? Just produce complete and utter crap like IE, IIS, Mozilla, etc?

  73. Kind of a scary subject by Darksoftnet · · Score: 1

    I work at a company that has only 1 programmer. Guess who that one person is? I am pretty good at clean code, but I am human... I have written so many tools and applications for this company, and there are bugs everyday everywhere. The management pushes me in so many directions that realistically its impossible to create great code in a timely manner. Now that I have so many programs to continue fixing, I don't have much time for further development. Of course I get the blame for how lousy applications are. I suppose you could compare this situation to a house maid. She makes you dinner with the chicken that your wife bought at wal-mart. The meat is bad, you get sick. Sue your maid? A little far fetched.... I tried

  74. Not quite jail time by davidwr · · Score: 1

    If you are a civil engineer designing a bridge, and the manager disagrees with you about needing a certain feature, he's free to find another engineer who will do things his way, and fire you.

    Of course, when the bridge collapses, the other engineer may go to jail, and when you testify to what went on behind the scenes, your former client may join him.

    If you have a PHB client like that, much more likely is that your client will either cancel the project or do it your way this time, but find a yes-man for the next job. That way he won't go to jail when the next bridge collapses.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  75. Every version of the GPL already has this clause by brunes69 · · Score: 3, Informative

    Most other free software licenses also have something similar:

    11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
    FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
    OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
    PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
    OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
    TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
    PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
    REPAIR OR CORRECTION.

        12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
    WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
    REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
    INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
    OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
    TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
    YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
    PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
    POSSIBILITY OF SUCH DAMAGES.

  76. should be held responsible for flaws in code they by flattener · · Score: 1

    DNA is a programm and it has a lot of flaws, but it works well for all of us. Be happy and have some fun!

  77. Wrong way... by Rainer · · Score: 1

    Just make it legal to crack other people's computers and use their resources.

    Evolution is the only thing that will work!

  78. In related news... by sparr0w · · Score: 1

    3000 Microsoft programmers have been given the boot.

  79. Corporate Officer Accountability ramifications by davidwr · · Score: 1

    As a result of post-Enron corporate officer accountability, it's harder to find people willing to be corporate officers.

    Beware the law of unintended consequence.

    Most parent up - it may be offtopic but it's interesting.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  80. Re:it's all about EULA by oliverthered · · Score: 1

    Just because something's in a EULA (or even a contract) it doesn't make it legally binding.

    Let's say the EULA states that I can come round your house and rape your wife.

    --
    thank God the internet isn't a human right.
  81. Almost, but not quite by CrystalFalcon · · Score: 1

    You imply that authority and responsibility go hand in hand.

    Rather, IMO, responsibility consists of equal parts accountability and authority. If you are responsible for X, then you have authority over X, and are held accountable for it.

    If you agree to be held accountable for X without having authority to influence it, you've signed a recipe for disaster, regardless of what it's called. I guess "responsiblity for X" is a something nice for a boss to say, but it's a false premise unless you have accountability and authority both.

  82. Re:Errors and Omissions Insurance (GPL V3) by ArsonSmith · · Score: 2, Interesting

    I wonder if they can get around it by claiming the code as the documentation as to what the program does. That way if it does something wrong it is perfectly documented that that is what it is suppose to do. If you don't want it to do that let me know and I (the programmer) can change it. This would be kind of like the Microsoft argument of "it's not a bug it's a feature" except with OS it is a documented feature that is subject to change appon request.

    Closed source applications wouldn't be able to use this loophole.

    --
    Paying taxes to buy civilization is like paying a hooker to buy love.
  83. Requirements? Verification? Validation? by flazz · · Score: 0

    In the end everything comes to requirements, validation and verification at each level of implementing an application.

    Say i'm a coder and there is a flaw in the OS? or in the API? or in the hardware? can I pass the buck onto the Redhat, Java, or HP after the damge is done? of course not. Its my responsability to make sure that the app is valid and verified given the requirements.

    Just like its the responsibility of the requirements gatherer to properly describe the problem to the developers, weather or not that entity is a vendor, client, or part of the development organization.

    And what if there is err on the part of the end user? like if the hardware does not meet the minimum requirements of the app and something goes wrong.

    this is Software Engineering 101, not capital punishment, gay rights or abortion.

  84. The user by waamaral · · Score: 1

    Blame the user for buying Microsoft products!

    --
    What, do I need a sig now?
  85. vendor by benlong · · Score: 1

    I'm certain it is a problem of the company. The company should A) have a qualified application designer who accounts for security related issues, B) have the QA plan to test security issues, and C) have the ability to respond to security issues with rapid patch deployment. Unless a developer maliciously includes security holes or deviates from a standardized development policy (and in this scenario, it's the company still, but they can take it out on the developer) I believe it's like anything else, where the employee (developer) is doing what the company asks of them. If the company does not have a standardized development policy that includes security related strategies, then the company is at fault for failed responsibilities. Cheers. Oh, and I don't know if this has anything to do with the topic.

  86. How would this effect Open-Source projects? by Dext · · Score: 1

    Would something like this apply to open-source projects as well? Or would open-source fall into "Use at your own risk".

  87. Re:Languages with buffer overflows need to be avoi by applecrumble · · Score: 1

    "Sure, it may be a good start to remove some of the bugs, but who writes the sandbox? In what language? Is the sandbox itself sandboxed, to prevent being comprimised? If so, who writes that sandbox? In what language? Is that sandbox itself sandboxed, to prevent being comprimised? If so...
    It's not an "obvious solution." It's an "obvious time-saver" when it comes to having to check for bugs."

    To use Java as an example (I'm not advocating Java, just the idea), somebody writes a secure Java virtual machine once and everyone uses that as their platform. If a buffer overflow is found in the virtual machine (a single program), it is fixed once and all programs that use it are now more secure. The virtual machine code can also be heavily audited and over time it is unlikely to contain any easily exploitable security issues. With the current approach, buffer overflows need to be found and corrected in every single, for example, C program written. The amount of code here is gigantic compared to auditing one virtual machine and it will never be as secure. I'm not sure what your point is, but the former approach is obviously more secure and scalable. Why would you want to write program in a language that allows buffer overflows when you're concerned about security? It seems an obvious solution to me.

    "I think you mean:
    It essentially means that if you write a program to be used on a network, you have to maintain and patch it forever because you'll never catch all the programming errors, incorrect assumptions, and random unexpected behaviour introduced through unforseen run-time activity it contains."

    The fact is, the vast majority of security issues are caused by buffer overflow bugs. If you eliminate these types of bugs (which many languages do), you save a massive amount of maintenence time and effort.

  88. Quality code CAN happen... by stretch0611 · · Score: 1, Informative

    Quality code CAN happen... but first things must change...

    Right now the environment in the business world today prevents truly bug-free programming. A lot needs to change:

    1 - Fire all the programmers and developers that can't program. We all know which ones in the group fit into this category. Unfortunately our bosses don't know. They're the ones that cause the majority of the bugs. They came into the industry just for money (pre-2000 bust) and they have no real feel for programming yet they know how to email the boss. Keep the ones that are naturals. The real code warriors. The good ones know when to code new source, when to copy old source, and how to clean up old source when they copy it into their new modules.

    2 - Get rid of the bosses that don't know tech people. (i.e. the ones that don't know the difference from #1 above) The boss doesn't need to know tech (it does help) but they do need to know their people. They also need to know how to keep office politics and beauracracy away from their people.

    3 - Get rid of separate New Development and Maintenance groups. People will code better when they know they will have to fix their own code when it goes into production. They will care more about stability instead of features. Also, a programmer learns the difference between good and bad coding techniques when they are forced to maintain both. When you are maintaining programs you learn how to right code that is easier to fix or modify later; if all you do is new development you will never learn this key concept.

    4 - After the requirements are requested and the specs/design is created don't let users change them. I can't change everything just because a user changes their mind. If I have to change, the release date is pushed back as if I just started the design today. I can't complete a program until you are done knowing what you want it to do.

    5 - Procedural vs. Object Orientated programming. The huge developement debate. I admit I am biased toward Procedural programming. However, you should use whatever works better for your project. A GUI works better when you design using OOP, but when you need to crunch numbers on 10 million records procedural will work a lot better. I know a lot has been said about the poor code quality of OOP in particular, but if you get rid of the idiots in #1, the logic should be easy to follow.

    6 - KISS - Keep It Simple Stupid - I used to work with someone very intelligent, but his code was terrible. He would program elaborate functions just to add two numbers together. My honest belief is that he tried to impress us with his "coding ability." If someone needs a simple program give them a simple program, don't redesign the wheel.

    7 - Shoot and KILL everyone that sponsors or participates in a unreadable source code competition. (sorry personal peeve) We need to promote legible code with indenting and good, clear, and relevant variable naming.

    8 - Quality. CMM, ISO, TQI. These are nothing more than BULLSH!T. While there some occasional insights coming from these "Quality" initiatives I disagree with most of the methods. Unfortunately, most of this initiatives are nothing more than feelgood bs for clueless management. Commenting and documenting your code is a good thing. However, these "quality" processes can also cause over-documentation. If you spend more time documenting your code than it will take to rewrite your system, you have documented too much. No one will sit through reading 50 hours of documentation to fix a small bug. When your documentaion helps explains why your code is doing obscure things to save the time of the person after you (or even remind yourself months later) you have the proper level of documentation/comments. I honestly believe that some of these initiatives create tons of documents so consulting/contracting companies can increase billable hours.

    9 - Admins and Tech Writers. Hire all the good ones back. The improve our ability to code by letting us

    --
    Looking for a job?
    Want your resume written professionally?
    DON'T USE TUNAREZ!!!
    1. Re:Quality code CAN happen... by Minna+Kirai · · Score: 1

      Quality code CAN happen... but first things must change...

      Good, you left space number #0 free for the most important reason:

      0 - Customers must stop happily paying for bad code.

      Until there are marketplace penalties for a vendor repeatedly selling unstable and insecure software, they'll keep doing it.

      And, the fastest way to create those penalties would be reduce the police budget dedicated to "cybersecurity", which is in truth a government subsidy for bad software vendors. Why should Bill Gates have to protect Windows Vista from hackers, when the FBI will do that job for him?

  89. nothing directly by wiredog · · Score: 1

    However, if $Corporation knows it could be taken to court, and its insurance rates would then rise, it would be motivated to, at least, have proper testing.

    1. Re:nothing directly by geomon · · Score: 1

      However, if $Corporation knows it could be taken to court, and its insurance rates would then rise, it would be motivated to, at least, have proper testing.

      It would also be irresponsible for the $Corporation to just eat the cost of this insurance but would instead have to raise the price of its products. It would also be prudent for the $Corporation to be risk averse and not change the code too often leading to feature stagnation.

      The only winners in this situation are the insurance companies and chest puffing politicians who can claim they "did something" about bad code.

      --
      "Rocky Rococo, at your cervix!"
  90. It's always easier to as for forgiveness... by EWIPlayer · · Score: 1

    Let's not forget the old saying... "It's always easier to ask for forgiveness than to ask for permission."

    I think vendors just need to make things reasonably secure. :)

    --
    This sig used to be really funny...
  91. Re:Languages with buffer overflows need to be avoi by Anonymous Coward · · Score: 0
    I disagree.. Most buffer overflows are caused by the habitual improper use of functions like gets(). Many examples like Ivor Hortons Beginning C Programming are out there and are still widely used, not to put down poor old Ivor he does warn you about overflows. It is just that a more modern C text is needed, which stresses the importance of how to use pointers and arrays.

    Most coders will fall back on dirty C routine to get the job done, when coding in a more secure routine in a higher language is just too time consuming. Of course the habit of ignoring compiler warnings is one of the biggest issues. Unfortunately if all else fails a quick and dirty C routine sometimes is the only answer.

    What we really need is a way to create a sandbox for subs that can run them and accurately and quickly report the buffer status stepping through the code. Most compilers and debuggers are very weak at this function, though the gdb is getting much better. In business the Visual C++6 is still the one most widely used, and abused, the end result is tonnes of insecure MS exes that can be hacked on the net. Alot of it still coming from Microsoft and their unlimited supply of cheap and crappy hardware vendors!

  92. Not Devs to blame but C & C++ advocates by stmr · · Score: 1

    Why do people still write in those grotesque languages?!?!?!

    They're not faster. Not better written. They have huge learning curve.

    Both make COBOL look cool.

    1. Re:Not Devs to blame but C & C++ advocates by Anonymous Coward · · Score: 0

      Why do people still write in those grotesque languages?!?!?!

      Uhh, cuz otherwise, you wouldn't have an operating system or a web browser or a Java VM or a CLR?

      Besides speed, there is compactness/efficiency (just as much memory as it takes), and sometimes you need to manipulate memory and pointers directly.

      They're not faster.

      If only that were true! But I write stuff in C or C++ to call from Python when I need speed. Modern languages spank C/C++ for utility programming and GUI stuff (see wxPython). But for *certain types* of heavy lifting, there is no substitute.

      What would be interesting is replacing C code with e.g. C# for things like image libraries, thus getting rid of certain types of overflows (remember the JPG and PNG problems?).

  93. Liability. Legal Persons and Insurance Failure by Baldrson · · Score: 1
    If you're going to make individual programmers liable then you should also make corporations liable because corporations are legal persons as well. Legal persons are called "legal" precisely because they can be sued. Indeed the whole purporse of the creation of the corporation originally was to have a place where liability for engineering projects could be absorbed from individual investors. So I agree and disagree with both Schmidt and Wired' magazine's Bruce Schneier, the former focusing on persons and the latter focusing on corporations.

    But the real source of the problem here isn't with the programmers or vendors of software. The real problem is the protected nature of the insurance industry. The insurance industry is structured to prevent competition from technically savvy upstarts that would be capable of underwriting warranties. Consumers aren't averse to signing end user license agreements with strong warranties. Nor are vendors averse to consulting contracts where the consultant's code quality is underwritten and guaranteed. The problem is basically the way capital is concentrated by the laws of the society. Those laws determine what kind of people have decision-making authority. Right now those laws are biased toward subsidizing wealth concentration which means we're systematically taking wealth out of the hands of the technically savvy and giving it to those who are wealthy.

    The result is all manner of market failures impacting the high tech industry, including a failure of insurance underwriting for software.

  94. Stupid and idiotic by groomed · · Score: 1

    Proposals like these are stupid and idiotic because half the time it simply ISN'T CLEAR what a piece of software should be doing. We simply don't have formally rigorous and perfect descriptions to meet real-world demands, and for the most part we CAN'T have them. If we had, we could use those instead of writing computer programs. For the time being, however, computer programs are the best descriptions we have.

  95. Balance by crashcodesdotcom · · Score: 1

    Assume people that can't play, can't play due to bugs.
    Which is better?
    A game that 9,998 people can play today, but two people couldn't.
    A game that 9,999 people can play a year from now, but one person cannot.
    A game that no one will ever play.

    How bout with an OS...
    An OS that 99.98% of the features are usable by 99.98% of the users today.
    An OS that 99.99% of the features are usable by 99.99% of the users in a year.
    An OS that 100.00% of the features are usable by 100.00% of the users in ... never.

    It really is the same balance question for security as well.

    Who is going spend a million dollars on a nearly flawless security system for their home's Welcome mat that they have on the front porch?

    IMO, a good software company would take both options one and two then continue the trend as they approach option three as long as revenues permit.

    Let the buyer decided if the current level of reliability is good enough for them. Maybe its not, they can take their business elsewhere, not buy it, or if absolutely necessary build it themselves.

    I would push for the Vendor to have a reasonable return policy. How bout 30-90 days?
    At the end of the day, are you threating to not buy the vendor's software or are you threating to continue to complain about the vendor's software?

  96. SOMETHING needs to be done by Anonymous Coward · · Score: 0

    From the high-modded posts above:

    When programmers become liable for the mistakes (read: human nature)
    To construct large, complex software systems without bugs (including security flaws) is beyond the state of the art
    It's impossible to write any complex application and not have security problems.

    With that kind of idiotic thinking, do you think programmers today are even trying? What's the matter guys, no confidence in your abilities as a programmer?

    I would *love* to see some more responsibility from vendors. The state of security today is *completely inexcusable*. Yes, perfection is difficult, but most of the stuff I have on my computer isn't even *adequate* let alone perfect. I seriously believe programmers today don't even bother, because of the attitudes represented above.

    How about this: let's hold vendors (or whoever "signs off" on a piece of software) responsible for all *undisclosed* security flaws. That way we don't have to expect perfection, but we should expect at least a basic audit before the product is delivered.

    I don't know what the solution is, but we are headed on a collision course. Phones, PDAs, computers, ATMs, home entertainment, homeland security, banks, medical records, all this stuff is built on a foundation of crappy, insecure software, and the best the programmers can say is "it's impossible" to make it secure. Great.

  97. and what about?.. by Anonymous Coward · · Score: 0

    ...libraries or open source (like MySQL) that my application uses?

  98. HOW ABOUT by Zebra_X · · Score: 1

    we sue the inventors and implementors of the programming languages that are used to write insecure software!

    or better yet, we could sue the hardware manufactures for allowing their hardware to run insecure software!

  99. Can't blame developers by Pedrito · · Score: 1

    In my post from the last article, I already stated the many reasons why blaming the developer is simply ridiculous.

    But the fact that software, in general, has so many flaws is a simple matter of economics. As I said, in a different way, in my last post, people are willing to pay the current price for software with the types of flaws they have now. People simply wouldn't be willing to pay what software WOULD cost if it had few or no flaws.

    Left to its own devices, an economy can generally regulate such things on its own. When you start trying to legislate this kind of stuff, it generally screws with the economy and everyone loses.

    The simple question for a business to ask is, "Are we better off with the flawed software we have or would we be better off without any software?" That's really what it comes down to, because again, the economics of it would take make the cost of software beyond reach for most businesses, if it were flawless or close to it.

    With time, all of this stuff will impove. I suspect at some point (quite a bit in the future), software will become self-correcting or programming languages will arrive at a point where code can be mathematically prove to be correct or not (though I suspect the latter will be more difficult). Regardless, I suspect that over the years, code quality will improve, not because developers will improve, but the underlying technologies will improve in finding and correcting code problems.

    After all, we developers are merely human and what we're often asked to do is stretch our abilities and the technologies to their limits. We'd lose our jobs if we refused, so how could we possibly be held responsible?

  100. It'd actually be GREAT for developers... by Kazoo+the+Clown · · Score: 1

    It's a ridiculous idea, but if it were to happen, it has the following implications:

    - Cost of software would have to go WAY up. Time to produce would increase significantly as well. Developers would take longer to produce software so more developers were needed or less software would be produced. MORE DEVELOPER JOBS. Better job security.

    - Increase in cost of software would cause more in-house development in order to save money, where there is no external liability as the software is not sold in the independent marketplace, only used internally. Thus, the security constraints would be less as a company isn't going to sue itself for the insecure software it chose to use. More in-house development projects. MORE DEVELOPER JOBS. Better job security.

    1. Re:It'd actually be GREAT for developers... by joemontoya · · Score: 1
      Also software developers would need to be licensed and pass a standardized test like those given by other professional societies that self-regulate and self-license; perhaps even spend time apprenticed before becoming journeymen.

      This could be used to make it illegal to buy certain types of software from sources outside the country. Foreign developers would have to be licensed by the American Association of Software Engineers or whatever it would be called, of course they would have to take the licensing tests in person and reside in the country before being allowed to practise.

      Open Source Software would need to be reviewed in depth, audited and approved by the licensing society before it could be used business or technical projects, but I don't think it would kill off OSS.

      There would have to be a lot more software developers, they would need to be paid a lot more and they would need to have more control over the product.

  101. Hey, don't do THAT !! (#7) by hummassa · · Score: 1

    People that participate in obfuscated source competitions are the ones that most likely:
        #1 - can read and understand other people's source code, no matter how obfuscated it seems to be; and
        #2 - give the proper value to clear and consistent code, naming and indentation, because they know how hard can be to read improperly-written code.

    --
    It's better to be the foot on the boot than the face on the pavement. ~~ tkx Kadin2048
  102. Not an Engineer? Become one! by Beardo+the+Bearded · · Score: 1

    If you want to be an Engineer, talk to the governing body. Tell them that software that works and works well is Engineering, and that you think that some responsibility and accountability would be great for your profession. Bring up how much more money they could bring in from the extra 1000 or so Software Programmers who could be Engineers.

    In Canada, you can be a Software Engineer - you get the ring, the B.Eng, EIT restrictions, and P.Eng potential. You're an Engineer in the real sense of the word, not some mail-order alphabet soup "engineering" certificate from nortel or microsoft. (I'm an EE, but some of my friends are SE.)

    --

    ---
    ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
  103. Place the blame where it really belongs by Peeptophe · · Score: 0

    The blame is on the "developers" in this case: http://developers.slashdot.org/article.pl?sid=05/1 0/21/1240258&from=rss

    --
    * Si hoc legere scis numium eruditionis habes *
  104. Sure.. Just as long as by Elshar · · Score: 1


    1) Just as long as legistlators are held responsible for loopholes in the law. "It's not illegal to steal candy from a baby? Who'da thought?"

    2) Security consultants are held responsible for when their 'advice' is totally wrong.

    I'm sure I can think of a few more. As long as we're spreading the blame around, lets spread it around 'bout everything equally. :)

  105. Re:Languages with buffer overflows need to be avoi by applecrumble · · Score: 1

    A type-safe C program can contain buffer overflows. A type-safe Java, ML, OCaml, Haskell, Python, Cyclone etc. program cannot. Buffer overflows constitute 90% of the security problems found in todays software. Blaming the programmer for buffer overflows doesn't make sense, especially when expert users have these bugs in their code. You shouldn't be writing secure programs in a programming language that is fundamentally insecure.

    All you need is one exploitable buffer overflow bug in an internet based program on your computer and your computer could get hacked, get a virus, get spyware etc. Expecting every programmer in the world to be good enough to not create buffer overflow bugs is not a realistic or scalable approach to this security problem.

  106. The real Bruce Schneier article is in Wired. by Futurepower(R) · · Score: 1

    This is the real article by Bruce Schneier: Sue Companies, Not Coders

    An excerpt at Bruce Schneier's web site is titled Liabilities and Software Vulnerabilities. (Scroll down to see it.)

    Bruce Schneier is a very smart guy. This statement from his web log is foolish, and not typical: "Somewhere in the middle there is a reasonable amount of liablity, and that's what I want the courts to figure out."

    If Bruce Schneier doesn't have a detailed plan, that shows how difficult it is to resolve the matter. "The courts" have very little knowledge or willingness to think carefully about this. In the U.S., court judges are often backed by those who want a weak judicial system, and other people, like U.S. President George W. Bush, who are corrupt and incompetent. For a list of books discussing the corruption, see: Unprecedented Corruption: A guide to conflict of interest in the U.S. government.

  107. Missing option by sootman · · Score: 1

    Insecure Code - Vendors or Developers To Blame?

    Obvious answer: blame the users!

    --
    Dear Slashdot: next time you want to mess with the site, add a rich-text editor for comments.
  108. Accountability: The Coder vs. The Company by v3xt0r · · Score: 0

    I have worked with variety of programmers, some VERY good, and some VERY bad.

    The cases where the good programmers wrote insecure code, was generally due to poor project management, eager sales practices, or just plain bad IT management.

    The cases where the bad programmers were even touching code, was due to a poor HR screening policy and hiring process.

    All in all, the company should be held accountable, not the individual who wrote the code.

    The company is by all means responsible for the staff they hire, as well as the manor in which they conduct business.

    If the company hires a bad programmer, then it is their fault for hiring underskilled staff in the 1st place.

    If the company has over-eager sales practices, poor project management, or an inaddequite QA process, then again, the company is to blame, not the individual who wrote the code.

    --
    the only permanence in existence, is the impermanence of existence.
  109. Why not look at similar cases by sxmjmae · · Score: 1

    If you work for the IRS and you make a mistake on an Audit. Are you as an IRS agent responsible for making up the money in the mistake or do you get to take home the extra money (depending on which way the error was made)?
    If you want this type of policy for one type of employee you must make sure it applies to all others.

    I am pretty sure your employer is 100% responsible for the employee's actions while they are working. Mind you the Employer has the right to fire the employee.

    Just like a friend of mine who was traveling in a company car for work and hit a deer. The employer wanted him to pay 100% of the cost to fix the nearly totaled car. After a bit he refused to pay - which was with in his legal right his lawyers told him. Shortly after his was fired. Which the company was legally allowed to do. Sadly in the province in which he worked there is relatively no protection from wrong full dismissal and it is virtually impossible to prove.

    If you try to make programer legally responsible (like doctors) you need to increase the wages so they can afford insurance (like doctors). I am sure companies would love to pay programmers $300,000 - $500,000+ a year.

    --
    My Sig indicates the end of the comment I posted.
  110. No, it is NOT your fault. by Beardo+the+Bearded · · Score: 1

    Bugs in the code are not repeat NOT the fault of the guy (or girl) who put them there in the first place.

    The fault lies with the company that didn't test the software correctly. You can't test your own code to failure. If you think you can, then you're either wrong or sloppy. By definition, you can't think of something you haven't thought of. You will find bugs in my code and I will find bugs in yours. That is because we think differently. If you didn't account for possibilities that you could think of, then you're being sloppy.

    You have to have someone else test your code to FAIL. Anything less is going to have bugs and leaks. You can not get around this.

    As for the proposal, you get what you pay for. If you want a bug-free operating system and software, then pay the extra cash for a military-grade version. Otherwise, pay the $200 (or $0) and live with the crashes. Don't buy the cheapest power supply you can get your hands on and pair it with the cheapest hard drive money can buy.

    --

    ---
    ECHELON is a government program to find words like bomb, jihad, plutonium, assassinate, and anarchy.
  111. Schmidt-Microsoft-Liability by Infonaut · · Score: 1
    First, Schmidt used to be the Chief Security Officer at Microsoft.

    Second, companies usually have liablility for the actions of their employees under respondeat superior.

    Third, the proposal is a bad idea. Companies gain tremendous benefits from their employees. Making employees individually liable for their mistakes while profiting from their efforts is obviously imbalanced.

    --
    Read the EFF's Fair Use FAQ
  112. Languages may be to blame by Anonymous Coward · · Score: 0
    Tony Hoare on ADA (from his 1980 Turing award lecture):
    Do not allow this language in its present state to be used in applications where reliability is critical, i.e., nuclear power stations, cruise missiles, early warning systems, anti-ballistic missile defense systems. The next rocket to go astray as a result of a programming language error may not be an exploratory space rocket on a harmless trip to Venus: It may be a nuclear warhead exploding over one of our own cities. An unreliable programming language generating unreliable programs constitutes a far greater risk to our environment and to our society than unsafe cars, toxic pesticides, or accidents at nuclear power stations.
    Unfortunately, the reliability of ADA programs (in general) remains unmatched, and the U.S. military uses it extensively to implement mission critical software (missile guidance systems incl.).

    The mistakes programmers were making 40 years ago are being repeated today on an even grander scale.

  113. Third Party Certification by Jeff+Molby · · Score: 1

    This liability approach is all wrong. All we need is an unbiased standard of security. If you want to tout your product as "secure", it has to pass some sort of audit. This wouldn't be trivial to implement, but it would be highly effective if done right.

    There is a place in the market for inexpensive software, so you shouldn't try to legislate it out of existence. Any legislation should have more of a "Truth in Advertising" approach.

  114. Firestone Tires by PhatboySlim · · Score: 1

    Did any engineers at Firestone get prison time for causing hundreds of deaths? Is a security leak of information going to cause someone to spontaneously combust in a large ball of fire? How could software developers be expected to be more responsible than engineers or scientists or accountants or janitors?

    --
    Be sure to remember the Programmers Prayer
  115. Sue Carpenters by SirLanse · · Score: 1

    Can I sue the carpenters that built my house, since some thieves broke in? They should have reasonbly forseen the use of a crowbar on the front door. I mean houses have been built for a lot longer than software. Why can't someone build me a house that is impossible to break into? Some of you call yourselves "Professional Engineers", and you can't solve this problem.

  116. Errors by totallygeek · · Score: 1

    I can't be held accountable, I never make misteaks.

  117. Re:Languages with buffer overflows need to be avoi by Nevyn · · Score: 1
    A good start to our current security problem would be to stop writing internet based software in languages that allow buffer overflows to occur (e.g. C, C++). [...] Writing computer programs in these types of languages and patching the errors as they are found is simply not a scalable solution. It essentially means that if you write a program to be used on a network, you have to maintain and patch it forever because you'll never catch all the buffer overflows it contains

    This is a huge over reaction, although tends to be happening anyway ... for other reasons (mainly because it's cheaper). I'll repeat what I've said before writing with a real string type in C, is not hard ... and provides all the same benifits. The problem is convincing people that it can be fast enough (and even now, speed outweighs security for most customers).

    Of course I'm also backing up my retoric with a $500 security guarantee, on my webserver that's written using only a real string type ... in C. Also AFAIK the only software in the OSS community that have offered such guarantees have all been written in C (and all with real string types).

    90% of security exploits are caused by buffer overflows. I've seen a figure like this in research papers, but it should be obvious to anyone from reading patch descriptions and current security alters

    This may have been true but is now false, and has been for years. Even if you take into account integer overflows etc. that can be mitigated by real string types, it maxes out around 60%. I do have some stats. I did myself, from 2003 ... and I've seen other more recent ones which say the same thing (I don't own them though, and I'm not sure they are public).

    --
    ustr: Managed string API with ave. 44% overhead over strdup(), for 0-20B
  118. Darwinian survival of the least secure by istartedi · · Score: 1

    The software projects that make it to market are the ones that win. Asking why software isn't more secure is like asking why peacocks have bright feathers--plainly a liability when running from predators or fighting, but they get the attention of the peahens. And the software peahens just don't care enough about security. Whoever gets to market fastest, and with the prettiest colors, wins.

    --
    For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
  119. Simple solution by Anonymous Coward · · Score: 0

    One path for input, one for output. Buffer overflows are easily avoidable with a little discipline or an i/o library that does filtering/truncating for you.

    Instead of char[100] you have cBuf buffer; with associated read/write methods. Or even use std::String and append as needed.

    Anyway looking at LWN security alerts, there are more temporary file vulnerabilities these days than buffer overflows (and out of 59 or so listings, 7 were overflows, if I counted correctly, which is a bit less than "90%"). Race condition DDOSes are there for sophisticated software (e.g. the kernel). Cross-site scripting is another one. Basically, straight buffer overflows are one of the easiest to eliminate but there are many problems that remain which can be quite tricky (race conditions are one; XSS) and occur with a variety of languages.

  120. It will never never happen by Dan_Bercell · · Score: 1

    because its impossible to write 100% secure code. Even if it was possible to write an app that was 100% sure today, but whose to say 1-2 years from now a more advanced technology arives and makes it possible to 'unsecure' that once secure code.

  121. A related question... by McDoobie · · Score: 1

    Supposing I ran a small company that develops and sells(i.e. 'vends') software.

    Would you be willing to buy my software, as opposed to a competitors, if said software had a few less features but I could garauntee that said software would work correctly all the time, and my competitor could not?

    What if that garauntee carried a money back promise with it?

    Just curious. I've been considering developing low cost end user applications with an eye towards quality as opposed to a major featureset.

  122. Re:Languages with buffer overflows need to be avoi by GWBasic · · Score: 1
    90% of security exploits are caused by buffer overflows

    Not anymore. Many security holes on websites are due to SQL injection, where a user is able to type bits of SQL directly into a form. In addition, some web sites give too much information when an error occurs, thus giving a hacker a clue as to the database's schema.

  123. Re:Languages with buffer overflows need to be avoi by applecrumble · · Score: 1

    " I'll repeat what I've said before writing with a real string type in C, is not hard ... and provides all the same benifits. The problem is convincing people that it can be fast enough (and even now, speed outweighs security for most customers)."

    A C program which meets the C language specification can contain buffer overflows so it simply does not have the same benefits as languages that do not allow buffer overflows. It doesn't matter if you can spend a lot of time writing a very secure C string type; you can easily create exploitable, difficult to find buffer overflows in the rest of the C code you write. It is insane that not using a buffer properly can allow a third party to take control of your computer. Why is using a language that lets this happen acceptable for writing secure programs?

  124. Re:Errors and Omissions Insurance (GPL V3) by Coryoth · · Score: 1

    I wonder if they can get around it by claiming the code as the documentation as to what the program does. That way if it does something wrong it is perfectly documented that that is what it is suppose to do.

    And this is exactly why specification is actually important. Unless you have a specification (preferrably a formal one) on what the intended behaviour is, then it is impossible to have incorrect behaviour: by definition anything the software does is the correct thing for the software to do.

    It's also worth noting that your specification doesn't need to cover all possible behaviours for the software, it might be as simple as saying "in the particular case of X, then Y will occur", for which you can then provide formal verification.

    Software doesn't need to behave perfectly, but it would be nice if software came with formal assurances that, while not everything will necessarily work perfectly, X, Y and Z are guaranteed.

    Jedidiah.

  125. Sloppy Code or Sloppy Language by queenb**ch · · Score: 1

    What happens when a coder uses a pre-defined function in a language that turns out later to have say a buffer overflow? Is the software coder responsible for it, since he used? Is the language coder that wrote the language responsbile for it?

    As an additional question - why not apply the standard legal definition of "negligence"? The test for negligence is 1) was this a forseeable consequence of a given action? and 2) what would a prudent man do?

    Thirdly, we have this nifty piece of legistation already in place called the Uniform Commercial Code, which stipulates that a product must be fit for the purpose for which it is intended. All that needs to happen is that the EULA's need to be disregarded and the UCC enforced against software makers. It's completely ridiculous that we have software that can completely wreck your computer/server/network being sold to people who are completely unaccountable for their actions. Once they cash your check, they have no incentive to fix anything.

    2 cents,

    Queen B

    --
    HDGary secures my bank :/
    1. Re:Sloppy Code or Sloppy Language by cagle_.25 · · Score: 1

      Or, one more: you write a function which is an acceptable and secure, but undocumented, workaround in Win2K. Then it breaks in WinXP, but not obviously, so your company decides to package the app for WinXP. Then it breaks. What now?

      --
      Human being (n.): A genetically human, genetically distinct, functioning organism.
    2. Re:Sloppy Code or Sloppy Language by Decker-Mage · · Score: 1
      The reason that you can get buffer overflows in the first place has nothing to do with the library routine, save that the problem manifests itself inside its code section, it has everything to do with poor software engineering practices. I've been writing secure code under far more stringent conditions than you'll ever see [screw up and you're in Leavenworth!] and I've never had a buffer overflow. Why? Simply put I as judicious in my selection of library routines and I make damn certain every input into as well as the outputs from any call are correct. Hell, I have never had to place exceptions inside my software for the simple reason that they (the conditions that would generate one) can't occur, period. The software would reject the input long before you would need exception code. Ditto anything to/from the operating system. Think big state machines and you get the idea, but here everything has to be mathematically verifiable for correctness, and despite what many software developers assert, such code can be written if you are good enough.

      If anything the greatest time waster I had while engineering software was creating specific workarounds for operating system and compiler bugs, documenting the hell out of them both in the code and in the documentation, and making sure that everyone knew that they were in there for the day the application (suite) was ported/installed in a different setup.

      --
      "[I]t is a wise man who admits the limits of his knowledge or skill, and that pretending either causes harm." --Terry Go
  126. Re:Every version of the GPL already has this claus by diakka · · Score: 1

    Yes, I'm aware of this clause, and I think most software, even proprietary software has a clause like this in the EULA. What I'm talking about is giving it teeth. The anti-patent clause I believe they are proposing for GPL 3, if I understand it correctly, says that if you sue the copyright owner for patent infringement by GPLv3 software, you then lose your right to use all GPLv3 software. Essentially the current clause says, "You can't hit me under any circumstances." Maybe what we should be saying is, "You can't hit me under any circumstances, and if you do, me and all my buddies are gonna hit you back."

    --
    -- Knowledge shared is power lost. -- Aleister Crowley
  127. WTF!?!?!!! by Cyno · · Score: 1

    The end users agree to a EULA, that's an End User License Agreement, which states very clearly that the vendors and developers are NOT liable for any damages caused by the software.

    If the end users cannot accept responsibility for their own security then they should be held accountable or not allowed to purchase it.

    If you hold developers accountable nobody will develope software, or the average developer salery will increase to include the insurance they would need to protect themselves. All software has bugs, bugs can be security vulnerabilities, so can poor design and loopholes, etc, etc, etc. So the price of the software will increase drasticly to pay the developers.

    If you hold vendors accountable the price of the software will increase drasticly to include the cost of the addtional software they would need to automatically update and/or disable any exploitable software. So yeah, if you'd rather pay more for the product than patch your OS, go right ahead and require vendors to manage your personal security for you. No matter what happens here it won't affect F/OSS, as there is no known vulnerabilities in source code and anyone who compiles it is accepting responsibility for any damages, etc.

    This whole debate is just retarded. And so is anyone who agrees with either side of it.

    How about demand more quality from your vendors or put your money where your mouth is and switch vendors, if you're not a spinless prick who expects everyone else to take care of this hard computer stuff for you cuz you're too important to be bothered with clicking "Windows Update" once a month. I hate the technical illiterate. They shouldn't be allowed to touch a PC. They create more real-world problems for those of us with a clue than they will ever be capable of solving.

  128. Re:Every version of the GPL already has this claus by FLEB · · Score: 1

    I did a bit of a perfunctory search, and from what I see, it will apply to the particular GPL3'd piece of software that the patent suit is being applied to. Otherwise, I would think that this could give third-party developers an open license to violate patents of any company with risk sunk into GPLed code.

    --
    Information wants to be free.
    Entertainment wants to be paid.
    You just want to be cheap.
  129. At least someone's smart... by Anonymous Coward · · Score: 0

    Notice "the *former* White House cybersecurity adviser"....

  130. Net result of this getting passed by I+Like+Pudding · · Score: 1

    Development costs skyrocket; everyone moves their company to India. The current slapshod kick-it-out-the-door environment exists because it's an economic optimum. If people need bullet-proof software, they can grab a consultant, add contract stipulations, and pay out the nose for it.

    And God forbid you write something general purpose like an OS. People always use the engineer building a bridge analogy. The problem with that is that the bridge is built for the span that it crosses. You cannot buy shrinkwrap bridges and arbitrarily place them between things. That would be silly.

    Holding software devs to the same level of accountability as doctors and civil engineers, a level where the failure coditions result death and dismemberment, is just ignorant. How would you even begin to deal with library stuff like the zlib double-free? Can I sue a doctor for misdiagnosing me because a prevailing medical opinion at the time was wrong? Blargh.

  131. Re:Languages with buffer overflows need to be avoi by Anonymous Coward · · Score: 0
    we need to be able to sandbox all the applications [...] so they just aren't allowed to do anything [they shouldn't do]
    Enter GNU Hurd. That's the whole idea behind a capabilities model. (which is much better than just "users"). If they could only fill in the rest of the features and have a stable release ...
  132. Strange response to the problem... by Anonymous Coward · · Score: 0

    ...vendors are to blame for 'lousy software'. From the article: 'They try to balance the costs of more-secure software--extra developers, fewer features, longer time to market--against the costs of insecure software: expense to patch, occasional bad press, potential loss of sales. The end result is that insecure software is common...'

    So, because of this... Last week Howard Schmidt, the former White House cybersecurity adviser, argued at a seminar in London that programmers should be held responsible for flaws in code they write.

    Unless and until the programmers are responsible for technical decisions instead of marketing 'droids and bean counters then holding programmers responsible will do nothing!

    No, the correct response to this problem is to make the companies who rush such POS software to market (for every other reason EXCEPT technical) responsible. Car manufacturers are held responsible for faulty car designs that lead to dangerous cars, not the designers they hire to design them.

  133. More than a political appointee by Beryllium+Sphere(tm) · · Score: 1

    Howard Schmidt used to be chief security officer at Microsoft. Draw your own conclusions about what that means for his credibility, but he's certainly no Harriet Miers.

    1. Re:More than a political appointee by colinrichardday · · Score: 1

      Chief Security Officer at Microsoft? Isn't that like being Chief Ethics Officer at Enron?

    2. Re:More than a political appointee by Anonymous Coward · · Score: 0

      Huh? The former (based on past performance) obviously unqualified for his job, the latter unqualified for the job she's going for just based on her CV. Hrm, maybe we should take a hint from this huh?

  134. Re:Languages with buffer overflows need to be avoi by Anonymous Coward · · Score: 0

    Obviously you are one of those people that I kindly refer to as sh!theads.
    Why? Well, to be perfectly blunt because as clueless as you seem to be about
    the origins of computer language and the most used languages history, you
    sound off as a result of subscribing to some artifact of information that
    disseminates crapulence as sound science, much like intelligent design
    punditry.

    All languages have components that are subject to sublimation and exploitation by
    discerning individuals. Look at english speaking humans and the derivative varieties
    of intercourse that are described as brands of interaction and consequent result
    by critics. Politics, religion,etc..are all brands of language communicated vulnerability
    when viewed in a social sense.
    Fortunately the corporate personality has attached itself to property, motive and right.
    Let those who profit pay for the decisions they make. The workers will make their wage and
    their masters will pay their keep. Their keep is determined by those who direct, these selfsame
    managers and directors that would move stupidity,motive and blame to an individual rather than
    to those who are paid to make sure that these situations don't exist for an end user.

  135. Re:Languages with buffer overflows need to be avoi by Ayende+Rahien · · Score: 1

    The majority of security problems by overflows? Not by far.
    SQL Injections, not closing sessions on time, cross site scripting, etc.
    Those are the problems that you've to face most often.

    --

    --
    Two witches watched two watches.
    Which witch watched which watch?
  136. Careful. by ericbg05 · · Score: 1
    Schneier is smart, and he might be right most of the time. Heck, he might even be right *this* time.

    But arguing a point by merely appealing to an authority is still a fallacy.

    Also wrapped up in your argument is an ad hominem attack on said "hack".

    Schmidt's status as a hack does not affect the truth or falsity of his arguments about whom should be considered responsible for security flaws in software.

    Now reread the last sentence, replacing "Schmidt" with "Schneier" and "hack" with "security expert".

  137. Re:Languages with buffer overflows need to be avoi by Anonymous Coward · · Score: 0

    A C program which meets the C language specification can contain buffer overflows so it simply does not have the same benefits as languages that do not allow buffer overflows.

    Every non-trivial language allows buffer overflows. Prehaps you just don't know what "buffer overflow" actually means, and think the common example of stack return-pointer corruption actually encompasses all the possibilities.

    There are other kinds of buffer overflows besides call stack overwrites!

  138. Isn't it obvious? by kjots · · Score: 1

    The correct answer is "Both, you idiot".

    The person who wrote it is guity of writting bad code and the person who distributed it is guilty of distributing bad code. Doesn't matter if it's via incompetance or greed, the end result is the same: bad code.

    Of course, it's much easier to write bad code, any man and his dog can do it. And does. Fuckwits.

  139. Sure thing, where's my money? by clambake · · Score: 1

    Is programmers are held liable, then it stands to reason that programmers still own the rights to thier work... Which mean you can take the insurance payments out of my ROYALTIES on every copy of software that gets sold that I have contributed to.