Pro Вирусы

Холмогоров Валентин

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

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

 

© Холмогоров В., 2015, текст

© ООО «Страта», 2015, оформление

 

Предисловие

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

Информация пронизывает все современное общество, проникает во все без исключения сферы нашей жизни. Информационные потоки управляют движением самолетов и поездов, обеспечивают телефонную и спутниковую связь, являются движущей силой биржевой торговли и банковской сферы. Без непрерывных процессов передачи и обработки информации не загорится электрическая лампочка в квартире, не смогут пробить товар кассовые аппараты в супермаркете, замрут бензозаправочные станции, погаснут светофоры на улицах. Информация сегодня де-факто управляет миром. Вот почему сфера информационной безопасности является сейчас одной из наиболее актуальных и важных областей IT-индустрии. Она буквально балансирует на острие прогресса, скользит на гребне волны, всегда оставаясь на ее вершине — ведь технологии в наши дни развиваются стремительно. А одним из наиболее значимых (и интересных) подразделов информационной безопасности является защита устройств от компьютерных угроз.

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

Пять лет назад были обнаружены первые троянцы для смартфонов, работавших под управлением операционной системы Google Android. Эти самые ранние экземпляры еще не несли в себе значительной угрозы пользователям — они просто предлагали отправить платную СМС при установке новых приложений — и потому сначала никто не воспринял их всерьез. Посетители многочисленных форумов в Интернете ехидно комментировали выпуск антивирусных программ для Android желанием разработчиков нагреть руки на несуществующей и якобы преувеличенной опасности, а мне все эти дискуссии напомнили — буквально до ощущения дежавю — начало 90-х годов уже прошлого, XX века. Тогда в ходу были персональные компьютеры «Искра 1030» и «ЕС-1842», дома у меня имелся «Поиск». Жестких дисков не было: MS-DOS загружали с пятидюймовой дискетки, куда помещался еще Norton Commander и компилятор Turbo Pascal. Оперативной памяти — 640 килобайт. Черно-белые дисплеи CGA. Сейчас любой дешевый китайский телефон по вычислительной мощности превосходит те компьютеры как минимум на порядок. И уже тогда раздавались гневные выкрики: зачем на персоналках антивирусное ПО? Занимает место, расходует память! За компьютерами работают только профессионалы, прошедшие специальные курсы и выучившие команды DOS, они знают наизусть всего Фигурнова! Неужели трудно вручную вычистить дискетку? Да там всего 720 килобайт! Неужто сложно заучить наизусть имена всех системных файлов MS-DOS и вручную проверить автозагрузку? Трудно запомнить размер command.com? Да ерунда все это! Для персоналок существует всего десять вирусов! Ну ладно, двадцать. В общем, создатели антивирусных программ просто хотят на нас заработать! На костер их!

Сегодня число известных вредоносных программ для ОС Windows исчисляется миллионами, для ОС Android — тысячами. Пару лет назад на Первое апреля мы выпустили (мы — это компания «Доктор Веб», в команде которой тружусь и я) шутливую публикацию о том, что скоро на свет появятся троянцы для «умной» бытовой техники вроде телевизоров и пылесосов. Как оказалось, мы заглянули в будущее: угрозы для устройств SmartTV, работающих под управлением Android, стали реальностью уже сегодня.

В силу моей профессии ко мне часто обращаются знакомые с просьбами проконсультировать их по вопросам защиты информации и борьбы с вирусами. И я всякий раз сталкиваюсь с тем, что многие из них (даже те, кто является неплохим специалистом в других компьютерных областях) не слишком хорошо разбираются в данном предмете, не знакомы с некоторыми важными фактами, безоговорочно верят в домыслы и стереотипы, путаются в терминологии. Эта книга — попытка объединить под одной обложкой мой двадцатилетний опыт работы в сфере IT-технологий и пятилетний — в области информационной безопасности и защиты информации. Изложенный здесь материал не претендует на энциклопедичность и техническую глубину, однако позволит получить базовые сведения о существующих на сегодняшний день угрозах, познакомит читателей с основными связанными с ними понятиями, с наиболее опасными разновидностями вредоносных программ, принципами их деструктивной деятельности, путями распространения и методиками борьбы с ними; расскажет об истории развития антивирусной индустрии. Иными словами, эта книга — начальное пособие для всех, кто интересуется теорией и практикой информационной безопасности и антивирусной защиты.

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

. Также со мной можно связаться по адресу электронной почты [email protected]

Хочу выразить искреннюю благодарность за неоценимую помощь и мудрые советы моим уважаемым коллегам: Игорю Здобнову, Алексею Ткаченко, Владимиру Мартьянову, Павлу Плотникову и Александру Свириденко.

 

Глава 1. Закоулки истории

Первые ласточки

Общепринятое мнение гласит, что теоретические основы, послужившие фундаментом для разработки самореплицирующихся (то есть автоматически воспроизводящихся) компьютерных программ заложил еще в начале 50-х годов XX века американский математик венгерского происхождения Джон фон Нейман. В 1951 году фон Нейман на основе собственного цикла лекций создал научный труд под названием «Тео­рия самовоспроизводящихся автоматов» (книга была опубликована уже после смерти автора, в 1966 году, издательством университета Иллинойса), в котором описал принципиальную возможность разработки так называемых клеточных автоматических устройств, способных к самовоспроизведению подобно клеткам живого организма. Именно этот принцип распространения и по сей день используют современные компьютерные вирусы и черви.

По поводу этимологии самого названия «вирус» применительно к самореплицирующимся компьютерным программам также ведутся ожесточенные споры. Считается, что впервые этот термин именно в таком контексте употребил американский астрофизик и писатель-фантаст Грегори Бенфорд в своем рассказе «Человек в шрамах», опубликованном в журнале Venture в мае 1970 года. А уже в 1975 году американский писатель-фантаст Джон Браннер выпустил роман «Оседлавший взрывную волну», в основу которого лег сюжет о появлении самораспространяющейся вредоносной программы. Книга рассказывала о компьютеризированном обществе, которым управляло с помощью глобальной электронной сети правительство диктаторов и тиранов. Программист, решивший спасти мир от диктатуры, написал программу, которую автор романа назвал «червем»; эта программа копировала себя с одного компьютера на другой, разрушая хранившуюся в них информацию. Чтобы остановить «червя», правительство вынуждено было отключить сеть, лишившись таким образом власти. Роман быстро стал бестселлером, поистине культовой книгой в только зарождавшейся тогда среде компьютерных хакеров.

Однако одновременно с развитием теории программисты-энтузиасты проводили и первые практические опыты. Так, в 1971 году работавший в вычислительной лаборатории компании «Bolt, Beranek and Newman» американский программист Боб Томас занимался исследованием возможностей созданной им же самим подсистемы RSEXEC, позволявшей осуществлять удаленный запуск программ в операционной системе Tenex. Экспериментируя с системами передачи данных между различными вычислительными машинами, Томас написал программу, которую назвал «Ползуном» (The Creeper). «Ползун» самостоятельно копировал себя с одного компьютера на другой, перемещаясь таким образом по сети, и выводил на экран каждого терминала забавное сообщение: «Я — Ползун… Если сможешь, поймай меня!» (I’m the Creeper… Catch me if you can!). Эта небольшая программа не размножалась, а просто «ползала» с одного сетевого узла на другой: когда на удаленном компьютере запускалась новая копия Creeper, исходный экземпляр уничтожался. Фактически этот случай можно назвать первым в истории документально подтвержденным фактом успешной разработки автономно распространяющейся компьютерной программы, которую, впрочем, все же нельзя назвать полноценным «компьютерным вирусом», поскольку она не несла в себе никакого вредоносного функционала. К слову, история гласит, что, когда другому специалисту Bolt, Beranek and Newman, Рэю Томлинсону, надоело бороться с бесконечно отвлекающими его от работы «Ползунами», он написал другую программу, получившую наименование Reaper («Жнец»). Reaper в точности так же самостоятельно перемещался по сети, но с совершенно иной целью: программа вылавливала и безжалостно уничтожала всех «Ползунов», которые попадались ей на пути. Эта незамысловатая «игра в догонялки» продолжалась какое-то время, пока программисты лаборатории окончательно не утратили к ней интерес.

В 1974 году появилась первая в истории программа, которую по ряду формальных признаков можно назвать вредоносной, однако имен ее создателей история, увы, не сохранила. Нехитрое приложение с названием The Rabbit («Кролик») полностью соответствовало своему наименованию: ее предназначение вполне можно описать известной библейской формулой «плодитесь и размножайтесь». Программа автоматически создавала множество своих копий и увлеченно занималась этим до тех пор, пока не забивала всю доступную свободную память компьютера, что неизбежно вызывало его отказ. Именно это приложение стало своего рода основоположником целого семейства вредоносных программ, объединенных общей категорией: «логические бомбы».

А еще через год случился инцидент, вошедший в историю как первый случай самопроизвольного распространения программы, вышедшей из-под контроля своего создателя. Речь идет об игре The Animal, созданной программистом Джоном Уокером для компьютера UNIVAC 1108. Суть игры состояла в следующем: пользователь загадывал некое животное, а программа задавала ему наводящие вопросы, на которые он должен был отвечать «да» или «нет». Компьютер таким образом пытался угадать, что задумал человек. Однако код игры содержал досадную ошибку: при попытке пользователя добавить в базу приложения дополнительные вопросы, новая версия игры записывалась поверх старой, и кроме того с использованием специальной утилиты игра автоматически создавала свою копию в каждой директории, к которой пользователь имел доступ. Поскольку компьютеры UNIVAC были многопользовательскими, программа быстро проникала на другие компьютеры, использующие общие магнитные ленты в качестве носителя информации. Остановить бесконтрольное распространение игры The Animal (быстро получившей народное название Pervading Animal, «Всепроникающее животное») смогло только обновление операционной системы, в котором был изменен формат состояния файловых таблиц, используемый приложением для самокопирования.

Следующий аналогичный случай не заставил себя долго ждать. В 1980 году двое сотрудников компании Xerox, которая в те времена выпускала пользовавшиеся большой популярностью персональные компьютеры Alto, имеющие возможность объединения в локальные сети, решили создать программу, которую, по аналогии с упоминавшимся в романе Браннера детищем программиста-бунтаря, назвали «Червем». Собственно, «Червь» Джона Хаппа и Джона Шока должен был нести положительную миссию: по замыслу разработчиков, перемещаясь между подключенными к сети компьютерами, «Червь» был призван проверять операционную систему на наличие уязвимостей и по возможности устранять их, загружая с удаленного сервера соответствующие обновления. Однако на практике все получилось совсем не так, как задумали разработчики. Запустив вечером экспериментальную версию «Червя», Хапп и Шок отправились домой. Когда утром программисты вернулись на работу, они увидели, что все компьютеры, установленные в многоэтажном здании исследовательского центра Xerox, расположенного в калифорнийском городке Паоло-Альто, благополучно зависли. В исходном коде «Червя» была допущена незначительная ошибка, благодаря которой программа начала бесконтрольно распространяться между различными узлами сети и блокировать их работу. Перезагрузка машин не помогала: часть входящих в сеть компьютеров была установлена в закрытых комнатах, к которым Хапп и Шок не имели доступа, и как только на перезагружаемой машине запускалась операционная система, «Червь» тут же копировал себя в ее память с другого компьютера, после чего система мгновенно выходила из строя. Отключив одну из машин от локальной сети, программисты вынуждены были экстренно создать другую программу, которая уничтожила бы взбесившегося «Червя». На полную ликвидацию последствий их совместного творчества ушло несколько дней.

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

Эпоха вирусов

Что бы ни говорили о безопасности и защищенности данной системной платформы многочисленные поклонники компьютерной техники производства небезызвестной «яблочной» компании из города Купертино, первым в истории компьютерным вирусом, обнаруженным в «живой природе» (то есть за пределами компьютерной системы или вычислительной лаборатории, где он был написан), стала вредоносная программа Elk Cloner для персональных компьютеров Apple II. Произошло это в 1981 году.

