Читать книгу: «Искусство цифровой самозащиты»
© Артимович Д.А., 2023
© ООО «Издательство АСТ», 2023
Вступление
В современный цифровой век безопасность платежных данных, да и вообще конфиденциальной информации, стала очень актуальной. Все мы периодически слышим о телефонных мошенниках, краже денег с банковских карт и счетов, а также о нескончаемых утечках персональных данных.
Издательство хотело от меня правила – как защитить себя от этих угроз – в подробностях. На самом деле правил очень мало, и они очень краткие:
• Установите антивирус на свой персональный компьютер.
• Cвоевременно обновляйте программное обеспечение (ПО).
• Устанавливайте ПО только из проверенных источников.
• Никому не сообщайте свои платежные данные, особенно по телефону (номера карт, СМС-коды и подобное).
Как бы я ни старался, я не смог бы растянуть эти правила на сотню страниц. Поэтому, если вам нужны только правила, – они выше, на этом вы можете закрыть книгу. Если же вам интересен мир вирусов, история их появления, самые громкие примеры, если вы хотите понять, как вирусы и другое вредоносное программное обеспечение попадает на компьютеры и телефоны, как работает киберкриминальный подпольный рынок, что делают с украденными данными, – эта книга для вас. Я постарался объяснить всё это предельно простым языком. Не расстраивайтесь, если чего-то не поняли. Самые важные определения выделены курсивом. И, естественно, после каждой главы я буду приводить те самые правила безопасности с примерами.
Первая часть книги – «Вредоносное ПО (Malware)» – будет полностью посвящена вредоносному программному обеспечению, созданному под персональные компьютеры. В этой главе будет практически одна занудная – а для кого-то интересная – теория. Если вы не хотите читать ее полностью, просмотрите только определения.
Вторая часть описывает вредоносы под смартфоны и умные устройства.
Третья часть расскажет о техниках социальной инженерии: фишинге, «нигерийских письмах», телефонных звонках и мошенничестве с технической поддержкой.
Четвертая часть коснется еще одной важной темы – кардинга.
Заключительная, пятая часть – «Паранойя» – рассчитана на продвинутых пользователей, которые хотят защитить свои данные не только в интернете, но и при утере или хищении личного компьютера – например, коррумпированными сотрудниками правоохранительных органов.
Начинаем…
Часть 1. Вредоносное ПО (Malware)
2010 год, октябрь, утро… 2 часа дня. Да, у многих aйтишников утро начинается поздно. Я встаю с кровати и подхожу к своему старенькому ноутбуку Aser. Странно, моя ICQ1 перестала подключаться, пароль больше не подходит.
В jabber2 написал AciD:
– Твоя аська у меня денег в долг просит. Это ты?
– Нет, похоже, украли.
Как это могло случиться? На своем персональном ноутбуке я уже давно пользовался антивирусом, который сканировал интернет-трафик и файлы. Так что этот вариант отпадал.
А вот в «Адамант Мультимедии», где я проработал с 2005 по 2007 год, к безопасности относились наплевательски. Компания разрабатывала компьютерные игры, и работа, безусловно, нравилась мне до определенного момента. У каждого разработчика был довольно мощный компьютер, по два жидкокристаллических монитора. А вот никакой политики обновления ОС, антивирусов там не было и подавно. Судя по всему, на этот рабочий комп я и подхватил кейлоггера. К слову сказать, потеря моей ICQ – единственный случай, когда у меня кто-то что-то украл.

Тогда основными моими контактами в аське были ребята с форума spamdot3. Зарегистрировав новую аську, я создал топик «Угнали ICQ 332084545» на спамдоте в разделе «Кидалы».
Для того чтобы красть деньги с вашей карты или с вашего счета, даже не обязательно быть хакером. Очень часто подобные персонажи покупают существующий вредоносный софт на специализированных форумах. Поднимают сервер4 для сбора логов, покупают загрузки и собирают чужие пароли, данные карт, доступы к онлайн-банкам, пароли от разных сервисов и т. д. А дальше уже могут продавать эти логи на тех же форумах, где кто-то другой будет их монетизировать. Ничего лучше, как выпрашивать в долг у моих контактов, тот горе-хакер не придумал.
Давайте рассмотрим основные категории, на которые делятся вредоносные программы:
• трояны;
• кейлоггеры (на самом деле кейлоггеры – это подраздел троянов, но я вынес их в отдельную главу);
• вирусы;
• черви.
Это разделение довольно условно, потому что троян может распространять себя как вирус или червь, или же это будут разные компоненты: вирус-загрузчик и троян-кейлоггер. Но давайте разберем всё по порядку.
Кейлоггер (Keylogger)
Кейлоггером является любой компонент программного обеспечения или оборудования, который умеет перехватывать и записывать все манипуляции с клавиатурой компьютера. Нередко кейлоггер находится между клавиатурой и операционной системой и перехватывает все действия пользователя. Это скрытое вредоносное программное обеспечение обычно передает данные на удаленный компьютер в интернете, где позже злоумышленник просматривает логи5 на предмет «чем бы поживиться».

