Вирьё моё! Хроники невидимых хакерских войн от Сыктывкара до Сингапура
Вирьё моё! Хроники невидимых хакерских войн от Сыктывкара до Сингапура

Полная версия

Вирьё моё! Хроники невидимых хакерских войн от Сыктывкара до Сингапура

Настройки чтения
Размер шрифта
Высота строк
Поля
На страницу:
2 из 5

Саша начал с того, на чём специализировался: с макровирусов и скриптовых вирусов. К 2003 году их популярность уже падала, но они до сих пор составляли до половины входящего потока в вирлабе. На слуху была ещё история про почтового червя «Анна Курникова», который предлагал пользователям посмотреть эротические фотки известной теннисистки, но вместо фоток запускал скрипт на Visual Basic, пересылая себя по всем контактам в адресной книге жертвы. Похожий вирус Love Letter использовал более универсальную замануху: в заголовке письма было написано просто «I love you». Мало кто мог устоять против такого признания.

Ещё веселее работал почтовый червь SirCam, разлетевшийся по миру летом 2001 года. Если человек открывал вложение письма, вредоносный скрипт брал какой-нибудь файл из папки «Мои документы» на компьютере этого человека, заражал файл своей копией и рассылал дальше по всем контактам почты.

Поэтому эпидемия SirCam сопровождалась утечкой многих интересных документов — их можно было безопасно читать, вырезав вирус редактором типа Hiew. Достоянием масс стали различные финансовые отчёты, секретные файлы ФБР и даже планы украинского президента Кучмы: оказалось, что украинская администрация ведёт документооборот на русском языке, а вовсе не на украинском, который они в это время навязывали остальному народу. А разоблачительный червяк между тем продолжал способствовать просвещению масс: даже спустя несколько месяцев после начала эпидемии британский IT-журнал The Register выходил с заголовками типа «Тысячи идиотов до сих пор заражены вирусом SirCam».

Но и эти пятнадцатиминутки славы, растянутые на месяцы, уже остались в прошлом. А Саше нужно было разгребать свежий субботний поток. К полудню пришёл Главный и тоже погрузился в разбор почты. Он постоянно вёл переписку с экспертами из других компаний, у них были свои приватные списки рассылок для небожителей с многолетним стажем.

Сначала работа шла спокойно. Саша попробовал разобрать несколько больших бинарных файлов, время от времени дёргая Главного вопросами для подтверждения своих выводов: вирьё или не вирьё?

Через пару часов дверь распахнулась, на пороге появился Денис, пресс-секретарь компании.

— Ребзя! — сказал он, встав в центре комнаты. — А вы новости вообще слышали?

Аналитики переглянулись. Какие новости, мы тут мир спасаем, некогда нам…

— Там по телеку говорят, что Южная Корея без Интернета осталась, уже пять часов сидят!

Это сейчас смешно, когда новости получаешь из телеграм-каналов, спустя всего пару минут после любого события, а по телевизору про них рассказывают в лучшем случае через несколько часов. Но в 2003 году традиционные СМИ были главным источником новостей. А телевизора-то в вирлабе не было!

Новостные сайты помогли узнать, в чём дело: по всему миру падали интернет-сервисы. Помимо Южной Кореи, которая из-за перегрузки сети уже как будто вернулась в XIX век, пугающие новости поступали из Европы, США, Австралии. Тут и сами аналитики заметили, что Интернет работает слишком медленно, а число сообщений от почтовых серверов о недоставленных письмах резко выросло.

Можно было предположить, что это эпидемия червя, как та самая «Анна Курникова». А если так, задача понятна — надо срочно добыть файл, разобрать и задетектить!

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

Главный погрузился в пучины переписки с другими компаниями. Минуты шли.

— Слушай, тут кое-что прислали… — сказал вдруг Главный. — Похоже, просто кусок кода, непонятно откуда и какой-то мелкий… Я тебе кину тоже, посмотри.

Саша посмотрел. В коде не было ни начала, ни конца. Просто какие-то байты, среди которых виднелись текстовые строки:


h.dllhel32hkernQhounthickChGet

Qh32.dhws2_f

etQhsockf

toQhsend


Пресс-секретарь Денис убежал за пиццей. Главный с азартом долбил клавиатуру — он зарылся в дизассемблер, разбирая машинный код и добавляя к нему комментарии, подбирая нужные операции.

— Да вот же оно, вот! — Он откинулся в кресле и по-детски захлопал в ладоши.

Бессмысленный набор байтов превращался в стройные строчки машинного языка с операторами функций и системных вызовов.

— Смотри, тут он вот это берёт, вот сюда прибавляет, потом генерирует вызов, снова прибавляет… — Главный вслух проговаривал то, что творилось на экране. Но Саша всё равно ничего не понимал.

— А вот тут он собирает адрес и пуляет себя дальше. Всё! — Гигант реверса хлопнул себя по коленям. — Я сейчас ещё доразберу остатки, но уже всё ясно. А ты бери и детектируй, дятел!

— Но где же сам файл?

— А это и есть он, больше ничего нет. Сколько тут? Так, 376 байт. Вот оно целиком всё тут. Детектируй.

Сев на своё место, Саша открыл редактор антивирусных баз и начал заполнять поля. Первым шло «название». Что тут у нас? Червь. Значит, пишем Worm. Дальше платформа — Win32. Теперь название надо.

Принципы придумывания названий для новых вредоносов — отдельная большая история, которую мы ещё расскажем. Но в тот момент право на название было у Главного.

— А как назовём-то?

— Ой, ну возьми там из кода что-нибудь… Что там есть?

— Тут только «h.dllhel32hkernQhounthickChGet».

— Отлично. Берём hel, добавляем к нему kern. Так и назовём: Helkern!

Каждая антивирусная компания могла придумать своё название заразы либо взять уже известное от других. На тот момент других известных ещё не было. Однако в то же самое время червя исследовали в других лабах и там давали ему свои имена. Поэтому в истории этот червь остался не только как Helkern, но и как Slammer, он же Sapphire.

Итак, Саша дописал строку названия «Worm.Win32.Helkern» и указал тип файла. Теперь нужно «наложить маски», то есть выбрать куски кода, из которых получилась бы хорошая сигнатура — опознавательный признак для детектирования вируса. Для этого идеально подошла функция по собиранию IP-адреса из кусочков.

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

Главный сел писать письма коллегам-конкурентам, рассказывая о новой заразе. Да, они были конкурентами в бизнесе, но как эксперты по безопасности делали общее дело, поэтому обмен информацией шёл постоянно.

А Саше ещё предстояло выяснить, как эта зараза распространялась. Главная хитрость состояла в том, что червь не записывал себя в виде файла на диск — он был «бестелесным». Точно так же, как CodeRed в 2001 году. Достучавшись до следующего сервера, червь попадал прямиком в оперативную память, генерировал там произвольные IP-адреса и отправлял свои копии на серверы с этими адресами.

Но как же он заражал произвольно выбранный сервер? Ему помогала уязвимость, ошибка в реализации программы для базы данных. Оказалось, что атаке подвержены сервера, где работает программа MS SQL.

Но это совсем не новая дыра! О ней знали за полгода до эпидемии, с июля 2002 года. Тогда же компания Microsoft выпустила заплатку для исправления ошибки. Однако в те годы мало кто занимался оперативной установкой обновлений. Не парилась с этим даже в Microsoft: как стало известно позже, несколько их серверов тоже подкосил червь.

Простейший функционал, но потрясающая реализация и эффективность. Чтобы защититься, нужно либо установить заплатку для MS SQL, либо настроить систему контроля трафика (firewall) на отсекание вредоносных пакетов, пока они летят по сети. Ещё от червя можно избавиться перезагрузкой сервера, ведь зараза живёт только в оперативной памяти. Но как только сервер снова подключается к Интернету, он тут же может получить очередной вредоносный пакет. Традиционные антивирусы в лечении не помогают, ведь удалять с диска нечего, а лечить оперативную память в эти годы почти никто не умеет.