Собственно, выбор создателя Elk Cloner, 15-летнего школьника Ричарда Скренты, пал на компьютер производства Apple не случайно — на заре 80-х именно эти относительно недорогие и весьма «продвинутые» персоналки пользовались чрезвычайно высокой популярностью в США, занимая значительную долю розничного рынка. Скрента относился к категории молодых людей, которых сейчас принято называть жаргонным термином «гики» — он был не просто пользователем Apple II, а «продвинутым компьютерным гением», любившим покопаться в архитектуре операционной системы и «внутренностях» прикладных программ. Одноклассники часто брали у Ричарда дискеты с играми, которых у него имелось множество, однако он быстро заработал себе репутацию проказника и шутника, поскольку постоянно модифицировал одалживаемые друзьям программы, чтобы они время от времени выводили на экран компьютера различные забавные, а порой и неприличные или оскорбительные фразы. В конечном итоге приятели и вовсе перестали просить программы у Скренты, предпочитая заимствовать игры из более надежных источников. Именно тогда Ричард задумался о том, как он смог бы модифицировать программы дистанционно, физически не прикасаясь к дискете. Итогом его размышлений и стал вирус Elk Cloner.

Вирус распространялся вместе с компьютерной игрой, при каждом 50-м запуске которой отображал на экране стишок следующего содержания:

It will get on all your disks

It will infiltrate your chips

Yes, it’s Cloner!

It will stick to you like glue

It will modify RAM too

Send in the Cloner!

Он влезет на все ваши диски,

Он проникнет в ваши чипы,

Да, это Cloner!

Он прилипнет к вам, словно клей,

Модифицирует оперативную память.

Представляем Cloner!

Если компьютер загружал операционную систему Apple DOS 3.3 с инфицированной дискеты, Elk Cloner копировался в оперативную память компьютера, после чего дожидался, пока пользователь вставит в дисковод «чистую» системную дискету, и заражал ее, обеспечивая этим собственное распространение. Поскольку компьютеры под управлением Apple DOS 3.3 были чрезвычайно популярны в Северной Америке, Elk Cloner быстро сделался самым настоящим стихийным бедствием — вирус распространился настолько широко, что компания Apple вынуждена была даже выпустить специальную утилиту для его уничтожения, которая к тому же предотвращала повторное заражение системных дискет. Ну, а сам Ричард Скрента навсегда вписал свое имя в историю развития компьютерных технологий и информационной безопасности. Закончив Северо-Западный университет (Чикаго, Иллинойс), Скрента поработал программистом в таких известных компаниях, как Sun Microsystems, Netscape, America On-Line (AOL), а позже создал собственную фирму в Кремниевой долине, занимающуюся разработкой оригинального поискового движка, известного сейчас под наименованием Blekko.

В том же 1981 году было зафиксировано распространение самореплицирующейся программы под названием Virus 1,2,3 — и тоже в операционной системе Apple DOS 3.3 для компьютеров Apple II. Ну, а уже в 1986 году разразилась первая эпидемия среди IBM-совместимых компьютеров, массово заражавшихся вирусом-буткитом Brain.

Авторами этого творения стали 19-летний пакистанский программист Басит Фаруд Алви и его родной брат Амджат. Сами братья утверждали, что вирус был написан ими для защиты от нелицензионного копирования разработанного ими же медицинского программного обеспечения и предназначался только для компьютерных пиратов. После своего запуска Brain подменял собственной копией загрузочную запись на дискетах, отформатированных в файловой системе FAT (File Allocation Table), используемой, в частности, операционной системой MS-DOS. Оригинальная загрузочная запись перемещалась в другой сектор диска, помечавшийся как «плохой» (bad), а в качестве метки тома устанавливалось значение «©Brain». За год своего существования вирус заразил множество компьютеров во всем мире, в первую очередь на территории США и Великобритании.

Следующий, 1987 год, стал поистине урожайным на появление новых вредоносных программ. Так, в течение последующих двенадцати месяцев были выявлены вирусы, известные под именами Vienna, Stoned, Ping Pong, Cascade. Наиболее масштабное распространение получила вредоносная программа Jerusalem, обнаруженная в Иерусалиме в октябре 1987 года и инфицировавшая компьютеры под управлением MS-DOS по всему миру.

Jerusalem был резидентным вирусом, использовавшим около 2 Кбайт оперативной памяти компьютера и заражавшим все запускающиеся в системе исполняемые файлы за исключением основного компонента ядра MS-DOS — файла command.com. Вирус обладал несколькими вредоносными функциями: благодаря возможности перехватывать используемые DOS системные прерывания, он мог значительно замедлять работу зараженной машины, спонтанно отключать рабочие станции от сети и препятствовать нормальному выводу документов на печать. Однако главная его опасность заключалась в том, что каждую пятницу, выпадавшую на 13-е число (кроме 1987 года), вирус уничтожал исполняемые файлы всех без исключения запускающихся на инфицированном компьютере программ, что, естественно, нарушало нормальную работу персоналок.

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

Роберт Моррис, старший сын Боба Морриса, одного из ведущих экспертов отдела Агентства Национальной Безопасности США по расследованию компьютерных преступлений, рос тихим и скромным мальчиком. Его единственной страстью были компьютеры. Уже в четырнадцатилетнем возрасте он переписал популярную у подростков компьютерную игру The Four Corners, добавив в нее множество новых функциональных возможностей. В 16 лет он стал настоящим экспертом по системе безопасности UNIX, обнаружив в «классическом» берклиевском коде этой платформы множество ошибок, которые не замедлил исправить. Однако он и сам не брезговал пользоваться обнаруженными «дырами» в защите, время от времени подключаясь к удаленным электронным сетям в поисках интересующей его информации. Это увлечение привело к тому, что вскоре в компьютерном журнале Smitsonian появился материал, в котором Роберта называли одним из наиболее известных молодых хакеров в Америке. Именно Роберт Моррис является автором и разработчиком одной из наиболее известных реализаций протокола передачи данных UUCP — Unix-To-Unix CoPy. Обучаясь на четвертом курсе Гарвардского университета, Роберт уже читал лекции в Национальном Агенстве Безопасности США и исследовательских лабораториях военно-морского флота по безопасности операционной системы UNIX.

Полученные Робертом в ходе его самостоятельных разработок и изу­чения уже существующего опыта других программистов знания требовали практического применения. В качестве эксперимента Роберт решил написать программу, которая, используя обнаруженные им недоработки в созданном для UNIX протоколе FTP и программе sendmail, могла бы самостоятельно распространяться между объединенными в сеть компьютерами, но при этом умела бы эффективно «прятаться» в операционной системе и самостоятельно размножаться. Иными словами, «Червь» Морриса должен был объединять в себе все достоинства предыдущих попыток создания аналогичных программ. Поскольку эта разработка была всего лишь научным экспериментом, тестом на безо­пасность объединенных в сеть компьютерных систем, Роберт заложил в код «Червя» алгоритмы, сдерживающие его распространение, никаких модулей, разрушающих файловую систему атакованных компьютеров, также задумано не было. 2 ноября 1988 года в 18.30 Роберт Моррис подключился к компьютерам лаборатории искусственного интеллекта MIT и запустил свою программу на исполнение. Когда спустя полчаса он снова попытался подключиться к сети, чтобы проверить ход эксперимента, удаленный компьютер не ответил: благодаря закравшейся в исходный код ошибке «Червь» начал бесконтрольно размножаться, блокируя нормальную работу вычислительных систем, и вскоре вырвался из локальной сети MIT на просторы ARPANET’a — глобальной компьютерной сети, являвшейся на тот момент предшественницей современного Интернета.

Программа Морриса-младшего стала настоящим бедствием для США: в течение нескольких дней функционирование ARPANET было парализовано практически полностью. По различным подсчетам, эпидемия поразила порядка 6000 компьютеров — около 10% всех работавших тогда в сети вычислительных машин, нанесенный «Червем» ущерб оценивался от скромной цифры в 150 000 до значительной суммы в 75 млн долларов США. Вскоре к делу подключилось ФБР, однако расследование длилось недолго: Моррис сам признался в содеянном, а пресса раздула скандал до неимоверного масштаба, прежде всего благодаря профессии его отца — ведущего эксперта АНБ США по борьбе с компьютерной преступностью.

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

Новое время

На заре 90-х годов развитие компьютерных технологий набрало поистине фантастическую скорость. Не отставали от мировых тенденций и вирусописатели. Еще в 1989 году появилась первая классическая троянская вредоносная программа, известная под именем AIDS. Этот троянец использовал механизм монетизации, который стал повсеместно распространенным только спустя 17 лет, с возникновением вредоносных программ-шифровальщиков: AIDS делал недоступной всю хранящуюся на дисках компьютера информацию, после чего демонстрировал на экране требование о выкупе в размере 189 долларов. Однако в те далекие времена еще не существовало анонимных платежных систем вроде Bitcoin, которые позволили бы злоумышленникам получать от своих жертв деньги, оставаясь при этом в тени, поэтому автор троянца был арестован полицией при попытке обналичивания чека и осужден за вымогательство.

В 1990-м году получили распространение первые стелс-вирусы, такие как Frodo и Whale. Особенностью данной категории вредоносных программ является умение полностью или частично скрывать свое присутствие в зараженной операционной системе путем перехвата ряда системных функций и обращений ОС к инфицированным файловым объектам. Так, стелс-вирусы, способные заражать исполняемые файлы, обычно перехватывали обращения операционной системы на чтение файла, запись в файл или загрузку/отображение файла в память, с целью скрыть изменение размера этого файла после заражения. Кроме того, Whale, исполняемый модуль которого «весил» всего 9 килобайт, обладал довольно совершенными алгоритмами шифрования и антиотладки, весьма затруднявшими его детектирование и анализ.

Тогда же, в 1990 году, впервые были обнаружены полиморфные вирусы, первенцем среди которых принято считать вредоносную программу, известную под названием Chameleon. Полиморфные вирусы используют специальную технологию, формирующую код вредоносной программы прямо во время ее исполнения, то есть буквально «на ходу». При этом сам код, описывающий алгоритм формирования исполняемого файла вируса, тоже не остается постоянным и меняется от одного инфицированного объекта к другому. Благодаря тому что вирус в результате всех этих манипуляций непрерывно «мутирует», его опознание, выявление и обезвреживание средствами антивирусных программ были в то время чрезвычайно затруднены. Другим известным полиморфным вирусом, также распространявшимся в 90-м году, стала вредоносная программа под названием Tequila.

1992 год ознаменовался массовой эпидемией вируса Michelangelo, заразившего миллионы компьютеров по всему миру. Michelangelo можно назвать одним из первых в истории загрузочных вирусов, поскольку он, инфицируя компьютеры, работающие под управлением MS-DOS, модифицировал основную загрузочную запись операционной системы (Master Boot Record, MBR). Свое название вирус получил за то, что активировал свои вредоносные функции один раз в год, 6 марта, в день рождения великого художника эпохи Возрождения. В этот день он заполнял первые 100 секторов жесткого диска зараженного компьютера нулями. Поскольку вирус заражал загрузочную запись, он внедрялся в память компьютера во время запуска операционной системы. Стоило пользователю вставить в дисковод инфицированной персоналки любую дискету, и при обращении к гибкому диску вирус немедленно заражал его, обеспечивая таким образом собственное распространение. Поскольку большую часть времени эта вредоносная программа находилась в состоянии «сна», активизируясь только раз в год, она успела широко распространиться по всему миру, прежде чем была впервые обнаружена.