Кейлоггеры бывают как аппаратные, так и программные. Интересно, что первый кейлоггер был именно аппаратным, а история его создания и применения поражает.
Во время холодной войны разведка СССР пристально следила за дипломатами США, находившимися на территории нашей страны. Незаменимым помощником в этой слежке и получении важной информации оказались специальные жучки, которые можно считать первыми кейлоггерами.
Жучки устанавливались на печатные машинки, однако американцы в течение нескольких лет не догадывались о существовании подобных устройств.
О способе слежки советских спецслужб рассказали в АНБ еще в 2012 году, но тогда СМИ не обратили на историю внимания. В 2015-м о ней вспомнил специалист по шифрованию и безопасности Брюс Шнайер (Bruce Schneier).
С 1976 по 1984 год жучки устанавливались на печатные машинки IBM Selectric, использовавшиеся в посольстве США в Москве и консульстве в Ленинграде. Всего было обнаружено 16 «зараженных» машинок, в которых применялось несколько «поколений» кейлоггеров.
Принцип работы жучка основывался на движениях пишущей головки IBM Selectric: для набора текста ей нужно было поворачиваться в определенном направлении, уникальном для каждого символа на клавиатуре. Кейлоггер улавливал магнитную энергию от движения каретки и преобразовывал ее в цифровой сигнал.
Каждый из полученных и обработанных сигналов хранился на жучке в виде четырехбитного символа. Устройство позволяло хранить до восьми таких символов, после чего отправляло их по радиочастотам на расположенную поблизости станцию прослушки.
Специалисты АНБ заявили, что жучок был «очень изощренным» для своих времен: например, у него был один бит встроенной памяти, что не встречалось ни у каких других подобных устройств того периода. Кейлоггер не был заметен снаружи, работал бесшумно, а при разборке машинки выглядел как одна из ее запчастей.
Обнаружить жучок было нетривиальной задачей даже для американских спецслужб. Его можно было увидеть при просвете рентгеновским излучением, однако он не обладал выдающимся радиофоном, так как зачастую вещал на частотах, используемых американским ТВ. Кроме того, отследить некоторые продвинутые версии жучка по радиосигналу можно было только в том случае, если была включена сама машинка, активирован кейлоггер, а анализатор шпионских устройств настроен на правильную частоту. Обученный советский техник мог установить такой жучок в IBM Selectric за полчаса6.
Вот еще несколько примеров аппаратных кейлоггеров:
•Аппаратный кейлоггер клавиатуры, который подключается где-то между клавиатурой компьютера и самим компьютером, обычно встроенный в разъем кабеля клавиатуры. Более скрытые реализации могут быть установлены или встроены в стандартные клавиатуры, чтобы на внешнем кабеле не было видно никаких устройств. Оба типа регистрируют все действия с клавиатурой в своей внутренней памяти, к которой впоследствии можно получить доступ. Аппаратные кейлоггеры не требуют установки какого-либо программного обеспечения на компьютер целевого пользователя, поэтому они не мешают работе компьютера и с меньшей вероятностью будут обнаружены работающим на нем программным обеспечением. Однако физическое присутствие кейлоггера может быть обнаружено, если, например, установить его вне корпуса в качестве внешнего устройства между компьютером и клавиатурой. Некоторыми из этих реализаций можно управлять и контролировать их удаленно с помощью стандарта беспроводной связи.

•Анализаторы беспроводной клавиатуры и мыши. Такие анализаторы собирают пакеты данных, передаваемые с беспроводной клавиатуры и ее приемника. Поскольку для защиты данных, передаваемыx по беспроводной связи, между двумя устройствами может использоваться шифрование, то требуется доступ к ключам шифрования производителя.
•Электромагнитное излучение: можно зафиксировать электромагнитное излучение проводной клавиатуры на расстоянии до 20 метров (66 футов) без физического подключения к ней. В 2009 году швейцарские исследователи протестировали 11 различных клавиатур USB, PS/2 и ноутбуков в полубезэховой камере и обнаружили, что все они уязвимы – прежде всего, из-за непомерно высокой стоимости добавления экранирования во время производства. Исследователи использовали широкополосный приемник, чтобы настроиться на определенную частоту излучения клавиатуры.
Рассказывать про аппаратные кейлоггеры можно и дальше. Но в основном такие штуки используются спецслужбами. Например, в 2000 году ФБР хитроумно заманило двух подозреваемых российских хакеров в США. ФБР перехватило их имена пользователей и пароли с помощью кейлоггера, который был тайно установлен на машине, которую хакеры использовали для доступа к своим компьютерам в России. Затем ФБР с помощью этих учетных данных взломали компьютеры подозреваемых в России, после чего воспользовались полученными доказательствами для судебного преследования. Только не стоит забывать, что некоторые сотрудники спецслужб могут переступать грань закона и злоупотреблять служебным положением в целях личной наживы, промышленного шпионажа или заказного уголовного дела. Более подробно об аппаратных кейлоггерах мы поговорим в разделе «Паранойя». Сейчас же наибольший интерес для нас представляют программные кейлоггеры, которые входят в семейство троянских программ.
Кстати, существуют и легальные виды кейлоггеров, записывающие действия пользователей. Например, часть DLP-системы внутри организации.
DLP-система – специализированное программное обеспечение, предназначенное для защиты компании от утечек информации. Эта аббревиатура расшифровывается как Data Loss Prevention (предотвращение потери данных) или Data Leakage Prevention (предотвращение утечки данных).
Другими словами, ваш босс или даже специальный отдел в вашей компании может следить за вашими действиями без вашего ведома, но абсолютно законно. Конечно, до тех пор, пока он не захочет где-то ввести номер вашей кредитной карты… Но будем надеяться на его благоразумие, и на ваше тоже.
Итак, кейлоггеры – это такие вредоносные программы, которые, попав на ваш компьютер, будут отслеживать нажатие клавиш без вашего ведома и разрешения. Соответственно, всё, что вы вводите на клавиатуре, – пароли, номера ваших банковских карт, личная переписка – попадет в руки злоумышленнику.
Троян (Trojan)
Троянская вирусная программа (также – троян) – разновидность вредоносной программы, проникающая в компьютер под видом легитимного программного обеспечения, в отличие от вирусов и червей, которые распространяются самопроизвольно. Современные трояны могут записывать не только нажатие клавиш, но и перехватывать данные форм интернет-браузеров (вводимые пароли от почты, номера карт, пароли от онлайн-банков), извлекать сохраненные пароли из других программ (например, как у меня пароли от ICQ), делать скриншоты рабочего стола, следить за перемещением пользователя, записывать изображения или видео с камеры.

