3 ms·
Then how do you explain the fact that some of the most secure pieces of software ever written were written in C? (I'm thinking of, e.g., Qmail — and pretty much
by rosser 11y ago
Then how do you explain the fact that some of the most secure pieces of software ever written were written in C? (I'm thinking of, e.g., Qmail — and pretty much everything else DJB has ever written — and OpenBSD, just to name a couple off the top of my head.)
I would also qualify your statement that "performance is not everything" to say that performance isn't always everything. Writing a kernel in an interpreted language probably isn't the best idea, for example.
- admax88q 11y agoBecause C has a lot of momentum, and interoperability, thus lots of security software was written. This software isn't secure because of C but despite of it, and has had a long list of security vulnerabilities that a safer language would have protected us from.
- mayank 11y ago> and has had a long list of security vulnerabilities that a safer language would have protected us from. Care to point to the "long list of security vulnerabilities" in qmail?
- oldmanjay 11y agoI'm very interested to know what point you believe you are making here. I ask because it is fairly clear you aren't addressing the topic of the thread and I wonder if you believe you are.
- gherkin0 11y ago> Then how do you explain the fact that some of the most secure pieces of software ever written were written in C? (I'm thinking of, e.g., Qmail — and pretty much everything else DJB has ever written — and OpenBSD, just to name a couple off the top of my head.) Unusual amounts of manual effort by unusually skilled people, probably using unusually security-focused development processes?
- nickpsecurity 11y agoExactly. Freak occurrences never disprove the rule. Most were simple, too, to the point that it's easier to get right. Large one's like OpenBSD had plenty of bugs during the development process. Many problems in small and large are prevented with a language that doesn't introduce them. Rest has to be caught with other methods. A good language can still help, though, if it's easier to analyze.
- flomo 11y agoOpenBSD is mostly famous for fixing tons of security issues in a large C codebase, if anything OpenBSD demonstrates the problem and how hard it is to fix it. And DJB wrote the OP, so he's obviously not pleased with the current situation.
- prodigal_erik 11y agoQmail is less bad than most (and much less bad than Sendmail), but it's worth noting the author dismissed a known remote attack involving array lengths overflowing 32 bits. He's aware 64 bit machines exist yet assumes nobody would ever give his server enough RAM to allow exploiting this, which I find surprisingly reckless given his reputation. Most of us know several languages in which this bug would have been impossible (using either bignums or bound-checked arrays), yet here we are. http://archives.neohapsis.com/archives/fulldisclosure/2005-05/0101.html http://archives.neohapsis.com/archives/fulldisclosure/2005-0... http://cr.yp.to/qmail/guarantee.html http://cr.yp.to/qmail/guarantee.html