НовостиОбзорыСобытияIT@WorkРеклама
Open Source:

Блог

Открытый код - не гарантия от "backdoors"

Иллюзий на предмет того, что открытое ПО по определению не может содержать в себе так называемый "backdoors" (потайные ходы для перехвата данных или управления программой) становится все меньше. В одной из рассылок появилось сообщение о том, что некоторые разработчики openBSD получали от ФБР США деньги за то, что встроили в IPSEC-стек ту самую "закладку", которой там быть не может, поскольку все открыто и любой сразу ее увидит. Впрочем, пока неизвестно, удалась ли эта затея, поэтому можно говорить только о подозрениях. И попытаться умозрительно прикинуть вероятность такого события.
Краткий пересказ на русском языке уже опубликован на сайте OpenNet. Поэтому я не буду повторяться, а сразу же начну теоретизировать.
[spoiler]Очевидно, что открытой код потенциально защищен от подобных вещей. Но потенциально и реально - это не одно и то же..
Вкратце - чтобы потенциальная возможность стала реальностью всерьез и надолго нужны либо деньги, либо большие деньги, либо очень большие деньги. В нашем случае их количество пропорционально объему кода.
А как же сообщество? Как же энтузиасты? Как же все желающие бесплатным трудом внести свою лепту в общее дело?  
Пользуясь онлайновой защитой от летящих помидоров, отвечаю - никак. Дело в том, что главная мотивация сообщества свободных программистов носит ярко выраженный нематериальный характер. Иными словами - люди занимаются тем, что им нравится.
Помните про труд, который сам по себе есть величайшее благо? В определенных случаях это верно, но вряд ли найдется много делающих бесплатно разбирать чужие каракули. Со своими бы разобраться.
Обратите внимание на странную закономерность развития двух главных десктопных сред - KDE и GNOME. Как только программа доводится до уровня "функционирует вполне прилично и можно приступать к вылизыванию кода", так сразу начинается работа над новой версией с новыми возможностями. Заниматься доводкой сколько-нибудь объемного приложения энтузиасты почему-то не хотят. Им это неинтересно.
Так и с инспекцией кода. Никакое сообщество не будет этим заниматься в масштабах, достаточных для признания хоть каких-то гарантий. И уж тем более, не будут писать отчеты по утвержденным формам, на основании которых будут делаться стратегические выводы.
Это работа для дисциплинированных и скучных клерков, приходящих на службу к точно установленному сроку. Заведомо зная, что только одному из ста (а может из тысячи) повезет найти что-то интересное и, может быть, стать знаменитым.
Конечно, часть работы при определенных условиях можно переложить на других. Например, на студентов, если те будут тщательно изучать код свободных программ. Тут есть какая-то вероятность, что они найдут интересные в контексте этой темы фрагменты. Но перепроверять все равно кому-то придется.
Вы скажете, что в проприетарном ПО все то же самое и незачем делать акцент на свободном. И даже приведете примеры. Так я с этим не спорю.
Я даже сразу соглашусь с тем, что контроль открытого ПО реализовать значительно проще, чем проприетарного. Но проще - это не само собой и без всяких усилий.
Создание подконтрольной государству системы инспектирования кода - это серьезная задача, требующая больших денег и подготовленных кадров. Если это сделать, то национальный репозиторий будет иметь смысл. Если нет, то вместо безопасности получится иллюзия безопасности, что значительно реального осознанного риска.
Александр
А разве наша ФСТЭК, выдавая сертификаты на представленное для проверки на ПО, не решает задачу хотя бы частично?
Андрей
Проблема действительно поднята серьезная. Но вот, что меня удивляет - больно уж во время эта информация появилась. И появилась-то достаточно интересно - Х подумал что Y мог вставлять дыры в СПО, так как он во время работы над оным получал еще и, вроде как бы, денежки от спецслужб. Есть несколько  варианта:
1. Если это так, то в срочном порядке надо инспектировать код. Тем более, что известно к какому ПО данный Y приложил руку.
2. Может быть это деза. И руководители проекта openbsd просто таким образом хотят простимулировать процесс вылизывания уже написанного кода. Согласитесь - вполне вероятно.
3. Сознательный вброс для антирекламы. Если это так, то заказчик примерно ясен. Я не сторонник теории заговора, но уж больно все хорошо складывается.
Вот смотрите. Один из основных постулатов - безопасность СПО, так как код постоянно просматривают тысячи энтузиастов при написании патче. После вброса информации о сознательно сделаной дыре, неинформированный человек начинает от возбуждения брызгать слюной, тем более если подать эту информацию под соответствующими заголовками.  Если человек немного разбирается в ситуации, он начинает искать дополнительную информацию о данном инциденте. И в результате наталкивается на обсуждение в форумах, где большинство призанет - да ситуация реальна, проанализировать такое количество кода очень сложно, тем более без опыта такого анализа. А человек знающий состояние дел в СПО и имеющий опыт реальных программных проектов сразу скажет - реально.
Почему выбрали OpenBSD - потому что ее на протяжении многих лет считают самой безопасной и защищенной системой, потому что многие средства защиты берут свое начало из этого проекта. Если бы указали Linux, я думаю шума было бы меньше, потому что в последнее время часто пишут про большую кодовую базу ядря системы и про то что некоторые куски кода уже давно никто не проверяет. Уже стало привычно. А тут - OpenBSD!
Даже если это окажется жирной уткой, то в мозгах многих информация о дыре останется, так как ее разнесли как сенсацию. А вот опровержение будет только в специализированных источниках. Вот вам и антиреклама. И в следующий раз при выборе ПО многие вспомнят данную информацию. И выбор может пасть на конкурирующее ПО. Вы сами знаете кто производит данное ПО.  :D  
Сергей Голубев
Уж и опровержение подоспело - http://permalink.gmane.org/gmane.os.openbsd.tech/22577
Однако, сути дела это не меняет - это возможно и реально. На мой взгляд, польза от таких вбросов очевидна - они ясно показывают спекулятивный характер риторики сторонников ГосОС на основе сборок.
Не бывает чудес. Нельзя просто так взять чужое, перекомпилировать и получить свое. ALT Linux такой же "наш", как и Ubuntu, и RH. Нужна интеграция в процесс разработки "кирпичиков" системы. И нужна экосистема, в которой эти разработчики получат гарантированное финансирование от бизнеса.