Вирусы и другой вредоносный код

       

Черводинамика


Александр Захарченко, http://az13.mail333.com

«– Я думаю,– сказал Швейк,– что на все надо

смотреть беспристрастно. Каждый может

ошибиться, а если о чем-нибудь очень

долго размышлять, уж наверняка ошибешься.»

Я. Гашек

Последние пару лет на суд широкой общественности регулярно выносились новые результаты исследований динамики распространения компьютерных червей и вирусов. Пожалуй, на суд – это наверное слишком громко сказано. Просто в средствах массовой информации в меру авторского понимания пересказывалось содержание нескольких работ, выполненных при изучении эпидемии Code Red. Поскольку этот червь устроил более чем удачную облаву на сайт Белого Дома и получил соответствующую прессу, то итоговые исследования не удалось похоронить в архивах заказчиков, которыми традиционно выступают различные подразделения специальных ведомств США.

Главным выводом труда с явно рекламным заголовком «Как на досуге завладеть Интернетом» стало утверждение об осуществимости заражения  миллионов компьютеров (т.е. получения контроля над ними) буквально за считанные минуты. Зловредные коды с оптимизированной стратегией выбора жертвы смогли бы уложиться в 15 минут славы, упомянутых Andy Warhol’ом, а, оседлав широкополосные каналы, – даже менее чем за 30 секунд. Результаты эти были восприняты с изрядным скептицизмом, что естественно, особенно если учесть шумиху, поднятую СМИ. Поэтому следом сразу же появились работы, развивающие математические модели и более подробно разъясняющие тонкости эпидемических процессов.

Учтя противодействие вирусному распространению в виде «очистки, латания, фильтрации и даже отключения компьютеров и сетей» C. Zou со товарищи получили лучшее согласие результатов моделирования с хроникой распространения Code Red. И пришли к заключению, что человеческий фактор способен победить. В общем, начала оформляться новая публичная наука – черводинамика. Ну, а какая же это наука без эксперимента? И вышло так, что не успели ученые предупредить о блицкриге, как он и грянул.


Подведение итогов года минувшего превратилось в соревнование Кассандр, предсказывающих близкую гибель Интернета. СМИ увлеклись ожиданием цифрового апокалипсиса, обсасывая высказывания экспертов. Под Новый год Р. Кларк еще будучи на посту руководителя совета по защите критических инфраструктур США вновь напомнил о виртуальных угрозах, особенно подчеркивая уязвимость финансовых структур в эпоху электронной экономики. Вот только, когда крошка-червь вихрем пронесся по планете, то единственной реакцией от «киберцаря» оказалось почти незамеченное сообщение о давно запланированном

уходе в отставку
после одобрения доктрины кибербезопасности. «Странно как-то видеть…» такой оборот событий.

О том, что эпидемия червя Slammer (известного также благодаря острой конкуренции антивирусологов под именами Helkern и Sapphire) является не более чем проверкой теоретических предположений, можно судить по сверхщадящим условиям опыта. Код не только не нес в себе разрушительной нагрузки, но и не оставлял «спор» на захваченной машине. Таким образом, лечение могло свестись к перезагрузке уязвимого ПО (даже не системы!) и фильтрации специфических сетевых пакетов. И хотя для серверов – это тоже ЧП, но налицо очевидное стремление минимизировать ущерб. Явно учтен опыт вирусов Морриса и WANK, парализовавших каналы обмена информацией и заблокировавших таким образом распространение нетривиальных сведений о методиках избавления от них.

Далее, мишенью червя стали серверы баз данных, оснащенные специальным программным обеспечением, распространенность которого в Сети несравнимо меньше, чем у ПО общего назначения. Т.е., предполагалось, что с проблемой на сравнительно небольшом числе компьютеров столкнуться более-менее подготовленные специалисты (чтобы там про них потом не говорили), а не паникеры-чайники, и решение будет найдено быстро. Количество пораженных машин все же должно быть достаточным для однозначной интерпретации результатов. Попутно, кстати, проверялось, а что изменилось в подготовке компьютерно-административного персонала со времен инцидента с Интернет червем 1988 г. (так стыдливо теперь именуется вирус Морриса в справочнике





по компьютерной безопасности Национального института стандартов и технологий США).

Кроме того, вирус не маскировался и не прекращал сканирование сети в поисках жертв после исчерпания адресного списка. Т.е. скомпрометированный компьютер подавал предупреждающий сигнал на протяжении многих часов, хотя захват абсолютного большинства уязвимых серверов завершился на протяжении десятка минут.

