До недавнего времени атакам вирусов подвергалась преимущественно ОС Windows, но сегодня складывается иная ситуация

Большинство вирусов написано для операционной системы Windows и различных ее сервисов и приложений. Однако некоторые провидцы уже предсказывали появление вируса и для набирающих все большую популярность вариантов Unix и прежде всего Linux. И вот такой червь появился — это Santy, который написан на языке сценариев Perl. Первая его версия атаковала Web-сайты, использующие популярный язык Web-приложений PHP. Впрочем, получившийся вирус независим от платформы, и одна из его версий была рассчитана на различные варианты Windows.

Ошибка, которую использовал Santy для распространения, была найдена еще за месяц до эпидемии в популярном инструменте для организации форумов phpBB. Он написан на языке PHP, удобен для быстрого создания сайтов, да к тому же распространяется свободно. Найденная ошибка позволяла сделать php-инъекцию, с помощью которой удаленный нападающий мог исполнить определенную команду на языке PHP. После обнародования информации об ошибке была зафиксирована волна массовых атак на Web-сайты, которые использовали phpBB, после чего авторы инструмента были вынуждены опубликовать исправления. Santy же лишь автоматизировал процесс нападения при помощи небольшого сценария на языке Perl.

У Santy была и еще одна характерная особенность. Для поиска новых жертв он использовал поисковые системы Internet, такие как Google, Yahoo и др. С этой целью вирус посылал в одну из этих систем специальный запрос, по которому он находил сайты, построенные на phpBB, — они имели характерные признаки в URL. Собственно, эта особенность вируса и была использована для прекращения эпидемии — на следующий день после начала распространения первой версии Santy в Google приняли решение о блокировке запросов от вируса, которые имели характерный вид. Тем не менее за время своего развития, по оценкам аналитиков, вирус успел поразить более 40 тыс. Web-серверов. Таким образом, была показана практическая возможность реализации и эффективность червя, который использует для атаки автоматически подготовленный список целей.

Червь особенно не скрывался: он подменял страницы атакованных серверов, помещая на них надпись «This site is defaced!!! NeverEverNoSanity WebWorm generation », где в качестве индекса n было указано поколение червя. Максимальное зафиксированное число поколений вируса было 27, хотя большинство атакованных сайтов относилось к 15-му поколению. Такое открытое поведение червя вызвало настоящую панику среди Web-мастеров и владельцев Web-сайтов, которые тут же поспешили сделать самые громкие заявления о том, что их атаковали недруги. Впрочем, очень быстро большинство сайтов было исправлено, а все их дефекты были устранены.

Широкое распространение вируса было вызвано популярностью инструмента phpBB, поэтому в обсуждениях этого случая иногда встречается мнение, что для предотвращения такой атаки нужно писать Web-сайты самостоятельно. Однако это заблуждение; на самом деле, вероятность обнаружения инъекции в самодельном сайте куда больше, чем в промышленной системе, которая анализируется большим количеством разработчиков. Поэтому вряд ли можно защищаться от нападений, не используя популярные средства разработки Web-сайтов. Скорее наоборот, непрофессиональный разработчик с большей вероятностью допустит ошибку в Web-приложении.

Поскольку phpBB к тому же относится к категории программных средств Open Source, прозвучали предложения перейти на коммерческие системы построения сайтов, однако и такой способ защиты не выдерживает критики. До недавнего времени именно наиболее популярная коммерческая программная платформа Windows и служила основной целью для большинства вирусописателей. Фактически атака Santy —первый пример массовой атаки с использованием технологий Perl и PHP на альтернативные операционные системы. В то же время массовых атак на коммерческие продукты только за последний год было несколько.

И если обновления ОС уже стали привычными для системных администраторов, то после эпидемии Santy придется обновлять и все общедоступные и популярные сервисы. При этом именно своевременная установка программных «заплат» является универсальным способом защиты от большинства вирусов.