Следующая крупная эпидемия, вызванная распространением загрузочного вируса, произошла уже в 1994 году, и ее виновником стала очень опасная вредоносная программа, получившая известность под именем OneHalf. OneHalf представлял собой полиморфный загрузочный файловый вирус. Инфицировав основную загрузочную запись (Master Boot Record, MBR), при запуске операционной системы он передавал управление своему основному исполняемому модулю, который при каждом запуске компьютера шифровал по две дорожки на жестком диске со случайным ключом. Загруженный в оперативную память резидентный компонент вируса выполнял роль своего рода драйвера, перехватывая все обращения операционной системы к диску и расшифровывая ранее подверженные шифрованию данные «на лету», вследствие чего операционная система не испытывала каких-либо проблем в процессе чтения-записи файлов и фактически «не замечала» присутствие вируса в системе. Однако при попытке удаления вредоносной программы доступ к хранящейся на зашифрованных участках жесткого диска информации автоматически прекращался. После успешного шифрования половины доступного объема диска в момент загрузки операционной системы вирус в некоторых случаях выводил на экран компьютера сообщение: «Dis is one half. Press any key to continue…». После нажатия пользователем любой клавиши на клавиатуре компьютера загрузка MS-DOS возобновлялась в штатном режиме. Вирус отличался присутствием в своей архитектуре полиморфных алгоритмов, обладал различными функциями антиотладки, препятствующими попыткам его анализа, и обладал способностью заражать исполняемые файлы.

Поскольку OneHalf шифровал диск от конца к началу, рано или поздно он зашифровывал весь его доступный объем, включая загрузочную область. В результате при следующем включении компьютера запуск операционной системы становился невозможным, и вся информация на диске безвозвратно терялась. В начале 1994 года OneHalf вызвал настоящую пандемию среди пользователей MS-DOS, он встречался на инфицированных компьютерах вплоть до второй половины 90-х.

1995 год оставил свой след в мировой истории запуском каталога «Yahoo!», первой стыковкой американского Шаттла с российской станцией «Мир», началом работ по восстановлению храма Христа Спасителя в Москве и выпуском операционной системы Microsoft Windows 95. Именно последний факт оказал наиболее серьезное влияние на сферу информационной безопасности, поскольку появление принципиально новой по своей архитектуре ОС открыл перед вирусописателями широчайшие горизонты для творчества.

Именно в 1995 году появились первые в истории макровирусы, использовавшие в целях реализации своей вредоносной деятельности скриптовые языки, предназначенные для создания макросов в приложениях пакета прикладных программ Microsoft Office, и, в частности, Microsoft Word.

Развитие операционных систем семейства Windows 90-х повлекло появление и новых вредоносных программ, так или иначе использующих их ресурсы. Так, в 1998 году разразилась эпидемия вируса Melissa, предназначенного для массовой рассылки нежелательных рекламных почтовых сообщений — спама, а вскоре пользователей компьютеров постигла новая напасть — распространение вируса Win95.CIH, также известного под народным наименованием «Чернобыль».

Эта вредоносная программа была написана тайваньским студентом Чэнь Инхао, она представляла собой резидентный вирус, способный работать только на компьютерах под управлением операционной системы Windows 95/98. Вирус активизировался 26 апреля 1999 года (в годовщину аварии на Чернобыльской АЭС, из-за чего он и получил свое название) и уничтожил все данные на жестких дисках инфицированных компьютеров, а в некоторых случаях модифицировал содержимое микросхем FlashBIOS, приводя компьютеры в полностью неработоспособное состояние. Таким образом, Win95.CIH стал первым в истории компьютерным вирусом, способным взаимодействовать с компонентами аппаратной архитектуры ПК, такими как микросхемы BIOS.

Начиная с конца 90-х годов появление новых модификаций вредоносных программ стало приобретать лавинообразный характер, и к началу 2000-х число вирусов и троянцев для операционных систем семейства Microsoft Windows насчитывало уже сотни тысяч.

Наши дни

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

В 2000 году серьезную опасность для пользователей представлял червь «I LOVE YOU», распространявшийся в виде вложения в сообщения электронной почты. Потенциальная жертва получала письмо с вложением, содержавшее строку «ILoveYou». При попытке открыть вложение на атакуемом компьютере запускался VBS-сценарий, который рассылал копию червя по всем адресам электронной почты из адресной книги Microsoft Outlook. В общей сложности от действия этой вредоносной программы пострадало более 3 млн пользователей по всему миру.

Другой почтовый червь, известный под наименованием MyDoom, атаковал компьютеры пользователей в 2004 году. Инфицировав компьютер, MyDoom блокировал пользователю доступ к сайтам антивирусных компаний и компании Microsoft. Червь предназначался для организации массовых атак на отказ в обслуживании (DDoS-атак) на различные сайты.

В 2006 году было зафиксировано появление первых массовых ботнетов — вредоносных сетей, созданных с использованием автономно действующих дистанционно управляемых программ (ботов). Одной из первых и наиболее крупных таких бот-сетей стал Rustock. Данный ботнет, предназначенный для рассылки рекламных почтовых сообщений — спама, насчитывал на начальном этапе более 150 тысяч зараженных ПК, а в момент пика своего роста — более 2 миллионов. Компьютеры, инфицированные Rustock, позволяли злоумышленникам отсылать более 25 тысяч рекламных писем в час, благодаря чему ботнет приносил своим создателям миллионные прибыли.

В 2007 году в России было отмечено появление первых троянцев-винлокеров, получивших в последующие годы чрезвычайно широкое распространение, быстро принявшее масштабы настоящего национального бедствия, а в 2010 году троянцы этого типа впервые вышли за рамки российских границ. Эта категория программ-вымогателей блокировала нормальную работу операционной системы Microsoft Windows, демонстрируя на экране компьютера изображение-баннер с требованием заплатить выкуп за разблокировку. Широкому распространению этого типа угроз способствовало также и то, что злоумышленники создали специальные программы-конструкторы для быстрого создания троянцев-винлокеров, благодаря чему производить таких троянцев в поистине промышленных масштабах получили возможность даже люди, абсолютно далекие от программирования.

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

Еще одна крупная эпидемия разразилась в 2008 году: ее причиной стал почтовый червь Conficker, заразивший более 12 миллионов компьютеров во всем мире. Этот червь распространялся, используя уязвимости в архитектуре ОС Microsoft Windows, и потому в течение довольно длительного времени борьба с ним была весьма затруднена — до тех пор, пока корпорация Microsoft не выпустила соответствующие обновления безопасности. По оценкам экспертов, червь нанес совокупный ущерб пользователям в размере, превышающем 9 млрд долларов, а в устранении последствий эпидемии помимо Microsoft принимали участие крупнейшие мировые антивирусные компании. В том же 2008 году появились первые банковские троянцы, предназначенные для хищения денежных средств непосредственно с банковских счетов своих жертв, использующих системы дистанционного банковского обслуживания («банк — клиент»).

С ростом популярности мобильной операционной системы Google Android к ней заметно повысился и интерес со стороны злоумышленников: первые вредоносные программы для портативных устройств под управлением Android появились в 2010 году. А в 2012 году специалисты российской антивирусной компании «Доктор Веб» выявили первый в истории ботнет, состоящий из компьютеров Apple с установленной на них операционной системой Mac OS X, зараженных троянцем-бэкдором BackDoor.Flashback.39. В момент пика своей деятельности бот-сеть BackDoor.Flashback.39 насчитывала более 650 тысяч зараженных компьютеров Apple по всему миру.

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

 

Глава 2. Сравнительная вирусология

Классификация по типу операционной системы

Так, наиболее очевидной (и наименее точной) методикой классификации вредоносного ПО можно считать распределение угроз по сис-темным платформам, на заражение которых ориентировано то или иное опасное приложение. В этом отношении абсолютным и безоговорочным лидером являются операционные системы семейства Microsoft Windows, на которые сегодня рассчитано порядка 95% всех существующих в мире вредоносных программ.

На втором месте по числу опасных приложений располагается мобильная платформа Google Android. Согласно статистическим данным, опубликованным российской антивирусной компанией «Доктор Веб», в 2010 году специалистам по информационной безопасности было известно всего лишь порядка 30 вредоносных, нежелательных и потенциально опасных Android-программ, к 2011 году их количество составило уже 630, еще через год оно возросло до 1267, к концу 2014 года превысило 5600, а уже в июне 2015 года достигло 10 144. Эти цифры наглядно демонстрируют, что прирост числа угроз для платформы Android постепенно принимает экспоненциальный характер. Если подобная динамика сохранится в дальнейшем, можно предположить, что к декабрю 2015 года общее число известных специалистам вредоносных Android-программ превысит значение в 20 000.

Основная причина такого бурного роста числа угроз для Android в целом очевидна: вирусописатели заинтересованы в извлечении прибыли от распространения своих вредоносных приложений, а мобильные платформы — это живые деньги. Фактически современный смартфон представляет собой мобильный электронный кошелек, и простор для творчества со стороны злоумышленников здесь поистине огромен: они могут рассылать платные СМС-сообщения, совершать в тайне от пользователя телефонные звонки на различные коммерческие номера, подписывать жертву на те или иные виртуальные услуги, за использование которых с ее счета будут ежедневно списываться денежные средства, крутить на телефоне рекламу, а если его владелец использует системы мобильного банкинга — просто красть с его счета деньги, перехватывая входящие СМС с одноразовыми паролями и кодами авторизации. Сегодня существуют даже блокировщики и троянцы-шифровальщики для Android. Потенциальная емкость этого теневого рынка огромна, и он будет освоен, причем стремительно. Сейчас мы как раз наблюдаем этот процесс вживую.

Безусловно, 99% современных троянцев для Android неискушенный пользователь запускает на своем устройстве самостоятельно, скачав их из Интернета под видом игры или какой-либо полезной программы. Казалось бы, достаточно проявлять элементарную осмотрительность, и можно гарантированно избежать опасности заражения. Однако не стоит также сбрасывать со счетов тот факт, что ОС Android — это массовая и чрезвычайно популярная операционная система, занимающая львиную долю на современном рынке мобильных устройств. Она рассчитана на обычного, рядового, среднестатистического владельца смартфона, который может даже не знать такого термина, как «системная платформа». Все, что от него требуется, — это умение интуитивно нажимать на кнопки. И потому, когда загруженная из Интернета игра, запускаясь на выполнение, потребует от него доступа к СМС, сети, списку контактов, внутренней памяти телефона, личным данным и холодильнику на кухне, он нажмет «Ок» не задумываясь, потому что просто не поймет, что все эти слова означают. Впрочем, он и не должен этого понимать, он — пользователь, от слова «использовать». Именно это «слабое звено» и эксплуатируют в своих неблаговидных целях киберпреступники.

Третью позицию по количеству известных угроз занимает операционная система Apple Mac OS X, широко известная среди обывателей своей «неприступностью» и «безопасностью». Троянских программ для OS X и вправду существует сравнительно немного, но, тем не менее, они есть, причем первый троянец, ориентированный именно на OS X, был выявлен в 2006 году. Подавляющее большинство среди угрожающих пользователям Apple вредоносных программ составляют так называемые рекламные троянцы, многие из которых реализованы в виде надстроек (плагинов) для наиболее популярных браузеров: Safari, Chrome, Firefox. Их основное назначение заключается в демонстрации потенциальной жертве назойливой рекламы при открытии им в окне браузера различных веб-страниц. Существуют троянцы-майнеры для OS X, использующие вычислительные мощности компьютеров Apple для «добычи» электронных криптовалют путем сложных математических вычислений. Одним из немногих и весьма редких примеров вредоносной программы, способной проникнуть на «мак» вообще без участия пользователя и абсолютно незаметно для него, является уже упоминавшийся мною ранее бэкдор BackDoor.Flashback.39, использовавший для своего распространения уязвимость в Java-машине OS X. Следует, между делом, отметить, что если бы инцидента с Flashback не случилось, пользователей «маков» наверняка постигла бы другая аналогичная эпидемия — например, спустя короткое время после выявления упомянутой выше угрозы был обнаружен троянец BackDoor.Sabpub.1, использовавший для своего распространения ту же самую уязвимость, что и Flashback. Беды удалось избежать лишь потому, что корпорация Apple вовремя выпустила «заплатку» для своей реализации Java (вовремя — это спустя два месяца после выхода аналогичного обновления от Oracle). Этих двух месяцев вполне хватило на то, чтобы BackDoor.Flashback успел инфицировать 600 000 с лишним машин. По данным на 22 июня 2015 года, во всем мире до сих пор насчитывается порядка 26 700 компьютеров Apple, зараженных Flashback, при этом большая их часть (13 966) находится на территории США, на втором месте по числу заражений (4 781) — Канада, на третьем (2 115) — Австралия.