В эпической поэме Вергилия «Энеида» греческий стратег Одиссей придумал коварный план, чтобы проникнуть за неприступные крепостные стены осажденной Трои. Вместо того чтобы проламывать стены или взбираться на них, Одиссей предложил другой способ: прибегнуть к хитрости. Троянцы увидели, как греческие корабли уплыли прочь, оставив после себя гигантского деревянного коня в знак признания поражения. Ликуя и празднуя победу, троянцы втащили коня в город, не подозревая, что внутри спрятались Одиссей и его солдаты, которые дождались глубокой ночи и захватили город.
Есть несколько элементов этой истории, которые делают термин «троянский конь» подходящим названием для этих типов кибератак:
•Троянский конь был уникальным решением для преодоления защиты цели. В оригинальной истории нападавшие осаждали город 10 лет и так и не смогли его победить. Троянский конь дал им доступ, о котором они мечтали столько лет. Точно так же троянский вирус может быть хорошим способом обойти сложную систему защиты.
•Троянский конь казался обычным подарком. В том же духе троянский вирус выглядит как легальное программное обеспечение.
•Солдаты из троянского коня захватили и взяли под контроль систему обороны города. С помощью троянского вируса вредоносное ПО получает контроль над вашим компьютером, потенциально делая его уязвимым для других «захватчиков».
Впервые термин «троян» был использован в ссылке на вредоносный код в отчете ВВС США 1974 года, посвященном анализу уязвимостей компьютерных систем. Термин стал популярным в 1980-х, особенно после лекции Кена Томпсонa на награждении ACM Turing Awards 1983 года.
Одним из основоположников известных троянов стал PC-Write Trojan (1986). Текстовый редактор PC-Write был одной из первых свободно распространяемых shareware7 программ. PC-Write Trojan маскировался как версия 2.72 текстового редактора PC-Write, хотя сами создатели никогда не выпускали такую версию. Пользователь думал, что запускает новую версию условно-бесплатной программы, а по факту запускал троян на своем компьютере. После запуска троян уничтожал все файлы на диске.
Своего первого трояна я написал еще в 1998 году. Интернет тогда у нас был через обычные телефонные модемы по проводным телефонным линиям. Скорость по такому интернет-соединению достигала максимум 56 кбит/c, т. е. вы могли скачивать всего 7 килобайт в секунду, и то в лучшем случае.

У нас в Кингисеппе8 интернет был только по модему и достаточно дорогой для того времени. Звонишь по определенному номеру и потом платишь по несколько рублей за минуту на линии. Поэтому для электронной почты некоторые умельцы подняли выделенный сервер, расположили его на местном заводе «Фосфорит»9. Специальная программа Minihost дозванивалась до сервера и принимала/отправляла почту по протоколу UUCP10. Вот под этот почтовый клиент я и написал трояна на Pascal’е11: он должен был стащить пароли от почты и отправить тем же Minihost’ом мне на специальный адрес электронной почты. Закинул этого трояна я в местную почтовую конференцию под видом «крутого скринсейвера».
Следующий мой троян использовался как загрузчик для спам-бота12 Festi. Задача трояна была скрытно установить бота на компьютер пользователя. Вот только одна проблема: начиная с Windows Vista Microsoft встроила в операционную систему UAC13, который блокировал установку драйверов-руткитов.


