3 ms·
There's a factor with OpenBSD that isn't mentioned here at all: it has very few developers. A single developer can hold much or all of the state and important
by api 7y ago
There's a factor with OpenBSD that isn't mentioned here at all: it has very few developers.
A single developer can hold much or all of the state and important security considerations in their head. A small team can communicate well and can hold to a single style, and members of a small team can ask each other things easily. Single developers or small teams can write secure code in unsafe languages.
The problem is that this doesn't scale. Add a large number of developers and it becomes increasingly difficult to police security in an unsafe language. Safe languages, unit tests, and fuzzing help a lot more here by making large classes of errors difficult or impossible to manifest or catching them automatically.
Linux is a bit special here: it has a lot of developers but a small number who are responsible for approving things, and it's so massively important and popular that it has a lot of eyeballs on it and gets a lot of automated testing. Security issues still creep in though.
- pjmlp 7y agoCreep it enough, that Google created the Kernel Self Protection Project. https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Project https://kernsec.org/wiki/index.php/Kernel_Self_Protection_Pr... One of their first activities was to clean the kernel from all usage of C's VLA.
- chasil 7y agoYou might claim that the security design of OpenBSD does not scale, and the observations of the parent article do cast some reasonable doubt on code security. However, a number of projects from OpenBSD have been widely adopted and are successful in their own right, for example: C:\>ssh -V OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4 The two projects above, OpenSSH and LibreSSL, have been even more strongly adopted by Apple, as I understand it. OpenSSH is adopted by just about everybody. Google Android's "bionic" C library is also based on OpenBSD, and I would imagine that the coding concerns for libc will trickle down. OpenBSD is not the sum of its parts, as so much of it is used in other environments.
- loeg 7y agoBionic took pieces from OpenBSD, as well as other places[1]. [1]: https://en.wikipedia.org/wiki/Bionic_(software)#Components https://en.wikipedia.org/wiki/Bionic_(software)#Components