Безусловно, с точки зрения архитектуры и разграничения прав доступа операционная система от Apple намного безопаснее Windows, однако абсолютно безопасных системных платформ не бывает в принципе. Любая ОС — это по большому счету конгломерат программ различного назначения, которые пишут люди. А им, в свою очередь, свойственно ошибаться. То, что вирусописатели всерьез заинтересовались OS X, — серьезный признак роста распространенности системной платформы от Apple. Ни один создатель троянцев не станет писать вредоносное ПО под непопулярную ОС: чем больше число пользователей, тем выше шанс заразить чью-либо машину. Чистая математика, ничего личного. И эпидемия BackDoor.Flashback.39  — признак того, что Mac OS X перешагнула некий незримый рубеж между «игрушкой для избранных» и «массовой системной платформой». И это — естественный процесс, получивший свое развитие еще в момент перехода Apple на аппаратную платформу Intel.

На четвертом месте по распространенности в «дикой природе» занимают вредоносные программы для ОС семейства Linux. Интерес злоумышленников к данной платформе обусловлен тем, что эти операционные системы активно используются для поддержки веб-серверов, а также FTP- и почтовых серверов в Интернете, благодаря чему заражение такой машины может открыть злоумышленникам, например, доступ к SMTP-серверу для организации массовых рекламных рассылок, к веб-серверу — для реализации автоматических перенаправлений посетителей сайта на интернет-ресурсы, распространяющие другое вредоносное ПО, в целях хищения пользовательских учетных данных, а также для организации массовых DDoS-атак. Причиной заражения во многих случаях является недостаточная компетентность администраторов Linux-серверов при настройке операционной системы, установка различного ПО из недоверенных репозиториев, а также использование ими «слабых» паролей, неустойчивых к взлому путем простого подбора по словарю или с применением методов «брутфорса» (подбор пароля полным перебором, также известен как взлом с использованием «грубой силы»).

Отдельную подкатегорию Linux-угроз составляют троянцы, предназначенные для заражения устройств, работающих под управлением встраиваемых версий Linux, например бытовых маршрутизаторов (сетевых и wi-fi-роутеров), в том числе использующих аппаратную архитектуру MIPS и ARM. Известны случаи, когда такие троянские программы подменяли настройки DNS-маршрутизатора, что приводило к автоматическому перенаправлению пользователей на вредоносные интернет-ресурсы при просмотре веб-сайтов или вызывало неожиданное появление рекламных сообщений в окне браузера. Некоторые вредоносные программы подобного типа реализовывали функции прокси-сервера, осуществляя фильтрацию пользовательского трафика с различными неблаговидными целями (фишинг, подмена поисковой выдачи, автоматическое перенаправление на вредоносные и мошеннические интернет-ресурсы и т.д.).

Угрозы для других системных платформ в количественном выражении составляют малозначительные величины. Так, по данным на 2015 год, число вредоносных программ, способных представлять опасность для пользователей мобильной платформы Apple iOS, вообще исчисляется единицами, да и те представляют угрозу в основном для устройств, подвергшихся процедуре jailbreak (несанкционированного производителем устройства получения доступа к файловой системе).

Классификация по вредоносным функциям

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

Вирусы

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

Фактически на июнь 2015 года можно назвать лишь ограниченное число активно действующих файловых вирусов, представляющих реальную угрозу для пользователей. Прежде всего это представители семейства Rmnet (Ramnit ­— по классификации компании ESET), способные выполнять на пользовательском компьютере веб-инжекты (о том, что это, мы побеседуем в разделе, посвященном обзору функций вредоносных программ), благодаря чему вирус теоретически в состоянии получить доступ к банковским счетам жертвы, если она пользуется системами «банк — клиент». Также эти вирусы осуществляют кражу паролей от популярных FTP-приложений, которые впоследствии могут быть задействованы злоумышленниками для проведения таргетированных сетевых атак, а также выполнять поступающие от киберпреступников команды.

Еще один распространенный в наши дни вирус относится к семейству Sector (Sality — по классификации Symantec, ESET и «Лаборатории Касперского») — представители этого семейства способны загружать из Сети и запускать на инфицированной машине различные исполняемые файлы, а также выполнять ряд иных вредоносных функций. Также определенную распространенность сейчас имеют вирусы семейств Win32.MewsSpy, Win32.VirLock и некоторые другие.

Чтобы отнести вредоносную программу к категории компьютерных (файловых) вирусов, она должна отвечать двум важным критериям:

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

обладать способностью заражения (инфицирования) файловых объектов.

Вот об этом следует поговорить чуть подробнее. Собственно, умением самостоятельно создавать собственные копии (самореплицироваться) обладает и еще одна категория вредоносных программ — компьютерные черви (worms). А вот умение заражать файлы характерно в первую очередь для вирусов. Под заражением понимается технология, с использованием которой вирус внедряется непосредственно в файл исполняемого приложения (программы), не нарушая при этом ее основных функциональных возможностей. Запуская такую программу на исполнение, пользователь одновременно запускает и встроенный в нее вирус, который, загрузившись в память инфицированного компьютера, реализует заложенные в него создателями деструктивные функции. Таким образом, распространение вируса происходит в том числе вместе с зараженными программами, в которые успел встроиться вирус.

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

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

Стелс-вирусы — вирусы, способные полностью или частично скрывать свое присутствие на инфицированном компьютере, например, путем перехвата обращений операционной системы к зараженным файловым объектам, памяти или загрузочным областям диска. Фактически, перехватив обращение операционной системы, стелс-вирус возвращает операционной системе недостоверную информацию о состоянии соответствующего объекта, например о размере исполняемого файла, с целью сокрытия увеличения его объема в результате добавления в файл вирусного кода. Этот термин применялся по отношению преимущественно к вирусам, действовавшим в операционной системе MS-DOS, и потому сейчас его можно считать устаревшим. Вредоносные программы, использующие механизмы сокрытия своего присутствия в зараженной системе, принято называть руткитами.

Макровирусы — вирусы, написанные с использованием скриптовых языков, применяющихся для создания макросов в различных офисных приложениях, таких как Microsoft Office, в частности Microsoft Word.

Резидентные вирусы. Сам термин «резидентный» традиционно принято использовать в контексте «выполняющийся в фоновом режиме». Ранее «резидентными вирусами» называли вредоносные программы, действующие непосредственно в памяти зараженного компьютера параллельно с другими запущенными задачами и процессами. Иногда к этой же категории относили вирусы, не хранящиеся где-либо на диске в виде обособленного физического файла. Такие вирусы либо уничтожали исходный файл после своего запуска, либо хранили его в недоступных пользователю и операционной системе областях диска, либо «собирали» свое тело непосредственно в оперативной памяти из отдельных разрозненных компонентов (каждый из которых сам по себе не представлял какой-либо опасности). С появлением многозадачных операционных систем само понятие «резидентный вирус» принято считать устаревшим, а угрозы, действующие непосредственно в памяти инфицированного устройства и не хранящиеся на физических носителях в виде обособленных файлов, часто называют общим термином «бесфайловые вредоносные программы».

Черви

Компьютерные черви (worms) — разновидность вредоносных компьютерных программ, обладающих способностью к саморепликации, то есть к автоматическому распространению без участия пользователя — по локальной сети, по каналам электронной почты, с использованием сменных носителей информации или иными методами. При этом считается, что большинство червей не способно заражать файловые объекты, хотя из данного правила имеются некоторые исключения.

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

Многие черви распространяются, копируя себя на съемные носители информации. Например, некоторые вредоносные программы данного типа размещают в корневой папке съемного накопителя (флэшки или карты памяти) файл autorun.inf, обеспечивающий автоматический запуск червя при каждом обращении к инфицированному накопителю (в устаревших версиях операционных систем, где функция запуска и открытия содержимого смонтированных дисков не отключена по умолчанию, например, в ранних редакциях Windows XP, запуск червя может произойти автоматически при подключении зараженного диска к компьютеру). Другие черви перемещают все содержимое съемного носителя информации в скрытую папку, а вместо него размещают собственные копии с прежними именами папок и файлов. В результате пользователь, щелкнув мышью на значке такого файлового объекта, вместо открытия нужной ему папки или файла запустит на выполнение вредоносную программу.

Троянские программы (троянцы)

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

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

Из сказанного выше можно сделать простой и очевидный вывод: троянские программы жертва запускает на своем компьютере самостоятельно, при этом злоумышленники заставляют ее сделать это различными хитроумными способами. Вот только один из нескольких сотен примеров возможного пути распространения троянцев. Однажды в папке личных сообщений пользователь социальной сети находит послание, отправленное кем-либо из его списка друзей (этот аккаунт, разумеется, был ранее взломан злоумышленниками). В сообщении содержится информация о том, что на сайте YouTube выложен компрометирующий пользователя видеоролик, а также приводится ссылка на соответствующую страничку. Перейдя по ссылке, пользователь попадает на принадлежащий киберпреступникам фишинговый сайт, полностью копирующий оформление сервера youtube.com. Подделка настолько похожа на оригинальный YouTube, что отличить его от настоящего сайта популярного видеохостинга, на первый взгляд, довольно-таки сложно. На фишинговой веб-странице обозначено название видеоролика, в котором содержится имя жертвы, например, он может быть озаглавлен следующим образом: «%username% is in the leading role. Shocking performance!», что в переводе означает: «%username% в главной роли. Шокирующее поведение!», где вместо %username % автоматически подставляется имя потенциальной жертвы. Также страничка содержит несколько фальшивых комментариев от других пользователей сайта, которые «были шокированы, ознакомившись с этим видео». Чтобы просмотреть ролик, пользователю предлагается скачать и установить обновленный flash-проигрыватель, в роли которого выступает исполняемый файл с именем Flash-Player.exe. В этом файле и содержится троянец.

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

Бэкдоры

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

Наиболее простые с архитектурной точки зрения модификации бэкдоров могут транслировать поступающие извне (от принадлежащего злоумышленникам командного центра) директивы командному интерпретатору операционной системы (cmd в Microsoft Windows, bash или sh в Linux), более «продвинутые» обладают собственной системой команд, позволяющей выполнять различные операции с файловыми объектами и самой операционной системой. Данные, которыми обменивается бэкдор с удаленным сервером злоумышленников, как правило, шифруются.

Буткиты

Буткиты (от англ. boot — «загрузка» и kit — «инструмент»), или так называемые загрузочные вирусы — это вирусы или троянцы, способные заражать загрузочную запись на диске компьютера, благодаря чему запускаются либо раньше операционной системы, либо одновременно с ней, но в любом случае перед загрузкой основных средств антивирусной защиты. Из этого логически вытекает основная сложность борьбы с буткитами — поскольку они стартуют еще на раннем этапе загрузки компьютера, буткиты перехватывают некоторые функции управления операционной системой и, как следствие, могут парализовать запуск и нормальную работу антивирусных программ, а также блокировать попытки «вылечить» инфицированное устройство. При неудачном удалении такой угрозы может произойти повреждение логической структуры диска, благодаря чему система и вовсе перестанет загружаться, и сложное электронное устройство «превратится в кирпич». Этим они и опасны.