Нужно было получить права администратора. И один из таких способов – социальная инженерия. Троян-загрузчик притворялся обновлением Adobe Flash Player14 и при нажатии на Install запрашивал те самые права администратора, что уже не вызывало подозрений у пользователя. Далее троян имитировал процесс обновления и закрывался, выполнив свою задачу.
Этот пример хорошо иллюстрирует природу троянской программы: замаскироваться под видом чего-то вполне легального и выполнить некоторые действия без ведома и разрешения пользователя. Такие программы в подавляющем большинстве случаев служат для вредоносных целей.
Виды троянских программ:
•Удаленный доступ (Backdoors)
Бэкдоры открывают злоумышленникам доступ к управлению зараженным компьютером. Злоумышленник может делать что угодно на захваченном ПК – например, копировать файлы, делать снимки экрана. Так очень часто начинается взлом целой сети предприятия. На зараженной машине находят доступы от других компьютеров в сети – рабочих станций, баз данных, почтовых серверов – и устанавливают на них, например, шифровальщика.
•Дроппер (Dropper)
Название происходит от английского слова drop – сбрасывать. Дроппер несет внутри себя другой вредоносный код, который он запускает (сбрасывает) на зараженном компьютере. Например, дроппер может содержать трояна-кейлоггера, который после запуска маскируется внутри системы и перехватывает весь ввод с клавиатуры.
•Загрузчик (Loader)
Так же, как и дроппер, может запускать на инфицированном компьютере произвольный код без ведома и согласия пользователя. Но, в отличиe от дроппера, загрузчик остается резидентным в памяти и может загрузить произвольный файл с удаленного сервера злоумышленника и выполнить его на целевой машине. Обычно загрузчиками пользуются поставщики загрузок (installs), которые продают эти загрузки на теневых форумах. Но об этом мы поговорим позже.
•Банковские трояны
Банковские трояны встречаются наиболее часто. Их используют злоумышленники для кражи доступов в онлайн-банки, платежные системы, а также для кражи номеров кредитных карт. Вообще такие трояны обычно крадут доступы от любых сайтов, будь то ваш личный счет в PayPal или ваш аккаунт на mail.ru. Периодически полученные данные отправляются на удаленный сервер, контролируемый злоумышленником. На языке кардеров15 подобные данные называются логами16.
•Трояны, выполняющие DDoS-атаки
Распределенные атаки типа «отказ в обслуживании» (DDoS) продолжают будоражить интернет. В этих атаках к серверу или сети обращается огромное количество запросов, как правило, это делается с использованием ботнетов17. В июне 2022 года произошла рекордная DDoS-атака18. Источником стал ботнет Mantis, состоящий из зараженных серверов и виртуальных машин. Атака достигала 26 млн запросов в секунду. Представьте, тысячи машин по всему миру слали одновременно 26 млн запросов в секунду! Такую атаку выдержит не каждая DDoS-защита, не то что сайт. Для достижения такой вычислительной мощности необходимо огромное количество ботов. Ботнеты состоят из так называемых компьютеров-зомби. На первый взгляд эти компьютеры работают нормально, однако они также используются при совершении атак. Причиной является троянская программа с бэкдором, незаметно присутствующая на компьютере и при необходимости активируемая оператором. Результатом успешных DDoS-атак является недоступность веб-сайтов или даже целых сетей.

•Трояны, имитирующие антивирусы (Fake AV)
Трояны, имитирующиe антивирусы, относятся к классу программ-страшилок (Scareware). Такие лжеантивирусы особенно коварны. Вместо защиты устройства они являются источником серьезных проблем. Эти троянские программы имитируют обнаружение вирусов, тем самым вызывая панику у ничего не подозревающих пользователей и убеждая их приобрести эффективную защиту за определенную плату. Однако вместо полезного инструмента антивирусной проверки вы получаете пустышку, либо, что еще хуже, данные вашей карты попадают к злоумышленникам – кардерам.
•Трояны-вымогатели
Этот тип троянских программ может изменять данные на компьютере, вызывая сбои в его работе, или блокировать доступ к определенным данным. Злоумышленники обещают восстановить работоспособность компьютера или разблокировать данные только после получения требуемого выкупа. Примером такого трояна является шифровальщик. Один из самых резонансных инцидентов с вымогателями-шифровальщиками за последнее время – атака на Colonial Pipeline, компанию, снабжающую топливом часть Bосточного побережья США. Шифровальщик уведомляет жертву, что ее компьютер или серверы зашифрованы, а также отправляет личный URL-адрес утечки: украденная информация загружена в интернет и ждет автоматической публикации, если организация не заплатит до определенного срока. Также хакеры сообщают, что удалят все данные жертвы из сети в случае оплаты. Режим ЧП был введен в 18 штатах США. Позже стало известно, что оператор трубопроводов Colonial Pipeline выплатил взломавшей его системы группировке хакеров DarkSide около $5 миллионов в качестве выкупа в криптовалюте сразу через несколько часов после атаки.

•Трояны-прокси
Программа, предназначенная для анонимного доступа злоумышленника в интернет через компьютер жертвы. Т. е. злоумышленник попросту использует IP-адрес19 жертвы для выхода в интернет. Прокси обычно используются для рассылки спама, перебора паролей, взлома сайтов или же в схемах обналичивания денег с похищенных карт (когда кардер делает покупку чужой картой в интернет-магазине).
Итак, троянская программа – это такая вредоносная программа, которая проникает на ваш компьютер под видом абсолютно легитимного программного обеспечения, но при этом дает злоумышленнику возможность использовать ресурсы вашего компьютера без вашего ведома (прокси, DDoS-атаки, рассылка спам-сообщений), красть ваши пароли или платежные данные (кейлоггер), вымогать у вас деньги (шифровальщики) или обманом заставлять купить антивирус-пустышку.
Вирусы
В 2000 году широкой общественности представили новую операционную систему Windows 2000. И мы с братом решили ее попробовать на своем домашнем компьютере скромной конфигурации Intel Celeron 266, 64 Mб памяти, 4 гигабайта hdd. Достали пиратский компакт-диск и запустили инсталлятор прямо из-под Windows 98; система что-то скопировала и ушла в перезагрузку. Windows 2000 установила свой загрузчик, который позволял выбрать либо старую ОС Win98, либо новую Win2000.
Уже на новую Win2000 мы тут же установили свеженький AVP20. AVP при старте запустил сканирование и весело захрюкал (при обнаружение вируса антивирус издавал хрюкающий звук), когда нашел множество файлов, зараженных вирусом Virus.Win9x.CIH.
26 апреля 1999 года, в годовщину Чернобыльской аварии, вирус активизировался и уничтожал данные на жестких дисках инфицированных компьютеров. На некоторых компьютерах было испорчено содержимое микросхем BIOS21. Именно совпадение даты активации вируса и даты аварии на ЧАЭС дало вирусу второе название – «Чернобыль», которое в народе даже более известно, чем CIH.

