Выбрать главу

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

– А что ты сейчас делаешь? – спросил меня Миша. Первым порывом было сказать ему «погоди, потом», но я сдержался.

– Ребята сделали дамп памяти. Это как бы слепок сняли или снимок сделали…

– Я знаю это слово, пап, мы проходим информатику в школе.

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

– Вы глазками будете всё смотреть? – удивился сын.

– Нет, конечно, есть утилиты для сверки памяти с эталонными образцами, чтобы увидеть разницу до вторжения червя и после.

– А ты сам что делаешь?

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

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

Разработчик в майке с надписью «In code we trust» («Мы верим в код»), пристроившийся рядом со мной, хрустел вафлями. Доев очередную, он выдал характеристику:

– Прикинь, скромный экземплярчик попался, червь не тронул ни один файл на диске. Да и в памяти не особо шуршит.

– Думаешь, червь безобидный? – спросил я.

– Не берусь утверждать, – сразу же стушевался любитель вафель, – пока что могу предположить, что разработчиком был кто-то из старой гвардии, потому что исходный код написан на чистом ассемблере, а не на каком-нибудь языке типа Джавы или Си++.

– Папа писал на ассембелере, – хвастливо заметил Миша.

– Респект! Сейчас таких профи осталось мало, – отозвался парень, дожевал кусок и, отряхнув руки о штаны, продолжил стучать на клавиатуре.

Миша уткнулся в свой смартфон, а я вернулся за свой ноутбук, проскролил переписку, и снова попытался читать реверсом добытый код. И тут увидел нечто, что походило на внутренний словарик программы.

– Кто-то пытался расшифровать этот кусок? – и я озвучил адреса байтов.

– Да, это подбор паролей, – не отрываясь от своего экрана, ответила ведущая аналитик, – там массив из 432 слов.

– 432?! – удивился я.

– Да, а что?

– Червь Морриса! – воскликнул я. – Он использовал ровно столько наиболее употребительных слов, чтобы вскрывать пароли аккаунтов.

Все взоры обратились ко мне.

– Возвращение великого интернет-червя? – задал кто-то с пафосом вопрос.

– Ха! Вот что имелось в виду под «Моррис 2.0»! – усмехнулся другой. – Я тут в форуме увидел, не понял, к чему они так назвали.

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

– Юзеры в постах жалуются, что время от времени эта зараза как бы выключает дисплей и пишет зелёными символами на чёрном фоне: «I’M THE CREEPER… THERE IS MY REAPER?» Даже не знаю, как перевести эту ерунду на русский.

– Первым известным вирусом был The Creeper, – поделился я вслух своими знаниями, – в переводе с английского «проныра» или «ползучее растение». Он печатал сообщение: «Я – ПРОНЫРА… ПОЙМАЙ МЕНЯ, ЕСЛИ СМОЖЕШЬ». Его обезвредила другая программа, первый антивирус под названием The Reaper, то есть «Жнец» или «Смерть с косой».

– Этот наглец бросил вызов! – не будь Миши рядом, я бы не стал столь театрально продолжать, но момент оправдывал очевидную патетику: – мы должны первыми выпустить алгоритм обнаружения и обезвреживания!

Миша вполголоса спросил меня:

– А почему бы всем фирмам не объединить усилия? Быстрее же добьётесь результата.

– С одной стороны, так оно и есть, а с другой – это гонка, кто первый – о том все будут говорить, к тому побегут пользователи покупать его антивирусный продукт.