Существуют разновидности буткитов: некоторые из них заражают главную загрузочную запись диска (Master Boot Record, MBR), некоторые — загрузочную запись тома (Volume Boot Record, VBR). В общем случае алгоритм действия буткита таков: запустившись на инфицированном компьютере, он размещает свою копию в одной из свободных логических областей диска, а затем модифицирует существующую загрузочную запись, внедряя в нее собственный код, который получает управление при запуске операционной системы и загружает в оперативную память основное тело буткита. По окончании этого процесса буткит передает управление дальнейшей загрузкой оригинальной загрузочной записи, позволяя ОС стартовать в штатном режиме. На момент завершения загрузки операционной системы вредоносная программа уже находится в памяти и может выполнять различные деструктивные действия, например, перехватывать те или иные системные функции и предотвращать запуск антивирусных программ, а также блокировать пользователю доступ к сайтам их разработчиков.

Особая опасность буткитов заключается еще и в том, что, запускаясь вместе с операционной системой, эти вредоносные программы могут получить в ней максимальные привилегии (например, полномочия администратора), даже если текущий сеанс открыт пользователем с ограниченными системными правами. Таким образом, буткит имеет на зараженном компьютере поистине неограниченные возможности для реализации всевозможных вредоносных функций, включая полный доступ к файловой системе, компонентам ОС, памяти и драйверам.

Руткиты

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

Обобщая, можно сказать, что руткиты предназначены для реализации в инфицированной операционной системе следующих функций:

• сокрытия различных объектов (файлов, папок, запущенных приложений и/или загруженных драйверов);

• сокрытия происходящих в системе процессов (запуск и выгрузка приложений, загрузка динамических библиотек, встраивание в запущенные процессы, заражение файловых объектов и т. д.);

• контроля над происходящими в системе процессами (перехват системных функций, обращений, контроль над иными системными событиями).

Многим руткитам для реализации своих функций необходимы полномочия администратора операционной системы, для чего некоторые из них стараются повысить собственные привилегии с использованием различных уязвимостей в архитектуре операционной системы. Подобные руткиты, действующие на уровне ядра операционной системы, принято называть kernel-mode, однако существуют руткиты и user-mode, действующие, с точки зрения используемых системных привилегий, на уровне пользователя. Например, руткит-модуль, встроенный в некоторые модификации широко известного банковского троянца семейства Zeus, является именно таким.

Для реализации своих деструктивных функций руткиты используют различные методы: перехват системных функций, захват таблиц вызовов, использование драйверов или непосредственную модификацию системных объектов и объектов ядра ОС (Direct kernel object manipulation) и другие.

Биоскиты

Биоскиты — это вредоносные программы, способные модифицировать содержимое микросхем BIOS инфицированного компьютера. Подобные угрозы встречаются в природе достаточно редко, точнее, на сегодняшний день практически совсем не встречаются. Последняя такая программа, получившая наименование Trojan.Bioskit.1, была обнаружена специалистами антивирусной компании «Доктор Веб» еще в сентябре 2011 года, и по всем признакам она походила скорее на экспериментальную и незавершенную разработку академического характера, чем на реальную угрозу.

Trojan.Bioskit.1 использовал для заражения микросхемы BIOS стороннюю утилиту производства компании Phoenix Technologies, при этом теоретической опасности подвергались лишь компьютеры, оборудованные материнской платой, которая использует BIOS с прошивкой от Award Software, да и то при соблюдении ряда условий. В случае успешной перепрошивки содержимого BIOS уже сама эта микросхема могла стать источником повторного заражения компьютера даже после успешного лечения инфекции на уровне операционной системы.

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

Боты

Ряд вирусов, троянцев и бэкдоров иногда называют ботами (от английского слова bot, сокращенного от robot) — это вредоносные программы, наделенные способностью объединяться в ботнеты (или бот-сети). Ботнетом называют сеть зараженных устройств, дистанционно управляемых злоумышленниками, например, с использованием одного или нескольких командных серверов, и умеющих обмениваться информацией. Для чего киберпреступники создают ботнеты? В частности, для централизованной атаки на различные серверы Интернета. Скажем, если к какому-нибудь веб-сайту по команде одновременно обратится несколько сотен тысяч компьютеров, при этом они станут посылать ему запросы с интервалом в несколько микросекунд, у сервера попросту не останется ресурсов для обслуживания других клиентов и он откажется работать под такой неожиданно возросшей нагрузкой. Подобный тип атак называется «атака на отказ в обслуживании» — Distributed Denial of Service, или, сокращенно, DDoS-атаками. Подобным способом некоторые не слишком разборчивые в средствах владельцы коммерческих сайтов иногда «устраняют» своих конкурентов, а киберпреступники получают прибыль, продавая подобные услуги на подпольных форумах. Другой пример — массовая рассылка спама: «подцепив» где-нибудь троянскую программу, входящую в спаммерскую бот-сеть, ПК жертвы может стать одним из миллиона компьютеров, рассылающих по электронной почте рекламу виагры или сайтов для взрослых, при этом содержание рекламных писем и список адресов для рассылки поступают спам-ботам по команде из единого управляющего центра.

Существуют боты, способные самостоятельно настраиваться на различные управляющие серверы и автоматически менять их в случае необходимости (например, если какой-либо из таких серверов внезапно перестанет работать). Есть ботнеты, вообще обходящиеся без командных центров: они формируют так называемые Peer-to-Peer, или P2P-сети, — одноранговые и децентрализованные, уничтожить которые очень непросто. А, например, троянцы семейства IRC.Bot используют в качестве управляющего сервера… чаты для обмена текстовыми сообщениями, созданные с использованием протокола Internet Relay Chat (IRC). Подключаясь к одному из таких чат-каналов, специально созданных злоумышленниками, IRC.Bot ожидает получения от киберпреступников команд, которые те отправляют в виде простого текстового послания. Некоторые боты для мобильной платформы Android, например представители многочисленного семейства Android.SmsBot, могут получать управляющие директивы в СМС-сообщениях, поступающих на зараженный мобильный телефон. Подробнее о ботнетах мы поговорим в одной из следующих глав.

Шпионы (Spyware)

Шпионское программное обеспечение (spyware) чрезвычайно широко распространено в современном мире — значительная часть шпионских программ реализована в виде классических троянцев. Предназначение таких программ вполне очевидно: они способны следить за пользователем и передавать злоумышленникам информацию, получаемую с его устройства.

Один из наиболее популярных типов программ-шпионов — это так называемые кейлоггеры, то есть приложения, считывающие и сохраняющие в специальный журнал коды нажимаемых пользователем клавиш, а потом передающие эту информацию злоумышленникам. Таким образом, можно, например, похищать вводимые жертвой в различные экранные формы логины и пароли, а также любую иную набираемую на клавиатуре информацию. К слову, для хищения вводимых в экранные формы данных на различных веб-страницах существует специальная категория утилит, которые называют грабберами, — в отличие от кейлоггеров, фиксирующих все нажатия клавиш, они способны получать только интересующие злоумышленника значения, например путем анализа передаваемых от клиента серверу с помощью протокола HTTP GET и POST-запросов или при помощи перехвата используемых браузером API-функций.

Другие троянцы-шпионы могут создавать и отправлять киберпреступникам скриншоты — снимки содержимого экрана зараженного компьютера, осуществлять скрытую съемку с использованием встроенной видеокамеры устройства. Кроме того, программы-шпионы, ориентированные на мобильную операционную систему Google Android, могут транслировать злоумышленникам географические GPS-координаты текущего положения зараженного устройства, передавать журнал звонков, фотографии, выполнять несанкционированную фото- и видеосъемку, записывать телефонные разговоры и даже использовать встроенный микрофон мобильного устройства для скрытой диктофонной записи с последующей передачей полученных звуковых файлов на удаленный управляющий сервер.

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

Нежелательные и нерекомендуемые приложения

Помимо вредоносных программ существует широчайший ассортимент разнообразных потенциально опасных и нежелательных приложений, которые сами по себе вредоносного потенциала не несут, но при определенных обстоятельствах способны доставить пользователю кучу ненужных проблем. В частности, к такой категории относятся приложения класса Adware — утилиты, которые, возможно, и имеют какую-то полезную нагрузку, но при этом помещают во все просматриваемые пользователем веб-страницы назойливую рекламу. Работать в Интернете на компьютере с установленными приложениями категории Adware становится практически невозможно: рекламные баннеры высвечиваются в самых неожиданных частях веб-страниц, выпрыгивают в отдельных окнах, браузер самостоятельно открывает дополнительные вкладки, произвольно меняется его стартовая страница…

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

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

Классификация по степени опасности

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

При этом в подобной классификации реализуется принцип поглощения классов в виде определенной иерархической последовательности, например «Файловые вирусы -> Черви -> Бекдоры -> Троянцы». Пример такой иерархической структуры демонстрирует иллюстрация на следующей странице.

Рис. 1. Пример классификации вредоносных программ по степени опасности поведения

Почему такая система классификации является наиболее распространенной? Дело в том, что многие современные вредоносные программы являются многофункциональными и обладают формальными признаками сразу нескольких классов. Например, некий поступивший на анализ в вирусную лабораторию образец наделен способностью заражать файловые объекты (признак файлового вируса), но при этом может распространяться, создавая свои копии в общедоступных сетевых папках (признак сетевого червя), а также умеет выполнять поступающие от злоумышленников команды (признак бэкдора). В этом случае перед вирусным аналитиком возникает нелегкая задача: к какой категории отнести такой сложный экземпляр? Здесь на помощь приходит принцип поглощения классов, проиллюстрированный на представленной выше схеме, который позволяет отделить второстепенные по уровню опасности признаки от первостепенных. На указанной схеме мы видим, что наиболее опасное поведение находится в верхней части иерархии, а наименее опасное — в нижней. Так, способность предоставлять зло­умышленникам несанкционированный доступ для управления зараженной машиной (бэкдор) менее опасна, чем умение самостоятельно распространяться без участия пользователя (червь). А оно, в свою очередь, представляет примерно равную опасность со способностью заражать файловые объекты (вирус): обе эти функции находятся в верхней части иерархической цепочки. Таким образом, аналитик скорее всего отнесет этот образец к классу файловых вирусов с признаками червя. Однако возможна ситуация, при которой основная опасность данной конкретной угрозы будет заключаться как раз в способности быстро и бесконтрольно распространяться по сети путем создания собственных копий, в то время как заложенный в программу механизм заражения файлов может срабатывать только при наступлении строго определенных условий или в ряде конкретных случаев. Тогда вирусный аналитик может отнести указанный образец к классу сетевых червей, и мы получим, ради разнообразия, червя, обладающего функцией заражения исполняемых файлов.

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

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

 

Глава 3. Внимание, опасность!

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

Троянцы-бэкдоры, предоставив злодеям доступ к зараженной машине, открывают перед ними возможность делать с данным устройством все что угодно. В итоге инфицированный компьютер может быть использован в качестве промежуточного звена при атаке на какой-либо банковский или правительственный сервер, для хранения краденых паролей или детского порно, для организации на нем архива с рецептами изготовления наркотиков и т. д. Устройство, на котором работает бэкдор, своему номинальному владельцу больше не принадлежит. Многие троянцы способны красть на зараженных машинах конфиденциальную информацию, такую как логины и пароли для доступа к электронной почте, социальным сетям, номера кредитных банковских карт, сведения из адресной книги. Всю добытую информацию злоумышленники потом продают за неплохие деньги: адреса электронной почты востребованы у спамеров; получив доступ к социальным сетям, мошенники смогут отправлять от имени жертвы ее же друзьям рекламные ссылки и просьбы пополнить счет мобильного телефона, с помощью ворованных реквизитов банковской карты можно купить какой-нибудь товар в интернет-магазине, а изображение паспорта пригодится для оформления сим-карты или открытия на имя владельца паспорта счета, на котором будут аккумулироваться деньги от продажи нелегального контента (причем узнает он об этом, только когда к нему домой нагрянет с обыском полиция). Не думайте, что хранящиеся на вашем устройстве файлы, документы и фотографии никому не нужны: на любой товар всегда найдется свой покупатель.

