Как стать автором
Обновить

Комментарии 40

Борьба с копирайтом, DRM и шпионскими закладками в софте это вообще скука страшная. Как об этом можно интереснее рассказать?
Да, конечно, это свежо, оригинально, и действительно способно заинтересовать большинство пользователей.
Вы, когда покупаете лампочку взамен сгоревшей, задумываетесь о том, сколько там патентов или свободных технологий? Наверное же нет. Так на кой ляд оно должно волновать пользователей других бытовых приборов, в частности, смартфонов, ПК или там игровых консолей? Есть три важные для пользователя характеристики — цена, качество, функциональность. Всё остальное, это лишь методы для их обеспечения.
Когда ваша лампочка начинает сама выключаться по команде извне, это уже повод задуматься. Вот только тогда уже поздно будет.
Боюсь, ни в одном из десятков миллионов дырявых домашних роутеров и прочих смарт-кофеварках и интернет-телевизорах вы не найдёте сколь-нибудь много проприетарного ПО. Равно как и в смартфонах, планшетах и т.д. Полагаю, и ваша интернет-лампочка будет на вполне себе опенсурсной и свободной платформе. Проприетарное ПО вы сейчас встречаете в основном на игровых приставках да на десктопах, практически весь остальной бытовой мир вполне себе линуксосодержащий. Но ей-богу, и близко не видно, чтобы это давало какие-то особые преимущества в плане безопасности. Наоборот, только даёт массу новых подтверждений тезису, что самое узкое место в безопасности — человек, а не ОС или какое-то другое ПО.
Т.е вы утверждаете что правки в конкретную прошивку никогда не вносятся? а если вносятся то как вы можете быть уверены что эти правки например не допускают buffer overflow? не можете, т.к конкретно код с правками вам недоступен, хоть все это и на свободном ПО построено. Только вот конкретно ваш бинарь с правками — черный ящик.
Т.е вы утверждаете что правки в конкретную прошивку никогда не вносятся?

Я прочитал свой предыдущий комментарий, и нигде не увидел слова «правка», «никогда» и «вносить», и вообще речи и даже намёков о внесении правок. Скажите, какая нелогическая цепочка рассуждений привела вас к этому выводу?
Речь шла о том, что в мире бытовых потребительских устройств опенсурс и так сплошь и рядом, а безопасности там как не было, так и нет.
Когда апдейт ПО вашей лампочки никогда не выйдет только от того что вы купили не флагманскую модель?
Где вы таки увидели статью? Я вижу кусок текста, свободно помещающийся на экран.
Вот и я. Откинулся на спинку кресла, приготовился долго читать, но все как-то слишком быстро закончилось, и ничего не сохранилось в голове. А заголовок был очень многообещающим
Статья написана в надежде почитать интересные комментарии к ней.
Верно. Есть, что обсудить.
в мире, где людям всё равно
Думаю, с некоторых пор (недавняя угроза хакерской атаки на правительство РФ от Байдена) некоторым не последним людям начнет быть сильно не всё равно. Как результат вполне возможна поддержка СПО на гос. уровне.
Ага, вы давайте там сделайте бесплатна а мы возьмем ваш труд…
Не обольщайтесь, всем реально все равно.
Грубо говоря, расклад примерно такой:
— 90% вообще не поймут о чем речь
— 9% поймут, но им пофиг
— 1% не пофиг с разной степенью фанатизма вовлеченности
Людям не все равно. Люди выбирают качество, которого очень часто не хватает свободному ПО
поддерживаю. При этом тут замкнутый круг:
1) низкое качество СПО из-за недостатка программистов и вливаний в разработку
2) недостаток программистов и вливаний из-за малого количества пользователей
3) малое количество пользователей из-за низкого качества СПО.

И как его разорвать — непонятно.

Как показывает практика "свободному" ПО зачастую всё равно нужна корпоративная поддержка.

НЛО прилетело и опубликовало эту надпись здесь
Все равно, в целом, свободные ПО уступают по распространенности и возможностям проприетарным…
Да, есть действительно хорошие продукты, и вы их описали. Но я не говорю что они плохие. Навскидку Gimp, Open Office, Eclipse — у всех есть аналог по качеству гораздо выше. Я не имею ввиду что свободное ПО — это плохо. Я имею ввиду что оно зачастую хуже платного. Бесплатные программы — это как бесплатный хлеб. Звучит классно, но очень сомнительно.
НЛО прилетело и опубликовало эту надпись здесь
Я бы сказал, большинству людей настолько все равно, что они пользуются программами по-умолчанию или тем, что наиболее агрессивно рекламируют.

Например, большинство использовали браузер Internet Explorer, и так было до тех пор, пока Microsoft не засудили и не заставили сделать меню выбора браузеров.

