[ISN] Interview: Theo de Raadt of OpenBSD

InfoSec News isn at c4i.org
Wed Mar 29 03:40:43 EST 2006


http://os.newsforge.com/os/06/03/20/2050223.shtml

By: Manolis Tzanidakis 
March 28, 2006

Theo de Raadt is the project leader for OpenBSD, a Unix-like operating 
system. We spoke with Theo about the upcoming release of OpenBSD, 3.9, 
the financial state of the project, and about companies that profit 
from free software without contributing back.


NewsForge: Hello Theo. Could you tell us a few things about yourself 
and your involvement in the OpenBSD project?

Theo de Raadt: I have been the project leader for OpenBSD now for more 
than 10 years, and along the way I have had some good adventures with 
the developers in the group. We've developed some side projects as 
well, which are heavily used by everyone in the Unix world, such as 
OpenSSH.


NF: How many developers contribute to OpenBSD at the moment?

TdR: Inside the project, the count has slowly grown. It was 40 in the 
early years, and now it is about 80. Of course, that is just counting 
internal developers. There are many more people on the outside who 
send us bug reports, fixes, or new code contributions. We also are 
able to take pieces of code from other sources if they are 
sufficiently free. But since internal developers have more 
responsibility -- they have really maintained the areas they are in -- 
the people on the outside really have an easier job, and should not 
envy the people on the inside. Instead, they should find a bug, write 
a fix, and send it in. When someone on the outside sends us many 
(good) bug fixes, we invite them to become a developer.


NF: You regularly organize events called hackathons. What exactly is a 
hackathon?

TdR: This is something we started many years ago. A bunch of us would 
fly to one location (typically before or after a conference) and we 
would sit down and code. These events really are about getting tasks 
done; there is very little chatter, as we already know basically what 
needs to be done. They are not meetings, no one presents talks, nor 
are they so-called summits. They are for taking action in the source 
tree, knowing that the guy you need to ask a question of really 
quickly is sitting at a table a meter away.


NF: OpenBSD is considered one of the most secure operating systems 
currently available. What approaches do you take towards security?

TdR: We've had 10 years of nearly fanatical devotion to anything which 
can make OpenBSD more secure. A very important part of that is that we 
have not been afraid to completely overhaul anything even if it breaks 
backward compatibility. Secondly, when we have found a flaw in any 
part of the system we have assumed that the same mistake was made 
elsewhere, and gone on a hunt to fix them all. Thirdly, we have 
developed and incorporated a collection of methods that make software 
flaws very difficult to attack.

The important detail is that in all three of these areas we have not 
only been fanatical, but pretty much first. Other vendors are not 
treating their source code the way we treat ours -- with distrust, 
knowing that we should always actively churn it, so that it can slowly 
evolve into a better state.

Someone on wikipedia has gone through a lot of effort to identify some 
of our security efforts, and there is the Exploit Mitigation 
Techniques paper which I have presented at a number of conferences.


NF: Why should someone use OpenBSD instead of another operating 
system, besides security?

TdR: I don't really take any position of advocacy. People should use 
what they want to, and I am not the right person to say anyone 
"should" do anything. But hey, if someone is adventurous, check it 
out.


NF: A new stable version, 3.9, is about to be released on May 1. A 
complete changelog between 3.8 and 3.9 is available; would you comment 
on some of the new features of this release? Start with G5-based Mac 
support on macppc architecture. How well does it work at the moment? 

TdR: It works on some of the models. For some of the machines we have 
a strange bug in the Serverworks SATA chipset that we have not been 
able to fix yet. There is no documentation for that chipset, of 
course.


NF:Hardware sensors support (ESM, IPMI, IIC) -- a useful feature, 
especially on servers. 

TdR: This has been a significant effort this release. These are three 
major subsystems that provide temperature, voltage, and fan sensor 
data. We have a unified system above that, that takes all this and 
makes it available to a daemon that can alert you when things go 
wrong.

Regarding specifically the "i2c" subsystem: in the Linux world there 
is the lm-sensors package, which requires all sorts of 
hand-configuration for each specific machine. In OpenBSD, we carefully 
probe for the devices, and it should just work, on every single PC, 
without any configuration. Thus, pretty much every OpenBSD 3.9 machine 
will have some sort of sensor now.

We have more work to do now that 3.9 is released, since the sensor 
daemon is a bit weak for reporting events. We want to make it 
fantastic.


NF: The new ftp-proxy -- why write a new FTP proxy daemon when the 
previous one worked fine? 

TdR: FTP is a nasty protocol to begin with, and trying to proxy it 
perfectly is a very difficult task. The new daemon just has a better 
design, and IPv6 works as well.


NF: NFE, the Nvidia nForce MCP Ethernet adapter. How did you manage to 
write this driver? Is it reverse-engineered? 

TdR: Nvidia did not give anyone documentation. Instead, they expect 
people to load a gigantic blob of binary code into their kernel, and 
just be happy with that. Some Linux people in Germany 
reverse-engineered the driver years ago, but the rough story I heard 
is that Nvidia asked them to stop, and they did. This just astounds 
me! In any case, Jonathan Gray (who started this effort) asked for 
their help with a few problematic technical details, and they refused. 
I could not believe that, so I asked as well -- and they refused 
again. These are Linux developers, basically placing the community in 
a situation where they have to run a binary blob of unknown code from 
a vendor, instead of sticking to their guns about open source? I must 
admit, I just don't understand some people. They must have much more 
flexibility to their belief systems than I have.

