Об ИТ из Канады

Блог Михаила Флёнова - программист, блогер, автор нескольких скандальных книг какими-то глазами...

Безопасность закрытого кода

2009-02-27 00:00:00 / QualitySource

Популярная хакерша Joanna Rutkowska на своем блоге Invisible Things затронула очень интересную тему в заметке Closed Source Conspiracy – безопасность закрытого кода. Все знаюn, что Джоана очень часто наезжает на Microsoft и в свое время получила большую популярность благодаря тому, что она нашла серьезную уязвимость в Windows Vista. Правда это была еще бета, но это никак не уменьшает ее заслуги, хотя и нельзя занижать умственные возможности работников Microsoft, которые разрабатывали новую архитектуру защиты. На то она и была бета версией.

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

Существует множество методов проверить закрытый код не только на качество, но и на наличие потайных дверей. Среди этих методов серевые экраны, отладка и сниферы. Именно об этом описано в заметки Джоаны и она очень хорошо защищает проприетарный софт, и этой заметкой очень сильно поднялась в моих глазах. Она может как наезжать, так и защищать, а значит, что она человек-очень-разумный. Хакеров очень много и каждый из них хочет получить популярность, а если кто-то из них найдет потайную дверь, то такой хакер станет очень популярным. Так что в мире постоянно шуршит куча отладчиков, которые постоянно шуршат по закрытому коду.

Но ведь есть еще и совесть и престиж производителя. Таким компаниям как Microsoft, Adobe, Corel и другим просто нет резона рисковать своей репутацией и имиджем ради какого-то черного хода на ваш компьютер. Стоит только сделать этот ход, хакеры тут же найдут его, и престижу компании конец. Ее можно будет считать банкротом.

Мне так же понравился один из комментариев к заметке, где говорится о том, что автор не может быть уверен, что в софте с открытым кодом нет потайных ходов. Да, ведь большинство пользователей не перекомпилирует исходные коды. Мы используем то, что собрал для нас производитель дистрибутива. А ты уверен, что собранный код соответствует исходникам, которые вы видите? Я нет!!!

Существует куча методов создать потайную дверь даже в открытом коде. Ты будешь смотреть на код, и ничего не увидишь. А ты уверен, что все эти ошибки, которые латаются ежедневно в открытом и закрытом коде – это не потайные двери? Производитель может специально оставить эксплуатируемое переполнение буфера как в открытом коде, так и в закрытом коде и фиг ты что докажешь. Так что любой производитель может оставить бэк дор и ты ничего не докажешь и ничего не увидишь.

Но я верю производителям закрытого кода и открытого кода тоже, потому что я не параноик и потому что престиж превыше всего и ни производители открытого кода или закрытого софта не будут внедрять потайные двери в свои продукты. Это надо быть параноиком, чтобы думать, что мы кому-то нужны и какой-то корпорации нужны потайные двери во всех компьютерах. Да мы нафиг никому не нужны. А если и понадобимся, то никакие исходные коды не спасут :).

Кстати, на эту же тему я написал заметку Proprietary software do not have backdoors на английском на свем блоге Security and WEB development.


Комментарии

ZeroXor

Согласен! Действительно и латаемые баги можно считать бэкдорами (случайными, конечно), и то, что код, собранный в пакете, отличается от изначального исходника (иногда это даже невооруженным глазом видно, разработчики Debian и Ubuntu честно признаются в этом, по крайней мере). Но если даже и найдется действительно специально оставленная дверь (большая и широкая) в Windows, то на репутации MS это крест не поставит. А разница открытого и закрытого кода в том, что если не доверяешь сборщику из открытого кода, то легко и просто можешь пересобрать эту программу самостоятельно (естественно, если умеешь), а в случае с закрытым кодом нужно искать другой продукт - и никак иначе.

А Жанночке всегда большой респект и уважение!

2009-02-27 00:00:00

Евгений

Вот только вчера прочитал в ЖЖ на эту тему.
Прошу прощения, если тут нельзя давать ссылки, но очень уж к месту, на мой взгляд:
http://manve-rnd.livejournal.com/1219932.html

2009-02-27 00:00:00

Dzon

Меня поражают люди которые занимаются на компьютере только тем что лазят по инету и играют в игрушки и боятся что за ними следит производитель ПО. Вы наверное посмеетесь но у меня был такой случай прихожу домой к клиенту установить видос и все комплекте на компьютер его сынишке. Ставлю все получаю деньги и уже собираюсь уходит и тут мне напорном серьезе говорят, как им теперь  жить вед за ними через компьютер будут постоянно  следить  ЦРУ напару  сФСБ. Я чуть не упал от такого заявления.

2009-02-27 00:00:00

Михаил Фленов

Microsoft действительно может оставить бэкдор и на пристиже это не скажется, потому что как всегда отмажутся :). Те, кто лояльно относится к компании будут так же относится и в будущем. А те, кто ненавидит сейчас, будут ненавидеть и в будущем. Но вот по судам компанию за это затягают и Евросоюз точно высосет столько денег, что мало не покажется.

