[описание разных типов уязвимостей веб-серверов]материал подготовил: Марат Давлетханов 21.07.2005
Ни для кого не секрет, что веб-серверы* постоянно подвергаются множеству самых разнообразных опасностей. Причем самую серьезную угрозу представляют для них хакеры и вирусы. Первые могут получить доступ к конфиденциальной информации, размещенной на сервере, взломать сайты и подменить их содержимое, а также «завалить» сервер с помощью распределенной атаки на отказ в обслуживании (DDoS-атака). Вирусы же, заражая веб-серверы, превращают их самих в рассадник инфекции. Кроме того, они существенно замедляют его работу, а также занимают интернет-канал. На первый взгляд кажется, что эти угрозы по принципу работы очень сильно отличаются друг от друга. Но на самом деле это не совсем так. Оказывается, многие вирусы, особенно интернет-черви, используют для распространения уязвимости в программном обеспечении. Да и хакеры тоже предпочитают применять атаки, направленные на известные «дыры» в ПО. И в этом нет абсолютно ничего удивительного. используя уязвимости, и те и другие получают достаточно легкий доступ к удаленному компьютеру даже в том случае, если последний хорошо защищен.
итак, практически в любой программе есть уязвимости. И чем ее исходный код больше по объему, тем больше в ней можно найти различных «дыр». Наличие уязвимостей объясняется очень легко. Человек — не машина, он может ошибаться. Существует даже специальная норма программирования, в которой указано, сколько ошибок может допустить специалист при написании определенного числа строк кода. Кроме того, нельзя забывать, что крупное ПО пишет не один человек, а целая группа. И достаточно часто ошибки возникают при компоновке модулей, созданных разными программистами. Кроме того, наличие уязвимостей далеко не всегда определяется качеством написания ПО. Почему? А для того чтобы ответить на этот вопрос, давайте мы с вами, уважаемые читатели, рассмотрим, какие типы «дыр» сегодня существуют, а также от чего зависит их количество.
Уязвимости программного обеспечения
Практически в любой программе есть уязвимости
Когда речь заходит об уязвимостях веб-серверов, то подавляющее большинство людей сразу же вспоминают «дыры» в их программном обеспечении. Это относится к самим программам-серверам, таким как Apache, Microsoft Internet Information Server и т. д. И в этом нет абсолютно ничего удивительного. Все-таки данное ПО достаточно объемное и сложное, так что «дыры» в нем обязательно есть. Кроме того, нельзя забывать, что современный веб-сервер невозможно представить себе без многих дополнительных функций, например без поддержки языков программирования типа Perl, PHP и т. д., а также без систем управления базами данных*. Все это становится возможным благодаря установке на веб-сервер дополнительного программного обеспечения. И все оно тоже может содержать свои уязвимости.
Сегодня на сайтах, посвященных информационной безопасности, постоянно появляются сообщения об обнаружении новых уязвимостей в программном обеспечении веб-серверов. В этом процессе участвуют как специалисты по защите данных, так и хакеры. Причем последние при обнаружении новой «дыры» могут умолчать о ней и попытаться использовать ее в своих целях. Но частенько бывает наоборот. Хакер старается рассказать о новой уязвимости всем, в том числе и разработчикам софта. Делается это, скорее всего, из честолюбия. Хакер просто хочет показать миру свои знания и умения. Но в нашем случае это желание приносит только пользу.
Когда речь заходит об уязвимостях веб-серверов, то подавляющее большинство людей сразу же вспоминают «дыры» в их программном обеспечении
Главной особенностью производственных уязвимостей является их привязанность к определенным версиям программного обеспечения. Дело в том, что многие «дыры» часто встречаются не во всей линейке веб-серверов, а только в некоторых их релизах. А еще стоит отметить, что чем популярней то или иное программное обеспечение, тем чаще для него находят новые уязвимости. И это зависит не от качества написания софта. Просто его изучают больше специалистов, так что и вероятность обнаружения «дыр» относительно велика.
Защититься от рассматриваемого типа уязвимостей программного обеспечения можно только одним способом — своевременной установкой всех выпускаемых производителями патчей. Дело в том, что разработчики софта регулярно выкладывают на официальных сайтах обновления для своих продуктов. При обнаружении критической для безопасности «дыры» патч выпускается быстро (если, конечно, компания действительно заботится о своих клиентах). Если же вновь найденные уязвимости несут скорее теоретическую, нежели реальную угрозу, то по мере их накопления выпускаются кумулятивные патчи.
Уязвимости конфигурации
Главной особенностью производственных уязвимостей является их привязанность к определенным версиям программного обеспечения
Наверное, ни для кого не секрет, что безопасность любой вещи зависит от того, как ее применять. То же самое можно сказать и о веб-серверах. Очень многое зависит от того, как настроено его программное обеспечение. Вообще, подавляющее большинство веб-серверов обладают весьма обширным набором параметров, касающихся практически всех аспектов их деятельности. Таким образом, безопасность во многом зависит от администраторов, занимающихся их обслуживанием. Но нельзя забывать, что администраторы — это люди. А это значит, что они из-за своей невнимательности, недостаточной квалификации или еще по каким-то причинам могут ошибаться. И эти ошибки могут открыть дорогу к веб-серверу хакеру или вирусу.
От неправильной настройки не может помочь установка патчей. И действительно, при обновлении программного обеспечения его конфигурация не изменяется. А это значит, что уязвимость в системе защиты после инсталляции патча скорее всего останется. Таким образом, главной опасностью рассмотренного типа «дыр» является сложность их обнаружения. Так что единственный способ действительно надежной защиты от таких уязвимостей -использование специальных сканеров безопасности. Эти программы с помощью специальных методов исследуют защиту веб-серверов и находят все потенциально опасные места.
Уязвимости собственного программного обеспечения
Уязвимости могут возникать из-за некорректной настройки программного обеспечения веб-сервера
Современный веб-сервер и сопутствующее программное обеспечение очень часто служат своеобразной базой для исполнения программ собственного написания пользователей. Речь идет, конечно же, о скриптах, которые работают на большинстве современных сайтов. Дело в том, что многие языки веб-программирования являются серверными. Это значит, что скрипты, написанные на них, исполняются прямо на сервере, а на компьютер пользователя (в данном случае — посетителя сайта) отправляются только результаты их работы.
И вот здесь-то и кроется достаточно серьезная опасность. Дело в том, что скрипты для сайтов далеко не всегда разрабатываются действительно хорошими специалистами. На многих веб-проектах используются бесплатно распространяемые программы или же с