Damien Bergamini joined Jonathan toward the end and got all the bugs 
out of the driver. We are happy to say that it appears to be working 
better than the Nvidia binary blob. It is also significantly smaller, 
and it is very clean source code.


NF: In the past there was a movement in the OpenBSD community to press 
hardware vendors to release documentation about their products 
(Ethernet and wireless network adapters, RAID controllers, etc.) so 
that drivers could be written for OpenBSD or other open source 
projects. Some vendors did release documentation, but others didn't. 
Why do you think vendors do that? They don't want their products to be 
supported on OpenBSD?

TdR: There are always at least a few efforts in the project to get 
more documentation out of vendors. But some vendors are still 
incredibly resistant. We often run into vendors who have signed NDA 
agreements with Linux developers, who will then happily write a Linux 
driver filled with magic numbers, which only one developer in the 
world understands. Having signed the NDA ensured that Linux got a 
working driver, sure, but the internals are indistinguishable from 
magic. It cannot be fixed by anyone else, because it is full of 
secrets. It is a source code version of a blob.

There are many reasons why vendors will not give information out. I 
believe that all their reasons are a lie to the customer. I can get 
nearly complete data books for the parts that are in my car, and I 
should be able to get them for the parts in my computer.

Once in a while we hear from vendors out of the blue, and they offer 
us hardware and software without us having to ask. It is happening 
more -- mostly from Asian hardware manufacturers eager to have their 
hardware supported by all systems. On the other hand, American 
companies in particular are becoming increasingly insular, and 
sometimes we think twice before wasting our time trying to contact 
them. As a result, our support for a few high-end or very new American 
products is lagging, because there just isn't documentation available. 
That is a problem, but it should not be overstated, because 99% of the 
world is buying these Asian products. For instance, Asian 802.11 
vendors accounted for perhaps 1% of the market five years ago, but 
within a year or two the market is likely to be split between Intel 
(because of how they tie their wireless chipset into their laptop 
Centrino brand) and the Asian vendors, such as RAlink and Zydas.


NF: Now that OpenBSD's user base seems to have increased a bit, do you 
have more success convincing vendors to release documentation for 
hardware?

TdR: We are having more success getting documentation, but I am not 
sure if it is due in any way to our user base size. Part of it might 
be that many more products are coming from Asia (where business sense 
still applies -- the customer gets the documentation he wants). I 
think that the Asian businesses are just being smarter about this. 
When it comes to documentation requests, an Asian company that says no 
is rare. An American company that says yes is rare.


NF: I understand that OpenBSD is financed from CD sales and donations. 
Does this money pay for all the projects needs?

TdR: Our income varies year to year. Donations rise and fall, and so 
do the sales of our products. Meanwhile, our FTP servers just keep 
getting busier.

We have built up some savings to deal with a rainy day, but our basic 
operation is perhaps falling behind slowly, or at least slowing our 
growth. We want to hold more hackathons, since that is where many 
amazing developments come from. If we had more money, we would also 
want to pay the travel expenses of some of the poorer developers, 
since we have some smart developers who are students or live in poorer 
countries. But with the finances we have, it is difficult to justify 
these things now. I want us to do much more, but we are constrained.

Donations make the most difference, since our project does not get 
taxed on them. We have investigated becoming a non-profit 
organization, but the margins and savings really do not make sense for 
our project, especially since most of our donations do not come from 
the country where we operate. Also, there are numerous other 
constraints and rules. So for now we are sticking to clear cash 
donations, without tax receipts.


NF: Lots of hardware vendors use OpenSSH. Have you got anything back 
from them?

TdR: If I add up everything we have ever gotten in exchange for our 
efforts with OpenSSH, it might amount to $1,000. This all came from 
individuals. For our work on OpenSSH, companies using OpenSSH have 
never given us a cent. What about companies that incorporate OpenSSH 
directly into their products, saving themselves millions of dollars? 
Companies such as Cisco, Sun, SGI, HP, IBM, Siemens, a raft of 
medium-sized firewall companies -- we have not received a cent. Or 
from Linux vendors? Not a cent.

Of course we did not set out to create OpenSSH for the money -- we 
purposely made it completely free so that the "telnet infrastructure" 
of the 1980s would die. But it sure is sad that none of these 
companies return even a fraction of value in kind.

If you want to judge any entity particularly harshly, judge Sun. 
Yearly they hold interoperability events, for NFS and other protocols, 
and they include SSH implementation tests as well. Twice we asked them 
to cover the travel and accommodation costs for a developer to come to 
their event, and they refused. Considering that their SunSSH is 
directly based on our code, that is just flat out insulting. Shame on 
you Sun, shame, shame, shame.

I will say it here -- if an OpenSSH hole is found that applies to 
SunSSH, Sun will not be informed. Or maybe that has happened already.


-=-


Links 
 
1. "Theo de Raadt" - http://www.theos.com/deraadt/ 
2. "OpenBSD" - http://www.openbsd.org/ 
3. "3.9" - http://www.openbsd.org/39.html 
4. "Someone on wikipedia" - http://en.wikipedia.org/wiki/OpenBSD_security_features 
5. "Exploit Mitigation Techniques" - http://cvs.openbsd.org/papers/ven05-deraadt/index.html 
6. "available" - http://www.openbsd.org/plus39.html 





More information about the ISN mailing list