В последнее время все чаще появляются публикации на тему, какая из современных ОС безопаснее. Это связано с тем, что безопасность сегодня становится важнейшим потребительским свойством, как системных средств, так и приложений. Разработчики системных средств вынуждены уделять вопросам безопасности все больше внимания, дабы повысить конкурентную способность своего продукта. Но вот что у них при этом получается? Что на самом деле «скрывается» за хвалебными декларациями производителей? Имеет ли в принципе смысл сравнивать сегодня между собою безопасность современных универсальных ОС различных производителей, а если сравнивать, то как? Может ли в принципе быть создана безопасная универсальная ОС?
А.Ю.Щеглов
Из чего складывается безопасность системного средства.
Безопасность системного средства в общем случае может быть оценена с двух совершенно различных (отнюдь не полностью взаимосвязанных между собой) позиций. С одной стороны, безопасность системного средства может быть охарактеризована достигаемым им уровнем функциональной безопасности – набором функционала (средств, механизмов и т.д.), призванного решать задачи защиты информации. Уровень функциональной безопасности можно оценить, проанализировав достаточность механизмов защиты, применительно к условиям эксплуатации системного средства, и корректность их реализации. Естественно, что, как недостаточность механизмов, так и некорректность их реализации, таят в себе уязвимость системного средства. Заметим, что именно уровень функциональной безопасности системного средства и определяется при его сертификации по требованиям (в части выполнения соответствующего набора требований) информационной безопасности. С другой стороны, в конечном счете, для потребителя интерес представляет не только (а может быть, и не столько) некая гипотетическая экспертная оценка эффективности механизмов защиты, основанная на анализе архитектурных решений, а, именно эксплуатационная безопасность системного средства – реальный уровень безопасности, обеспечиваемый системным средством в процессе его практической эксплуатации, т.к. только на основании результатов практического использования средства и может быть дана объективная оценка его безопасности. Важность этой оценки обусловливается и тем, что при ее формировании могут быть учтены такие параметры эффективности защиты, никак не связанные с архитектурными решениями, как качество разработки системного средства и его технической поддержки производителем.
В данной работе мы акцентируем свое внимание на вопросах оценки эксплуатационной безопасности современных универсальных ОС.
Подход к оценке эксплуатационной безопасности системного средства.
В качестве критерия эксплуатационной (реальной) безопасности системного средства целесообразно рассматривать коэффициент его готовности обеспечивать защиту информации в процессе эксплуатации, или вероятность того, что в любой момент времени системное средство находится в безопасном состоянии. Тогда в качестве основных параметров защиты следует рассматривать интенсивности отказов и восстановления защиты.
Под «отказом защиты» будем понимать обнаружение уязвимости системного средства. Наличие уязвимости делает данное средство незащищенным до момента устранения ее производителем системного средства.
Под «восстановлением защиты» будем понимать устранение производителем обнаруженной уязвимости системного средства. устранение обнаруженной уязвимости восстанавливает безопасность системного средства (в предположении, что данная уязвимость одна).
Под «интенсивностью отказов защиты» будем понимать интенсивность обнаружения в системном средстве уязвимостей в единицу времени.
Под «интенсивностью восстановления защиты» после отказа будем понимать интенсивность устранения в системном средстве уязвимостей в единицу времени (величина, обратная времени устранения уязвимостей).
В данных предположениях, для оценки эксплуатационной (реальной, или истинной) безопасности системного средства может быть построена математическая модель с использованием аппарата теории массового обслуживания (по аналогии с тем, как, например, это делается в теории надежности, ведь, в конечном счете, применительно к средству защиты информации, надежность – это свойство данного средства обеспечивать защиту в течение заданного промежутка времени).
Построим модель для количественной оценки эксплуатационной безопасности системного средства.
Примем, что обнаружение уязвимостей – отказов защиты, описывается пуассоновским входящим потоком (описывает наиболее случайные события, что и имеет место на практике), суммарную интенсивность которого обозначим, через:
µ
Примем также, что время устранения уязвимости – восстановление защиты, имеет экспоненциальное распределение с интенсивностью:
Теперь собственно о модели (СМО). Будем рассматривать следующую гипотетическую ситуацию - любая обнаруженная уязвимость сразу же направляется на обслуживание (устранение). Никакой очереди неустраненных уязвимостей не образуется, т.е. будем рассматривать систему (СМО) с бесконечным числом обслуживающих приборов.
Замечание. Данное допущение позволяет утверждать, что моделью будет описываться гипотетически идеальная (недостижимая) для современных ОС ситуация, т.е. расчетные значения будут не хуже реальных (оцениваем верхнюю границу). Дело в том, что на практике ситуация одновременного исправления разработчиком всех обнаруженных уязвимостей практически невозможна.
В данных предположениях, расчетная формула вероятности того, что в системе находится ровно n требований (или присутствует n неустраненных уязвимостей) выглядит следующим образом (см. стр.159 в кн. Т.Саати. Элементы теории массового обслуживания и ее приложения. – М.: Изд. «СОВЕТСКОЕ РАДИО», 1965. – 511 с.):
С учетом же то, что:
(т.е. в каком-то состоянии система всегда должна находиться) можем определить интересующий нас параметр – критерий эксплуатационной безопасности – вероятность того, что в системе отсутствуют требования n = 0, т.е. отсутствуют неустраненные уязвимости, или вероятность того, что система находится в безопасном состоянии, по следующей достаточно простой формуле:
Итак, модель мы построили, теперь с ее помощи проведем интересующее нас исследование.
Оценка уровня эксплуатационной безопасности современных универсальных ОС.
Как ранее отмечалось, основными параметрами, используемыми для оценки эксплуатационной безопасности системных средств, являются интенсивности отказов защиты (обнаружения уязвимостей) и восстановления защиты (устранения уязвимостей). Для определения значений данных параметров обратимся к двум любопытным исследованиям.
Первое исследование, которое мы здесь приведем: «"Критические дни": Linux, Mac OS X, Solaris and Windows» опубликовано на сайте www.securitylab.ru 19 июня 2007 года.
Джефф Джонс провел очередное исследование на тему того, как долго компании закрывают найденные дыры в своем ПО. Рассматривались следующие коммерческие операционные системы:
- Apple: Mac OS X, все версии, исправленные в 2006 году.
- Microsoft: Windows 2000 (Professional и Server), Windows XP, Windows Server 2003.
- Red Hat: Red Hat Enterprise Linux 2.1, Red Hat Enterprise Linux 3, and Red Hat Enterprise Linux 4.
- Novell: SUSE Linux Enterprise Server 8, SUSE Linux Enterprise Server 9, SUSE Linux Enterprise Server 10, Novell Linux Desktop 9, и SUSE Linux Enterprise Desktop 10.
- Sun: Все версии Solaris, исправленные в 2006.
В случае если одна уязвимость устранялась для разных версий ОС в разное время, то за время устранения считалось как среднее значение двух дат.
Если одна уязвимость устранялась в нескольких компонентах одного продукта в разное время, то уязвимость считалась устраненной, когда было выпущено последнее исправления. Например, если 1 января появилась уязвимость в Firefox и Thunderbird в RHEL3, а патч для Firefox был выпушен 10 января, а для Thunderbird 15 января, то считалось, что на устранения одной уязвимости было потрачено 15 дней.
В результате были получены следующие значения среднего времени устранения уязвимостей в различных операционных системах (см. рис.1).
Как видно из графика, быстрее всех исправление выпускала компания Microsoft, которой требовалось в среднем 29 дней для закрытия уязвимости, а хуже всех компания Sun, которая устраняла уязвимости в среднем за 167 дней.
На следующем графике (см. рис.2) представлена скорость устранения критических уязвимостей в различных операционных системах.
В конце Джефф Джонс сравнил скорость изменения всех уязвимостей в различных операционных системах по сравнению с 2005 годом, см. рис.3.
Заметим, что данные, полученные Джефом, несколько расходятся с исследованием компании Symantec, в котором утверждалось что Microsoft устраняет уязвимости в среднем за 21 день, Red Hat за 58, Appple Maс OS за 66, а Solaris за 122 дня. Однако сравнение Symantec затрагивает меньший период времени – только вторую половину 2006 года.
А вот теперь мы проведем свое исследование, и оценим, как влияет продолжительность устранения уязвимостей на эксплуатационную (истинную) безопасность современных ОС. Оценивать и сравнивать между собою отдельные параметры не очень интересно, а порою, и вредно, т.к. можно сделать неверные выводы.
С этой целью воспользуемся нашей моделью и оценим вероятность того, что система находится в безопасном состоянии в предположении, что за год обнаруживается и исправляется только одна уязвимость. Результаты исследований представлены на рис.4.
Проанализируем полученный результат. Видим, что при существующей интенсивности исправления уязвимостей в ОС, даже в случае обнаружения одной уязвимости в год, уже говорить о какой-либо безопасности ОС просто не приходится. Ведь даже при обнаружении одной уязвимости в год (а об этом сегодня можно только мечтать) до 10% (а это лучшие показатели для сравниваемых ОС) времени эксплуатации ОС будет находиться не в безопасном состоянии.
А теперь оценим, как влияет на эксплуатационную (реальную) безопасность современных ОС интенсивность обнаружения уязвимостей. Для этого обратимся к другому исследованию под громким названием «Symantec: Windows - самая надежная система», также опубликованному на сайте www.securitylab.ru , но 27 марта 2007 года.
В данном исследовании утверждается следующее.
Microsoft Windows, несмотря на все проблемы с безопасностью, является самой надёжной операционной системой из всех существующих, утверждает Symantec.
Во втором полугодии 2006 г. в системах Windows было найдено и устранено наименьшее число уязвимостей; компания в среднем быстрее всех выпускает обновления безопасности, — говорится в последнем «Докладе об угрозах безопасности интернета», выходящем дважды в год.
Утверждение подтверждается сравнительными показателями среди пяти операционных систем: Windows, Mac OS X, HP-UX, Sun Solaris и Red Hat Linux.
За полгода Microsoft выпустила обновления более чем к 39 уязвимостям; каждая дыра существовала в открытом состоянии в среднем 21 день. На втором месте — Red Hat Linux: 208 уязвимостей и средний срок устранения 58 дней. Несмотря на большее количество, эти уязвимости были в среднем менее опасны, отмечает Symantec. Mac OS X отметилась 43 уязвимостями и средним временем устранения в 66 дней. На уязвимости высокой степени опасности у компании уходило в среднем 37 дней.
Замыкают пятёрку HP-UX и Solaris: 98 дыр и 101 день, и 63 дыры и 122 дня соответственно.
Вновь проведем свое исследование, и попытаемся определиться с тем, что же сегодня называется самой безопасной ОС, какой уровень эксплуатационной безопасности она обеспечивает. Для этого воспользуемся нашей математической моделью и построим зависимость изменения вероятности того, что система находится в безопасном состоянии, от изменения интенсивности обнаружения уязвимостей. За интенсивность исправления уязвимостей примем максимально возможное ее значение на сравниваемом множестве вариантов ОС – интенсивность исправления уязвимостей компанией Microsoft.. Результаты исследований представлены на рис.5.
Рассмотрим внимательно данные результаты, при этом будем помнить, что мы говорим о гипотетически идеальных характеристиках – это верхняя теоретическая граница, реальное положение дел куда хуже. Прежде всего, обратимся к красной пунктирной линии на рис.5. Этой линией характеризуется следующий случай – вероятность того, что в любой момент времени система находится в безопасном состоянии составляет 0,5, т.е. либо защищена, либо нет. А ведь такова эксплуатационная безопасность ОС достигается (см. рис.5) при обнаружении лишь 8 уязвимостей в год, при средней продолжительности их устранения в пределах месяца. Если же за год в среднем обнаруживается 20 уязвимостей, то вероятность того, что система находится в безопасном состоянии, составляет уже около 0,2. Другими словами, в этом случае можно говорить об отсутствии какой-либо безопасности подобной системы. Однако напомним о следующем (см. выше) «…За полгода Microsoft выпустила обновления более чем к 39 уязвимостям…» и речь идет о том, что «Windows - самая надежная система». Замечательно!
Невольно возникают вопросы, о какой безопасности в приведенных исследованиях говорится, что с чем и с какой целью сравнивается. Выводы о том, что одна ОС безопаснее других, вообще «сногсшибательны»! Напрашивается следующая аналогия. Сравнить, из чего лучше сделать лобовую броню танка, из бумаги или из картона, и на основании проведенных исследований сделать неоспоримый вывод, что из картона – безопаснее.
И в заключение еще немного «свежей» статистики с сайта www.securitylab.ru, от 08 октября 2007 года. «Корпорация Microsoft в текущем месяце планирует опубликовать семь бюллетеней безопасности с описанием новых дыр в операционных системах Windows, офисных приложениях и браузере Internet Explorer.
Как сообщается в предварительном уведомлении, четыре из октябрьских бюллетеней будут содержать сведения о критически опасных уязвимостях, позволяющих выполнить произвольный вредоносный код на удаленном компьютере. Дыры, получившие максимальный рейтинг опасности по классификации Microsoft, выявлены в новой операционной системе Windows Vista, а также Windows 2000/ХР и Windows Server 2003. Кроме того, Microsoft намерена выпустить патчи для критических уязвимостей в офисных приложениях, браузере Internet Explorer, программе Outlook Express и почтовом клиенте Windows Mail.
Еще две дыры в программных платформах Windows получили статус важных. Одна из них теоретически может использоваться злоумышленниками с целью организации DoS-атак, а другая - для имитации соединений. Кроме того, еще одна уязвимость, охарактеризованная важной, может использоваться с целью повышения привилегий в Windows и Office».
Не настала ли пора признать, что мы работаем на полностью незащищенных системах, и что все попытки производителей повысить безопасность современных универсальных ОС, связанные с расширением встроенного функционала безопасности, не приводят к желаемым результатам!
Автор - д.т.н, проф. ЗАО «НПП «Информационные технологии в бизнесе»
Начать дискуссию