10 марта 2009 г.

Безопасность программ

После прочтения новости Анализ уязвимостей за 2008 год: в Firefox ошибок больше, но исправляют их быстрее на OpenNet в очередной раз задумался о безопасности. Почему же FireFox безопаснее, чем IE, да и безопаснее ли? Выскажу результат размышления на пальцах. Я попытался встать на позицию злоумышленника и минимизировать трудозатраты. Согласно теме, нас интересует только процесс заражения жертвы. Делать это хочется массово, а значит автоматически. Для проникновения используются дыры в безопасности (уязвимости). Дыры время от времени латаются, а значит нужно писать новые заражалки (эксплоиты). Сделаем некоторые упрощающие предположения для нашей модели.
  1. Уязвимости появляются через равные промежутки времени.
  2. Время на исправление уязвимости постоянно в пределах одной программы и не зависит от уязвимости.
  3. Тудозатраты на написание эксплоита постоянны и не зависят от уязвимости.
Представим себя на месте злоумышленника. Есть две программы: A и B. В программе A всего 6 уязвимостей в год, в программе B — 120. На первый взгляд, B — лакомый кусочек для нас. Смотрим дальше. В программе A уязвимость исправляются полгода, а в программе B — полмесяца. В среднем получается, что в каждый момент времени в программе A наличествует 3 действующих уязвимости, а в программе B — 5. Отлично! B — находка для злоумышленника. Правда ведь? Однако, теперь оценим объем работ. Для программы A нам нужно писать не менее 2-х эксплоитов в год, чтобы процесс заражения (который идет непрерывно) не прерывался. Для программы B нам нужно не менее 2-х эксплоитов в месяц, а это в 12 раз больше работы. Так что, наш выбор, как злоумышленников, все-таки программа A, а не B. Наша цель — заразить как можно больше машин, а значит мишенью должны служить наиболее популярные программы. Однако, если заражая A, B и C мы накрываем, скажем, 90% машин и пишем 6 эксплоитов в год, а заражая D накрываем те же 90%, но пишем 24 эксплоита, то выбор явно не в пользу D. Какое это имеет отношение к жизни? Очень простое. В последнее время многие отчеты по безопасности показывают, что уязвимостей в FOSS больше, но при этом исправляются они гораздо быстрее. Кроме того, исправление уязвимости производителем — это еще не все. Злоумышленников больше интересует исправление на местах, а это зависит от удобства и надежности системы обновлений — вспомним эпидемии Nimda и Code Red, которые использовали уязвимости, для которых Microsoft давно предоставила исправления. А с обновлениями у большинсва открытых *nix'ов дела обстоят не в пример лучше. Так что, я спокоен за безопасность FOSS вообще и Linux в частности, даже если Linux догонит Windows по популярности.

Комментариев нет:

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