Пиарщик Денис вернулся с пиццей, и коллеги сели писать статью о том, как работает только что разобранный червь.

Пресс-релиз без ложной скромности назвали «376 байт, которые потрясли мир».


# # #


Мир действительно трясло. За первые 15 минут атаки червь умудрился поразить несколько десятков тысяч серверов. За следующие полчаса — несколько сотен тысяч. А за час заразились практически все сервера, которые могли быть заражены. То есть включённые и непропатченные.

А дальше все они генерировали в памяти новые адреса для атаки и слали туда пакеты с червём, те самые 376 байт. Рассылались они тысячами в минуту, так что Интернет оказался забит этими вредоносными пакетами, летающими туда-сюда. Один из российских банков сообщил, что за три часа они зафиксировали более 20 тысяч попыток червя пробиться на их сервер.

И даже спустя десять лет в Интернете продолжали летать пакеты Helkern. Достаточно было кому-нибудь установить новый сервер с непропатченным MS SQL — и он заражался, превращаясь в пулемёт, выстреливающий тысячи новых копий червя каждую минуту.

К счастью, для обычных пользователей прямого риска не было. Мало кто из них имел собственный SQL-сервер. Для них червь создавал проблемы только с загруженностью каналов и зависанием интернет-сервисов. Именно тогда Саша осознал: если бы подобный червь заражал ещё и устройства всех простых пользователей, от такой эпидемии Интернет едва ли смог бы оправиться.

И хотя пицца уже была съедена, а червь разобран и описан, до спасения мира было ещё далеко. Эпоха глобальных эпидемий сетевых червей только началась. Во время выступления на конференции в Ганновере через три месяца Главный скажет, что Интернет уже сидит на таблетках, а вскоре ему понадобятся капельница и морг. Вот к какому хаосу ведёт сетевая анонимность.

И кстати, да, личность создателя Helkern до сих пор не установлена. Уязвимость в MS SQL была известна за полгода до эпидемии. И код эксплойта (программы, которая использует эту уязвимость для атаки) уже был доступен многим хакерам.

Впоследствии кто-то нашёл куски кода, похожие на Helkern, среди файлов китайской хакерской группы Honker Union. Возможно, за этой эпидемией действительно стояли китайцы. Другой бестелесный червь, CodeRed, появившийся на полтора года раньше, при заражении веб-сервера подменял главную страницу на текст с таким признанием:


HELLO! Welcome to http://www.worm.com! Hacked By Chinese!


В пользу азиатской версии говорит и главная жертва эпидемии — Южная Корея. Она пострадала сильнее всего, в первые же минуты после запуска червя.

И хотя ни одна из азиатских хакерских групп не призналась в авторстве Helkern, желающие получить свои 15 минут славы всё равно нашлись. Спустя пару недель после начала эпидемии радикальная исламская группировка «Харакат уль-Муджахидин» взяла на себя ответственность за произошедшее. Террористы заявили, что они «начали киберджихад» и использовали Интернет, чтобы посеять хаос и смятение среди неверных.

В качестве доказательства своего авторства исламисты указали на число 42, которое содержалось в одной из первых инструкций кода вируса. Оно обозначает сокращённое название их группировки — HUM. В латинском алфавите буква H имеет порядковый номер 8, U — 21, а M — 13, что в сумме даёт 42.

Многие аналитики весьма удивились такой вольной трактовке символов и инструкций на ассемблере. А ФБР заявило, что группировка «Харакат уль-Муджахидин» не входит в число подозреваемых, однако деятельность экстремистов и их возможное отношение к эпидемии тщательно изучаются.

Зато вирлаб, разобравший червя, получил свои 15 минут славы прямо на следующий день после начала эпидемии, в воскресенье. Столь грандиозное событие вызвало массовый интерес, тем более что с наступлением рабочего понедельника количество заражённых систем обещало вырасти. Телеканалы прислали свои съёмочные группы, дабы прямо с передовой линии электронного фронта провести разъяснительную работу в вечерних выпусках новостей.