Ну и наконец, атака началась в субботу, и в результате не столь существенно затрагивались финансовые и корпоративные структуры. Экспериментаторы похоже достаточно уважают толстые кошельки и занятость антитеррористических структур, чтобы инициировать к себе чересчур пристальное внимание. Пострадавшие от простоя банкоматов и отмены рейсов самолетов – это просто досадная мелочь, которую всегда можно списать. Естественно, что общий ущерб от косвенных проявлений червя оказался значительным, но все-таки игра стоила свеч.

В чем, конечно, автору Slammer’а не откажешь, так это в глубокой продуманности алгоритма размножения. Для проникновения на уязвимый компьютер достаточно было послать один UDP пакет (404 байта) и не ждать никакого ответа. В молоко, так в молоко. Зато каждый пораженный компьютер тут же засыпал своими семенами канал подключения к Интернет на всю полосу пропускания.

Что же мы имеем в сухом осадке после встряски, устроенной 376 байтами, которые на практике приоткрыли, как будет выглядеть начало очередного всемирного побоища. Теория и понимание уязвимостей оказалось верными: черви действительно распространяются молниеносно, а человеческий фактор реально способствует прекращению эпидемии… правда только посредством невключения в код вируса деструктивных функций. И что теперь со всем этим делать? Время реакции самого подготовленного IT-персонала значительно превышает время поражения Сети. За 10 минут не только невозможно предпринять какие-либо упреждающие либо защитные меры, но даже толком осознать происходящее.

Человечество полагало, что создает послушный и предсказуемый инструмент для повышения комфортности своего существования, а на деле столкнулось с кардинальной перестройкой жизненной среды.


Сегодня наверное уже невозможно найти область нашей жизнедеятельности, куда бы не пытались пристроить компьютерные технологии на пару с компьютерной безопасностью. Повсеместно это происходит без какого-либо анализа необходимости и реальной эффективности навязываемых IT-новаций. Кошмарной действительностью становятся угрозы катастрофических изменений во всей искусственно созданной сфере обитания, глобальные последствия чего в кратчайшие сроки окажутся необратимыми.

Попавшись на удочку фантастов–футурологов многие предполагали, что угрозу компьютерному будущему могут представлять только высокоинтеллектуальные программы, до которых в действительности еще далеко. Но вот, оказывается, что контроль над Интернетом можно потерять за считанные мгновения, а виновником тарарама оказывается крошечный набор байтов. Да при этом мы еще и благодарим автора злобного кода за предусмотрительную функциональную ограниченность червя. Отныне с этим придется жить.

А что касается черводинамики, то перед исследователями открывается не только поле «боев в памяти», которое можно вновь перепахать, теперь уже за совсем неигрушечные деньги. После молниеносной атаки Сеть приходила в относительную норму более суток. Справиться за столь короткий по человеческим меркам срок удалось поскольку зараза оказалась достаточно мирно настроенной, а исход сражения с эпидемией не зависел от участия владельцев домашних компьютеров и офисного персонала. Если заражение произойдет в гораздо больших масштабах, чем это случилось с SQL серверами, то, опираясь на опыт Klez, можно определенно утверждать, что эпидемию остановить не удастся.

Выводы из новых исследований несомненно заставят изменить подходы к конструированию глобальных сетей и разработке ПО. Спешить особо уже некуда – дно достигнуто и перспектив у метода латания на живую нитку (который можно окрестить по аналогии как Trishkin Caftaning) нет никаких. Теперь нет нужды аврально внедрять новые непроверенные протоколы и системы. Необходимо создавать крупные экспериментальные сети и проверять их на прочность в «боевых условиях», внося по ходу дела поправки в первые принципы.



Естественно, что на это уйдет много времени и домашнему пользователю различные премудрости не то что объяснить, а даже перечислить проблематично. Отключать неграмотных от Сети не получиться, поскольку за счет home PC живет огромный сектор экономики. Вот и получается, что в ход могут пойти контрчерви, нейтрализующие зловредный код и ограничивающие каналы его распространения. На них свой ответ дадут вирусописатели, и начнется новая цепная реакция. Поэтому, если научный подход и дальше будет отбрасываться во имя максимизации скорейшей прибыли, то уже в скором будущем нас ждут весьма увлекательные времена самозащищающегося, эволюционирующего и, главное, самодостаточного программного обеспечения.

Дополнительные материалы:



The Spread of the Sapphire/Slammer Worm.
Подробное исследование, выполненное сразу же по горячим следам.



Slammed! An inside view of the worm that crashed the Internet in 15 minutes.
WIRED magazine, 11-07-2003. Разобран механизм работы червя и приведен его исходный код.


Содержание раздела