Slashdot Mirror


Bug Bounties Don't Help If Bugs Never Run Out

Bennett Haselton writes: "I was an early advocate of companies offering cash prizes to researchers who found security holes in their products, so that the vulnerabilities can be fixed before the bad guys exploited them. I still believe that prize programs can make a product safer under certain conditions. But I had naively overlooked that under an alternate set of assumptions, you might find that not only do cash prizes not make the product any safer, but that nothing makes the product any safer — you might as well not bother fixing certain security holes at all, whether they were found through a prize program or not." Read on for the rest of Bennett's thoughts.

In 2007 I wrote:

It's virtually certain that if a company like Microsoft offered $1,000 for a new IE exploit, someone would find at least one and report it to them. So the question facing Microsoft when they choose whether to make that offer, is: Would they rather have the $1,000, or the exploit? What responsible company could possibly choose "the $1,000"? Especially considering that if they don't offer the prize, and as a result that particular exploit doesn't get found by a white-hat researcher, someone else will probably find it and sell it on the black market instead?

Well, I still believe that part's true. You can visualize it even more starkly this way: A stranger approaches a company like Microsoft holding two envelopes, one containing $1,000 cash, and the other containing an IE security vulnerability which hasn't yet been discovered in the wild, and asks Microsoft to pick one envelope. It would sound short-sighted and irresponsible for Microsoft to pick the envelope containing the cash — but when Microsoft declines to offer a $1,000 cash prize for vulnerabilities, it's exactly like choosing the envelope with the $1,000. You might argue that it's "not exactly the same" because Microsoft's hypothetical $1,000 prize program would be on offer for bugs which haven't been found yet, but I'd argue that's a distinction without a difference. If Microsoft did offer a $1,000 prize program, it's virtually certain that someone would come forward with a qualifying exploit (and if nobody did, then the program would be moot anyway) — so both scenarios simply describe a choice between $1,000 and finding a new security vulnerability.

