Slashdot Mirror


NSA Backdoors In Open Source and Open Standards: What Are the Odds?

New submitter quarrelinastraw writes "For years, users have conjectured that the NSA may have placed backdoors in security projects such as SELinux and in cryptography standards such as AES. However, I have yet to have seen a serious scientific analysis of this question, as discussions rarely get beyond general paranoia facing off against a general belief that government incompetence plus public scrutiny make backdoors unlikely. In light of the recent NSA revelations about the PRISM surveillance program, and that Microsoft tells the NSA about bugs before fixing them, how concerned should we be? And if there is reason for concern, what steps should we take individually or as a community?" Read more below for some of the background that inspires these questions. quarrelinastraw "History seems relevant here, so to seed the discussion I'll point out the following for those who may not be familiar. The NSA opposed giving the public access to strong cryptography in the '90s because it feared cryptography would interfere with wiretaps. They proposed a key escrow program so that they would have everybody's encryption keys. They developed a cryptography chipset called the "clipper chip" that gave a backdoor to law enforcement and which is still used in the US government. Prior to this, in the 1970s, NSA tried to change the cryptography standard DES (the precursor to AES) to reduce keylength effectively making the standard weaker against brute force attacks of the sort the NSA would have used.

Since the late '90s, the NSA appears to have stopped its opposition to public cryptography and instead (appears to be) actively encouraging its development and strengthening. The NSA released the first version of SELinux in 2000, 4 years after they canceled the clipper chip program due to the public's lack of interest. It is possible that the NSA simply gave up on their fight against public access to cryptography, but it is also possible that they simply moved their resources into social engineering — getting the public to voluntarily install backdoors that are inadvertently endorsed by security experts because they appear in GPLed code. Is this pure fantasy? Or is there something to worry about here?"