По различным оценкам, от вируса пострадало около полумиллиона персональных компьютеров по всему миру. На этих компьютерах сработала «логическая бомба» – была уничтожена информация на жестких дисках и повреждены данные на микросхемах BIOS. По данным The Register, 20 сентября 2000 года власти Тайваня арестовали создателя этого знаменитого компьютерного вируса.
При запуске зараженного файла CIH помещает свой код в память Windows, перехватывая запуск EXE-файлов и записывая в них свою копию. В зависимости от текущей даты вирус способен повреждать данные на Flash BIOS и жестких дисках компьютера.
Компьютерные вирусы – это вредоносное программное обеспечение, часто исполняемые файлы, которые могут копироваться и передаваться с одного компьютера на другой с помощью устройств передачи файлов. Они могут присоединяться к другому исполняемому файлу и передаваться через него. Вирусы подразделяются на два типа: резидентные и нерезидентные.
Нерезидентные вирусы предназначены для распространения путем прикрепления к исполняемому файлу. В нерезидентных вирусах есть два компонента, которые работают следующим образом:
• Модуль поиска, который ищет исполняемые файлы в системе.
• Модуль репликатора, который копирует и прикрепляет копии к найденным исполняемым файлам.
Резидентный вирус работает иначе: у него отсутствует модуль поиска, но он постоянно находится в системной памяти. Каждый раз, когда исполняемый файл запускается на компьютере, он становится целью для модуля репликатора, и копия вируса прикрепляется к исполняемому файлу.
Так и мы с братом подцепили вирус Win9x.CIH, как и многие другие пользователи ПК, которым посчастливилось купить тот самый злополучный диск с новой операционной системой Microsoft Windows 2000. Спасло нас, видимо, то, что CIH работал на старом семействе операционных систем Win9x22, а мы обнаружили и удалили его уже под системой семейства WinNT23. У вируса попросту не было возможности активироваться.
Если уйти в историю, то первым компьютерным вирусом для персонального компьютера под управлением операционной системы MS-DOS и первым вирусом, вызвавшим глобальную эпидемию в 1986 году, был Brain (сангл. – мозг). Brain написали два брата из Пакистана, Базит и Амжад Фарук Альви, в целях отслеживания пиратских копий их медицинского программного обеспечения, и он не был нацелен на причинение вреда. Братьям тогда было 17 и 24 года.
Заражение компьютера происходило путем записи копии вируса в загрузочный сектор дискеты24. Старая информация переносилась в другой сектор и помечалась как «поврежденная». Метка тома изменялась на ©Brain.
У братьев была компьютерная фирма Brain Computer Services, и вирус они написали, чтобы отслеживать пиратские копии их медицинского софта. Пиратская программа отжирала оперативку, замедляла работу диска и иногда мешала сохранить данные. По заверениям братьев, она не уничтожала данные.
Brain «не умел» работать с разделами жестких дисков, поэтому в него была встроена проверка, не позволявшая ему заражать жесткий диск. Это отличает его от многих вирусов того времени, которые не обращали внимания на разделы, что приводило к уничтожению данных. Благодаря относительной «миролюбивости» вирус часто оставался незамеченным, особенно когда пользователь не обращал внимания на замедление работы дискет.

Программа содержала следующее сообщение:
Welcome to the Dungeon 1986 Basit & Amjad (pvt) Ltd. BRAIN COMPUTER SERVICES 730 NIZAB BLOCK ALLAMA IQBAL TOWN LAHORE-PAKISTAN PHONE: 430791,443248,280530. Beware of this VIRUS… Contact us for vaccination… $#@%$@!!
«Добро пожаловать в подземелье… Берегитесь этого вируса… Свяжитесь с нами для лечения…»
В заголовке были указаны реальные контакты. Когда кто-либо звонил им за помощью, они могли идентифицировать пиратскую копию. Также вирус подсчитывал количество сделанных копий.
Братья обнаружили, что пиратство было широко распространено, и копии их программ распространялись очень далеко. Амжад говорит, что первый звонок к ним поступил из США, Майами.
Это был первый из множества звонков из США. Проблема оказалась в том, что Brain распространялся и по другим дискетам, а не только по копиям их программы. В Университете Делавера в 1986 году даже случилась эпидемия этого вируса, а затем он появлялся и во многих других местах. Исков подано не было, но в газетах про это писали много. Создателей даже упоминали в журнале Time Magazine в 1988 году.

