id: Гость   вход   регистрация
текущее время 21:59 26/04/2024
Автор темы: Гость, тема открыта 28/06/2008 23:32 Печать
Категории: софт, исходные тексты, свободный софт, программные закладки, закрытый софт
https://www.pgpru.com/Форум/Офф-топик/БезопасностьOpenSource
создать
просмотр
ссылки

Безопасность open source


Очень часто здесь можно услышать призывы "Используйте только открытый софт". Считается, что в open source программах не может быть бэкдоров от разработчика. Но почему? Лично я, например, не знаю языка на достаточном уровне, чтобы проверить исходники того, чем пользуюсь. И даже будь я трижды специалистом, всё равно не смог бы провести полный аудит – сырцы необходимого софта занимают явно больше, чем несколько гигабайт.


Да, исходные коды могут быть проверены любым желающим. Но много ли этих желающих? На форуме, кажется, присутствуют лучшие люди этой вселенной. Кто-нибудь досконально проверяет исходники до компиляции?


Нет, разумеется, ситуация с закрытым софтом ещё хуже. Но в чём причина распространённого мнения "В open source программе 100% нет чёрных ходов"?


 
Комментарии
— Гость (29/06/2008 00:32)   <#>
Гигабайт исходников – это вы конечно хватили...:)
— Гость (29/06/2008 04:24)   <#>
Считается, что в open source программах не может быть бэкдоров от разработчика. Но почему?

Вы не верно поняли.

Дело в том, что в мире есть очень много людей. Из этих людей, многие не заинтересованы скрывать правду. Другая часть людей, которая ищет ошибки для их продажи на кримрынках, также косвенное делает благое дело: если несколько машин взломают 0day-сплоитом, то остальные уже узнают. Сила opensource в том, что всегда можно попытаться докопаться до правды. Если софт реально критичен, то его многие проверяют. Например, ntldr проверял исходники TrueCrypt. Когда обнаружили косяк в патчах к OpenSSL подняли всю историю и выяснили, кто, когда, почему, и при каких обстоятельствах закоммитил зловредный патч. Подобные расследования в области прориетарного ПО почти немыслимы. Из-за того, что встроить бэкдор и остаться самому незамеченным в области opensource существенно сложнее, то и произносятся все соответствующие слова. Если вас интересует формальный ответ на вопрос: есть информация о том, что можно серьёзный бэкдор в открытом коде завуалировать под невинную ошибку; можно внести бэкдор в сам компилятор, или даже в компилятор которым компилировали компилятор который вы используете (рекурсивность есть :)). В этом смысле доверять никому и ничему нельзя, но всё же opensource подаёт хотя бы какую-то надежду. Ещё можно закончить на той радостной ноте: почему я доверяю OpenSSH? Потому что знаю, что если у кого-то есть 0day сплоит к нему он может купить квартиру в мск. И не одну :) Почувствуйте масштаб :-D
— Гость (29/06/2008 04:35)   <#>
Но в чём причина распространённого мнения "В open source программе 100% нет чёрных ходов"?

Вероятность существования чёрных ходов в открытом ПО в силу вышеперечисленного на порядки меньше вероятности их существования в проприетарном ПО. Меня бы скорее удивило что бэкдоров в распространённом ПО нет :) Вот, к примеру:

Of interest are any and all techniques to enable user and/or root level a request for proposals notes, "to both fixed (PC) or mobile computing platforms ... any and all operating systems, patch levels, applications and hardware".

©

Правда, хардваре не отстаёт :)
— SATtva (29/06/2008 11:31)   профиль/связь   <#>
комментариев: 11558   документов: 1036   редакций: 4118
"В open source программе 100% нет чёрных ходов"

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

Компьютерным инженерам известно, как писать безопасный софт. Но это очень дорого (согласитесь, произвести любую сверхнадёжную вещь в этом мире — дорого). Дорого в плане времени, в плане привлечения дорогих квалифицированных программистов, дорого в плане тщательного проектирования. Как правило, заказчику не нужны все эти издержки, будь заказчиком коммерческая структура или сообщество "обычных" (как "обычный порошок") пользователей. Поэтому все продолжают писать небезопасный софт.

Но это лишь одна сторона медали — случайные баги (которые иногда влияют на безопасность). А встроить преднамеренный бэкдор можно с равным успехом и в полностью закрытый продукт, и в большой пакет с открытыми исходниками (чем меньше кода, тем это проблематичней).
— Гость (29/06/2008 13:29)   <#>
Вообще граница открытый/закрытый во многом условна. Открытость скорее свойство не одной только программы, а пары программа-исследователь, поскольку есть и обфускаторы, затрудняющие чтение исходников, и отладчики/декомпиляторы, помогающие разбираться в машинном коде.
А ещё у некоторых бывает такой стиль программирования, что без бутылки не разберёшься. :)
— Гость (29/06/2008 13:59)   <#>
Где то читал, что средняя производительность труда среднего программиста – 10 команд (строк) в день, не важно на каком языке, поэтому на высокоуровневых языках (протоколах) производительность труда выше. Я думаю что и при поиске ошибок дело обстоит аналогично. Поэтому говорить надо не об открытости, а об уровне открытого протокола.
— Гость (29/06/2008 17:15)   <#>
Получается надёжность можно измерять в человекочасах проверки на строчку (команду) программы? Я думаю, кроме количества строк важны ещё всякого рода перекрёстные связи между ними – а это как раз стиль программирования. Вероятно, тут как и с оплатой труда, построчно – не лучший вариант, хотя какие-то приближённые меры неплохо бы иметь.
— Гость (29/06/2008 17:23)   <#>
Вместо просто размера программы лучше брать размер её архива, а то нынче любят copy/paste. ;)
— Гость (29/08/2012 22:37)   <#>
Закрытое ПО пишут специалисты с высшим образованием. Такие фирмы продают своё ПО. Разработчики свободного же ПО, как правило школьники и студенты, напрямую денег за свой "труд" не получают, а новый смартфон, чтобы покрасоваться перед молоденькой учительницей, хочется. Поэтому такие вот разработчики и встраивают вирусы в свободное ПО.
— Гость (30/08/2012 18:25)   <#>
Поэтому даже свободное ПО надо качать с сайта разроботчика подписанное его электронной подписью.
— Aminux (30/08/2012 22:28)   <#>
Закрытое ПО пишут специалисты с высшим образованием.

Да ладно :D :D :D :D :D Мну вспоминает программы из ПФР/налоговой, софт на АктивХэ для ряда железок, серверную виндовс, в которой до сих пор нет поддержки вланов, и многочисленные самописные учетные системы. Если там и есть высшее образование – то разве что гуманитарное, и то с липовым дипломом.
И да, я посчитаю за большую честь познакомится со школьником, написавшим OpenSSH, OpenVPN, iptables и quagga :D :D :D :D :D
Ваша оценка документа [показать результаты]
-3-2-1 0+1+2+3