Каким еще образом киберпреступники утоляют свою жажду наживы? Об этом мы и поговорим в рамках настоящей главы, представляющей собой краткий обзор деструктивных функций наиболее распространенных в настоящее время вредоносных программ.

Троянцы-блокировщики (винлокеры)

Троянские программы-блокировщики, или винлокеры, принято относить к общей категории программ-вымогателей, которые в англоязычных источниках называют также термином ransomware. Первые случаи заражения вредоносными программами данного семейства были зафиксированы еще в конце 2007 года, а в период с ноября 2009-го по февраль 2010 года их распространение приняло буквально эпидемический характер. Винлокеры блокировали Рабочий стол Windows графическим окном-баннером, в котором демонстрировался текст с требованием выкупа за разблокировку системы и описанием возможных способов оплаты.

Первые модификации таких программ-вымогателей весьма успешно маскировались под встроенный механизм активации операционной системы Windows XP (Microsoft Product Activation, MPA). Окно программы, блокировавшее Рабочий стол Windows, имитировало своим оформлением интерфейс MPA, при этом пользователю демонстрировалось сообщение о том, что на его ПК установлена нелицензионная копия операционной системы, которую предлагалось активировать, отправив платное СМС-сообщение. Прервать работу этих ранних версий винлокеров было относительно несложно, удалив соответствующий процесс в Диспетчере задач, изменив в системном реестре значение оболочки по умолчанию или воспользовавшись утилитой Восстановление системы, для чего следовало загрузить Windows в безопасном режиме. Однако программа стремительно совершенствовалась: достаточно быстро винлокеры научились отслеживать нажатия сочетаний «горячих» клавиш, блокировать запуск Диспетчера задач, Редактора реестра, утилиты Восстановление системы, Командной строки, антивирусных приложений и некоторых апплетов Панели управления Windows. Троянец вносил определенные изменения в файл %SYSTEMROOT%\System32\drivers\etc\hosts, чтобы пользователь не мог открыть в браузере сайты разработчиков наиболее популярных антивирусных программ. Модифицировалось и оформление окна, нарушающего нормальную работу компьютера: оно могло демонстрировать различные непристойные изображения или сведения о том, что пользователь посещал сайты порнографического характера, либо обвинения в незаконной загрузке информации, запрещенной законодательством.

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

В 2011 году появились разновидности блокировщиков, не вносивших изменения в конфигурацию операционной системы, а модифицировавших главную загрузочную запись (Master Boot Record), делая невозможным запуск самой ОС. Такой троянец вносит изменения в Master Boot Record, однако оригинальная загрузочная запись и таблицы разделов обычно сохраняются. При каждом последующем включении питания компьютера вымогатель блокирует загрузку операционной системы, считывает из соседних секторов жесткого диска в память основной код винлокера и демонстрирует на экране требование заплатить выкуп за разблокировку компьютера.

А уже в 2014 году появился первый троянец-блокировщик для мобильных телефонов и планшетов, работающих под управлением операционной системы Google Android. Такие блокировщики попросту отключают сенсорный дисплей или выводят перекрывающее доступ к системе окно с требованием выкупа, которое невозможно удалить с экрана никакими стандартными методами. На сегодняшний день известно несколько десятков различных модификаций подобных мобильных троянцев, и их число постепенно растет.

Троянцы-шифровальщики (энкодеры)

Троянцы-шифровальщики, или энкодеры, — одна из наиболее опасных компьютерных угроз на момент написания этой книги. Такие троянцы также относятся к условной категории программ-вымогателей. Энкодеры впервые появились в 2009 году, и на текущий момент специалистам компьютерной безопасности известно уже порядка 1800 их разновидностей. Запустившись на инфицированном компьютере, энкодеры зашифровывают хранящиеся на дисках пользовательские файлы с использованием различных криптостойких алгоритмов, после чего требуют у жертвы выкуп за их расшифровку. Отказавшись выплачивать требуемое злоумышленниками денежное вознаграждение, пользователь рискует в одночасье потерять все свои данные. Аппетиты у злоумышленников могут быть различными: вымогаемый ими выкуп может составлять эквивалент и нескольких десятков, и нескольких тысяч долларов. К сожалению, в некоторых случаях восстановить поврежденные данные бывает практически невозможно, даже несмотря на обещания злоумышленников. Даже оплата требуемого киберпреступниками вознаграждения не дает никакой гарантии того, что поврежденные троянцем-энкодером файлы будут когда-либо расшифрованы. Подавляющее большинство троянцев данного типа ориентировано на устройства, работающие под управлением Microsoft Windows, но в 2014 году появились первые энкодеры и под Android, способные зашифровывать содержимое внутренней памяти мобильного устройства.

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

• вредоносные почтовые рассылки, содержащие во вложении самого троянца (например, под видом важного документа), либо троянца-загрузчика, выполняющего скачивание и запуск шифровальщика;

• загрузка троянца пользователем из Интернета под видом полезного приложения (различные кодеки, утилиты, игры, проигрыватели медиафайлов);

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

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

• автоматически генерирует по определенному алгоритму ключ шифрования либо получает его с принадлежащего злоумышленникам удаленного сервера;

• осуществляет поиск на дисках зараженного компьютера файлов, удовлетворяющих заданным вирусописателями критериям;

• шифрует все удовлетворяющие условиями файлы;

• создает и сохраняет на диске документы с перечислением действий для последующей расшифровки файлов и условиями выкупа.

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

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

Банковские троянцы

Банковские троянцы предназначены для кражи денег со счетов жертвы, пользующейся системами дистанционного банковского обслуживания — то есть системами «банк — клиент», или другими электронными платежными инструментами. Сегодня практически любой банк оказывает своим клиентам услуги дистанционного банковского обслуживания (ДБО): как правило, для частных лиц они сводятся к предоставлению доступа на специальный защищенный сайт, где клиент может проверить состояние своего счета, перевести средства с одного счета на другой, а также оплатить ряд услуг в организациях, с которыми у банка имеется соответствующий договор. В простейших случаях доступ к подобным системам осуществляется по протоколу HTTPS с использованием логина и пароля. Также в качестве меры безопасности некоторые банки применяют подтверждение входа по СМС или с использованием электронной цифровой подписи клиента. Порой для организации связи применяется специализированное программное обеспечение. Безусловно, использование ДБО крайне удобно для большинства клиентов: не нужно тратить время на поездки в офис банка или поход до ближайшего банкомата, чтобы уточнить баланс счета — простые операции с безналичными средствами выполняются одним щелчком мыши. Однако подобные системы неизбежно привлекают внимание злоумышленников.

Пик распространения так называемых банковских троянцев — вредоносных программ, предназначенных для кражи учетных данных и необходимых для организации доступа к системам ДБО файлов — пришелся на 2011 год, однако инциденты, связанные с хищением денежных средств держателей банковских счетов при помощи таких вредоносных программ, происходят с завидной регулярностью и сегодня. К категории наиболее опасных можно отнести сразу несколько банковских троянцев — это Trojan.Carberp, Trojan.PWS.Ibank, Trojan.PWS.Panda (также известная под именами Zeus и Zbot) и Trojan.PWS.SpySweep (также известный под именем SpyEye).

Запускаясь на инфицированной машине, банковский троянец предпринимает целый ряд действий для того, чтобы уйти от всевозможных средств контроля и наблюдения. Так, например, Trojan.Carberp внедряется в другие работающие приложения, а свой основной процесс завершает; таким образом, вся дальнейшая работа происходит частями внутри сторонних приложений, что является его характерным свойством и затрудняет лечение заражения. Среди команд, которые способен выполнять Trojan.Carberp, имеются директивы запуска произвольных файлов на инфицированном компьютере, команда установки сеанса «удаленного рабочего стола» по протоколу RDP, и даже удаления на зараженном ПК операционной системы. Кроме того, в этом троянце скрыта возможность деактивации антивирусов, уничтожения «конкурирующих» банковских троянцев, а также кража паролей от множества различных программ: браузеров, мессенджеров, FTP-клиентов, почтовых программ и т. д. Помимо прочего, благодаря расширяемой архитектуре данная троянская программа имеет возможность скачивать специальные встраиваемые дополнения (плагины) для выполнения других деструктивных действий.

Для перехвата связанной с работой ДБО информации Trojan.Carberp использует различные методы: это логирование нажатий пользователем клавиш, вклинивание в HTTP-трафик в поисках учетных данных и передаваемых значений экранных форм, встраивание в процессы программ системы «банк — клиент», создание снимков экрана в моменты ввода важной информации, перехваты отдельных функций, которые могут участвовать в передаче данных, поиск и похищение цифровых сертификатов и ключей. Вредоносные программы семейства Trojan.Carberp способны объединяться в ботнеты, координируемые из одного (или нескольких) командных центров.

Троянцы семейства Trojan.PWS.Ibank также позволяет выполнять на инфицированном компьютере поступающие от удаленного командного центра директивы, включая команду уничтожения ОС. Причем адрес командного сервера троянец вычисляет динамически, используя для этого специальный алгоритм. Для перехвата важной информации используются анализатор трафика, система мониторинга сетевой активности банк-клиентов, утилита для снятия снимков экрана, сборщики ключевой информации для различных систем банк-клиент. Основное назначение троянца — перехват данных, вводимых в экранные формы, сбор файлов сертификатов систем защищенного документооборота, а также перехват сетевого трафика и направление полученной информации злоумышленникам.

Нельзя обойти вниманием такого знаменитого троянца, как Trojan.PWS.Panda, известного также под именами Zeus и Zbot. Основной его функционал заключается в краже пользовательских паролей, хотя этот троянец обладает достаточно обширными возможностями, включая стандартный функционал бэкдора. Созданный еще в 2007 году, Zeus представляет определенную опасность для пользователей и по сей день. Этот троянец способен работать во всех версиях Windows, он умеет перехватывать информацию, вводимую пользователем во всех распространенных на сегодняшний день браузерах, красть пароли большинства FTP-клиентов.

Среди иных вредоносных функций Trojan.PWS.Panda следует отметить способность устанавливать и удалять в инфицированной системе цифровые сертификаты, файлы cookies, подменять «домашнюю страницу» в браузерах, блокировать доступ к различным URL, загружать и запускать программы, по команде с удаленного сервера выключать и перезагружать компьютер, удалять на жестких дисках любые файлы. Иными словами, функционал этой вредоносной программы обширен.

Еще один троянец, созданный со схожими целями, — Trojan.PWS.SpySweep, также известный под именем SpyEye. Как и Trojan.Carberp, SpyEye внедряет свой образ в адресные пространства других процессов. Функционал его в целом схож с возможностями Zeus: Trojan.PWS.SpySweep способен выполнять поступающие от злоумышленников команды, похищать конфиденциальную информацию, загружать и запускать на инфицированном компьютере различные приложения.

В 2011 году появился и первый банковский троянец для платформы Android: это Android.SpyEye.1. Риску заражения вредоносной программой Android.SpyEye.1 подвергались в первую очередь пользователи, компьютеры которых уже инфицированы троянской программой SpyEye. При обращении к различным банковским сайтам, адреса которых присутствуют в конфигурационном файле троянца, в просматриваемую пользователем веб-страницу осуществлялась инъекция постороннего содержимого, которое может включать различный текст или веб-формы.

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

После загрузки и инсталляции на мобильном устройстве Android.SpyEye.1 перехватывает и отправляет злоумышленникам все входящие СМС-сообщения. Таким образом злоумышленники осуществляют эффективный обход так называемой двухфакторной аутентификации — способа проверки подлинности платежа при помощи передаваемых через СМС одноразовых паролей (mTAN-кодов).

В наши дни для обхода банковских систем двухфакторной аутентификации злоумышленники используют более «продвинутые» и гибко настраиваемые мобильные вредоносные приложения, например троянцев семейства Android.SmsSpy (некоторые из них также известны под именем Perkele).

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

