De Raadt Doubts Alleged Backdoors Made It Into OpenBSD
itwbennett writes "In follow-up to last week's controversy over allegations that the FBI installed a number of back doors into the encryption software used by the OpenBSD operating system, OpenBSD lead developer Theo de Raadt said on a discussion list Tuesday, that he believes that a government contracting firm that contributed code to his project 'was probably contracted to write backdoors,' which would grant secret access to encrypted communications. But that he doesn't think that any of this software made it into the OpenBSD code base."
I hope that he's right, but without a thorough audit, who can say?
...can be made over something so obvious. OpenBSD's code has been screened again and again. If something was amiss somebody would have noticed it. Even now that such allegations have been made, anybody could go over the code and check for such backdoors. Yet nothing has been reported yet. What the f..k. I'll continue putting my trust on OpenBSD for security in data communication.
First, most "open source" code is written by employees working for a corporation.
Second, nobody reviews it outside a very small number of people. It's easy to miss things like well-hidden back doors. And that's not even getting into the politics of open source review and the insular cliques of developers - just try and get anyone to listen to you when you start saying you found a back door.
Third, it's cryptographic code. There are probably an uncountable number of "back doors" that could be incorporated into the code that would get by almost all very experienced and very good cryptographic programmers. Just write the code in such a way that you remove a little bit of randomness. Hell, maybe you can write what looks like perfect code but rely on a quirky compiler optimization to do your work for you. It won't matter how many times you screen the source code for something like that. And how many good, experienced cryptographic coders spend their spare time reviewing BSD code in detail anyway?
Since the useless summary did not include one
http://marc.info/?l=openbsd-tech&m=129296046123471&w=2
Don't know why everyone's so concerned? If the FBI put backdoors into BSD or any other operating system, then it's for a good purpose - to protect us. "Sure there are some problem but they are doing the best they can, and we should not criticize them." - B5 chick
FREE magazine : http://clarkesworldmagazine.com/prior/
The backdoor in question might simply be a guaranteed or determinable byte-sequence in a stream, which could aid in the decoding of said stream. It need not be a simple --with-backdoor option passed on the command line... ;)
Any fool can talk, but it takes a wise man to listen.
One of the problems is the lack of people with enough knowledge and time to review, for free, something as cryptographic code.
English is not my first language. Corrections and suggestions are welcome.
Bugs are often not obvious. As someone else pointed out above, the code may even look perfectly fine but can still exploit compiler quirks. Also, look at at http://www.ioccc.org/
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
If the FBI did this without a court order, wouldn't they have been in breech of laws regarding attempted wiretapping and/or unauthorized computer access?
If so, have we just accepted that the FBI, CIA, and NSA break laws with impunity, and that there's nothing we can do about it?
Check out the Underhanded C Contest. Sure, a patch containing, "if(packet_csum=SEKRUT_FBI_BACKD00R_P4KT) { /* d0 3v1Lz */ }" would get noticed pretty quickly. But good security is really subtle; it's probably difficult, but not impossible, to make proper-looking code that actually screws up in just the right places. The main problem is that anything that subtle is as likely to get broken accidentally as well.
TCP: Why the Internet is full of SYN.
Please pardon my likely sheer ignorance (or even misunderstanding) on this topic, but how is it possible for someone to code a backdoor into encryption software in an open source project..? I mean, wouldn't someone notice..?
Like how everyone saw the UnrealIRCD trojan as soon as it was inserted in the source? Oh wait...
A link to Theo's post on the subject is much more informative.
Highlights:
Also:
TCP: Why the Internet is full of SYN.
"I doubt it, therefore it's not true": Security through incredulity!
The difference between stupidity and genius is that genius has its limits.
Step 1. Contribute lots of shoddy obfuscated code that no-one will follow without a lot of effort. Comment code minimally with suggestions that what it's doing is so obvious to anyone who knows anything, it's hardly worth mentioning
Step 2. Conceal deep in your shoddy obfuscated code your backdoor. Do not call it Back_door_func.
Step 3. As long as your code works no-one will touch it or try to pick it apart. Hope no other coder is brave enough to suggests your code is beyond all understanding.
Except that with a project as high profile as OpenBSD, code that shoddy would never be accepted.
I hope.
Right? Anyone?
- ------- There are ten kinds of people in the world. Those who understand binary, and those who... Huh?
I think you must really have no spine if you except money from the FBI to backdoor crypto software.
"I needed the money to pay for my prosthetic spine!"
The difference between stupidity and genius is that genius has its limits.
If they can get a backdoor built into the compiler used to build the binaries for the general releases, the backdoor doesn't have to be anywhere in the source.
So, yeah, an audit isn't foolproof.
But I think it would only be against the law for law enforcement to use such backdoors. I don't know that any existing law prohibits law enforcement agencies from the creation of such backdoors for possible future use.
Hah, that's just like the government contractor -- write a backdoor into a system that doesn't actually work. Since the so called announcement, and the source being available. If this back door were true, wouldn't there be a patch issued for it?
Personally, I think that the leak got it wrong, it's not about making OpenBSD insecure, it was to openly create the BSoD in another well known operating system.
Read this for an idea, someone hacked in some well crafted code that appeared innocent, had the machine not been hacked it probably would have stayed
That code is neither innocent nor well-crafted. Setting uid to zero is not 'innocent' and using '&& (x = 0)' is not well-crafted since it will always evaluate to false. I don't know whether the compiler will generate a warning in that case, but it should, and while a brief look through the code might miss that it's using = instead of ==, any kind of code review worthy of the name would spot it and flame the developer who wrote it.
The original email sort of gave hints to this, referencing side channel/key leaking vulnerabilities. Side channel attacks can be VERY esoteric and difficult to identify - Look at Adi Shamir's work with abusing the Pentium 4's HyperThreading implementation.
However, I believe within the first days of the audit, some of the code contributions from Netsec appeared to, if anything, be an attempt at eliminating a potential timing-based side channel attack.
Honestly, I still can't figure out why Theo even believes that this company might have been contracted. It would be basically impossible for the FBI to contract out an organization to backdoor the FBI's parent organization's communications system as claimed - you'd have to have some VERY creative accounting to be able to hide that from the parent organization, and if there were even the slightest bit of truth to Perry's claims, you can bet there's a massive political shitstorm going on within the DOJ over this.
retrorocket.o not found, launch anyway?
The backdoor in question might simply be a guaranteed or determinable byte-sequence in a stream, which could aid in the decoding of said stream. It need not be a simple --with-backdoor option passed on the command line... ;)
Except the output of the IPSEC stack has to interoperate with other IPSEC stacks. IPSEC basically takes TCP/IP data, encrypts it and sticks on some headers.... if it doesn't do that the correct way then it's not going to be able to talk to machines using a different stack. Even if it only corrupts a small number of packets, someone's eventually likely to notice that some are getting dropped.
Certainly it could generate poor random keys, or somehow leak private key bits into the key or random padding so that the other end of the connection could extract them. But creating a hole that would allow a third party to easily tap into IPSEC while remaining interoperable and not being obvious wouldn't be easy... of course that means that if it existed it wouldn't be easy to find either.
Backdoors, who needs backdoors?
Forgetting to close an attack vulnerability on all but the software encryption implementation is a much more dramatic and questionable error. Anyone that has taken the trouble to add hardware acceleration to their encryption stands a good chance to have something to protect from undesired access.
But, by doing so they have exposed themselves to the vulnerability itself. Brilliant!
Mi domando chi à il mandante di tutte le cazzate che faccio - Altan
Not to mention the fact that most of the bugs are hidden in idioms that OpenBSD's style(7) explicitly prohibit. These would be refactored before being committed, and the hidden bugs would probably be fixed without anyone noticing that they were there...
I am TheRaven on Soylent News
Until then, refrain from using any other programs and operating systems because the best anyone can say is that they think their code is secure.
FUD is already getting spread around about OpenBSD, see the following article from Linux Journal, "Allegations of OpenBSD back doors may be true" This came as a comment from within the article. The journalist rambles on about far reaching impacts and doomsday scenario for the project. Okay, reality check. If backdoors are found, (a) Theo and company immediately release patches closing the back doors and (b) the FBI would get another black eye for being caught in a major public lie. Far reaching, my ass. In the end, the only changes made will be to close off core commit privileges to all US-based, OpenBSD contributers. Only certain trusted individuals will have core commit privileges. Say what you want about Theo, the man sticks to his principles like cement. Even if back doors are found, I'll still continue to trust OpenBSD as the most secure OS in the world. Why? For every security hole in OpenBSD found, I'll bet that there are several hundred in other operating systems. A 1/~250 ratio is not bad at all!
You'll "wait"? You're going to stop using IPSEC until it's all been re-audited?
was there someone behind him showing today's newspaper headlines when he made the statement? We just want to make sure...
WARNING: Smartphones have side effects--most of them undocumented.
You mean the one that wasn't actually inserted into the source, but rather the binary was replaced on their server? The one that could never have happened on a system that uses signed packages (as I believe Debian does by default now)?
I am trolling
Every commit needs to be signed off by at least several more people as far as I know and a lot of commits to key parts need to be signed off by Mr Ego himself till this day.
Obfuscated? Shoddy? Forget that.
The same is the story with all BSDs. They can be used as a textbook on how to write code and in a lot of places you do not even need the (otherwise excellent) documentation to determine what is going on. It is just readable (TM).
Baker's Law: Misery no longer loves company. Nowadays it insists on it
http://www.sigsegv.cx/
Paranoid mickey's take on it .. Interesting read.
http://mickey.lucifier.net/b4ckd00r.html
Has anyone else considered the timing of this?
Just as Wikileaks has made it fashionable to expose government wrongdoings and showed how feasible it is to get and handle information that government agencies are interested in, comes the allegation that the most secure system in the world isn't secure.
The vulnerability would specifically be one that the U.S. agencies can exploit. In other words, the agencies that serve the government that is most embarrassed by recent leaks seem to have more teeth now. At the same time the system most likely used by leakers seems to be less secure. As an intentional move by U.S. government this would serve the purpose of making the established projects lose some of their confidence and spend time fretting over this, and to cause possible startups to consider their intended path too risky.
As Theo said, the claims may have some merit into them. FUD works best if it's partly true. In this case the timing is such a coincidence it makes the claims even more suspicious.
What is the process for vetting developers who contribute to an open source project?
I know what the answer may be that in most cases there isn't any. Contributors are judged alone by their code no doubt, but nobody bothers to find out what ties the individual has.
Open-source is great at peer-review, resulting code quality has to be good due to sheer brute force of eyes looking it over. But you have to wonder, since it's perfectly possible to hide malicious code in plain sight, code that actually does what it seems to, but can do something nasty - and if found out just appears to be a common programming mistake; have backdoors been slipped into open source projects? Is it sensible to place trust in any code just because it's open-source without running the gauntlet of scrutiny?
Frankly if this turned out to be true, or some story pops up how some spy or agent slipped a backdoor into some open-source project somewhere I really would not be suprised. Security in transparency, security in obscurity, both are assumptions.
After logging in slashdot still does not take you back to the page you were on. It's been that way for 20 years.
Its not like hes going to admit there could be a gaping hole in the code. But would be a lot more comforting to people that rely on it if they did a code audit like yesterday, so he doesn't have to use the word 'doubt'..
---- Booth was a patriot ----
"Reflections on trusting trust", by Ken Thompson:
http://cm.bell-labs.com/who/ken/trust.html
Paul B.