Slashdot Mirror


Open-Source != Security; PGP Provides Cautionary Tale

Porthop points out this "interesting developer.com story regarding the security of open source software, in regards to theories that many eyes looking at the source will alleviate security problems." It ain't necessarily so, emphasis on necessarily. Last week it was discovered that, in some (uncommon) cases, a really stupid brainfart bug makes PGP5 key generation not very random. The bug lived for a year in open-source code before being found. If you generated a key pair non-interactively with PGP5 on a unix machine, don't panic and read carefully; you may want to invalidate your key. Update, next day: several people have pointed out that although PGP5's code is available (crypto requires code review), it can't be used for any product without permission. Incentive for code review is therefore less than for other projects of its importance, and I really shouldn't have called PGP "open-source." Mea culpa.

225 comments

  1. open source sees more bugs by Anonymous Coward · · Score: 3

    Would this "bug" have been discovered if the source was closed?

    1. Re:open source sees more bugs by the_other_one · · Score: 1

      Closed source systems have security bugs too

      Try hitting escape in a Win 9x Password dialog.

      --
      134340: I am not a number. I am a free planet!
    2. Re:open source sees more bugs by VAXman · · Score: 3

      The Windows password dialog is not meant as a secure log-in, it is meant to provide different user options to different users who share a computer. Windows doesn't even have file permissions; this is not a bug, but a consequence of the fact that its file system is backwards compatible since the original release of DOS. The Windows NT is highly secure.

      Slashdot is almost as insecure as Windows, and delivers only bare-minimum security.

      I challenge you to find a security bug in any version of VMS past 4. This is one of the most closed, propritary operting systems in production, and also one of the most secure (even attained B2 - when is an open source OS going to get a security rating?)

    3. Re:open source sees more bugs by the_other_one · · Score: 1

      The Windows password dialog is not meant as a secure log-in, it is meant to provide different user options to different users who share a computer. Windows doesn't even have file permissions....

      Lame attemp at tongue in cheek humour aside you highlight the point that I was trying to make beautifully.

      This bug is not in the code. Login security is totally absent from the code.

      Win9x security was designed to be backwards compatible with a security flaw in DOS 1.0

      Also, I don't hava a VAX handy is there a port of VMS for the i386?

      When is an open source OS going to get a security rating?

      Good question: Does anyone know of work in progress?

      --
      134340: I am not a number. I am a free planet!
    4. Re:open source sees more bugs by Plasmoid · · Score: 1
      Does anyone know of work in progress?

      SGI is creating B1/Orange Book Linux.

      --
      You don't exist. Go away. --SysVinit Halt
    5. Re:open source sees more bugs by xDroid · · Score: 1
      So, can I run VMS on my p90 48M 2G box? -- no

      Is it free?-- no

      Can I read the source? --no

      Modify it?--no

      Could I post on Slashdot about a security hole I found and verified in the source? --no

      --

      * "Uncle this droid is malfunctioning" -- Luke Skywalker
    6. Re:open source sees more bugs by steve_bryan · · Score: 1

      VMS has no security at all; zero, zilch. It requires that I depend on the kindness of strangers. What sort of dumbshit deal is that? So I'm just supposed to trust you when you say there is no back door coded into it (or a typographical error that makes the PRNG subtely less random)? Why should anyone trust you (you being anyone promising security software with closed source) when there are companies with enough balls to say here's the source code, have it checked yourself. And incidentally, by no stretch of the imagination was PGP developed as an open source project. They publish source code for shipping products to prove the security they offer. If someone finds a bonehead bug that is just an added bonus. Not something as likely to occur with closed source products.

    7. Re:open source sees more bugs by VAXman · · Score: 1

      You can't post to Slashdot about the security hole you found in VMS because there _are_ no security holes in VMS. See, DEC employs competent, professional engineers, who know fluff when they see it. For example, VMS does not contain C style buffers, and therefore is immune to the crisis a certain other operating system has known as buffer overruns. It also doesn't have setuid. These two design flaws -- alone -- count for over 50% of Unix security bugs.

      As for the rest of your points -- VMS is free for personal use. It does not run any kind of pee-cee and requires a serious computer (boo-hoo for you if you are a pee-cee boy). Source is available for viewing. Why would you want to modify it? It is already bug-free and perfectly engineered. Since you use Linux, you are used to software which is riddled with bugs, which is unreliable, insecure, and prone to constant crashes. But guess what: not all software is like that.

    8. Re:open source sees more bugs by Troed · · Score: 1
      It is already bug-free and perfectly engineered.

      You must be kidding, right? There's no such thing as perfect software, which anyone in the industry will be happy to tell you ...

      /me - Software Engineer

    9. Re:open source sees more bugs by norom · · Score: 2

      Most OSS projects lack the funding to get certified. Each new minor version of the linux kernel would be enough to force a recertification.

      Care to fork over the funds? I am kinda broke.

      My question for you. What in the hell does the security of Slashdot have to do with anything?

    10. Re:open source sees more bugs by MassacrE · · Score: 1

      Security ratings are on total hardware setups, not on operating systems. Don't be fooled by the hype - just because someone certified an NT machine without ethernet in a locked, secured room with lots of EM shielding doesn't mean that you can buy a $999 compaq, pop that NT4 disk in and have the security of the Pentagon.

    11. Re:open source sees more bugs by Anonymous Coward · · Score: 1

      When SGI is done with it, it won't be 'Open Source' as many people view the term. The source will all be visible, but if you change a single critical line in it and rebuild the binaries it will no longer carry the certification.

      That level of certification covers an entire system, not just an OS. Similarly, when Windows NT carries certification for security, it is a specific combination of software/hardware.

      It definitely does NOT follow what anybody would call an 'Open Source' development model.

    12. Re:open source sees more bugs by debaere · · Score: 1

      You don't happen to.. oh, I dunno, work for DEC.. do you?

      --

      DOS is dead, and no one cares...
      If there's a Bourne Shell, I'll see you there
    13. Re:open source sees more bugs by mr · · Score: 1

      >See, DEC employs competent, professional engineers, who know fluff when they see it.

      Ahhh, so THATS why Dave Cutler (a VMS Architect) now works for Microsoft and was lead engineer on NT.

      DEC gets rid of their fluff and sends it to Microsoft! Of course if Compaq thought VMS was worth supporting they'd have staff to do the job.

      And, that is why Ken Olsen refused to support Unix, because VMS was SO much better. Hey, wasn't VMS on the 'soon to be discontinued' chopping block? Didn't 80% of shops moving from VMS to Unix opted to not run DEC's Unix?

      >It does not run any kind of pee-cee and requires a serious computer
      Like BSD?

      >Since you use Linux,
      Nope, I use BSD. You may have heard about BSD, it was developed on DEC hardware.

      > you are used to software which is riddled with bugs,
      There ya go, confusing BSD and Unix with Microsoft's offerings.

      >which is unreliable, insecure, and prone to constant crashes. But guess what: not all software is like that.
      You are right. BSD is not like those Microsoft programs.

      You'd be a MUCH less bitter VAXman if you ran BSD on them VAXen you have.

      --
      If it was said on slashdot, it MUST be true!
    14. Re:open source sees more bugs by randombit · · Score: 1

      Also, I don't hava a VAX handy is there a port of VMS for the i386?

      I'm not sure if this is a rhetorical question or not so I'll answer. No, VMS runs on VAX, OpenVMS runs on VAX and Alpha. Basically just like HP-UX or AIX, the point of the OS is mostly to sell hardware (because anything that wants to be popular has to run on Intel).

    15. Re:open source sees more bugs by JordanH · · Score: 2
      • It is already bug-free and perfectly engineered.

      I'm a huge fan of OpenVMS. But this is a absurd exaggeration. Making ridiculous claims makes OpenVMS advocates look ridiculous and, by association, doesn't do the perception of OpenVMS any favors.

      Compaq is regularly issuing ECOs for OpenVMS, many of which have instructions that insist that ALL CUSTOMERS install at once. Each of these ECOs addresses one or more bugs or at least lack of "perfect engineering".

      • For example, VMS does not contain C style buffers...

      A lot of OpenVMS these days uses C and internally has C buffer overrun problems. I could quote you the ECOs, if you're interested. I saw lots of these for UCX 4.x.

      There was even a system service (System API) that was instituted awhile back that used C style buffers. Now, OpenVMS Engineering later realized the error of their ways and now offer an equivalent system service using the safer string descriptors.

      • It also doesn't have setuid.

      You're right, it doesn't have setuid - if you are referring to setuid scripts/programs and not setuid(), here too, OpenVMS has Persona Services which are equivalent. Instead of setuid scripts/programs, OpenVMS has installed privileged images, that offer a rough equivalent.

      I do happen to believe that installed priv'd images offer a number of advantages over setuid scripts/programs, but they offer about the same functionality.

      I really do think that OpenVMS has a number of inherent advantages to the alternatives in the areas of security and reliability (not to mention scaleability!), but we need to be objective. Making claims about it being "perfectly engineered" and "bug-free" are not objective.


      -Jordan Henderson

    16. Re:open source sees more bugs by muldrake · · Score: 1

      You can't post to Slashdot about the security hole you found in VMS because there _are_ no security holes in VMS.

      You are a trolling MORON.

      How about this hole?

      That's a 1998 one, after years of OpenVMS, in one of the most basic parts of the security structure. You don't think there are others out there?

    17. Re:open source sees more bugs by muldrake · · Score: 1

      I challenge you to find a security bug in any version of VMS past 4. Here's one in 7.1.

  2. Open Source != Security by PollMastah · · Score: 3

    Umm... since when is Open Source = security?? Somebody has already posted this link on a previous story already. It describes a kind of trojan that not even source code auditing can prevent.

    But of course, seeing that slashdotters never bother to do their research (in spite of habitually telling newbies to RTFM), here comes my obligatory Slashdotter response poll :-P

    Poll: Most typical response to this article:

    1. See? It's right in your face and you still won't admit that Open Source is flawed! M$ forever!
    2. What?? Open-source != security? Oh no!!! My world... collapsing!!
    3. PGP is eVil! Down with PGP! Everybody use GnuPG! We all know that the GPL makes it secure! (huh?)
    4. *ahem* *cough* umm..., yeah, IIRC, IANAL AFAIK, but *ahem* yeah, this doesn't prove anything, you see, open source is always right, *ahem* this is just a special case, blah blah *ahem* ok please gimme my daily dose of karma.
    5. For your information, Signal11 ... (hmm, anyone know if the moron who posts this to every other article is a spam-bot?)
    --

    Poll Mastah

    1. Re:Open Source != Security by Steeltoe · · Score: 1

      Actually if you had really understood what was written in that link, you would have known that the author opinioned that access to the sourcecode is the _only way_ to be sure of the security. The flaw his examples showed was to trust a proprietary compiler, or any program for that matter. Instead of demanding the source with it. Of course the binary may still be tampered with, therefore you should compile everything yourself with a compiler you _trust_ (keyword), or perhaps audit the binary comparing it with the assembler source/output.

      Now to demand this level of security of everyone is both unrealistic and cumbersome. But it's a nice theory showing the special dependent relationship between programs and their compiler.

      As for putting an equal sign between Open Source and security, I agree that's a mistake. Just because something is readable to everyone doesn't mean it's suddenly secure and bug-free. However it may become more so than most proprietary commercial programs, if the software catches on.

      - Steeltoe

    2. Re:Open Source != Security by TheReverand · · Score: 1

      You should opensource your sense of humor. That way our many eyes could fix all the bugs that make you completely miss the joke.
      Long Live PollMastah!!

    3. Re:Open Source != Security by Steeltoe · · Score: 1

      The parent I responded to was in two parts: one boring (with an interesting link) and one "funny". I didn't think any of them was particular funny, because I've seen it so many times before.

      So yes, maybe I should Open Source my sense of humour. But I must be willing to change that humour also for it to have any effect on me.

      - Steeltoe

    4. Re:Open Source != Security by PollMastah · · Score: 1
      Of course the binary may still be tampered with, therefore you should compile everything yourself with a compiler you _trust_ (keyword), or perhaps audit the binary comparing it with the assembler source/output.

      Sorry, you have a good point, but you're missing the argument here. The author's argument is basically to show a chicken-and-egg problem: auditing the source code will guarantee you security if the compiler is trusted. But how would you trust the compiler? You cannot compile a compiler if there are no binary versions of it in the first place!!

      OK, fine, you can verify it by comparing the assembler source/output. But using what? Surely using an executable (ie. binary) assembler/linker and/or disassembler. But now, you need to verify that the assembler/linker is trustworthy! But how would you be able to verify this if there are no trusted executables to begin with? Having the source is worthless, because it's non-executable. And even if you have a source interpreter, you will still have to trust the interpreter.

      You can continue this argument in an infinite regression -- from assembler to hardware, ... even the article mentions that a microcode bug embedded in the CPU will be almost undetectable. The further back you go, the more impractical it is to verify everything; yet that is the very thing that opens up the possibility of security exploits.

      Having the source code does not help at all. Unless of course, you build your own CPU from ground up, and implement the assembler, linker and compiler by hand, using the source code. (Must be done manually; since you cannot trust pre-made binaries.) This gets quite impractical, so ultimately, we are all basing our complex software systems on the trustworthiness of our OS vendors, be it a proprietary company or an open-source company. The point is, if they really wanted to, they could easily screw us over and it's possible that the exploit will never be detected or be practically fixable.

      --

      Poll Mastah

    5. Re:Open Source != Security by Steeltoe · · Score: 1

      If you read our posts again you'll see that our argument is a chicken-and-egg problem as well..

      However I don't agree that we should trust software-vendors as much as we do today. Having the source DOES help in most situations we have today. Maybe tomorrow hardware will be more Open Source as well? We can't stop just because we can't leap all the way to nirvana today. The more layers you cover, the _less likelihood_ and harder it is for malicious code to exist. Especially since a fully automated microcode handling all possible compilers, are just not possible for us today. (Sidenote: The exploit was handling one special type of UNIX-compiler. This spurs the argument that there really is benefit in security in heterogenous systems and environments, just like in genetics.)

      Today, it's all too easy for companies doing things customers would object to HEAVILY and not buy/try the product/demo, if only they knew about it. Wether you define this as security-holes or breach of privacy, remains subjective definitions, though they are still unwanted by many users.

      I am fully aware that in the end, all that is left is trust. However, peoples mileage on this varies heavily.

      - Steeltoe

    6. Re:Open Source != Security by PollMastah · · Score: 1

      FYI, my post(s) are not trying to say that Open Source is inadequate by any means. I was just trying to point out that we take way too much comfort in open-source and think that it's the miraculous cure to security problems, which it's not. OTOH, closed-source software probably suffers from worse problems, because now you don't even have the source to check for visible backdoors.

      --

      Poll Mastah

    7. Re:Open Source != Security by DavidTC · · Score: 1
      As it has been pointed out before, the only reason that hack works is you have to trust a binary, namely, the compiler you used in the first place. This is as pointless to worry about as backdoors in the CPU.

      It isn't a flaw in the Open Source proccess, it's just a flaw in general, much like smoke dectectors that short out and catch on fire and cutting power and batteries to power monitoring systems, or, to be more realistic, an organized plan by security companies to rob people they protect. Sure, all those are possible, but there is no way to protect against it except by the reputation of people.

      Basically, at some point in time, you have to trust some external party, whether it's the people who sold you your door locks (What, you mean you bought them from WalMart?), to the guy you give money to at the fast food window before you get your food, to the people you bought a box from that said '15 inch monitor' on the outside without looking inside it. Without trust, we'd all have to start from scratch, and hope to god no one is going around poisoning the berries before we pick them off the bushes. And don't even think about sleeping without digging a huge moat, and hoping no one snuck inside while you were digging it.

      -David T. C.

      --
      If corporations are people, aren't stockholders guilty of slavery?
  3. Open Source contributions. by Xerithane · · Score: 4

    I'm actually really grateful to see something like this happen.
    Not because I'm anti-open-source, or anti-PGP. Because I think that open-source has led to a few bad habits
    1) It's 'good' software. By this I mean most people (Including myself) think that the software, while looking like it works - does exactly what you think it's doing. Oh, some other programmer has checked it I'm sure. Unfortunately I don't think that's the case anymore, after releasing a few things myself - and receiving one piece of feedback for about 1000 downloads.
    2) Constant upgrading. I do it. You do it. Everyone does it. I'm not saying that constant upgrades are a bad thing, but it does seem that releases (Aside from the more major of projects) are tested at any deep level. This is more of a bad habit of programmers (Once again I raise my hand, I suck at Q&A) I'd love to see some open source Q&A people inside a project.. I've yet to see an internal release be posted before going up. I know that's what the x.x.1 version is for, but a lot of bugs shouldn't even be in there and they're from 4am coffee splurges and should be checked by friends or whatnot.
    3) Ripping code that isn't tested with that setup. *cough* This part really bit me once with some network stuff. Ohh, they did it this way - I want it that way too! Not the best approach in my experiences. It's great to re-use code, but check it out first. I've seen snippets from other peoples code that is both broken and misused, and of course causes small bugs to show up in the app.
    K, that's my rant. My 3 bad habits anyway.

    --
    Dacels Jewelers can't be trusted.
    1. Re:Open Source contributions. by vsync64 · · Score: 1
      3) Ripping code that isn't tested with that setup. *cough* This part really bit me once with some network stuff. Ohh, they did it this way - I want it that way too! Not the best approach in my experiences. It's great to re-use code, but check it out first. I've seen snippets from other peoples code that is both broken and misused, and of course causes small bugs to show up in the app.

      I think this is possibly one of the worst habits in programming, and it's why I never rip code unless I know why and how it does what it does. At least, I think I don't... =)

      There's a guy at work who has no clue how to program, and yet somehow has ended up with the job of writing various stuff, usually shell scripts or Windows batch files. He is literally unable to do anything unless he rips an example from somewhere and tweaks it. Problem is, he can't find relevant examples.

      For example, he needed to check whether a file existed. I suggested various methods, but instead he found some code to automatically compress the largest file in a directory. I have no idea why he did this, except maybe because both problems had the word "file" in them. He ended up adding 20 more lines which somehow made it sort of do what was needed. Now there are 30 lines of DOS batch file code, only 2 of which are needed or even relevant.

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    2. Re:Open Source contributions. by damyan · · Score: 1

      > 1) It's 'good' software. By this I mean most
      > people (Including myself) think that the
      > software, while looking like it works - does
      > exactly what you think it's doing. Oh, some
      > other programmer has checked it I'm sure.
      > Unfortunately I don't think that's the case
      > anymore, after releasing a few things myself -
      > and receiving one piece of feedback for about
      > 1000 downloads.

      I think it is fair to assume that any packages that are part of a distribution have been checked for security issues before being made a part of that distribution. The moment someone starts to sell you the software, they have also taken the responsability of providing some level of QA on it.

      It is *inexcusable* that the bugs mentioned in the article, if they were so easy to be found, made their way into Red Hat. The implication is that noone at Red Hat even performed a cursorary check on the code.

      What assurance can Red Hat give that the OSS product they've shipped on their CD doesn't have some trojan functionality hidden inside it? The job of the distributed should be to look for these things.

      I know that Debian have a QA project going, and quite strict rules about how a package can get into the distribution -- did they miss the Mailman bugs as well?

    3. Re:Open Source contributions. by Basje · · Score: 1

      The job of the distributed should be to look for these things.

      I think you're missing a point here. It's good when organisations like RedHat and Debian commit themselves to checking the code. They are not required to do that. The job of a distributer isn't reviewing code or checking for bugs. That's the programmers job.

      In the case of open source, everyone can be a programmer. So every user has equal responsibility. The point the original poster made, that programs that work aren't checked, is very valid. I don't think it's feasable(sp?) tho, to check all your software personally. It ain't a perfect world.

      It's easy to blame distros, but if you want to do that, why not use commercial products? You are not required to use open source.


      ----------------------------------------------

      --
      the pun is mightier than the sword
    4. Re:Open Source contributions. by thulorn · · Score: 1
      I think it is fair to assume that any packages that are part of a distribution have been checked for security issues before being made a part of that distribution.

      The OpenBSD people regularly audit their kernel and utilities. Their packages are supposed to be checked for obvious problems, like use of strcpy or gets(), but are mostly not thoroughly reviewed. And in all the flamewars I've seen about OpenBSD I've never seen anyone claim that any other group was more thorough in seeking out bugs and security holes.

      I think it is fair to assume you're being optimistic.

  4. Open Source and Security by fluxrad · · Score: 3

    I think the principle that people are missing is that, all things being equal, a bug/security hole is going to be found a LOT quicker by examining the source than by simply using the program.

    I used to think that security through obscurity was a valid security model, reasoning that so long as no one knew how or why something was built, at least in source terms, than it would be better for everyone. A person can't exploit something they don't know is there. The largest problem with the obscurity model is the fact there *are* people who just look for exploits. they get home from work/school and hack away at these utilities. By not allowing the source to be released, and scrutinized, you're going to see bug-fixes arrive later than they should, you're going to see exploits that go for months/years completely unpatched. This makes for all around buggier programs, and, by inference, more exploitable programs.

    Open source is by no means the best practice in some specific situations (at least right now). There are other factors than just bugginess and exploitability that software manufac's take into account. But in *general*, the open source model is much more effecient and robust than the *alternative*


    FluX
    After 16 years, MTV has finally completed its deevolution into the shiny things network

    --
    "It is seldom that liberty of any kind is lost all at once." -David Hume
    1. Re:Open Source and Security by Alpha+State · · Score: 1

      It's obvious that security through obscurity is not the ideal, however I'm not so sure that open source programs are more secure.

      Consider a program (such as PGP) which is written with open and closed source versions. Both are just as likely to have bugs at first, but both are inspected by other programmers. The closed source program is inspected by a couple of programmers inside the company who are quite knowledgable about security. The open source program is inspected by dozens of programmers, most of which know very little about security. The score so far? I'd say about even.

      Now the programs are released and people start using them. Hackers start trying to find exploits in them. If an exploit is found by a "white hat", it is reported and fixed. If it is found by a "black hat" it is used to attack systems for a while before being noticed. For the closed source program it is less likely an exploit will be found outside the company than for the open source porgram. So it's likely more exploits for the open source program will fall into the hands of the "black hats".

      Of course, this assumes similar numbers of white and black hats, if there are more white hats then bugs in an open source program will be found quickly. Apparently this has not happened for the programs discussed.

      Offset against this is the fact that bug fixes are likely to be much quicker in the open source program.

      I'll still use open source programs for another reason. Security flaws can also be intentionally introduced for several reasons. This is one type of bug which is extremely unlikely to occur in an open source program.

    2. Re:Open Source and Security by vsync64 · · Score: 1
      I'll still use open source programs for another reason. Security flaws can also be intentionally introduced for several reasons. This is one type of bug which is extremely unlikely to occur in an open source program.

      Or we just don't notice it... Remember that UNIX backdoor perpetuated through the C compiler? The one that would perpetuate itself when the compiler was recompiled? It would be completely invisible when looking at the source.

      --
      TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
    3. Re:Open Source and Security by istartedi · · Score: 3

      I think the principle that people are missing is that, all things being equal, a bug/security hole is going to be found a LOT quicker by examining the source than by simply using the program.

      No. Finding any type of bug by using is a heck of a lot easier than finding bugs by examining source. Just imagine auditing 50k lines of source. Now imagine using a program, and discovering some subtle flaw in the output, like the wrong number of significant digits in some tabulated data displayed on a web page.

      The value of Open Source is not the ability to find bugs, but to fix them. In fact, one of the strong motives for free releases of betas is so that the program will have lots of users, thus increasing the chances that bugs will be found before the official release.

      It would be interesting to do a study. I bet that if you graph bugs/line it falls proportionately to the number of users for both closed and open source programs.

      In other words... test Test TEST. And then test again. And when your finished testing, you might want to consider some tests.

      --
      For all intensive purposes, "whom" is no longer a word. That begs the question, "who cares"?
    4. Re:Open Source and Security by Steeltoe · · Score: 1

      "No. Finding any type of bug by using is a heck of a lot easier than finding bugs by examining source. Just imagine auditing 50k lines of source. Now imagine using a program, and discovering some subtle flaw in the output, like the wrong number of significant digits in some tabulated data displayed on a web page."

      This is not always true. It depends on the bug and here we ain't talking about an ordinary testbed.

      You are partly right and partly wrong. Some bugs are easier to find in the binary code, since then you _know_ excactly how to exploit the output. While others, more compiler/environment/library-independent and perhaps more complex or subtle, are easier found auditing code. There's even software that can audit code for you, though I wouldn't trust that entirely for security applications.

      Of course, the definition of what is "easy" is relatively subjective too.

      - Steeltoe

    5. Re:Open Source and Security by jannic · · Score: 1

      That's probably true for obvious bugs - something that crashes the program or gives bogous results. But how would you notice that your PGP key doesn't contain 1024 bits of randomness, but only 50? Or even none? You won't. This type of bug can only be found by code review.

    6. Re:Open Source and Security by C.Lee · · Score: 1

      >program or gives bogous results. But how would you notice that your
      >PGP key doesn't contain 1024 bits of randomness, but only 50? Or even
      >none? You won't. This type of bug can only be found by code review.

      True. And you can get this kind of code review only if people are actually using the software which pretty much isn't the case with PGP with linux. Did you know for instance that Redhat installs GnuPG by default? In other words PGP is on the way to becoming obsolete under linux.

    7. Re:Open Source and Security by RickHunter · · Score: 1

      An excellent post, and everyone who's been moderated higher that I've seen so far seems to be missing this point. Being Open-Source or Free Software doesn't automatically make anything secure. However, with the source available for community review and modification, there's a higher chance that bugs, including security holes, will be found and patched.

      A key example of this is OpenBSD. If I remember right, it was written from scratch to be completely security-hole free. I don't think there have been any major security problems for quite a while now.

      Of course, there's still ways to get around this. Such as the infamous compiler that builds backdoors into login programs.


      -RickHunter
  5. Not that suprising by Anonymous Coward · · Score: 1

    From what I've noticed over the past few years, most projects have a small circle of core developers that understand enough of the source to actually catch subtle bugs. The 'many eyes' concept tends to be another one of those 'in theory it should work' conculsions. Not to knock open source projects, because many are absoultly amazing in their accomplishments, yet tend to suffer from inner-circle syndrome.

  6. Linux has a entropy pool based /dev/random by dieman · · Score: 2

    Meaning that...

    pgp5i will eat out of /dev/random when it is used non-interactive.

    In linux, with entropy based random (take time between irq requests into a 'pool', then feed into randomness generator as seeds) it is just fine.

    Its the other unicies that are broke, not pgp5i.

    --
    -- dieman - Scott Dier
    1. Re:Linux has a entropy pool based /dev/random by dvdeug · · Score: 1

      Did you read the article? It reads out of /dev/random, but then it overwrites that with the return value from read (always 1). It gets a series of 1's and thinks it has random data. It only has a problem on systems with /dev/random, because then it's fooled into thinking it's getting random data when it's not.

      Please read the article before you respond.

    2. Re:Linux has a entropy pool based /dev/random by mrdlinux · · Score: 5

      This is true, but that was not the problem. The problem was that they were assigning the read count to the array that was supposed to hold the values that were read! Since they only read one byte at a time, the array always contained the value 1.
      Here is this relevent code:

      char RandBuf;
      for(i = 0; i <= count; ++i) {
      RandBuf = read(fd, &RandBuf, count);
      ...

      From the read man page:
      ssize_t read(int fd, void *buf, size_t count);
      On success, the number of bytes read is returned


      As you can see, RandBuf was being set to the number of bytes read, instead of the byte read.

      In fact, I have my own issue with that code. The for loop should read:
      for(i = 0; i < count; ++i)

      But I am not very familiar with the context of this code. The original code would loop count + 1 times while my version will loop count times. This may or may not be the desired behaviour. I guess I'll go send in another bug report ;)

      Anyone notice that Extrans doesnt seem to be working? or is it just me.

      --
      Those who do not know the past are doomed to reimplement it, poorly.
    3. Re:Linux has a entropy pool based /dev/random by ~MegamanX~ · · Score: 1

      From the article:
      The count parameter is always set to the value 1 by the calling code. The byte read from the file descriptor fd into the RandBuf buffer is subsequently overwritten with the read() function's return value, which will be 1. The actual random data are not used.

      Err... did i miss something?

      phobos% cat .sig

      --
      phobos% cat .sig
      cat: .sig: No such file or directory
    4. Re:Linux has a entropy pool based /dev/random by crt · · Score: 1

      No, you're wrong. It doesn't matter how the /dev/random numbers are generated.

      If you'd read the entire thing you'll see that the bug caused the program to not read ANY (real) data from /dev/random. So whether /dev/random is working or not it doesn't matter.

      The page specifically lists Linux as one of the systems that this bug occurs on.

    5. Re:Linux has a entropy pool based /dev/random by orpheus · · Score: 2
      Meaning that...
      pgp5i will eat out of /dev/random when it is used non-interactive. In linux, with entropy based random (take time between irq requests into a 'pool', then feed into randomness generator as seeds) it is just fine. Its the other unicies that are broke, not pgp5i.


      I have no idea where you got that from. It sounds like you don't either. Check out this alert in CompuWorld:


      The flaw was discovered in the PGP 5.0 code base
      and is specific to Linux and OpenBSD command-line
      versions ... Versions 2.x and 6.5 of PGP aren't
      affected and nor are PGP versions ported to other
      platforms.

      _____________
      --

      If you can go to bed, knowing you did a valuable thing today, you're very lucky. If you can't... it's not bedtime

    6. Re:Linux has a entropy pool based /dev/random by ViGe · · Score: 1

      > for(i = 0; i <= count; ++i) {

      in fact, I have my own issue with that code. The for loop should read:
      for(i = 0; i < count; ++i)

      Yep. The original coder probably thought that using ++i instead of the "standard" i++ would somehow magically make the increase happen before the loop and the test.


      --
      --
      It has to work - rfc1925
    7. Re:Linux has a entropy pool based /dev/random by mr3038 · · Score: 1
      char RandBuf;
      for(i = 0; i <= count; ++i) {
      RandBuf = read(fd, &RandBuf, count);
      ...

      I'm also wondering why not to check for errors in read(2)? It doesn't hurt you much to check results of all system calls - in particular this is not time-critical operation. Simple
      if (read(fd, &RandBuf, count) == -1) bail_out();
      instead of used code would do the work. And if everybody used to use return values of system calls to check for errors instead of anything else one wouldn't get errors like described in this article.

      Of course in this particular case I cannot imagine how that read() could fail. Perhaps /dev/random could be a device driver in protected space and die before returning result - without crashing the whole kernel.
      _________________________

      --
      _________________________
      Spelling and grammar mistakes left as an exercise for the reader.
    8. Re:Linux has a entropy pool based /dev/random by ab762 · · Score: 1

      Worse than that: if count is not exactly one (and we didn't lose a *), whatever is after RandBuf is in for a hard time.

      Henry Troup

    9. Re:Linux has a entropy pool based /dev/random by mrdlinux · · Score: 1

      Normally you are correct, about prefix, but in the case of a for() loop that is not the case. Go ahead, try it out, I just tested it with GCC myself. I've always thought of a for() loop like this:

      for( a ; b ; c) { d; }

      a;
      while( b ) {
      d;
      c;
      }

      As you can see, it really doesn't matter whether you use prefix or not.

      Try this code:

      #include<stdio.h>

      int main (void) {
      int i;
      for(i=0;i<1;i++)
      printf("hi\n");
      for(i=0;i<1;++i)
      printf("hello\n");
      }

      Output for me was:
      hi
      hello

      But if things worked as you said, it would merely be:
      hi

      What you pointed out is important, but it doesn't apply in this case.

      --
      Those who do not know the past are doomed to reimplement it, poorly.
    10. Re:Linux has a entropy pool based /dev/random by FirstEdition · · Score: 1

      Yes, this is correct because in a standard simple for loop like this example, we throw away the result of the pre or post increment.

      ie. what i++ is really saying is

      tmp = i;
      i = i + 1;
      return tmp;

      (and then throw away the return value)

      Similarly, what ++i is really saying is

      i = i + 1;
      return &i

      (and then thow away the return value)

      So, for simple types, ++i and i++ are the same, if we ignore the returned value.

      This is also the reason that ++i is preferred over i++ (for almost all uses) because postfix increment boils down to an assignment operator, a copy constructor and an increment, whereas the prefix version just boils down to an increment.

    11. Re:Linux has a entropy pool based /dev/random by spitzak · · Score: 1
      The code also will not work if the "count" argument is any value other than 1. According to the analysis they determined that it never is any value other than 1, but this seems to be rather poor programming. Obviously the writer of this function knew it would always be 1, but he/she should have fixed the code to not use the argument, rather than make such an assumption. Better yet, go through the code and delete the argument. Simplifying the code would go a long way toward detecting stupid mistakes like this.

      I very much disagree with the joker who thought the program should check for a read error from dev/random. Stupid stuff like that, which will *NEVER* happen, is what bloats code up with complexity and leads to typos like the above.

  7. Second open-source security concern in a week by idoru · · Score: 1

    Read this article by John Viega, one of the authors of Mailman. He talks about how Open sourced software does not necessarily mean security, how many eyes on does not mean they will look for loopholes, and why. Also other interesting points.

  8. Why open source could only help by iamplasma · · Score: 1
    The article's main objection is that going open source will give hackers the ability to find weaknesses in security.

    This is a complete joke, if a person wants to find a security hole in a program don't care one bit if their copy of the source code was obtained legally, they will just get it any way they can, whether it be downloaded from an illegal site or decompiled themselves.

    The friendly programmers however, do care about the legality of their source code, and are the ones who will gain access through open source.

    So quite simply, open source means little increase in hackers finding flaws to exploit, but gives a huge increase in the number of programmers solving the problems.

  9. Somebody found it didn't they? by aardvaark · · Score: 3

    If it were proprietary, would anybody have even found it? This isn't exactly a fair comparison, as I'm sure you could find a bunch of bugs like this in proprietary code if you could just look at it. OSS will always be more open to critizism because the source code is actually there to criticize!

    --
    If I had no sense of humor, I would long ago have committed suicide. -Ghandi
  10. It's not just the number of eyeballs, but quality by tyrann98 · · Score: 1

    The article mentions two very important aspects unique to open source projects: security audits and obfuscated code. I know that I hate looking at spaghetti code and the world of open source community development can be great spaghetti code generator. It works but can be very difficult to debug. Under strict development guidelines this can be reduced (e.g. NASA space shuttle code). Unfortunately, it's going to be difficult to dictate a strict programming model when the programs are developed on the programmer's own time. Plus, security audits by other companies is something that OSS can't afford (unless a company like Red Hat pays for it). Yes, I know that many security experts examine the Linux OS and its code. While I still believe that Linux is more secure that most OSes out there (especially Windows 98/2000), we should not be zealots. Commericial development houses can enforce standards and pay to have extensive external audits.

  11. But... by vsync64 · · Score: 1

    GnuPG is okay, right?

    --
    TO BUY A NEW CAR WOULD MAKE YOU SEXUALLY ATTRACTIVE.
  12. I wish authors would learn to read. by Anonymous Coward · · Score: 1

    "This problem was found by Germano Caronni , and verified by Thomas Roessler and Marcel Waldvogel . "

    I.e. If it wasn't open-source the problem would *STILL* be unfound. PGP 5i isn't a bazarr developed app, so it still has all the 'benifits' of commercial development. It was OSS that found that bug.

    OSS make it more secure. The article that claims otherwise is irresponciable journalism.

  13. Open Source has no automatic benefits by Markonen · · Score: 2
    Having many eyes looking at source code almost invariably leads to bugs being found. However, the popular misconception is that any piece of open source software actually IS continuously looked at by alert people.

    The reality of the issue is, at least in the few projects I'm involved with, that just distributing software in source format doesn't mean it will be looked at. Not by the end users (this is obvious), but not that much by developers either -- even the core developers usually divide workload by assigning module owners and such, and as a result, code in someone-elses-module rarely gets properly reviewed. Sure, someone might keep an eye on the commit logs but that's hardly a decent way to review evolving code.

    So, with regards to security issues, I think things boil down to this: unlike proprietary, binary-distributed software, open source as a distribution mechanism isn't explicitly designed to prevent code review.

    If the opportunity for peer review has been left unutilized in a single project, others can use the example to learn. Open source isn't about automatic benefits in software quality -- it's about making work towards better software possible.

  14. pgp5i not open source, either by Anonymous Coward · · Score: 1

    PGP 5i doesn't meet the DFSG (or the OSD), so it's not open source. In particular it fails the "okay for for-profit use/distribution". Lots of people refuse to even both with the new PGPs, especially with GPG out now.

  15. Which cave were you living in all this time? by KhaosSpawn · · Score: 4
    Professional programmers, like the guys at Microsoft or Apple do this stuff for a living and thus have to get it right or they're out of a job

    Does this mean that Microsoft now employs about 5 staff worldwide? So far I yet to see Microsoft get it "right". Yes opening up code to a million eyes does mean that more idiots see the code, but it also means that more vetern programmers see it. When was the last time you took a look at any Windows source code?

    So a bug was discovered in Open Source software, big deal. It'll get fixed and people will move on. To fix a bug in Windows, you first have to beat Microsoft over the head serverly with it, then, when they deny it exists, you have to create some program that illegally demostrates their bugs. Only then will they admit that there was an unplanned "feature (read bug) and will promptly proceed to shut your program/site/self down permanently... oh and if they get some time... maybe... they might fix the bug (in service pack 13).

    1. Re:Which cave were you living in all this time? by fsck · · Score: 3

      the point I'm trying to make it is that no one is accountable for the Open Source screw ups. most of the positives of Open Source are merely conjecture or urban legend at this point. As more of these stories make the rounds, the more luster will be lost from Open Source. Open Source cannot work. It won't work.
      If you read the EULA on the pirated Microsoft software that you install, IT CLEARLY STATES THAT MICROSOFT HAS ABSOLUTELY NO ACCOUNTABILITY OR FAULT IN THE FAILURE OF SAID PRODUCT.

      --

      Lars - ...I could always phone Linus when I had a problem.
    2. Re:Which cave were you living in all this time? by jeremy_a · · Score: 2

      Hmmm...reminds me of a program I was working with at work a year or two ago. It was a Java program accessing a database through JDBC, and worked just fine with the database we were using. Then we tried running to an MS SQL Server database instead. Run into a couple of bugs in various MS components (most notably their JDBC driver). After reducing it to a simple test case, we wrote a bug report to MS.

      A month or so later we finally got a reply from MS which said that they received our report, but that the problem was in compliance with the spec, and not a bug in their driver. So I replied with a direct quote from the spec that showed that they were indeed doing it wrong.

      Another month or so went by, and I got another reply from them. This time they conceded that they didn't match the spec, and assured me that this "feature" would be added in the next version.

      Don't know if it ever got fixed...by this time we had given up on it and moved on to other things.

    3. Re:Which cave were you living in all this time? by mr · · Score: 1

      >To amplify your point, when Open Source projects 'screw up' they just disappear. The number of fairly good packages I used to run on Slackware a few years ago that won't even build on a new Slack system (i.e. Xwave) are saddening. It's part of why I don't take Linux very seriously any more.

      Then get off your sorry ass and port the code. Or, pay someone to port it for you, if you don't have the skills.

      If it is not important enuf for you to port it, or pay someone to port it, then move on. It would appear that xwave wasn't all that exciting if no one is using it.

      --
      If it was said on slashdot, it MUST be true!
    4. Re:Which cave were you living in all this time? by Antipop · · Score: 1

      Open Source cannot work. It won't work.

      Oh really? What makes you think this, when it obvious to anyone with half a brain that Open Source is a better way of writing and distributing software? Let's say that PGP was closed source and owned by PGP, Inc. Do you think that this bug would have even been discovered? If it had, how long would it take PGP, Inc. to release a fix? Alternatively, how long will it take the Open Source community to release a fix?

      You're right: no one is accountable for Open Source screwups. Now look at the other side, What does Microsoft do every time a new bug is found in Outlook? They first deny it's existence, then when it becomes a major problem, they issue a press release telling users to not open attachments and if you're lucky, a few weeks later a patch is released. Or maybe it won't be fixed until Service Pack 23, which will be out Real Soon Right Now.

      I'm sick of every time one bug is discovered in an Open Source program all the Micro$oft devotees jump on it to prove their point for propreitary software. How many bugs did MS admit to having in Windows 2000? 16,000? Maybe they'll get around to it in the next Service Pack.

      -Antipop

    5. Re:Which cave were you living in all this time? by muldrake · · Score: 1

      I can't believe the idiots who are commenting that these two cases somehow "prove" that Open Source is unworkable. In one of these cases, the original author found bugs, then admitted to them and fixed the product.

      In the other, PGP key-generation in ONE version was not very random if you used /dev/random by invoking PGP key-generation non-interactively. Who the hell does that anyway?

      One bug, in one version of one software package, that only affects one family of OSes in one specific circumstance, isn't proof of jack. And in BOTH these cases, the bugs are now fixed. Can you imagine Microsoft discovering a bug on their own initiative and then fixing it without customer complaints?

      If anything, the fact that there have been only a few minor bugs discovered in PGP is testament to its robustness. DES was insecure for YEARS and the government knew it and deliberately did nothing. That was done by the "professionals" these anti-Open Source fanatics are gibbering about.

      Fuck these fools. Let them go guy Enigma-based encryption systems from the government, use DES and load Windows 2000 on all their machines, they'll be getting what they deserve.

    6. Re:Which cave were you living in all this time? by streetlawyer · · Score: 2
      DES was insecure for YEARS and the government knew it and deliberately did nothing

      No it wasn't. DES was and remains secure for suitable key length. There are no known bugs in DES.

  16. Non Interactive Keygen is a Hard Problem by Effugas · · Score: 5

    Background: I've been auditing GPG lately for using it as a high-throughput non-interactive key generator. So I have some right to talk about this.

    Everybody, generating keys non-interactively is ridiculously difficult, because to be honest there's a very small amount of entropy in your system. Clock differentials and specific CPU traces are pretty good, but everything else other derives from the network(and is therefore remotely attackable) or traces itself back to PRNGs(various memory assignment algorithms, etc.)

    That's not to say that this isn't a problematic bug, and that it doesn't need correcting. But non-int keygen just isn't that common(yet; I'm working on that), so the exposure is thankfully smaller than it otherwise might be.

    As for Microsoft, to be honest I have very little confidence that the RNG's in any web browser are anything that would survive an audit by Counterpane Labs. MS does very good stuff; crypto isn't generally among them(though any of us would be a fool to not note that they're shipping 128 bit SSL by default.)

    Yours Truly,

    Dan Kaminsky
    DoxPara Research
    http://www.doxpara.com

    1. Re:Non Interactive Keygen is a Hard Problem by Chris+Hiner · · Score: 1

      Although, adding some hardware can help solve the entropy problem. See http://lavarand.sgi.com/ for one example. Or feed a radio set in between stations into your sound card... Some problems are really hard to solve in software.

    2. Re:Non Interactive Keygen is a Hard Problem by PantalonesVaqueros · · Score: 1

      Wasn't it Dijsktra who said, "Anyone attempting to generate random numbers on a digital device is living in a state of sin."? All sorts of fun stuff from my simulation class just comes poring back... At least in terms of the randommness of numbers and their generation. Damn you all for posting to this story! :)

    3. Re:Non Interactive Keygen is a Hard Problem by Decklin+Foster · · Score: 1

      Von Neumann, but yes.

    4. Re:Non Interactive Keygen is a Hard Problem by steve_bryan · · Score: 1

      No, it was von Neumann. This is quoted in Vol 3 of Knuth. In the quote I don't think he mentions digital devices since his point was more general.

    5. Re:Non Interactive Keygen is a Hard Problem by Effugas · · Score: 3

      Bizarreness. I spent about two hours the other night studying using the mic port.

      Best solution I found mentioned hooking a AM radio mistuned up to the mic port--then people mentioned FM had more entropic properties. Your big problems are, 1) You've seriously got to deal with the fact that a 60hz bias is coming off of the nearby AC transmitter/power supply, and 2) an attacker can pretty easily broadcast patterns at you on the exact frequency you're trying to be mistuned to. Since anything that's receiving a signal is also transmitting it(thus causing major privacy issues when a parking lot scans to see what stations people are listening to by picking up their "sympathetic"(corrent word?) retransmissions), you should remotely be able to determine the AM/FM band being used. Not Good.

      I was thinking for a bit that deriving entropy from a the differential sync between many different NTP servers might be decent, but A) This doesn't scale and B) The differential sync, even at the minute scale, likely isn't more than a couple bits per resync. So you'd need to scan a few hundred servers a dozen times before you could create a 2048 bit key.

      I need to create about 200 of 'em. A day. Soon to be 500. *sigh*

      Interesting thought of the hour: Randomness isn't contained in the numbers themselves. Is a Royal Flush random? Depends how it was dealt.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

    6. Re:Non Interactive Keygen is a Hard Problem by Effugas · · Score: 2

      Actually, the more I think about the Lava Lamp Randomizer, the more I wonder about its actual entropy. Yes, lava lamps themselves are quite entropic, but how much of the overall image is of the lava lamp? It seems most of the signal they derive comes from the quantization noise from the CCD in their O2Cam--and that's pretty predictable. Now, granted, they munge and one-way hash their original content to oblivion, but that doesn't mean their original content is as highly entropic as they might think.

      I'd probably be more secure if the camera was mounted such that the entire image was a near microscopic scale view of the melting wax--but even then I'd be curious literally how many different possibilities of wax melting, unmelting, and wax separation there might be. It's not miniscule, but I do have to wonder how high it might be.

      The real thing that comes to mind isn't that you need 100% accuracy...it's that there's probably a good amount of work you can do by eliminating 90% of impossible occurances(like the wax flying out from the lava lamp!)

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

      P.S. That's not to say that the Lavarand system isn't the coolest damn RNG ever invented.

    7. Re:Non Interactive Keygen is a Hard Problem by Shinobi · · Score: 1

      Actually, they use 3 lavalamps standing together, and 3 cameras, in one implementation Ive seen used.

    8. Re:Non Interactive Keygen is a Hard Problem by Effugas · · Score: 2

      Actually, they use 3 lavalamps standing together, and 3 cameras, in one implementation Ive seen used.

      Yup, but some bits are more random than others. With a static camera, there will be bits that are entirely determined from variations in light and sensitivity.

      There's likely to be enough bits to seed a RNG, but the extensive work I've heard of being done by eliminating impossible combinations(31 round Skipjack was defeated in greater than brute force, while official Skipjack is 32 round!) leaves me wondering.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

    9. Re:Non Interactive Keygen is a Hard Problem by Shinobi · · Score: 1

      "Yup, but some bits are more random than others. With a static camera, there will be bits that are entirely determined from variations in light and sensitivity."

      Chromatic and luminicence-variations would also add to a random seed for encryption. The best would be to constantly change light- and colour-intensity, in addition to the motion of the "lava".

      "There's likely to be enough bits to seed a RNG, but the extensive work I've heard of being done by eliminating impossible combinations(31 round Skipjack was defeated in greater than brute force, while official Skipjack is 32 round!) leaves me wondering."

      Heh, I prefer military algorithms. FRA in Sweden has done some absolutely stunning things =)

    10. Re:Non Interactive Keygen is a Hard Problem by tlr · · Score: 1

      Non-interactive key generation is where this bug strikes really badly, and visibly. Keys are determined only by the algorithm and key length, and, in the case of ElGamal encryption subkeys, the publicly known time stamp and user ID of the DSA signature key.

      However, the vulnerability does affect interactive key generation, too, since pgp generally has less entropy at hand than it believes.

      Speaking more precisely (and repeating some of the content of the original advisory ;-), there are three sources of randomness used:

      • randseed.bin - isn't present the first time pgp5 is used, and essentially holds entropy gathered over the last sessions.
      • key stroke timings during user interaction (user ID input, etc) - only present with interactive key generation
      • /dev/random - doesn't work. Note that /dev/random is essentially used to fill up pgp's random pool, whether or not the program is run interactively or not. On systems without /dev/random, or with a /dev/random which has run out of entropy, pgp will prompt users for key strokes and use their timing, even when used "non-interactively".

      So, to estimate the security of your keys, you'll have to look at the randomness pgp can gather from the timing of the key strokes you made during key generation. It's reasonable to assume that, in most cases, sufficient entropy is gathered to make it computationally difficult to break keys in the foreseeable future.

      However, it is entirely possible that there are at least some public keys out there which may be broken by a determined attacker. So if you're paranoid and have used pgp 5.0i to generate your key, you may wish to revoke it.

    11. Re:Non Interactive Keygen is a Hard Problem by QuMa · · Score: 1

      Someone suggested the radio tuned between stations a few days ago on lk@vger a while ago, but as Alan Cox pointed out, this has a reasonably simple attack: Someone could attack this with a rf transmitter tuned at your frequency.

    12. Re:Non Interactive Keygen is a Hard Problem by Heraklit · · Score: 1

      Have you checked about the advances in using quantum-mechanical phenomena to generate white noise? Some of these devices are already relatively easy-to-use...
      For example, here a ramdom number generator for the parallel port is described - it uses the thermal noise in a resistor as entropy source. Price US$295, ("unofficial") linux driver available.
      regards, Heraklit

    13. Re:Non Interactive Keygen is a Hard Problem by Redundant() · · Score: 1

      The easiest way to generate random numbers using existing system components is to time one of the mechanical storage drives. Seek time when measured to the nanosecond is random. Think of it as timing a drawbridge opening and closing with a stopwatch and writing down the second the gates go up. Over repeated openings the second recorded will be random due to varying mechanical delays. Of course with a computer you are going to need RDTSC calls to get the timing accurate enough to detect the slight air buffeting of the hard drive.

    14. Re:Non Interactive Keygen is a Hard Problem by Effugas · · Score: 1

      Chromatic and luminicence-variations would also add to a random seed for encryption. The best would be to constantly change light- and colour-intensity, in addition to the motion of the "lava".

      It's not that hard to turn chroma/lumin differentials into RGB shifts--it's just YUV->RGB.

      Heh, I prefer military algorithms. FRA in Sweden has done some absolutely stunning things =)

      Do tell ;-)

    15. Re:Non Interactive Keygen is a Hard Problem by Effugas · · Score: 2

      The easiest way to generate random numbers using existing system components is to time one of the mechanical storage drives. Seek time when measured to the nanosecond is random.

      Unfortunately, the widespread layering of memory caches throughout the computer infrastructure(in OS, in drive controller, in drive itself, etc.) prevent this from being as slick of a solution as I'd like.

      --Dan

    16. Re:Non Interactive Keygen is a Hard Problem by randombit · · Score: 1

      Although, adding some hardware can help solve the entropy problem.

      And they're fairly easy to make. A couple guys I know made a RNG that lives on the parallel port and generated random bits by listening to a pair of diodes. They also write a daemon for Linux that reads the data and seeds /dev/random with the bits.

      Ideally, a good RNG would be built into every motherboard or CPU. There's enough "really random" stuff going on at the quantum level in there to generate a lot of bits, though collecting most of them would be hard.

    17. Re:Non Interactive Keygen is a Hard Problem by randombit · · Score: 1

      "Anyone attempting to generate random numbers on a digital device is living in a state of sin."?

      Found it!

      [lloyd@shirley lloyd]$ fortune -m "state of sin"
      (cookie)
      %
      "Anyone attempting to generate random numbers by deterministic means is, of
      course, living in a state of sin."
      -- John Von Neumann
      %

    18. Re:Non Interactive Keygen is a Hard Problem by ralphclark · · Score: 2

      If you want a truly random source, how about measuring the Brownian motion in, say, a nice hot strong cup of tea...

      Consciousness is not what it thinks it is
      Thought exists only as an abstraction

    19. Re:Non Interactive Keygen is a Hard Problem by kcarnold · · Score: 1
      Right. So I propose the following:

      1. Get a hash of all posts on Slashdot that have just been given a score of -1. That's pretty random (just remove all instances of common phrases such as "Natile Portman").
      2. Watch the inputs and screens of a [l]user's Windows box while they are "working". The Internet Exploiter surfing for p0rn will provide plenty of random data to chew on...
      3. Use an unstable devel kernel on one machine. Track its oopses.
      4. Better: ping your production NT machine. One bit of randomness to when it BSODs. If possible, use the cryptic stuff it spews on screen as random data.
      5. Nuke a small third-world country every day or so. The results will provide a LOT of random data. You know, the international warfare on your company... information overload.
      6. Instead of a normal hash algorithm, use the data obtained by tuning a radio to random frequencies (for /dev/urandom)


      There are more where those came from, but I can't pry them out of the bowels of my head right now...

  17. Buffer overrun by andy@petdance.com · · Score: 2
    Never mind the non-randomness: It's a buffer overrun!

    staticunsigned
    pgpDevRandomAccum(intfd,unsignedcount)
    {
    charRandBuf;
    unsignedshorti=0;

    pgpAssert(count);
    pgpAssert(fd>=0);

    for(i=0;i<=count;++i) {
    RandBuf=read(fd,&RandBuf,count);
    pgpRandomAddBytes( &pgpRandomPool,(byte*)&RandBuf,sizeof(RandBuf));
    pgpRandPoolAddEntropy(256);
    }
    return(i);
    }
    If count is anything over 1, that call to read() is gonna stomp on the stack.

    1. Re:Buffer overrun by randombit · · Score: 1

      If count is anything over 1, that call to read() is gonna stomp on the stack.

      First, PGP isn't SUID, so who cares?

      Also, they must be always calling it with an argument of 1, because otherwise PGP5 would SEGV every time you made a key - I doubt there is any way for the user to change that. Though the code does look incredibly sloppy.

  18. Far Reaching Conclusion by Alex+Pennace · · Score: 1

    While no one argues that open source provides perfect security, it isn't fair to say that open souce is insecure. Bottom line: what would the likelyhood of discovering this bug and getting a fix out be if the source was closed?

  19. Bill Joy on many eyes... by Chalst · · Score: 3
    I'm reminded of Bill Joy's retort to the idea that many eyes make bugs shallow from the recent Salon article:

    • "Most people are bad programmers," says Joy. "The honest truth
      is that having a lot of people staring at the code does not find the
      really nasty bugs. The really nasty bugs are found by a couple of
      really smart people who just kill themselves. Most people looking at
      the code won't see anything ... You can't have thousands of people
      contributing and achieve a high standard."
    1. Re:Bill Joy on many eyes... by Kaufmann · · Score: 2

      Most people looking at the code won't see anything ... You can't have thousands of people contributing and achieve a high standard.

      That's a non sequitur if I ever saw one.

      A 'high standard' is set by having each part of the program do exactly what it's supposed to do - nothing less, nothing more. This is not some ethereal concept - it can (and should) be verified mathematically or with equivalent methods such as 'design by contract'.

      If more people did that - if programmers working in complex and 'mission-critical' (I hate the term, but I can't come up with anything better at the moment) systems would just admit that they aren't perfect and that they should use all tools at hand to get everything just right (as opposed to just working with bare-bones tools, which unfortunately seems to be a favourite of *nixers) - then more software projects would achieve truly high standards, whether said software were Free or proprietary, whether it were designed by 2 or 2000 people.

      Because otherwise, it's just the same story from both sides - just as 'proprietary' doesn't necessarily mean 'high-quality', neither does 'open source'.

      Then again, I guess I can't expect much from Mr Joy, after he made an ass out of himself by playing Prophet of the Apocalypse... Ah well.

      --
      To the editors: your English is as bad as your Perl. Please go back to grade school.
    2. Re:Bill Joy on many eyes... by Chalst · · Score: 2
      I interpreted him here as meaning consistently high standards, the
      idea that everyone's contribution is equally valid: I don't suppose he
      means that code submissions necessarily pollute the code. His general
      point is well taken: most of the running on a successful and ambitious
      open source project is done by a small number of people.

      Exacting software engineering techniques such as design by contract
      are less likely to make their way into the democratic free-for-all of
      free software than the totalitarian discipline of in house
      development.

      Bill Joy isn't no opponent of open source. He is simply critical
      of the idea that many eyes are of much use in spotting really subtle
      bugs, especially ones to do with security. I have to agree with him
      on this. And yes, Bill Joy isn't infallible - csh was a pretty bad
      idea - but he should be regarded as one of the pioneers of open
      source.

    3. Re:Bill Joy on many eyes... by Syberghost · · Score: 2

      Bill Joy does have a partial point. Most of the programs recognized as "kick ass" in our business got that reputation after being mostly written by a single person. C.F. sendmail and bind.

      Most of the exceptions are rigidly controlled by a single person, and have wildly-varying parts. C.F. Linux, FreeBSD.

      Are there exceptions? Of course. But look closely before you call something an exception; a lot of it started with a single-person core, and has added cruft from there.

      However, all of this misses a vital point; it doesn't matter if 99.9% of the eyes looking at a given program are incompetent eyes, if that remaining .1% is the best of the best.

      There are people at RSA who use PGP. Bruce Schneier uses PGP. Lots of folks who are good at writing crypto use PGP.

      They see the bugs. They don't see them all; if they did, they'd have been fixed long ago.

      Meanwhile, PGP is still better than most of the alternatives. That's *BECAUSE* it's open, not in spite of it being open.

      Open Source benefits me even if I never look at the code, because if PGP had been written by, say, RSA, people like Bruce Schneier would never have been able to look at the code either.

      The advantage of Open Source is that those few really good people can look at it, even if they work for different companies.

      Unless, of course, the lawyers screw it all up by demanding employees not look at outside code.


      --

    4. Re:Bill Joy on many eyes... by muldrake · · Score: 1

      Bill Joy said:

      "The honest truth is that having a lot of people staring at the code does not find the really nasty bugs. The really nasty bugs are found by a couple of really smart people who just kill themselves."

      This is true. And anyone who thinks Open Source is some kind of mystical thing that will magically create some kind of mythical "perfect software" is deluded.

      But the number of those really smart people is limited. The more eyes look at it, the higher the chance that one of these rare geniuses will be one of them. If there are, say, 0.1% of programmers (to be generous) who can find a subtle bug, then obviously there will be more of these in a sample of a few million than in the population of a small or even large corporation.

      So I look at it this way. Is there any chance in hell that I could find a really hairy bug? No way. Am I glad that the ones who can do so have the source code? Definitely.

  20. Nope; Found by outsiders. by Anonymous Coward · · Score: 2

    PGP is NOT opensource developed. It's OSS released.. I.e. cloistered programmers code away then a 'final' product springs forth from their loins fully formed.

    The bug was found by outsiders, so OSS made it more secure.

  21. Open-Source is better than nothing by krappie · · Score: 1
    Just because it is Open-Source doesnt mean all bugs are surely spotted.. but at least there won't be any freakin NetscapeEngineersAreWeenies backdoors!

    make some money

    1. Re:Open-Source is better than nothing by RedGuard · · Score: 1

      'NetscapeEngineersAreWeenies' wasn't a backdoor,
      it was a rather silly thing to put in public
      code but it didn't allow anyone access. About the
      same time Redhat had to admit they shipped 6.2
      with a real backdoor (in the pirania component)
      but no one noticed.

  22. Missing the point. by KFury · · Score: 5

    Open-source is more secure in thge long run, but is less secure immediately.

    The idea is that security through obscurity is perfect until someone finds the hole, then it's worthless. In contrast, when using an open source solution, the security is inheirently flawed, because there is no obscurity, but as time goes by it gets less and less flawed, as responsible people find and patch holes, to the point where it's a safer bet than the obscure method.

    The most effective real-world security may be to combine both, or only use open methods that have been analyzed long enough that they're virtually certain to be secure.

    The security of obscure methods is simply harder to quantify, and you don't know when they become worthless.

    Kevin Fox

    1. Re:Missing the point. by drix · · Score: 2

      Exactly. Look at any mature OSS project and you won't find too many security holes. Sendmail and BIND, to name two. On the rare occasion that bugs are found, they are patched within hours, if not minutes. Compare that with literally /any/ hole that has been found in CSS products (like... Windows, for example =]), where we are lucky to have a patch within a week, and where bugs are found almost every week. Or like Sun, where people have literally found exploits in Solaris that Sun just plain ignored or didn't deem it worthy of a patch. You're fscking screwed in that case. It's not like you can fix them yourself.

      No; I'd say OSS is the far more secure approach in the long-run. That being said, however, security through obscurity is a pretty wise approach for short-lived apps. For example, I have a feeling the reason with didn't see a Slash release for years is because they were still cutting their teeth on Perl and Apache security for the first few years. Releasing the source would really have screwed Slashdot - every "haxor" would have found some sort of hole and messed with the site at a pretty crucial time in its history. I know this is pure speculation, but Taco has admitted numerous times to massive code overhaul, either through posts or interviews. One can only guess why that was. Even now, when Slash is quite mature, people have found ways to exploit it, BTW.

      --

      --

      I think there is a world market for maybe five personal web logs.
    2. Re:Missing the point. by wolfgang_ · · Score: 1

      While I totally agree with you, maybe this case might be taken as an example where the "open-source community" should have some humility.
      <BR>
      Yes, free software is theorically more secure, and in a broaden point-of-view less buggy. But it takes interested (and good quality, btw) developers to achieve quality software.
      <BR>
      In my opinion, free software should be fought for (for the sake of freedom). But if Freedom is not taken advantage of by Knowledge, those arguments might lack sense at the end... Quality is achieved by people who cares for it.

    3. Re:Missing the point. by Webmonger · · Score: 1

      Actually, Sendmail has a long history of security-related bugs.

    4. Re:Missing the point. by drix · · Score: 2

      But Sendmail has a long history period. The amount of bugs found in Sendmail pales in comparison to that of Windows. Go to Bugtraq/NTBugTraq and search for 'Sendmail' and 'Windows'. Which one do you think you'll find more posts on?

      --

      --

      I think there is a world market for maybe five personal web logs.
    5. Re:Missing the point. by lowy · · Score: 1

      Indeed,in the case of crypto, using *both* open and closed source is probably desirable.

      If a shared closed-source private algorithm is applied to an otherwise secure piece of cryptotext that was already encrypted via an established open source method, the doubly encrypted message is - at the very least - guaranteed to be no less secure than the singly-encrypted version. If the private algorithm is chosen correctly, the security is most likely enhanced.

    6. Re:Missing the point. by randombit · · Score: 1

      If a shared closed-source private algorithm is applied to an otherwise secure piece of cryptotext that was already encrypted via an established open source method, the doubly encrypted message is - at the very least - guaranteed to be no less secure than the singly-encrypted version. If the private algorithm is chosen correctly, the security is most likely enhanced.

      Secret algorithms are, in all cases, bad news. Nobody can possibly trust a secret algorithm because nobody can review it. Peer review is as important in crypto as it is in software (if not more, crypto is worth a lot more money). Not to mention the fact that it's hard to write a secret algorithm in OSS.

    7. Re:Missing the point. by JonK · · Score: 1

      True, but Windows offers rather more functionality than sendmail. A better comparison would be to count and compare the number of security-related bugs in sendmail, Exchange, Groupwise, Notes, SNADS and PROFS (and even these five offer far more functionality than sendmail). Without having done the sums myself, I suspect that the OSS posterchild might not look quite so glossy (especially when compared to host-based groupware systems
      --
      Cheers

      --
      Cheers

      Jon
  23. on the topic... by timmyd · · Score: 2

    Not that I want to bash on the topic, but I think that, "Open-Source != Security; PGP Provides Example" is going a little too far. The linked page says, "Chances are very high that you have no problem. So, don't panic." It says that this only effects the "PGP 5.0i code base". Is the topic supposed to scare everybody out of their shoes to rethink open-source software? I believe that this topic is going a little too far considering that this software probably isn't being looked over by too many people anyways. Oh please, Slashdot, don't turn into ZDnet!

    1. Re:on the topic... by jamiemccarthy · · Score: 1
      "Open-Source != Security; PGP Provides Example" is going a little too far.

      Well, we only get so many characters in the title. I already had to use a C operator to replace three English words. I was a little squeezed for space.

      Oh please, Slashdot, don't turn into ZDnet!

      I don't think you have to worry about that.

      Jamie McCarthy

      --

      Jamie McCarthy
      jamie.mccarthy.vg

    2. Re:on the topic... by timmyd · · Score: 1

      Well, we only get so many characters in the title. I already had to use a C operator to replace three English words. I was a little squeezed for space.

      I didn't mean 'too far' as in 'too long', I mean, even though you would lose readers by making the title a little weaker, I think it wouldn't sound as if you had made a big conclusion about open source software being not secure. But, I admit, it was a really good catch phrase, and I probably wouldn't have read the article if it was something like: Severe bug in Open-Sourced PGP.

      I don't think you have to worry about that.

      You just think? Oh that sounds comforting. ;)

  24. Opensource != Security, and generalizations by Spirilis · · Score: 1
    I think common sense can explain this one. You simply can't generalize something like "Open Source == Security" without finding exceptions like these. Open Source can only be considered "Secure" if the benefits really are benefits, in this case if the openness of the source is actually used--if nobody looks for the bugs, they may never be found.

    Likewise, you can't argue that Closed Source is or isn't Secure, because closed source could be more secure if it's professionally audited, or it could have blatantly dangerous bugs pass through if it's not.

    I think what I'm really trying to say, is that I'm not surprised, and I don't understand why everyone else is surprised about this. Good thing they found the bug though!

    --
    the real at&t mix
  25. Source code is Greek to me. by basscomm · · Score: 1

    One of the problems I see is that a lot of the users who download and run Open Source software have no desire to learn to program and couldn't contribute to the security even if they wanted to. Just because a piece of software is downloaded 1,000 times, doesn't mean that it's been downloaded by 1,000 programmers who have a could understand the source.

    --
    http://crummysocks.com
  26. I can't believe no one else saw this by mrdlinux · · Score: 1

    On the second link of this article, if you scroll up, you will see convincing evidence that open source software has nothing to fear about security competition from closed source software.

    Here is a direct link, read the first article, although I doubt you will be surprised.

    --
    Those who do not know the past are doomed to reimplement it, poorly.
  27. Try -reading- the article. by Parity · · Score: 2

    The article that I read said nothing of the kind, but rather, said, 'Open-source advocates tend to assume that open-source code has been thoroughly reviewed for security by the many-eyes theory, but this isn't necessarilly true.'

    The alternative of closed-source was mentioned, and dismissed as not being any better.

    This article was, in short, saying 'this is a shortcoming of open-source' but it was -not- rehashing the security-by-obscurity argument from the closed-source camp, but discussing the fact that those many eyes may not be looking as close as we assume.

    Your response makes -no- sense at all, and has -nothing- to do with this article. It's an answer to the -usual- security debate around open-source but has nothing whatsoever to do with -this- article.

    --Parity

    --
    --Parity
    'Card carrying' member of the EFF.
  28. not quite right... by palinurus · · Score: 1

    i looked at the report, and it does not appear that your assessment is correct. the problem is in pgp5i, being that it does NOT read from /dev/random where it should. it doesn't matter if the entropy is there or not. basically the problem was something like

    randomBuf = read(random_fd, &randomBuf, 1)

    intending to read one random byte into randomBuf. which it does in evaluating read, but then promptly overwrites that value with the return of the call to read, which is the number of bytes read, which is always 1 (unless you get an error, but how often does that happen?)! so the buffer is always '1', even on linux. damn, if that doesn't suck.

    a comment on the issue of open source having more eyes on the code...

    it may be nice to have more eyes on the code, but what worries me is testing. it's what even the most experienced coder wouldn't think of that can come up in those really weird deviant test cases, after which you smack your forehead, say "shit!", and fix it. true, we have tons of people using and reviewing the code, but does it really get as rigorously tested as when, in commercial development, people are paid to do nothing other than put it through the wringer? just a thought.
  29. bug or deliberate flaw by jab · · Score: 1
    Can someone comment on the likelihood that this is a genuine bug, vs. the possibility that the flaw was introduced deliberately by some party to weaken PGPi?

    I guess I'd be interested in knowing how long the flaw has been in the code, and also who wrote this particular block of code.

  30. The scary part. by Uruk · · Score: 2

    The scary part is not the hole in PGP. That's been found, and if it hasn't been fixed already, it will be very shortly.

    The scary part is things similar to this that HAVEN'T been found.

    I get the feeling that the really succesful crackers are probably the types of people who spot things like this and never mention them, just exploiting them for their own use.

    --
    -- Truth goes out the door when rumor comes innuendo. -- Groucho Marx
    1. Re:The scary part. by zul_zen · · Score: 2

      The scary part is things similar to this that HAVEN'T been found.

      I have to say this topic has been quite a bit unnerving. I'm a web developer like many of you are out there, I imagine. I am responsible for designing and programming small to medium size web applications for my company. I can use M$ products if I want, or I can use open source products. It's my call, but also my ass on the line.

      I am a good programmer, but I am *not* a security expert, nor do I have the time to learn how to be one on top of my other responsibilities. I don't want to use M$ products like IIS and ASP, but I know that if I do - and if a bug or security hole is found - it will pretty much be written off as M$' fault, and not mine, although I will probably have to go back and fix the damage

      However, I choose open source software, and we get hacked, my company will *definitely* view it as my fault. Now, I'm not one to play it safe, and I've got Linux/Apache/MySQL/PHP/Perl running all over the place, but still.....this topic makes me worry.

      Does anyone else have any thoughts on this? Feel the same way as me?

    2. Re:The scary part. by ryanr · · Score: 3

      I am a good programmer, but I am *not* a security expert, nor do I have the time to learn how to be one on top of my other responsibilities. I don't want to use M$ products like IIS and ASP, but I know that if I do - and if a bug or security hole is found - it will pretty much be written off as M$' fault, and not mine, although I will probably have to go back and fix the damage

      However, I choose open source software, and we get hacked, my company will *definitely* view it as my fault. Now, I'm not one to play it safe, and I've got Linux/Apache/MySQL/PHP/Perl running all over the place, but still.....this topic makes me worry.


      It shouldn't matter which technology you use. if you get hacked, it's your fault or it isn't regardless of which set of stuff you pick. Obviously, if your employer or whatever is going to assign blame because you picked something "weird", you have to cover your ass.

      But the point I want to make is that it doesn't matter if you're a security expert or not. Someone, you, the OS vendor, the web server vendor, has already screwed up. There's a decent chance that someone might find said screw-up. If they come after you, you'll be defaced, and there's not a lot you can do to prevent it. In such a situation, the thing to do is to prepare a plan on how to react and recover.

      This includes things like buy-in for downtime to apply patches, whether or not you'll want to do forensics and prosecution, or whether you'll just try to get back on line as quickly as possible.

      The advantage of open-source is that you'll probably get a patch quicker, or you might even be able to make your own when you see a vulnerability report.

  31. Security Through Carefully-Chosen Incompetence by lahosken · · Score: 4

    If you want people to carefully look over your code, make sure that you put an error in it, one that generates a really obvious error. I've been using this technique for a long time now, and it's worked wonders.

    Those PGP people are too competent for their own good. If outsiders trust PGP too much to check it, everybody loses.

    On a related note, my own incompetence has saved me from this bug--because I've never memorized the command-line options to PGP, I have to use it interactively.

    1. Re:Security Through Carefully-Chosen Incompetence by C.Lee · · Score: 1

      >Those PGP people are too competent for their own good. If outsiders
      >trust PGP too much to check it, everybody loses.

      Yeah right. That's why RedHat and other linux dists are shipping with GnuPG instead of PGP these days....

  32. Hold it here! by Lumpy · · Score: 1

    Slashdot's choice of "sensationalized" headlines is getting to be as bad as the mainstream media! saying that PGP is proof that opensource is insecure.. That is the most misleading headline I have ever read.. I would almost call it blatently lying.

    If PGP was NOT opensource this "flaw" would have never been released to the public. this is why Opensource works. Yes it took a YEAR for this flaw to surface. BUT IT SURFACED! Besides, pgp is pretty sophisticated software, it makes the linux kernel look like a "hello world" program.

    Over the past few weeks, I have seen some very por choices for headlines, you guys either need to hire an editor to process stories before publishing, or start thinking before posting.. (Gee, something all slashdotters should do!)

    I would hate to compare slashdot reporters with that of the holland sentinel's or muskegon cronicles reporters (Sensational first! facts last!)

    change that headline or post an apology, PGP is proof that Opensource is more secure! (If microsoft owned pgp, they'd call that a feature!)

    --
    Do not look at laser with remaining good eye.
    1. Re:Hold it here! by EraseEraseMe · · Score: 1

      Could you at least try a bit harder to be an entertaining troll :)

      --
      "Anybody who tells me I can't use a program because it's not open source, go suck on rms. I'm not interested." (LT 2004)
  33. FUD? by Cryptnotic · · Score: 1
    Gee, Slashdot flinging FUD at open source development? Who'd have thought...

    --
    My other first post is car post.
  34. Security through Open Source Obscurity by EraseEraseMe · · Score: 1
    *insert tongue in cheek*

    I propose a new method of security programming that takes the best from both models.
    Just imagine; the security and stability of Win2000 excellently obfuscated with the ease of use and proprietory extensiveness of all *nices.

    I call it "Steve"

    --
    "Anybody who tells me I can't use a program because it's not open source, go suck on rms. I'm not interested." (LT 2004)
  35. Damn it. by Anonymous Coward · · Score: 5

    No one thinks open-source makes software invincible to bugs. Anyone who does... well I have some magic beans I'd like to sell you.

    The peer-review aspect of open-source is just a nice feature, and actually works most of the time. It isn't an ultimate and guaranteed aspect of it.

    People trying to be smart saying that "oh most people looking at the code aren't qualified." Wow, such a revelation. Yes, we thought there was a mystical army of highly trained CS experts poring over all open source code for bugs.

    Things slip through the cracks, even in the scientific community's peer review. Humans aren't perfect. Get it through your head.

    And yet, people fail to turn this accusing finger all the way around and wonder the same about commercial software. They just excuse it saying "Oh their jobs depend on it, they must check it."

    The major driving force in open source is that the programmers actually *use* the software they create. If a bug is found, they *want* to fix it because they are using this software too. They are directly affected. In the case of commercial software, even expensive software, they are not directly affected. Does Microsoft really want to fix bugs? No, it costs them money. In most cases, compatibility issues require companies to buy their software anyway.

    So you might say "Hey paying a lot for softare ensures getting good software because the company can pay for experts to pore over every line of code for bugs." Well yeah, but who says they will? They'll only do it as long as it's profitable. Then you'll be stuck with the bugs as fast as you can say COBOL. Oh wait, it will be worse than that because you CAN'T fix it.

    No one said open-source was perfect, and just because it isn't doesn't mean the alternative is automatically better.

    Maybe there should be a Frequently Used Arguments list. I bet a whole bunch of posts say about the same thing I have. That was a pretty stupid flamebait comment in that article. Oh was it supposed to make us stop and think about something? There are better ways to do it than pasting FUD-style(yes, it was.) flamebait.

  36. Re:Slashdot == Censorship; Rob Provides Example by Rombuu · · Score: 1

    a) Its Rob's site he can do as he pleases.

    b) Having your postings at -1 is hardly censorship. I read at -1 all the time.

    c) Arguing that having a post at -1 is censorship is like saying "hey, my letter to the editor in your newspaper isn't on the front page, I'm being censored!"

    d) Did I mention its Rob's site, he can do whatever he wants? If you don't like it, you are free to post / go elsewhere.

    --

    DrLunch.com The site that tells you what's for lunch!
  37. Open source as a deterrent by sreeram · · Score: 3
    I think you have to agree that "security through open source" is not a given. Let me try to summarize the arguments we've heard while adding some of my own.

    Against: If you open the source code, you are making it much easier for crackers to find flaws in your system.
    For: Yeah, but there will also be good guys finding flaws too, which will let us fix the bugs faster.

    For: If you close the source code, it doesn't mean that crackers won't find flaws. A determined cracker will get in, eventually.
    Against: Yeah, but just look around. There are a lot of good guys finding holes in closed source software as well, e.g., Bennett Haselton of Peacefire.

    For: Yeah, but the many eye-balls effect is a unique advantage of open source. Closed source software doesn't have that.
    Against: Well, the many eye-balls principle is just that, a principle. As this article shows, a lot of people just assume that others are doing the security audit; most are not competent to find flaws even if they are looking; nobody wants to look at a tangled mess of C code, etc. In reality, if your program is not an obviously security-related product (say it's your run-of-the-mill application), you've to admit that many eye-balls won't find any problems there. But a lot of systems are still put at risk because of these "applications".

    I think what the critics of open source security are missing is the deterrent power of open source. If they are really right in their claim that more crackers than good guys will be finding flaws in my program, then that's a strong deterrent for me to just code away as I wish. I have a sort of moral responsibility for the code I write (the warranty disclaimers notwithstanding) and I would be peeved if a cracker penetrated a system because of gaping security holes in my work.

    The incentive for writing better code is that much lesser if I know that "hell, who's going to be spending time disassembling this code, I've got a deadline to meet".

    Sreeram.
    ----------------------------------
    Observation is the essence of art.

    1. Re:Open source as a deterrent by Cedric+Adjih · · Score: 1
      I think what the critics of open source security are missing is the deterrent power of open source. If they are really right in their claim that more crackers than good guys will be finding flaws in my program, then that's a strong deterrent for me to just code away as I wish. I have a sort of moral responsibility for the code I write (the warranty disclaimers notwithstanding) and I would be peeved if a cracker penetrated a system because of gaping security holes in my work.

      The incentive for writing better code is that much lesser if I know that "hell, who's going to be spending time disassembling this code, I've got a deadline to meet".

      I think this can't be analyzed in such simple terms, and only a statistical analysis can show who is winning and why.

      For starters, in Open Source, there can also be similar problems "hell, it works for most people, I've better things to do", or even "I or someone else, will add necessary features later, including security", "whoever need it, just has to code it".

      Second, I think that at least some people in some companies will review or audit their code, especially if it is security-related. Do you think that repeated and deliberatesloppy coding won't be of some consequence for its author ?

      I agree that probably the Apache group, or OpenBSD teams are probably falling in the "deterrent power of open source". However for many other Open Source projects it is not a factor. Hell, some projects are grown, and people are happy that the program works at all.

      More time spent on security means less time spent on interesting features. So it depends.

    2. Re:Open source as a deterrent by jr7 · · Score: 1

      ...security through ANY development methodology, is not a given. I think what we are talking about here is which method(s) have the highest potential to produce secure software and systems. Having worked in the industry for a few years, I have to say that I think the open-source model has the higher potential but, not how you might suspect.

      The "many eye-balls" counterpoint is somewhat flawed because they need to be highly skilled and focused - happens on some projects (like OpenBSD), some not, for whatever reason; time, interest, ability...etc. The point here is the opportunity for review which clearly does not exist in the closed-source model. However, the most compelling counterpoint to me has to do with the nature and culture of the open-source model itself.

      In the open-source model, programmers have to be willing to be publicly scrutinized on the work that they produce. Reputations (as well as egos) typically are checked at the door of a project and everyone involved learns at a much higher rate collectively through the peer review process. Guys and gals that do security right set the example and teach others - again much more quickly than in the closed source environment. The implications for secure code are fairly obvious.

      The reputation game is probably the most bothersome aspect to the closed-source companies, security companies in particular. Unfortunately, we have created an environment where the expectation for these companies is so high that any breach is looked upon as a major PR problem and not an opportunity to improve the security of their product(s). I have witnessed major security vulnerabilities swept under the carpet for months by these companies because of the reputation games that they play. Conversely, the open-source community tends to skip the foot dragging and excuses part and proceeds to FIX THE PROBLEM.

      Security is not easy, the better development model is the one that acknowledges that fact and provides proactive, informed and expedient response. As someone earlier pointed out, we all are human...in the context of security, we need a development model that identifies vulnerabilities as quickly as possible and then, fixes them that much faster. The closed-source model just isn't built that way and the current "reputation game" is clearly hurting the industry's ability to be responsive in this dynamic environment.

      Finally, the business models of the closed source companies (and their reliance on proprietary code license fees), will stop them from addressing many of these issues near term - and that's why the open-source model is the superior model for security...

  38. OT: IQ by Rombuu · · Score: 1

    Windows is stupid? What do you expect? 50% of the population has an IQ under 80. - Trivial Pursuit

    huh? Isn't 100 the median IQ? Doesn't that mean that 50% of the population has an IQ under 100, not 80?

    --

    DrLunch.com The site that tells you what's for lunch!
    1. Re:OT: IQ by Xerithane · · Score: 1

      Also depends upon the IQ scale that is being used. I just saw the Trivial Pursuit question "What percent of the population has an IQ under 80?" and it was immediately my .sig

      --
      Dacels Jewelers can't be trusted.
    2. Re:OT: IQ by HeschelsGyrus · · Score: 1

      IQ scores are on a normal distribution, with a mean of 100 and a standard deviation of 15. That means that on average, people score 100+-15. Different IQ tests might have different scales, but all the major ones translate their norms to mean=100 for consistency. Still, half the people have double-digit IQs, and that's pretty scary when you think about it... and I guess some of them work for whatever company puts out Trivial Pursuit!

  39. Not quite by Anonymous Coward · · Score: 1

    That wasn't the problem as count was always set to 1 by the caller anyway, although it is very poor coding because, if count has to be 1, why bother having it as an argument. asking for bugs.

    The actual bug is assigning the return from read() back to Randbuf. DOH! Turning on compiler warnings probably would have found the bug at the first compile, because the conversion from ssize_t (the return type of read()) to char loses precision. (and I would argue is one of the many implicit conversions in C that shouldn't exist anyway).

    1. Re:Not quite by andy@petdance.com · · Score: 2
      I understand that "the calling code always passes a count of 1", but so what? What that really means is "the calling code always passes a count of 1 as it stands right now." The code is still crap.

      That's like coding while saying "We don't have to handle that case; it'll never happen". Bad code is bad code, whether or not the effect is immediately seen.

  40. Good demonstration of insecure closed source... by javaDragon · · Score: 2

    PGP used to be developped in a closed-source way.

    Consequence : unseen bug.

    Since viewable by open source community, the bug was discovered.

    Far from being a demonstration of the insecurity of open sourced code, it's a perfect example of the contrary.

    --
    -- javaDragon is an instance of JavaDragon.
  41. Open Source still has an advantage by Todd+Knarr · · Score: 4

    It doesn't look like open-source provided an advantage in finding this bug. But because PGP is open source, there are still two advantages:

    • The nature of the problem was found. Had this been closed-source software, we likely would have known the keys were non-random but would have no clue why they were non-random under certain circumstances, at least until the creator decided to release this information.
    • I can fix the problem. Literally minutes after viewing the Slashdot story, I was in the process of rebuilding my copy of PGP5 after having modified it to fix the bug. I would still have been waiting on a fix for a closed-source program.
    As far as I can see, open source still provides advantages over closed source when it comes to finding and fixing bugs.
  42. Score -1 (misinformative) by Chuck+Chunder · · Score: 1

    I've been wondering where that moderation choice is?

    I guess that it'd be ripe for abuse with people marking opinion as misinformative, but hopefully moderation/metamoderation guidelines could sort that out.

    --
    Boffoonery - downloadable Comedy Benefit for Bletchley Park
  43. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  44. Disturbing by PhiRatE · · Score: 3

    The number of errors in that code is truely disturbing. Here's my contrib for a first try at a decent fix. I hate the code layout though :)

    God knows whether this thing will format ok when it turns up on /. tho :) My apologies if gt's or lt's go missing.

    Not too comfortable with the sizeof(unsigned char) stuff, probably better as something like sizeof(*ReadBuf). Anyway, I'm sure theres plenty of errors, get stuck in.

    static unsigned
    pgpDevRandomAccum(int fd, unsigned count)
    {
    unsigned char *RandBuf;
    unsigned i;

    pgpAssert(count > 0); /* Make sure we have a count */
    pgpAssert(fd >= 0); /* Make sure we have a valid filedesc */

    /* Allocate a buffer for the count, and check we got a valid alloc */
    RandBuf = malloc(sizeof(unsigned char)*count);
    pgpAssert(RandBuf);

    for (i=0; icount; i++) {
    /* If the read fails, bail */
    if (!read(fd,RandBuf,count))
    break;
    pgpRandomAddBytes(&pgpRandomPool,RandBuf,count*siz eof(unsigned char));
    pgpRandPoolAddEntroy(256);
    }

    /* Free buffer */
    free(RandBuf);

    return(i);
    }

    --
    You can't win a fight.
    1. Re:Disturbing by PhiRatE · · Score: 2

      Yeah we lost a bit, in the for line, i &lt count, /. ripped the &lt out. Hey CmdrTaco, how about a Code Mode for submissions that fixes stuff like that? :)

      --
      You can't win a fight.
    2. Re:Disturbing by PhiRatE · · Score: 2
      t's likely a mistake not to check the return on malloc(). Calling free() on a null pointer isn't good ;) Unless of course, some error checking is
      done in pgpAssert, haven't looked.


      Thats exactly what pgpAssert() does :) Checks for a 0/NULL value and bails if that occurs.


      --
      You can't win a fight.
    3. Re:Disturbing by sheldon · · Score: 1

      That only checks to make sure you aren't trying to allocate 0 bytes...

      What happens if the malloc() call itself fails, as in say there is no more memory to give out?

      Ok, yeah, your system is probably hosed, but is it your applications duty to make you feel worse about that? ;)

    4. Re:Disturbing by Briareos · · Score: 1

      /* Allocate a buffer for the count, and check we got a valid alloc */
      RandBuf = malloc(sizeof(unsigned char)*count);
      pgpAssert(RandBuf);

      Well, in case you didn't notice, there's a pgpAssert() on the result of the malloc... no memory -> returns null -> pgpAssert() goes boom...

      See? :)

      np: Leak - Frilage (Demo CD)


      As always under permanent deconstruction.

      --

      "I'm not anti-anything, I'm anti-everything, it fits better." - Sole

    5. Re:Disturbing by erikn · · Score: 1

      Calling free() on a null pointer isn't good ;)

      Actually, it's fine. Read the standard. 7.20.3.2 in the C9X 1/18/99 draft. (Sorry, all I have around here, and I want to include a ref so you'll believe me. :b) null to free is a nop.

    6. Re:Disturbing by spitzak · · Score: 1
      I don't know about your solution. You have made the code even more complex than before. Bloating it with tests makes it hard to read, and can actually confuse other code readers because they can believe that it is possible for the tests to fail, leading to far more code paths than really exist. For instance I think the assert for the fd would lead people to think this function may be called with a closed fd (yea I know it will abort, but it does confuse me). Also sizeof(unsigned char)==1 by definition of the C language, putting bloat like that in is bad.

      My version, the main thing I do is get rid of the "count" argument, which according to the code is always one, and their funciton would not work if it was not 1:

      static unsigned pgpDevRandomAccum(int fd)
      {
      char buffer[1];
      read(fd, buffer, 1);
      pgpRandomAddBytes(&pgpRandomPool, buffer, 1);
      pgpRandPoolAddEntrophy(256);
      }

      I hope most people agree that it is a lot easier to spot bugs in my version.

  45. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  46. Article moderation by Decklin+Foster · · Score: 1

    (-1, Strawman)

    nuff said.

  47. Propaganda by 1DeepThought · · Score: 2
    Does anyone sensible actually believe OpenSource = error free? I don't think so. What a load of sensationalist propaganda. Far from being a bad thing this is a good thing because an error has been found. I get so tired of people jumping on the bandwagon having a go at OpenSource everytime an error is found. Of course there are going to be errors no-one is perfect.

    --

    "Patience is a virtue, afforded those with nothing better to do." - I don't remember

    1. Re:Propaganda by ishpeck · · Score: 1
      No, it's not error free. But errors have less of a lifespan in open source.
      • I love to sit and write code

      • When I get in a programming mode
        Compile and run
        It is so much fun
      --

      "If I were to ask you a hypothetical question, what would you like it to be about?"

  48. Now this argument gets old... by BlueBlade · · Score: 1

    Hey people, don't you realize that this is the same kind of argument as:
    "What do you mean, smoking causes lung cancer? My grand-father smoked all his life and he lived to see his 100th birthday!"

    Now come on! It's obvious that open-sourcing a program won't magically turn it into a secure one. Just the same with smoking: it won't automatically mean you'll develop lung cancer. It's all about average. You can say that, in general, open-source program (especially those about security) will be a lot safer if everyone can look at the code and check if it has holes. Yes, this bug stayed around for a long time. So what? If the program had been closed source, it's quite possible that it would never have been found. It's not because something breaks a general trend that it automatically nullyfies this trend. Don't jump into the propaganda band-wagon!

    --
    Religion is the best example of mass psychosis
  49. Ready, Aim (at foot)... by gnubie · · Score: 3
    What are the chances of getting some editorial accountability around this place?

    Jamie, before you go stating that "OSS != Security," please consider:

    • Bugs in crypto systems are extraordinarily difficult to hunt down and squish. Read Applied Cryptography if you feel like getting your brain around why.
    • A bug of this magnitude in a product with source code not available would probably never have been discovered.

    PGP's license has never met the Open Source Definition (it's free to use only under certain circumstances). Despite this technicality, your headline is stupidly sensational and self-defeating. Wouldn't it have been much better to title it "Key Generation Bug Found in PGP 5"?

    --

    1. Re:Ready, Aim (at foot)... by jamiemccarthy · · Score: 3
      What are the chances of getting some editorial accountability around this place?

      Comments like yours are our editorial accountability :-)

      Jamie, before you go stating that "OSS != Security," please consider:

      Bugs in crypto systems are extraordinarily difficult to hunt down and squish. Read Applied Cryptography if you feel like getting your brain around why. A bug of this magnitude in a product with source code not available would probably never have been discovered.

      Many crypto bugs are hard to find. This bug should not have been. Passing in a pointer to a buffer and then assigning the function result to that same buffer? I bet there exists an automated tool which understands the parameters to read() and would find that error.

      It's not like read() is an obscure system call. Using it improperly like this is practically criminal.

      And I never said "OSS != Security," in fact, I explicitly said the two were not necessarily equal, "emphasis on necessarily."

      PGP's license has never met the Open Source Definition (it's free to use only under certain circumstances).

      OK, you got me there - Dan Kaminsky also wrote in to mention that its license prohibits commercial use, adding "many of the eyes that would have otherwise been directed at the PGP codebase wouldn't touch the product."

      I'm not entirely sure that's true. PGP should naturally attract a lot of eyes by virtue of being high-profile. Many of the people who would be or should be looking for bugs like this one are up-and-coming cryptographers, for whom finding a bug in PGP would garner street cred. They wouldn't care whether they could use the code commercially.

      Still, point taken. Let me talk to a friend who knows PGP better than I do, and I'll look into revising the headline and/or updating the story in the next few hours.

      Despite this technicality, your headline is stupidly sensational and self-defeating. Wouldn't it have been much better to title it "Key Generation Bug Found in PGP 5"?

      When we get two submissions that are both important, and related, it makes for a more interesting discussion to link them together. Unfortunately I think many readers are only reading the PGP story, and skipping John Viega's excellent article - or at least there hasn't been much discussion of it, which is a shame.

      Jamie McCarthy

      --

      Jamie McCarthy
      jamie.mccarthy.vg

  50. Re:Disturbing - You missed the bug fix :) by jdigital · · Score: 1

    shouldn't your read be !read(fd,RandBuf,1) as per the Buf-Fix that was posted :)

    --
    :wq ~ ~ ~ ~ ~
  51. Re:Disturbing - You missed the bug fix :) by PhiRatE · · Score: 2
    shouldn't your read be !read(fd,RandBuf,1) as per the Buf-Fix that was posted :)

    Nope. Because I allocate the correct buffer length etc, and because I don't assign the read return value into the buffer.

    --
    You can't win a fight.
  52. The (other) real power of open-source by gunner800 · · Score: 1
    There are bugs in open source software. There are bugs in closed source software. No surprise; they are bugs in pretty much any program more complicated than "Hello World" (version 2).

    So how do we deal with bugs in open source software?

    1. Wait for the main developers to write a patch, which will probably be free.
    2. Wait for one of the bazillions (est.) of other developers to write a patch, which will almost definately be free.
    3. Write your own patch, which will be free.
    4. Or, combine all the above in some unholy conglomerate, which is just creepy.

    How do we deal with bugs in closed-source software?

    1. Wait for the owner to admit the problem exists. This can take months or years, or forever.
    2. Wait for the owner to write and release a patch. Arguable, patches are not as flexible as revised source code.
    3. Or, wait for the owner to include the fix in the "next version", which you may have to pay for to get the functionality you thought you were getting in the first place.




    ---
    Dammit, my mom is not a Karma whore!

  53. "Good Way" to reveal security problems by AcidMonkey · · Score: 1
    This article kicks a little sand in the face of the open source community, but I'm glad to see it. I wish more security problems would be exposed this way, as opposed to some more-or-less harmless hacker/cracker exploiting a bug.

    (Of course, it would be kinda difficult to break into a system by exploiting a non-random PGP key)

    ...

    --


    Got Warez?

  54. Y'all have no idea how many bugs you haven't seen. by Art+Popp · · Score: 1
    Jamie, I like your stuff, but you're obviously haven't worked much with the innards of proprietary software.

    To get my first Windows application running was painful, but to figure out why it was blowing up after a couple hours of use was a nightmare. I formulated dozens of theories as to what could be the problem, and disproved many of them. Finally at one point I inadvertantly changed the order in which I allocated my memory blocks, and the problem magically vanished. This, and hundreds of bugs like it are daily worked around and forgotten by programmers who have given up wasting their time with the no-solution solutions from Microsoft. Bugs like these are found, squashed and shared in Open Source products.

    If you code the innards, there is just no comparison, nor is their any counting the number of bugs much more disruptive than the PGP bug you've mentioned, that will never be isolated and fixed in proprietary code, because there's no money in it.

  55. Microsoft software used VOLUNTARILY? by rifter · · Score: 1

    Name a single piece of microsoft software that is used voluntarily. You can't because there isn't any. People use MS office because they have to be compatable with MS Office, and microsoft makes sure no one else can be 100% compatable. People use Windows because they still are forced to buy Windows on their computers.

    In the server market, Microsoft provides the grease in the direction of using all microsoft products, and the walls come up as soon as any other product is used. Sure Samba makes a good file/print server, but if you want PDC compatability with NT clients and servers, you gotta pay Mr. Bill.

    Once anyone in the company decides they want groupware someone points out there's always Exchange, which works with Outlook, but if you try using anything else, on either side, it's just a shoddy mail server and a creepy mail client. So you get roped into buying Outlook for everyone and using Exchange for at least the in-house mail (though only a free product will work properly for internet mail, interestingly enough.)

    Microsoft's products do not play well with others, and that has been the cornerstone fo their existence, making sure that if you want to work with other companies who use microsoft, you have to buy microsoft too. They got away with it because they had no competition initially and were able to break other people's products at the OS level later.

    Of course either you are a troll or have not paid attention to the Microsoft business model.. in either case you can be excused for making a simple mistake.

    1. Re:Microsoft software used VOLUNTARILY? by session · · Score: 1

      Last time I checked, you had to buy Microsoft software. Buying software is not (that I'm aware of) required by law. Therefore you have to choose to buy the software. Is that not voluntary? Sure I understand your point about their business model and lack of adherence to standards. It sucks. However, as much as a lot of the OSS wants to believe otherwise, Linux is not the best desktop OS in the world. In fact for graphic design (which I do a lot of), it rather sucks. I choose to use Windows for that reason. Windows for my workstation, Linux for my servers. I choose both.

    2. Re:Microsoft software used VOLUNTARILY? by markbark · · Score: 1

      I concur with your first sentence. The last time I checked you HAD to buy Microsoft software. Unless you built those Linux servers from parts, you first had to scrape off whatever flavour of Windows software that was preinstalled. True, it wasn't you who had to buy it. It was Dell or Compaq or HP or whoever made the iron, but the cost was passed on to you, you lucky consumer.
      I agree Linux is not a desktop for civilians [although the pedant in me will point out that Linux is the kernel... it's KDE or Gnome that's the desktop ;)] but things are getting easier all the time.
      I can't vouch for your choice of platforms for graphics design.... All of the Artist/Web Design/Graphics folks that I know use computers from that fruit company in Cupertino ;)
      But hey, whatever works right?


      Thanks for listening, you've been a great audience... Don't forget to tip your server.


      Macintosh for Productivity
      Linux for Development
      Palm for Mobility
      Windows for Solitaire

    3. Re:Microsoft software used VOLUNTARILY? by um...+Lucas · · Score: 1

      I built my box from scratch and purchased an OEM copy of WIndows 98 for it, to complement Windows NT workstation and Redhat Linux that I'd also purchased and installed. I think it's rude that you can't (or have to try really hard to) buy a machine from Dell, Gateway, or IBM without Windows installed, but in the end I ended up paying the Microsoft tax anyways...

      So far as their other apps go... I use Microsoft Office on the PC because I like it. It's the most functional, stable office suite in my eyes. I also like using Outlook for my email... Though I do prefer Netscape for browsing. Microsoft's graphics applications are laughable, though, so they'll never win a place on my machine at the rate they're going.

      Even on my Mac, I run Microsoft Office 98, and for some reason Internet Explorer 5 runs much better then Netscape 4.7...

      The point of all this is is that Microsoft does indeed create programs that people want to run... For most people, it's an added conveience that Microsoft software is preinstalled and at a steep discount when they first turn on their machines.

      Let's not mix up my defense of some Microsoft applications with their anti-competitiveness. For instance, I use Office on my Mac namely because there aren't any other office suites to choose from. Netscape probably could have kept up with Microsoft, had they not lost their sources of revenue (clients and servers) due to Microsoft's integrations into the OS (though, with Apache free for the taking, I doubt their server business would have lasted anyhow).

      But ignoring all that, and looking at the application landscape, Microsoft, in my eyes, does field a number of great products. It's just too bad that the way they got them there was by destroying all their competition... The next few years would have been aweful if it had not been for the anti-trust case... With microsoft sitting i n the driverseat and having no one to catch up to, their 'innovative" pool of idea's is looking pretty dried up.

    4. Re:Microsoft software used VOLUNTARILY? by Floody · · Score: 1

      Troll. After serious evaluation of W2K, both myself and my staff have determined that it's _significantly_ worse, that's right WORSE, than NT. It's CONSIDERABLY more buggy and less stable. Quite a step in the wrong direction for M$. I can't count the number of times it's locked up and/or spontaneously rebooted, on various different systems with confirmed, tested hardware.

      I've noticed an interesting trend with M$. Every couple of years they take one of their old operating systems, break it, and throw a "enhanced" GUI on it. Just enough pixie dust to try and fool the public (oooh, look what they did to the start menu!). I'm not buying it, and most IT professionals aren't buying it anymore either.

    5. Re:Microsoft software used VOLUNTARILY? by Ekapshi · · Score: 1

      Name a single piece of microsoft software that is used voluntarily. You can't because there isn't any.

      Age of Empires!

      -
      Ekapshi

    6. Re:Microsoft software used VOLUNTARILY? by overturf · · Score: 1
      > I concur with your first sentence. The last time I checked you HAD to buy Microsoft software. Unless you built those Linux servers from parts, you first had to scrape off whatever flavour of Windows software that was preinstalled. True, it wasn't you who had to buy it. It was Dell or Compaq or HP or whoever made the iron, but the cost was passed on to you, you lucky consumer.

      Or you could simply buy a server with no operating system and save a few bucks.
      Dell, for one, sells their servers with "no os" as an option...

    7. Re:Microsoft software used VOLUNTARILY? by Zurk · · Score: 1

      please dont tell us that crap. the "no os" option on a dell is only because the linux community has been bitching to dell for a loong time. when was the first time you saw that option on a dell ? only when linux was also being offered as an option. the micro$hit tax was *mandatory* as little as 2 years ago and all of us know it.

    8. Re:Microsoft software used VOLUNTARILY? by bolie · · Score: 1

      Uhm... Microsoft sold DOS to IBM because IBM was looking for something to put on their new PCs to sell. IBM did not choose DOS because it was the best thing out there. Look into the history some and you'll find that Microsoft was at the right place at the right time and has done some good marketing. Technical quality has not really been a reason for any of Microsoft's successes. And when it was, the technical quality was bought outright from a company which developed it.

      Bolie IV

    9. Re:Microsoft software used VOLUNTARILY? by rifter · · Score: 1
      It is impossible to start a company from scratch (as MS was) and attain a monopoly (which they are) without making a product that people want (even if it was DOS 1.0 or Windows 1).

      And exactly how many alternatives were there to MS-DOS on the original IBM PC?

      OK, I will ahve to admit taht perhaps a challenge that no piece of MS software is purchased voluntarily is overbroad, as people choose to buy it. Nevertheless most of their software is chosen because there simply are no viable alternatives.

      True, the onus is on other software companies to produce something better, but this is where Microsoft not playing well with others comes in, which is why even if you like Wordperfect more or StarOffice you will end up getting MSOffice 2000 anyway simply so you can read people's files, for instance.

      And I am sorry I mistook you for a troll, but it wasn't name calling, just an honest mistake. There is no reason for ad hominem when logic will suffice.

  56. Common bug ? by AftanGustur · · Score: 2

    So somebody finds a bug in a open source product, and suddenly that's a proof of how insecure open source is ?

    Gimme a break ! This is a proof of the contrary.


    Seriously folks, how many bugs like this do you think exist in closed-source commercial products ??

    You know, the type of softare where you will never know about bugs like this.

    --
    Why pay for drugs when you can get Linux for free ?

    --
    echo '[q]sa[ln0=aln80~Psnlbx]16isb572CCB9AE9DB03273snlbxq' |dc
  57. The difference here is that - by choke · · Score: 2

    in proprietary code, we'd all have to break laws to even demonstrate that it was broken.

    Here we can see that it is fixed, and we can learn from it. _we_ are assured that it was our error of omission, noone else's.

    I am willing to pony up and say I screwed up for using open source without reading the source. I have no problem accepting my part of the blame.

    --
    "No good deed goes unpunished"
  58. The question is: by CMU_Nort · · Score: 1

    if this were a closed-source program, how long would it have taken the security problem to come to light? And the point is by that time, there have been more layering of important code coming from the one piece of buggy code.

    --
    --------- Beware the dragon, for you are crunchy and good with ketchup.
  59. Come on, people... by Jerad · · Score: 1

    I have one acronym for the masses:

    GNUPG!

    --
    "The majority of the stupid is invincible and guaranteed for all time. The terror of their tyranny, however, is allev
  60. Re:Randomness. by Effugas · · Score: 2

    Decaying of a radioactive element? Funny, that. Just read about some guy with a parallel port geiger counter and a microcurie of Americium.

    There are better sources that are more environmentally sound--dirty diodes and whatever they've built into the Pentium III look pretty decent.

    --Dan

  61. Why ?? by geirt · · Score: 2

    >
    > Versions 2.* and 6.5 of PGP do NOT share this problem.
    >

    This is how this was fixed in pgp 6.5i:

    if((fdesc=open( devrandom, O_RDONLY|O_NONBLOCK)) > 0) {
    while((numread = read( fdesc, buffer, BUFFSIZE)) > 0) {
    for( p = buffer ; numread > 0 ; numread--, p++ ) {
    PGPGlobalRandomPoolAddKeystroke(*p);
    *p=0; /* burn it.*/
    }

    RandBits = PGPGlobalRandomPoolGetEntropy();
    StillNeeded = TotalNeeded - RandBits;
    }
    }

    <conspiracy mode>
    This bug was introduced in PGP 5.0 and fixed in PGP 6.5. Why wasn't
    this reported on bugtrack, a long time ago ? Although the code is
    substantially rewritten, I am would be very suprised if the author
    of this code in 6.5 didn't see this bug (after all he fixed it ...)
    </conspiracy mode>

    --

    RFC1925
  62. Re:The Truth is Out by declanm · · Score: 1

    disagree, because you talk so much speculation and not much more.

    You seem to know a lot about the demographics of Linux use. You should probably go out and exploit this straight away (selling Pokemon Linux maybe?)

    Professional programmers make lots of mistakes too: look at Microsoft or Apple (or any other software company). Buggy code doesn't usually get people fired... they just get moved around. If you're that poor a programmer, and you don't get out voluntarily, you're making your own hell.

    -T is highly commendable, but -w is better (but of course, that *is* what you meant).

    And to bring it back to the topic, security rests in the processes you use, rather than in the software [Shneier]; an open peer review process may not catch everything, but it's better than the alternatives, imo. Agreed that there is a risk in *assuming* that oss is safe simply because it's open.

    do you code, troll?
    dec

  63. No such thing as perfect software? by getha · · Score: 1

    Okay, I'll give you that... But I think the article about software engineering for the space shuttle had it right. The reason there's so much buggy code out there is because coders don't pay any (or enough, anyway) attention to the fases of the coding process before the actual code-writing. If you spend enough time designing (as in specifications, etc) before coding you can get pretty close to flawless code....

    Why is it that in most other disciplines the process of creating something is regulated in detail, while coders always just seem to hack their way through till it works? We need a change of attitude.

    By the way: I'm as bad as the next guy... I love to hack, I hate the design-process


    xchg .,@

    --


    xchg .,@
    jmp emailMe
    1. Re:No such thing as perfect software? by mr3038 · · Score: 1
      to the fases of the coding process before the actual code-writing. If you spend enough time designing (as in specifications, etc) before coding you can get pretty close to flawless code....

      This isn't true. For example the error described in PGP was because of incorrect use of read(2), not because of improper design. I'm still studing in local university and I hate when all these "systems designers" tell me that design is all that matters - you may use trained chimps to type in your code after good design phase. I surely cannot agree with this. (Although, I agree that good design does not harm you.)
      _________________________

      --
      _________________________
      Spelling and grammar mistakes left as an exercise for the reader.
    2. Re:No such thing as perfect software? by UnknownSoldier · · Score: 1

      > Why is it that in most other disciplines the process of creating something is regulated in detail, while coders always just seem to hack their way through till it works?
      Because _WE_ let the PHB dictate the schedule(s) instead of US who will be DESIGNING and IMPLEMENTATING the darn thing, whatever that may be, whether database apps, games, etc.

      > We need a change of attitude.
      Yes, it starts with _US_.

      At my last job, when my boss said we need feature (x,y,z) in X weeks, I said I can't do that: it will take Y weeks. (I padded in design and redesign time and boy was I ever glad I did, since the system needed to be exteded in ways I couldn't even dream about.)

      Part of the problem is that we programmers don't give an realistic implementation schedule. Now granted this is one of the things I find hardest about "professional" programming, but we owe it to our bosses and to ourselves to be honest with the length of time it will REALISTICALLY take !

      Analogy: You're getting a new house built and you ask the builders "How long before my new house is ready?" They say 2 weeks, and don't have any blueprints! Its obvious what kind of nightmare the project will be, so WHY do we ignore all the signes in "real world" of Software Engineering?!

      Stand up for yourself and give an accountable schedule.

      Cheers

    3. Re:No such thing as perfect software? by BigRedZX · · Score: 1
      to the fases of the coding process before the actual code-writing. If you spend enough time designing (as in specifications, etc) before coding you can get pretty close to flawless code....

      This isn't true. For example the error described in PGP was because of incorrect use of read(2), not because of improper design.

      Incorrect use of read(2) is a design flaw. If you do not understand the usage of a sub-function, how can you make a proper design around it?

      I'm still studing in local university and I hate when all these "systems designers" tell me that design is all that matters - you may use trained chimps to type in your code after good design phase. I surely cannot agree with this. (Although, I agree that good design does not harm you.)

      Incorrect or invalid design assumptions will always harm your code.

      Design is everything. With a good design, even trained chimps can type your code.

    4. Re:No such thing as perfect software? by spanky555 · · Score: 1
      Ah, yes. I couldn't agree more. One of the many problems with this whole industry is the fact that many people holding MIS degrees didn't start out working for that degree; they switched because they couldn't hack Comp Sci....that, and they wanted "status" as a manager of others, but without any real qualifications. Now, I know some MIS programs are very substantial, but I went to two different schools (transferred) and at both, the people in MIS were pure dumbasses who were heading for failure in Comp Sci, so changed majors. None of them had read any of what I consider required reading (Yourdon, Brooks, etc.). I'm not sure what they are teaching those guys, but it sure isn't good Software Management. Software Management is more than just a f!#$#$ Gantt chart, friends. I'm trying to figure out a nice way to educate certain PHB's I work for right now; do I leave a copy of Mythical Man Month on their desk with a note? Do I force them to go to school? (Some of them don't even have an MIS degree or Comp Sci degree) One induhvidual (my current PM and PHB) has actually said these things, and I quote:

      1. "UML is academic". (in a derogatory way, of course)

      2. "From my experience, there are two types of software management books; ones written for programmers and ones written for project managers." (Wonder what he would consider Brooks' stuff as - he hasn't read it, of course)

      All of his wisdoms are, of course delivered in a very condescending attitude, as if talking to children...which is very funny, because nearly everybody in the room for both times are much smarter than him, and better organized, to boot.

      Anyway, back on topic: this guy is just indicative of a lot of attitudes in this industry: come up with a ridiculous schedule, hold the programmers to it, do a shoddy design on it (and don't spend enough time on it, either), don't follow any of the more widely accepted processes, and then hold programmers to blame for schedule slips and misfeatures.

      Another problem is that people are hiring practically anyone breathing to code now, and dismissing degrees as unnecessary, while at the same time giving older programmers (who hold EE or CS degrees) the boot....and then screaming for more H1-Bs (ie, cheap labor).

      I know not every company is like this...is anyone working at a company that does it right in Denver, CO, area?

  64. Good point but... by Vagatech · · Score: 1

    In a closed source system how long would it have taken for it to be found? And how long would it have taken the company to actualy own up to the fact that it existed?

    We've all heard this speil before. The consept of "security through obscurity" is antiquated at best and down right ignorent at worst. In a closed source model a company dosn't even have to admit that the flaw exists let alone work to fix it any time soon. Microsoft is famous for this (ya ya...I know...microsoft bashing...don't take this the wrong way. I'm sitting at a Win2k box writing this so don't just chaulk it up to me being another microsoft hater). They have made an art form out of using the terms "Its a feature not a bug" and "We put it there for a reason, but, ummm, we can't tell you why because its a trade secret". Microsoft fielded Hotmail with a bug that allowed anyone to read the accounts of 40 or so million subscribers, password or no password, and never bothered to apologize. How long did it take them to even admit that they were valnerable to something as small and stupid as an OOB attack let alone release a patch for it. Or to stop shipping there OS's and DUN patch to consumers (read consumer as people who shouldn't be expected to know what VPN is let alone know how to secure it) with VPN support left in a wide open insecure state.

    Microsoft bashing aside most other companies are just as bad. PcAnywhere is shipped out with a default profile that allows unencrypted connectings from anyone, consumer firewalls and DoS protection utilities are a joke at best, etc.

    The closed source software community has no accountability. You've all seen the line "This product comes with no warrenty express or implied not even the implied warrenty of merchentability or fitness for a puricular purpose" in shrink wrapped licence agreements. Come on...what that basicly says is "oh...we know we advertised this as a secure product but we don't actualy have to make it one...or even make it function at all if we don't want to"

    We don't except this attidude with any other product that we buy why do we exept it with software? Software manufacturers don't have to produce a quality product because there is no liability if they don't. And the effect of this for security products is that manufacturers don't have to produce products that are actually secure, because no one can sue them if they make a bunch of false claims of security.

    The thing that open source software provides is a small messure of accountability and a way to fix the problem even if the origanal producer dosn't give a rats ass about it. If you make something thats junk in an open source model someone somewhere is going to call you out on it and that someone has the code to back them up and if you don't respond in an intellegent manner to the problem (just don't care or use another line MS is famous for "oh...that will be fixed in service pack XXX which will be released on insert date made up of insanly bignum's here") the end user has the recourse of either a: fixing the problem themselves or b: making the problem widly known so that someone with a better understanding of the programming language, etc, can fix the problem for them.

    The OSS model is *not* perfect, far from it, and anyone who ever claimed that it is should cut down on the hallucinagens, but even given its inharent problems its still a damn site better then the alternative of just being able to say "I didn't do it, can't prove a thing!!!"

    And yes I know my spelling/grammer sucks tonight but as its 3:30 in the morning here and I'm just heading to bed so you can live with it just this once ;)


    --
    --
    "The Net interprets censorship as damage and routes around it."
    -John Gilmore
  65. PGP is not Open Source by schani · · Score: 2

    PGP cannot provide an example of Open Source not meaning security because PGP IS NOT OPEN SOURCE!!!

    bye
    schani

  66. Intel's hardware random generator by Submarine · · Score: 1

    Recent chipsets from Intel (see the doc) contain a hardware random number generator. This is interesting as an additionnal source of randomness, especially in servers where the usual randomness provider (i.e. the user in front of the keyboard and mouse) is not there. [Granted, a server is connected to a network, which tends to supply randomness too.]

    What is the common wisdom on that new "feature"? Should it be trusted?

  67. Ah the hipocrisy... by Spankophile · · Score: 1

    When someone finds a security hole in closed software (Outlook) - everyone jumps at the chance to say Obscurtiy != Security, and the people as M$ are all a bunch of idiots for making those mistakes.

    When a security hole is found in an Open Source project, it's simply a "brain fart" and it doesn't "necessarily" mean anything. The double standard is ridiculous.

    It's cases like this where I'm happy that at least with close-source you have someone to blame, rather than open-source where everyone can pass the buck with the phrase "Well, if you're so concerned, why don't you do it."

    I think Jamie Zawinski was on to something when he said:" You can't take a [...] project, sprinkle it with the magic pixie dust of 'open source,' and have everything magically work out."

    --Me
    I have a sig, and this statement is false.

    1. Re:Ah the hipocrisy... by PigleT · · Score: 2

      This is not hypocrisy (or even hipocrisy), though. PGP isn't open-source, its licensing is a pile of pants.
      However, the source is available so the bug has *been* found *and* located, and most importantly a world-verifyable patch has been produced. Beat that, you closed-source fanatic you...

      If M$loth make a mistake they try to close it up, which is utterly stupid. If an open-source project has bugs, they get fixed.
      ~Tim
      --
      .|` Clouds cross the black moonlight,

      --
      ~Tim
      --
      .|` Clouds cross the black moonlight,
      Rushing on down to the circle of the turn
  68. PGP != Open-Source GPG == Open-Source by bamuang · · Score: 1

    As this applies to PGP ist does not have anything to do with Open-Source. GPG is the Open-Source project, NOT PGP. Hell, why should anyone use PGP in first place? GPG is the only clean solution.

  69. Re:Disturbing - You missed the bug fix :) by vichman · · Score: 1

    Yup. You either missed the fix or added a new bug - you decide which since its your code. Your suggested code will loop "count" times reading *UP TO* count bytes each time which means you will read up to (count * count) bytes which is not what is expected. If your code had !read(fd,RandBuf,1) then you would read up to count bytes total. The other fix would be to add some "count -= bytesRead" code in the loop.

  70. Not with the help of little hardware by Beta · · Score: 1
    Bizarreness. I spent about two hours the other night studying using the mic port.

    You could build a random noise generator easily and cheap. Here's an example circuit. The idea is to amplify the natural noise of a transistor (white noise) and then hook that to soundcard. Cost is &lt $10 + the price of wallwart.

  71. Bugs hunting is a statistical process by Brett+Viren · · Score: 1
    I would say that bug fixing is a statistical process. This means that the time a bug exists is distributed by some (probably complicated) distribution which is a function of several parameters, of which the number of eyes looking at the code is one.

    I think most (honestly critical) people would say that the higher the number of eyes checking a body of code the lower the mean bug lifetime will be. But, as with any distributed value, one can always get a measurement way out on the tail of the distribution. This is why anecdotal evidence is not very useful for trying to find out how some quantity is distributed.

  72. Crypto-nerdz by GaryH · · Score: 1
    Crap. Counterpane and the rest of the crypto-nerdz out there just look for theoritical weaknesses in strong links (constantly trying to make strong links stronger), totally ignoring the other weaker links. They aren't interested in the non-crypto aspects of a system - they want to find flaws in the crpyto itself, even if its only a theoritical attack. So don't beleive that Counterpane and the rest of the crypto-nerdz will find these problems.

    After all, the number of crypto-nerds staring at the pgp5 source code during source code scanning (rather than illegally exporting - there we go again - they want the elgal loophole, not the practical attack), and during all bug hunting afterwards must have been in the hundreds, but yet this bug stays there for a year.

    And don't knock M$ here - have you seen some of the papers they've published? Did you know that Product Cipher works for them know (the author of Magic Money)? They have some of the top guys working for them, but these guys work on real world apps, rather than crypto-crap like untraceable money and new algorithms we don't need.

    On a related note, you might be interested to read a talk I gave at HIP 92 on PGP. I don't know whether they ever fixed the most serious problem, that of being able to undetectably modify/truncate unsigned but encrypted messages, and to be honest, I can't be bothered to check - give me S/MIME anyday. Gary

    1. Re:Crypto-nerdz by randombit · · Score: 1

      And don't knock M$ here - have you seen some of the papers they've published?

      And they did a such a wonderful job with PPTP, where people found all kinds of nice attacks, including ones which basically ruined the whole point of the protocol (passwords and keys can be recovered, attackers can pretend to be legit servers, etc).

  73. Re:Crypto-nerdz (and the IP 92 paper) by GaryH · · Score: 1
    Whoops. The paper is at http://www.aaa-mainstreet.nl/gary/faq-pgp.ps.

    But not for long (a few weeks).

    Enjoy.

    Gary@hotlava.com

  74. It was found, and lesse the fix.. by Thomas+Charron · · Score: 2

    In this particular situation, the bug was eventually found, so yes, it did work, it just happened to take a year. There are bugs in certain other operating systems that took 4 to 5 years to find. Prime example: The bugs *STILL* being found in Solaris 2.5.

    Now, lesse how long it takes for there to be a source patch to correct the problem. I bet it doesn't linger for months and/or years as other OS's due.

    Heck, look how long it took MS to fix the darned smurf attacks.. :-)

    --
    -- I'm the root of all that's evil, but you can call me cookie..
  75. Doesn't make any money?! by Noke · · Score: 1

    Then why does he have a $90,000/year sallary for running it and 366,666 shares of Andover.net stock?

    Doesn't make any money my ass..

  76. Read recent linux-kernel mailing list posts by Rares+Marian · · Score: 1

    They're debating security addons on the list and refusing them almost unanimously because they seem to be all spec no substance. Frankly I would just add the security as an option and at the same time develop my own. Perhaps even raise the issue with the spec writers. There's no telling what the kernel hackers will do, but I do see them doing more than MS would do in a lifetime.

    --
    The message on the other side of this sig is false.
  77. I don't need the source to break in by Rares+Marian · · Score: 1

    The same way I don't need a copy of Goodyear's tire design to slash a tire.

    Obscurity is acop out.

    --
    The message on the other side of this sig is false.
  78. Your rights are none anyway by mr · · Score: 2

    >I don't use ANY stolen Microsoft software any more.

    Good for you!

    Given that if you are using stolen Microsoft code your rights are nill, what rights and accountability did you GAIN by buying that Microsoft code?

    The EULA applies, and the quote of "MICROSOFT HAS ABSOLUTELY NO ACCOUNTABILITY OR FAULT IN THE FAILURE OF SAID PRODUCT." is valid.

    So, lets connect the dots, as you won't answer the accountability question, and instead launch into a comment on stolen software.

    Lets look at OpenSource

    1) You claim No accountability
    (Reality: Most OpenSource has a contract that says the author is not responsible and is to be held harmless)
    2) Code is aviable to fix bugs if you find one
    3) Bug fix time can be under a week
    4) Abandoned programs are supportable by users who find the program still useful

    Now lets look at closed source
    1) Contract claims No accountability
    2) No code is aviable to fix bugs if you find one
    3) Bug fix can be never
    4) Abandoned programs are abandonded, never to run on newer platforms

    Looking at this list, OpenSource puts a burden of responsibility on the user to support themselves, whereas because you can't support yourself with closed source, the burden is (supposed) to be elsewhere. Yet, no closed source company has a LEGAL RESPONSIBILITY to take on that burden. If you are not into personal empowerment or the rights of individuals to control the tools they use, I can see where the 'promise' of some closed source behemoth holding your hand and guiding you along is a sedutive siren song.

    As you are an opinionated AC, the question is this: What accountability does Microsoft have to their code?

    --
    If it was said on slashdot, it MUST be true!
  79. Re:It's not just the number of eyeballs, but quali by mr · · Score: 1

    >Under strict development guidelines this can be reduced (e.g. NASA space shuttle code)

    Got a link for this?

    --
    If it was said on slashdot, it MUST be true!
  80. *SNORT* by Convergence · · Score: 2

    If you send an unsigned message, then ANYONE can corrupt it, alter it, or trunctuate it.

    The idea of message signing is to PREVENT such things. If you don't sign your message, why are you expecting PGP to protect you against attacks which only message-signing would prevent?

    There are two rules with PGP:

    1. If you don't want anyone without the correct key reading the message, encrypt it.

    2. If you don't want anyone to undetectably alter the message, SIGN IT.

    The two are orthogonal considerations.

    1. Re:*SNORT* by Effugas · · Score: 2

      Convergence, you're wrong.

      Consider the CDMA model of Encryption: Know the key, get the data. Don't know the key, you get noise.

      Period.

      If I can not know the key but modify the data stream--and it still decrypts *without complaint*--then something's wrong. Truncation attacks are different--they're essentially selective DoS where the cipherstream suddenly stops being valid--but if PGP doesn't *complain* that suddenly something broke and this was all that could be read--i.e. "there was more that was part of this message, but I can't read it"--then this is a cryptographic failure.

      PGP doesn't protect you against an email server silently deleting your mail--there is no conceptual way it could or should. But silently passing truncated messages means that somebody can reconstruct a message without being able to read it. The fact that avoiding this weakness is as simple is encrypting the one way hash of the message as a whole with each independant truncatable block(such that the hash of the decrypted document would then fail to match the original hash derived before the message would sent) means that this is a weakness that should have been addressed.

      Of course, mind you this attack hasn't particularly been verified, and GaryH is the first person I've ever heard to speak positively of S/MIME. But you're completely wrong to state that message authentication is *entirely* orthogonal to encryption. Knowing *who* sent a message is orthogonal. Knowing that *this* specific message--which may contain identifying information in the untruncated blocks--was sent isn't.

      It's still tied to the destination aspect to know whether *all* of a given encrypted message reached the destination. I don't particularly accept that any File-Oriented Cryptographic System should, or needs to accept selective DoS. It's just too simple to prevent.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

  81. Another thing to consider by Convergence · · Score: 2

    If this bug happened in proprietary software.....

    Would it have ever been found?

    Would the company have advised its users that they might have weak keys that should be revoked? Or would they fix the flaw silently and keep their customers in the dark?

    Open source has other advantages for the consumer.

  82. oh come on! by sh_mmer · · Score: 1

    this bug has absolutely nothing to do with how hard it is to find random data. hell, the solution is to call dev/random. it's just that the buffer happens to get overwritten due to a far more mundane bug. ferchrissakes, did you even read the article? did any of the moderators read the article??

    okay, the reason i sound pissed off isn't that nobody's reading the article. it's that people are so eager to hear that the failure is due to some inherent difficulty of the problem. it's not. it's a goddamn bug--the kind everyone predicted would be more absent in magical open-source software. this puts the lye to the claim that "with a million eyes, all bugs are shallow." christ, this bug was incredibly shallow anyway, and managed to live in the code for a year.

    sh_

    --
    Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
    1. Re:oh come on! by Effugas · · Score: 2

      this bug has absolutely nothing to do with how hard it is to find random data. hell, the solution is to call dev/random. it's just that the buffer happens to get overwritten due to a far more mundane bug. ferchrissakes, did you even read the article? did any of the moderators read the article??

      Yes, I did read the article. Your annoyance is understood, however.

      /dev/random, rather than the internal entropy engine, was being called in the first place *because* non-interactive entropy gathering is such a difficult problem. PGP had no similar issues when used interactively because they essentially wrote their own interactive entropy gatherer. They couldn't do the same for non-interactive content, so they wrote a (buggy) bridge to /dev/random.

      Obviously, they should have verified that the content coming *out* of that bridge was something other than all ones. But the most interesting thing to me is the similarity of this accident to an airline crash or a school shooting--an intensely rare situation, made notable and newsworthy *by* its rareness. We pay little attention to the moderately common problems(invisible security issues lurking beneath most closed source cyrpto), but both the extremely common issues(buffer overflows) and rare ones(this PGP hack) get lots of press.

      Interesting.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

    2. Re:oh come on! by sh_mmer · · Score: 1

      We pay little attention to the moderately common problems(invisible security issues lurking beneath most closed source cyrpto), but both the extremely common issues(buffer overflows) and rare ones(this PGP hack) get lots of press.

      i think something's wrong with this analysis. perhaps the reason people aren't covering the invisible security issues lurking beneath most closed source crypto has less to do with the relative commonness of such issues and more to do with the fact that such issues are entirely speculative.

      about buffer overflows: i don't know of any more serious security threat than that one. if you do, feel free to enlighten.

      about this PGP hack, i don't think the media is playing it up terribly much. surely slashdot gives it as much coverage as it will ever get unless something phenominally bad happens because of it (which i suppose it probably won't).

      whatever. this turned out to be more serious than i meant, so don't take it that way.

      laters,

      sh_

      --
      Interested in learning Chinese or Japanese? check out Chinese/Japanese-English Dictiona
  83. Open source debugging..and ways to improve.. by Forrest+J.+Cavalier · · Score: 1
    In this short paper (from 1997), extending CatB, I observe that
    • The size of the bazaar (number of participants) affects the "health" and success of the bazaar, even if not a pre-condition to successful bazaar startup.
    • Not simply "size" but "effective working size" has important implications for the continued progress of the product and strength of the bazaar.
    • Debugging by testing includes factors which give the bazaar a very much smaller "effective working size"
    • There are alternative debugging methods which might be used to counter a small "effective working size."
    • There are activities and natural progression which tend to erode the "effective working size" of the bazaar over time.
    Visit RocketAware - hundreds of categories, tens of thousands of links.
    Open source software and the FAQs, info, and Q&A needed to use it. (For software developers.)
  84. Social aspect of Open Source Software by JMax · · Score: 1

    The whole issue of many eyeballs finding bugs in OSS code only works if people are actually looking. Just because the code is open does not mean thousands of developers are looking at it/working on it. How many people are actively looking at something like Apache, compared with PGP?

    You have to remember that the reason ony piece of Open Source software is successful (meaning popular, reliable, high-performance) is that people are actively interested in it. A year ago, when Apple decided to open up their Darwin components, there was this big hoopla, but in the end, how many people really cared about it, compared with, say, existing GNU/Linux projects?

    Open Source is a social phenomenon more than a technical one.

  85. Its funny to see OS proponents on the defensive by Qic · · Score: 1


    Yeah, ok, everyone may think MS is the big evil because, "They don't let us see their code!" Whine. Whine. Whine.

    I have always been of the opinion that this whole idea of letting a lot of people look at code to keeps out bugs was a total joke. I'm sorry, if I had to trust a programmer that had the skills I did 10 years ago to maintain a piece of code, let alone to develop an algorithm that performed better than exponential time, I'd have a lot of problems on my hands today. The fact is, any monkey can learn a programming language. Any monkey can write an algorithm that "works." This "hole" just goes to prove the point. Don't get me wrong, I wouldn't generalize this incompetence to the point that I'd believe that every OS programmer is a monkey. Come on though, a fricking high school kid adding a k-k00l mod to a time critical application? I don't think so.

  86. Use a diode by wowbagger · · Score: 2
    If you really would like to generate random data, I suggest you get a local EE to whomp up a diode noise generator: you take a zener diode, and lightly reverse bias it (if I remember correctly; I'm not in my office right now). As a result, you get a lot of random thermal noise, which you feed into a digitizer. Instant real random noise with two caveats
    1. Your soundcard has a lowpass filter on it: therefor any data sampled by the soundcard will have a high degree of short-term correlation. Better wait at least 10ms between reads to get good uncorrelated data
    2. Unless you are very careful in how you adjust the levels of the signal, it will not cover the whole range of values from the card. You are best off taking the data and gzipping/bzipping it to increase the entropy of the data to maximum.

    You can also use an FM radio that does not have muting: tune it off frequency and the FM discriminator will spit out band limited white noise. However, the same caveats apply, and the nice thing about the diode approach is that nobody can screw up your random number source with a simple carrier of reasonable amplitude.

    Of course, you always could use a Lava lamp
    1. Re:Use a diode by PD · · Score: 1

      I wouldn't use a compression program to make the data spread out to the whole value range. That might introduce regularities into the data that would be detectable.

      Instead, I'd take the data and run it through another cryptographic function, like blowfish.

  87. A random function should be built into CPU's by jsm · · Score: 2

    More and more, good randomness is critical for important computing functions such as encryption. I think it's entirely reasonable for CPU's or other hardware components to include an analog source of randomness, like a tiny white-noise generator. Do any big chipmakers plan to do something like this? If not, why not?

    1. Re:A random function should be built into CPU's by Effugas · · Score: 2

      Actually, Intel ships a ostensibly good RNG with every Pentium III--I don't think it has /dev/random support yet, but it supposedly can be polled for 75K/s of good random data. *drool*

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

    2. Re:A random function should be built into CPU's by kcarnold · · Score: 1

      Can you back this up? Spec links? 'cuz that would be cool for Linux to support -- and very useful.

  88. Re:Slashdot == Censorship; Rob Provides Example by aphr0 · · Score: 1

    a) I know this, but isn't the site about community and not dictatorship? Slashdot is more than Rob and kin posting stories. Slashdot is also the trolls, karma whores, me-tooers, and the random intelligent posters.

    b) The default threshold is +1. Not counting the fact that most people will leave it at this, few people ever set their threshold to -1. They think it's nothing but mindless trolls spewing endless lines of caps and junk.

    c) See b).

    d) See a). Also, I like this site. I'd hate to see it lose all sense of community because someone decides to babysit Signal 11 and make sure no one goes against the party line.

    Also, does open source man really deserve a bitchslap? His posts are the most humorous things on slashdot. All the +5, Funny posts are something along the lines of "BilL HaTeZ suX0RZ my C0ck0r!@" There's a big difference between writing a pedophilic incest story and a several page play staring the teen, pouting, firm natalie portman.

    Isn't the whole point of moderation and karma being overridden when Rob steps in and bitchslaps someone? The system is written, let it handle itself. If it's not working, figure out something else. The slashcode is publicly available with several active developers registered on it, surely the "thousands of eyes" that are so often mentioned in support of free software could help out with developing a system.

    No, I don't see it as my holy right to have slashdot run as I see fit. I just don't want to see it run down because someone decides to instate totalitarian control over it. Slashdot consists of more than just the code, the hardware, and the people running it in the background. Slashdot is us.

  89. Re:Slashdot == Censorship; Rob Provides Example by aphr0 · · Score: 1

    I concur with the 2 ACs. You're the reason I stare at natalie portman with wanting eyes now. I thought she was kinda sexy (if a little underripe) in the professional, but you rekindled my love for her youngness and vibrance. You, sir, are a hero. So much of slashdot is missing out on your posts because you default to -1. Poor ignorant bastards.

  90. question about pgpk -g by Swordfish · · Score: 1
    Interactive key generation ignores key strokes!?

    Here's a very worrying thing about the interactive key generation.

    Whenever I use PGP 5.0i on linux to generate a key, it says immediately ``Thanks, that's enough'' after it requests random key input.

    Question:
    Does this mean that the interactive key generation is not taking any randomness from my input?

    If so, then my keys are in big trouble.

  91. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  92. banks are open by Savage+Henry+Matisse · · Score: 1

    All of a banks protocols are open, at least as far as your money is concerned. Go in and talk to one of the reps-- they'll tell you exactly what money entrusted with them is being used for, what interest is being returned, etc.

    --
    Much Love,
    "S"HM
    *****
    (I refuse to spellcheck out of contempt for your belief system)
  93. A solution? by HiThere · · Score: 1

    I know this wasn't the point, but how about having a game (FreeCell?) collect the time between moves. This could be stored in a file to be used for randomness generation. Whenever the supply of randomness started getting low, the user could be directed to play the game for awhile (wouldn't everyone just HATE that!)

    For improved performance, several games could be modified to collect the random statistics, and some sort of "normalizer" could modify the timings so that they were within a standard range.

    (Of course, this would create a brand new file that was in need of VERY careful protection from intrusion, so it might not be the most secure of methods, but then ANY infected system is vulnerable, stored keys or not.)

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  94. A weakness by Convergence · · Score: 2

    Yes, a standard CFB or stream encryption algorithm has that weakness. Which is why you usually combine it with an (encrypted) CRC or cryptographically sign it. These are protocol-level issues.

    And the fix is obvious, you said it yourself. If you don't sign the message in some fashion, you deserve to lose. Signing the message prevents most (all?) of these attacks.

    If you do a 'gpg -e', you had better know what the security issues are. Of course, this applies to using ANY encryption software, no matter what settings you use on it. If you don't know your encryption software and what the options mean, you shouldn't be using it.

    BTW, just including (and encrypting) the hash of the decrypted message isn't enough to protect against these attacks.

    If the message is for multiple recipients, recipient A could decrypt the message, alter it, compute the correct hash for the altered message, and then repackage and send the altered message along to the other recipients who will accept this message as legitimate. To prevent this, the hash of the correct message should be 'signed' in some fashion where only the origional sender can create it. This process describes GPG's 'sign' option, which we know works.

    Signing and encryption are orthogonal features and needed in different situations. If I am sending details of an auction to N people, I don't care who reads them, but I do NOT want them to alter the messages sent to the other recipients. If I just encrypt the message but leave it unsigned, noone can read the messgae, but they may alter it. (Admittedly, not very useful for communication, but useful for storage. For example, storing private stuff on a hard drive/floppy.) Finally, I may encrypt and sign the message.

    You could consider it a user-interface issue. Maybe GPG should (by default) sign the message whenever the user requests encryption?

    [[BTW, if you want to take this conversation to email, I'll be happy to. Unfortunately, my email address no longer works; I can email you.]]

    1. Re:A weakness by Effugas · · Score: 2

      If the message is for multiple recipients, recipient A could decrypt the message, alter it, compute the correct hash for the altered message, and then repackage and send the altered message along to the other recipients who will accept this message as legitimate. To prevent this, the hash of the correct message should be 'signed' in some fashion where only the origional sender can create it. This process describes GPG's 'sign' option, which we know works.

      Hadn't considered the multiple recipient problem when it came to unsigned hashes.

      But, just as strongly, you haven't considered the reality of PGP allowing me to receive mail from untrusted individuals with a modicum of cryptographic security. Segment out your security scheme--when you're the receiver, you can't control who then sender transmits to. When you're the sender, you can't control who the receiver retransmits to. But if you, as the receiver, can trust that the user hasn't given away their secret(the message, in this instance) to anyone else but you, truncation detection through hashes or anything else lets you recognize when the message/secret you receive is incomplete.

      That's valuable--you're able to receive non-multicast messages without concern for the integrity of that message! Essentially, both the verification key and the message itself get condensed down into the content of the message. Presumably whatever it says authenticates the author, provided the message is complete.

      Once the security architecture is formalized, this property just can't be suppressed. It's not ideal by any means--you can't extend the trust you've established from one message to any other, as you can with stored private signing keys--but the arbitrarity of the trust is identical, down to the fact that a truncated key offered for verification purposes had best not work either(here's my 2048 bit verification key, oops truncated to 256 bits...)

      Go ahead and email me if ya like.

      Yours Truly,

      Dan Kaminsky
      DoxPara Research
      http://www.doxpara.com

  95. Re:Disturbing - You missed the bug fix :) by PhiRatE · · Score: 2

    Damn. you're right :) Is a new bug *frown*, I guess I should probably get rid of the loop, but without knowing exactly the function of the procs below the read I can't be sure what is appropriate. Rats.

    --
    You can't win a fight.
  96. But the fix is wrong by one-egg · · Score: 1

    What worries me is that the suggested fix is also incorrect. When you are doing something as important as key generation, you shouldn't just ignore the return from read! You should check for a failed read and handle it appropriately (where the definition of "appropriately" depends strongly on the PGP code and perhaps a bit on the /dev/random code, neither of which I have the time to read at the moment, unfortunately).

  97. Open source == better chance for security by Kenneth · · Score: 1

    No serious Open Source advocete ever said that Open Source was the magic bullet for better security. It is true that several less informed have interpeted several statments by the more vocal 'leaders', but tha actual assertion is that Open Source code allows for a greater chance of discovering such errors.

    Every test that can be made on closed source code can be made on open source code. Open Source also gives you the advantage of being able to see the code and find out what and where an error might be.

    The real advantage isn't the ability to find it fast, in fact Open Source security holes and closed source security holes are found with about equal speed. The real advantage is in the speed at which the fix can be made.

    In the example of the PGP problem, the article gave the fix. All one would need to do is find the offending line, replace it and recompile. It is likely that updated source files and binaries are already available, and binary patches won't be far behind.

    In the closed source world, we are left up to the dictates of a company to decide when or if it will get fixed. Many closed source products have had published holes in their code for years, which is to be fixed "in the next release". With Open source, such things can be rectified more rapidly.

    This is the "security advantange" of Open Source. Having the code available does give a small advantage of finding an error that way, but the great advantage is the ease of fixing it when a problem is actually found.

    --
    There is a civil war coming in the United States. Remember which side has most of the guns
  98. Re:A random number generator.. by starman97 · · Score: 1

    Atom-Age makes a box that will produce good random numbera at 19.2Kbaud..

    http://www.nshore.com/atom_age.htm

    --
    Starman97@Gmail.com (bring it on spammers)
  99. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion

  100. Comment removed by account_deleted · · Score: 1

    Comment removed based on user account deletion