2009-02-27 00:00:00

Сергей

А я бы на месте Майкрософт не упустил возможности оставить "дверцу" (под видом ошибки) в своей системе. Уж больно большой соблазн. Сколько российских банков Виндой пользуются, российские военные наверно тоже не гнушаются. Интересно ведь туда с чёрного хода заглядывать :)

А если почаще выпускать новые версии своей ОС, то таких "ощибок" можно замаскировывать побольше

Ведь была же история с интеловским процессором Pentium III, в котором якобы с благими намерениями была оставлена возможность, по которой могли идентифицировать пользователя. Проц сняли с производства после шумихи, но на репутации Интел это мало сказалось

2009-02-27 00:00:00

Михаил Фленов

2Сергей

В процессор никакой баги насильно не совали. Туда хотели всунуть уникальный идентификатор, по которому любой комп можно было определить по прошитому номеру, а это нарушение прав человека, поэтому была шумиха. Intel сделала номер отключаемым, а при этом от него смысла ноль, поэтому про него и забыли. Номер создавался для того, чтобы можно было создавать действительно уникальные числа и использовать его в шифровании, но народ не понял и я кстати тоже. Но это не дыра.

2009-02-27 00:00:00

Сергей

Но это не дыра.


И я понимаю, что это не дыра.
И вместо этого номера можно было например использовать серийный номер винта.
Номер в проце появился - ицидент имел место.
Поэтому даверять закрытым ОС нельзя
Тем более если это военная сфера например

2009-02-27 00:00:00

olegmaster

Сергей, российкие военные используют МСВС (жутко переработанный линукс), хотя на десктопах в штабах, там где нет никаких военных секретов уровня государственной тайны - винда. военные в отличие от пользователей менее доверчивы. в сбербанке до сих пор юзается SCO Unix OpenServer и СУБД Unify наряду с продуктами от M$ и Novell. главный финансовый сервер в России на солярке. Что там у ФСБ'шников на глубине несколько сот метров под Москвой - хз.

2009-02-27 00:00:00

Михаил Фленов

В том, что военные не используют Windows - доверие не причем, а с сбербанк тем более не из-за доверия выбирает сервер. В налоговой ростова везде Windows ну и что. Это всего лишь выбор кого-то.

2009-02-28 00:00:00

Eretic

olegmaster,а ты откуда это всё знаешь?:)

2009-02-28 00:00:00

Сергей

В том, что военные не используют Windows - доверие не причем

Конечно, военные не используют Windows, не только в целях безопасности но и из-за её непригодности для их конкретных задач.
И всё таки по моему, если бы военные использовали Windows - это было бы верхом халатного отношения к делу в первую очередь из-за низкой безопасности и надёжности.

Тема о безопасности закрытого кода. Верить производителям закрытого кода можно - это личное дело каждого. Но на уровне государственных вопросов этого делать не нужно.


Был бы, например, закрытым от обсуждений и тестирования тот алгоритм шифрования, который использует PGP, то эта программа (и алгоритм) никогда бы не получила той популярности которая у неё сейчас. Как доверять свои данные шифровальщику принцип работы которого не известен и никогда не обсуждался и не тестировался на уровне исходников? В таких вопросах открытость кода необходима.  

ps
Ещё хочу дополнить немного не по теме. Может быть это на уровне фантастики... Операционных систем должно быть много больше чем сейчас. Должна быть здоровая конкуренция. И пользователи должны от этого выиграть. Почему например не принять что то вроде международного стандарта которому должны соответствовать программы, чтобы можно было запускать любые программы на любых системах. Да впрочем такой стандарт уже имеется - это .NET от Микрософт. Любой программер может написать собственную ОС со своей API и с возможностью развернуть на этой системе net как оболочку для Windows (NET) программ. И всем будет хорошо: и систему можно выбрать по вкусу и все написанные ранее программы не будут потеряны... Хорошо же?
Вообще хотелось бы иметь возможность запускать некоторые программы как бы в оболочке, чтобы не давать им прямого дуступа ко всей системе. Удобно было бы проверять потенциально заражённые вирусом файлы без боязни инфицировать систему.

2009-02-28 00:00:00

Сергей

-> olegmaster Военные не знаю а вот в банках своими глазами вижу, что установлена Windows. И также в банкоматах, когда мастер налаживает аппарат, то на экране можно увидеть знакомый логотип

2009-02-28 00:00:00

Михаил Фленов

2Сергей

Государство и военные имеют права получить доступ к исходникам Windows, поэтому еще раз говорю, что доверие не причем. ОС даже имеет все необходимые сертификаты для работы в важных секторах и тут проблем нету.

2009-02-28 00:00:00

pat

>> Государство и военные имеют права получить доступ к исходникам Windows

Это про Российское гос-во и военных? Это точно?

Насколько мне известно, чтобы ОС Windows работала с данными, некоторого уровня секретности, она должна быть сертифицирована ФСТЭК. Причем конкретный пакет. И самое главное - нужна бумажка, т.е. сертификат.