Сашу до интервью не допустили: «Первый канал» снимал Главного. Однако Саша смотрел на всё это с таким интересом, что Главный заметил. И подойдя к нему, прищурился:

— А ты в следующий раз пойдёшь!

Ждать следующего раза пришлось не так уж и долго.

Глава 3. РАЗНЫЕ ЛЮДИ


«За спиной каждого успешного мужчины стоит женщина», — сказала однажды Грета Гарбо, стоя за спиной какого-то бомжа. «А за спиной каждого неуспешного стоят две», — ответил Марк Твен.

В наши дни делать такие неполиткорректные заявления опасно, даже если вы приписали эти цитаты очень известным людям. Но мы возьмём на себя смелость сказать, что за каждой вредоносной программой стоит человек.

Если ты знаешь, чего хотел автор вируса, ты быстрее поймёшь логику его программы и потенциал развития идеи. А это крайне важно для предсказания будущих угроз.

Сейчас добыча таких знаний превратилась в полноценное направление исследований — Threat Intel. Поисковые боты-разведчики прочёсывают тёмные глубины Даркнета и светлые облака социальных сетей, выявляя атаки ещё на стадии подготовки. Нейросети ищут сходство в кодах различных вредоносов и определяют почерк хакерских групп по коллекциям «цифровых генов». Психологи выявляют потенциальных хакеров ещё в детском саду и вшивают им специальные чипы… Хотя нет, тут мы слишком забежали в будущее.

Начиналось всё с методов попроще. Да и общая картина, в плане человеческих мотивов, двадцать лет назад радикально отличалась от сегодняшней — большинство вирусов создавались без какой-либо коммерческой цели. Хотя киберпреступники уже существовали, но они ещё не использовали вредоносные программы на полную мощь, в основном занимаясь простым фишингом или столь же простыми взломами вроде подбора пароля 11111.

Основным же источником массовых угроз служили любители. Создавали они свои вирусы чаще всего из хулиганских побуждений — навредить соседу, школе. Либо для самовыражения: о, про мою выходку напишут в новостях!

Однако уже существовала небольшая прослойка «идейных». Вот они-то и были серьёзной проблемой. Эти люди проводили настоящие исследования технологий, пытаясь выйти за рамки обычного программирования: найти недокументированные возможности в софте или обойти защитные механизмы, крайне слабые на тот момент. Занимались они этим чисто из любопытства и для удовольствия и преступниками как будто и не считались: «Мы просто ведём теоретическую работу». Основным противником идейных стали именно антивирусные лабы, а не соседи по школьной парте.

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

Более заметная эволюция происходила в это время в человеческих коллективах. Возникшая в 90-е вирусная сцена делится на группы: к началу XXI века на этой сцене практически не осталось вирусописателей-одиночек, хотя некоторые люди переходили из группы в группу. Почти каждый коллектив выпускал электронный журнал с описаниями своих инноваций, некоторые уже делали веб-сайты.

В конце 90-х этот подпольный мир переживает сильнейший кризис из-за глобального перехода от операционной системы MS-DOS к Windows. Старые трюки уже не работают, а кодить под Windows гораздо сложнее. Многие выходят из игры, но с 1998 года появляется новое поколение «идейных», которое выступает на вирусной сцене примерно до 2006 года.

Самая легендарная группа того времени называлась 29A (число 666 в шестнадцатеричной системе). Группа активно поддерживала свой демонический имидж, выпуская журналы по пятницам 13-го. Возникла эта тусовка в середине 90-х в испанском сегменте сети FIDO. С появлением собственного сайта группа стала международной — в неё вступали хакеры со всего мира, включая и российских. Но всегда присутствовало испано-бразильское ядро.

Именно 29A ответственна за создание множества эпохальных вредоносных программ конца 90-х — начала 2000-х. Вот только часть из них:

Happy99 — считается первым червём, который умел распространяться через почту.

