В далёкие околостуденческие годы я был свидетелем замечательной беседы, где один из участников приводил в качестве плюсов открытых систем безопасность. Выглядело это примерно так:
— А вы тщательно изучили все 16 миллионов строк кода ядра. А остальное? Еще примерно 80 миллионов строк.
— Я тщательно изучил те 5000 строк, которые мне были выделены на инспектирование. Остальное изучали мои коллеги. Вообще, людей, которые инспектируют коды ядра, даже не тысячи — сотни тысяч.
— То есть, в линуксе их нет, а во всех остальных — запросто?
— В закрытых — да. В открытых — едва ли.
И на тот момент я легко в это верил. Ведь десятки, сотни тысяч смотрят на код. Ведь он открыт!
И это было очевидно, пока я сам не стал частью небольшой команды с культурой code-review. Тут то я и понял, что code-review — не панацея от ошибок. Это скорее стимул писать "прилично" и проверка на откровенную чушь. Ну и человеческий (не "удобный" или "понятный", а с бекендом "человек") проверяльщик стиля и цикломатической сложности.
Ещё чуть позже — что тесты тестируют только мани-мирок разработчика. Но сейчас не об этом.
Those commits are part of the following research: https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf
They introduce kernel bugs on purpose. Yesterday, I took a look on 4 accepted patches from Aditya and 3 of them added various severity security "holes".
Thanks
Цитата из LKML.
В сущности, исследователи из университета Миннесоты успешно провели исследование безопасности OSS модели разработки. Суть была в выяснении, на сколько сложно умышленно добавлять уязвимости в OpenSource проекты.
Они подготовили 4 патча и отправили их в ядро Linux. Патчи были приняты. 3 из них содержали уязвимости. Такие дела...
Тут вспоминается интервью Торвальдса 2013-го года, где его спросили, содержит ли ядро бекдоры FBI. На что Линус ответил "нет" кивая.