ИМХО, закрытый код, открытый код никак не влияет на безопасность. На безопасность влияет качество и ПО и уменее разработчиков. А открытость и закрытость, влияет на возможность обнаружения ошибок.

Windows очень распространена в гос. структурах как в прочем и в мире :) и доверие тут действительно не причем

2009-02-28 00:00:00

Михаил Фленов

И сертификаты есть, и исходники могут быть доступны:

1. Корпорация Microsoft объявила в рамках расширения своей программы Shared Source Initiative ("Инициатива совместно используемого исходного кода") о начале реализации новой инициативы по открытию доступа к исходному коду операционных систем семейства Windows. Программа государственной безопасности (Government Security Program - GSP) позволяет правительственным организациям - и американским, и зарубежным, из различных стран мира - получить доступ к исходному коду наиболее современных ОС Microsoft: Windows 2000, Windows CE, Windows XP и еще не вышедшей Windows Server 2003. В рамках программы Microsoft будет предоставлять и подробные технические консультации по использованию своих продуктов.

http://www.interface.ru/fset.asp?Url=/microsoft/news/n03012045.htm



2. ФГУП "Предприятие по поставкам продукции Управления делами Президента Российской Федерации" и корпорация Microsoft Windows_vista_security_sertified.mspx">объявили о том, что операционная система Windows Vista получила сертификат, подтверждающий высокий уровень ее безопасности.

http://www.securitylab.ru/news/348655.php?pagen=1

2009-02-28 00:00:00

Сергей

Государство и военные имеют права получить доступ к исходникам Windows, поэтому еще раз говорю, что доверие не причем.

Это ещё раз доказывает, что доверие основывается не на на словах, а в данном случае, на возможности посмотреть исходники.

2009-02-28 00:00:00

Сергей

Михаил, при отправлении сообщений перечёрканные циферки примерно в 50% случаев набираю с ошибками :) Это у меня зрение плохое или цифры нужны почётче?
Нужны ли они вообще, если все сообщения тобой модерируются?

2009-02-28 00:00:00

Михаил Фленов

Наоборот - абсолютно ничего не доказывает. Исходники MS открыло, потому что государственные чиновники плакались, что они не могут оценить безопасность, не видя исходников. Открыли, и что с того? Есть просто другие факторы и основной - мнение того человека, который принимает решение. В нашей стране этот человек кажется министр связи.

Вы думаете президент решает, какую платформу выбирать? Вы думаете директора решают, что ставить? Чаще всего они используют то, что им скажут отвественные за ИТ начальники или министры, а не наличие или отсутствие исходников. Так что наличие исходников не повышает доверия, и вообще ничего не повышает. Прочитайте Джоану.

2009-02-28 00:00:00

Михаил Фленов

Ну не знаю, я редко ошибаюсь в цифрах, хотя у меня зрение нормальное. Каптча нужна даже при модерации, потому что позволяет мне защититься от атаки флудом.

2009-02-28 00:00:00

Сергей

Каптча нужна даже при модерации

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

2009-02-28 00:00:00

pat

>> Так что наличие исходников не повышает доверия, и вообще ничего не повышает.

Особенно если код собранный, отличается от изначального исходника :) (как сказано выше)

2009-02-28 00:00:00

Михаил Фленов

Особенно если код собранный, отличается от изначального исходника :) (как сказано выше)


Если сборка происходит из одних файлов, а в свет идут другие, то это самая страшная проблема. Тут теряется сам смысл открытого кода - свобода, за которую так сильно выступают линуксоиды.

2009-03-01 00:00:00

Михаил Фленов

Последние три сообщения пришлось удалить. Почему-то все трое неправильно ставили цитаты. Будьте внимательны и не забывайте закрывать блоки quote и при открытии ставьте блок без каких либо лишних символов в теге. Из за этого портиться дизайн страницы, и мне приходится шарахать ваши комменты. Если не лень, то повторите свои сообщения, но будьте аккуратны.

2009-03-07 00:00:00

olegmaster

немножко предварительного просмотра не хватает)

2009-03-07 00:00:00

Оставить комментарий


Умеешь пользоваться BB кодами? Прекрасно, здесь можно использовать [quote] для цитирования, а так же [b] и [i]. Остальные коды пока использовать запрещено. Я думаю по поводу их использования. В комментариях нельзя выяснять крутость каких-либо продуктов, нужно уважать собеседников и не грубить и нельзя ничего додумывать (читайте мои посты внимательно). Нарушение этих простых правил ведет к удалению комментариев без предупреждения.

О блоге

Программист, автор нескольких книг серии глазами хакера и просто блогер. Интересуюсь безопасностью, хотя хакером себя не считаю

Внимание!

А ты уже читал мою последнюю книгу о больших сайтах и приложениях? Узнай, что это такое здесь

Обратная связь

Без проблем вступаю в неразборчивые разговоры по e-mail. Стараюсь отвечать на письма всех читателей вне зависимости от страны проживания, вероисповидания на русском или английском языке.

Пишите мне