New York Times писала в мае 1988-гo: «Дерзкая компьютерная программа, которая в этом месяце появилась на компьютерах “Бюллетеня Провиденса”, уничтожила файлы одного корреспондента и распространилась через дискеты по всей сети газеты. Компьютерщики считают, что это первый случай заражения компьютерной системы американской газеты такой дерзкой программой, которую называют компьютерным вирусом».
Братьям Альви пришлось сменить телефоны и убрать контакты из поздних версий вируса. Продажи программы они прекратили в 1987 году. Их компания выросла в телекоммуникационного провайдера, и сейчас это крупнейший провайдер в Пакистане. Расположена она всё по тому же адресу.
Итак, компьютерный вирус – это такая вредоносная программа, которая может распространять сама себя путем внедрения своего кода в другие программы, загрузочные сектора дисков, системные области памяти. Главное отличие вируса от троянской программы – в его способности к самораспространению через заражение. Кроме того, часто его сопутствующей функцией является нарушение работы программно-аппаратных комплексов – удаление файлов, удаление операционной системы, приведение в негодность структур размещения данных, нарушение работоспособности сетевых структур, кража личных данных, вымогательство, блокирование работы пользователей и т. п. Т. е. вирус может распространяться через заражение файлов, но нести в себе функционал троянской программы. А вот троянская программа представляет из себя отдельный исполняемый файл, который сам по себе распространяться не может.
Хотя вирусы и остаются ощутимой угрозой, время их массового создания и распространения уже прошло. Интернет стал доступен практически каждому, а программы теперь просто скачиваются, а не продаются на дисках. Злоумышленникам стало дешевле и проще заражать пользователей в сети, используя эксплойты, вместо того чтобы писать саморазмножающиеся вирусы.
Один из последних случаев массового заражения компьютерным вирусом произошел в далеком 2004 году. Началось всё с того, что вирус ILoveYou был разослан на почтовые ящики с Филиппин в ночь с 4 на 5 мая 2000 года. В теме письма содержалась строка ILoveYou, отсюда и его название, а к письму был приложен скрипт LOVE-LETTER-FOR-YOU.TXT.vbs25. В большинстве случаев пользователь открывал вложение. При открытии вирус рассылал копию самого себя всем контактам в адресной книге Microsoft Outlook. Он также перезаписывал файлы определенных типов и распространялся через IRC-каналы, создавая файл LOVE-LETTER-FOR-YOU.HTM в системном каталоге Windows. В общей сложности вирус поразил более 5 миллионов компьютеров по всему миру. Предполагаемый ущерб, который червь нанес мировой экономике, оценивается в размере до 15 миллиардов долларов, за что вирус вошел в Книгу рекордов Гиннесса как самый разрушительный в мире.
Со временем вирусописателям пришлось выдумывать различные способы противостоять антивирусам, поэтому появились полиморфные и метаморфные вирусы.
Полиморфные вирусы
Полиморфный вирус – сложный компьютерный вирус, он зашифрован с помощью переменного ключа шифрования. У такого вируса есть небольшая часть – декриптор (дешифратор), он получает управление при запуске вируса и расшифровывает основное тело. Поэтому каждая копия отличается от других. Другими словами, это зашифрованный вирус, разработанный для предотвращения обнаружения антивирусным программным обеспечением или сканером.
Предположим, что один пользователь зашел на сайт и скачал исполняемый файл. Затем другой пользователь переходит по той же ссылке и загружает тот же исполняемый файл. Оба пользователя получают два разных файла. Несмотря на то что код самого вируса одинаков, он каждый раз шифруется разными ключами. Поэтому полиморфный вирус трудно обнаружить с помощью сканеров и антивирусного программного обеспечения. В таких случаях антивирусу нужно расшифровать код вируса и уже потом проверить его по базе сигнатур. Для этого в антивирусах существует эвристический анализатор.
Метаморфные вирусы
Метаморфный вирус – вирус, который изменяет свой собственный код. Он переводит свой собственный код и создает временное представление. Затем он редактирует это временное представление и записывает себя обратно в обычный код. Другими словами, он переводит и переписывает свой собственный код, чтобы каждый раз копии вируса выглядели по-разному.
Метаморфный вирус не использует метод шифрования ключей, как в полиморфном вирусе. Когда вирус создает новую собственную копию, он преобразует существующие инструкции в функциональные эквиваленты. Поэтому ни одна секция вируса не остается постоянной, и вирус не вернется к своей первоначальной форме во время выполнения. Следовательно, антивирусное программное обеспечение не сможет его обнаружить по базе сигнатур.
Черви
Сетевой червь – разновидность вредоносной программы, самостоятельно распространяющейся через локальные и глобальные (интернет) компьютерные сети.

Червь в некоторой степени считается подклассом вирусов. Черви распространяются от компьютера к компьютеру, но, в отличие от вирусов, они имеют возможность путешествовать без любого человеческого действия. Самoй большoй опасностью червя является его способность копировать себя на вашей системе – тем самым oн может посылать сотни и тысячи копий самого себя.
Ранние эксперименты по использованию компьютерных червей в распределенных вычислениях провели в исследовательском центре Xerox в Пало-Альто Джон Шоч (John Shoch) и Йон Хупп (Jon Hupp) в 1978 году. Термин «червь» возник под влиянием научно-фантастических романов «Когда ХАРЛИ исполнился год» Дэвида Герролда (1972), в котором были описаны червеподобные программы, и «На ударной волне» (англ.) Джона Браннера (1975), где вводится сам термин.
Червь Морриса
Одним из наиболее известных компьютерных червей является червь Морриса, написанный в 1988 году Робертом Моррисом-младшим, который был в то время студентом Корнеллского Университета.
Роберт родился в 1965 году, его отец был специалистом в области криптографии, работал в Bell Labs и помогал в разработке Multics и Unix. То есть будущему программисту было у кого поучиться.
Роберт хорошо учился в школе, поэтому постигать азы науки парня отправили в Гарвард, после чего он продолжил получать образование в Корнеллском университете. Будучи студентом первого курса, Моррис-младший и натворил дел. «Всё в познавательных целях», – уверял позже Роберт.
Дополнительной драмы добавляло то, что его отец в то время уже являлся сотрудником Агентства национальной безопасности. Он занимал руководящий пост в подразделении, ответственном за IT-безопасность систем федерального правительства.
Червь Морриса нередко называют первым сетевым червем, однако он может считаться таковым лишь потому, что это первая подобная программа, расползшаяся чуть ли не по всему интернету. Интернет, напомним, тогда был совсем небольшим и имел мало общего с тем, что позже придумал Тим Бернерс-Ли26.


