Дмитрий Александрович Артимович
Искусство цифровой самозащиты
© Артимович Д.А., 2023
© ООО «Издательство АСТ», 2023
Вступление
В современный цифровой век безопасность платежных данных, да и вообще конфиденциальной информации, стала очень актуальной. Все мы периодически слышим о телефонных мошенниках, краже денег с банковских карт и счетов, а также о нескончаемых утечках персональных данных.
Издательство хотело от меня правила как защитить себя от этих угроз в подробностях. На самом деле правил очень мало, и они очень краткие:
Установите антивирус на свой персональный компьютер.
Cвоевременно обновляйте программное обеспечение (ПО).
Устанавливайте ПО только из проверенных источников.
Никому не сообщайте свои платежные данные, особенно по телефону (номера карт, СМС-коды и подобное).
Как бы я ни старался, я не смог бы растянуть эти правила на сотню страниц. Поэтому, если вам нужны только правила, они выше, на этом вы можете закрыть книгу. Если же вам интересен мир вирусов, история их появления, самые громкие примеры, если вы хотите понять, как вирусы и другое вредоносное программное обеспечение попадает на компьютеры и телефоны, как работает киберкриминальный подпольный рынок, что делают с украденными данными, эта книга для вас. Я постарался объяснить всё это предельно простым языком. Не расстраивайтесь, если чего-то не поняли. Самые важные определения выделены курсивом. И, естественно, после каждой главы я буду приводить те самые правила безопасности с примерами.
Первая часть книги «Вредоносное ПО (Malware)» будет полностью посвящена вредоносному программному обеспечению, созданному под персональные компьютеры. В этой главе будет практически одна занудная а для кого-то интересная теория. Если вы не хотите читать ее полностью, просмотрите только определения.
Вторая часть описывает вредоносы под смартфоны и умные устройства.
Третья часть расскажет о техниках социальной инженерии: фишинге, «нигерийских письмах», телефонных звонках и мошенничестве с технической поддержкой.
Четвертая часть коснется еще одной важной темы кардинга.
Заключительная, пятая часть «Паранойя» рассчитана на продвинутых пользователей, которые хотят защитить свои данные не только в интернете, но и при утере или хищении личного компьютера например, коррумпированными сотрудниками правоохранительных органов.
Начинаем
Часть 1. Вредоносное ПО (Malware)
2010 год, октябрь, утро 2 часа дня. Да, у многих aйтишников утро начинается поздно. Я встаю с кровати и подхожу к своему старенькому ноутбуку Aser. Странно, моя ICQ[1] перестала подключаться, пароль больше не подходит.
В jabber[2] написал AciD:
Твоя аська у меня денег в долг просит. Это ты?
Нет, похоже, украли.
Как это могло случиться? На своем персональном ноутбуке я уже давно пользовался антивирусом, который сканировал интернет-трафик и файлы. Так что этот вариант отпадал.
А вот в «Адамант Мультимедии», где я проработал с 2005 по 2007 год, к безопасности относились наплевательски. Компания разрабатывала компьютерные игры, и работа, безусловно, нравилась мне до определенного момента. У каждого разработчика был довольно мощный компьютер, по два жидкокристаллических монитора. А вот никакой политики обновления ОС, антивирусов там не было и подавно. Судя по всему, на этот рабочий комп я и подхватил кейлоггера. К слову сказать, потеря моей ICQ единственный случай, когда у меня кто-то что-то украл.
Тогда основными моими контактами в аське были ребята с форума spamdot[3]. Зарегистрировав новую аську, я создал топик «Угнали 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 был одной из первых свободно распространяемых shareware[7] программ. PC-Write Trojan маскировался как версия 2.72 текстового редактора PC-Write, хотя сами создатели никогда не выпускали такую версию. Пользователь думал, что запускает новую версию условно-бесплатной программы, а по факту запускал троян на своем компьютере. После запуска троян уничтожал все файлы на диске.
Своего первого трояна я написал еще в 1998 году. Интернет тогда у нас был через обычные телефонные модемы по проводным телефонным линиям. Скорость по такому интернет-соединению достигала максимум 56 кбит/c, т. е. вы могли скачивать всего 7 килобайт в секунду, и то в лучшем случае.
У нас в Кингисеппе[8] интернет был только по модему и достаточно дорогой для того времени. Звонишь по определенному номеру и потом платишь по несколько рублей за минуту на линии. Поэтому для электронной почты некоторые умельцы подняли выделенный сервер, расположили его на местном заводе «Фосфорит»[9]. Специальная программа Minihost дозванивалась до сервера и принимала/отправляла почту по протоколу UUCP[10]. Вот под этот почтовый клиент я и написал трояна на Pascalе[11]: он должен был стащить пароли от почты и отправить тем же Minihostом мне на специальный адрес электронной почты. Закинул этого трояна я в местную почтовую конференцию под видом «крутого скринсейвера».