Slashdot Mirror


OpenBSD Will Not Fix PRNG Weakness

snake-oil-security writes "Last fall Amit Klein found a serious weakness in the OpenBSD PRNG (pseudo-random number generator), which allows an attacker to predict the next DNS transaction ID. The same flavor of this PRNG is used in other places like the OpenBSD kernel network stack. Several other BSD operating systems copied the OpenBSD code for their own PRNG, so they're vulnerable too; Apple's Darwin-based Mac OS X and Mac OS X Server, and also NetBSD, FreeBSD, and DragonFlyBSD. All the above-mentioned vendors were contacted in November 2007. FreeBSD, NetBSD, and DragonFlyBSD committed a fix to their respective source code trees, Apple refused to provide any schedule for a fix, but OpenBSD decided not to fix it. OpenBSD's coordinator stated, in an email, that OpenBSD is completely uninterested in the problem and that the problem is completely irrelevant in the real world. This was highlighted recently when Amit Klein posted to the BugTraq list."

62 of 196 comments (clear)

  1. then exploit it (if you can) by Anonymous Coward · · Score: 5, Insightful

    if you think its a problem, exploit it
    nothing says "fix it" faster than a few thousand compromised hosts
    release a PoC that gets r00t, inform the security lists and stand back
    thats what full disclosure is for.

    if it isnt exploitable then BSD can fix it at leisure
    or if thats not quick enough and as its Open Source, YOU fix it if you are that concerned

    now somebody call the whhaaambulance

    1. Re:then exploit it (if you can) by digitig · · Score: 5, Informative

      If you're working at the level where a friend has to explain the weaknesses in a PRNG class, one you roll yourself is highly unlikely to be better. There are many algorithms out there that have been very thoroughly analysed and explored by experts, and there's going to be one out there that's easy to find and better than your hand-rolled one. And, of course, what count as "weaknesses" depends on the application. A PRNG that's great for Monte-Carlo simulation may be too predictable for cryptography. A PRNG that's sufficiently hard to predict for cryptography may be too slow for Monte-Carlo simulation.

      --
      Quidnam Latine loqui modo coepi?
    2. Re:then exploit it (if you can) by maxwell+demon · · Score: 4, Informative

      Kinda hard to make some if nothing in our world are truly random. Or is anything?

      Quantum mechanics delivers true randomness, at least according to the standard interpretation.
      --
      The Tao of math: The numbers you can count are not the real numbers.
    3. Re:then exploit it (if you can) by argiedot · · Score: 2, Interesting

      Or by using radiation (If I remember high school science): http://www.blackcatsystems.com/GM/random.html

    4. Re:then exploit it (if you can) by Jugalator · · Score: 4, Informative

      if you think its a problem, exploit it http://www.securityfocus.com/bid/27647
      --
      Beware: In C++, your friends can see your privates!
    5. Re:then exploit it (if you can) by Jugalator · · Score: 4, Informative

      Wow, Slashdot ate my whole comment besides that link... A bug?

      Anyway, besides rudely just posting a link like that in response, I was going to say that proof-of-concept code has at least already been published, and his point is that FreeBSD, NetBSD, DragonFlyBSD has fixes available. Apple is currently working on a fix for OS X. OpenBSD is not planning to fix this. More info can be found in my parent link.

      --
      Beware: In C++, your friends can see your privates!
    6. Re:then exploit it (if you can) by orgelspieler · · Score: 5, Funny

      I wrote a program like that once. It kept on outputting 42.

    7. Re:then exploit it (if you can) by alexhs · · Score: 2, Insightful

      Wow, Slashdot ate my whole comment besides that link... A bug? A bug indeed, and it is yours, apparently you can't code in HTML :P
      You probably did a typo in a closing tag. Anyway, There's a reason why we have a "preview" button ;)
      --
      I have discovered a truly marvelous proof of killer sig, which this margin is too narrow to contain.
    8. Re:then exploit it (if you can) by digitig · · Score: 2, Insightful

      True, but if you roll one yourself, the P in PRNG no longer has a second meaning of 'predictable.'
      It does if you don't do it right, and you're unlikely to do it right unless you're a cryptographic expert. Just because your algorithm isn't published doesn't mean a competent codebreaker won't be able to crack it: ahref=http://en.wikipedia.org/wiki/Security_through_obscurityrel=url2html-8229http://en.wikipedia.org/wiki/Security_through_obscurity>.
      --
      Quidnam Latine loqui modo coepi?
    9. Re:then exploit it (if you can) by SlashWombat · · Score: 2, Informative

      Actually, It is normally a transistor set up to be noisy, and used to drive a digital bit into a shift register. (I have seen that trick used in several different encryptors, and it works very well!)

      I would have thought all algorithmic solutions to random number generation would suffer the same flaw as described in the text. Be in deep shit if it worked any other way.

    10. Re:then exploit it (if you can) by maxwell+demon · · Score: 3, Interesting

      Well, let me try to explain.

      Imagine a spin-1/2-particle (e.g. an electron). Such a particle has the peculiar property that if you measure its spin along any chosen axis, you'll always get either 1/2 ("spin up") or -1/2 ("spin down").

      OK, let's assume we have just measures the spin in z direction and got +1/2. Let me first note that this is stable: If we measure the z-spin of the same particle again (assuming it didn't interact in between), we will again get +1/2 each time. That is, once we measures +1/2 in z direction, every subsequent measurement will confirm that result (this may seem trivial, but it will be important further down).

      Now we want to know: What is the spin in x direction? Well, it can neither be 1/2 nor -1/2, because we've "used up" all of the spin for the z direction. OTOH +1/2 and -1/2 are the only allowed values; 0 is not a possible value.

      But then, if we want to know the spin in x direction, after all we can just measure it. If we do so, we indeed find either +1/2 or -1/2, and never anything else. Moreover, we find that in half of the cases we get +1/2, and in the other half we get 1/2, so on average the x spin indeed is zero, but for each single measurement we get either +1/2 or -1/2. And that value also turns out to be stable: If we repeat the x-spin measurement, we get the same value again.

      Well, now we could say, maybe we just got all wrong about spin, and in truth electrons have separately an x spin of +1/2 and -1/2 and a z spin of +1/2 or -1/2 (and the same for any other direction), and what we've found is just that half of our electrons are electrons with "+" spin in one direction, and "-" spin in the other. Now, let us test that hypothesis.

      We now only look at electrons which were found to have spin +1/2 in z-direction, and subsequently found spin +1/2 in x direction. OK, if the above hypothesis holds, if we now again measure in z-direction, we should again confirm the value +1/2, because after all, that value is stable, right? Well, what we find is that only in half of the cases we find z-spin +1/2, but in the other half we find z-spin -1/2! So somehow by measuring the x-spin, we destroyed the value for the z-spin.

      Indeed, by measuring the spin value in one direction, we destroy the spin value for any other direction. The latest measurement destroys all information gained through previous measurements, so that if we know what we measured last (i.e. both the direction we measured in, and the measurement result), we know everything we can know about the spin. The results of previous measurements don't add any knowledge about future measurements. If we measured +1/2 on one measurement, the probability to get +1/2 on another measurement depends only on the angle of our new measurement direction to the previous measurement (and the same of course for -1/2). The smaller the angle, the more probable is it top get the same result for the new direction (measuring again in exactly the same direction reliably gives the same result again, as noted above). If we measure in a direction perpendicular, the results are completely uncorrelated to the previous measurement result; we get just +1/2 or -1/2 with 50% probability each.

      So measurement obviously destroys whatever state the electron spin had before, and establishes a new state according to the result we got.

      --
      The Tao of math: The numbers you can count are not the real numbers.
    11. Re:then exploit it (if you can) by evanbd · · Score: 2, Informative

      Yeah, other sources are similar, and Zener diodes are probably the easiest devices to produce noisier versions of (and still maintain high noie quality). I mention resistors mainly because the physics behind them is the easiest to understand.

    12. Re:then exploit it (if you can) by chthon · · Score: 2, Informative

      Because it is not part of the standard PC architecture ?

  2. Uh what by Brian+Gordon · · Score: 4, Insightful

    Is the summary just supposed to be as shocking as possible? How about some details on why specifically they decided not to patch it?

    1. Re: Uh what by Dolda2000 · · Score: 4, Informative
      I'm no security expert and I don't know anything about the attack vectors that he claims, so maybe I shouldn't say too much, but I do know this: TFA mentions that the PRNG is used for such fields as DNS transaction IDs and IP header fragment IDs, and these fields were never even meant to be random from the beginning. Verily so, TFA even says that {Free,Net}BSD don't even use the PRNG by default, but uses sequential numbers unless a certain sysctl is tweaked.

      Thus, it is my guess that even if the attack vectors are deemed serious enough, the OpenBSD team has decided that it doesn't matter, since these protocols were never designed for security anyway, and that one should use DNSSEC and/or IPSEC (or TLS) if one actually wants to be secure (it does raise the question as to why they decided to use a PRNG for those fields from the beginning, though). My second guess is that they don't even consider the attack vectors serious, though, since they probably require a cracked router to be effective anyway.

      Indeed, if they do require a cracked router, then I don't see the issue to begin with. One of the attacks was that the attacker could inject data into a TCP stream and such things, and if he has a router cracked, then I'm pretty sure he could forge all the data he wants anyway, without using any particular software attack at all, and likewise with DNS data.

    2. Re:Uh what by Zeinfeld · · Score: 5, Interesting
      Is the summary just supposed to be as shocking as possible? How about some details on why specifically they decided not to patch it?

      It is entirely believable to me. Back in 1995 I told Marc Andressen at Netscape that he had a serious problem with the random number generator used to choose session keys for SSL. There was simply not enough randomness going in for there to be 128 bits going out.

      Marc had every reason to listen to me, I had broken SSL 1.0 in ten minutes when he tried to demonstrate it at MIT. But it took several weeks to drill the problem into his thick skull.

      So they eventually asked me for a description of how to do the thing right.

      A year later the exact same bug was discovered independently. By this time they had hired some competent crypto people. I spoke to Taher about the problem later and his explanation was that they found the design note on the PRNG which was so comprehensive that they didn't think it necessary to check the actual code.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    3. Re: Uh what by Anonymous Coward · · Score: 2, Informative

      The idea behind the suggested attack vector is to find a way of sending matching packets *without* sitting in the path of the data. If you can guess certain values which the server will send to other hosts with a high probability and do so just by looking at packets which the server sends as answers to your requests, then you can spoof packets and other hosts will accept your misleading payloads as though they were coming from the server.

    4. Re: Uh what by Smallpond · · Score: 4, Informative

      The reason that they weren't designed to be secure is that noone had thought of the "DNS poisoning" attack when the protocols were designed. If they had, they would have made the ID field longer. Since it is only 16 bits, I doubt that there is any very secure way of protecting someone from guessing the next value. The paper describes a method of narrowing it down to 8 possibilities by doing ~10^9 calculations.

      The exploit described in the paper doesn't require a cracked router, just a malicious website. Once you can inject fake DNS entries for bankofamerica.com or ebay.com on some ISP's DNS server, the exploit has paid for itself.

    5. Re:Uh what by fulldecent · · Score: 4, Funny

      You cracked Marc's 128-bit encryption, but your Slashdot id is 263942. Doesn't add up.

      --

      -- I was raised on the command line, bitch

    6. Re:Uh what by LizardKing · · Score: 5, Funny

      That's because he's so l33t he can pick a Slashdot id at random every time he posts.

    7. Re:Uh what by Anonymous Coward · · Score: 2, Informative
      Zeinfeld, aka Phillip Hallam-Baker is the CTO of Verisign, and while he occasionally makes outlandish claims about himself and his past on Slashdot, most of those claims are well-grounded in reality.

      On SSL/TLS and similar security/crypto issues, he is always interesting and more likely to be right than not.

      On supporting large scientific computing platforms, he is always interesting and more likely to be right than not. His system administration c.v. is impressive.

      On interpreting the experiments performed on those platforms and the results achieved, he is occasionally interesting but is much less often right than in those other areas. Unfortunately, he tends to exaggerate his area of expertise and the basis on which he was awarded his doctorate in arguments from authority.

      Doesn't add up


      Since most of this is readily found via your favourite Internet search engine, including the search box at the top of every slashdot page, you can easily check your own initial addition.
    8. Re:Uh what by Anonymous Coward · · Score: 2, Funny

      They used to give accounts to anyone...

      ...and their standards have declined over time :)

    9. Re:Uh what by Zeinfeld · · Score: 2, Informative
      You cracked Marc's 128-bit encryption, but your Slashdot id is 263942. Doesn't add up.

      Marc's 128 bit encryption used a random seed with 24 bits worth of ergodicity. So it was only 24 bit secure.

      And SSL 1.0 had no integrity protections whatsoever, which would have been pretty bad even if he wasn't using a stream cipher. So even if he used a 256 bit cipher it would have been broken.

      What makes you think this is my only Slashdot id?

      Oh and in response to the AC in the other thread, no my job title is not CTO but I do report to the CTO. Nor am I aware of any occasion where I have ever discussed the results of deep inelastic scattering experiments at ZEUS on Slashdot or any other forum.

      --
      Looking for an Information Security student project suggestion?
      Try http://dotcrimeManifesto.com/
    10. Re:Uh what by jirka · · Score: 2, Funny

      I would be more impressed if he did not have any slashdot login. Having even read this discussion decreases his credibility.

  3. Why this is so bad: DNS cache poisoning by Anonymous Coward · · Score: 2, Informative
  4. OpenBSD secure?! by darkob · · Score: 4, Interesting

    This most certainly WILL have impact on OpenBSD's status as "secure" OS. Indeed, OpenBSD claims to have "proactive" approach towards security whereas this issue should and will diminish some of the OpenBSD's "security goodwill".

  5. Re:Uh what ... yeah by teh+kurisu · · Score: 2, Interesting

    If BSD used the GPL, then Apple still wouldn't be providing a fix, because they wouldn't be using OSS at all. Neither licence is better than the other in this regard.

    I don't agree with the trolling from either camp. The licence you release your code under is a matter of personal choice.

  6. Re:So much for high security by norton_I · · Score: 4, Insightful

    If it isn't actually a security risk (I have no idea if it is or not), the most secure thing to do is to not "fix" it. Changing code always carries the risk of introducing security problems.

    The OpenBSD guys are pretty defensive about security. If they say it is not a problem, I am inclined to believe them.

  7. Re:If the OpenBSD devs say it isn't a security fla by Anonymous Coward · · Score: 2, Insightful

    >If the OpenBSD developers say this isn't a security concern, I've got 100% confidence that they are correct.

    I see you don't remember how OpenBSD developers downplayed remote root vulnerability in mbuf code, until COREsecurity gived them working exploit :].
    And this is that mega randomness with what OpenBSD team was so proud :] LOL.

  8. Re:Uh what ... yeah by cloricus · · Score: 2, Interesting

    Because that is why they aren't using webkit, apache, samba, cups (or employ the guy who writes it), and several others in their default install.

    While I would agree with you on the matter of trolling it really gets old when BSD users trumpet it constantly where-as in my experience GPL supporters tend to realise there are limitations. Of course I'm sure it is seen the same way across the bridge.

    --
    I ate your fish.
  9. Re:Uh what ... yeah by cmaxx · · Score: 2, Insightful

    Nuhuh. This is because the BSD license is semantically freer than GPL in precisely this case:

    Apple are free to release their putative fix to the community, or not - their free choice. That's one more freedom, relative to being obliged to release any changes they make which lead to a binary release outisde of Apple, which the GPL would oblige.

    There are plenty of folk who see that as a feature not a flaw.

    --
    ...an Englishman in London.
  10. Oh for Bob's sake! by Chas · · Score: 2, Insightful

    When the PRNG in WINDOWS is shown to be vulnerable (because it's a actually static value), it's a horrendous problem.

    But when the PRNG for a non-MS operating system is shown to have a similar (but not identical) problem, it's "irrelevant"?

    --


    Chas - The one, the only.
    THANK GOD!!!
  11. Perception is as important as actuality by Alain+Williams · · Score: 2, Insightful
    It is not just good enough to be 'secure in the "real world"' it is also important to be seen and believed to be secure.

    Can someone say how hard a fix would be ? Surely: for the sake of a bit of work they are committing a public relations blunder!

    1. Re:Perception is as important as actuality by X0563511 · · Score: 2, Insightful

      I think the real point here, is that the OpenBSD people don't really care what others think. They follow their own drum, for better or for worse.

      Nobody forces you to use OpenBSD, and nobody prevents you from patching it yourself. They are entirely in their rights to say "No" even if it is a stupid thing to do.

      --
      For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
  12. XYZ Attacks were also unthinkable a while ago. by burni · · Score: 2, Informative

    I am sorry for this vague subject, but I can't remember the exact topics or incidents anymore, but there were numerous even mentioned on slashdot.

    But I wanted to show that most of todays security threats
    were first percived hard to be used or totally unthinkable, even minor security problems
    which later were updated to the status of a serious threat, because the first look turned out to be wrong.

    So when devellopers commit themselves to build the most secure OS, and than on the other hand show such no-interest in fixing this topic, or just review the *BSD solution and paste it into the OpenBSD sourcetree with their background, I can only say this behaviour is untrustworthy.

  13. Re:Alternative submission by yakumo.unr · · Score: 2, Insightful

    If flawed, predictable PRNG code is so 'irrelevant in the real world' why does even Microsoft seek to improve upon it?

    "Strengthens the cryptography platform with a redesigned random number generator, which leverages the Trusted Platform Module (TPM), when present, for entropy and complies with the latest standards. The redesigned RNG uses the AES-based pseudo-random number generator (PRNG) from NIST Special Publication 800-90 by default. The Dual Elliptical Curve (Dual EC) PRNG from SP 800-90 is also available for customers who prefer to use it."

    Overview of Windows Vista Service Pack 1

    Though this question obviously will depend on how MS's previous PRNG implementation stacks up against OpenBSD's.

  14. Strike 2, OpenBSD. by Neillparatzo · · Score: 5, Insightful

    OpenBSD is on a fast track to losing its most favored secure OS status if they keep this up.

    First they refused to implement WPA (despite the other BSDs having it), because it "doesn't provide real security" and "just use IPSEC".

    Now they're refusing to address a weakness in their network stack (despite the other BSDs addressing it), again with the implication that everybody should just jump to IPSEC. What if you're in a situation where an IPSEC rollout is impractical or impossible?

    Whatever happened to defense in depth? Whatever happened to "secure by default"? Whatever happened to constructive paranoia, such as randomizing of libc addresses, that was unlikely to have any real impact on security but was a nice extra, just in case? Why must I now upgrade to NetBSD to get security features that are lacking in OpenBSD? Isn't the shoe on the wrong foot?

    What happened? Was there a change of management? Is OpenBSD under the thumb of a douchebag patch manager lately? Is this going to go away at some point? Those of us that sleep with OpenBSD firewalls like a gun under our pillow are taking notice.

    1. Re:Strike 2, OpenBSD. by the_B0fh · · Score: 2, Insightful

      And they care about your notice why?

    2. Re:Strike 2, OpenBSD. by Anonymous Coward · · Score: 3, Insightful

      First they refused to implement WPA (despite the other BSDs having it), because it "doesn't provide real security" and "just use IPSEC".

      Umm, they're completely correct to take this stance. WPA is far inferior to IPSEC, security-wise. It's OpenBSD's job to help insulate you from insecure technologies. We could easily say, "Just because FreeBSD allows one-character passwords, OpenBSD should, too!" And you know what? We'd be wrong to think in that way.

      What happened? Was there a change of management? Is OpenBSD under the thumb of a douchebag patch manager lately? Is this going to go away at some point? Those of us that sleep with OpenBSD firewalls like a gun under our pillow are taking notice.

      What happened? Nothing happened. The OpenBSD team members are performing their task perfectly. They are computer security experts who have considered this problem, and found it to not be the issue that some others think it is. So they're doing the responsible thing, and not making willy-nilly changes to their codebase for the sake of a "security glitch" that really doesn't exist.

    3. Re:Strike 2, OpenBSD. by Anonymous Coward · · Score: 5, Insightful

      IPSec is OSI layer three, WPA is layer two. Accordingly, they are not substitutes for each other; they are compliments.

      So, OpenBSD is refusing to put a locking mechanism on the doorknob because it wants to make people use a deadbolt. Me, I'd want both; if it turns out my deadbolt had a defect and thus easily defeated, the doorknob lock would at least provide some security.

    4. Re:Strike 2, OpenBSD. by styrotech · · Score: 2, Interesting

      First they refused to implement WPA


      From my impression that is an overstatement. OpenBSD will get WPA when someone writes it well enough for it to get in. Although the current devs don't want to write it themselves (as they don't feel they need it), they have left the door open for someone else to write it.

      "doesn't provide real security" and "just use IPSEC" aren't reasons why it won't get in at all but reasons why that particular developer(s) isn't going to bother writing it themselves. OpenBSD is probably the ultimate "scratch your own itch" and "talk is cheap, show me the code" project. So far WPA hasn't made anyone in the OpenBSD community itchy enough. After all WEP still got in even though it is far less secure than WPA2 - someone wanted it enough to write it.
    5. Re:Strike 2, OpenBSD. by Breakfast+Pants · · Score: 2, Interesting

      It isn't that they just flippantly refuse these things to be assholes, they have extremely limited resources and they have to make tradeoffs.

      --

      --

      WHO ATE MY BREAKFAST PANTS?
  15. Re:Uh what ... yeah by Richard_at_work · · Score: 3, Interesting

    Webkit is LGPL, Apache is under the Apache license, Samba is under the GPL and CUPS (sourcecode copyright, company name and other tangibles) was purchased by Apple a year ago this month (as well as hiring the main developer).

    Out of the four items you mention, only one is GPL. You could have done much better to suggest such examples as GCC et al.

    The great thing about the BSD license, is that when people do contribute back (and they do, even big companies like Apple), you know its because they *want* to, not because they *have* to.

  16. GPL has the same flaw, ya know. by Animaether · · Score: 2, Insightful

    say Google fixes something in a GPLed project that they're -not- distributing. Then GPL fans can't automatically get the fix because, hey, the GPL license*!

    ( * which only says something about making the code, and thus the fix, available if the code, or compiled version thereof, is distributed. )

    The difference is trivial, isn't it. In both cases an existing fix would not automatically be contributed back.

  17. Re:Uh what ... yeah by molarmass192 · · Score: 2, Insightful

    ... and if Apple wasn't using OSS at all, I'd bet that they'd be selling quite a few less laptops and desktops. I know I wouldn't have bought three laptops over the past 2 years. I also know several people who would not have gone the OS X route. GCC / FreeBSD / GNU are very strong selling points for Apple that they didn't have with OS 9. On that note, I think you're right to a large extent, if it came down to a choice between the GPL or closed source, I have a gut feeling Apple would have tried the close route. The BSD license gives them flexibility to release source if and when they want.

    --

    Good people do not need laws to tell them to act responsibly, while bad people will find a way around the laws-Plato
  18. Re:What?? by Jugalator · · Score: 4, Informative

    The flaw in the PRNG is not exploitable. Not unless you are root on the local machine and have the ability to stop all other processes. Wait.. what?

    This could potentially provide a platform for attacks involving prediction of IP sequences and thus TCP data injection attacks.

    Where is a local machine access required for that? It could provide attacks on the network traffic itself, by merely knowing which operating systems are involved in it.
    --
    Beware: In C++, your friends can see your privates!
  19. Re:Uh what ... yeah by saleenS281 · · Score: 2, Informative

    Great argument, except none of the above are essential to their operating system, which is why they picked them up with a gpl license. It doesn't really matter if the source to any of those are shared or not.

    Oh, and captain hater, last time I checked, the fix would be shared.

  20. Re:So much for high security by martinlp · · Score: 2, Informative

    The OpenBSD bug is not as severe, but when they have a chance to make OpenBSD a little bit more secure, why not take it, especially when their focus is on security.

    OpenBSD's argument is that a patch would not make it more secure... so your point is moot.

  21. Re:Uh what ... yeah by Goaway · · Score: 3, Insightful

    Being given something is not a freedom. It may be a good thing, but stretching the definition of "freedom" to include that renders term almost entirely meaningless.

    Don't conflate "things you want" with "freedom", please.

  22. Re:How many people actually use PRNG? by ivan256 · · Score: 2, Interesting

    Where do you think the data for /dev/urandom comes from? It's a pseudo-random number generator unless you've got a hardware random number generator, but even that probably uses a pseudo-random algorithm.

  23. Theo is slow to change, but he will. by argent · · Score: 5, Interesting

    Theo has refused to implement other 'foreign' security changes in OpenBSD when they were first introduced, then turned around and implemented them after a while. He was contemptuous towards non-execute stacks when I spoke with him at Usenix many years ago, because he was convinced OpenBSD's code review policy made it irrelevant and because no-execute didn't stop all stack smashing attacks... but OpenBSD eventually picked it up.

    Basically, he's very conservative, very resistant to change, and don't forget that's one of the things that made OpenBSD what it was to begin with... but if it really matters he'll come around.

  24. Code excerpt for the curious... by davidbrit2 · · Score: 5, Funny

    http://xkcd.com/221/ Oh hush, you knew somebody would post it.

  25. Re:Uh what ... yeah by ShieldW0lf · · Score: 2, Insightful

    It's about the developers freedom and the users freedom. The developer is free of leverage, and can act as they wish. The user is free of leverage, and can act as they wish. They're not allowed to use the legal system to enforce leverage around the code, obviously. But that doesn't prevent them doing anything they wish with the code, it just prevents them being bastards via the legal system.

    --
    -1 Uncomfortable Truth
  26. Re:Uh what ... yeah by larry+bagina · · Score: 2, Informative

    It's not compatible with GPL 2. It's not compatible with GPL 3. The googles of the world are already using GPL (2 or 3) software and won't be affected.

    --
    Do you even lift?

    These aren't the 'roids you're looking for.

  27. They'd more likely be used to compromise the user by Xenographic · · Score: 2, Insightful

    DNS poisoning and the like are more likely to be used to compromise the user than his computer. After all, they can just put up their fake Bank of America clone that, thanks to poisoned DNS, is identical to the real one and steal his password.

    Not everything is about compromising someone's computer.

  28. Software freedom is better when its inalienable. by jbn-o · · Score: 3, Interesting

    So, in other words, the grandparent poster's point is valid and the larger more important issue remains: proprietary derivatives of non-copylefted free software uses the free software community as a market instead of treating us as equals.

    The great thing about the BSD license, is that when people do contribute back (and they do, even big companies like Apple), you know its because they *want* to, not because they *have* to.

    Nobody "has" to under the GPL; to the degree that what you said is true, the same is true of the GPL. Statements like yours ignore all the choices that lead up to distributing source code. There's nothing in the GPL that compels conveyance. There are only conditions in the GPL that compel source code conveyance with object code conveyance. It's trivially easy to not improve GPL-covered software or not distribute the improved version. The larger issue here is whether the free software community owes Apple anything. We don't. If they want to join us and work with us, great, if not they can write their own software. The GPL helps ensure that when people and organizations convey copies of programs they do so as equals. NeXT (now owned by Apple) already tried distributing GCC derivative software without distributing complete corresponding source code when GCC was under GPLv2. It made NeXT look like an ass and put them at risk of being able to distribute GCC at all. NeXT later rectified the situation by distributing complete corresponding source code in compliance with GPLv2.

  29. Re:So much for high security by Metzli · · Score: 2, Insightful

    I may be wrong, but I don't remember anyone claiming that OpenBSD is the "highest security OS." The last I checked, it wasn't on the list for A1. It's likely to be one of the most secure open source operating systems, but it's by no means the ultimate.

    --
    "It's too bad stupidity isn't painful." - A. S. LaVey
  30. Re:How many people actually use PRNG? by Adam+Hazzlebank · · Score: 3, Informative

    Where do you think the data for /dev/urandom comes from? It's a pseudo-random number generator unless you've got a hardware random number generator
    It's my understanding that urandom often uses data from interrupts, keyboard input, device controllers etc. to increase the entropy of the random numbers it produces.

    hardware random number generator, but even that probably uses a pseudo-random algorithm.
    Hardware random number generators are not considered pseudo-random. As I understand it they usually amplify noise, pick up random radio interference or use Quantum random sources. In any case they should all have drivers to check the "randomness" of source. The only way they could be considered pseudo-random if, against the trend of modern physics, you believe that "randomness" does not exist and the universe is inherently deterministic.
  31. Your dollar, your time by reiisi · · Score: 2, Insightful

    You be vigilant on the things that worry you on your dollar and on your time.

    As we can see, even Microsoft can't seem to be vigilant on everything at once.

    And the question to ask would be, what alternative? OpenBSD has (yet another) theoretical vulnerability. Is it one that affects the things you use obsd for?

    MSWxxx has yet another real vulnerability. Is it one that affects what you use MSWxxx for?

    It's better to allocate your time to be vigilant on things that matter (to you).

    --
    Computer memory is just fancy paper, CPUs just fancy pens with fancy erasers; the 'net is just a fancy backyard fence.
  32. They're doctrinaire, sure by Theatetus · · Score: 2, Interesting

    But they tend to have a point. They are right, ultimately, that the transport level is the "correct" level for security. WEP and WPA are both, ultimately, kind of pointless in that a determined attacker will be able to compromise them. It's just that WPA prevents a large class of casual attacks that WEP doesn't. In theory, yes, someone concerned about secure network traffic will secure that traffic at the transport level -- the problem is that if you don't control both sides of the transaction, transport-layer security is often not available (eg, https://slashdot.org/ redirects to http://slashdot.org/

    --
    All's true that is mistrusted
  33. Why doesn't software trust /dev/[u]random ? by m.dillon · · Score: 2, Informative

    After the Nth time someone as approached me talking about flaws in BIND's random number generator I just have to ask myself, why the hell do the bind people, with no real cryptographic knowledge, think they can write their own? Bind doesn't seem to even have an option to use the OS's PRNG.

    I had an interesting discussion with Amit regarding all the hacks people (including the Bind people) do to try to roll their own random number generator and it prompted me to review our own IP randomization code (and the 'off' default). After review I was decidedly uneasy about its secureness, mainly because it was trying to use an algorithmically generated cycle for a tiny namespace (16 bits, actually 15 the way it was coded). The problem with the IP sequence space is that you can't just randomize it, you also have to ensure that sequence numbers are not immediately repeated. DNS has similar issues.

    I gave up trying to improve the algorithm and decided to throw in the towel and allocate 128KB of memory to do a look-ahead running shuffle of the 65536 possible sequence number using the system's PRNG. It's not possible to do better then that, frankly. We also decided to turn on ip randomization by default.

    So that brings me back to the question: Why the hell doesn't bind have an option to use the system PRNG? Not all systems have a good random number generator, but I trust ours far more then the junk coded into bind. For that matter, I don't really mind if bind ate another 128K of memory to secure its own sequence space, if that is what it takes.

    I know enough about cryptology to know that I am not a cryptographer. But regardless of that, I can still get a good feel for someone else's code and what BIND does scares me. The y need to change their code to default to something more secure, even if it is memory intensive. If they want to give their users the option to use the less memory intensive algorithm that's fine with me, but the default needs to be more secure.

    DNS has its own design issues, but that is no excuse for software to exasperate them.

    -Matt

    1. Re:Why doesn't software trust /dev/[u]random ? by mibh · · Score: 2, Informative

      So that brings me back to the question: Why the hell doesn't bind have an option to use the system PRNG? Not all systems have a good random number generator, but I trust ours far more then the junk coded into bind. For that matter, I don't really mind if bind ate another 128K of memory to secure its own sequence space, if that is what it takes.
      BIND uses cryptostrength PRNG for DNSSEC operations, but not for generating 16-bit query ID's (which is the topic of Amit's paper). 16 bits just isn't wide enough to care about predictability, and stub resolvers like gethostbyname() can't afford cryptostrength randomness even if it would do any good which it won't. My sympathies in this debate are mostly with Theo, since the only real fix for DNS Security is Secure DNS (DNSSEC). In response to Amit's original paper on this, I hacked BIND8 to use arc4random() for its upstream queries, and told folks who didn't have arc4random() in their libc to either get it or upgrade to BIND9.

      To your question, why doesn't BIND9 have a build option to use the underlying OS PRNG (in /dev or libc or whatever), it's partly because this problem isn't solveable without DNSSEC so a better PRNG for 16-bit query-ID's is bad engineering economics, and partly because BIND9's PRNG is "good enough" for a 16-bit field and we (ISC) don't want the risk that some BIND builds will pull in really terrible OS PRNG's. Our BIND9 PRNG isn't cryptostrength... but spending more time on it won't make DNS more secure, only DNSSEC can do that. If DragonflyBSD wants to help secure the DNS, then make DNSSEC the default on all your systems, sign your own zones, and encourage your users to sign their zones. If your parent zone (.ORG, .COM, etc) won't take your DNSSEC keys, put them in DLV. DNSSEC is stuck in IPv6-like chicken-or-egg mode, and only dedicated coherent action from the F/L/OSS community has ever been able to unstick stuff like this.

      But debates around the quality of a PRNG used to generate 16-bit integers are unproductive time thieves. We used to use the C "++" operator to select the next query ID, and in some ways I wish we had kept that practice rather than adding any kind of PRNG at all since it only gave the illusion of security without making query-ID guessing attacks impossible or even impractical.

      Paul Vixie