But I would argue that there are certain assumptions under which it would make sense not to offer a cash prize program — and, in keeping with my claim that this is equivalent to the envelope-choice problem, under those assumptions it actually would make sense for Microsoft to turn down the envelope containing the vulnerability, and take the cash instead. (When I say it would "make sense", I mean both from a profit-motive standpoint, and for the purposes of protecting the security of their users' computers.)

On Monday night I saw a presentation put on by Seattle's Pacific Science Center "Science Cafe" program, in which Professor Tadayoshi Kohno described how he and his team were able to defeat the security protocols of a car's embedded computer system by finding and exploiting a buffer overflow. That's scary enough, but it was more interesting how his description of the task made it sound like a foregone conclusion that they would find one — you simply sink this many person-hours into the task of looking for a buffer overflow, and eventually you'll find one that can enable a complete takeover of the car. (He confirmed to me afterwards that in his estimation, once the manufacturer had fixed that vulnerability, he figured his same team could have found another one with the same amount of effort.)

More generally, I think it's reasonable to assume that for a given product, there is a certain threshold amount of money/effort/person-hours such that if you throw that much effort at finding a new security vulnerability, you will always find a new one. Suppose you call this the "infinite bug threshold." Obviously the amount of vulnerabilities is not really infinite — you can only do finitely many things to a product in a finite amount of time, after all — but suppose it's so close to infinite as to make no difference, because the manufacturer would never be able to fix all the vulnerabilities that could be found for that amount of effort. I'm sure that $10 million worth of effort, paid to the right people, will always find you a new security vulnerability in the Apache web server; the same is probably true for some dollar number much lower than that, and you could call that the "infinite bug threshold". On the other hand, by definition of that threshold, that means that the amount of vulnerabilities that can be found for any amount of money below that, will be finite and manageable.

(I'm hand-waving over some details here, such as the disputes over whether two different bugs are really considered "distinct," or the fact that once you've found one vulnerability, the cost of finding other closely related vulnerabilities in the same area of the product, often goes way down. But I don't think these complications negate the argument.)

Meanwhile, you have the black-market value of a given type of vulnerability in a given product. This may be the value that you could actually sell it for on the black market, or it may be the maximum amount of effort that a cyber-criminal would invest in finding a new vulnerability. If a cyber-criminal will only start looking for a particular type of vulnerability if they estimate they can find one for less than $50,000 worth of effort, then $50,000 is how much that type of vulnerability is worth to them.

Now consider the case where

infinite bug threshold > black-market value

This is the good case. It means that if the manufacturer offered a prize equal to the black-market value of an exploit, any rational security researcher who found a vulnerability, could sell it to the manufacturer rather than offering it on the black market (assuming they would find the manufacturer more reliable and pleasant to deal with than the Russian cyber-mafia). And we're below the infinite bug threshold, so by definition the manufacturer only has to pay out a finite and manageable number of those prizes, before all such vulnerabilities have been found and fixed. I've made a couple of optimistic assumptions here, such as that the manufacturer would be willing to pay prizes in the first place, and that they could correctly estimate what the black-market value of a bug would be. But at least there's hope.

On other hand, if

infinite bug threshold < black market value

everything gets much worse. This means that no matter how many vulnerabilities you find and fix, by the definition of the infinite bug threshold there will always be another vulnerability that a black-hat will find it worthwhile to discover and exploit.

And that's the pessimistic scenario where it doesn't really matter whether Microsoft chooses the envelope with the vulnerability or the envelope with the $1,000, if the infinite-bug-threshold happens to be below $1,000. (Let's hope it's not that low in practice! But the same analysis would apply to any higher number.) If the black-market-value of a bug is at least $1,000, so that's what the attacker is willing to spend to find one, and if that's above the infinite-bug-threshold, then you might as well not bother fixing any particular bug at that level, because the attacker can always just find another one. It doesn't even matter whether you have a prize program or not; the product is in a permanent state of unfixable vulnerability.

At that point, the only ways to flip the direction of the inequality, to reach the state where "infinite bug threshold > black-market value", would be to decrease the black market value of the vulnerability, or increase the infinite bug threshold for your product. To decrease the black market value, you could implement more severe punishments for cyber-criminals, which makes them less willing to commit risky crimes using a security exploit. Or you could implement greater checks and balances to prevent financial fraud, which decreases the incentives for exploits. But these are society-wide changes that would not be under the control of the software manufacturer. (I'm not sure if there's anything a software company could do by themselves to lower the black-market value of a vulnerability in their product, other than voluntarily decreasing their own market share so that there are fewer computers that can be compromised using their software! Can you think of any other way?)

Raising the infinite bug threshold for the product, on the other hand, may require re-writing the software from scratch, or at least the most vulnerable components, paying stricter attention to security-conscious programming standards. Professor Kohno said after his talk that he believed that if the programmers of the car's embedded systems had followed better security coding practices, such as the principle of least privilege, then his team would not have found vulnerabilities so easily.

I still believe that cash prizes have the potential to achieve security utopia, at least with regard to the particular programs the prizes are offered for — but only where the "infinite bug threshold > black-market value" inequality holds, and only if the company is willing to offer the prizes. If the software is written in a security-conscious manner such that the infinite bug threshold is likely to be higher than the black-market value, and the manufacturer offers a vulnerability prize at least equal to the black-market value, then virtually all vulnerabilities which can be found for less than that much effort, will be reported to the manufacturer and fixed. Once that nirvana has been achieved, for an attacker to find a new exploit, the attacker would have to be (1) irrational (spending an estimated $70,000 to find a vulnerability that is only worth $50,000), and (2) evil beyond merely profit motive (using the bug for $50,000 of ill-gotten gain, instead of simply turning it in to the manufacturer for the same amount of money!). That's not logically impossible, but we would expect it to be rare.

On the other hand, for programs and classes of vulnerabilities where "infinite bug threshold < black-market value", there is literally nothing that can be done to make them secure against an attacker who has time to find the next exploit. You can have multiple lines of defense, like installing anti-virus software on your PC in case a website uses a vulnerability in Internet Explorer to try and infect your computer with a virus. But Kaspersky doesn't make anything for cars.

235 comments

  1. Bennett Haselton by Laxori666 · · Score: 5, Insightful

    Bennett Bennett Bennett Bennett Bennett Bennett! I Bennett love Bennett Bennett! Nothing Bennett is Bennett more Bennett entertaining Bennett than Bennett reading Bennett what Bennett a Bennett person Bennett which Bennett I Bennett have Bennett no Bennett idea Bennett who Bennett they Bennett are Bennett has Bennett to Bennett say!

    1. Re:Bennett Haselton by kruach+aum · · Score: 1

      Oh my god, I've cracked the code

      https://www.youtube.com/watch?...

    2. Re:Bennett Haselton by gth740k · · Score: 0

      Hmm, not sure whether to mod Troll or Insightful... leaning toward insightful though.

    3. Re:Bennett Haselton by immaterial · · Score: 1

      I came in to make a similar complaint so my vote is for insightful. Although at only three sentences, the GP wasn't nearly long enough to be truly accurate.

    4. Re:Bennett Haselton by BitZtream · · Score: 1

      While I can block stupid editors, like timothy and kdawson, how can I block stupid OpEd posts from morons like Bennett?

      All he does is ramble on about shit he utterly fails to understand. I actually feel dumber for reading the first bit of this 'story'

      I don't want to see timothy write stupid shit about how he took a trip to CES nor do I want to see stupid shit from Haselton waxing on about things he's not in any way qualified to even discuss like he has an opinion.

      I naturally skip over the 'submitter' of articles, but I didn't even finish the first word of the first sentence before I know it was Haselton. He can't even fucking write properly. I'm certainly not the besets speelr or grammar king, but holy shit, you don't start with 'I' you arrogant fuck. We don't give a shit about what he thinks, he's an idiot.

      Go back to 6th grade and learn to write, you aren't a journalist, you aren't knowledgable at all on info sec, you're just someone who likes to hear yourself talk.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  2. Bennett Haselton post by kruach+aum · · Score: 5, Funny

    Why do words, suddenly appear
    Every time, Bennett's here?
    Just like me
    you long to be
    free from this

    1. Re:Bennett Haselton post by arth1 · · Score: 0, Redundant

      Why do words, suddenly appear
      Every time, Bennett's here?
      Just like me
      you long to be
      free from this

      I wish Bennett Haselton and apk would get their own room.

      There, they could engage each other in interesting discourse without bothering the rest of us.

      Let's call it.... Slashdot Beta!

  3. Like Cockroaches by tmjva · · Score: 1

    They're like the small kitchen cockroaches in suburbia. You never can get rid of them, so all you can do is mitigate periodically because over time they just repopulate from the outside in the wild (a.k.a. the neighbor's yard) which can be likened to "the cloud". (I use the RAID smoke, not the sticky spray.)

    --
    Tracy Johnson
    Old fashioned text games hosted below:
    http://empire.openmpe.com/
    BT
    1. Re:Like Cockroaches by Anonymous Coward · · Score: 3, Funny

      Or it's like pretty much anything bad. Just because you cannot eliminate it completely doesn't mean you give up fighting. Murder is bad, and no matter how many we arrest, there will always be more murderers. That doesn't mean we should eliminate the police.

      This "article" might actually be the dumbest thing Bennett Haselton has ever written, which puts it in legitimate contention for dumbest thing anyone has ever written.

    2. Re:Like Cockroaches by Anonymous Coward · · Score: 2, Funny

      They're like the small kitchen cockroaches in suburbia. You never can get rid of them, so all you can do is mitigate periodically

      I don't like Bennett Haselton's posts either, but isn't that a bit harsh?

    3. Re:Like Cockroaches by Anonymous Coward · · Score: 0

      which puts it in legitimate contention for dumbest thing anyone has ever written.

      So basically it puts it in contention with a few other articles the guy's written.

    4. Re:Like Cockroaches by Anonymous Coward · · Score: 0

      It's a corollary to Zeno's paradox of Achilles and the Hare...you can never fix all the bugs because in order to do so, you first have to fix all the bugs that have been reported and while you're doing that, more bugs will be found.

    5. Re:Like Cockroaches by Citizen+of+Earth · · Score: 1

      You cannot eliminate it when you create an endless suppy.

    6. Re:Like Cockroaches by BronsCon · · Score: 1

      Redundant Aerosol Incapacitation Devices?

      --
      APK quotes people (including myself) without context and should not be trusted. Just thought you should know.
    7. Re:Like Cockroaches by pmc · · Score: 1

      You're right - I can only offer my unreserved apologies to the cockroaches.

  4. Metaphor by Sarten-X · · Score: 1

    You can't ever win a race with no finish line. Even if you maintain a constantly-increasing lead, your opponent will still eventually cover the same ground you do, so why even bother running?

    --
    You do not have a moral or legal right to do absolutely anything you want.
    1. Re:Metaphor by Oo.et.oO · · Score: 1

      i understand that you think you are using a metaphor (even if it is in fact a simile)
      but either way it's false. in a race, you either finish or you don't. in software it's an on going process with (hopefully, but rarely) increasing quality and functionality.
      small battles can and are won.
      say you have 10,000,000,000 bugs in the system as a evidence.
      researchers find and patch 1,000,000,000
      is your system more or less likely to have an exploit found?

    2. Re:Metaphor by Oo.et.oO · · Score: 1

      wtf, slashdot? "evidence"? i said "an estimate"!

    3. Re:Metaphor by Anonymous Coward · · Score: 0

      You may win in a single race, but that's boring. Winning multiple races is more interesting. You can race on how many individual races you have won, which is what they do in many car and other sports. Then you can race on how many championships you have won. There's no end goal in that race.

    4. Re:Metaphor by lgw · · Score: 4, Insightful

      The notion that you can't have code without these flaws (buffer overruns, dangling pointers, etc) is just asinine. I've worked on significant codebases without any such flaws. You just have to adopt a programming style that doesn't rely on being mistake-free to avoid the issues.

      Want to end the danger of buffer overruns? Stop using types where it's even possible.

      Want to end the danger of dangling pointers? Managed code doesn't do anything to solve this problem, and is often the worst offender since coders often stop thinking about how memory is recycled, and well-formed objects can hang around in memory for quite some time waiting on the garbage man. So you have to write code where every time you use an object you check that it hasn't been freed, and importantly hasn't been freed and then re-used for the same object! (That happens on purpose in appliance code, where slab allocation is common.)

      Heck, for embedded code I simply wouldn't use dynamic allocation at all. All objects created at boot, nothing malloced, nothing freed. Everything fixed sized and only written to with macros that ensure no overruns. I wrote code that way for 5 years - we didn't even use a stack, which is just one more thing that can overflow. That style is too costly for most work, but it's possible, and for life-safety applications it's irresponsible to cheap out.

      --
      Socialism: a lie told by totalitarians and believed by fools.
    5. Re:Metaphor by Sarten-X · · Score: 1

      You're arguing that I can't refer to a "race with no finish line" because all races have finish lines?

      For that level of pedantry, I'd expect you to know that it really was a metaphor.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    6. Re:Metaphor by Oo.et.oO · · Score: 1

      i argued that it's a false equivalence because software quality is not based (entirely) on a single finish line.

    7. Re:Metaphor by rabtech · · Score: 1

      While you are technically correct, the reality is that the most serious security vulnerabilities are almost all directly related to buffer overruns (on read or write), allowing an attacker to read or write arbitrary memory. Everything else is a second-class citizen by comparison; denying service by causing Apache to repeatedly crash is far lower priority than compromising all traffic and stealing credentials.

      So when we look at that class of serious problems, we find that managed memory languages completely eliminate them.

      Relying on people to "just drive better" is an automatic failure. We design everything from signs/road markings to cars themselves around the idea that relying on humans to be perfect is pure idiocy, so we need to create affordances that lower cognitive load, along with automatic systems that attempt to avoid collisions and mitigate their consequences when they occur.

      Similarly, just relying on programmers to never make mistakes is guaranteed to lead to more exploits like Heartbleed. It's pure stupidity.

      If OpenSSL were written in Rust or C#, it wouldn't be quite as fast, but we wouldn't be looking at years of government spies completely negating SSL, forcing all webservers on the *entire* internet to replace their SSL keys, instantly obsoleting hardware that can't be upgraded, exposing user's data (including login credentials) to attackers thus requiring EVERY FUCKING USER ON THE INTERNET TO CHANGE THEIR PASSWORDS.

      Was the tiny performance benefit worth what we have now paid for it?

      Of course we're going to continue using C and getting burned over and over and over. Who needs air bags? Just drive better.

      --
      Natural != (nontoxic || beneficial)
    8. Re:Metaphor by Sarten-X · · Score: 1

      A race with no finish line doesn't have a single finish line, either.

      --
      You do not have a moral or legal right to do absolutely anything you want.
    9. Re:Metaphor by lgw · · Score: 1

      Any language except C has classes that prevent buffer overruns. Heck, I did assembly programming for 5 years, and the natural way to move data around avoided buffer overruns (mainframe assembly). The tools are right there, people just don't pick them up.

      It's not about the language, and it's certainly not about "don't screw up", it's about a coding style that's not amenable to the mistake, and that's practical is most any language except C, really.

      (Really, C and Managed aren't the only choices out there.)

      --
      Socialism: a lie told by totalitarians and believed by fools.
    10. Re:Metaphor by Anonymous Coward · · Score: 0

      "the reality is that the most serious security vulnerabilities are almost all directly related to buffer overruns"

      Wrong. Those are the most infamous. The most serious vulnerabilities are those which allow you access to valuable information.

      Take the Heartbleed attack: a buffer read overrun which takes millions of relatively slow (because remote) attempts to leak a single interesting datum. Versus innumerable SQL and Web-to-SQL bugs which allows 1:1 disclosure of database information per attempt, most of which occurred in PHP, Java, and similar code.

      Or consider XSS attacks.

      Security vulnerabilities have to be judged based on their real cost, not how they make us feel.

    11. Re:Metaphor by arth1 · · Score: 1

      While you are technically correct, the reality is that the most serious security vulnerabilities are almost all directly related to buffer overruns (on read or write), allowing an attacker to read or write arbitrary memory. Everything else is a second-class citizen by comparison;

      In my fairly long experience, there are ten vulnerabilities introduced at the design stage for every vulnerability caused by bad coding. Buffer overflows might be one of the more common coding errors, but certainly not the main cause of vulnerabilities.

    12. Re:Metaphor by Anonymous Coward · · Score: 0

      Relying on people to "just drive better" is an automatic failure. We design everything from signs/road markings to cars themselves around the idea that relying on humans to be perfect is pure idiocy, so we need to create affordances that lower cognitive load, along with automatic systems that attempt to avoid collisions and mitigate their consequences when they occur.

      Similarly, just relying on programmers to never make mistakes is guaranteed to lead to more exploits like Heartbleed. It's pure stupidity.

      If OpenSSL were written in Rust or C#, it wouldn't be quite as fast, but we wouldn't be looking at years of government spies completely negating SSL

      Do we really have to use car analogies for everything? Everyone realises that the potential for error is decreased as operational constraints are increased. If we take your car analogy far enough, we would arrive at the conclusion that it was far better that no one travelled anywhere at all. But what everyone also realises that life demands some level of compromise between safety and utility.

      Implementing OpenSSL in C#? Are you kidding? What languages and methods do you think were employed to develop the underpinnings of C#, .Net, Java et al? Magic "managed code" pixie dust? Do you realise that the web services in .Net are written in C++? Or most of the operating system it runs on? Or most of the browsers accessing these services? Your managed language methods are only possible because they sit atop a substantial foundation of detailed, low-level unmanaged resources.

      The poster you replied to was on the right track. If you want to minimise buffer overruns, minimise the number of methods you use to manage buffers. Focus all your efforts on refining, scrutinising and optimising your core functionality. Overruns happen where developers lazily implement buffering operations in hundreds of different places using dozens of different methods.

  5. Bennett's Ego by Anonymous Coward · · Score: 5, Insightful

    " I was an early advocate of companies offering cash prizes to researchers who found security holes in their products, so that the vulnerabilities can be fixed before the bad guys exploited them. I still believe that prize programs can make a product safer under certain conditions. But I had naively overlooked that under an alternate set of assumptions, you might find that not only do cash prizes not make the product any safer, but that nothing makes the product any safer — you might as well not bother fixing certain security holes at all, whether they were found through a prize program or not."

    Is the whole premise of this article Bennett having a conversation with himself, talking about his previous points that no one also cared about? I understand slashdot is trying to start doing op-eds by having this guy write. But everything he writes is this long-winded, blowhard, arrogant, ego-massaging nonsense that no one but him cares about. Here he's writing about his previous writings and how his thoughts have changed..in a poorly-written article with no sense of a conclusion..just rambling.

    Bennett is also not an information security expert ..he's just a blowhard..can we have someone really involved in information security, like Bruce Schneier, write articles for Slashdot instead of this nonsense?

    1. Re:Bennett's Ego by bennetthaselton · · Score: 0

      Is there a statement in the article that you think is incorrect?

    2. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      If he doing op-eds I would think he also interviewing people in those fields, and how many stories/articles have been posted on /. alone, with interviews either by /. or from a linked source. It's like saying a sports broadcaster should be allowed to nitpick at teams and explain what they should be doing, simply because they didn't play, or because they didn't play in on a major professional team. You learn from paying close attention, do interviews, from players to the coaches thru out a league.

      Having said that, just about every op-ed I have read is dumb, its as if these people were somehow the only ones to think of this! Not just Bennett but all the other ones as well.

      This article is something that those in programming already know and if they don't then their half the problem.

      To sum up the entire rant...

      Closed source doesn't care about 'security' they never have, the whole point in having a Bounty Program is to allow users or the zombified masses to think the software they are using is 'safe and secure'. We've already seen the effects of this with the NSA exploiting back doors and holes that researchers and hackers couldn't find, and if they did, the patches would fix one hole only to perhaps add another one.

      Whether you believe that or not, it is worth thinking about and examining the industry to see if it is true or a lie.

      For open source, IE Mozilla if you want a variety of eyes scanning and trying to exploit the code giving people incentives, cash, you will get more attention. It's possible if OpenSSL had a Bounty in place the Heartbleed bug could have been prevented. We know the code is open to anyone who wishes to look at the code, and open source has prided itself on trying to be more secure then proprietary.

    3. Re:Bennett's Ego by Charliemopps · · Score: 5, Insightful

      While I don't share the AC's animosity towards you, the premise of your argument is entirely wrong.

      The number of bugs are not limitless, they are very much a finite thing.

      The benefit to the company is not limited to closing that single bug. When someone reports one bug, you likely are learning a new method and/or way of thinking in regards to the procedure/module/whatever is involved. One "reported" bug could likely make many dozens or more other bugs readily apparent in your code.

      It also teaches your organization how to avoid that bug in the future. How many bugs were in the wild, being used by blackhats for YEARS through multiple iterations of a software package before being caught?

      Also, you get to find the mistake in the code and, if you're managing your code correctly, you will know who made the mistake. So you can coach if it was something that should have been caught.

      And lastly, it solidifies your place in the market as a leader. People study your code intently, use it more, get more involved. The more people involved, the bigger your talent pool, the more industry respect you have, and as a result the more people will look to you as a company that cares about the stability and long term viability of your product.

    4. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      Writing text longer than 200 characters for others to read do require something more than just being correct: In /. terminology it needs to be either A) Interesting B) Informative or C) Funny (Entertaining)

      Your text on the other hand is utterly non-provocative boring fluff. When you bring up a theme that the readers have absolutely no interest in whatsoever to begin with, it really needs to add something that make people care about it. At least you should spend some time on /. in order to begin understanding and appreciating your audience, who on average probably have been here longer than you, thus probably have more mature opinions than you as well.

      What about your piece is falsifiable? It's just opinion, not an article. The rest of us use comments for opinions like these, and we need approval of the /. herd mentality to reach up loud enough to be heard. Just because you know someone, doesn't make you deserve to be on top of everyone else here. This just breaks the fundamental businessmodel and functionality of /.

      Sorry if this sounds harsh, but nothing about your post made me want to read any firther than the first sentence, and I have never heard about you before, so that was my first impression.

      To be fair: Very few articles on the internet, /. especially, are so interesting you just HAVE to spend all the time reading it, so don't assume people will find it interesting or worth their time just because it came from you. People's time and attention is precious. Spend it wisely.

      Captcha: smacked

    5. Re:Bennett's Ego by Jmc23 · · Score: 1
      Ah for shame. You didn't realize he lives in a reality all his own. Points from our reality do not work.

      There's supposed to be some sort of silver...

      --
      Don't complain about syntax, grammar, or spelling. There is no.hell like input on android.
    6. Re:Bennett's Ego by khasim · · Score: 0

      Is there a statement in the article that you think is incorrect?

      You missed the point of the post that you are replying to. But since you asked ...

      You can visualize it even more starkly this way: A stranger approaches a company like Microsoft holding two envelopes, one containing $1,000 cash, and the other containing an IE security vulnerability which hasn't yet been discovered in the wild, and asks Microsoft to pick one envelope.

      That makes no sense. Why would a security-researcher offer to pay MICROSOFT for NOTHING?

      Microsoft should be paying the security-researcher.

      It would sound short-sighted and irresponsible for Microsoft to pick the envelope containing the cash â" but when Microsoft declines to offer a $1,000 cash prize for vulnerabilities, it's exactly like choosing the envelope with the $1,000.

      Wrong again.

      Not PAYING $1,000 is NOT the same as getting an ADDITIONAL $1,000.

      If I have $1,000 and I do not buy something for $1,000 I still have $1,000. But if someone gives me an envelope with $1,000 then I have TWO THOUSAND DOLLARS.

      You might argue that it's "not exactly the same" because Microsoft's hypothetical $1,000 prize program would be on offer for bugs which haven't been found yet, but I'd argue that's a distinction without a difference.

      No. It's wrong because in your example Microsoft ends up with an ADDITIONAL $1,000 from a security-researcher.

    7. Re:Bennett's Ego by bennetthaselton · · Score: 0

      The number of bugs are not limitless, they are very much a finite thing.

      That's true -- but I did say,

      Obviously the amount of vulnerabilities is not really infinite — you can only do finitely many things to a product in a finite amount of time, after all — but suppose it's so close to infinite as to make no difference, because the manufacturer would never be able to fix all the vulnerabilities that could be found for that amount of effort. I'm sure that $10 million worth of effort, paid to the right people, will always find you a new security vulnerability in the Apache web server; the same is probably true for some dollar number much lower than that, and you could call that the "infinite bug threshold".

      Do you think that statement is incorrect? That for $10 million worth of effort, you could always find a new vulnerability in Apache, no matter how many iterations of bug-fixing you've already gone through?

      The benefit to the company is not limited to closing that single bug. When someone reports one bug, you likely are learning a new method and/or way of thinking in regards to the procedure/module/whatever is involved. One "reported" bug could likely make many dozens or more other bugs readily apparent in your code.

      It also teaches your organization how to avoid that bug in the future. How many bugs were in the wild, being used by blackhats for YEARS through multiple iterations of a software package before being caught?

      Also, you get to find the mistake in the code and, if you're managing your code correctly, you will know who made the mistake. So you can coach if it was something that should have been caught.

      And lastly, it solidifies your place in the market as a leader. People study your code intently, use it more, get more involved. The more people involved, the bigger your talent pool, the more industry respect you have, and as a result the more people will look to you as a company that cares about the stability and long term viability of your product.

      I think all of that is true but doesn't negate the argument. Those are all great reasons to incentivize people to find bugs in your product. But if the state of the product is such that in practice it will always be possible to find another vulnerability for $50,000 worth of effort, and the vulnerability is worth $100,000 on the black market, someone will still find another vulnerability and exploit it.

    8. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      Bennett is also not an information security expert.

      He wanted to be, but Microsoft said he was "too dumb for it". I doubt that was the real reason. He sounds like a total asshat.

    9. Re:Bennett's Ego by Anonymous Coward · · Score: 5, Funny

      Ugh, I feed the trolls all the time, so I guess today I can mix it up and feed the idiot.

      OK, here's a basic concept you seem to be completely misunderstanding: bug != vulnerability.
      And even beyond that, not all vulnerabilities are equal. Yes, it is unlikely that Apache will ever be "bug free". It's even more unlikely that Apache is currently "bug free". That does not mean there is currently a heartbleed level vulnerability in Apache. For $10 million, you could absolutely find ways to crash Apache. You could find functions and modules that don't work properly. Hell, you could find those for $10. But there's no guarantee that for even an infinite amount of money, you could find a vulnerability that allows you to steal secret keys or execute arbitrary code. You pay for bounties in the hopes that if those vulnerabilities exist, someone will report them to you.

      Here's the basic problem with every fucking article you write: You take a small set of data and jump to ludicrous and arbitrary conclusions. Here's some recent examples:

      Your "data": A researcher found a buffer overflow in some car software, and said that even if that was fixed, they could find another one if they tried hard enough.
      Your conclusion: All software ever written has an infinite amount of "bugs", which means all software will always be so insecure that there's no point in trying to fix it.

      Your "data": You found a garage finding app that you like, but it was lower rated than a different garage finding app that you didn't like.
      Your conclusion: The market for all intellectual property is so inefficient that the world is full of great things no one knows about, and we should form some sort of weird, pseudocommunist oligarchy of experts that tell us what to buy and what software to use. And we should eliminate advertising.

      Your "data": Someone gave you some weird, bad advice about what you should do about a tent for burning man.
      Your conclusion: No one ever follows good advice if it is hard, so everyone should start giving shitty advice because it's easier. Then you made up an acronym, called it a "metric", and despite the fact that it had no mathematical basis whatsoever, and you just made it up, you treated it like a number and used it "mathematically" prove your point.

      Your "data": I don't even know, some stupid shit about parking at burning man.
      You conclusion: no idea, there's no such thing as a slow enough day at work to make me read that shit.

    10. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      Is that the primary criteria?

      If so here's something you will love.
      1>0
      2>0
      3>0 ...

    11. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      Fully agreed. I read all of these 'articles' ... i nearly died from the stench of utter horseshit.

    12. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      What a tonsil.

    13. Re:Bennett's Ego by BobMcD · · Score: 1

      Do you think that statement is incorrect? That for $10 million worth of effort, you could always find a new vulnerability in Apache, no matter how many iterations of bug-fixing you've already gone through?

      I certainly do. First of all, there are only so many lines of code. Once you hypothetically 'fix' every one of them, you're done. Vulnerabilities exists because people are fallible and make mistakes, but ultimately there will be a limit and the assumption that this limit is effectively unreachable is absurd enough to require evidence on your part.

      Programmers and crackers are equally human. They're using the same hardware and software systems to do the analysis. Assuming that the latter will ALWAYS win an arms race is flawed logic. And to be clear, you absolutely did communicate that there will never be a scenario where attackers can't find new exploits no matter how many iterations the programmers do.

      Cynically true? Sure, go with your badself if it helps. But actually, honestly true? That's going to take some evidence on your part. Moreso than "I met this guy once".

    14. Re:Bennett's Ego by Anonymous Coward · · Score: 0
      Factual accuracy is only one part of writing, and this looks like your go-to comment whenever someone criticizes your work. You can drone on all you want about things that are "true," that doesn't make people a) want to read them b) make it meaningful, insightful or otherwise valuable to read or c) respect the author. The tone at which you write in is smug and self-aggrandizing..you spend as much time referencing yourself and events in your life than you do about the material. For example, you say:

      On Monday night I saw a presentation put on by Seattle's

      Most writers would just write "According to Professor XX,"; but no, you need to write in livejournal style where you are the center of the story.

      Additionally the first source you site in the article is your own poorly-written article from 2007. Talk about tunnel-vision. Of all the pieces written on this subject and of all the information available, is really one author writing about his own not-widely-read article a few years earlier something people care about? Or is it just a function of your own arrogance and desire to be respected in the tech community that you are manufacturing notoriety by referencing yourself here?

      It's not like the writing is well done or easy to follow either, it's basically a thought stream. You would think when publishing an article for so many people to read, more refinement would be warranted. This seems like little more than a first draft, cranked out in no time -- and you arrogantly assumed that your work product is so great it'd be met with a good reaction and people would be engaged. Look at the other responses to your article. You're becoming one of the most disliked commentators in Slashdot history.

    15. Re:Bennett's Ego by bennetthaselton · · Score: 1

      Do you think that statement is incorrect? That for $10 million worth of effort, you could always find a new vulnerability in Apache, no matter how many iterations of bug-fixing you've already gone through?

      I certainly do. First of all, there are only so many lines of code. Once you hypothetically 'fix' every one of them, you're done.

      Well, theoretically yes. But do you think that Apache could ever reach a state in practice, in the world we actually live in, where you couldn't find a new vulnerability in it for $10 million worth of effort?

    16. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      I understand slashdot is trying to start doing op-eds

      Start? I take it you're lucky enough to not remember the JonKatz days. Bennett is nowhere near the troll that Katz was...if Katz had written this op-ed on bug bounties, he would have found some way to connect them back to Columbine and 9/11.

    17. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      The thing I see that you're ignoring is about responsible disclosure. You're always going to be vulnerable to people who find issues and attempt to exploit them. But without a bug bounty, you're also going to be vulnerable to people that find bugs and don't disclose them responsibly or as you'd like them to be disclosed. If you're paying a bounty, you can dictate disclosure terms.

      When white hats report bugs, even when they disclose responsibly, they're often eager to claim credit for finding the vulnerability and can force rushed fixes. Paying them a bounty gives you leverage to encourage them to adhere to your timeline.

    18. Re:Bennett's Ego by kesuki · · Score: 1

      http://opensslrampage.org/

      if OpenSSL had 5 pages of bugs so far... and was widely used in an ecosystem where the source was there, just imagine the nightmare of closed source projects...

      patching 100 bugs on average introduces 3 new bugs. now i know bugs != security vulnerabilities. but bugs are why people complain about software stability.

      also a 'vulnerability' bug has a black market value that is always going to be higher than bug bounties. however an old exploit has the added value of 'reporting' it after a new vulnerability is found and the old one is blamed perhaps by news of this 'old' vulnerability. it's a revolving door problem. back in 1997 i knew how to 'fix' broken open source ports tree applications, because i used freebsd and it was very buggy (though less buggy than the windows 95 machine i had).

      as i see it the problem is marketing. to get people to buy computers they promote them as doing a lot of things that they can only just barely do. and often the code base is filled by people who don't care about quality and comprehensible coding. and for for profit they often take steps to make the code illegible as a so called security through obscurity (which never works for more than a few years).

    19. Re:Bennett's Ego by BobMcD · · Score: 1

      Is there a statement in my post that you think is incorrect or unclear?

    20. Re:Bennett's Ego by khasim · · Score: 1

      Well, theoretically yes.

      "Theoretically". Got it.

      But do you think that Apache could ever reach a state in practice, in the world we actually live in, where you couldn't find a new vulnerability in it for $10 million worth of effort?

      Emphasis added.

      So now you're conflating a real-world situation with a hypothetical situation ... no. You do not get to mix real-world and hypotheticals in the same sentence. No one is offering $10 million and no one is likely to offer $10 million.

      IF someone would offer $10 million for buffer overflow bugs in Apache then a lot of people would comb through the code and check each instance of a buffer for an overflow bug. All the buffer overflow bugs would be found.

      After that, finding ANOTHER buffer overflow bug would not be possible IN THAT CODE BASE. No matter how much money was offered. Because all the instances should have been checked and identified.

      Someone would have to submit code that included a NEW buffer overflow bug in order for a NEW buffer overflow bug to be discovered.

      No matter how much money was being offered. No "theoretically" about it. It's Computer SCIENCE.

    21. Re:Bennett's Ego by mnooning · · Score: 1

      The old chestnut that if you cannot do everything, you should not do anything, is ludicrous. Will someone please let Bennett know he cannot eat just any time he wants?

    22. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      sick burn

    23. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      You seem to think that this is a theoretical argument. Please find one bug in the original DJB qmail code and then you will be worthy of taking this discussion further. The OpenBSD people have lead the way and shown that even starting with a messy entire operating system you can seriously move in the direction of secure, bug free code.

      The point is that there is a choice; one which becomes very visible when you have a security vulnerability found. Do you fix that one single bug or do you pay a little more and go through your code base looking for every single one like it? Many proprietary vendors choose to do the one single minimal fix, which is wrong and is part of what is driving the visceral reaction to your post which reads, to some of us, like an excuse for them.

    24. Re:Bennett's Ego by Anonymous Coward · · Score: 0

      While I agree with your points about a well managed codebase, I don't really agree about the number of bugs in a product being finite. If a code base implementing a product where to remain in use for extended periods of time (decades) your finite number of bugs would be a true statement, as there are a finite number of places in the code for a mistake to be made.
      The problem is that every X years a project decides to throw out the old codebase and start again basically from scratch (or at the very least do a huge refactor and throw in a bunch of new features), keeping the design lessons learned along the way, but opening up the entire project for a whole new crop of bugs.

  6. Overthinking the issue by Anonymous Coward · · Score: 0

    The value is a drop in the bucket for most companies that are widespread enough to need to do this. It's a lot better than say, going bankrupt because nobody trusts your product anymore. Even if you have to do it forever.

  7. By this logic... by Lab+Rat+Jason · · Score: 2, Insightful

    ... we shouldn't attempt to arrest or prosecute criminals because there is always another one right behind the first?

    You should be ashamed of your apathy.

    --
    Which has more power: the hammer, or the anvil?
    1. Re:By this logic... by bennetthaselton · · Score: 1

      There aren't infinitely many criminals; crime rates are lower than they would be if we didn't arrest or prosecute criminals, because the population of criminals is finite and in fact small enough that our policing and sentencing policies can make a dent in it. (If there really were infinitely many criminals, then indeed it would be pointless to arrest or prosecute them, but there aren't.)

    2. Re:By this logic... by Anonymous Coward · · Score: 1

      There aren't infinitely many criminals

      There aren't infinitely many bugs either, but that didn't stop you from making it the premise of your rant.

    3. Re:By this logic... by Calavar · · Score: 1

      Even ignoring the ridiculous jumps and assumptions in your reasoning, your logic is absurdly inconsistent and contradictory. At any given moment, the amount of criminals is finite just as the number of bugs is finite. But it seems that you are not talking about a given point in time. Over an infinite period of time, criminals are also infinite because for ever X new births, some percentage of those people are pretty much guaranteed to become criminals. And every arrest has the potential of creating a new criminal by leaving an empty position in a gang that will be filled with a new initiate or leaving a child without a father/mother/proper role model.

      The same applies thing to bugs: For every X lines of new code that is written, some percentage of it is pretty much guaranteed to have bugs. This means that over an infinite period of time, there will be an infinite number of bugs. And just as every arrest has the potential of creating a new criminal, every bug fix has the potential of accidentally introducing a new bug.

      So I think the AC's analogy is very accurate. The job of the police is to arrest criminals quickly so that the number of criminals on the streets at any given point in time remains low. The job of bug bounty programs is to find bugs quickly so that the number of vulnerabilities of a program at any given point in time remains low.

      To look at things another way, it's just like password security: the idea is not to create an uncrackable password or encryption scheme, but to make one that is resilient enough that by the time a would-be hacker has cracked it, the user has already replaced his or her password with a new one. It's the same deal with bugs. It will take a would-be hacker N days to exploit a vulnerability. If you manage to patch the vulnerability in less than N days, you have won the battle. It doesn't matter that a new bug will pop up the next day, because the hacker will be back to square one and it will take him another N days to exploit it.

    4. Re:By this logic... by Calavar · · Score: 1

      Car analogy: Cars will break down an average of one time for every X days of use, so if you have a car for an infinite period of time, it will break down an infinite number of times. Does this mean that you should never take it to the mechanic? Absolutely not. You take it to the mechanic as quickly as possible so that you can minimize the number of days that your car is unusable and maximize the number of days that it is usable.

    5. Re:By this logic... by bennetthaselton · · Score: 1

      I'm talking about a large number of vulnerabilities that exist in parallel at a given point in time, not ones that exist in series where fixing one vulnerability introduces a new one.

      If a large number of vulnerabilities that can be found for $5K, then if you spend $5K of your own effort finding one such vulnerability so that you can fix it, the probability approaches zero that the attacker is spending their effort finding the same vulnerability.

    6. Re:By this logic... by Calavar · · Score: 1

      Then that is simply a false assumption. If you have a finite amount of code, there can only be a finite number of bugs in it. If I were to write a "hello, world" program and then pay $500k for each bug report, would I uncover an infinite number of bugs? What about /bin/true or /bin/false or /bin/cat?

    7. Re:By this logic... by Lab+Rat+Jason · · Score: 1

      As has been stated over and over again above and below this post: There are not infinite bugs either. Are you seriously going to defend that point?

      --
      Which has more power: the hammer, or the anvil?
    8. Re:By this logic... by bennetthaselton · · Score: 1

      I said very clearly in the article, I didn't mean that there are ever literally infinite bugs, only that the number which can be found for (say) $10,000 worth of effort is so large, that you won't come close to running out, in the time horizon before the software becomes obsolete or the point is moot.

      Everybody arguing as if I had said the number of bugs is literally infinite is missing the point.

    9. Re:By this logic... by bennetthaselton · · Score: 1

      I said in the article, I didn't mean the number of independent bugs that could be found for (say) $10K worth of effort was literally infinite, only that you wouldn't come close to running out, in the time horizon before the software becomes obsolete.

      Again, do you think Apache could ever, in practice, reach a state where you couldn't find one more vulnerability in it for $10 million worth of effort? I would say, probably not. That's probably true for some much lower dollar value as well.

    10. Re:By this logic... by Calavar · · Score: 1

      Okay, I guess I misunderstood parts of your post, but I still see some issues.

      First, you're assuming that the only consideration for people that find security vulnerabilities is money, so that if the potential illicit earnings from exploiting the bug are greater than the bounty, they will exploit the bug. This is definitely not true in practice. Some people just want to do good things. And even for people with no conscience whatsoever, they have to deal with the fact that doing something puts you into a high stress defensive stance where you constantly have to cover your tracks. Most people wouldn't want that kind of lifestyle.

      Second, you're assuming that the number of bugs found increases linearly with the dollar amount of bug bounties, but my gut instinct is that it is an asymptotic function. Increased bug bounties offer diminishing returns because after a certain point the limiting factor becomes the fact that bugs are really darn hard to find. (Case in point, OpenSSL. Every major tech company uses OpenSSL and several have conducted regular audits of it. Even with all that effort, no one was able to uncover the Heartbleed bug until earlier this year.) So even if Microsoft were to offer $10 million per bug, I don't think they would start finding more bugs than they could fix.

    11. Re:By this logic... by bennetthaselton · · Score: 1
      Congratulations, you're the first person who called me out for saying "infinite number of bugs", where I replied and said "I didn't say literally infinite, just big," and you actually got the point and moved forward :)

      Okay, I guess I misunderstood parts of your post, but I still see some issues.

      First, you're assuming that the only consideration for people that find security vulnerabilities is money, so that if the potential illicit earnings from exploiting the bug are greater than the bounty, they will exploit the bug. This is definitely not true in practice. Some people just want to do good things. And even for people with no conscience whatsoever, they have to deal with the fact that doing something puts you into a high stress defensive stance where you constantly have to cover your tracks. Most people wouldn't want that kind of lifestyle.

      Yes, that's true -- so that introduces a fudge factor into the amount of the bounty, since it doesn't have to be quite as high as the black market value. It can be less, since most people would prefer dealing with the software manufacturer.

      Second, you're assuming that the number of bugs found increases linearly with the dollar amount of bug bounties, but my gut instinct is that it is an asymptotic function. Increased bug bounties offer diminishing returns because after a certain point the limiting factor becomes the fact that bugs are really darn hard to find. (Case in point, OpenSSL. Every major tech company uses OpenSSL and several have conducted regular audits of it. Even with all that effort, no one was able to uncover the Heartbleed bug until earlier this year.) So even if Microsoft were to offer $10 million per bug, I don't think they would start finding more bugs than they could fix.

      I don't think my conclusion depends on the assumption that the amount of bugs increases linearly with the amount of effort invested. All I'm saying is that it's an increasing function -- the more effort you're willing to spend, the more bugs you can find -- and in fact I was assuming that for some threshold level of effort, the amount of bugs you could find becomes practically infinite. And the critical question is whether that amount is above or below the black market value of a bug.

      Well, nobody really knows what would happen if there were a $10 million prize for security bugs, but I suspect that the number of bugs you could find for that effort, really would be effectively unlimited (that is, so large that you couldn't possibly find and patch them all within the time frame before the software became obsolete). Possibly the reason nobody found Heartbleed sooner is that there really is no reward for it comparable to the $10 million -- you get huge professional recognition as a security researcher, but for almost all the rewards that will go to the people who discovered the bug, they're probably not the kind of rewards that most people would choose over $10 million in cash.

    12. Re:By this logic... by Daniel_Staal · · Score: 1

      No, we weigh the cost of prosecuting a specific crime against the cost of not prosecuting it, and let some crimes slide.

      So we spend a lot more time and effort prosecuting a murder than a jaywalker. Because it's worth more to stop the murderer.

      (And when this gets out of whack, we have problems. Red light cameras, GPS devices on cars, and such are reducing the cost of prosecuting some crimes, and that is causing social problems as we start to prosecute crimes that we didn't before. A lot of the complaints about the TSA is that they don't care about the cost: They just purse to the hilt. And the NSA has the problem that they only count the direct monetary cost, not the social, diplomatic, or economic costs.)

      --
      'Sensible' is a curse word.
    13. Re:By this logic... by pmc · · Score: 1

      Nope - you didn't mention time horizon in your article. Top tip - describing finite things as infinite is bad style.

      What seem to have wanted to say is

      1) that the number of bugs in a non-trivial piece of software is sufficiently large that they will probably not all be found before the software is obsolete. Which is dull but probably mostly true (given the wriggle room in "non-trivial" and "probably")

      2) that offering a bug bounty because of this large latent pool of bugs is pointless.

      This second one is just not valid because

      1) bug bounties encourage reporting of bugs
      2) not all bugs are equal - there are different costs for finding them in a particular product and a bug bounty will encourage people to find and report the easier ones.
      3) There are finitely many black-hats. As the easy-to-find bugs in the pool are exhausted then the cost per bug to the black-hat increases in this product.

      At this point the black hat has a choice - pursue finding harder bugs in product A (which has a bounty) or go for the easy to find bugs in product B (which doesn't). Blackhats are running a business - they will go for the return on investment in product B.

      This neglects the very large positive advantages of reporting which others have covered earlier (discovery of systematic issues, healthy ecosystem of investigators, disincentive to black-hats).

      At this point your "bug bounties are useless" falls apart because it neglects the fact that black-hats are running a business - spending $10million to find a bug in Apache will not happen because the blackhats cannot get a return on their investment. They will spend $10k looking for exploits in Flash, or PDF, or other low hanging fruit.

  8. There aren't infinite bugs by egarland · · Score: 1

    If you start with the assumption that you can't make secure software, then you shouldn't make any software at all.

    --
    set softtabstop=4 shiftwidth=4 expandtab nocp worlddomination
    1. Re:There aren't infinite bugs by mlts · · Score: 4, Interesting

      People talk about bug free code. It is a matter of won't, not a matter of can't.

      Sometimes, there are products out there which can be considered "finished". Done as in no extra features needed, and there are no bugs to be found. Simple utilities like /usr/bin/yes come to mind. More complex utilities can be honed to a reasonable degree of functionality (busybox comes to mind.)

      The problem isn't the fact that secure or bug free software can't be made. It is that the procedures and processes to do this require resources, and most of the computer industry runs on the "it builds, ship it!" motto [1]. Unfortunately, with how the industry works, if a firm does do the policy of "we will ship it when we are ready", a competitor releasing an early beta of a similar utility will win the race/contracts. So, it is a race to the bottom.

      [1]: The exception to this rule being malware, which is probably the most bug-free code written anywhere these days. It is lean, robust, does what it is purposed to do, and is constantly updated without a fuss.

    2. Re:There aren't infinite bugs by SourceFrog · · Score: 5, Insightful

      It's retarded to assume that you can't make a product secure; there aren't "infinite" bugs, there are obviously a finite number of bugs in any piece of software, and anyone who thinks otherwise either has some strange mental illness or doesn't understand software. But the reason bug bounties mostly don't work has nothing to do with the author's wiffle-waffle, it's just simple math and cost of labor. If I have the level of skills required to find security holes in a large piece of software like Windows or IE, chances are I can sell my labor at a minimum of $50/hour. To find a bug, I'm likely going to have to spend several days or weeks at it. If there's a $1000 bounty, that means I can spend at most 20 hours on the problem until I am literally losing money in opportunity costs. And hackers have to pay their mortgages and bills too. It's kind of insulting to think that an experienced security expert is going to labor away to find your bugs for you at well below market rates for that work if you had to pay someone to do it, as if a dog getting excited about a small treat, it's patronizing and insulting. If it would cost a company like MS $100,000/annum to have a security expert on their dev team to find those same bugs, then any 'bounty' has to START at well above those effective hourly rates.

      --
      My other UID is three digits.
    3. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      constantly updated without a fuss.

      Free automatic updates. Got to love it.

    4. Re:There aren't infinite bugs by bennetthaselton · · Score: 1

      Yeah, I think $1,000 is way too low, I just used it as a sample number.

      I think all that matters is that the dollar number matches the black-market value. Then it doesn't matter whether most people would find the effective hourly rate "insulting"; all that matters is that anybody who does find an exploit will turn it in to the company rather than selling it on the black market or exploiting it themselves.

    5. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      And if software "engineers" were held legally liable for their work (or at least their employers were) this would change.

    6. Re:There aren't infinite bugs by RabidReindeer · · Score: 4, Interesting

      People talk about bug free code. It is a matter of won't, not a matter of can't.

      Sometimes, there are products out there which can be considered "finished". Done as in no extra features needed, and there are no bugs to be found. Simple utilities like /usr/bin/yes come to mind. More complex utilities can be honed to a reasonable degree of functionality (busybox comes to mind.)

      The problem isn't the fact that secure or bug free software can't be made. It is that the procedures and processes to do this require resources, and most of the computer industry runs on the "it builds, ship it!" motto [1]. Unfortunately, with how the industry works, if a firm does do the policy of "we will ship it when we are ready", a competitor releasing an early beta of a similar utility will win the race/contracts. So, it is a race to the bottom.

      [1]: The exception to this rule being malware, which is probably the most bug-free code written anywhere these days. It is lean, robust, does what it is purposed to do, and is constantly updated without a fuss.

      Once upon a time, I read somewhere (Yourdon, possibly) that the number of bugs in a software product tends to remain constant once the product has reached stability. The number for IBM's OS/MVS mainframe operating system was somewhere in the vicinity of 10,000!

      It's been likened to pressing on a balloon where when you squeeze one bump in, another pops out, because the process of fixing bugs itself introduces new bugs.

      And OS/MVS is about the most critical software you could put on a mainframe. You can't just Ctrl-Alt-Delete a System/370. Or power it off and back on again. Mainframes are expensive, and expected to work virtually continually. Mainframe developers were expensive as well, since after a million dollars or so of hardware and software, paying programmers handsome salaries wasn't as big an issue back then. Plus there was no offshore race to the bottom where price trumped quality at the time. In fact, there wasn't even "perma-temping" yet.

      Still, with all those resources on such an important product, they could only hold the bug count constant, not drive it down to zero.

      Actually speaking of OS/MVS, there's a program (IEFBR14) whose sole purpose in life is to do nothing. There have been about 6 versions of this program so far, and several of them were bug fixes. More recently, it had to be upgraded to work properly on 64-bit architecture, but some of the bugs were hardware-independent.

    7. Re:There aren't infinite bugs by Number42 · · Score: 0

      [1]: The exception to this rule being malware, which is probably the most bug-free code written anywhere these days. It is lean, robust, does what it is purposed to do, and is constantly updated without a fuss.

      I contest that point. Have you ever even used MS Office?

    8. Re:There aren't infinite bugs by omgwtfroflbbqwasd · · Score: 1
      Counterpoint: Even the best teams are not capable of making secure software.

      Case in point, the NASA shuttle avionics system. CMMI level 5 certified software development program, track record of 2 Sev-1 defects per year during development.

      Timeline Analysis and Lessons Learned (see page 7/slide 6) You'll find that there were hundreds of unknown latent Sev-1 defects (potentially causing loss of payload and human life) and even ~150 defects 15 years after the program started.

      The question isn't whether your team is capable or willing to fix the issue, you must acknowledge that there is nearly 100% certainty that there are unknown vulnerabilities in any software you write. The question goes back to whether a bug bounty program will ever cross the inflection point of a ROI chart.

    9. Re:There aren't infinite bugs by Eunuchswear · · Score: 1

      Are you an economist?

      That's explain it.

      --
      Watch this Heartland Institute video
    10. Re:There aren't infinite bugs by Wycliffe · · Score: 1

      But what is the "black market rate" for 1 million credit card numbers? $20 a piece? What is the cost to the company if they lose 1 million
      credit cards? This is a job for the bean counters but in some cases it might be worth it not to pay for the bug if you think it'll cost you less
      than $20 million in mitigation of reputation,etc.. In other cases, it might be worth alot more than $20 million if for instance a lose of 1 million
      credit cards causes Bank of America to lose $100 million of business. I think the best strategy is probably to break it up into smaller
      domains so that noone can ever get 1 million credit card numbers. If we do that and the maximum they can get is 10k credit card numbers
      then you've both reduced the value on the black market and the value you should have to pay for the bug. Basically the best way to prevent
      a breach is to make the amount of reward less than the amount of effort. That's the reason that a house with more expensive stuff in it needs
      better security than a house with nothing of value and why a jewelery store has better security than a pet store. It's also the reason that you
      see signs that say "driver carries less than $20 in cash". Criminals are always going to go for the low hanging fruit which is what gives the
      most reward for the least amount of risk and effort so reducing the reward is probably one of the best and cheapest ways to increase your security.

    11. Re:There aren't infinite bugs by pr0fessor · · Score: 1

      What about scarcity? Wouldn't scarcity of exploits on the black market just drive the prices up eventually putting the price over the infinite bug price?

      Although I agree that if there is enough money involved someone will find a way even if it is an indirect exploit to an otherwise solid application.

    12. Re:There aren't infinite bugs by JesseMcDonald · · Score: 1

      Then it doesn't matter whether most people would find the effective hourly rate "insulting"; all that matters is that anybody who does find an exploit will turn it in to the company rather than selling it on the black market or exploiting it themselves.

      You're assuming they can only choose one. What is there to prevent someone from exploiting the bug themselves for a while, selling it on the black market (to a discrete buyer), and still eventually turning it in to collect the bounty?

      --
      "The state is that great fiction by which everyone tries to live at the expense of everyone else." - Bastiat
    13. Re:There aren't infinite bugs by bennetthaselton · · Score: 1

      Good point, someone else mentioned this and I'll just copy and paste what I wrote here:

      Right, I forgot to mention something: To prevent double-use like this, a company should say that you don't get paid until they've fixed the bug and issued a patch for it in their software, all without the exploit ever being spotted in the wild. (If someone else finds your vulnerability and exploits it in the wild, that's just bad luck. So to incentivize researchers, Microsoft might have to increase the prize money proportionally, to make up for the fact that sometimes people won't get paid because their exploits were found by someone else.) This incentivizes people to report bugs and not release them to the black market as well.

    14. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      It would cost MS about $400,000 per year, when you factor in benefits, office space, free soda, etc.

      Which is a good segue to something the author didn't point out: In order to run a $1000 per security bug program you'd need to spend way more than $1000 per bug. You'd probably need a team of 30 or 40 full time people from multiple disciplines (dev, test, PM, PR, management), an up to date lab for testing exploits and fixes, etc. You'd probably be spending about $10,000 per hour, even on days with no valid exploits coming in. Which isn't to say, of course, that people and equipment would be sitting around idle, because 99% of the submissions would be from idiots/crazies who think being able to run "format c:" from the command line is a security bug or from grifters trying to resell known exploits.

    15. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      absolutely right.

      When people talk about bugs as being infinite, I stop listening.
      Bugs are only limitless when your expectations of the software are constantly changing.

    16. Re:There aren't infinite bugs by bennetthaselton · · Score: 1

      I believe the distinction is that scarcity can drive up the price of something but usually not it's value (to you). The price is where the supply and demand curves meet; you buy the good if it value to you is greater than the market price, and if its value to you is greater than the market price, that's just pure benefit to you (the "consumer surplus").

      So, you place a certain amount of value on being able to break into Apache webservers. If existing vulnerabilities get found and fixed, that will, indeed, increase the price of finding the next one, but it won't actually increase its value to you. In the case where eventually all of the bugs get found and fixed that are below the black-market value of an exploit (black market value is less than infinite bug threshold), that doesn't increase the value to you of an exploit; it just means at that point, it's no longer worth your time to find an exploit because the cost of the next one will be greater than the black market value.

    17. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      "Right, I forgot to mention something: "

      ... and there's your problem. You really should have let it stay forgotten.

    18. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      a company should say that you don't get paid until they've fixed the bug and issued a patch for it in their software, all without the exploit ever being spotted in the wild.

      That's incredibly stupid. It incentivizes the company to never patch the bug, at least until 30 minutes after an exploit for it is found in the wild. Companies already far too often ignore credible, reproducible bug reports until the original researchers threaten to go public (or do go public). All this would do is incentivize that further, especially if the company thinks the bug is sufficiently obscure as to not be found by anyone else soon.

      Posting anonymously because I've moderated extensively in this thread, generally to mod down the people attacking you without reason, when they should instead be attacking posts like the one I quoted with reason. Captcha: quality

    19. Re:There aren't infinite bugs by punkr0x · · Score: 1

      I think the purpose of "bug bounties" is to encourage researchers to document and report bugs. It's not like anyone is going to make a full time job out of collecting the reward money, but if you happen across a potential security hole, it's worth your time to reproduce and report it.

    20. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      +1 interesting!

    21. Re:There aren't infinite bugs by pr0fessor · · Score: 1

      Eventually the price of a black market exploit would make it not worth purchasing? I just can't imagine a company offering bounties that high anymore than I can imagine them paying for all losses to any customers due to an exploit.

    22. Re:There aren't infinite bugs by complete+loony · · Score: 1

      I have heard anecdotally, that the various bug bounty programs are generous enough for a number of individuals to make a living that way. You have to be very good at it though, and there's only so much money going around, so this isn't a job for everyone.

      --
      09F91102 no, 455FE104 nope, F190A1E8 uh-uh, 7A5F8A09 that's not it, C87294CE no. Ah! 452F6E403CDF10714E41DFAA257D313F.
    23. Re:There aren't infinite bugs by Anonymous Coward · · Score: 0

      DEBIAN - We release when we are ready

  9. say what? by Nick · · Score: 0

    What a waste of time.

    --
    Fuck Ajit Pai
  10. However.... by NiteMair · · Score: 2

    Paying people to find bugs and report them responsibly does give those people an incentive to not do something worse with them.

    In a way, this economy takes possible would-be black hats and turns them into white hats. I suspect there are far fewer people capable of finding every last exploit than there are exploits, so if we keep those people busy and paid doing what they do best, at least they won't be doing something more nefarious.

    1. Re:However.... by bennetthaselton · · Score: 1

      Paying people to find bugs and report them responsibly does give those people an incentive to not do something worse with them.

      Right, I forgot to mention something: To prevent double-use like this, a company should say that you don't get paid until they've fixed the bug and issued a patch for it in their software, all without the exploit ever being spotted in the wild. (If someone else finds your vulnerability and exploits it in the wild, that's just bad luck. So to incentivize researchers, Microsoft might have to increase the prize money proportionally, to make up for the fact that sometimes people won't get paid because their exploits were found by someone else.) This incentivizes people to report bugs and not release them to the black market as well.

    2. Re:However.... by jc42 · · Score: 1

      To prevent double-use like this, a company should say that you don't get paid until they've fixed the bug and issued a patch for it in their software, all without the exploit ever being spotted in the wild.

      One problem with this is that there's already a documented history of companies rejecting bug reports and not paying the bounty, and then some time later include a fix for it in their periodic updates. It's basically the same process that causes a company's "app store" to reject a submitted tool to do a particular job, and then a few months later releasing their own app that does the same thing.

      I know a good number of people who've been bitten by the latter, from both MS and Apple. In the case of a bug, it's a lot harder to document that this has happened, but various software guys I know express a strong suspicion that it has been done to them.

      It's widely believed that corporations don't have ethics at all, only costs and income, which would easily explain this sort of fraudulent "offers" of rewards with no intent to pay. We've heard here often from lots of people who think that this is right and proper, and that corporations should only be motivated by the bottom line.

      When combined with the growing penchant for treating someone who reports a security bug as a criminal "security hacker" and prosecuting people who report bugs in software products, this should reasonably make a sensible developer reluctant to take rewards programs seriously. Given an offer which could get you thanks and some money, or could land you in jail for your efforts, and no way to know beforehand which the company will do, why would you even consider letting them know your name?

      (Actually, my name has appeared in numerous companies' lists of honored contributors thanks to my bug reports and patches. But I haven't sent in security-related bug reports to many companies, only to the ones I have reasons to believe I can trust.)

      --
      Those who do study history are doomed to stand helplessly by while everyone else repeats it.
    3. Re:However.... by bennetthaselton · · Score: 1

      Yes this would be a valid concern. So this is a reason why some people might not bother searching for vulnerabilities at all -- they don't want to sell them on the black market, and they don't trust the company to pay them.

      But fortunately I don't think that's fatal to the analysis because that just leaves the people left over who are willing to do the work to find vulns. All that matters is that they think the software manufacturer is more trustworthy and more likely to pay than the black-marketeers. Then as long as the prize offered by the software maker is at least equal to what the black market would pay, the researcher would rationally prefer to turn it in to the software manufacturer.

  11. Wrong by Stellian · · Score: 4, Insightful

    There is no such thing as a "black market value" of a security vulnerability. Both the demand and supply have curves. I.E there are security researchers who would demand say 1 million bucks before selling the bug to the CIA (because they view that action as unethical, illegal and risky careerwise) while they would gladly accept 10.000$ in a responsible disclosure offer. Other color hats would go to the highest bidder. Similarly, there are large transaction costs and information asymmetries, it's not necessarily true that the demand and supply meet or that they can trust each other. A spy agency might rather develop in house (at a much larger cost) then shop around and rise suspicion.

    In short, offering a non-trivial sum of money will always increase the costs of the average attacker and might completely shut off the low impact attacks like spam zombification, email harvesting etc., the developers of which can't invest millions in an exploit but would gladly use the free zero day+exploit just made public.

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

      Supply and Demand always have curves (only in basic economics classes are the curves actually straight lines), and yet there is almost always a market value. In your example, you are providing different markets ("good guy selling to good people" and "good guy selling to bad people[CIA]"). Information asymmetry also doesn't imply there's not a value, the party or parties are just unaware of that value. Just because you bought a shirt in India for $100 that normally sells for $5 doesn't mean $5 isn't the market price, it just means you got shafted. And naturally, different parties will pay different amounts for the same thing, some would pay higher, some would pay lower, and the value is where the seller ends up wanting to sell. (As you pointed out, to whom the seller is selling might affect the value at which he is willing to sell). In the case they can take the product to the highest bidder, it's simply a very inelastic market with a supply of 1 very unique product.

      Your summary doesn't really have anything to do with there being a black market value of an exploit or not.

  12. Content! by celeb8 · · Score: 0

    Content!

  13. let's see if work lets me post by Anonymous Coward · · Score: 0

    probably not.

    pagerank algo encourages referencing one's previous posts.

    algo changes us.

    -s

  14. When did slashdot become a blog for Bennett? by oneiros27 · · Score: 1

    It used to be that CmdrTaco or one of the others on the slashdot staff would occassionally post an article, but in general, the standard procedure would be that someone would write something on some other website, and then Slashdot would link to them.

    And sometimes, they'd link to one blog over and over again so often that were just rehashes of press releases (eg, coondoggie & Roland Piquepaille) rather than containing any original information or commentary, and they crowd out actual good articles on the topic. ... but what is Bennett's link to the site? Obviously, it's stronger than coondoggies Network World spamming, as he's linking in articles rather than directly posting them.

    It seems like Bennett might have some tech cred, and may specifically have experience in this particular area ... but he posts on such a wide area of ... I'd say expertise, but some of it's poorly informed crap.

    It almost seems like his submissions are trolling from the slashdot 'editors'.

    --
    Build it, and they will come^Hplain.
    1. Re:When did slashdot become a blog for Bennett? by Anonymous Coward · · Score: 5, Funny

      But you don't understand. Bennett discovered DIMINISHING RETURNS.

      People need to know.

      NEED. To. Know.

    2. Re:When did slashdot become a blog for Bennett? by Anonymous Coward · · Score: 0

      Instead of wasting time throwing your pearls of wisdom before these unappreciative simpletons, why don't you head over and take a look at Tarsnap?

      He'll pay a bounty for every bug you find. Even for typos! (Though small bounties are paid in Tarsnap credit.)

      With an (effectively) infinite number of bugs, that's infinite money! Your amazing insights on software quality and mathematics could make you rich!

    3. Re:When did slashdot become a blog for Bennett? by Anonymous Coward · · Score: 0

      Bennett posts beautiful works of diminishing returns every time he sits in front of a keyboard.

      Society would be better off if he were a garbageman.

    4. Re:When did slashdot become a blog for Bennett? by Anonymous Coward · · Score: 5, Informative

      Bennett, I think it's mostly that you simply DON'T REALLY HAVE ANYTHING THAT INTERESTING TO SAY.

      What you've presented us with is a smugly self-congratulatory "inner dialogue" in which you discovered that "at some point, it becomes more expensive to find bugs than the bug bounty will compensate you!"

      Anybody with more than a second grade education can reason this out for themselves, but you saw fit to drone on for pages about it. You do this a lot. it's not informative, interesting, or insightful. You should probably either: a) up your game and offer us some real thoughtful insight; or b) shut the fuck up and take it back to livejournal.

      Congratulations, you've discovered the law of diminishing returns - you're a fucking legend.

    5. Re:When did slashdot become a blog for Bennett? by boundary · · Score: 1

      "Society would be better off if he were a garbageman." Some might say he is.

    6. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1

      Is this really your response to people who don't agree with you? It's all going to come down to a matter of opinion, even if most of us don't share yours it's impossible to say any are right or wrong. This is the problem with the BS rants you post, it's all like that, you take some stance you KNOW will be unpopular, and you try to insist that you're right, when it's an impossible thing to prove. You are trolling, you are always trolling, you know it even if you don't want to admit it. This is why every time you post something there is an increasing number of complaints in the comments below. I'll admit, Slashdot is a great place to troll because most everyone will take the bait, but you're still only trolling.

      It's time for you to respond to us, Bennett. What makes you think Slashdot, a technology news aggregate, is the place for you to plaster your obviously unpopular opinions and argue that you're right? And why is it that you get this special treatment, being allowed to post all your rants on the front page of Slashdot, while the rest of us are stuck in the comments section unless we write some popular, interesting article on our own site?

      If you opt not to respond, I'll take it as an admission you know you don't deserve your front page spots on Slashdot and can't justify any of it, which I suspect to be the case.

    7. Re:When did slashdot become a blog for Bennett? by khasim · · Score: 1

      Except he did not stop there. That's the problem. Allow me to re-state his original premise.

      For a currency "X" there exists an amount "Y" at which (or below) no one will sell accurate bug reports to you.

      When X = "pennies" and Y = "2" you can see how it works. Would you spend your time looking for bugs and reporting them for a possible payout of two cents per report? So at that point I can agree with him.

      BUT THEN HE TRIES FOR A FALSE COROLLARY.

      For a currency "X" there exists an amount "Z" at which (or above) people will sell accurate bug reports to you.

      He uses X = "dollars" and Z = "10 million" there.

      The reason it is a false corollary is that it depends upon a bug's existence being based upon the amount offered to find it.

    8. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 2

      An interesting argument is one that proceeds from premises and reasoning steps that individually are uncontroversial, but taken together, lead to a conclusion that is far from obvious, or even seems wildly counterintuitive -- but which, if you accept the premises and reasoning steps, you have to accept the conclusion as well. The more counterintuitive the conclusion, the more interesting the argument, as long as the premises and reasoning steps are sound. Even if you disagree with the conclusion, the interesting part is to try and identify the premise or reasoning step that you disagree with.

      The problem is that many people respond to these arguments simply based on how they "feel" about the conclusion, and that's missing the point.

    9. Re:When did slashdot become a blog for Bennett? by david_thornley · · Score: 2

      The problem is that the premises seem really dubious, and since there is no actual agreement about bug bounties that I've noticed, the conclusion is not particularly surprising.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    10. Re:When did slashdot become a blog for Bennett? by AmiMoJo · · Score: 1

      Years ago someone would have paid him and published this article in print. Now we have videos of cats doing funny things on the internet so they all went out of business.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    11. Re:When did slashdot become a blog for Bennett? by Anonymous Coward · · Score: 0

      Thats beside the point. When did slashdot become your own personal blog?

    12. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 1

      Which premise do you think is dubious, do you disagree with the premise that an "infinite bug threshold" exists?

      In other words, do you think I'm wrong to say that, whatever state the Apache web server reaches (in the real world that we actually live in, not a hypothetical world with infinite time to scrutinize the code), that a new vulnerability could always be found with $10 million worth of effort?

    13. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1
      No, the problem is you didn't answer either of my questions at all. I'm not interested in knowing why you think this makes an interesting topic to debate, I'm interested in why you think this deserves to be on the front page of Slashdot, and why you are allowed to post it there.

      As to your largely irrelevant post above, you yourself are arguing based on how you "feel." This is not some logically infallible argument, it's your opinion, and you need to get that through your skull. Your post is full of assumptions and estimations. I don't believe you have the expertise to fully analyze Microsoft's best decision from either a profit-motive standpoint or a security standpoint, certainly not without understanding the details of the bug first. I do believe Microsoft has employees with the expertise to determine such a thing, and I imagine they put them to use, so I'll trust they're already doing what's in their best interests. You are free to disagree, but that will only be how you "feel."

      Moreover, your basic argument assumes that because another vulnerability will eventually be found, it isn't worth fixing what's known about today. This is an opinion, one I don't agree with and I don't see how you can reasonably feel this way either. If given a choice between stalling criminals at every turn, and letting them do as they please because they might eventually be able to anyway, I will always choose to stall them. Individual cases of identity theft can be far more costly than $50,000, and that's just the tip of the iceberg when it comes to security. I know you said "bug" and I said "vulnerability," but I don't imagine there's much of a black market value for any bug that can't be exploited.

      Now that I've address your senseless ranting you can answer my questions, Bennett, no need to dodge.

      What makes you think Slashdot, a technology news aggregate, is the place for you to plaster your obviously unpopular opinions and argue that you're right? And why is it that you get this special treatment, being allowed to post all your rants on the front page of Slashdot, while the rest of us are stuck in the comments section unless we write some popular, interesting article on our own site?

    14. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1

      I'll get this. There's nothing to suggest anyone would ever pay so much for a vulnerability, and no guarantee you would find one first spending any amount of money. The "dubious premises" are that anyone would ever pay that much for a vulnerability, or spend that much on the assumption it will yield one. Your real world where there isn't infinite amount of time to scrutinize the code goes both ways, as long as you believe it would take devs to find a bug is how long it's reasonable to believe it would take malicious outsiders to find them. You can not pick and choose unrealistic conditions to make your case.

    15. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 1

      As with every action, the question is whether the benefits outweigh the costs. The benefit of these articles is that they give people who find them interesting something to think about (yes, some comments clearly come from people in that category), and the cost is almost zero, because people who don't like them can scroll past them. (If you know you probably won't like the article but you click through and start posting comments anyway, that's not a cost, because it's self-inflicted.)

      And I didn't mean that a publicly known vuln should not be fixed because "they'll just find another one". What I meant is that if you privately spend $10K worth of effort to find a vuln that only you know about (as far as you know), but it turns out there are so many distinct vulns that can be found for $10K worth of effort that it's not practical to fix them all, then you might as well not bother fixing that one because it doesn't increase the estimated mean time for the attacker to find a vuln (which might be that one or might be a different one). Obviously that logic doesn't apply to a publicly known vulnerability because that one will be exploited right now unless you patch it.

    16. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 1

      The "$10 million" figure is to answer the objection from people who say there's no such thing as an effectively infinite bug threshold.

      So I assume your objection is different: there might be infinite bugs at $10 million, but it doesn't matter because nobody would pay that much for an bug. But consider now, is the same possibly true at $1 million? What about $500,000? Because now you're getting within an order of magnitude of what it might be worth on the black market.

      Hopefully the infinite bug threshold is not below the black market value of a vulnerability, but the point of the article is that everything is different depending on whether it is or isn't.

    17. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1
      There you go spouting nonsense and not actually answering my question. I'd bet most of us who post on Slashdot could come up with an interesting post a week, something that will be interesting to a number of other people on the site. I think you'd have a hard time disagreeing with that, you'd have to have an ego the size of the moon to think you're the only one of us with anything interesting to say. Actually, given the size of the Slashdot audience, I'd wager anything that doesn't amount to mere gibberish will spark some discussion. So, if you accept your previous reasoning that articles which can potentially start an interesting discussion are beneficial with no cost, and you accept that many (any) of us could write something that would do the same, then you believe we should all be allowed to post on Slashdot's front page. After all, you can't disagree with the conclusion if you agree with the reasoning, right Bennet?

      So why can't we all post our rants on the front page, Bennet?

      The fact is your reasoning is BS, and you know it, because the same could be said about any junk you want to plaster on the front page. It's an opinion, Bennett, they're like assholes, and while I'm sure there's someone who could make the case that a picture of your asshole could spark an interesting discussion, I don't think we need to put one up, let alone a new one every week.

      Slashdot is not a blog, yet you are able to use it as such when you think you have something interesting to say. Slashdot is a news aggregate, as I said before. Now please stop dodging this and give me straight answers to my questions:

      What makes you think Slashdot, a technology news aggregate, is the place for you to plaster your obviously unpopular opinions and argue that you're right? And why is it that you get this special treatment, being allowed to post all your rants on the front page of Slashdot, while the rest of us are stuck in the comments section unless we write some popular, interesting article on our own site?

      Come on, Bennet, prove to me (and maybe yourself) that you deserve your spot on the front page and the rest of us don't. Convince me you deserve so much as the time it takes to realize it's one of your posts and keep scrolling from everyone who reads Slashdot, and convince me I don't.

    18. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 1

      Make up your mind how you're going to spell my name...

      Anyway, isn't the answer to your first question obviously that Slashdot has decided they want to be not a pure news aggregate, but a news aggregate that occasionally posts original content? When McDonalds put their first chicken burgers on their menu, did people go ballistic saying "What makes you think McDonalds, a beef hamburger joint, is the place to be selling chicken burgers?"

      As for the second question, I think the articles meet a high threshold of reaching a counterintuitive or controversial conclusion while proceeding from premises and reasoning steps that individually are hard to argue against. If I just wrote articles that stated a controversial point of view without the supporting argument, I doubt Slashdot would publish them.

    19. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1

      Firstly, not infinite, stop using that word, nothing in this BS argument is infinite. There is a limited number of bugs, and a limited amount of time for anyone to find them. Second, you can not act as if the optimum black market price of an exploit is how much someone will spend to find it, nobody smart enough to find anything is dumb enough to ignore the high potential for failure. It's possible that someone else will have found it first, they might go over budget, there's even a chance they'll never find anything. You're also ignoring the possibility that many people don't care about the black market value because they have morals, but knowing there's a legitimate bug bounty program is enough motivation to keep chipping away in their spare time because it's more interesting than television and has the potential to yield a cash bonus sometimes. You make too many assumptions, your entire argument is based on them.

    20. Re:When did slashdot become a blog for Bennett? by bennetthaselton · · Score: 1

      Well when I refer to the "cost" of finding the next bug I'm referring to the estimated average cost, so that factors in the possibility of failure or going over budget or not being the first to find something.

      Yes, the bounty program doesn't have to be quite as high as the black market value, because most people would prefer to deal with the software manufacturer than with the black market. Good point, I should have mentioned it.

      But regarding this endless hair-splitting of the use of the word "infinite", for heaven's sake, I said in the article, and about ten times since, I don't mean literally infinite. What I mean is, suppose the amount of security bugs that can be found for $100K worth of effort is... "very large". That means there's no point in you, as a white hat, investing $100K worth of effort to find and fix one of those bugs, because if an attacker was going to spend $100K worth of effort to try and find a bug, and the number of such distinct bugs is enormous, then they're probably not going to find the exact same bug that you found, and therefore you haven't increased the attacker's estimated mean time to find a new exploit.

      On the other hand, that doesn't change the fact that if a particular bug has been found and released in the wild, obviously you should still plug that one.

    21. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1

      Okay, I'm obviously missing some important details not being a security expert. Clear a couple things up for me.
      1. Do security researchers spend their efforts actively searching for one particular bug using one particular method, or do they try a lot of different things and expect to find a lot of different bugs of varying levels of importance?
      2. Do companies looking at their own code for bugs only concern themselves with bugs that would be worth selling on the black market, or is every bug a concern for them?
      3. Bit of an opinion question, how much would you consider spending to find a bug to sell for $100k considering the potential failure of the endeavor?
      4. Do you think bug bounties are the primary motivation for white hats to research bugs, and if not what effect do they have?

    22. Re:When did slashdot become a blog for Bennett? by arth1 · · Score: 1

      Okay, I'm obviously missing some important details not being a security expert. Clear a couple things up for me.
      1. Do security researchers spend their efforts actively searching for one particular bug using one particular method, or do they try a lot of different things and expect to find a lot of different bugs of varying levels of importance?
      2. Do companies looking at their own code for bugs only concern themselves with bugs that would be worth selling on the black market, or is every bug a concern for them?
      3. Bit of an opinion question, how much would you consider spending to find a bug to sell for $100k considering the potential failure of the endeavor?
      4. Do you think bug bounties are the primary motivation for white hats to research bugs, and if not what effect do they have?

      I don't think Mr. Haselton is qualified to answer these.

      1: A little of both. I can only speak for myself, but I tend to look at a particular piece of hardware or software, and poke it until I find something interesting. Now interesting doesn't have to be a vulnerability, but it engages the brain. Could there be an exploit in here? And if not, could there be an exploit in other products that use a fairly similar design for something?
      I may start looking at product A, and find X interesting, but end up finding a defect Y in product B.

      2: Both. You sell not only a product, but a perception that you care about your customers. Besides, most companies have people in decision who wouldn't be able to make an educated decision on what type it was, and underlings whose opinion is tainted because they have a real need to cover their own ass. And the companies certainly won't take the word of a hacker as to what the impact is, so they'll usually err on the side of caution, i.e. treat it seriously.
      Note that treating it seriously might mean it will take quite a long time to fix, because taking code seriously also means extensive tests that fixes don't break anything else. A company that has a very fast turnover for security fixes is one that I wouldn't trust much - it's a prime candidate for looking for more problems.

      3: You start with a premise that the hunt is to get a reward. I believe that's almost always a false premise.

      4: No, I think the primary motivation is curiosity. Unless that;s your primary driver, you will likely not be good at it.
      A bounty might make a hacker go to the company after they've discovered the bug, instead of just sitting on it.
      Which I think is what mostly happens. You know about a security flaw, but don't want to go to the company given the high risk of being sued in best shoot the messenger style. And you don't want to turn blackhat either, neither for criminals nor governments. But, I repeat myself. And if you're not a kid looking for notoriety, chances are you won't tell anyone.
      I am quite convinced there are thousands of unreported vulnerabilities. Bounties might help with that.

    23. Re:When did slashdot become a blog for Bennett? by xigxag · · Score: 1

      The problem, as calculus has shown us, is that when you are playing with the terms infinite or very large, what may be "obviously" true may not be correct.

      Here are some confounding factors (some of which you mention).

      * Lifespan of the software is not infinite
      * Bugs take not only money to exploit, but time as well. As per Brooks' Law it is incorrect to assume you can reduce that time linearly by throwing more money at it.
      * Not all bugs have the same level damage potential. E.g. a bug that requires end user stupidity is somewhat less severe than a bug that requires the end user to do nothing. A bug that requires you to have physical access to the device is much less severe than a bug that can be exploited remotely.
      * Not all bugs are equally easy to discover
      * There are a limited number of labs, whether white hat or black, capable of finding and implementing high-level exploits.

      All that aside, your argument is just dodgy. "It doesn't even matter whether you have a prize program or not; the product is in a permanent state of unfixable vulnerability. " It costs $200 to see a doctor. If I visit the doctor and she discovers nothing, I've wasted $200. If I visit the doctor, and she discovers something, so what? There are an infinite amount of things that could be wrong with me, so no point in ever seeing a doctor, then.

      Showing some math, even running a monte carlo simulation, would go a long way in convincing people you were in any way serious about this matter. As it stands, you're just pulling suppositions out of your nether regions.

      --
      There are two kinds of people: 1) those who start arrays with one and 1) those who start them with zero.
    24. Re:When did slashdot become a blog for Bennett? by Thruen · · Score: 1

      I know he isn't, that's one of the reasons I was asking, his opinion on everything is about as worthwhile to hear as my own, and I know very little about the topic.
      Given these answers, even though they're not from Bennett, it seems his argument is an impossible one to make, as it supposes money spent on research won't turn up multiple bugs (or the benefits of research can't be measured by any individual bug), that vulnerabilities are the only bugs worth fixing (otherwise black market value would have no effect on whether they continue looking for bugs) and that people are motivated only by the money. Your answers are roughly what I expected, and I'd imagine Bennett's answer for #3 would be the same which is what I was really aiming for. So what I gather is that people will spend time finding flaws in software because it's something to do, what the bug bounty program does is provide motivation to hand it over to the people who can fix it for everyone. That being the case, it's a safe bet the value of the efforts that go toward finding these flaws varies widely, some folks will get lucky and stumble across bugs quickly and some may not find anything for years. One major benefit of a bug bounty program is that, since there's no guarantee any given approach will yield worthwhile results, the company gets more results without a much larger investment. By paying out based on the severity of the bug and not the effort that goes into finding it, they're ensuring they never go over budget in finding any of those bugs, where as investigating themselves there is no guarantee they'll find anything after spending any amount of money.

      How about some straight answers now, Bennett? What's your affiliation with Slashdot and why are you able to blog on their front page?

  15. Security is all or nothing? by tomhath · · Score: 1

    Every bug fixed raises the bar slightly. Although I suppose if you're pretty sure there are infinitely many security holes in your code that are all roughly equally easy to find then you shouldn't bother fixing them - you should get another job.

  16. tldr by Zero__Kelvin · · Score: 5, Insightful

    I did read far enough to realize that this person is an idiot. We need only look at the heartbleed bug. If a bounty was offered and resulted in a fix earlier the number of stolen keys would be less, but that is almost besides the point. Once closed they might find another bug, but the likelihood that it will leak private keys is extremely low. To use a car analogy, every car has problems. This is essentially like claiming that fixing the exploding gas tanks in a Pinto is of no use, because the car will still have other issues. Seriously?

    --
    Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    1. Re:tldr by bennetthaselton · · Score: 1

      The analysis only applies to similar classes of vulnerabilities. If you find a remote root exploit in Apache with $5,000 worth of effort, but it turns out there are an effectively infinite number of remote root exploits that can also be found with $5,000 worth of effort, then in fact it is pointless to fix it since that is well below the black-market value of such an exploit, and new ones will never stop being found. But it's irrelevant if there are other far less serious bugs.

    2. Re:tldr by Anonymous Coward · · Score: 2, Funny

      Yes, but to be honest, if your car has windscreen wipers that leave a smear, why worry about the random chance of explosion?

    3. Re:tldr by Thruen · · Score: 5, Funny

      I did read far enough to realize that this person is an idiot.

      So you only got to "Bennett Haselton writes:" then?

    4. Re:tldr by tomhath · · Score: 1

      To paraphrase:

      IF you can easily find a serious security hole AND IF there are a very large number of other serious security holes AND IF there are also a very large number of less serious security holes, THEN there's no point in offering a bounty because the number of less serious security holes plus the number of more serious security holes is so large you'll never fix them all.

      Yes that's true. But it doesn't take a page long monolog to say it.

      However, IF your bounty turns up a security hole like Heartbleed THEN the bounty was money well spent.

    5. Re:tldr by Zero__Kelvin · · Score: 1

      The analysis is absurd, and I'm pretty surprised that you would show your face at all. The fact that your appearance didn't involve an apology speaks volumes.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    6. Re:tldr by twocows · · Score: 1

      I don't think so. New ones *will* stop being found, or at least the rate of finding will slow down, especially if they're being patched. The effort required to find such exploits will also go up, which will also raise the price on the black market. Past a certain point, blackhats will likely just focus their efforts elsewhere.

    7. Re:tldr by bennetthaselton · · Score: 1

      Except this analysis is wrong and that's what happens if you try and take shortcuts. It doesn't matter whether there is a "very large number of serious security holes", it matters if there is a very large number of serious security holes that can be found for a cost which is less than the black-market value of the security hole.

      Yes, I'm sure the article could have been made shorter.

    8. Re:tldr by bennetthaselton · · Score: 1

      Which part of it doesn't make sense to you? That if there are effectively infinitely many remote-root vulnerabilities that can be found for $5,000 worth of effort, and the black market value of such a vulnerability is $10,000, then finding and fixing one of those $5K-vulnerabilities will not affect the expected amount of time that it takes the black hat attacker to find one themselves when they start looking?

    9. Re:tldr by Rich0 · · Score: 1

      Yup. If you're just going to throw up your hands and say that bug-free software is impossible, why not just intentionally write software that doesn't work at all?

      My Linux kernel HAS to be broken. So, why not just edit the source and put an infinite loop at the entry point? The resulting black screen when I boot up must be just as useless as the OS I'm typing on right now, right?

    10. Re:tldr by bennetthaselton · · Score: 1

      Well yes, if eventually you run out of bugs that can be found with less than $10K worth of effort and $10K is the black-market value of the exploit, then that is the case where the black-market value is below the infinite bug threshold, and the product can be made secure, and as you said, black hats will move on to something else. That was my point :)

    11. Re:tldr by Zero__Kelvin · · Score: 2

      "Which part of it doesn't make sense to you?"

      Actually there are e few things:

      1. 1) You wrote a long, absurd and useless analysis piece and then actually decided to broadcast your drivel in the apperently mistaken belief that it is actually well written and has a point "I just don't get"
      2. 2) Slashdot actually published your drivel
      3. 3) You continue to defend it, despite an overwhelming number of people pointing out how incredibly stupid it actually is

      All of those things baffle me

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    12. Re:tldr by TubeSteak · · Score: 1

      This is essentially like claiming that fixing the exploding gas tanks in a Pinto is of no use, because the car will still have other issues.

      No, it's like claiming that the Pinto is always going to have an exploding gas tank issue, even if you fix the current cause.

      Some cars (software) have so much going on that there will always be problems,
      unless you use a design process (coding language) that doesn't allow it to happen.
      Or do you really think that Microsoft products with millions of lines of code are someday going to be bug free?

      --
      [Fuck Beta]
      o0t!
    13. Re:tldr by Anonymous Coward · · Score: 0

      Bennett admitted he could have written less! MOD PARENT UP.

    14. Re:tldr by bennetthaselton · · Score: 0

      For the third time: Is there a statement in the article, or a step in the reasoning, that you believe is incorrect?

      If you cannot cite an example this time then I'm going to assume you don't have one.

    15. Re:tldr by Anonymous Coward · · Score: 0

      > Which part of it doesn't make sense to you? That if there are...
      There's your first failure. There aren't.

    16. Re:tldr by Zero__Kelvin · · Score: 2

      It has been pointed out hundreds of times already. The number of flaws in your analysis are astounding. Two that stick out are that there are an infinite number of bugs and that they all have the same weight and value. You literally concluded that if so and so said that they could find another bug in the same time frame that it was a fact. The bugs you are talking about would get caught by splint, so if you simply ran a decent code coverage tool on the code then his claim is suddenly bullshit. Your entire analysis is flawed. Do you really need me to show you the errors in your analysis. OK. Here they are.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    17. Re:tldr by Anonymous Coward · · Score: 0

      Yes, I'm sure the article could have been made shorter.

      But then it would have confused everyone that has come to expect you to spend two pages rambling on stuff that could have been summed up in 4-5 sentences. Your style sucks, man.

    18. Re:tldr by bennetthaselton · · Score: 1

      All of the people talking as if I had said there were "literally infinite" bugs in a product are missing the point. I said, very clearly, that of course the number of bugs is not literally infinite, but I was considering the case where there are so many bugs which can be found for $X worth of effort, that it's unrealistic to find and fix them all in the time frame before the product becomes obsolete anyway.

      The fact that there are dozens of people responding as if I had said "literally infinitely many bugs" does not make their point any more valid.

    19. Re:tldr by Anonymous Coward · · Score: 0

      I've said it before and I'll say it again, "Fuck you, Zero Kelvin." You're one of the biggest trolls on Slashdot. Mostly just insults and character assassination with little in the way of relevant debate or discussion.

    20. Re:tldr by Anonymous Coward · · Score: 0

      Well yes, if eventually you run out of bugs that can be found with less than $10K worth of effort and $10K is the black-market value of the exploit, then that is the case where the black-market value is below the infinite bug threshold, and the product can be made secure, and as you said, black hats will move on to something else. That was my point :)

      You sure took one hell of a long time to get to that (trivial) point. Next time, I suggest you aim for brevity. Or, better yet, just not bother.

      Just my $0.02 worth.

    21. Re:tldr by Zero__Kelvin · · Score: 1

      You've actually never said that before, but Bravo for stepping up like a man, logging in, and stating your opinion ... oh wait.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    22. Re:tldr by Anonymous Coward · · Score: 0

      Yes, I have said it before. You're either lying as usual or your memory retention is below average. I've been a regular on Slashdot for over 16 years, but never felt the need to "log in." You have the narcissistic need to make a name for yourself because you're a pussy. You're about as manly as this guy.

    23. Re:tldr by Zero__Kelvin · · Score: 1

      Yeah. You sling insults behind an AC post and I'm the pussy. Hilarious stuff, really.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
  17. You want to solve bugs? by Anonymous Coward · · Score: 0

    Make software programming an actual profession like electrical engineering. Because right now it looks more like a bunch of overgrown children moving pictures around on a screen.

    1. Re:You want to solve bugs? by burisch_research · · Score: 2

      Look where that got the electrical engineers.

      http://news.slashdot.org/story...

      --
      char*f="char*f=%c%s%c;main(){printf(f,34,f,34);}";main(){printf(f,34,f,34);}
  18. It's not the infinite bugs... by HaeMaker · · Score: 1

    ...it's the lack of accountability. The reason why Microsoft should take the cash is because they are not accountable for their bugs by contract. Finding a vulnerability costs them money, it does not make or save money. The only case that can be made for disclosing and fixing vulnerabilities is improved goodwill, but even that is tempered by the fact that what ever meager goodwill they gain by fixing the bug is probably cancelled by the loss in goodwill from having the bug in the first place.

  19. From basic programming to advanced by erroneus · · Score: 1

    Like so many others, my first code was:

    10 PRINT "HELLO WORLD"

    We started out with some basic operations and grew from there. Unfortunately most people kept what they liked and discarded the rest. Things like data and input validation are seen as a waste of time by so many. Strings and other data which get passed to other processes in other languages (like SQL, or Windows image libraries) also warrant some inspection.

    The types of vulnerabilities we find most often happen because programmers are neglecting to pay attention to some of these very basic things. Others are more complex, but if these basic issues are still going on, then it's hard to see programmers as generally professional whether they are commercial or open source writers.

    It may come as a surprise to some people, but the mistakes made in coding these days are increasingly critical in nature as civilization is increasingly reliant on what is being written and run out there. Much scrutiny and soul searching should be done. (It won't happen until some really bad things happen and frankly, the truly bad things are too much of an advantage to alphabet agencies so we won't hear a push for this from government in case anyone was waiting for it.)

  20. I hate to TL;DR, but... by SecurityGuy · · Score: 2

    ...the notion that if you can't make software bug free, you may as well not bother is just stupid on a scale that's hard to comprehend. I skimmed as much of that article I could stomach, but I'm done.

    If we can't make cars crash proof, we may as well not make them safer.
    If we can't make people immortal, we may as well stop advancing medicine.

    You know what? If you can't find perfect stories, you may as well stop posting junk like this.

  21. Crack is a hell of a drug by JoeyRox · · Score: 0

    Huh?

  22. "you might as well not bother" by rebelwarlock · · Score: 1

    I'm gonna have to stop you right there, because your entire premise is retarded. If someone finds a bug in your software, and you don't bother to fix it, you are intentionally keeping the software less secure than it could be. That should be criminal, but I'd be satisfied with Ben 10 not being allowed to have a blog on slashdot anymore.

    1. Re:"you might as well not bother" by bennetthaselton · · Score: 1

      My point is that if there are (effectively) infinitely many bugs below the black-market value threshold, then the software isn't any less secure because you didn't fix a bug -- because you haven't changed the amount of effort it would take for the attacker to find their next vulnerability.

    2. Re:"you might as well not bother" by rebelwarlock · · Score: 1

      That makes even less sense than the rambling original post. Maybe you should go back to complaining about how you got put on spam blacklists.

  23. WTF? by mbone · · Score: 1

    I don't think he understands how security works.

  24. True for crap software by flyingfsck · · Score: 1

    Not true for software that was written properly, reviewed, unit tested and system tested.

    --
    Excuse me, but please get off my Pennisetum Clandestinum, eh!
  25. There is important factor being ignored. by Anonymous Coward · · Score: 0

    If one makes the assumption that regardless of the infinite bug threshold, the security researchers are simultaneously both the black and white hats and therefore looking for and finding the bugs. The purpose of the prize is not to solicit the search for bugs but to become the purchaser of the bugs which are going to be found in any event. Not offering prizes means that infinite stream of bugs goes to the black market, offering prizes means that stream of bugs goes to the vendor.

    What on earth makes someone assume there are two distinct groups, black and white who will only sell to their own respective markets? There is one large group that consists of everyone who makes a living hunting for bugs and they will sell to whichever market is most desirable. The black and white hats simply designate which market bought a given vulnerability. There might be a tiny smattering who will only sell to the white market on principle but they would have disclosed without a prize. There are probably zero or nearly zero who would refuse to take the money of the vendor today even if they've always sold to the black market in the past.

  26. Security compiler? by eyepeepackets · · Score: 2

    Why not a security compiler? Seems some clever, creative hackers could work up something which would take raw code, subject it to some scrutiny and give output/feedback. Perhaps even a security switch to the standard compilers or even a security test suite. Shouldn't be that hard to do.

    --
    Everything in the Universe sucks: It's the law!
    1. Re:Security compiler? by swillden · · Score: 1

      Why not a security compiler? Seems some clever, creative hackers could work up something which would take raw code, subject it to some scrutiny and give output/feedback. Perhaps even a security switch to the standard compilers or even a security test suite. Shouldn't be that hard to do.

      Shouldn't be too hard... in the sense that solving the Halting Problem shouldn't be too difficult. I conjecture that with an appropriate set of assumptions it's possible to use Rice's Theorem to prove that security analysis is equivalent to the Halting Problem.

      Of course, static analysis can catch some vulnerabilities, and can highlight potential vulnerabilities. That's what Coverity does. But I don't think any mechanical process can defeat a creative attacker.

      --
      Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
    2. Re:Security compiler? by DworkinLV · · Score: 1

      Seriously, this is a non trivial problem. It is hard to mechanically reverse engineer code (executable), yes I've tried it. Even with full source (as a compiler would have) determining what the condition of a stack or heap is NOT easy. Otherwise we would never have any bugs to fix ever. Yes there is some stupid code out there that is is obvious that it is insecure, now try writing code to determine even the simple problems. Determining at compile time what the condition of a stack or heap will be, when it is dependent on the state of the machine, is nigh on impossible. Work in ASM for a few years, or better yet, try to decompile code or write a compiler (optimizing preferable), and see how easy the problem is. There is no quick easy fix (short of the old definition of a secure computer, one that isn't plugged into a network or power LOL)

      --
      Browsing without an adblocker is like fucking without a condom - Mal-2
    3. Re:Security compiler? by AmiMoJo · · Score: 1

      It is hard to do, and in this case might not even have helped. The problem was a custom implementation of a common memory management library function that behaved differently from more secure variants. The original reason for making the custom version was performance of the some of the standard ones that were more secure.

      To even begin to diagnose that kind of problem the compiler would have to know about the target OS, the C library implementation and possibly even the behaviour of other pre-compiled modules linked at run-time. That wouldn't protect you from issues stemming from run-time libraries either, and it's hard to see how a compiler could deal with those.

      --
      const int one = 65536; (Silvermoon, Texture.cs)
      SJW, n: "Someone I don't like, and by the way I'm a fuckwit" - AC
    4. Re:Security compiler? by Anonymous Coward · · Score: 0

      "Shouldn't be that hard to do"...
      Another phrase lifted from The Ivory Tower Climbers Handbook.

  27. Security research effort is non-deterministic by Anonymous Coward · · Score: 1

    Haselton's analysis (for what it is) in this post assumes that, just because a Professor said he thought it might take "about the same amount of time" for his team to find another vulnerability, that ALL security vulnerability research carries a linear, or at least deterministic, cost (in terms of man-hours, whether those hours are paid or unpaid).

    This is simply not true. The reasons are as follows:

    (1) Security vulnerabilities are best described by the methods or mechanisms used to find and then exploit them. Although there are some security vulnerabilities (such as buffer overflows) that can be searched for using deterministic methods that are relatively fast and sometimes even automated, there are many classes of vulnerabilities where the time investment required is completely unpredictable -- anywhere from minutes to thousands of years, assuming you have world-class security researchers working on them full-time. Not only is it not deterministic, but we can't even put any kind of reasonable bound on the amount of time it would take for someone to deliberately (or accidentally) discover such vulnerabilities.

    (2) There are security vulnerability types (a "type" is classified by a close similarity in the procedure used to detect and/or exploit the vulnerability) which are either very rarely known to anyone on the planet, or completely unknown as of today, and may not be found or described at all for many years to come. These types may bring with them completely arbitrary, but interesting properties. For example, a yet-to-be-revealed class of security vulnerabilities may be trivial to detect, but require advanced degrees in physics or mathematics to exploit. Another class may require resources such as a quantum computer just to detect them, a resource which is not widely available in 2014. Since we don't yet know what the characteristics of undiscovered security vulnerability types may be, we can't predict, or even estimate, what the cost of finding them might be. It's not impossible to conceive that quantum computers (that is, either using quantum computers as a tool in detecting vulnerabilities in digital computers, or vulnerabilities in quantum computers *themselves*) might expose entire new classes of vulnerabilities that are trivial to detect and exploit, and frighteningly severe.

    The "economics" of security research (where I speak of economics in terms of the amount of human and/or computer resources have to be "spent" to find and exploit a particular vulnerability) are far, far too dynamic to start throwing around big round numbers and inequalities. That kind of reasoning only applies when a specific type of product has been found to have many vulnerabilities of the exact same type, and these vulnerabilities are being continuously found using the same techniques day by day (or however long it takes to find a new one). This parade of same-class vulnerabilities may continue for a while, but in general, once a manufacturer gets slapped in the face with 2 or 3 vulnerabilities of a particular class, the next patch or product release they introduce tends to completely close off that class of vulnerability, after which the cost of finding a new class of vulnerability rises to the level of "indeterminate, and unpredictable even in principle".

    Take Android rooting for example. For a long time we were able to root Android devices rather trivially, using similar vulnerabilities such as symlink attacks and unchecked input vulnerabilities in privileged system processes. Now, both manufacturers and Google have wisened up to these types of vulnerabilities, and either the bloatware devs or the manufacturers are testing for these vulnerabilities before they release their OTAs. So far, the Motorola Droid Ultra's 4.4 firmware has not been rooted, despite the line having a fairly large user base and more than a month of exposure (several months by now, actually) and $1500+ root bounty. That's because the attackers are using "old, tried and true" exploit types, which are now largely obsolete.

  28. Seek help by h4x0t · · Score: 0

    Bennett,
    I know life can seem like an endless rat race sometimes. It is difficult to refute that logic to a rational mind, but we are not simply rational minds. We love and lose and fix endless bugs, and we shouldn't just give up.
    You should consider seeking help. I know... it will be from some git psych major, but it's possible they will put your mind at ease.

  29. I think you're working from a few false assumption by Opportunist · · Score: 5, Insightful

    First, bugs in a given program are not infinite in number. By definition. Because the code itself is finite. Finite code cannot have infinite bugs. Also, due to the nature of code and how it is created, patching one bug usually also takes care of many others. If you have a buffer overflow problem in your input routine, you need only patch it once, in the routine. Not everywhere that routine is being called.

    I have spent a few years (closer to decades now) in IT security with a strong focus on code security. In my experience, the effort necessary to find bugs is not linear. Unless the code changes, bug hunting becomes increasingly time consuming. It would be interesting to actually do an analysis of it in depth, but from a gut feeling I would say it's closer to a logarithmic curve. You find a lot of security issues early in development (you have a lot of quick wins easily), issues that can easily even be found in a static analysis (like the mentioned overflow bugs, like unsanitized SQL input and the like), whereas it takes increasingly more time to hunt down elusive security bugs that rely on timing issues or race conditions, especially when interacting with specific other software.

    Following this I cannot agree that you cannot "buy away" your bug problems. A sensible approach (ok, I call it sensible 'cause it's mine) is to get the static/easy bugs done in house (good devs can and will actually avoid them altogether), then hire a security analyst or two and THEN offer bug hunting rewards. You will usually only get a few to deal with before it gets quiet.

    Exploiting bugs follow the same rules that the rest of the market follows: Finding the bug and developing an exploit for it has to be cheaper than what you hope to reap from exploiting it. If you now offer a reward that's level with the expected gain (adjusted by considerations like the legality of reporting vs. using it and the fact that you needn't actually develop the exploit), you will find someone to squeal. Because there's one more thing working in your favor: Only the first one to squeal gets the money, and unless you know about a bug that I don't know about, chances are that I have a patch done and rolled out before you got your exploit deployed. Your interest to tell me is proportional to how quickly I react to knowing about it. Because the smaller I can make the window in which you can use the bug, the smaller your window gets to make money with the exploit, and the more interesting my offer to pay you to report the bug gets.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  30. So let's disband the Secret Service then. by jthill · · Score: 1

    Because it's widely understood that if anyone competent _really_ wants to kill the President, they're going to do it.

    --
    As always, all IMO. Insert "I think" everywhere grammatically possible.
  31. Right argument, wrong conclusion? by Anonymous Coward · · Score: 1

    I agree with much of your analysis, but I think the conclusion you draw isn't the most interesting or useful one from the available data. The better, but related, line of reasoning goes like this:

    1) The more security-critical your software is to the world (protecting more dollars, as in users multiplied by the value of the what the users lose when this software breaks), the higher the black-market value of finding a bug.
    2) The more total bugs your software has (defect rate multiplied by LOC), the more it costs to fix a given fraction of the bugs via a bounty system (whether that fraction is half or all of the finite bug count).
    3) A software company can only rationally afford a given total bug-bounty payout for a product before the entire product (money earned on making+selling the software minus bug bounty payouts) is a net loss and they might as well discontinue and withdraw the software from the market. This sets constraints on the maximum bounty the company can rationally offer, which we can then compare to the black market bug value.
    4) Therefore, in approximately the same cases you state it's not worth offering a bug-bounty at all (because there will always be more bugs that are "worth it" on the black market), the best conclusion is that the company should not be selling the software to users *at all*, and users should not rationally be consuming this software, because it's a net loss for everyone involved (except the black hat hackers).
    5) Therefore, in any case where your original analysis concludes that it's not in the rational best interest of a company to offer a bug bounty, it's *also* not in the best interests of the company or its users for the company to even be selling that software in the first place (or for the users to be using it). So the meta-meta-conclusion is that after an unbiased self-analysis, a rational and responsible company has two real options: offer a bug bounty that's high enough to increase security (given black-market value), or withdraw the product from the market. It's never rational to keep selling the software *and* not offer a decent bounty, or any bounty at all.

  32. duh? by beernutmark · · Score: 1

    In other news, there is no point in cleaning your house because it will just get dirty again later.

  33. An infinite number of people think Bennett is boob by Anonymous Coward · · Score: 1

    If we pay the police to stop one person from punching Bennett in the nose for being a boob what have we accomplished, there are an infinite number of people who want to punch Bennett in the nose for being a boob and therefore trying to stop people from punching Bennett in the nose is an exercise in futility.

  34. Cost of formal verification by tepples · · Score: 1

    We start with the assumption that the vast majority of the market isn't willing to pay a company substantially more to ship a formal proof of a software product's security along with the product. I'm interested in your bright ideas for making such a formal proof economical.

  35. More to bounties than bugs by wjcofkc · · Score: 1

    Bug bounties don't always involve bugs. A lot of times it is paying someone to back port software. For example software x version 1.5 is available for and popular on... lets say an Ubuntu 12.04 based system. Version 2.0 comes out with a host of cool new features, except that it is only available for Ubuntu 13.10 based systems and the maintainers are not going to port it to 12.04. So, within the same frame work of a bug bounty, community members pool money and pay someone $300 to back port the software. I see this sort of thing happen all the time and have personally benefited from it. I also see distro maintainers offer bounties to fix bugs for their own projects or bounties to back port features of their latest system to their previous version. Or is he only talking closed source style bounties? Overall the article is hard to follow logically and seems to have a very narrow view of the world of software in general and I admittedly did not finish it because of that.

    --
    Brought to you by Carl's Junior.
  36. Re:I think you're working from a few false assumpt by bennetthaselton · · Score: 1

    First, bugs in a given program are not infinite in number. By definition. Because the code itself is finite. Finite code cannot have infinite bugs.

    I agree... I did wrote, "Obviously the amount of vulnerabilities is not really infinite — you can only do finitely many things to a product in a finite amount of time, after all — but suppose it's so close to infinite as to make no difference, because the manufacturer would never be able to fix all the vulnerabilities that could be found for that amount of effort."

    Also, due to the nature of code and how it is created, patching one bug usually also takes care of many others. If you have a buffer overflow problem in your input routine, you need only patch it once, in the routine. Not everywhere that routine is being called.

    Right, I also said, "I'm hand-waving over some details here, such as the disputes over whether two different bugs are really considered "distinct," or the fact that once you've found one vulnerability, the cost of finding other closely related vulnerabilities in the same area of the product, often goes way down. But I don't think these complications negate the argument."

    In fact I agree with everything you said, it just sounds like you're reaching the same conclusion that I did. Once you're done with in-house bug finding, offer a prize close to the black market value of an exploit in the software. If there are finitely many bugs in that range -- as you said, "You will usually only get a few to deal with before it gets quiet" -- then the prize will sweep them up.

    Perhaps I should have emphasized: You don't have to start your bug-fixing by offering a prize, you can find as many of them as possible in-house, and from outsiders who report the easy bugs for free. You could even save money by starting with a lower prize, and then ramping it up slowly. (However, this runs the risk that someone might find a valuable bug early on, but keep it secret waiting for the prize money to go up. If they do this, they run the risk that someone else will find the same bug and claim the prize money and then the original discoverer gets nothing. But somebody still might try this. So that's a downside of slowly increasing the prize money.) As long as you end by offering a prize proportional to the black-market value of the vulnerability.

  37. Stupid Argument by smutt · · Score: 1

    We should stop looking for bugs because we can never find them all. Maybe we should stop prosecuting criminals because we can't seem to stop finding more. There will always be murderers, so let's make killing legal.

    --
    The Information Revolution will be fought on the command line.
  38. Inductive Fallacy by swillden · · Score: 1

    This analysis is based on an erroneous assumption which is derived from an inductive fallacy. Specifically, the author assumes that because one researcher who found one bug believes he could have found a second for roughly the same level of effort means that the researcher believes this process could be repeated indefinitely. I'm certain that if Kohno were asked he would deny the validity of this assumption. I'm sure he would say that his team could find a handful of similar bugs for similar level of effort, but once the pool of low-hanging fruit bugs was exhausted, the cost and difficulty would rise.

    --
    Note to ACs: I usually delete AC replies without reading them. If you want to talk to me, log in.
  39. Core assumptions are wrong by gurps_npc · · Score: 1
    First, he assumed that given x effort, you could find bu #1. That is a reasonable expectation, given the state of programming today. Bugs, while not infinite, are in fact so numerous so that the amount of time it takes to find them all exceeds the project life of software.

    Then he assumed that given y effort you could then find bug #2. Again a reasonable assumption.

    Third assumption, that x=y. This is FALSE. For that assumption to be true, then bugs are being found randomly, not by effort. The truth is x is ALWAYS less than y, because it takes skill and effort to find them.

    Each successive bug is more and more difficult to find. However, it is an exponential chart. This means when just starting out, it APPEARS that x=y, but the further you go along, then Y starts being significantly greater than x.

    This is a common problem, faced by mothers cleaning their house and by cops facing criminals. By the time they clean up one mess, a new one has popped up. But that does not mean you stop cleaning. Your efforts do mean something. The idea is to always be one step AHEAD of the mess, not behind it. That way you always end up with an acceptably dirty situation, rather than a virus infected/crime ridden area.

    --
    excitingthingstodo.blogspot.com
  40. WRONG! by Junior+J.+Junior+III · · Score: 1

    Security is not binary. Security is not absolute. There is ALWAYS residual risk. There is no such thing as invulnerability or immortality. Everything can be taken down. Security is not an end state. It is an ongoing process. If you do not continually improve the security of software, by addressing known vulnerabilities, performing a sane risk assessment, identifying threats, and doing what you can to mitigate them, you will regret it. The notion that implementing fixes is pointless because there will always be more vulnerabilities is wrong. Yes, there will always be vulnerabilities. Yes, security is a job that never ends. No, you can't ignore vulnerabilities once you know of them.

    --
    You see? You see? Your stupid minds! Stupid! Stupid!
  41. That's where you are wrong. by khasim · · Score: 1

    My point is that if there are (effectively) infinitely many bugs...

    No need to read any further because that is an incorrect assumption.

    There cannot be an infinite number of bugs (effectively or otherwise) because there is not an infinite about of code NOR an infinite number of ways to run the finite amount of code.

    From TFA:

    (He confirmed to me afterwards that in his estimation, once the manufacturer had fixed that vulnerability, he figured his same team could have found another one with the same amount of effort.)

    Then he was wrong as well.

    There are a finite number of times that buffers are used in that code base. Therefore there are a finite number of times that buffers could be overflowed. If someone went through the code and checked each instance and ensured that an overflow situation was not possible then it would not be possible.

    "Infinite" does not mean what you think it does.

    1. Re:That's where you are wrong. by bennetthaselton · · Score: 1

      Do you really believe that if you offered a $10 million prize to anyone who could find a vulnerability in the Apache web server, that you would reach the point where people weren't finding and reporting new ones -- in the time horizon before that version of the software becomes obsolete and the whole question becomes moot anyway?

    2. Re:That's where you are wrong. by khasim · · Score: 1

      Do you really believe that if you offered a $10 million prize to anyone who could find a vulnerability in the Apache web server, that you would reach the point where people weren't finding and reporting new ones...

      From your inclusion of "really believe" I'd say that your question was rhetorical.

      And wrong.

      At $10 million per buffer overflow? Yes. There would be a finite number of buffer overflows that would be found and fixed.

      At $10 million per X category of bug? Yes. There would be a finite number X's that would be found and fixed.

      Therefore, unless you assume an infinite number of categories of bugs, all the bugs would eventually be fixed.

      Because the code base comprises a finite number of bits and there is a finite number of ways that those bits can be run.

    3. Re:That's where you are wrong. by Anonymous Coward · · Score: 0

      You sound like a whiny toddler.

  42. Re:Wow by Anonymous Coward · · Score: 0

    Earth sized exoplanet found in Habitable Zone. Meanwhile, you get rambling garbage from borderline "Wired level of knowledge" sophists.

    http://soylentnews.org/article.pl?sid=14/04/18/0324230

    Seriously though, you guys keep Bennett. He's all yours.

  43. Lame story by Anonymous Coward · · Score: 0

    This argument is nonsensical. It assumes that security is about money. Cash for vulnerabilities is a responsibility based on human impact, not a business decision based on money.

  44. Re:Wow by Anonymous Coward · · Score: 0

    I wish. Granted, it has a lack of Haselton going for it, but I really tried to like it and couldn't. Seems to be most of the same clickbait crap that gets posted here - and often on a one or two day delay (and it's not like /. is on top of things to begin with). There was some particularly egregious trolling clickbait headline last month that just made me give up on it. Not that /. is any better in that regard, but if the new community isn't any better than the old, why go to the trouble of moving?

  45. software doesn't have bugs by raymorris · · Score: 1

    Thesis is essentially that fixing a bug doesn't increase security because the software still has an infinite number of bugs.

    Obviously, this is false. A software package may have 6 security bugs. Fixing 3 of them reduces by 50% the chance that the bad guy will find one.

    1. Re:software doesn't have bugs by bennetthaselton · · Score: 1

      The point of the article is that IF there are finitely many vulns that can be found for a cost below the black-market value of such a vuln, then fixing each one does make the product more secure, and offering a bounty will be a step in that direction.

      But IF there are effectively infinitely many vulns that can be found for less than the black market value, then fixing one does not decrease the probability that the attacker will find another one.

    2. Re:software doesn't have bugs by Anonymous Coward · · Score: 1

      But IF there are effectively infinitely many vulns that can be found for less than the black market value, then fixing one does not decrease the probability that the attacker will find another one.

      First, this is an absolutely stupid premise: there is no such thing as "infinitely many vulnerabilities". Even if you can't fix them all, reducing the bugs from a thousand to 500 makes it harder to find an exploit (since attackers on the whole will have to test non-vulnerable points as well as vulnerable ones, decreasing the vulnerabilities will increase the search time to find a vulnerability).

      Secondly, the point of fixing bugs is to eliminate known vulnerabilities. It doesn't really matter if they can find new ones, the point is to force them to have to find new vulnerabilities. Since fewer people have the resources to find such vulnerabilities than have the resources to exploit them, fixing the vulnerabilities reduces the vulnerable attacks surface of the software. If you don't fix known vulnerabilities, eventually everyone will be able to exploit the software, not just the people with dedicated resources.

      And finally the fewer total vulnerabilities present the less exploitable the program becomes overall. Many bugs are, by themselves, only minor vulnerabilities, but stacking them together can allow the attacker to gain vastly more control over a system than he would be able to by means of an single vulnerability. Fixing known problems means the attackers have to work much harder to accomplish that, since they cannot rely on exploiting previously known bugs and must find a set of new ones (some of which may even be fixed before they are able to exploit them).

      In summary, the premise is demonstrably false (there are not infinite vulnerabilities in any system), and even if true the conclusion (that bugs should not be fixed) is still false, and ridiculously so.

      Posted AC as I'm on a public computer.

    3. Re:software doesn't have bugs by gnupun · · Score: 1

      And you think a pittance like $1000 for a critical bug is enough incentive for the finder to not hawk this juicy fruit in the black market? They need to pay more!

    4. Re:software doesn't have bugs by gnupun · · Score: 1

      First, this is an absolutely stupid premise: there is no such thing as "infinitely many vulnerabilities".

      Theoretically, yes, the bugs are finite but if it takes decades to find and eliminate them all, they may as well be infinite, practically speaking. Case in point, win xp, which has been out for almost 13 years and bugs are still being found everyday.

    5. Re:software doesn't have bugs by AaronLS · · Score: 1

      There is no such thing as "effectively infinite". What you are alluding to is the fact the the number of vulnerabilities is not known until they are all found, and thus you can never be sure how many more there are. Even in a situation where a product is evolving and new bugs are being introduced, at any given point in time there are a finite number of vulnerabilities. There certainly are not trillions of vulnerabilities undiscovered in in Apache. Nothing that would ever approach infinity such that you can say fixing a vulnerability doesn't decrease the number of remaining vulnerabilities.

      As each vulnerability is discovered and patched, the effort to find the next one should increase slightly, given that methods which either analyze the code, or make brute force attempts to compromise the system(by brute force I mean, "oh let's try passing ";delete userstables" in this field to see if there is SQL injection, no, how about this field?) will have to search longer before finding a vulnerability, since there are now fewer. Each fixed vulnerability reduces the set of vulnerabilities, regardless if they are known, and thus increases the cost to find the next one. Additionally, it is more likely that researchers will find the more easy to find vulnerabilities, while some may be more elusive. This compounds the increase in cost-to-find.

      What you should be more concerned about, is when you have found and fixed all of the easier to find vulnerabilities, what of the small number of finite remaining vulnerabilities? If researchers search and do not find them within a practical time frame that makes the $1,000 prize worth it, then they will not be found. But the blackmarket or other agency might find such a vulnerability to be very valuable, and throw more resources at finding one. Now such a fact doesn't mean the prize program was useless, as it certainly reduced the surface area of vulnerability.

    6. Re:software doesn't have bugs by bennetthaselton · · Score: 1

      Yes we'd expect the cost-to-find to steadily increase at the beginning of testing, and, right, you don't know the number of remaining bugs, all you can do is measure how the cost-to-find is increasing.

      My point is that there is probably some dollar value at which the cost to find the next vuln would never increase beyond that -- in other words, the Apache web server could never reach a state at which you could not find a new vuln for less than $10 million. And the actual dollar threshold might be much lower than that. That's what I'm calling the infinite bug threshold. The question is whether it's lower than the black market value of an exploit, and if it is, then that means the software can never be made secure.

    7. Re:software doesn't have bugs by Jeremi · · Score: 1

      But IF there are effectively infinitely many vulns that can be found for less than the black market value, then fixing one does not decrease the probability that the attacker will find another one.

      Right, and IF my grandmother had testicles, she'd be my grandfather.

      If there is a way for a finite amount of code to contain an infinite number of bugs, I don't see it. (Netscape Navigator excepted of course ;^))

      --


      I don't care if it's 90,000 hectares. That lake was not my doing.
    8. Re:software doesn't have bugs by jhantin · · Score: 1

      My point is that there is probably some dollar value at which the cost to find the next vuln would never increase beyond that... That's what I'm calling the infinite bug threshold.

      In other words, some point at which the marginal cost of finding a zero-day roughly levels off, and thus the price elasticity of supply becomes extremely high; your "infinite bug threshold" is a hypothetical limiting case where marginal cost flattens and price elasticity of supply approaches infinity.

      On the other hand, there is clearly a segmented market of consumers: software vendors themselves, white hat groups, script kiddies, organized crime rings, information warfare organizations, and covert intelligence-gathering organizations, to name a few. The same vulnerability will have a significantly different price elasticity of demand for each type of consumer, and I expect covert intelligence-gathering organizations backed by world-power governments to have awesomely inelastic demand curves.

      Whether or not the marginal cost of finding a new vulnerability levels off, there will almost invariably be some actor willing and able to pay the price to obtain it.

      --
      ...when you're writing a game...tweak the difficulty of "Easy" to something [your mother] can cope with. -- onion2k
  46. i'm missing something by buddyglass · · Score: 1

    If the bounty amount were sufficiently large, i.e. larger than the amount of net profit a black hat could hope to gain by finding and exploiting security a given defect, couldn't a company create a scenario where even a black hat (acting rationally in order to maximize his profit, which is often not going to be the case) would be motivated to report it and claim the bounty rather than exploiting it?

    Now, in theory, if there are truly infinitely many such flaws to be found and subsequent ones aren't any harder to find than the initial ones then a large enough bounty would bankrupt the company. But I have serious doubts at the presence of infinite (or even "practically infinite") security flaws that all require "about the same effort" to find. My suspicion is that the difficulty will increase the more flaws are found.

  47. Eliminating buffer overflows by Animats · · Score: 1

    The problem is C. Programs in all the languages that understand array size, (Pascal, Modula, Ada, Go, Erlang, Eiffel, Haskell, and all the scripting languages) don't have buffer overflow problems.

    It's not an overhead problem. That was solved decades ago; compilers can optimize out most subscript checks within inner loops.

    I've proposed a way to retrofit array size info to C, but it's a big change to sell. There are many C programmers who think they're so good they don't need subscript checks. Experience demonstrates they are wrong.

    1. Re:Eliminating buffer overflows by BitZtream · · Score: 1

      No, those languages have all sorts of other problems.

      Your problem is you're blaming the language for the fact that you're not meticulous enough to write code in C, not that the language is the problem. You just shouldn't be a programmer. I don't think I'm so good that I don't make mistakes, I'm also not so stupid to think that the language is the reason that mistakes were made. You're just blaming something other than the actual person who is the problem.

      But hey, don't let your silly view of reality cloud your way. You keep thinking that a language can make your sloppy code magically better.

      --
      Persistent Volume manager for Kubernetes - https://github.com/dwimsey/openshift-pvmanager
  48. You can't "inspect in" quality by karlandtanya · · Score: 1

    If we take a less-than-good-enough-quality product and iteratively inspect and rework/repair each defect, we will produce a good-enough product. Intuition seems to suggest that this *should* work! Can't you polish a rough piece of metal until it shines? Heck, mythbusters proved you actually can polish a terd.

    The manufacturing industry figured out a long time ago that you can't inspect in quailty. Your process has to produce a product-that-meets-customer-requirements, and if it doesn't you have to fix your process.

    Oh, and the terd? It was shiny, but it still stank. And they don't last very long, anyhow.

    --
    "Reality is that which, when you stop believing in it, doesn't go away." - Philip K. Dick
  49. over simplifiedd by Anonymous Coward · · Score: 0

    The article is a lot of words for an over-simplification. It basically considers the trade-off of cost of one way of fixing bugs to the price a black-hat would pay for a found bug. There's so many things wrong with that.
    For one thing, if I found an interesting vulnerability in some software, e.g. IE, I personally would not sell it to a blackhat for any amount of money.
    So, the price for a blackhat to buy a bug from me approaches infinity, or a great deal more than a $1000 prize
    I think most people are like me. They're not criminals and they won't have anything to do with criminals.

    Secondly, the article only looks at one kind of cost - the reward paid or not.
    Unfixed bugs cost money in terms of lost goodwill.
    If that were not true, no one would use Firefox; we would all still be happily using IE 6.

    Attacks can cost a great deal of money from scrambling to fix and/or apologizing to in various ways to victims.

    Also, consider how much it would cost the company to pay its own developers to look for bugs in its own product.
    How many team-hours could you get for $1,000 where you work. IS that even enough for one meeting?

  50. Re:Wow by Anonymous Coward · · Score: 0

    You mean the same story that was on slashdot YESTERDAY: http://science.slashdot.org/st...

    Proves my point below that soylent news is "yesterday's slashdot news today." Don't get me wrong, I wish it wasn't, but you can't sit there all smug and self-satisfied when your solution is in reality no better...

  51. Infinite? by OFnow · · Score: 1

    I too have worked on projects with seemingly infinite bugs. I concluded that feeling just meant a big (BIG) chunk of code (perhaps the entire project) should be discarded and rewritten from scratch. Not, of course, that the company would ever agree to that...

  52. I do it for the cred, for six figure salary. Jail by raymorris · · Score: 2

    Aside from the obvious ethical reason, I see two reasons more important than the $1,000 to go "white hat" rather than "black hat".
    When a potential employer Googles my name, I want them to find my name on CVEs, Github commits, etc. - demonstrable proof that I do in fact find and fix real-world issues. I'm working on that. Right now, I'd have to point out my contributions, they aren't easily found via Google. For that, having a company or other organization publicly acknowledge my work is much more valuable than $1,000, if it helps me land a great job.

    On the other hand, selling it on the black market could put me in federal prison. If the god guys offer me $1,000 plus a reputation boost, while the bad guys offer me $5,000 plus a possible prison sentence, I think I'll take the good guys' offer. That $1,000 could, in some cases, be enough to pay someone's past-due rent so they don't feel they have HAVE to capitalize on it in a bad way.

    The other scenario I see is that several times per year I notify a smaller company of some security hole I noticed in passing. I haven't thoroughly probed it, just noticed "gee, it throws an error on O'Doole, it's probably not escaping the input and therefore vulnerable to SQL injection". Sometimes I don't bother to track down the proper person to notify and go notify them. Sometimes, I send an email to the only readily available email address, customer service, and the $8 drone on the other end replies with a form letter wholly inappropriate to the situation, so they obviously don't understand what I told them. In those cases, I'll likely not spend much time trying to find another person at the company. If most companies paid even $100 for a bug bounty, that would make it worth my time to spend a few minutes finding their report form and use it. Heck, at $100 per SQL injection vulnerability I could make a good living finding and reporting those for six hours per day.

  53. Re:I do it for the cred, for six figure salary. Ja by gnupun · · Score: 1

    Why doesn't the developer and his/her company do a good job of reducing such bugs in the first place? How much time and money is wasted taking computers offline for updates, how many millions spent on admins patching systems? If the bugs were hard to avoid, I would understand. But c'mon, this is (criminal) laziness and greed, hiring incompetent developers (or paying competent developers the same salary as incompetent ones), and doing a rush job to release the software early to keep some artificial schedule (to save development cost money).

    So in short, the developing company and their developers are personally responsible for many bugs and they should pay market price for their incompetence and not expect charity from strangers to do all the hard work finding the bugs.

  54. the infinite bug threshold by Anonymous Coward · · Score: 0

    I don't know what all that verbiage was actually about (game theory?), but I like "the infinite bug threshold" - I think Android has already slipped over the event horizon. This term deserves to be part of hacker jargon.

  55. Re:I think you're working from a few false assumpt by Anonymous Coward · · Score: 0

    I see the problem here. You're expecting most Slashdot readers, many of whom are Linux zealots or FOSS extremists (opportunist is one such example), to read an entire article. They don't do that. They read up until the point they find something that pisses them off, then they post why they are right and you are wrong.

  56. No, they are not. by khasim · · Score: 1

    All of the people talking as if I had said there were "literally infinite" bugs in a product are missing the point.

    No. They understand and they are explaining to YOU where YOU are wrong.

    I said, very clearly, that of course the number of bugs is not literally infinite, but I was considering the case where there are so many bugs which can be found for $X worth of effort, that it's unrealistic to find and fix them all in the time frame before the product becomes obsolete anyway.

    And that is where you are wrong. YOU are claiming that a very specific HYPOTHETICAL situation is same as the general ACTUAL situation.

    Your HYPOTHETICAL situation is 100% divorced from the ACTUAL situation.

    In the ACTUAL situation there are a finite number of buffer overflow bugs in any specific program and those buffer overflow bugs can be found and fixed WITHOUT another buffer overflow bug appearing. And it is EASY to find the MAXIMUM number of buffer overflow bugs by searching the source code for every instance of a buffer being used.

    Finite AND countable AND fixable.

    The fact that there are dozens of people responding as if I had said "literally infinitely many bugs" does not make their point any more valid.

    No. They are pointing out that YOU have made that assumption even though YOU keep denying it.

    Because once you admit that the number of buffer overflow bugs is finite AND countable then there exists a point where they can ALL be fixed. And you keep denying that that is possible.

  57. WTF? by Anonymous Coward · · Score: 0

    This is the most illogical thing I've ever read.

  58. A penny saved is not a penny earned by lucm · · Score: 1

    The dude says: "A stranger approaches a company like Microsoft holding two envelopes, one containing $1,000 cash, and the other containing an IE security vulnerability which hasn't yet been discovered in the wild, and asks Microsoft to pick one envelope. It would sound short-sighted and irresponsible for Microsoft to pick the envelope containing the cash — but when Microsoft declines to offer a $1,000 cash prize for vulnerabilities, it's exactly like choosing the envelope with the $1,000".

    That's wrong. To have access to $1,000, Microsoft has to earn maybe $1,350 on account of the federal, state and local taxes. But that's not enough because they also need to pay their staff (and their office space), plus the lawyers and accountants who process quarterly for the earnings reports, plus banking fees, and lots of other stuff.

    So paying a $1,000 bounty requires them to forfeit a $1,500 income, while getting a $1,000 cash payment means a $750 profit. Even if the bug is a big one (which rarely happens), what is going to happen? People flocking to OSX and Linux? If you ask the shareholders, taking the cash is a no-brainer.

    This being said, I still don't understand why Microsoft bothers with IE. What do they have to gain? They should take a small chunk of their IE budget and fund Firefox.

    --
    lucm, indeed.
  59. Atrocious logic by bigsexyjoe · · Score: 1

    "Okay, there are not infinite bugs, but let's assume there are and make strong conclusions based the on concept of infinity..."

    This guy is a fucking idiot. The VERY REASON that you don't find all the bugs in a complex piece of software is the diminishing returns on your effort to find bugs. There are a finite number of bugs, you offer the bounty and get the easiest ones found out. Then there are diminishing returns for finding additional bugs, so the payouts stop. To talk about finding bugs without acknowledging the diminishing returns on finding bugs is mindbogglingly dumb.

    It is also worth noting it is not truly impossible to eliminate all bugs, it is just highly unlikely, and the efforts are constrained by the diminishing returns problem.

  60. I'm going to take issue with your malware note by Anonymous Coward · · Score: 0

    Everything I've ever heard says that a lot of malware code is terrible, quality-wise.

    The thing about malware is that the authors care less about the code quality. They rely (I think) upon feedback. Either it works or they don't get paid. However the code is frequently launched into cyberspace only to perform an immediate faceplant. So the authors patch it up and ship it out again, and again, and again.

    It's very Darwinian and the frequent dev cycles look a little like Agile (ha!).

    Eventually it works well enough for the purpose intended. But I don't believe that the authors really care about "quality" per se. You can have a garbage code base that still gets the job done.

  61. Re:When did slashdot become a blog for numbnuts? by Thruen · · Score: 1

    How about I just call you numbnuts instead?

    Alright firstly, your posts are not to a news aggregate what chicken burgers are to McDonalds, especially considering McD's has never been a "beef hamburger joint" or anything so limited. Your posts are not some small deviation from the usual, they're not even always particularly "nerdy" in nature. A more apt comparison would be if McDonalds started selling coffee tables, it's completely unrelated and not what anyone goes to McDonalds for. In fact, it's like Slashdot selling coffee tables, except I bet they'd gain more visitors than they drive away with that one. As for this being the direction Slashdot wants to go in, are you affiliated with Slashdot and can you speak officially to this? Otherwise, I think even you need to admit it's very far out of place from everything else Slashdot consists of and arguably does not belong.

    I think it's clear from the responses you receive here that the worth of your posts is debated about as much as the topics themselves. You'd get as much interesting discussion were the topic, "Should Numbnuts be allowed to blog on Slashdot's front page?" Beyond that, you may find your individual reasoning steps hard to argue against, but the rest of us don't. That's not to say you're not smart enough, but you probably already know that it's far easier to pick apart an argument coming from someone else than see the holes in your own. I still don't see why your opinion deserves to be on Slashdot any more than any other fool's opinion.

    Now here's an easy question to give me a straight answer to: What's the process you follow for submitting these? Are you just filling out the submission form like anyone else and for some mysterious reason the editors post it?

  62. Ok, so what? by RoosterRuley · · Score: 1

    The safest code is that which is never run. That doesn't mean you want to go there.

  63. Re:I think you're working from a few false assumpt by quantaman · · Score: 1

    But I don't think the competition of the official prize with the black market is relevant at all.

    Right now a big proportion of exploits come from security researchers, partially because they're looking for exploits, but also because they do have a strong incentive to find and report vulnerabilities. I don't think a cash prize is going to change their calculation much.

    The place a prize could make a difference is in ordinary developers. I suspect a lot of bugs are partially discovered multiple times before they're officially reported. Some developer is working with the software, notices some weird behaviour, but doesn't follow up because they lack the incentive. A cash prize increases the incentive and potentially turns some of those dev hunches into new bug reports.

    The way the black market comes into play is the devs are competing against the black market. If the bug discovery rate goes up the price of zero-day exploits goes down (since they're shorter lasting) as does the incentive to discover them (since good devs are competing for the same bugs). So you can significantly impact the black hat market without approaching the black hat rate.

    --
    I stole this Sig
  64. Re: Spark some discussion by TaoPhoenix · · Score: 1

    "Actually, given the size of the Slashdot audience, I'd wager anything that doesn't amount to mere gibberish will spark some discussion."

    Your wager is correct, so I'm not taking it! : )

    An easy way to show this is that if someone posts an attempt at a insightful/informative note in the comments, *especially early enough*, it does two things. The "discussion sparked" is directly trackable because the subsequent replies tend to carry that subject title X far down in the threaded format, stopping at the next "highest level node of the tree". Then yes while there are *other* ways, a good post tends to eventually get noticed by the mods and gets at least a couple +1's.

    The other thing is if you get a good early start in the thread before the humorists show up, the whole thread becomes better because we don't care as much about those memes farther down after a story is X hours old with 180 comments.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  65. Re:BH's Process by TaoPhoenix · · Score: 1

    "Now here's an easy question to give me a straight answer to: What's the process you follow for submitting these? Are you just filling out the submission form like anyone else and for some mysterious reason the editors post it?"

    Just sayin', I noticed you're trying to pin down the question we've all been wondering for years, but he'll keep wriggling around it. Clearly yes he is "affiliated" because there's whatever "infinitely" (to use his favorite synonym of Very Large) close to zero statistical random chance that the only blog posts are his. We just don't know the exact nature of the transactions involved.

    Meanwhile in the context of this particular piece, he does seem to be making lots of mistakes. So maybe he thinks "what's the value to me to shake out my reasoning if the commenters will do it for me?" There's no downside for him because we all say our bit, he adds some unclear replies, then he gets to start all over the next week.

    --
    My first Journal Entry ever, in 8 years! http://slashdot.org/journal/365947/aphelion-scifi-fantasy-horror-poetry-webzine
  66. Re:I think you're working from a few false assumpt by Tony+Isaac · · Score: 1

    If software were a closed system, you might be able to argue that the number of bugs is finite. But it's not.

    For example, if you know what you are doing, you can write code that is immune from SQL injection attacks...today. But SQL will change, and it is possible that in the future, SQL will add a feature, or experience a change, that will introduce a bug into your software that will make it once again possible to inject SQL, using an entirely new approach.

    Given the complexity of the interactions between various systems within the computer, and the software being designed, there really IS an infinite potential for bugs.

  67. Yes, Bennett, you even pointed out the incorrect s by Bite+The+Pillow · · Score: 1

    False premise.

    More generally, I think it's reasonable to assume that for a given product, there is a certain threshold amount of money/effort/person-hours such that if you throw that much effort at finding a new security vulnerability, you will always find a new one.

    There are not infinite bugs, as you followed up in a comment below. (#46788587). This portion of your premise was invalidated by your own comment.

    False premise

    This may be the value that you could actually sell it for on the black market, or it may be the maximum amount of effort that a cyber-criminal would invest in finding a new vulnerability. If a cyber-criminal will only start looking for a particular type of vulnerability if they estimate they can find one for less than $50,000 worth of effort, then $50,000 is how much that type of vulnerability is worth to them.

    The premise here is that there is a budget, and that someone is spending money to find a vulnerability. Sure you can argue economics and opportunity costs and time as measured by a wage. But the hackers finding these bugs are *NOT* thinking about this the way you do. You are apparently an economist of some sort, and you don't think like the people actually doing the things you write about.

    Ivan sitting in a hut in Siberia may spend $10,000 per year on heating and food, making a $50k vulnerability worth 5 years of time. If he is more self sufficient, $50k could be worth nearly infinite time. But all he needs are 20 $500 vulnerabilities per year to keep himself afloat. Or 10 of your proposed $1000 bugs.

    In fact, I could argue that Windows has infinite bugs, because even patches contain bugs and have to be re-patched. And new code comes out every 3 years, largely untested by white hats. If all the bugs are found, in every service pack and update, we just wait till the next version and look for all the new bugs.

    Compare with this:

    This means that no matter how many vulnerabilities you find and fix, by the definition of the infinite bug threshold there will always be another vulnerability that a black-hat will find it worthwhile to discover and exploit.

    You did not say the same thing I said. You said infinite bugs, or effectively so. I am talking about a moving target, which you did not mention.l So I can't assume you meant a moving target.

    The remainder of your text is basically argument ad nauseum based on either the infinite bug thesis, or economist theory like "spending an estimated $70,000 to find a vulnerability that is only worth $50,000".

    Again, think of Ivan in the hut, who does not "spend" $70k. As an economist, it might hurt your head to think this way, but Ivan is having fun poking at the code. This is like a Sudoku or crossword puzzle, costing nothing. Opportunity costs? He is not giving anything up. He likes doing this, and people pay him when he gets something exploitable. It is his job, and he doesn't care how much he makes because he earns enough or more than his lifestyle requires.

    Incorrect statement? Just the ones about infinite bugs. But incorrect premise, and incorrect application of theory are rampant. Lots of people seem to be trying to tell you this, but not finding the words. Describe the world as you see it from your ivory tower, but reality is far different.

  68. which is guaranteed to be wrong by raymorris · · Score: 1

    > My point is that there is probably some dollar value at which the cost to find the next vuln would never increase beyond that -- in other words, the Apache web server could never reach a state at which you could not find a new vuln for less than $10 million.

    And that's GUARANTEED to be wrong. We know for certain that after all vulnerabilities are found, spending $100,000,000,000,000,000 still won't find another one. We can reason that the last vulnerability may well be either a) very hard to find (not worth it) or b) fairly to find (in which case $1000 bounty is perfect.). We can guarantee that at some point infinite resources would be wasted, because there are no more findable vulnerabilities severe enough to be worth finding.

  69. Interesting conceptual argument by sigmabody · · Score: 1

    It is an interesting conceptual argument, although it ignores a couple a real-world points.

    First, not all bugs are equal, in terms of exploitation opportunity, as he's glossing over; the vulnerability is only as valuable as what it can be exploited to allow access to, in monetary exploitation terms. A bug in something which cannot be exploited for any particular gain is next to worthless, in market terms.

    Second, not all companies will pay for vulnerability information, because it's not just a value proposition, but also a risk and resources assessment. If nobody expects your software to be "secure", there's no point is spending too much money on software security; for example, nobody pays much attention to the software in cars (yet), so manufacturers have little financial incentive to make it secure. Moreover, if you don't have deep pockets, you're not going to pay for exploits, especially if you're struggling to simply produce features that potential customers want. In either of those scenarios, the value proposition for paying for exploits is inconsequential.

    Most (by volume) software has an effectively unlimited amount of bugs, which nobody will pay for. That's the real world of software.

  70. Underlying assumptions are false by jd · · Score: 1

    Ok, the envelope game. You can rework it to say the second envelope contains the next vulnerability in the queue of vulnerabilities. An empty queue is just as valid as a non-empty one, so if there are no further flaws then the envelope is empty. That way, all states are handled identically. What you REALLY want to do though is add a third envelope, also next item inquire, from QA. You do NOT know which envelope contains the most valuable prize but unless two bugs are found simultaneously (in which case you have bigger problems than game theory), you absolutely know two of the envelopes contain nothing remotely as valuable as the third. If no bugs are known at the time, or no more exist - essentially the same thing as you can't prove completeness and correctness at the same time, then the thousand dollars is the valuable one.

    Monty Hall knows what is in two of the envelopes, but not what is in the third. Assuming simultaneous bug finds can be ignored, he can guess. Whichever envelope you choose, he will pick the least valuable envelope and show you that it is empty. Should you stick with your original choice or switch envelopes?

    Clearly, this outcome will differ from the scenario in the original field manual. Unless you understand why it is different in outcome, you cannot evaluate a bounty program.

    Now, onto the example of the car automotive software. Let us say that locating bugs is in constant time for the same effort. Sending the software architect on a one-way trip to Siberia is definitely step one. Proper encapsulation and modularization is utterly fundamental. Constant time means the First Law of Coding has been broken, a worse misdeed than breaking the First Law of Time and the First Law of Robotics on a first date. You simply can't produce enough similar bugs any other way.

    It also means the architect broke the Second Law of Coding - ringfence vulnerable code and validate all inputs to it. By specifically isolating dangerous code in this way, a method widely used, you make misbehaviour essentially impossible. The dodgy code may be there but it can't get data outside the range for which it is safe.

    Finally, it means the programmers failed to read the CERT Secure Coding guidelines, failed to test (unit and integrated!) correctly, likely didn't bother with static checkers, failed to enable compiler warning flags and basically failed to think. Thoughtlessness qualifies them for the Pitcairn Islands. One way.

    With the Pitcairns now overrun by unemployed automotive software engineers, society there will collapse and Thunderdome v1.0a will be built! With a patchset to be released, fixing bugs in harnesses and weapons, in coming months.

    --
    It's a small world and it smells funny; I'd buy another if it wasn't for the money; Take back what I paid (SoM)
  71. Re:I think you're working from a few false assumpt by Opportunist · · Score: 1

    Of course there is the threat that changes in a system will introduce new bugs, but these bugs are not under your control. And whether or not your underlying system changes is not entirely dependent on the system's maker, it also matters whether or not you deploy the new version.

    Also, it is very, very rare that changes in an underlying system rip open a critical security hole, at least one that you didn't notice due to the change log info. Looking back I can't really remember an instance where such a thing happened to us. We had quite a few compatibility issues, which of course, due to the necessity of code change, bore the potential to introduce new security holes, but I don't remember any security issues with existing code due to version changes.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  72. Re:I think you're working from a few false assumpt by Opportunist · · Score: 1

    Woohoo, I have a fan!

    Too bad it only blows hot air.

    --
    We used to have a Bill of Rights. Now, with the rights gone, all we have left is the bill.
  73. Infinite vulnerabilities by stridebird · · Score: 1

    I see a lot of objections to the word "infinite" being bandied about.

    Bugs are fixed by software developers. And software developers introduced the bugs, unwittingly, into the original code in the first place. Some of the bug-fixes will introduce further unforeseen vulnerabilities. So it's quite probable that the true number of vulnerabilities in a system fluctuates, increases at times, and may only reach zero after an infinite amount of time. The assumption that there is a set of vulnerabilities in a system and this set can be reduced to zero by systematically finding and fixing them all one-by-one is clearly overly simplistic. Add software upgrades into the mix, and I think it's safe to assume that all software is buggy all the time.

  74. On reducing black-market value of vulnerability by stomv · · Score: 1

    > "I'm not sure if there's anything a software company could do by themselves to lower the black-market value of a vulnerability in their product, other than voluntarily decreasing their own market share so that there are fewer computers that can be compromised using their software! Can you think of any other way?)"

    Sure. Educate your users so that fewer of them allow themselves to be vulnerable to the bug. This doesn't work in all cases, but certainly some -- encourage your software users to use better network security, to avoid using their actual ID information, etc. If fewer of the software's users are valuable to the crackers because the users protect themselves, then the black market value of the vulnerability goes down. If my front door lock can be picked, I'm vulnerable -- but if I don't store my most valuable items in my house at all, the value of picking my lock goes down... maybe to the point where the cost-benefit ratio to the criminal makes my house a bad bet for a burglary.

  75. I can't help loving Bennett Haselton posts by jeffrlamb · · Score: 1
    1) I like the intellectual challenge of dismantling his argument in my head as I read it. (Maybe "challenge" is too strong a word, but you know what I mean)
    2) It makes me think about a topic I probably wouldn't have thought about.
    3) The slashdot comment section assassination is hilarious. I don't think I've ever read the comments section of Bennett Haselton post and not laughed out loud to the point others around me want to know what I'm reading.

    I feel bad for the guy (hopefully he doesn't read the comments on his article) and in a way I feel a little bad for getting enjoyment out of the misery of others.
    If slashdot turns into only articles like this, I'm out, but 1 in 20 posts like this is a nice change of pace.

    +1 entertaining to both sides!

  76. Fixing Some Vulnerabilities Screws Features by Mars729 · · Score: 1

    Even if you get rid of all bugs, there will still be security holes. Fixing these security holes can potentially jeopardize the functionality of the software. For example, if you allow scripting in software, you introduce many difficult to fix security holes. If those security holes were fixed, the scripting will inevitability be less useful.

  77. Windows and the infinite bug threshold by Douglas+Goodall · · Score: 1

    "if that's above the infinite-bug-threshold, then you might as well not bother fixing any particular bug at that level, because the attacker can always just find another one. It doesn't even matter whether you have a prize program or not; the product is in a permanent state of unfixable vulnerability." Ah we are talking about Windows now eh?