Рис. 2. Пример обхода банковской системы двухфакторной аутентификации с использованием одноразовых паролей (mTAN-кодов): 1 — в момент захода пользователя в систему «банк — клиент» действующий на его компьютере троянец требует для продолжения работы ввести во внедренное на веб-страницу банка поле номер мобильного телефона клиента; 2 — на мобильный телефон клиента приходит СМС со ссылкой на установку банковского троянца для Android; 3 — клиент вводит свои учетные данные в форму на странице банка, вся информация из которой передается троянцем злоумышленникам; 4 — мобильный троянец перехватывает поступающее на телефон СМС-сообщение с одноразовым паролем (mTAN-кодом) и также пересылает его злоумышленникам.

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

Веб-инжекты

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

Под веб-инжектом принято понимать встраивание вирусом или троянцем постороннего содержимого в просматриваемую пользователем в окне браузера веб-страницу. Отдельно следует упомянуть, что этот процесс осуществляется на стороне пользователя, то есть непосредственно на инфицированном компьютере работающей на нем вредоносной программой. Иными словами, жертва веб-инжекта наблюдает правильный URL — корректный адрес веб-страницы в адресной строке браузера, если соединение выполняется с использованием защищенного протокола HTTPS, это условие также соблюдается, а вот содержимое веб-страницы будет отличаться от оригинального. С какой целью вирусописатели добавляют в свои творения функционал для осуществления веб-инжектов?

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

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

Рис. 3. Стандартная схема веб-инжекта: 1 — компьютер клиента запрашивает у сервера веб-страницу; 2 — сервер передает веб-страницу на локальный клиентский компьютер; 3 — заразивший этот компьютер троянец встраивает в веб-страницу постороннее содержимое; 4 — модифицированная веб-страница отображается в окне браузера

С технической точки зрения наиболее ранние реализации механизма веб-инжектов были довольно примитивными: например, на страницах популярных интернет-магазинов троянец мог разместить поддельную форму для ввода реквизитов банковской карты, используя которые, злоумышленники впоследствии совершали несанкционированные держателем карты покупки (приобретенные таким способом дорогостоящие товары впоследствии сбывались различными способами, например, через системы онлайн-аукционов или электронных досок объявлений). Позже встраиваемое в веб-страницы содержимое стало использовать различные интерактивные элементы, в частности, сценарии на языке JavaScript или функции библиотеки jQuery для имитации действий пользователя или сокрытия последствий хищения.

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

 

Рис. 4. Веб-инжект, выполненный в веб-страницу социальной сети троянцем Trojan.Mayachok

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

Помимо широко известных социальных сетей троянцы данного типа успешно «охотились» и на пользователей других популярных серверов — почтовых служб mail.ru, yandex.ru, видеохостинга youtube.com, сайтов знакомств и т. д.

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

Еще одним примером нестандартного применения веб-инжекта может служить троянская программа Trojan.Mayachok.18831. Она не просто блокирует пользователю доступ к сайту социальной сети под предлогом «взлома», а видоизменяет его анкету прямо на локальном компьютере. Заглянув однажды на свою собственную страничку «В Контакте», пользователь с ужасом замечает, что вместо его фотографии в профиле социальной сети отображается снимок порнографического характера, а в списке «интересов» перечислены весьма нестандартные увлечения, включая склонность к нетрадиционным сексуальным связям. При попытке отредактировать профиль на экране появляется якобы сервисное окно социальной сети, в котором от жертвы требуется указать ее номер мобильного телефона и ввести проверочный код из ответного СМС.

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

Троянцы-загрузчики

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

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

Майнеры

Первым в истории электронным платежным средством, которое можно отнести к категории криптовалют, стала виртуальная денежная единица Bitcoin, изобретенная криптографом Сатоси Накамото в 2009 году. Для защиты транзакций в системе Bitcoin используются различные криптоалгоритмы, а сама система является децентрализованной — иными словами, в ней отсутствуют какие-либо обособленные управляющие или процессинговые центры. Особенность подобных платежных систем заключается в том, что объем имеющей в них хождение виртуальной валюты строго ограничен, причем пользователи могут не только «обмениваться» электронными «монетами», покупая на них всевозможные товары, но и добывать их, как старатели в реальном мире добывают золото, превращающееся потом в платежное средство. Для этого компьютер с помощью специальной программы должен выполнить ряд очень сложных математических вычислений. Этот процесс называется «майнингом» (от англ. mining, «добыча»).

Собственно, троянцы-майнеры, заразив компьютер, и нагружают его под завязку подобными расчетами, заставляя систему поминутно «тормозить» и «зависать». Ну, а все добытые таким образом деньги отправляются, естественно, не владельцу инфицированного устройства, а жулику-вирусописателю.

Существуют троянцы-майнеры не только для ОС Windows, но также для Mac OS X и Google Android. И хотя на первый взгляд они и не представляют серьезной опасности для инфицированной системы, деятельность майнеров заметно замедляет скорость работы компьютера или мобильного устройства, а также вызывает перегрев процессора или чипа видеокарты (существует категория майнеров, использующих для вычислений мощности графических процессоров современных видеоадаптеров). В случае физических неполадок в системе охлаждения компьютера это может привести к фатальным последствиям вплоть до выхода из строя соответствующего оборудования.

Фишинг

Весьма распространенным термином «фишинг» (от англ. phishing, производное от fishing — «выуживание») называется несанкционированное получение учетных данных пользователя для доступа к какой-либо приватной информации, например логинов и паролей. Зачастую сетевые мошенники создают поддельные веб-сайты, имитирующие своим оформлением страницы популярных социальных сетей или почтовых сервисов, и всеми силами завлекают туда посетителей, в частности, с использованием так называемых методов социальной инженерии — обмана пользователя без применения сложных технических средств. Так, жулики рассылают по электронной почте сообщения якобы от имени различных сетевых служб знакомств, публикуют тизерную рекламу, имитирующую всплывающее сообщение социальной сети о добавлении нового контакта и т. д. Таким образом жертва попадает на поддельный сайт, URL которого мошенники также стремятся сделать похожим на оригинальный — например, «odonlkassinki.ru» вместо «odnoklassniki.ru». Далеко не все замечают, что ссылка отличается от «оригинала» одним или несколькими символами.

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

Однако одними лишь методами социальной инженерии киберпреступники не ограничиваются: в ход идут и вредоносные программы, предназначенные для фишинга — яркими их представителями является, в частности, семейство Trojan.Hosts. В операционных системах семейства Microsoft Windows для получения IP-адреса интернет-ресурса по введенному пользователем в адресную строку браузера URL используются DNS-серверы, однако перед отправкой запроса на них система обращается к локальному файлу %SYSTEMROOT%\system32\drivers\etc\hosts, в котором некоторыми приложениями сохраняются записи соответствия определенным URL IP-адресов в целях ускорения доступа к ним. Обосновавшись в операционной системе, Trojan.Hosts помещает в этот файл строки, подменяющие адреса сайтов популярных социальных сетей и поисковых систем на IP-адреса принадлежащих злоумышленникам веб-страниц. Таким образом, набрав в адресной строке браузера, например, «vk.com», потенциальная жертва попадает на сайт жуликов, имитирующий данную социальную сеть. Введенные на этой страничке логин и пароль тут же передаются киберпреступникам.

Другое семейство троянцев подобного типа — Trojan.DnsChange — подменяет корректные адреса DNS-серверов в сетевых настройках Windows на IP-адреса принадлежащих злоумышленникам DNS-серверов. Таким образом, в ответ на запросы, направляемые операционной системой на этот сервер, компьютер жертвы будет получать IP-адреса мошеннических интернет-ресурсов, в том числе страниц, с которых распространяется другое вредоносное ПО.

Случается и так, что программа-вредитель сама ворует логин и пароль для входа в социальную сеть, не заставляя пользователя вводить их вручную. Примерно так действовал наделавший много шума червь Win32.HLLW.AntiDurov, эпидемия которого разразилась в российском сегменте Интернета в 2008 году. Пользователи социальной сети «В Контакте» получали от друзей ссылку на забавную картинку deti.jpg, при открытии которой на компьютер загружался вредоносный файл deti.scr. Вслед за этим червь прописывался под именем Vkontaktesvc.exe в папку Application Data текущего пользователя и запускался в качестве фоновой службы с именем «Durov VKontakte Service». Затем червь анализировал хранящиеся на зараженном компьютере файлы cookies в поисках учетных данных для входа в социальную сеть «В Контакте», и если таковые обнаруживались, по списку «друзей» жертвы рассылалось сообщение со ссылкой на тот же рисунок, загружающий вредоносный файл. Деструктивная функция червя заключалась в том, что 25 числа каждого месяца в 10 часов утра он выводил на экран компьютера сообщение: «Работая с ВКонтакте.РУ Вы ни разу не повышали свой рейтинг и поэтому мы не получили от Вас прибыли. За это Ваш компьютер будет уничтожен!» и начинал удалять файлы с жесткого диска. Этот пример показывает, насколько опасными могут быть вредоносные программы, распространяющиеся через социальные сети.

Рекламные троянцы

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

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

Узкоспециализированные вредоносные программы

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

Другой троянец, являющийся характерным примером реализации технологий промышленного шпионажа, заражал только те компьютеры, на которых была установлена инженерная система для разработки чертежей AutoCad. Все копии созданных и обнаруженных на атакованном компьютере чертежей троянец упаковывал в архив и незамедлительно отправлял на сервер, расположенный в Китае. А ведь многие удивляются: как китайцам удается создавать точные копии электронных устройств, телефонов, компьютеров, автомобилей и истребителей, причем порой даже раньше, чем на свет появляется сам оригинал?

Другой троянец, получивший наименование Trojan.SteamBurglar, эксплуатировал в своих интересах любовь некоторых пользователей к компьютерным играм. Ряд современных многопользовательских электронных игр представляет собой настоящие виртуальные миры с собственными социальными и экономическими законами. В таких вселенных игрок может приобретать различные виртуальные предметы и ресурсы — например, доспехи, магические заклинания или дополнительную броню, — которые дают ему ряд тактических преимуществ перед другими игроками. Причем многие подобные артефакты можно купить за реальные деньги (на чем и зарабатывают некоторые издатели компьютерных игр, делая саму игру бесплатной), а ставшие ненужными игровые предметы — продать другим пользователям. Этим и прославился Trojan.SteamBurglar: он воровал у незадачливых игроков различные ценные виртуальные предметы и тут же продавал их на специализированных интернет-площадках за вполне реальные доллары, которые переводил на счет своих создателей. Чем не бизнес?

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

 

Глава 4. Ботнеты

История вопроса

В их современном виде бот-сети возникли на рубеже «нулевых» годов XXI века, хотя и до этого вирусописатели предпринимали успешные попытки собрать в единую систему зараженные компьютеры, доступные для удаленного управления — например системы, инфицированные бэкдорами. Исторически первым массовым ботнетом принято считать бот-сеть, созданную злоумышленниками в 2004 году с использованием почтового червя Beagle, заразившего порядка 230 000 компьютеров по всему миру. Червь Beagle мог инфицировать все существовавшие на тот момент версии Microsoft Windows и с использованием собственной реализации механизма SMTP рассылал свои копии по электронной почте. Beagle обладал руткит-модулем, способным скрывать собственное присутствие в системе, а также умел завершать процессы некоторых антивирусных программ.

В 2006 году заявил о себе массовый ботнет Rustock, предназначенный для рассылки спама. Инфицированные Rustock компьютеры могли рассылать до 25 000 почтовых сообщений в час, а в периоды максимальной активности — до 192 писем в минуту. Бот-сеть успешно действовала до 2011 года, когда была практически полностью уничтожена в результате тщательно спланированной кампании, проведенной экспертами из корпораций Microsoft, FireEye и специалистами из университета Вашингтона в сотрудничестве с федеральными агентами безо­пасности США.

