Почему Linux не защитит от слежки

В свете последних известий о размахе деятельности АНБ многие видят в Linux средство спасения от протрояненных систем и основу доверенных платформ. Однако скептики в очередной раз предостерегают от ложных надежд.

Открытость ещё ничего не значит сама по себе. Порой опытные программисты с трудом читают свои же листинги старых проектов. Эффективный анализ чужого кода и вовсе под силу единицам. Причём совсем не факт, что эти специалисты высокого уровня захотят тратить на это неблагодарное занятие своё время.

Внедрить программную закладку в Linux или BSD сегодня так же просто, как и в Windows. При существующем объёме открытого кода они будут оставаться незамеченными месяцами, если не годами. Истории с переходившими от версии к версии критическими уязвимостями — наглядное тому подтверждение.

К примеру, уязвимость нулевого дня, вызывающая несанкционированное повышение привилегий, существовала в ядрах Linux версий с 2.6.37 до 3.8.8. Иными словами,

серьёзную ошибку в ядре Linux не замечали около 2 с половиной лет.

«Зачем я буду проверять код, если до меня его уже досконально изучили тысячи более опытных волонтёров?» — примерно так думает большинство фанатов Linux.

В самом деле, кто из вас лично проверял исходники хотя бы десятка популярных программ? Драйверов? Сколько пользователей вообще загрузили их для ознакомления? Единицы, и уровень их далёк от экспертного.

Впрочем, и специалистам приходится нелегко. Например, в коде хост-контроллера Intel xHCI (hub.c) целых восемь лет существовала ошибка с указанием тайм-аута, приводящая к внезапному отключению многих USB-устройств после выхода из режима ожидания. Баг не просто не замечали так долго. Его прицельно искали программисты Intel и многие члены Linux-сообщества, но не смогли найти.

Серьёзный анализ кода Linux часто становится невозможным или неоправданным из-за темпов разработки и разветвлённости направлений оптимизации. Пока вы будете изучать один релиз, напишут два новых.