Thursday, August 9, 2007

Понять очевидное: безопасность Microsoft

Посещая различные конференции по ИБ я неоднократно слышал одно и то же утверждение представителей Microsoft о том, что ОС Windows Vista куда более безопаснее, чем Linux, а MS SQL Server 2005 чем любая другая СУБД. В качестве аргумента приводилась статистика по опубликованным уязвимостям соответственно для Windows/Linux и SQL Server 2005/Oracle.

Не смог удержаться, чтобы не пооспаривать подобные утверждения. Вот аргументы:

  1. неверно сравнивать ПО с открытым и закрытым кодом. По-моему очевидно: насколько хорошо сделан ремонт в квартире значительно проще понять просто зайдя туда, вместо того, чтобы пытаться догадаться об этом через закрытую дверь;
  2. все-таки суждения о безопасности ПО необходимо строить в отношении к количеству инсталляций. Тут приходит на ум хорошая аналогия с криптографией: правильным считается выбирать проверенные временем решения, а не только что придуманные новинки; к тому же это подтверждается, например, в отчетах Symantec: Windows Vista Network Attack Surface Analysis и Security Implications of Windows Vista . Пользователи логично опасаются ставить новинки, что замедляет исследования в области безопасности (неуловимый Джо потому и неуловим, что он никому не нужен).
  3. (совсем странное умозаключение) если исходить из того, что количество уязвимостей конечно, то чем больше их обнаружили, тем меньше их осталось. Понятно, что можно возразить, типа, каждый фикс приносит новые проблемы, и что это утверждение работает только в случае, если ПО не развивается (т.е. в нем не появляются новые функции вообще). Но я здесь имею в виду как раз то, что называется "зрелостью" ПО, то, к чему уже более неприменимо понятие "сырое".

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

7 comments:

Amiran Alavidze said...

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

Sergey Soldatov said...

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

Igor Gots said...

Не будь у меня своего мнения, я бы так и не понял - что же мне необходимо использовать, чтобы построить защищенную сеть?
И все-таки споры о том, что защищеннее\круче\дырявее никогда не дадут конкретного результата. В руках недоученного\перегруженного администратора, без должного контроля, любая система становится дырявой.

Sergey Soldatov said...

Игорь, согласен с тобой, в той части, что за любой системой необходимо следить. Разница только в степени слежения: в дырявой лодке тоже можно плавать, только... надо воду постоянно вычерпывать :-)). А вообще, статься не про то, что Microsoft хуже, нет, я весьма позитивно отношусь к некоторым их решениям, я про то, что если сравнивать что-то, но было бы честно это делать при одинаковых начальных условиях.

Igor Gots said...

Боюсь ты ставишь невыполнимую задачу.
Может быть системы необходимо сравнивать не со стороны администратора (количество заплаток, параметров поддающихся конфигурированию и доступность кода для анализа), а со стороны нарушителя. То бишь дать право судить о степени защищенности продуктов, например, после установки по-умолчанию, людям, которых мы привыкли звать аудиторами. Тут выползают вопросы квалификации и доверия, но глаза можно закрыть на это пока :).

Sergey Soldatov said...

Ну что-то мы вообще ушли в дебри. Вообще, продукты надо сравнивать по назначению/функциям/целям. Вот есть цель - ОС, у нее по спецификации такие-то функции должны быть, вот и сравниваем эти функции и качество их реализации. Но опять же, повторюсь, статься не про это. Стмтья про то, что два процесса надо сравнивать если у них одинаковые начальные условия и среда: не надо сравнивать дерево, растущее в лесу и на скалах, они будут выглядеть по-разному, это очевидно. Тем не менее, спасибо за оживленное обсуждение!

Sergey Soldatov said...

Ну вот, Microsoft снова всех обманули:
http://www.securityfocus.com/brief/614