Время энтузиастов-одиночек, создававших компьютерные вирусы на заре информационной эпохи, давно прошло: в наши дни разработкой и распространением вредоносных программ занимаются хорошо организованные преступные группировки, имеющие жесткую иерархию и напоминающие по своей структуре настоящие мафиозные кланы. Объем этого подпольного рынка составляет сотни миллионов долларов.
Книга рассказывает об истории возникновения и развития технологий компьютерных вирусов, их разновидностях, внутренней архитектуре, способах распространения и принципах действия. Книга позволит читателям познакомиться с таинственным теневым миром киберпреступности, представители которого ежедневно осуществляют атаки на компьютеры простых пользователей по всему миру.
Содержание:
Предисловие 1
Глава 1. Закоулки истории 1
Глава 2. Сравнительная вирусология 5
Глава 3. Внимание, опасность! 9
Глава 4. Ботнеты 14
Глава 5. Технологии проникновения 17
Глава 6. Технологии заражения 21
Глава 7. Кто пишет и распространяет вирусы? 23
Глава 8. Методы борьбы 27
ГЛОССАРИЙ 29
Валентин Холмогоров
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. Если в тексте книги вам встретится незнакомое понятие, его значение можно уточнить в кратком глоссарии, который я привел в конце книги. Ну, а если у вас возникнут какие-либо вопросы, не освещенные на страницах этой книги, буду рад видеть вас на моем персональном веб-сайте:
. Также со мной можно связаться по адресу электронной почты valentin@holmogorov.ru.
Хочу выразить искреннюю благодарность за неоценимую помощь и мудрые советы моим уважаемым коллегам: Игорю Здобнову, Алексею Ткаченко, Владимиру Мартьянову, Павлу Плотникову и Александру Свириденко.
Глава 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!