Slashdot Mirror


First Phase of TrueCrypt Audit Turns Up No Backdoors

msm1267 (2804139) writes "A initial audit of the popular open source encryption software TrueCrypt turned up fewer than a dozen vulnerabilities, none of which so far point toward a backdoor surreptitiously inserted into the codebase. A report on the first phase of the audit was released today (PDF) by iSEC Partners, which was contracted by the Open Crypto Audit Project (OCAP), a grassroots effort that not only conducted a successful fundraising effort to initiate the audit, but raised important questions about the integrity of the software.

The first phase of the audit focused on the TrueCrypt bootloader and Windows kernel driver; architecture and code reviews were performed, as well as penetration tests including fuzzing interfaces, said Kenneth White, senior security engineer at Social & Scientific Systems. The second phase of the audit will look at whether the various encryption cipher suites, random number generators and critical key algorithms have been implemented correctly."

13 of 171 comments (clear)

  1. Bootloader & Windows Driver by Anonymous Coward · · Score: 4, Insightful

    The first phase of the audit focused on the TrueCrypt bootloader and Windows kernel driver. Not really surprising that they didn't find any critical security issues in those parts. The high value bugs should be in the crypto parts and how they are implemented.

  2. Re:also by Shakrai · · Score: 5, Insightful

    Since Snowden's revelation about the NSA's clandestine $10 million contract with RSA,

    If you're on NSA's radar you've got bigger problems than TrueCrypt's trustworthiness or lack thereof. The NSA doesn't have to have a back door into AES (or the other algorithms) when they have an arsenal of zero day exploits, side channel attacks, social engineering, and TEMPEST techniques at their disposal. The average user should be far more concerned about these attack vectors (from any source, not just NSA) than the security of the underlying encryption algorithm.

    The Diceware FAQ sums up the problem rather succinctly: "Of course, if you are worried about an organization that can break a seven word passphrase in order to read your e-mail, there are a number of other issues you should be concerned with -- such as how well you pay the team of armed guards that are protecting your computer 24 hours a day."

    --
    I want peace on earth and goodwill toward man.
    We are the United States Government! We don't do that sort of thing.
  3. Re:Technically if an NSA backdoor existed by techno-vampire · · Score: 4, Interesting

    Tell me this: if the NSA did put a backdoor in the package and if this audit found it, how would the NSA know about it in time to prevent it being reported? Sending a security letter to the auditors would just be considered proof that there was a backdoor to be hidden. The auditors may have been forced not to reveal anything about it to the general public, but you can bet that the people over at TrueCrypt would have found out about it and eliminated it as soon as possible, although they'd probably have had to pretend that they found the flaw themselves to protect both themselves and the auditors.

    --
    Good, inexpensive web hosting
  4. Re:Technically if an NSA backdoor existed by vux984 · · Score: 5, Insightful

    Technically, if an NSA backdoor existed in the codebase, you would be prevented from reporting it by an NSA letter, subject to immeadiate imprisonment and confiscation.

    Two responses.

    First, I suspect if they were confronted with an NSL they could go the lavabit route and simply suspend the audit project with no explanation. IANAL but I don't think the NSA can compel them to falsify the audit results.

    Second, if they are smart, they can have it audited multi-nationally with independent auditors to make it harder for any government gag orders to stick.

  5. memset() is bad? by Anonymous Coward · · Score: 5, Interesting

    I've been coding in C a long time and one of the medium security faults makes no sense to me:
    "Windows kernel driver uses memset() to clear sensitive data"
    The reasoning they give is:
    "...However, in a handful of places, memset() is used to clear potentially sensitive data. Calls to memset() run the risk of being optimized out by the compiler."

    WTF?!?
    I suppose a smart compiler can optimize out a memset() if it's directly preceeded by a calloc() or something, but I have never had any compiler ever just ignore my request to memset().
    What am I missing here?

    1. Re:memset() is bad? by Anonymous Coward · · Score: 4, Informative
    2. Re:memset() is bad? by canajin56 · · Score: 5, Informative

      As a special case, MSVC++ removes memset(array,value,sizeof(array)) if array isn't read again before the end of its scope.

      For example

      void Foo()
      {
      char password[MAX_PASSWORD_LEN];
      InputPassword(password);
      ProcessPassword(password);
      memset(password, 0, sizeof(password));
      }

      The MS compiler will delete the memset. In Windows you should use RtlSecureZeroMemory to zero out memory you want to keep secure.

      --
      ASCII stupid question, get a stupid ANSI
    3. Re:memset() is bad? by philcolbourn · · Score: 4, Interesting

      Say you store a password in a memory buffer. Use it. Then overwrite it with a call to memset. If this buffer is never used again, a compiler may think this is a wasted write and optimise-out this call to memset.

  6. Re:also by rahvin112 · · Score: 4, Interesting

    Oh hell, they'll just sneak into your home in the middle of the night and plant a hardware bug or key logger into your computer.

    One of their favorite tactics used by law enforcement is to install cameras in your residence facing where you normally use your computer. They got a child pornographer like this, his use of true crypt didn't help because they had video of him entering the password and simply entered the password once they seized the computer.

    True Crypt cannot reasonably protect you from law enforcement nor state sponsored spying like the NSA. It might protect you from some non-tech police agency in some shit hole country being able to access it but then they just use the standard non-tech password extraction method.

    Obligatory XKCD. http://xkcd.com/538/

  7. Re:Technically if an NSA backdoor existed by Charliemopps · · Score: 4, Interesting

    The problem with the NSA is we have no idea what their capabilities are, technologically or legally. They are clearly violating the constitution already and there seems to be no one willing or capable of stopping them. So if they did come to you with a NSL, no matter how ridiculous or unconstitutional it was, what choice would you have? You could go to the media, but how embedded in the media are they? Do they have standing NSLs with all the media organizations out there? You could go outside the country, but those newspapers are government by their own countries version of the NSA who's working in close relationship with ours. This really is a Global totalitarian secret police state. They haven't started herding people into camps or anything, but really... what's to stop them?

  8. Re:Technically if an NSA backdoor existed by vux984 · · Score: 4, Insightful

    Do they have standing NSLs with all the media organizations out there?

    I think there'd be less Snowden leak coverage if there were. :)

    You could go outside the country, but those newspapers are government by their own countries version of the NSA who's working in close relationship with ours

    Like China & Russia? Governements want their own security as much as their own intelligence agencies want to break it... there's too many pieces moving in opposite directions for there to be a credible global coverup of a transparent audit of open source software.

  9. Port to GCC, then ensure no backdoors in GCC by tepples · · Score: 5, Interesting

    One way to detect a backdoored compiler to a fairly high certainty is diverse double-compiling, a method described by David A. Wheeler that bootstraps a compiler's source code through several other compilers. For example, GCC compiled with (GCC compiled with Visual Studio) should be bit for bit identical to GCC compiled with (GCC compiled with Clang) and to GCC compiled with (GCC compiled with Intel's compiler). But this works only if the compiler's source code is available. So to thwart allegations of a backdoor in Visual Studio, perhaps a better choice is to improve MinGW (GCC for Windows) or Clang for Windows to where it can compile a working copy of TrueCrypt.

  10. Re:A triumph for FOSS by jones_supa · · Score: 4, Insightful

    No. This is why thorough code audits are important.