Роберт задумывал свое детище якобы как экспериментальный проект. Он должен был измерить тот самый интернет – об этом программист заявил позже. Оригинальный мотив в 1988 году мог быть иным. На это указывает и то, что парень тщательно пытался замести следы, отправляя червя в свободное плавание из кампуса MIT.
Код писался для запуска на компьютерах VAX компании Digital Equipment Corporation и SUN под управлением BSD UNIX27. Роберт использовал несколько уязвимостей, в том числе в программах sendmail (отвечает за работу с электронной почтой) и fingerd (получение некоторых данных о пользователе). Также эксплуатировались иные дыры, позволявшие узнать пароли локального пользователя.
В sendmail, например, после ряда исправлений имелся баг: в определенных условиях можно было запустить дебаг (внезапно: отправив команду debug). Тогда sendmail позволяла вместо адресов указывать дополнительные инструкции. На деле, конечно, всё не так просто, но и особых изысков Роберту придумывать не пришлось.
Парень посчитал, что админы очень скоро заметят вторжение и предпримут шаги для защиты. Например, заставят червя думать, что его копия уже установлена. 23-летний программист учел и это. Его код действительно проверял наличие копии себя на чужом компьютере, однако в 14 % случаев устанавливался, невзирая на полученный отклик. Есть фейк? Всё равно установлюсь. Есть другая копия? Да кто ж поймет, всё равно установлюсь.
Оказавшись на удаленном компьютере (первыми под удар попали знакомые ему скрытые университетские и исследовательские сети), червь сканировал окружение на наличие других компьютеров и копировался на них. Роберт не ожидал прыти, которую продемонстрировал его код. Ведь условие 14 %, как несложно догадаться, хоть и выполнялось, но было бессмысленным: программа наматывала «круги» по сети.
Серверы тем временем раз за разом выполняли бесконечные команды, подаваемые червем, полностью парализующим работу систем: программа Морриса работала исключительно в оперативной памяти. Данный факт также не позволял изучить файлы червя, которые удалялись в случае отключения.
Заново включенный в сеть компьютер опять становился жертвой, и самым эффективным способом справиться с напастью в тот момент было полное отключение компьютера от сети. Только после этого администраторы могли убрать нагрузку и «вылечить» машину. Если знали, что и где искать.
Роберт Моррис испугался того, что натворил. Как следует из отчета по итогам расследования инцидента, он предпринял попытки остановить эпидемию («рубильник», само собой, предусмотрен не был), но не слишком активные. Студент не стал во всеуслышание рассказывать о черве и информировать ответственных, однако позвонил приятелю с просьбой опубликовать анонимные извинения и руководство по «лечению».
Инженеры из Беркли активно работали над поиском и препарированием компонентов программы. Через 12 часов им удалось продумать все необходимые алгоритмы и подготовить заплатки, однако их распространению мешал… да, червь Морриса, из-за которого целые сети либо «лежали», либо были отключены от внешнего мира. Потребовалось несколько дней, чтобы успокоить бурю, поднятую начинающим программистом.
Для понимания масштабов «шухера», который натворил червь, перечислим агентства, организации и ведомства, привлеченные к решению проблемы. Это Центр национальной компьютерной безопасности, Национальный институт науки и технологий, Агентство военной связи, DARPA, Министерство энергетики США, Лаборатория баллистических исследований, Ливерморская национальная лаборатория имени Лоуренса, ЦРУ, Калифорнийский университет в Беркли, Массачусетский технологический институт, институт SRI International и ФБР.
Считается, что червь Морриса заразил около 6 тыс. компьютеров – примерно 10 % от всех, что были подключены в то время к интернету. Ущерб в зависимости от важности владельцев компьютеров оценивали в диапазоне от $200 до $53 тыс. за систему (традиционно речь идет о «предполагаемом», то есть гипотетическом ущербе). Власти называли общую сумму ущерба в диапазоне от $100 тыс. до $10 млн, которая с годами превратилась в $95–100 млн и 60 тыс. зараженных компьютеров. Более вероятными представляются всё же первоначально озвученные цифры.
На определение авторства ушло время. Есть версия, согласно которой отец 23-летнего парня рекомендовал ему самому рассказать о себе властям. Походит на правду, учитывая пост Морриса-старшего и его непосредственную связь с правительством и нацбезопасностью.
Механизмы распространения
Все механизмы («векторы атаки») распространения червей делятся на две большие группы:
• Использование уязвимостей и ошибок администрирования в программном обеспечении, установленном на компьютере. Червь Морриса использовал известные на тот момент уязвимости в программном обеспечении – а именно в почтовом сервере sendmail, сервисе finger – и подбирал пароль по словарю. Такие черви способны распространяться автономно, выбирая и атакуя компьютеры в полностью автоматическом режиме.
• Средства так называемой социальной инженерии провоцируют запуск вредоносной программы самим пользователем. Чтобы убедить пользователя в том, что файл безопасен, могут подключаться недостатки пользовательского интерфейса программы – например, червь VBS.LoveLetter (рассмотренный выше вирус ILOVEYOU) использовал тот факт, что Outlook Express скрывает расширения файлов. Данный метод широко применяется в спам-рассылках, социальных сетях и т. д.
Иногда встречаются черви с целым набором различных векторов распространения, стратегий выбора жертвы, и даже эксплойтов под различные операционные системы.
Структура
Черви могут состоять из различных частей.
Часто выделяют так называемые резидентные черви, которые могут инфицировать работающую программу и находиться в ОЗУ, при этом не затрагивая жесткие диски. От них можно избавиться перезапуском компьютера (и, соответственно, сбросом ОЗУ). Такие черви состоят в основном из «инфекционной» части: эксплойта (шелл-кода) и небольшой полезной нагрузки (самого тела червя), которая размещается целиком в ОЗУ. Специфика заключается в том, что они не загружаются через загрузчик, как все обычные исполняемые файлы, а значит, могут рассчитывать только на те динамические библиотеки, которые уже были загружены в память другими программами.
Также существуют черви, которые после успешного инфицирования памяти сохраняют код на жестком диске и принимают меры для последующего запуска этого кода (например, путем прописывания соответствующих ключей в реестре Windows). От таких червей можно избавиться только при помощи антивирусного программного обеспечения или подобных инструментов. Зачастую инфекционная часть таких червей (эксплойт, шелл-код) содержит небольшую полезную нагрузку, которая загружается в ОЗУ и может «догрузить» по сети непосредственно само тело червя в виде отдельного файла. Загружаемое таким способом тело червя (обычно отдельный исполняемый файл) теперь отвечает за дальнейшее сканирование и распространение уже с инфицированной системы по локальной сети, а также может содержать более серьезную, полноценную полезную нагрузку, целью которой может быть, например, нанесение какого-либо вреда (к примеру, DoS-атаки).
Большинство почтовых червей распространяются как один файл. Им не нужна отдельная «инфекционная» часть, так как обычно пользователь-жертва при помощи почтового клиента или интернет-браузера добровольно скачивает и запускает червя целиком.
Дам определение еще раз: сетевой червь – это вредоносная программа, самостоятельно распространяющaяся через локальные и глобальные компьютерные сети. Ключевое отличие от вируса – именно в распространении через сети, а не через заражение других исполняемых файлов.