С тех пор ботнеты различного функционального назначения стали появляться на свет с завидной регулярностью. 2007 год отметился появлением сети Cutwail (также известен как Bulknet). По различным подсчетам, Cutwail заразил в общей сложности порядка 1,5 млн компьютеров по всему миру. Этот ботнет также был предназначен для рассылки спама и имел довольно-таки простую структуру: действующие на зараженном компьютере вредоносные программы соединялись напрямую с командным сервером и получали оттуда все данные, необходимые для рассылки рекламных писем, а после успешного выполнения задачи боты передавали злоумышленникам отчет, содержащий подробную статистику о проделанной «работе».

2008 год стал периодом бурного распространения червя Conficker (также известного под именем Kido), заразившего в общей сложности более 10,5 млн компьютеров (по другим данным — порядка 12 млн) в 200 странах мира. По сей день этот ботнет считается одним из наиболее масштабных. Используя уязвимости в операционных системах семейства Microsoft Windows, червь загружал себя на атакуемый компьютер из Интернета, а также распространялся с использованием съемных носителей информации. В феврале 2009 года корпорация Microsoft объявила награду в 250 000 долларов за любую информацию о создателях этого червя. Кроме того, данная вредоносная программа обладала возможностью получать собственные обновления непосредственно с других зараженных узлов, минуя управляющий сервер, что значительно затрудняло борьбу с ним.

Начиная с 2010 года стали возникать бот-сети, состоящие из компьютеров, инфицированных банковскими троянцами (в частности, TDL/TDSS). В 2011 году получил широкое распространение файловый вирус Rmnet (Ramnit), также способный самоорганизовываться в ботнеты и инфицировавший в общей сложности порядка 3 млн компьютеров (по  другим данным — более 5 млн). Несмотря на громкие заявления некоторых антивирусных компаний о полной и безоговорочной победе над этой угрозой, бот-сеть Rmnet продолжает действовать и сегодня. Так, в нескольких известных специалистам по информационной безопасности подсетях этого ботнета на 27 июня 2015 года действует более 461 000 зараженных компьютеров (из них более 6000 — на территории России).

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

Не обделяют своим вниманием злоумышленники и рынок портативных платформ. Еще в 2010 году был зафиксирован первый ботнет, состоящий из мобильных устройств под управлением ОС Android, инфицированных троянцем Geinimi. А всего пару лет спустя, в 2013 году, специалисты компании «Доктор Веб» зафиксировали крупнейший мобильный ботнет, состоящий из смартфонов и планшетов, инфицированных троянцами семейства Android.SmsSend — заражению подверглись 200 000 с лишним устройств, при этом более 128 000 из них принадлежали российским пользователям.

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

Архитектура ботнетов

Простые ботнеты

Исторически самые первые бот-сети имели довольно примитивную структуру. Все вредоносные программы, инфицировавшие компьютеры своих жертв, подключались к единому управляющему серверу, с которого получали конфигурационные файлы, необходимые им для дальнейшей работы, обновления и собственно команды для последующего выполнения. В качестве управляющего узла мог выступать и чат-сервер, предназначенный для организации обмена текстовыми сообщениями по протоколу IRC (Internet Relay Chat) — этой технологией, в частности, пользовались троянцы семейства BackDoor.IRC.Bot. Боты этого типа соединялись с соответствующим IRC-сервером, подключались к определенному чат-каналу и начинали «слушать» его в ожидании входящих команд. Адрес управляющего сервера был, как правило, «зашит» в теле самого бота и в лучшем случае был зашифрован в целях затруднить его поиск и анализ. Бот расшифровывал адрес командного центра непосредственно во время своего выполнения. Таким образом, ранние ботнеты имели звездообразную структуру и обладали существенным архитектурным недостатком: при отключении или перехвате управляющего сервера вся бот-сеть становилась нефункциональной, и усилия, приложенные злоумышленниками на распространение вредоносного ПО, оказывались затраченными впустую.

Рис. 5. Первые ботнеты имели простую звездообразную структуру: 1 — зараженные компьютеры; 2 — управляющий сервер. Ботнеты, использующие DGS

Следующим эволюционным этапом в развитии бот-сетей стало появление технологии генерации доменных имен контрольно-управляющих серверов (DGS, domain generation system). Создана эта система была в первую очередь в целях борьбы с противодействием работе бот-сетей со стороны антивирусных компаний и для повышения «живучести» ботнетов.

Вместо адреса контрольно-управляющего сервера или списка таких адресов в состав ботов злоумышленники стали включать специальный алгоритм, генерирующий адрес управляющего сервера по определенной схеме «на лету». Таким образом формировался перечень подобных адресов. Далее бот опрашивал полученные адреса по очереди, и, если с одного из них приходил заранее обусловленный ответ, этот сервер становился для бота управляющим. Например, некоторые троянцы составляли адреса серверов из последовательности латинских символов и цифр, добавляя к ним обозначение домена первого уровня .com или .org. Зная используемый вредоносной программой алгоритм генерации имен, злоумышленник мог оперативно зарегистрировать такой домен для управляющего сервера. Если этот домен по каким-либо причинам оказывался заблокированным, киберпреступник попросту регистрировал новый.

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

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

С одной стороны, DGS сделала бот-сети более управляемыми и устойчивыми к внезапному отказу командных центров, с другой — значительно упростила их перехват с использованием метода sinkhole (о нем мы побеседуем чуть позже). В целях борьбы с этим методом перехвата управления ботнетами злоумышленники стали заметно усложнять механизм коммуникации бот-сети с управляющим центром: протоколы обмена данными стали активно использовать шифрование, управляющие сервера для подтверждения своей подлинности обменивались с вредоносной программой специальным образом сформированной цифровой подписью. Например, один из представителей семейства вирусов Win32.Virut способен генерировать до 100 адресов управляющих серверов в сутки. Последовательно опрашивая их, вирус ожидает поступления ответного пакета, содержащего цифровую подпись домена. Если проверка цифровой подписи проходит успешно, бот считает сервер с таким доменом управляющим.

Рис 6. Структура ботнета, построенного с использованием технологии генерации доменных имен контрольно-управляющих серверов (DGS): 1 — инфицированные компьютеры; 2 — управляющие серверы P2P-ботнеты

Еще одной категорией бот-сетей являются так называемые P2P (Peer-To-Peer), или пиринговые одноранговые сети. Такие сети вовсе не используют управляющих серверов, вместо этого они «общаются» с другими инфицированными компьютерами, передавая команды по сети от «точки к точке». Одноранговые бот-сети являются децентрализованными и потому их невозможно вывести из строя, уничтожив одним метким «ударом» управляющий сервер — за полным отсутствием такового. Ярким примером пиринговой вредоносной сети можно считать ботнет, созданный киберпреступниками с использованием файлового вируса Win32.Sector, заразившего в общей сложности более миллиона компьютеров. Этот вирус может загружать из P2P-сети и запускать на зараженной машине другие вредоносные программы, останавливать работу некоторых антивирусов и предотвращать пользователям зараженной машины доступ к сайтам их разработчиков.

Общеизвестно, что подключенный к Интернету компьютер может иметь собственный внешний IP-адрес, либо не иметь его в случае, если в его локальной сети используется механизм NAT (Network Address Translation). NAT позволяет передавать пакеты за пределы локальной сети, направляя их от узлов с «внутренним» IP-адресом, недоступным из Интернета, внешнему получателю и обратно путем замены в заголовке пакетов «внутреннего» IP-адреса на реальный адрес шлюза или роутера, через который осуществляется подключение всей локальной сети к Интернету.

Рис. 7. Организация одноранговой бот-сети на примере Win32.Sector: «Bot» — зараженные компьютеры, не имеющие внешнего IP-адреса; «Node» — зараженные компьютеры, имеющие внешний IP-адрес и выполняющие функции маршрутизатора для компьютеров «Bot»

Заразив компьютер, Win32.Sector проверяет, имеет ли он внешний IP-адрес или нет. Если имеет, такой бот, условно называемый «Node», начинает играть роль маршрутизатора для других зараженных машин («Bot»), не имеющих реального внешнего IP-адреса. Инфицированные компьютеры типа «Bot» начинают «общаться» с Интернетом и другими зараженными узлами через него. Каждый инфицированный узел такой сети получает начальный список из 100 IP-адресов других ботов, с которыми он пытается установить соединение, причем этот список периодически обновляется. При подобной структуре сети потеря одного «Node» (например, если владелец компьютера вылечит его от вируса) ничем не грозит всей системе в целом: «Bot» просто подключится к другому «Node» для получения дальнейших управляющих команд. Так, на  20 мая 2014 года специалисты компании «Доктор Веб» насчитали в ботнете Win32.Sector 1 197 739 зараженных компьютеров, из них внешний IP-адрес имели только 109 783.

Ботнеты смешанного типа

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

Для связи с управляющими серверами Trojan.Dridex.49 использует сложную по своей архитектуре одноранговую бот-сеть, состоящую из двух промежуточных слоев прокси. Заразив компьютер, Trojan.Dridex.49 может принять на себя одну из трех возможных ролей:

• роль «Bot» — троянцы этого типа работают на компьютерах, не имеющих внешнего IP-адреса. «Bot» осуществляет связь с управляющим сервером через троянцев с ролью «Node»;

• роль «Node» — троянцы этого типа работают на компьютерах, имеющих внешний IP-адрес, и передают данные от троянцев с ролью «Bot» троянцам с ролью «Admin Node», а также в обратном направлении;

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

Цепочка связи инфицированного компьютера, не имеющего внешнего IP-адреса, с управляющим сервером ботнета, выглядит в общем случае следующим образом: Bot -> Node -> Admin Node -> другие Admin Node -> Управляющий сервер. При этом в целях обеспечения безопасности соединения троянцы обмениваются между собой цифровыми ключами. Схематически структура этой сети показана на рис. 8.

Так, чтобы получить с управляющего сервера новый перечень IP-адресов ботов с ролью «Node» или конфигурационных данных, необходимых для выполнения веб-инжектов, троянцы с ролью «Bot» передают запрос троянцу с ролью «Node», тот переправляет его троянцу с ролью «Admin Node», который, в свою очередь, может перебрасывать его другим «Admin Node» до тех пор, пока запрос не достигнет управляющего сервера. Передача запрошенных данных от управляющего сервера троянцу «Bot» осуществляется в обратном иерархическом порядке. Аналогичным образом осуществляется доставка дополнительных функциональных модулей вредоносной программы: «Node» запрашивают их у управляющего сервера через «Admin Node», а «Bot» получают эти модули по запросу у троянцев с ролью «Node». Такая многоуровневая и запутанная система значительно затрудняет отслеживание управляющих серверов бот-сети и перехват информации, которой обмениваются инфицированные машины.

Рис. 8. Архитектура бот-сети смешанного типа на примере Trojan.Dridex.49

Некоторые современные вредоносные программы, например определенные модификации банковского троянца Zeus, используют еще более сложную и изощренную структуру P2P-ботнета с применением туннелирования. Например, запустившись на целевом компьютере, такой троянец может расшифровать из собственного конфигурационного файла список других ботов с ролью «Node» и попытаться установить с ними соединение, а если наладить связь не удалось, он сгенерирует перечень доменов с использованием алгоритма DGS и попытается получить актуальный список «Node»-узлов ботнета оттуда. При этом ресурсы на доменах, содержащие списки узлов сети, не являются управляющими серверами — они просто хранят данные перечни IP-адресов «Node»-узлов, которые отдают ботам по запросу. Связь с истинным управляющим сервером реализуется в такой сети через отдельные «Node»-узлы, работающие как туннелирующий сервер. Сам злоумышленник, управляющий ботнетом, также передает на управляющий сервер список команд не напрямую, а через туннель  — в целях затруднения своей локализации и идентификации. Общая схема такой сети показана на рис. 9.