Программистам тоже иногда бывает скучно. Если ты трудишься в какой-нибудь серьезной софтверной компании, можно немного развлечься, запрятав куда-нибудь в недра разрабатываемой тобой программы пасхалку, причем так, чтобы ее случайно не обнаружили на code review. Судя по всему, именно так появилась на свет знаменитая «бродилка» под названием The Hall of Tortured Souls в Microsoft Excel 95, «леталка» в Excel 97, или прикол с запросом «Do a barrel roll» в поисковике Google. Вирусописатели, оказывается, тоже не брезгуют подобными развлечениями: истории известно множество вредоносных программ с припрятанными «пасхальными яйцами». Вот самые известные из них.
Еще со времен легендарного Elk Cloner, при каждой пятидесятой загрузке выводившего на экран забавный стишок, создатели малвари неоднократно «радовали» исследователей вредоносного ПО всевозможными сюрпризами.
В июне 2010 года мировые СМИ облетела новость о появлении червя Stuxnet, которого специалисты по информационной безопасности незамедлительно окрестили «кибероружием». И было за что: считается, что Stuxnet создали специально для атак на объекты промышленной инфраструктуры и компьютерные системы, управляющие оборудованием. Червь был способен перехватывать данные. передаваемые между программируемыми логическими контроллерами (PLC) Simatic S7 и SCADA-системой фирмы Siemens. Именно такие устройства применялись на предприятиях, работающих в рамках ядерного проекта Ирана. Технически Stuxnet считается одной из самых сложных вредоносных программ из известных на сегодняшний день: он использовал четыре уязвимости нулевого дня в Microsoft Windows, и умел не только шпионить. Червь отправлял на центрифуги для обогащения урана некорректные команды, из-за чего они начинали работать в нестабильном режиме. В результате оборудование выходило из строя, не вызывая мгновенных отказов, но снижая общую эффективность и надёжность работы. При этом весь процесс происходил скрытно.
Изучавшие код Stuxnet исследователи обнаружили в нем своеобразную «пасхалку». А именно, в дизассемблированных исходниках они наткнулись на слово «Миртус» («Myrtus»), представляющее собой отсылку к ветхозаветной Книге Есфирь. В ней рассказывается история раскрытия евреями персидского заговора, целью которого было уничтожения всего еврейского народа. Эта находка, наравне с другими косвенными признаками, утвердила аналитиков во мнении, что к созданию Stuxnet причастны израильские спецслужбы, стремившиеся замедлить ядерную программу Ирана. Если эта гипотеза верна, то Stuxnet стал первым известным примером использования кибероружия на государственном уровне для достижения политических целей. Но далеко не первой вредоносной программой, в недрах которой находили всевозможные «приветы» от разработчиков.
Вот, например, известный на весь мир почтовый червь ILOVEYOU, наделавший много шума в 2000 году и вызвавший настоящую компьютерную эпидемию. Этот вредонос, также известный под именами Love Bug или Love Letter, за считанные дни распространился по всей планете, заразив миллионы компьютеров и причинив ущерб, позже оценённый в миллиарды долларов.
Пользователи получали сообщение электронной почты с заманчивой темой «I LOVE YOU» от знакомого отправителя. Внутри письма находился вложенный файл с именем «LOVE-LETTER-FOR-YOU.TXT.vbs». Большинство не слишком искушенных жертв считали, что это текстовый файл, содержащий любовное письмо, и с лёгкостью открывали его, инфицируя собственную систему. Сработавший в этот момент скрипт на языке Visual Basic начинал копировать себя в системные папки, обеспечивая своё автоматическое выполнение при каждом запуске компьютера, а затем начинал массовую рассылку собственных копий всем контактам из адресной книги почтового клиента. Помимо этого червь портил файлы на заражённом компьютере, в результате чего пользователи теряли доступ к своим изображениям, музыкальным записям и документам.
Во вредоносном VBS-коде вирусные аналитики обнаружили комментарий «I HATE GO TO SCHOOL» и адрес электронной почты, оставленные автором червя — 24-летним филиппинским студентом Онелем де Гусманом. Позже благодаря этим строкам следователи сумели доказать, что де Гусман и есть создатель нашумевшей малвари, но на тот момент на Филиппинах не существовало законов, запрещающих разработку и распространение вредоносного ПО, благодаря чему вирусописатель сумел избежать наказания.
Одним из близких родственников ILOVEYOU считается макровирус Melissa, также распространявшийся по электронной почте и выпущенный в «живую природу» 26 марта 1999 года американцем Дэвидом Смитом. Создатель назвал свою программу в честь знакомой стриптизерши, а в исходный код добавил собственный ник — Kwyjibo, позаимствованный в одном из эпизодов мультсериала The Simpsons. Собственно, по этому самому нику Смита и вычислили агенты ФБР, передавшие вирусописателя в руки правосудия. А уж оно выписало Смиту целебную пилюлю в виде 20 месяцев тюрьмы и штрафа в размере 5000 долларов США. С тех пор манера подписывать вредоносные программы подобно тому, как художники эпохи Возрождения подписывали свои шедевры, понемногу сошла на нет. Хотя привычка оставлять в коде интересные комментарии у вирусописателей осталась.
Так, создатель сетевого червя Sasser, заразившего весной 2004 года более 250 тысяч компьютеров по всему миру, порадовал исследователей закомментированной строчкой «I love my girlfriend», заставившей их сделать ряд предположений о возрасте вирусописателя. Червь использовал уязвимость в службе Local Security Authority Subsystem Service (LSASS) операционных систем Microsoft Windows, и распространялся по сети без участия человека. Вредонос был написан на языке C и заражал компьютеры путем сканирования случайных IP-адресов в поисках уязвимых систем. Обнаружив цель, Sasser пытался инфицировать компьютер, копируя исполняемый файл с собственного FTP-сервера, запущенного на ранее зараженных машинах, и продолжая таким образом распространяться на другие узлы сети.
Как верно догадались вирусные аналитики, автором Sasser оказался 17-летний немецкий школьник Свен Яшан, действовавший, как говорится, «из хулиганских побуждений». Корпорация Microsoft объявила за поимку вирусописателя награду в размере 250 тысяч долларов, и Яшана сдали одноклассники, которым не хватало мелочи на колу и жвачки. Неизвестно, оценила ли его подвиг та самая «girlfriend», которую Свен увековечил в исходном коде Sasser, но суровый германский суд приговорил его 1 году и 9 месяцам лишения свободы условно с испытательным сроком в 3 года.
А вот в коде исполняемого файла компьютерного червя Lovesan, также известного под наименованием Blaster, исследователи обнаружили целое послание тогдашнему руководителю корпорации Microsoft Биллу Гейтсу: «billy gates why do you make this possible? Stop making money and fix your software!» («Билли Гейтс, почему ты делаешь это возможным? Перестань зарабатывать деньги и исправь свое программное обеспечение!»).
Червь Lovesan впервые обнаружили 11 августа 2003 года. Он эксплуатировал уязвимость в службе удаленного вызова процедур (RPC) Microsoft Distributed Component Object Model (DCOM), позволявшую выполнять в зараженной системе произвольный код. Заразив компьютер, Lovesan сканировал сеть на наличие систем, уязвимых для эксплойта RPC DCOM, и пытался инфицировать их. В случае успешного заражения Lovesan создавал в скомпрометированной системе свою копию и продолжал процесс неконтролируемого распространения. После этого он запускал таймер обратного отсчета, по истечении которого заставлял зараженный компьютер неоднократно перезагружаться, делая систему непригодной для использования. Также в коде червя была запрограммирована DDoS-атака на 80-й порт сайта windowsupdate.com, с целью усложнить пользователям доступ к обновлениям безопасности, которые могут защитить их от этого вредоноса.
Помимо послания Гейтсу, червь содержал и другую «пасхалку»: строчку «I just want to say LOVE YOU SAN!!», из-за которой вредонос и получил свое название «Lovesan». Впрочем, и первое послание главе Microsoft таки возымело свое действие: после распространения Lovesan корпорация столкнулась с критикой из-за слабой безопасности в своих операционных системах, и отреагировала запуском инициативы Trustworthy Computing, направленной на придание приоритета безопасности при разработке ПО.
Ну, а одним из абсолютных лидеров по количеству «скрытых посланий» в исполняемом коде вирусные аналитики по праву считают семейство руткитов TDSS (также известных под общим названием TDL). Руткиты TDSS впервые появились примерно в 2008 году и с тех пор непрерывно эволюционировали, породив несколько поколений. Ранние версии, такие как TDL-1 и TDL-2, были относительно простыми, хотя уже тогда они умели скрывать свое присутствие в системе и использовать различные механизмы, препятствующие их обнаружению. TDL-3 превратился в более сложную вредоносную программу, способную заражать главную загрузочную запись (MBR) и обеспечивать собственную работоспособность после перезагрузки системы. TDL-4, самый известный вариант, научился заражать 64-разрядные версии Windows. Он шифровал соединения с управляющими серверами, умел отключать антивирусные программы и использовал одноранговую P2P-сеть для распространения обновлений и команд, что делало его чрезвычайно устойчивым к сбоям.
Исполняемые файлы TDSS используют упаковщик, в котором обфускация достигается добавлением в код целых отрывков из шекспировского «Гамлета». Кроме того, будучи запущенным под дебаггером, руткит транслирует в отладчик большое количество цитат из мультериала «Симпсоны» и «Бойцовского Клуба», всего — более десятка. Например, при запуске и инициализации исполняемого файла обработчик событий возвращает строку «This is your life, and it's ending one minute at a time» или текст песни из эпизода «Spider-Pig» «Симпсонов»: «How did the pig tracks get on the ceiling? Spider-Pig, Spider-Pig…». Ну, а в комментариях к вредоносному коду можно обнаружить цитаты из кинолент «Страх и ненависть в Лас-Вегасе» и «Двенадцать обезьян».
Считается, что вредоносные программы создают злые гении, обуянные страстью наживы и разрушения, но наличие подобных «пасхалок» рисует образ вирусописателей с другой, более человечной стороны. Подобные находки в коде служат напоминанием о том, что даже за самым вредоносным софтом стоят люди с чувством юмора, а иногда и некоторой гордостью за свое ремесло. Хотя вред, причиняемый вредоносными программами, нельзя недооценивать, подобные пасхалки позволяют составить некоторое представление о мышлении их создателей, а иногда дают возможность и вычислить их, выступая в качестве своеобразных улик.
Комментарии, которые видят только анализирующие код специалисты, можно рассматривать как своеобразную форму общения вирусописателей с аналитиками, исследующими их работу. Как бы то ни было, подобные скрытые элементы добавляют определенную интригу в процесс изучения внутренней архитектуры вредоносных программ, напоминая нам, что даже в самых неожиданных местах — в строках вредоносного кода — могут встречаться проблески творчества и личного самовыражения.
Статья поддерживается командой Serverspace.
Serverspace — провайдер облачных сервисов, предоставляющий в аренду виртуальные серверы с ОС Linux и Windows в 8 дата-центрах: Россия, Беларусь, Казахстан, Нидерланды, Турция, США, Канада и Бразилия. Для построения ИТ-инфраструктуры провайдер также предлагает: создание сетей, шлюзов, бэкапы, сервисы CDN, DNS, объектное хранилище S3.
IT-инфраструктура | Удвоение первого платежа по коду HABR