Сетевой червь
Эксплойты
Программы, будь то игры, вебсайты или приложения под смартфоны, пишут программисты. А программист, насколько бы хорошим он ни был, прежде всего человек. Как сказал Цицерон, каждому человеку свойственно ошибаться… Вот и программисты при разработке делают ошибки в коде. Иногда из-за таких ошибок программа некорректно себя ведет или просто падает, а иногда ошибка (далее будем называть ее уязвимостью) позволяет выполнить некий привилегированный набор команд.
Например, червь Морриса эксплуатировал переполнение буфера утилиты finger, изначально предназначенной для удаленного определения времени подключения пользователя к рабочей станции, а написан он был аж в 1988-м. 34 года спустя переполнение буфера – до сих пор одна из самых распространенных уязвимостей. Хотя описание работы этой атаки выходит за рамки данной книги и скорее относится уже к специализированной технической литературе, попробую объяснить кратко и понятно для человека, далекого от программирования.
Программы работают с разными порциями данных, под которые в оперативной памяти выделяются участки, называемые буферами. Эти данные могут приходить из сети, от ввода пользователя с клавиатуры, с диска и т. д. Уязвимость появляется тогда, когда разработчик забывает проверить размер полученных данных, т. е. если данных получено больше, чем размер буфера. При грамотном использовании атаки переполнение позволяет вставить в программу вредоносный код, который, например, может скачать с удаленного компьютера вирус и запустить на вашей машине.
Поддержка Adobe Flash была прекращена 31 декабря 2020 года. С 12 января 2021 года при попытке запуска swf-файла через Adobe Flash Player вместо него будет загружена лишь кнопка, ведущая на страницу Adobe с информацией об окончании жизненного цикла платформы.
Дискеты имели массовое распространение с 1970-х и до начала 2000-х годов, придя на смену магнитным лентам и перфокартам. В конце XX века дискеты начали уступать более ёмким оптическим дискам CD-R и CD-RW, а в XXI веке – и более удобным флеш-накопителям.
В данный момент термин BSD чаще всего употребляется как синоним BSD-UNIX – общего названия вариантов UNIX, восходящих к дистрибутивам университета Беркли.
Упрощенное генеалогическое дерево UNIX и его клонов
К семейству BSD относятся: NetBSD, FreeBSD, OpenBSD, ClosedBSD, MirBSD, DragonFly BSD, PC-BSD, GhostBSD, DesktopBSD, SunOS, TrueBSD, Frenzy, Ultrix и частично XNU (ядро macOS, IOS, tvOS, watchOS, CarPlay, Darwin).
Бесплатный фрагмент закончился.
