Windows или Linux: что безопаснее? часть 2
В последнее время во всем мире растет популярность различных версий операционной системы Linux, они все чаще используются как в частном бизнесе, так и государственными структурами. Николас Петрели
🕛 15.12.2005, 04:37
Например, придется разослать по электронной почте сообщения, которые направят пользователей на web-страницу, содержащую вредоносный элемент управления или код. Широко используется способ, когда пользователю предлагается открыть файл, вложенный в электронное письмо. Серьезность этой категории меняется в зависимости от того, насколько искусно это вовлечение замаскировано под невинное действие. Использовать брешь можно удаленно, через Интернет, не имея действующей учетной записи пользователя на атакуемом компьютере, но невозможно достичь бреши напрямую. Тем не менее, брешь используется косвенно, но автоматически. Например, брешь в операционной системе Windows используется немедленно и автоматически, как только пользователь открывает электронное письмо с помощью программы Outlook.
Использовать брешь можно удаленно, через Интернет, просто отправив через сеть информацию на атакуемый компьютер. Например, уязвимость типа "отказ в обслуживании" (DoS) можно использовать просто отправив специальные сетевые пакеты на атакуемый web-сайт, что сделает этот web-сайт недоступным для других пользователей Интернета.
Возможность использования
Этот показатель учитывает технические трудности, которые необходимо преодолеть, чтобы использовать брешь в защите. Обычно эти трудности попадают в одну из перечисленных ниже категорий. Категории перечислены в порядке возрастания их серьезности (на практике реальный порядок этих категорий может меняться, но приведенный список может оказаться удобным ориентиром).
Брешь существует, но еще не обнаружена. Для использования этой бреши необходимы либо исключительная компетентность, либо счастливый случай.
Для использования бреши необходимы высокая квалификация в программировании и глубокое знание операционной системы, но о существовании этой бреши известно недостаточно широко, из-за чего маловероятно, что ее используют многие нарушители.
О существовании бреши известно, и для ее использования необходимы высокая квалификация в программировании и глубокое понимание того, как функционируют атакуемые программное обеспечение и операционная система.
Для использования бреши необходима высокая квалификация в программировании, но уже создан вирус, троянская программа или сетевой червь, которые могут служить основой для атаки. Программисту требуется только модифицировать этот код, чтобы использовать новую брешь или сделать данный вирус более опасным.
Для создания кода, использующего брешь, необходима высокая квалификация в программировании, но подходящий код уже существует, и достаточно средней квалификации в программировании, чтобы усовершенствовать или модифицировать этот код так, что он будет использовать существующую брешь или "будущие" бреши.
Для использования бреши достаточно средней или начальной квалификации в программировании либо же элементарного знания компьютера.
Не имеет значения, насколько трудно использовать брешь, поскольку вся работа по созданию средств для использования этой бреши уже проделана, а вредоносный код сделан общедоступным для его применения новичками.
Кто угодно может использовать брешь, введя простой текст в командной строке или указав URL в web-навигаторе.
Возможный ущерб
Оценить этот показатель труднее всего. Требуется определить, по крайней мере, два различных набора категорий. Во-первых, надо учесть, какой вред причинит использование бреши приложениям или компьютерам. Во-вторых, необходимо оценить возможный ущерб с точки зрения последствий для всей компании. Например, в ситуации, когда брешь позволяет нарушителю прочитать неопубликованные web-страницы. Вред от этого незначителен, если на компьютере не хранится конфиденциальная информация. Но если неопубликованная web-страница содержит какую-либо конфиденциальную информацию, например, номера кредитных карт, то общий возможный ущерб может быть очень большим, при том что возможный технический ущерб минимален. Ниже приводятся (в порядке возрастания серьезности) наиболее важные факторы, которые следует учитывать при оценке возможного технического ущерба в результате использования какой-либо конкретной бреши.
Брешь влияет только на производительность другого компьютера, но не настолько, чтобы он перестал отвечать на запросы.
Брешь влияет только на собственные программы или файлы нарушителя, но не затрагивает файлы или программы других пользователей.
Брешь делает незащищенной информацию в файлах других пользователей, но не учетную запись администратора или системные файлы.
Брешь позволяет нарушителю просматривать, изменять или удалять пользовательские файлы. Она не дает возможности просматривать, изменять или удалять файлы администратора или системные файлы.
Брешь позволяет нарушителю просматривать критичную информацию либо путем исследования сетевого трафика, либо путем доступа с правами "только чтение" к файлам администратора или к системным файлам.
Брешь позволяет нарушителю получить некоторые, но не все, полномочия административного уровня, возможно, в ограниченном окружении.
Брешь позволяет нарушителю вызвать отказ системы или каким-то иным путем заставить ее не отвечать на обычные запросы. Это - типичная атака "отказ в обслуживании". Однако нарушитель фактически не может получить контроль над компьютером, за исключением того, что компьютер перестанет отвечать на запросы.
Брешь позволяет нарушителю изменить или удалить все привилегированные файлы и информацию. Нарушитель может получить полный контроль над атакуемой системой и фактически причинить такой же ущерб, какой способен нанести полностью авторизованный системный администратор.
Уровень общей серьезности
С учетом описанных выше трех факторов общая серьезность угроз может изменяться от Минимальная до Катастрофическая. Рассмотреть все перестановки не представляется возможным, но несколько примеров могут оказаться полезными. Эти примеры основываются на категориях возможного ущерба в сочетании с различными категориями возможной доступности и возможности использования.
Если анонимный злоумышленник из Интернета сумеет снизить производительность компьютеров компании, то оценка последствий может варьироваться от "мелкая неприятность" до "разрушительный удар по финансам" в зависимости от того, насколько критичной является производительность системы для деятельности компании.
Атака на собственную учетную запись является бессмысленной, но такая саморазрушительная деятельность может создать для ИТ-подразделения лишнюю работу по восстановлению.
Потенциальная серьезность бреши, позволяющей просматривать только файлы работающего в том же здании сослуживца, минимальна, даже если эту брешь тривиально просто использовать. Уровень серьезности возрастает, когда файлы этого сослуживца содержат конфиденциальную информацию, и уменьшается, если велика вероятность поимки нарушителя. С другой стороны, если просматривать конфиденциальные файлы в сети компании может любой злоумышленник из Интернета (высокая возможная доступность), общая серьезность бреши резко возрастает.
Если брешь позволяет нарушителю изменять или удалять файлы работающего в том же здании сослуживца, серьезность этой бреши тем меньше, чем регулярнее выполняется в компании резервное копирование и чем больше вероятность поимки нарушителя. Если нарушитель может изменять файлы учетной записи пользователя на удаленном компьютере, то серьезность меняется в зависимости от важности этой учетной записи и предоставляемого ею сервиса. Например, серьезность может варьироваться от незначительного искажения web-страниц до их полного удаления.
Дополнительные соображения
Дисбаланс приложений
В дебатах о превосходстве одной операционной системы над другой часто упускается из виду, что уязвимости в системе защиты почти всегда коренятся в приложениях. Данное обстоятельство создает определенные трудности при сравнении Windows и Linux, потому что эти две системы находятся в неравном положении с точки зрения переносимости и доступности приложений.
С одной стороны, большинство популярных приложений для Microsoft Windows составляют приложения Microsoft, и они запускаются только под Windows. Когда обнаруживается брешь в Microsoft Exchange, можно обоснованно полагать, что эта проблема затронет только клиентов Windows. Microsoft Exchange не функционирует ни в Linux, ни в Solaris, ни где-либо еще, кроме Windows.
С другой стороны, web-сервер Apache чаще всего ассоциируется с Linux, UNIX или другими UNIX-системами, но Apache функционирует и под управлением Windows. Поэтому, сравнивая общую безопасность Windows и Linux, можно ли считать, что брешь в Apache - это дефект только Linux? Или она негативно сказывается и на Linux, и на Windows?
Еще больше усложняет проблему то, что известно несколько случаев, когда брешь в Apache почти (или даже совсем) не опасна для Linux, но является серьезной уязвимостью в Windows. Обратная ситуация встречается крайне редко, если вообще встречается. Следует ли понижать оценку общей безопасности Windows потому, что эта система более подвержена неблагоприятному воздействию, чем Linux, при использовании программного обеспечения, которое обычно ассоциируется с Linux?
Вопрос о том, учтен ли какой-либо из этих факторов при сравнении общей безопасности Windows и Linux, ни в коем случае нельзя оставлять без внимания.
Настройка и администрирование
Наконец, различие в подходе к настройке и администрированию серверов в Linux и в Windows, как уже отмечалось, возможно, является самым важным различием между этими двумя операционными системами.
Windows предлагает использовать знакомый интерфейс, что означает администрирование ОС Windows Server 2003 на самом сервере. Linux не полагается на локальное использование графического интерфейса и не поощряет этого отчасти потому, что функционирование графической среды на сервере - это необоснованная трата ресурсов, а отчасти потому, что от этого возрастают угрозы безопасности сервера. Так, любой сервер, предлагающий использовать графический интерфейс на компьютере сервера, предлагает также выполнять на сервере похожие операции, например, использовать web-навигатор. В результате сервер подвергается угрозам, порожденным уязвимостями в защите web-навигатора. Любой сервер, побуждающий пользователя к удаленному администрированию, защищен от подобных угроз. Если администрирование сервера Linux осуществляется удаленно, через учетную запись пользователя на рабочей станции, то брешь в web-навигаторе создает угрозу только этой удаленной рабочей станции, а не серверу. Именно поэтому брешь в защите web-навигатора потенциально опаснее для Windows Server 2003, чем для Red Hat Enterprise Server AS.
Сравнение 40 последних программных коррекций системы защиты
В последующих разделах приведена информация о 40 самых последних программных коррекциях уязвимостей в защите ОС Windows Server 2003 (как утверждается, самой безопасной версии Windows) и Linux Red Hat Enterprise AS v.3 (как утверждается, конкурента Windows Server 2003). Данные по программным коррекциям и уязвимостям для Windows Server 2003 взяты непосредственно с web-сайта компании Microsoft, а для Red Hat Enterprise AS v.3 - с web-сайта Red Hat.
В операционной системе Windows Server 2003 были самые серьезные бреши в системе защиты. По собственной классификации Microsoft, 38% исправленных уязвимостей оценены как Критические. Если применить показатели, описанные в предыдущих разделах, это значение возрастет до 40-50%. Многие бреши, оцененные как Критические в Windows XP или других версиях, получили более низкую оценку в Windows Server 2003 только потому, что теперь по умолчанию для Internet Explorer и Outlook устанавливаются жестко ограничивающие настройки - настолько ограничивающие, что эти программы практически невозможно использовать, не изменив хотя бы некоторые из установленных по умолчанию настроек.
Совершенно иная картина получается с последними 40 уязвимостями Red Hat. Только четыре из них оценены по нашим показателям как Критические (Red Hat не указывает уровень серьезности своих предупреждений). Это означает, что 10% из 40 самых последних обновлений имеют серьезность Критическая. Фактически же эта оценка работает в поддержку Microsoft, поскольку для двух брешей можно легко доказать, что их серьезность ниже критической, что уменьшит процент критических брешей до 5%.
Программные коррекции и уязвимости Microsoft Windows Server 2003
В Таб. 1 содержится информация об уязвимостях из 40 последних программных коррекций системы защиты, выпущенных компанией Microsoft6.
6 Microsoft Security Bulletin, Current Downloads (результаты могут отличаться от приведенных, так как информация регулярно обновляется) - http://www.microsoft.com/technet/security/CurrentDL.aspx
Microsoft обозначила 15 из этих 40 уязвимостей как Критические. Это означает, что, согласно субъективному анализу самой Microsoft, 38% из последних обнаруженных и исправленных проблем имеют серьезность Критическая, то есть наивысшую из возможных.
Однако в применяемой Microsoft методике оценки серьезности брешей есть два спорных момента.
Microsoft часто присваивает бреши серьезность Критическая для всех операционных систем Windows, кроме Windows Server 2003, когда той же бреши присваивается более низкий статус - Важная. Причина этого различия в том, что установленные в Windows Server 2003 настройки по умолчанию отличаются от настроек по умолчанию в других версиях Windows. Microsoft следующим образом описывает различные настройки7:
7 Default Settings Different on Windows Server 2003 Эти настройки перечисляются на нескольких страницах в разделе "Frequently Asked Questions, What is Internet Explorer Enhanced Security Configuration?" Вот одна из таких страниц: http://www.microsoft.com/technet/security/bulletin/ms03-032.mspx
"Уровень безопасности, установленный для зоны Интернет - Высокий. Такая настройка запрещает загрузку скриптов, элементов управления ActiveX, Microsoft Java Virtual Machine (MSJVM), HTML-контента и файлов.
Отключено автоматическое обнаружение сайтов интрасети. Такая настройка передает все web-сайты интрасети и все сетевые пути UNC (Universal Naming Convention), не перечисленные в явном виде в зоне локальной интрасети, в зону Интернет.
Заблокированы установка по требованию (Install On Demand) и использование дополнительных компонентов web-навигатора, разработанных не компанией Microsoft. Такая настройка не позволяет web-страницам автоматически устанавливать дополнительные компоненты, а также не позволяет функционировать компонентам, разработанным не компанией Microsoft.
Заблокирован мультимедиа-контент. Такая настройка не позволяет запускать музыкальные клипы, анимационные клипы и видеоклипы".
Хотя некоторые из этих настроек по умолчанию (например, блокировка мультимедиа-контента) абсолютно логичны для сервера, почти невозможно представить, чтобы кто-либо из использующих Windows Server 2003 не изменил настройки, описанные в первом абзаце. Эти настройки делают Internet Explorer почти бесполезным для администратора сервера, желающего использовать web-навигатор для выполнения административных задач, загрузки обновлений и т. д. Понижать уровень серьезности, предполагая, что пользователи Windows Server 2003 оставят такие настройки по умолчанию без изменений - значит, в лучшем случае, заблуждаться. Если бы пользователям Windows Server 2003 предлагалось администрировать сервер удаленно, это могло бы уменьшить данную угрозу. Но Microsoft рекламирует знакомый локальный интерфейс Windows как главное преимущество Windows Server 2003.
В приведенный ниже список (Таб. 1) включены бреши, уровень серьезности которых ограничен в соответствии с полномочиями пользователя. Эти случаи отмечены в таблице: в столбце "Полномочия" указано "Пользователь". Но поскольку Windows Server 2003 - это сервер, то очевидно, что большинство пользователей, непосредственно работающих на компьютере под управлением Windows Server 2003, будут администраторами. Даже если предположить, что все станут использовать оптимальные приемы работы на настольном компьютере, очевидно, что администраторы Windows Server 2003 входят в систему с полномочиями администратора. Поэтому в тех случаях, когда серьезность брешей "ограничивается" полномочиями пользователя, большую часть времени уровень серьезности фактически не уменьшается, так как пользователь будет иметь полномочия администратора. В качестве примера можно привести брешь, описанную в Microsoft Security Bulletin MS04-015. По указанной выше причине эта брешь заслуживает оценки Критическая, а не Важная. Парадоксально, но подобные бреши в Linux заслуживают понижения оценки, потому что Linux не предлагает администраторам работать в графической среде непосредственно на сервере.
Приняв во внимание все обстоятельства, следует оценить как Критические еще по меньшей мере пять уязвимостей. Это означает, что по показателям, описанным в предыдущих разделах, 50% перечисленных брешей оцениваются как Критические. Если уязвимость должна иметь оценку Критическая с учетом того, что администратор, скорее всего, изменит те настройки по умолчанию, благодаря которым Microsoft понизила уровень серьезности, то этот факт отмечается в скобках. Но при общем сравнении эти уязвимости не рассматривались как Критические. Комментарий в скобках показывает, что Microsoft преднамеренно недооценивает серьезность данной бреши на основании необоснованного допущения - настройки по умолчанию, установленные в Windows Server 2003, существенно меняют ситуацию.
Таблица 1. Программные коррекции и уязвимости Microsoft Windows Server 2003
Программные коррекции и уязвимости Red Hat Enterprise Linux AS v.3
В Таб. 2 содержится информация об уязвимостях из 40 последних программных коррекций системы защиты, выпущенных компанией Red Hat.
Компания Red Hat не определяла уровень серьезности. Для оценки каждой уязвимости использованы показатели, описанные в данной статье, при этом учитывалось, что серверы Linux обычно администрируются с настольных систем, а не через графический интерфейс на самом сервере. Многие оценки сопровождаются краткими комментариями, которые помогут читателям понять эту оценку.
Из 40 уязвимостей только четыре оценены как Критические. Это означает, что 10% из 40 последних обновлений имеют серьезность Критическая.
Но если принять во внимание особенности программного обеспечения, к которому относятся две из четырех уязвимостей, можно утверждать, что серьезность этих двух уязвимостей не следует оценивать так высоко. Эти две уязвимости связаны с программой Ethereal. Ethereal - это одно из нескольких доступных средств контроля сетевых компонентов и прослушивания сети ("sniffer"). Программа Ethereal запускается при необходимости, а не в качестве постоянного сервиса, поэтому вероятность того, что она будет работать в момент, когда кто-то пытается воспользоваться ее уязвимостью, крайне мала. Если по этой причине понизить серьезность указанных уязвимостей до Важная, то только 5% из 40 последних предупреждений следует считать Критическими.
Уязвимости в сервисах IPSEC и Kerberos более обосновано оценены как Критические, поскольку эти сервисы функционируют на постоянной основе.
Лишь немногие уязвимости позволяют злоумышленнику действовать на уровне администратора. Однако даже в этих редких случаях, как правило, имеются факторы, уменьшающие опасность. Например, уязвимость в Samba (июль 22, 2004, RHSA-2004:259-23) можно использовать только в том случае, если кто-либо сконфигурирует inetd (через файл hosts.allow) так, что известному пользователю и компьютеру разрешается доступ к этому сервису. Если система сконфигурирована правильно, то никто, кроме авторизованного известного пользователя, не может получить доступ к программе конфигурации Samba, чтобы использовать данную уязвимость. В противном случае серьезность этой уязвимости следовало бы оценить как Критическую. Для использования других брешей, позволяющих получить административный доступ, также необходимо быть известным пользователем с действующим идентификатором. Это уменьшает угрозу и снижает серьезность, поскольку значительно увеличивается вероятность поимки злоумышленника.
Таблица 2. Программные коррекции и уязвимости Red Hat Enterprise Linux AS v.3
Результаты запросов к базе данных CERT по уязвимостям
Американская группа Computer Emergency Readiness Team (CERT) использует свой собственный набор показателей для оценки серьезности брешей в защите. Результат выражается числом в диапазоне от 0 до 180, причем значение 180 означает самую серьезную уязвимость. Шкала является нелинейной. Иначе говоря, уязвимость с оценкой 100 не является в два раза более серьезной, чем уязвимость с оценкой 50.
CERT считает любую уязвимость с оценкой 40 или выше достаточно серьезной, чтобы включить ее в специальное техническое предупреждение, выпускаемое CERT Advisory и US-CERT.
Мы сделали запросы к базе данных CERT по ключевым словам "Microsoft", "Red Hat" и "Linux". К сожалению, средства web-поиска на сайте CERT не позволяют обеспечить в полной мере желаемую детализацию и долговечность результатов. Особенно это верно для результатов поиска по "Red Hat" и "Linux". Результаты поиска по "Linux" включают в себя несколько уязвимостей Oracle, общих для Linux, UNIX и Windows. Результат по "Red Hat" с данными о самой серьезной уязвимости даже не содержит среди подробностей указания на Red Hat как на уязвимую систему. Результаты поиска по "Microsoft" представляются вполне точными, так как и в подробностях, и в самих записях указаны бреши именно в программном обеспечении Microsoft. Вследствие этого результаты несколько искажаются не в пользу Linux и Red Hat. Тем не менее, даже если принять эти результаты, проигнорировав искажение для Linux и Red Hat, все равно получается, что большинство записей в базе данных CERT относится к Microsoft, и эти записи содержат информацию о самых серьезных брешах.
Запрос к базе данных CERT по слову "Microsoft" дал 250 результатов, причем две первые записи описывают бреши с показателем серьезности 94,5. 39 записей описывают бреши с серьезностью 40 или выше. Средняя оценка серьезности по 40 первым записям - 54,67. (Усреднение проведено по 40 записям, а не по 50 или больше, так как поиск для "Red Hat" дал только 46 записей).
Запрос к базе данных CERT по слову "Red Hat" дал 46 результатов. Первая запись описывает брешь с показателем серьезности 108,16. Только три записи (против 39 для Microsoft) содержат оценку серьезности 40 или выше. Среднее значение серьезности по первым 40 записям - 17,96.
Запрос к базе данных CERT по слову "Linux" дал 100 результатов. Первая запись описывает брешь с показателем серьезности 87,72. Только шесть записей содержат оценку серьезности 40 и выше. Среднее значение серьезности по первым 40 записям - 28,48.
Не стоило ожидать, что эти результаты совпадут с результатами нашего анализа по последним программным коррекциям. CERT использует другие критерии отбора, другой порядок дат, к тому же CERT не ограничивается только Windows Server 2003 и Red Hat Enterprise Linux AS v.3. Но результаты запросов к базе данных CERT отражают тот факт, что бреши в системе защиты Windows оказываются серьезными гораздо чаще, чем бреши в Linux, что соответствует нашим выводам.