Валентин Холмогоров
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 — тысячами. Пару лет назад на Первое апреля мы выпустили
В силу моей профессии ко мне часто обращаются знакомые с просьбами проконсультировать их по вопросам защиты информации и борьбы с вирусами. И я всякий раз сталкиваюсь с тем, что многие из них (даже те, кто является неплохим специалистом в других компьютерных областях) не слишком хорошо разбираются в данном предмете, не знакомы с некоторыми важными фактами, безоговорочно верят в домыслы и стереотипы, путаются в терминологии. Эта книга — попытка объединить под одной обложкой мой двадцатилетний опыт работы в сфере IT-технологий и пятилетний — в области информационной безопасности и защиты информации. Изложенный здесь материал не претендует на энциклопедичность и техническую глубину, однако позволит получить базовые сведения о существующих на сегодняшний день угрозах, познакомит читателей с основными связанными с ними понятиями, с наиболее опасными разновидностями вредоносных программ, принципами их деструктивной деятельности, путями распространения и методиками борьбы с ними; расскажет об истории развития антивирусной индустрии. Иными словами, эта книга — начальное пособие для всех, кто интересуется теорией и практикой информационной безопасности и антивирусной защиты.
Предполагается, что читатели настоящего издания уже владеют базовыми знаниями о принципах работы современных персональных компьютеров и операционных систем, а также владеют основными терминами, применяемыми в сфере IT. Если в тексте книги вам встретится незнакомое понятие, его значение можно уточнить в кратком глоссарии, который я привел в конце книги. Ну, а если у вас возникнут какие-либо вопросы, не освещенные на страницах этой книги, буду рад видеть вас на моем персональном веб-сайте: http://holmogorov.ru
. Также со мной можно связаться по адресу электронной почты valentin@holmogorov.ru.
Хочу выразить искреннюю благодарность за неоценимую помощь и мудрые советы моим уважаемым коллегам: Игорю Здобнову, Алексею Ткаченко, Владимиру Мартьянову, Павлу Плотникову и Александру Свириденко.
Глава 1. Закоулки истории
Любое наблюдаемое в современном мире явление имеет свою предысторию, в той или иной степени обусловливающую его возникновение. И если сам момент появления первых вредоносных компьютерных программ установлен с более или менее высокой степенью достоверности, то по поводу идеи, подтолкнувшей вирусописателей к мысли о создании такого рода опасных приложений, до сих пор ведутся ожесточенные споры.
Первые ласточки
Общепринятое мнение гласит, что теоретические основы, послужившие фундаментом для разработки
По поводу этимологии самого названия «вирус» применительно к самореплицирующимся компьютерным программам также ведутся ожесточенные споры. Считается, что впервые этот термин именно в таком контексте употребил американский астрофизик и писатель-фантаст Грегори Бенфорд в своем рассказе «Человек в шрамах», опубликованном в журнале 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-м запуске которой отображал на экране стишок следующего содержания:
Если компьютер загружал операционную систему 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), при запуске операционной системы он передавал управление своему основному исполняемому модулю, который при каждом запуске компьютера шифровал по две дорожки на жестком диске со случайным ключом. Загруженный в оперативную память резидентный компонент вируса выполнял роль своего рода драйвера, перехватывая все обращения операционной системы к диску и расшифровывая ранее подверженные шифрованию данные «на лету», вследствие чего операционная система не испытывала каких-либо проблем в процессе чтения-записи файлов и фактически «не замечала» присутствие вируса в системе. Однако при попытке удаления вредоносной программы доступ к хранящейся на зашифрованных участках жесткого диска информации автоматически прекращался. После успешного шифрования половины доступного объема диска в момент загрузки операционной системы вирус в некоторых случаях выводил на экран компьютера сообщение:
Поскольку OneHalf шифровал диск от конца к началу, рано или поздно он зашифровывал весь его доступный объем, включая загрузочную область. В результате при следующем включении компьютера запуск операционной системы становился невозможным, и вся информация на диске безвозвратно терялась. В начале 1994 года OneHalf вызвал настоящую пандемию среди пользователей MS-DOS, он встречался на инфицированных компьютерах вплоть до второй половины 90-х.
1995 год оставил свой след в мировой истории запуском каталога «Yahoo!», первой стыковкой американского Шаттла с российской станцией «Мир», началом работ по восстановлению храма Христа Спасителя в Москве и выпуском операционной системы Microsoft Windows 95. Именно последний факт оказал наиболее серьезное влияние на сферу информационной безопасности, поскольку появление принципиально новой по своей архитектуре ОС открыл перед вирусописателями широчайшие горизонты для творчества.
Именно в 1995 году появились первые в истории макровирусы, использовавшие в целях реализации своей вредоносной деятельности скриптовые языки, предназначенные для создания макросов в приложениях пакета прикладных программ Microsoft Office, и, в частности, Microsoft Word.
Развитие операционных систем семейства Windows 90-х повлекло появление и новых вредоносных программ, так или иначе использующих их ресурсы. Так, в 1998 году разразилась эпидемия вируса Melissa, предназначенного для массовой рассылки нежелательных рекламных почтовых сообщений —
Эта вредоносная программа была написана тайваньским студентом Чэнь Инхао, она представляла собой резидентный вирус, способный работать только на компьютерах под управлением операционной системы 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 году было зафиксировано появление первых массовых
В 2007 году в России было отмечено появление первых
Примерно в 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 и некоторые другие.
Чтобы отнести вредоносную программу к категории
обладать способностью к саморепликации — иными словами, способностю к распространению в автоматическом режиме путем создания собственных копий без участия пользователя;
обладать способностью заражения (инфицирования) файловых объектов.
Вот об этом следует поговорить чуть подробнее. Собственно, умением самостоятельно создавать собственные копии (самореплицироваться) обладает и еще одна категория вредоносных программ —
Помимо классических файловых вирусов принято различать еще несколько разновидностей компьютерных вирусов, которые кратко упоминались в предыдущей главе.
Полиморфные вирусы — вирусы, с целью затруднить свое обнаружение и уничтожение способные «на лету» изменять свой код непосредственно в процессе его исполнения. Процедура, отвечающая за динамическое изменение кода вируса, тоже может меняться от заражения к заражению. Самый простой способ модифицировать структуру исполняемого файла вируса, не меняя алгоритм его работы, — добавить в программу «пустых операторов», пустых циклов, пустых строк и прочего «мусорного кода», не оказывающего существенного влияния на функциональные возможности вируса, но затрудняющие создание сигнатуры для его детектирования. Практически все современные файловые вирусы используют те или иные полиморфные технологии.
Стелс-вирусы — вирусы, способные полностью или частично скрывать свое присутствие на инфицированном компьютере, например, путем перехвата обращений операционной системы к зараженным файловым объектам, памяти или загрузочным областям диска. Фактически, перехватив обращение операционной системы, стелс-вирус возвращает операционной системе недостоверную информацию о состоянии соответствующего объекта, например о размере исполняемого файла, с целью сокрытия увеличения его объема в результате добавления в файл вирусного кода. Этот термин применялся по отношению преимущественно к вирусам, действовавшим в операционной системе MS-DOS, и потому сейчас его можно считать устаревшим. Вредоносные программы, использующие механизмы сокрытия своего присутствия в зараженной системе, принято называть
Макровирусы — вирусы, написанные с использованием скриптовых языков, применяющихся для создания макросов в различных офисных приложениях, таких как Microsoft Office, в частности Microsoft Word.
Резидентные вирусы. Сам термин «резидентный» традиционно принято использовать в контексте «выполняющийся в фоновом режиме». Ранее «резидентными вирусами» называли вредоносные программы, действующие непосредственно в памяти зараженного компьютера параллельно с другими запущенными задачами и процессами. Иногда к этой же категории относили вирусы, не хранящиеся где-либо на диске в виде обособленного физического файла. Такие вирусы либо уничтожали исходный файл после своего запуска, либо хранили его в недоступных пользователю и операционной системе областях диска, либо «собирали» свое тело непосредственно в оперативной памяти из отдельных разрозненных компонентов (каждый из которых сам по себе не представлял какой-либо опасности). С появлением многозадачных операционных систем само понятие «резидентный вирус» принято считать устаревшим, а угрозы, действующие непосредственно в памяти инфицированного устройства и не хранящиеся на физических носителях в виде обособленных файлов, часто называют общим термином «бесфайловые вредоносные программы».
Черви