И что же произошло? Большинство пользователей начало использовать Google Chrome. Но вовсе не потому, что он качественнее или чем-то лучше конкурентов, а из-за навязчивой рекламы на всех сервисах Google и даже по телевизору.
В оригинале две гипер-ссылки:
3. The Free Software community, and the Free Software foundations [EU, US]
Стоит добавить их в перевод.
Добавлено.
ИМХО вики дает гораздо больше информации про Free Software Foundation и т.д., чем этот перевод.
Что программы это не какая-нибудь магия, можно понимать как они работают. Это относится к каждому: нет никакой выгоды в том, чтобы быть в неведении.
Ну вообще говоря это неправда. Даже для разработчика чтобы понять как работает программа нужно потратить какое-то количество времени, даже если исходники открыты. А сколько времени должен потратить не программист? Так что да, понимать можно. Нет, есть выгода не понимать — сохранение своего времени для более важных/интересных задач.
Вы правы. Но доступный исходный код — это самая сильная гарантия, что в исполняемом файле нет закладок, т.е. что не троян. Обычный пользователь не сможет разобраться в исходном коде, но он знает, что если код попадет под подозрение, кто-то сможет разобраться, и разработчик это знает и вряд ли будет сопровождать трояна исходным кодом.
Да палка о двух концах, на самом деле. Доступный исходный код — это ещё и вероятность того, что закладки может вставить любой желающий из комьюнити, и до того, как они будут обнаружены кем-то, могут пройти годы или даже десятилетия. Я думаю, не слишком ошибусь, если допущу, что в 80% доступного кода никто не заглядывает после его коммита.
М.б. не понял Вашей идеи, но ИМХО пусть выложен исполняемый код (exe1) и исходный код (src1). Компилирую src1. Это быстро. М.б. 3 случая: 1) полученный exe2 побайтно равен exe1; 2) полученный exe2 побайтно не равен exe1; 3) не компилируется. В случаях 2) и 3) сразу имеем обоснованные претензии. В случае 1 ищем в исходном коде вредные действия. Это чуть дольше, чем просто откомпилировать и сравнить, но сильно быстрее, чем исследовать исполняемый код. Повторюсь: ИМХО автору трояна нужно считать всех за полных идиотов, чтобы пойти на случай 1. Никаких десятилетий — несколько дней достаточно.
Да — забыл сказать: исследовав src1 смогу в случае обнаружения вредных действий не только поймать за руку автора трояна, но очистить код от этих действий и иметь нужную мне работающую программу (была бы не нужна — не заинтересовался бы этим кодом). + Если не ошибаюсь, лицензии open source позволяют выложить исправленный код, т.о. сделаю доброе дело для остальных пользователей, а кто-то так же м.б. сделает доброе дело для меня с другим кодом :)
Но вот смотрите: во-первых, зачем вы будете их побайтно сравнивать? Вы часто так делаете? Я, навскидку, не делал это ни раза в жизни. И не знаю вживую ни одного такого разработчика. Я допускаю. что есть настолько осторожные и/или любознательные люди, но их намного меньше, чем приложений.
Во-вторых, в любом случае, никто особо и не ждет. что они будут побайтно равны. Чтобы они были гарантированно побайтно равны, должна быть как минимум, одинаковая версия компилятора с точностью до билда. Если его собрали и выложили, скажем, полгода назад — у вас скорее всего будет уже другая версия компилятора. Это ещё при условии, что опции компиляции были одинаковые.
> Никаких десятилетий — несколько дней достаточно.
Набившая уже оскомину 0-day уязвимость в OpenSSL существовала много-много лет. Так что никаких гарантий. Может, сразу найдут, может, никогда. В зависимости от того, насколько интересный для других код.

> Я заглядываю. Кроме вредных действий, мне бывает интересно, как это сделано,
> можно ли улучшить, интегрировать, использовать какие-то фрагменты в своих разработках
Мы все иногда смотрим чужой код. Речь о том, что кода намного больше, чем нас. Интересные или часто изменяющиеся фрагменты привлекают к себе больше внимания. Но основная их масса — как раз те самые «серые» куски, куда внимательно не заглядывает никто.
Вы часто так делаете?
Да: comp в DOS-окне.
Это ещё при условии, что опции компиляции были одинаковые.
Файл проекта известных мне компиляторов задает опции. Но очень вероятно, что не «одинаковая версия компилятора с точностью до билда». Кто-то выложит исх. код с трояном в надежде, что у всех не та версия? — Очень сомневаюсь.
Набившая уже оскомину 0-day уязвимость в OpenSSL существовала много-много лет.
Тут, похоже, особый случай. Это баг или умысел?
Но основная их масса — как раз те самые «серые» куски, куда внимательно не заглядывает никто.
И там (в этих кусках) кто-то рискнет разместить троян, и никто не обнаружит?
Вполне возможно, что в программе дыры и баги, но кейлоггер, нпр., кажется слишком большой наглостью в исходном коде. М.б. я ошибаюсь и такие случаи известны?
> Это баг или умысел?
Это пример, который наглядно показывает, что даже код сверхпопулярной библиотеки, основное предназначение которой как раз само обеспечение безопасности, причём код, который действительно интересен, и привлекает внимание массы специалистов, тоже может хранить в себе дырки для эксплойтов. Не суть важно, преднамеренные или нет. И ещё этот пример наглядно показывает, что причин доверять коду, который менее популярен, чем OpenSSL, нет никаких.