Hybris — один из первых почтовых червей, использовавших загрузку дополнительных модулей из центра управления.

Cabir — первый червь для Symbian OS, летающий через Bluetooth.

Duts — первый вирус для Windows CE.

Esperanto — первый кроссплатформенный и мультипроцессорный вирус. Мог работать под DOS, Windows и MacOS, на процессорах Intel x86, Motorola и PowerPC.

Stream — первый вредоносный код, прятавший себя в «потоки» файловой системы NTFS.

Lindose — вирус, способный заражать файлы Windows и Linux.

Donut — первый вирус на платформе .NET.

Cap — один из первых макровирусов для MS Word.


Заметьте: все эти творения были концептуальными! Их первые версии практически никогда не несли серьёзных деструктивных функций и не представляли угрозы для широкого круга пользователей. Один из членов группы, известный под ником Mr. Sandman, в интервью сравнивал себя с поэтами и художниками, а свои вирусы считал произведениями искусства.

Проблема была в другом. Избрав антивирусную индустрию в качестве оппонента и постоянно подкидывая ей новые вызовы, эти теневые исследователи отвлекали внимание и ресурсы на противодействие. Антивирусникам приходилось реагировать на все инновации — даже если такие находки не несли особого вреда.

Вот, скажем, компания Microsoft придумала «потоки»: это такой способ хранения дополнительной информации в файловой системе. Тут же выходит зверушка под названием Stream, которая умеет прятаться в «потоках». А на момент появления этого концепта ни один антивирус в мире не проверяет «потоки». Значит, нужно реализовать эту проверку, потратив месяцы на анализ, разработку и тестирование.

Но сколько после этого было создано боевых вредоносных программ, использующих технологию «жизни в потоке»? Да не больше десятка.

Поэтому едва ли можно утверждать, что деятельность группы 29A двигала эволюцию антивирусных продуктов. Очень уж много энергии уходило на борьбу с фантомами. Когда на анализ поступает новый неизвестный образец, долго рассуждать нельзя. Ведь авторы этих концептов публикуют исходные коды в открытом доступе. А значит, любой хулиган или преступник может модифицировать описанную технологию под свои задачи — и выпустить по-настоящему опасный код.

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


# # #


В январе 2004 года по Интернету разлетелся червь MyDoom, который до сих пор, даже спустя 20 лет, остаётся рекордсменом по целому ряду параметров. Это был самый быстрораспространяющийся почтовый червь в истории, он заразил полмиллиона компов по всему миру, вызвал общее замедление трафика Интернета на 10%, а суммарный ущерб от эпидемии оценили в 38 миллиардов долларов (тоже непобитый рекорд). За голову автора объявили награду в 250 тысяч долларов, но его так и не нашли.

Разлетаясь по почте, червь превращал заражённые компы в гигантскую зомби-сеть для DDoS-атак: все они начинали посылать множество запросов на сервера компаний SCO и Microsoft, тогдашних лидеров на рынке проприетарного программного обеспечения. Неудивительно, что в создании червя обвиняли сторонников операционной системы GNU/ Linux с открытым кодом. И конечно же, русских обвиняли в первую очередь: ведь, как известно, это русские придумали любовь и открытые коды, чтобы не платить капиталистам.

Но для нашей истории интересна другая деталь. В коде некоторых штаммов червя MyDoom содержалось зашифрованное сообщение, которое гласило: «Мы ищем работу в AV-индустрии».

Это могло бы стать зачином для типичного голливудского фильма категории B. Представим себе крутого вирусописателя (пусть его играет Джуд Лоу), который только что уложил своим червём весь Интернет. После этого он идёт прямиком в антивирусную компанию, где его принимают с распростёртыми объятиями. И назначают гонорар, явно превышающий те несчастные 250 тысяч долларов, что обещаны за его голову. И вот теперь он — вирусный аналитик, который за неделю должен разобрать 500 новых вирусов. Только в воскресенье он наконец может отдохнуть, то есть заняться своим любимым хобби: снова сесть на целый день за комп и написать ещё одного несчастного червячка. Прямо как в анекдоте: «Пришёл на пляж — а там станки, станки…»