34 of 407 comments (clear)

  1. This is stupid by Anonymous Coward · · Score: 5, Insightful

    This is fearmongering. Encryption standards that have been adopted are open source and mathematicians comb over them with a fine tooth comb before giving them their blessing. Yes, there is a worry among mathematicians about the NSA developing an algorithm that would permit a pre-computed set of numbers to decrypt all communication. Which is why they make sure it DOESN'T HAPPEN.

    See https://www.schneier.com/essay-198.html

    1. Re:This is stupid by kwikrick · · Score: 4, Insightful

      Fearmongering, yes.
      But not impossible.
      It's not so easy to make sure that a program is a correct implementation of a mathematical algorithm or of an open standard.
      A subtle bug (purposeful or not) in a crypographic algorithm or protocol can be exploited.
      Writing a bug is much easier than spotting it.
      Many applications and OSes get security updates almost dayly. They certainly haven't found them all yet.
      Perhaps the NSA has engineered backdoors in our free software at some point, but those vunerabilities have been patched already.
      Mosty paranoia then....
      Rick

      --
      assignment != equality != identity
    2. Re:This is stupid by arnodf · · Score: 5, Insightful

      Belgian ffs.
      Belgium, I hate it when people mistake us for Dutch!

    3. Re:This is stupid by Anonymous Coward · · Score: 5, Funny

      Belgium - The more awesomer part of the Spanish Netherlands!

    4. Re:This is stupid by Hatta · · Score: 4, Interesting

      Encryption algorithms may be secure, but how sure are you that your implementation is? Debian was generating entirely insecure SSL keys for a couple years before anyone noticed. Couldn't the NSA do something like that, but perhaps a bit more clever, and remain unnoticed?

      --
      Give me Classic Slashdot or give me death!
    5. Re:This is stupid by zerro · · Score: 4, Informative

      It's always interesting to see what (some of the best attempts at) intentional code obfuscation can look like:
      http://www.ioccc.org/

    6. Re:This is stupid by SilenceBE · · Score: 5, Interesting

      The majority of the people in Belgium speaks Flemish (which is related to Dutch) and dialects. The french and germans are a smaller language group. The dialect that I locally speak (West Flemish) is even more related to the languages from Northern France then the Netherlands.

      But what bothers me the most with Belgian mistaken identity is that a lot of American companies or websites serves everything in French when it detects I'm from Belgium. It is like if the rest of the world would detect that you are from the States and serve everything in Spanish because there is a big Hispanic community.

      It took Microsoft years to get it in their head that most people here speaks Flemish. For years everything on Xbox live (that had a french localization) was served in French.

    7. Re:This is stupid by Joce640k · · Score: 4, Informative

      This is often quoted as an example of NSA's supposed superiority in cryptography but that happened back in the '70s when there were hardly any cryptographers or computers in the world.

      The knowledge gap between the NSA and independent cryptographers has closed a lot since then.

      --
      No sig today...
    8. Re:This is stupid by dargaud · · Score: 5, Informative

      Much more relevant to this discussion is the underhanded C contest where backdoors much be introduced in innocuous-looking C code. There's an art to it.

      --
      Non-Linux Penguins ?
    9. Re:This is stupid by blacksmith · · Score: 4, Informative

      I believe the s-boxes were provided by the NSA without much comment about them.

      You're probably thinking of DES rather than AES with regards NSA provided s-boxes. IIRC said s-boxes in DES were changed by the NSA with no real explanation. Some years later when differential cryptanalysis was discovered in the non-secret world it turned out that the change actually hardened DES against such an attack - so in this case the NSA created a stronger algorithm. See wikipedia.

    10. Re:This is stupid by ledow · · Score: 4, Insightful

      The question to ask is:

      What happens for the VERY VERY FIRST TIME this sort of tampering is spotted?

      What if we found something in Linux, or something in PKE, or something in anything we use?

      Would we just go "Oh, well, that's the NSA for you" and then carry on as normal? No. Likely there'd be a complete fork from a clean workbase to start over again, a complete distrust of code from day one, and a complete overhaul of all existing systems.

      It's just not something that, as a government agency, you'd want to get implicated in whatsoever. For a start, you have a backdoor into systems in the German government? Or the Koreans? Holy crap you're in trouble for it being found out.

      And what purpose would it serve, above and beyond traditional spying? Not a lot. The effort and secrecy required, and the implications if you're found out EVER, is far too large-scale to reap any benefit from it.

      It's much more incredibly likely that they are using standard spying techniques (i.e. let's tap X's computer because we know he's involved) than planting things into major pieces of open source software. Closed commercial? That's a different matter but - again - compared to just issuing an order that they do it for you and never speak about it, it's too difficult. And, even then, we've found out that that eventually comes out and has diplomatic effects on entire nations (including allies).

      I don't believe they wouldn't try. I don't believe they wouldn't have some way into the system. I don't believe for a second, though, that they've backdoored something quite so open and visible, or that the people involved in reviewing it wouldn't - EVENTUALLY - spot it and the outcry from that having a 100 times greater impact on the world than anything some twat leaks from diplomatic cables.

      I'd be so incredibly disappointed if that was the height of their capabilities, to do something some clumsy and ineffective, and that they couldn't choose their targets better.

      These people are spies. I expect them to perform all manner of dirty manoeuvres as a routine job. But the fact is that good, old-fashioned spying is a million times more effective.

      I would also have to say that an "enemy" of any description who has the capability to use only compiled-from-source software on regulated hardware, and uses them exclusively in whatever activities might be of interest to the NSA or GCHQ probably has the resources to verify that code or write it themselves.

      And, you have to remember the old "fake-Moon-landings-Russians" argument - if your enemy is capable of DETECTING that you've done that, and they announce it to the world and show it was you that did it, they'd do it. Just to discredit you. Just to make you forget about the guy in the airport. Just to make you look like fools. Just to prove that THEY know what's going on and it's not so easy to get into their systems.

      If you have a perfect government entity, then yes it's theoretically possible. But in real life, no, I'm sorry, it's just implausible on anything other than a trivial scale. They might get a "euid=root" type bug into the code if they try hard and find a weak target, but to be honest, it's not a concern.

      And if I was really worried, I'd use FreeDOS. Or Minix. Or FreeBSD. Or whatever. And any "common point" like gcc, well you can verify those kinds of things with the double-compilation tricks or just using a different piece of software. Either they would have to have infected EVERYTHING or NOTHING. And I'll go with nothing.

    11. Re:This is stupid by mlts · · Score: 4, Insightful

      We already had a closed algorithm pushed on us in the 1990s -- Skipjack. It was broken shortly after it was declassified.

      Weak algorithms will get torn apart quickly, because there are many people looking for weaknesses, both university researchers as well as criminal organizations.

      Best thing one can do if worried about one algorithm -- do cascades. Realistically, three 256 bit algorithms won't give 768 bit security, but 258 bits. However, if one algorithm gets broken, the data is still protected. This applies to public key crypto as well. The ideal would be RSA, ECC, and maybe one more that is resistant to Shor's algorithm like Unbalanced Oil and Vinegar or something lattice based.

    12. Re:This is stupid by SecurityTheatre · · Score: 4, Informative

      You'd never know the official langauge of the country was English.

      That's probably because it's not....

      The US, on principle, never adopted an official language in the way most other countries do.

  2. Well they COULD put a backdoor in some OSS... by Viol8 · · Score: 4, Interesting

    .... but unless they have the worlds top obfuscating coders working there (quite possible) , how long do you think it would be until someone spots the suspect code especially in something as well trodden as the Linux kernel or GNU utilities? I would guess not too long.

    1. Re:Well they COULD put a backdoor in some OSS... by cHiphead · · Score: 4, Interesting

      Why not just insert something at the compiler level. Perhaps they have compromised GCC itself or something at a different, less obvious point in the process of development?

      --

      This is my sig. There are many like it, but this one is mine.
    2. Re:Well they COULD put a backdoor in some OSS... by pegr · · Score: 5, Informative

      Reflections on Trusting Trust (PDF alert). Required reading for anyone with interest on that very topic. Written by Ken Thompson, in fact.

    3. Re:Well they COULD put a backdoor in some OSS... by zerro · · Score: 5, Interesting

      Why backdoor just one brand of compiler (since there are several), when you could backdoor the architecture?
      I'm pretty sure there is a special sequence of intel instructions which open the unicorn gate, and pipe a copy of all memory writes to NSA's server.

    4. Re:Well they COULD put a backdoor in some OSS... by Anonymous Coward · · Score: 5, Interesting
  3. Linux Kernel has had bugs publicly reintroduced. by CajunArson · · Score: 5, Insightful

    Last year or early this year there was a fix for a Linux kernel bug that could provide root privilege escalation. Here's the kicker though: The bug had been fixed years earlier but had been reintroduced into the kernel and nobody caught it for a very long time. For some reason, OpenSuse's kernel patches still included the bug fix, so OpenSuse couldn't be exploited, but mainline didn't reintroduce the fix for a long time.

    Given the complexity of the kernel as just one example of a large open-source project, I don't really buy the "all bugs are shallow" argument from days of past. That argument was making a presumption that people *wanted* to fix the bugs, and as we all know there are large groups of people who don't want the bugs fixed. That's not to say that there is a magical NSA backdoor in Linux (and no, there isn't a magical NSA backdoor in Windows either, get over it conspiracy fanboys). That is to say that simply not running Windows isn't enough to give you real security and yes, your Linux box can be attacked by a skilled and determined adversary.

    --
    AntiFA: An abbreviation for Anti First Amendment.
  4. Historically, NSA have done the opposite. by Anonymous Coward · · Score: 5, Insightful

    DES was developed in the early 1970's, and has been proven to be quite resistent to differential cryptanalysis, which didn't appear in the public literature until the late 1980's.

    During the development of DES, IBM sent DES's S-boxes to NSA, and when they came back, they had been modified. At the time there was suspicion that the modifications were a secret government back door, however when differential cryptanalysis was discovered in the 1980s, the researchers found that DES was surprisingly hard to attack. It turned out that the modifications to the S-boxes actually strengthened the cipher.

    1. Re:Historically, NSA have done the opposite. by time961 · · Score: 5, Interesting

      Biham and Shamir, Differential Cryptanalysis of the Data Encryption Standard, at CRYPTO '92. They showed that the S-boxes were about as strong as possible given other design constraints.

      Subsequently, Don Coppersmith, who had discovered differential cryptanalysis while working (as a summer intern) at IBM during the development of DES in the early 1970's, published a brief paper (1994, IBM J. of R&D) saying "Yep, we figured out this technique for breaking our DES candidates, and strengthened them against it. We told the NSA, and they said 'we already know, and we're glad you've made these improvements, but we'd prefer you not say anything about this'." And he didn't, for twenty years.

      Interestingly, when Matsui published his (even more effective) DES Linear Cryptanalysis in 1994, he observed that DES was just average in resistance, and opined that linear cryptanalysis had not been considered in the design of DES.

      I think it's fair to say that NSA encouraged DES to be better. But how much they knew at the time, and whether they could have done better still, will likely remain a mystery for many years. They certainly didn't make it worse by any metric available today.

  5. Re:Back doors are so 90s by kc9jud · · Score: 5, Funny

    Backdoors are passé.

    And so is proper Unicode support...

  6. Inefficient != Incompetent by sjbe · · Score: 4, Insightful

    I have yet to have seen a serious scientific analysis of this question, as discussions rarely get beyond general paranoia facing off against a general belief that government incompetence plus public scrutiny make backdoors unlikely.

    Government's are not nearly as incompetent as many pundits would have you believe. We have some very seriously talented people doing some pretty amazing things in our government. Government isn't always a model of efficiency but inefficient does not (always) equal incompetent. And in some cases inefficiency is actually a good thing. Sometimes you want the government to be slow and deliberative and to do it right instead of fast. Some of the most remarkable organizations and talented people I've met are in government. Sadly some of the worst I've met are in government as well but my point remains. Assuming government = incompetent is in clearly wrong in the face of copious evidence to the contrary.

  7. The Clipper chip by Vintermann · · Score: 5, Interesting

    You mention the Clipper chip and its key escrow system guaranteeing government access, but what you should remember is that the cryptosystem that chip used was

    1. Foolishly kept secret by the NSA, although it has long been understood that academic scrutiny is far more important than security through obscurity, and

    2. The symmetric cipher the chip used, Skipjack, was subject to a devastating attack on its first day of declassification (breaking half the rounds) and by now is completely broken. That remains rare for any seriously proposed cipher...

    Since presumably the NSA did not try to make a broken cryptosystem (why, to help other spies? They themselves had the keys anyway!) this illustrates that yes, incompetence is a concern even at super-funded, super-powerful agencies like the NSA.

    --
    xkcd is not in the sudoers file. This incident will be reported.
  8. Re:Linux Kernel has had bugs publicly reintroduced by F.Ultra · · Score: 5, Insightful

    if Microsoft giving NSA info on undisclosed vulnerabilities, they have in effect a magic backdoor in Windows.

  9. Bitcoin? by Fesh · · Score: 5, Funny

    Obviously I haven't read the literature enough to know how it works or why it's impossible... But it would be really funny if it turned out that Bitcoin mining was actually the NSA's attempt at crowdsourcing brute-force decryption...

    --
    --Fesh
    Kill -9 'em all, let root@localhost sort 'em out.
  10. Re:Real threat or open question? by eparis · · Score: 5, Informative

    I can attest to the lack of backdoors in SELinux. I am the SELinux maintainer. I'm the guy responsible for it.

    https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/tree/MAINTAINERS#n7166

    I work for Red Hat. Not for the NSA. SELinux code does not go from me through the NSA, it actually goes the other way around. The NSA asks me to put code in the Linux kernel and I pass it to Linus. I have reviewed each and every line at one point or another.

    The NSA may have some magic backdoor somewhere in the Linux kernel, but I'll stake my name that it isn't in the SELinux code.

  11. Fearmongering. by nimbius · · Score: 5, Insightful

    OpenBSD had the same press smear in . The result? there was no secret back door in SSL libraries or BSD.
    The NSA arguably doesnt need a linux backdoor. They own the links between you and the server. They already get preferential access to the #1 and #2 OS on every desktop and laptop, and when that doesnt cut it they've had a foot in the door of everything from Facebook to Amazon for quite a while now. the warrants and courts are secret, and the action comes with a free 'shut the fuck up' stamp to make sure you never hear a word about it.
    what the NSA cares about is mostly what the government cares about: detecting and correcting civil unrest. monitoring social networks, chat rooms and forums ensures things like Occupy never get too far out of hand. Sure, running occupywallstreetrightnow.com from your basement might be safe if you're encrypting root, running SELinux and wiping disks, but the NSA will still have enough metadata from your driving patterns and network traffic to fashion a very long noose for your execution.

    --
    Good people go to bed earlier.
  12. Yep by Sycraft-fu · · Score: 5, Insightful

    AES was developed in Belgium by Joan Daemen and Vincent Rijmen. It was originally called Rijndael and was one of the AES candidates. What happened is the NIST put out a call for a replacement for the aging DES algorithm. It was one of a number of contenders and was the one that one the vote. The only thing the NSA has had to do with it is that they weighed in on it, and all the other top contenders, before a standard was chosen and said they were all secure and that they've since certified it for use in encrypting top secret data.

    It was analyzed, before its standardization and since, by the world community. The NSA was part of that, no surprise, but everyone looked at it. It is the sole most attacked cypher in history, and remains secure.

    So to believe the NSA has a 'backdoor' in it, or more correctly that they can crack it would imply that:

    1) The NSA is so far advanced in cryptography that they were able to discover this prior to 2001 (when it got approved) and nobody else has.

    2) That the NSA was so confident that they are the only group to be able to work this out that they'd give it their blessing, knowing that it would be used in critical US infrastructure (like banking) and that they have a mission to protect said infrastructure.

    3) So arrogant that they'd clear it to be used for top secret data, meaning that US government data could potentially be protected with a weak algorithm.

    Ya, I'm just not seeing that. That assumes a level of extreme mathematical brilliance, that they are basically better than the rest of the world combined, and a complete disregard for one of their missions.

    It seems far more likely that, yes, AES is secure. Nobody, not even the NSA, has a magic way to crack it.

    1. Re:Yep by Noryungi · · Score: 5, Informative

      Let me add a few datapoints here, as a reminder...

      1) The AES competition was launched in part because DES and 3DES were cracked by EFF using FPGA-based brute-force decryption machine. Source :
      https://en.wikipedia.org/wiki/EFF_DES_cracker
      https://w2.eff.org/Privacy/Crypto/Crypto_misc/DESCracker/HTML/19980716_eff_des_faq.html

      As a reminder, DES was THE standard crypto algorithm, vetted and approved by NSA. It could be cracked by EFF only because of Moore's Law and some serious budget and effort.

      2) Public-key cryptography was invented separately at GCHQ (UK NSA) and NSA itself, several years *before* Diffie-Hellmann. Source:
      https://en.wikipedia.org/wiki/Public-key_cryptography#History

      So, yes, these people (NSA/GCHQ) are very good at what they do. They have had at least 10 years of head-start, since cryptography was considered for many years just a branch of mathematics in academic circles. These guys work on nothing but crypto and digital/analog communications, year in, year out. Do not underestimate them.

      3) One of the first electronic computers, was delivered to the NSA in the 1950s. NSA later suggested improvements to the company that built it. The first Cray supercomputers were delivered straight to NSA. Again, that was in the 1950s, when most computer companies (IBM comes to mind) were still struggling to define what a computer was good for. Source:

      http://www.nsa.gov/public_info/_files/cryptologic_quarterly/digitalcomputer_industry.pdf
      http://www.physics.csbsju.edu/370/mathematica/m1_eniac.pdf

      4) The NSA and GCHQ have a long history of backdoors. They love these things, as they make their life so much easier. Read on Venona, Enigma, Ivy Bells: all of these were made possible by intercepting/copying one-time pads, selling "unbreakable" German encryption machines and tapping undersea Russian cables. And I am willing to bet these are just a small fraction of what these people have done over the years. Source:

      https://en.wikipedia.org/wiki/Venona_project
      https://en.wikipedia.org/wiki/Enigma_machine
      https://en.wikipedia.org/wiki/Operation_Ivy_Bells

      Again, this is just a small fraction of what NSA and GCHQ have done over the years. So, yes, suspecting backdoors in open-source software is... shall we say... only natural.

      If I was paid to be a professional paranoid, I would be taking a very long hard look at my computers and telecom equipment right now.

      --
      The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
  13. Windows does have a backdoor. by FriendlyLurker · · Score: 5, Informative

    GP wrote: and no, there isn't a magical NSA backdoor in Windows either, get over it conspiracy fanboys

    You are forgetting something. A pretty BIG BACK DOOR into windows that has been known and confirmed for some time now.

    “...the result of having the secret key inside your Windows operating system “is that it is tremendously easier for the NSA to load unauthorized security services on all copies of Microsoft Windows, and once these security services are loaded, they can effectively compromise your entire operating system“. The NSA key is contained inside all versions of Windows from Windows 95 OSR2 onwards”

    1. Re:Windows does have a backdoor. by s.petry · · Score: 4, Interesting

      As a followup to my other response, if this magical backdoor into every Windows system on the planet is so great, then why was there a need for Stuxnet to ever come into existence?

      The NSA should have built-in access to every Iranian Windows computer without the need for highly complex malware package!

      You fail to understand the difference between a back door and spyware. A back door would allow the installation of such a piece of software, but would not be the spyware itself. This code worked around normal protection in Windows for security and privilege escalation, as well as avoided malicious software detection from AV software. In addition, there has been information leaked that told you that there are back doors in Windows for the US Government (and perhaps other Governments). The part that was not clear is whether NSA has people working at MS to ensure that they have and know about back doors, or MS employees facilitate their whims for creating these back doors.

      --

      -The wise argue that there are few absolutes, the fool argues that there are no probabilities.

  14. Depends by Sycraft-fu · · Score: 5, Interesting

    Check out the Underhanded C contest (http://underhanded.xcott.com/). There are great examples of code that look innocuous, but aren't. What's more, some of them look like legit mistakes that people might make programming.

    So that is always a possibility. Evil_Programmer_A who works for whatever Evil Group that wants to be able to hack things introduces a patch for some OSS item. However, there's a security hole coded in purposely. It is hard to see, and if discovered will just look like a fuckup. Eventually it'll probably get found and patched, but nobody suspects Evil_Programmer_A of any malfeasance, I mean shit security issues happen all the time. People make mistakes.

    In terms of how long to spot? Depends on how subtle it is. If you think all bugs get found real fast in OSS you've never kept up on security vulnerabilities. Sometimes, they find one that's been around for a LONG time. I remember back in 2000 when there was a BIND vulnerability that applied to basically every version of BIND ever. It has been lurking for years and nobody had caught it. Worse, it was a "day-0" kind of thing and people were exploiting it already. Caused a lot of grief for my roommate. By the time he heard about it (which was pretty quick, he subscribed to that kind of thing), their server at work had already been owned.

    Don't think that just because the code is open that it means that it gets heavily audited by experts. Also don't think that just because an expert looks at it they'll notice something. It turns out a lot of security issues are still found in the runtime, not by a code audit. Everyone looks at the code and says "Ya, looks good to me," and only when later running it and testing how it reacts do they discover an unintended interaction.

    I'm not trying to claim this is common, or even happening at all, but it is certainly possible. I think people put WAY too much faith in the "many eyes" thing of OSS. They think that if the code is open, well then people MUST see the bugs! All one has to do is follow a bug track site to see how false that is. Were it true, there'd be no bugs, ever, in release OSS code. Thing is, it is all written and audited by humans are humans are fallible. Mistakes happen, shit slips through.

  15. Who guards the guards? by westlake · · Score: 4, Insightful

    I can attest to the lack of backdoors in SELinux. I am the SELinux maintainer. I'm the guy responsible for it.

    Then the only question remaining is whether we should trust you.