Разгул червей Code Red (на иллюстрации) заставил учёных по новому взглянуть на проблему вирусов. Недавно Николас Вивер, специалист из университета Беркли, опубликовал работу "Черви Ворхола: Возможность возникновения очень быстрых эпидемий в Интернете", в которой рассматривается способы создания крайне опасного вируса, которому для того, чтобы покорить всю Сеть, потребуются считанные минуты. Обычные черви, как правило, отыскивают компьютер, который может быть заражён, случайным образом перебирая IP-адреса. На это и тратится основное время. Оптимизировав этот процесс, можно достигнуть значительного увеличения скорости распространения вредоносной программы. Ещё большей эффективности можно достичь, если каким-либо образом обеспечить "сотрудничество" между разными вирусами. Это, по мнению, Вивера, вполне возможно, и только по счастливой случайности таких червей ещё не появилось - идея лежит на поверхности. Учитывая, что чем стремительнее распространяется вирус, тем сложнее его одолеть (к тому времени как системные администраторы и антивирусные компании спохватятся, будет уже поздно), быстрые черви несравнимо более опасны чем обычные. Чтобы избежать траты времени впустую, вирус должен использовать заранее приготовленный список из нескольких десятков тысяч адресов, по которым находятся машины, которые с большой степенью вероятности могут быть заражены. Список может составить сам автор червя, прежде чем выпустить его на волю. Заставить червей поддерживать между собой связь (чтобы хотя бы не осаждать один и тот же сервер вновь и вновь) - это крайне сложная задача. Однако её отчасти позволяет решить всё тот же список адресов. Найдя по списку уязвимую систему, червь заражает её, а затем передаёт половину своего списка своему новорожденному потомку, так что тот начнёт сканирование Сети с того места, на котором остановился его родитель. К тому времени, когда весь список исчерпается (а случится это очень скоро), вирус поразит многие тысячи компьютеров. После этого он может перейти к другим методам сканирования. Это снизит скорость его распространения, но теперь это будет уже неважно. В дополнение к списку могут использоваться иные методы увеличения эффективности (например, определённый "положительный" эффект может иметь регулярность сканирования Сети). А если в руки вирусописателя попадёт информация о новом, только что открытом уязвимом месте в той или иной ОС или серверной программе, про которое ещё не знает ни изготовитель, ни пользователи, вирус будет неостановим. Для того, чтобы подтвердить изложенные в статье выводы, был создан несложный симулятор. Результаты испытаний показали, что при наличии в Интернете миллиона уязвимых систем, 10000 из которых занесены в список, на то, чтобы поразить 99% компьютеров потребуется всего 6 минут 30 секунд. При меньшем количестве уязвимых серверов время несколько увеличивается, однако всё равно остаётся столь малым, что это практически не играет никакой роли - чтобы заразить все 250000 уязвимых систем, нужно не больше 20 минут. Источник: Журнал "Компьютерра" |