Нет, в реальности такое кино не прокатит. Одно из первых правил антивирусной индустрии — запрет принимать на работу человека, когда-либо создававшего малвару. Какой компании будет приятно, если её сотрудника вдруг арестуют за его прошлые делишки? Или ещё хуже, он окажется агентом «тёмной стороны», который нанесёт вред бизнесу изнутри или раскроет секреты противнику? Да и вообще, чтобы создавать технологии защиты, нужен совсем другой склад ума. Ломать — не строить.

В качестве примера можно привести историю вирусописателя Benny, члена той самой группы 29A, в составе которой он создал несколько десятков вредоносных программ. В начале 2003 года, в очередном номере журнала группы, он сообщил о своём уходе — и как будто стал вести жизнь приличного человека.

Настоящее его имя было Марек Стрихавка, а жил он в городе Брно. Марек устроился на работу в чешскую компанию Zoner, которая писала софт. Пополнив свою команду крутым специалистом, компания разработала антивирусную утилиту и решила выйти с ней на рынок. Продукт назвали ZAV — Zoner Antivirus.

25 ноября 2004 года в дом Марека вломилась чешская полиция: все его компьютеры изъяли, а его задержали. Полицию интересовала его прошлая жизнь в составе 29A и возможная причастность к созданию червя Helkern/Slammer, который поразил Интернет за полтора года до этих событий — примерно в то время, когда Марек объявил об уходе с вирусной сцены.

Доказательств причастности Марека к червю не нашли, уголовное дело не возбудили, руководство компании Zoner выразило полное доверие своему сотруднику. И всё же в индустрии их антивирус стал «недоверенным». Сам Марек в итоге ушёл в другую чешскую компанию, Safetica, где занимаются защитой от утечек. Тоже неплохо для бывшего члена банды, стоявшей за технологиями, которые впоследствии использовались для кражи данных.

Показательна и история 18-летнего немца Свена Яшана, автора червей Netsky и Sasser. В первой половине 2004 года эти черви были в ответе за 70% мировых заражений. А червь Netsky оставался самым массовым почтовым червём на протяжении ещё двух лет.

Нанесённый урон тоже был немалым. Червь Sasser вырубил рентгеновские аппараты в одной из шведских клиник, авиакомпания Delta Air Lines отменила несколько полётов из-за сбоя компьютеров в аэропортах, агентство France-Presse несколько часов оставалось без спутниковой связи, а британская береговая охрана на целый день лишилась доступа к своим камерам слежения. Среди пострадавших также числились офисы Еврокомиссии и банк Goldman Sachs.

Неудивительно, что компания Microsoft назначила награду в 250 тысяч долларов за информацию об авторе этой заразы. Так его и нашли: Свена сдал одноклассник, узнавший о награде. Вирусописателя арестовали в мае 2004 года.

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

Такое решение вызвало множество негативных откликов в индустрии, а крупная немецкая антивирусная компания Avira и вовсе прекратила сотрудничество с Securepoint. «Мне бы не хотелось, чтобы к нашим разработкам приложил руку создатель вирусов», — заявил основатель Avira [2].

На российской, а точнее постсоветской вирусной сцене начала 2000-х обитало лишь несколько вирусописателей мирового уровня, таких как z0mbie и zhengxi. Однако коды, созданные ими, заставляли аналитиков поломать голову.

Среди групп выделялась Stealth Group WorldWide (SGWW), которая сформировалась в 90-е в Киеве, а затем открыла филиал в Москве. Члены группы создавали уже не только концептуальные вещи — там было много настоящих вредоносов, которые среди прочего заразили посольство США в Киеве и вызвали ещё ряд локальных эпидемий. А их электронный журнал Infected Voice, предтеча популярного журнала «Хакер», в 90-е годы был единственным журналом, который писал о компьютерном андеграунде на русском языке.

На страницу:
2 из 5