> И там (в этих кусках) кто-то рискнет разместить троян, и никто не обнаружит?
Если вы имеете в виду большой самостоятельный кусок кода, который делает что-то нехорошее, то конечно, это дело рискованное. Тем более я не говорю про встроенный кейлоггер, который собирает информацию да ещё куда-то потом отправляет.
Но вставить где-нибудь в коде «сознательную ошибку», которая позволяет сделать эксплойт, например, повышаюший привилегии, вполне реально, согласитесь? И потом использовать этот самый эксплойт в своих целях.
И вероятность, что при ковырянии кода кто-то там заметит, что вот тут может быть переполнение какого-то буфера, она минимальна. А что заподозрит в этом злой умысел, вообще равна нулю. Разве не так?
Не суть важно, преднамеренные или нет
Исходя из общих соображений думаю, что придумать труднообнаружимый баг очень не просто. Слепой случай может выдать такой баг, который и сотня лучших мудрецов хакеров за сотню лет не выдумает.
Если вы имеете в виду большой самостоятельный кусок кода, который делает что-то нехорошее, то конечно, это дело рискованное. Тем более я не говорю про встроенный кейлоггер, который собирает информацию да ещё куда-то потом отправляет.
Ok — речь про небольшой кусок кода.
Но вставить где-нибудь в коде «сознательную ошибку», которая позволяет сделать эксплойт, например, повышаюший привилегии, вполне реально, согласитесь?
Согласен, что в общей теории звучит убедительно. Но при этом затрудняюсь представить конкретный пример такой ошибки, может потому, что никогда не пытался сделать сознательную ошибку для эксплойта. Можете привести такой пример? Ведь это, как сказали выше, всего «небольшой кусок кода».
> Можете привести такой пример?
> Ведь это, как сказали выше, всего «небольшой кусок кода».
Нет, естественно. Потому что за «небольшим куском кода» должна стоять еще большая работа по анализу и проектированию этого сценария, разве это не очевидно? Да вы и сами при желании в состоянии представить себе сценарий подобного взлома. Например, драйверы сетевого стека, они выполняются в режиме ядра. Значит, существует возможность где-то в обработке сетевых пакетов убрать/модифицировать проверку на превышение длины буфера в определённых случаях, и тогда появится возможность специальным пакетом поломать память ядра. При грамотном проектировании эксплойта это самое «поломать память» можно превратить в «модифицировать нужным образом». Да, операция достаточно тонкая. Но ведь и занимаются такими вещами далеко не самые бестолковые специалисты.
Ok. Спасибо. Убедился, что ничего сверх того, что описано в вики и приводимых там источниках. Там же много методов борьбы. Конечно, бороться с не самыми бестолковыми специалистами не просто, но ИМХО имея исходный код это делать гораздо проще, чем не имея его. Но прежде, чем бороться, часто есть выбор языка исходного кода — ведь как говорят «ничто не ново под луной», и, как правило, программный продукт не уникален, почти всегда можно найти продукты с похожим функционалом, написанные на разных языках. При прочих равных я предпочитаю менее гибкие, но более защищенные языки типа ОО Паскаля. Это ИМХО, которое ни в коей мере не навязываю, чтобы избежать традиционного холивара «какой язык лучше» :)
в 80% доступного кода никто не заглядывает
Я заглядываю. Кроме вредных действий, мне бывает интересно, как это сделано, можно ли улучшить, интегрировать, использовать какие-то фрагменты в своих разработках и т.д.
Если человек освобождается от иллюзий по-поводу несвободных платформ, которые он использует или осознает, что индустрия несвободного ПО не удовлетворяет его потребностям, для него всегда есть сообщество СПО. Сообщество создает свободные программы и поддерживает людей, которые хотят их изучать и использовать.
Когда я пересел на линукс (отчасти по идеологическим соображениям, отчасти из за действий майкрософта с его вин8 и вин 10), я столкнулся с сообществом линукс. Я люблю линукс, я люблю свободное ПО, но такого мерзкого сообщества я ещё в жизни не встречал. Надменные, высокомерные, самовлюблённые… Вместо того, чтобы помочь решить конкретную проблему, пытаются заставить тебя изучить линукс до самых основ и суют свою консоль во все дыры. И только попробуй сказать, что тебе бы просто решить проблему и желательно с нормальным интерфейсом — утонешь в слюне которой тебя заплюют.
А иной раз вовсе пытаются подкинуть какую-нибудь строку для консоли, чтобы затереть все данные на компе. И в результате имеем сообщество которое больше вредит, чем помогает. Никогда, ни на одном форуме по проблемам с виндой я не встречал такого отношения.
Вот теперь можете минусовать. Я всё сказал.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации