Slashdot Mirror


Linus Responds To RdRand Petition With Scorn

hypnosec writes "Linus Torvalds, in response to a petition on Change.org to remove RdRand from /dev/random, has lambasted the petitioner by called him ignorant for not understanding the code in the Linux Kernel. Kyle Condon from the UK raised a petition on Change.org to get Linus to remove RdRand from /dev/random in a bid 'to improve the overall security of the linux kernel.' In his response, Torvalds asked Condon and the supporters of the petition to gain an understanding of Linux drivers and cryptography, and then 'come back here and admit to the world that you were wrong.' Torvalds stressed that kernel maintainers knew what they were doing and the petitioner didn't. Torvalds, in a similar outburst just yesterday, hoped that 'ARM SoC hardware designers all die in some incredibly painful accident.' This came in response to a message from Kevin Hilman when he noted that there were quite a few conflicts in the ARM SoC pull request for Linux 3.12 which were a result of the platform changes conflicting with driver changes going in to the V4L tree."

22 of 566 comments (clear)

  1. you have the source by AndroSyn · · Score: 5, Insightful

    You have the source code, remove rdrand from the kernel yourself.

    1. Re:you have the source by AndroSyn · · Score: 4, Insightful

      Then if you don't understand how to make this sort of change, then you aren't smart enough to understand why you should or should not be using RDRAND it in the first place.

    2. Re:you have the source by Anonymous Coward · · Score: 5, Insightful

      It's not a "cop out" at all. The party that manages the code doesn't want to remove a feature that there's no logical reason to remove. The petition was one sentence, linked to no debate, made no points and didn't even attempt to negotiate. It could have said, "Do it, because we say so." and it would have been just as informative. I think you need to look up the definition of "cop out", because the petition creators could have actually done something useful, and didn't.

    3. Re:you have the source by realityimpaired · · Score: 4, Insightful

      Not true... I have no opinion either way, but it's entirely possible to have a very good understanding of how semi-random numbers affect cryptography, and also of how rdrand generates them, without having the programming background to be able to safely remove it from the kernel. Crypto is about math, not programming, and contrary to popular opinion (apparently), the two do not always go hand-in-hand.

      It's not as simple as just commenting out a few lines of code. As likely as not, if you were to simply comment out a few lines you'd actually introduce another bug which could be worse for security. The Linux kernel is arcane, and even experienced/good programmers avoid making modifications they don't have to. What you're proposing is he fork it, and make a new release of the kernel *every time Linux releases one*, in order to comment out a feature that may not have enough entropy to be suitable for crypto. (I don't know one way or the other, but I'm guessing you don't either).

    4. Re:you have the source by Anonymous Coward · · Score: 5, Insightful

      No, it is not. Being unwilling to do something for yourself, and then demanding that others do it for you, to the point of trying to pressure them with a mass petition, is the most obnoxious cop out.

    5. Re:you have the source by pipatron · · Score: 5, Insightful

      Are you suggesting that the kernel should kill of application in userspace using this instruction? Are there any other instructions you morally object to? Using XOR with a constant is also bad cryptography, perhaps it should be prevented by the kernel.

      --
      c++; /* this makes c bigger but returns the old value */
    6. Re:you have the source by michelcolman · · Score: 4, Insightful

      RDRAND is an instruction, just like "add these two registers" or "jump to this address". Of course it's still available to user space applications. The point is that you can specify that the OS itself should not use it for things like /dev/random. If a user space application wants to use it, there's not much the kernel can/should do about that. Apps can use pretty much any insecure random algorithm anyway.

    7. Re:you have the source by wisnoskij · · Score: 4, Insightful

      There is a huge difference between the skill set to maintain your own version of Linux, the skill set to program efficient code that does not break anything, and the skillset to understand encryption.

      --
      Troll is not a replacement for I disagree.
    8. Re:you have the source by tytso · · Score: 5, Insightful

      The random driver has changed significantly since July 2012, which is we were given a heads up about the paper described at http://factorable.net/ which is also when I took back maintainership of the /dev/random driver. We gather entropy at every single interrupt, and mix it into the entropy pool. This is done unconditionally, you can't disable it, like what happened with the SA_SAMPLE_RANDOM flag.

      The thing about entropy pools is that when you combine entropy sources, the result gets better, not worse. So the best thing would be if we had hardware random number generators sourced from China, Russia, and the USA. Since presumably the MSS, KGB, and the NSA mutually distrust each other, if we combine the entropy from those three soruces, the result will be stronger than any one alone.

      This is why I don't recommend using RDRAND directly. Sure, an honest (emphasis on honest) hardware random number geneterator will always be able to source higher quality entropy than anything we can do by sampling OS events, such as interrupts. But the problem is it's hard to guarantee that a HWRNG is really honest. Especially given the Snowden revelations which seem to indicate the NSA has successfully leaned on at least one chip manufacturer. If you must use RDRAND, I'd recommend generating a random key via some other means, and then encrypting the output of RDRAND by that random key before use the resulting randomness for session keys, etc. Or better yet, do what we do in /dev/random, which is to mix RDRAND with other sources of entropy.

  2. Got your feelings hurt? by Splab · · Score: 5, Insightful

    The TFA makes it look like Linus went on full rampage mode and tore a insightful request down by being mean.

    Actually reading his responses, Linus is pretty level headed and just says no, you can't have this.

    Guess submitter got his feelings hurt?

    1. Re:Got your feelings hurt? by greenfruitsalad · · Score: 4, Insightful

      that is exactly what i thought. guy creates a lame picture with NSA and LINUX in it, comes up with a fascinating heading and uses yesterday's info from slashdot discussion to create FUD. if i were Linus, i wouldn't have bothered with such a long response.

  3. Re:At Least He Doesn't Throw Chairs by iserlohn · · Score: 4, Insightful

    Linus is funny while Ballmer acts funny. Worlds apart if you ask me.

  4. Re:Linus an example of ... by h4rr4r · · Score: 4, Insightful

    Its just a shame that morons like you value social graces over the ability to do real work. This is why companies fail, especially as they get better, playing well with morons is valued over the ability to get shit done.

  5. Re:Linus an example of ... by pjk · · Score: 4, Insightful

    Someone who has no social skills but uses his persona to stay at the head of the ship.

    Well, either that or his technical understanding, organisational skills and the respect of his peers for many a year.

    it is just a shame such a social retard is allow to rant as he is.

    Guess humour isn't your thing ?

    --
    pjk
  6. Re:At Least He Doesn't Throw Chairs by Goaway · · Score: 5, Insightful

    No, the guy who made the petition was way out of line for calling Linux "an approved partner of the NSA", and way out of his depth because he had no idea what the hell he was talking about.

    Linus was just responding to an asshat, and went pretty easy on him.

  7. Randomness not so random by schneidafunk · · Score: 5, Insightful

    I have to admit I didn't know much about the controversy so I went and found some articles.

    Here is an article showing some weaknesses in Linux's random generation: Analysis of the Linux Random Number Generator

    As reported by Bruce Schneier for this Wired article: http://www.wired.com/politics/security/commentary/securitymatters/2007/11/securitymatters_1115

    --
    Some people die at 25 and aren't buried until 75. -Benjamin Franklin
  8. A petition? by macemoneta · · Score: 5, Insightful

    If you believe there's something broken in the kernel (or other open source project), you don't create a petition, you create and submit a patch. If you don't know enough or don't have the skills to create a patch, you're probably not qualified to criticize the implementation.

    "Anti-intellectualism has been a constant thread winding its way through our political and cultural life, nurtured by the false notion that democracy means that 'my ignorance is just as good as your knowledge." -- Isaac Asimov

    --

    Can You Say Linux? I Knew That You Could.

  9. Excuses, excuses, excuses ! by Taco+Cowboy · · Score: 5, Insightful

    Maintaining your own kernel tree over time is most certainly non-trivial by most peoples standards

    Some people just had to complain about every-single-thing, even if it's downright inane.

    Open source is just that, you can read the source of the programs, and with the source, you have the options to do the following :

    1. Determine if the program has any backdoor / malware embedded

    2. Change/alter the source to your own liking

    3. Learn from the code and perhaps in a latter day you might be able to apply what you have learned in your own program (and I am not talking about cut and paste)

    If all the above are STILL not good enough for you, the offerings from Apple and Microsoft are always available.

    --
    Muchas Gracias, Señor Edward Snowden !
    1. Re:Excuses, excuses, excuses ! by fritsd · · Score: 5, Insightful
      Hey, you forgot an important one:
      • 4. PAY ME to make a kernel package for you that has this RDRAND thingy turned off.
      --
      To be, or not to be: isn't that quite logical, Slashdot Beta?
  10. Re:Why all the whining in the first place? by Spad · · Score: 5, Insightful

    It's getting increasingly difficult to label people tinfoil hatters given the way the NSA leaks are making even the most ardent paranoid conspiracy theorists look like they've vastly underestimated the problem.

  11. Re:At Least He Doesn't Throw Chairs by oztiks · · Score: 5, Insightful

    I'm with you on that. It seems like his sense of humour and his calling "a spade a spade" philosophy earns him a lot of criticism. I always argue that Linus is your typical purest. He's not there to please or appease. He's there to focus on getting things done right, in his own way, but as correct as he sees it.

    I argue that because he's giving Linux freely to the world and with limited monetary gain that we can't chastise him too much about it either. What he's missing is something which I've learned through my own errors when dealing with people in the past. And that is, to deal with "the public" one must always do so with the softest possible touch. That's only if you're wanting to earn the minds of the masses mind you.

    So I say. People who bag him with the whole "his attitude is appalling" type statements. Well, it sucks to be you because I think that you're just too much of a sook and you need to harden/lighten up a little. The people who condone the attitude I say "meh, you're probably a purest as well" because they wish to understand truth and wish to see what goes on in the Linus' mind just as I do.

    As me for me. Truth be told. The day Linus actually starts acting like the rest of the PR sheep out there is the day I'd start to worry about crypto that NSA may of sneaked in to the Linux kernel. Until then. It's good to see him throwing out comments like "Deep throat Microsoft" and "You're ignorant". This kind of talk is indicative of when the internet wasn't populated by commercially driven cock suckers like Mark Zuckerberg abusing the word "hacker" and trying to pass himself off as "one of us".

    So at the end of the day, who's really lost touch here?

  12. Here's your debate by Okian+Warrior · · Score: 5, Insightful

    It's not a "cop out" at all. The party that manages the code doesn't want to remove a feature that there's no logical reason to remove. The petition was one sentence, linked to no debate, made no points and didn't even attempt to negotiate. It could have said, "Do it, because we say so." and it would have been just as informative. I think you need to look up the definition of "cop out", because the petition creators could have actually done something useful, and didn't.

    Okay then, lets fix this.

    The NSA has compromised products and devices in the design phase - both software and hardware. We don't know which products are compromised or how, but we do know that some are.

    Random number generators cannot be verified - it's a computationally infeasible problem. If the NSA has subtly tampered with a product, there's no way to tell from the outside looking in. You *might* be able to tell by looking at the generator source. (Note that the linux random number generator has at least one undocumented source of entropy.)

    There is no reasonable way to look at the source code/microcode of the rdrand instruction.

    Additionally, there is no way to verify the underlying source of randomness of the rdrand instruction. There could be vulnerabilities on the silicon die.

    The whole point of open source is that people can peek at the software and see what's going on.

    Since there is no way to inspect the random number generator and no way to verify it's operation, it should not be used by default.

    It's a security risk, plain and simple, and risk management should be up to the user. However small the risk is, forcing everyone to take it multiplies the chance that someone will get burned by it.

    Here's your logical argument. If Linus wants to debate this, let him address these issues. Linus needs to show the premises wrong, or that the conclusion doesn't follow from the premises.

    If he can't, then he should abide by the recommendation.