Информационная безопасность: десять основных видов хакерских атак
Развитие технологий и появление различных решений работы с данными сделали наш мир «гигантской библиотекой», в которой хранится вся имеющаяся информация о прошлом и настоящем человечества. Кандидат экономических наук Антон Евгеньев сейчас занимается научными исследованиями и разработкой решений в области больших данных и алгоритмов искусственного интеллекта. В своей книге «Ценность ваших решений. Как современные технологии и искусственный интеллект меняют наше будущее» он констатирует: чтобы быть успешными, мы все больше опираемся на цифровой мир данных и алгоритмов. Поэтому сейчас остро встает вопрос информационной безопасности, защиты данных и программного обеспечения. К примеру, последствиями хакерских атак могут стать прекращение функционирования сайтов и приложений, незаконное использование платежных средств или кража значимых данных. «Завтра же, когда алгоритмы на основе данных будут управлять целыми индустриями, а цифровые данные для каждого человека станут самым значимым его накоплением, позволяющим пользоваться всеми благами человеческой цивилизации в цифровую эпоху, важность решений в области информационной безопасности станет определяющей», — предупреждает Евгеньев.
Книга «Ценность ваших решений. Как современные технологии и искусственный интеллект меняют наше будущее» выходит в декабре в издательстве «Альпина PRO». Forbes Young публикует отрывок об основных видах хакерских атак.
Существует очень много видов хакерских атак, ниже приведем основные. Все это множество просто описывает разные способы достижения трех возможных целей:
- получение полного контроля над информационной системой, сетью, компьютером или смартфоном;
- добыча информации;
- дестабилизация или полный отказ работы информационной системы/сайта/сети/компьютера/смартфона/телефона.
Не претендуя на полноту (эта книга не по информационной безопасности, но обойти этот момент нельзя), хотелось бы познакомить читателя с основными видами хакерских атак.
1. APT-атака (Advanced Persistent Threat) — это целевая продолжительная атака повышенной сложности, чаще всего комбинация нескольких видов атак для достижения поставленной задачи. Таргетированные атаки — атаки, направленные на конкретные коммерческие организации или государственные ведомства. Как правило, такие атаки не носят массового характера и готовятся довольно продолжительное время. Изучаются информационные системы атакуемого объекта, используемое программное обеспечение. Вредоносное программное обеспечение для атаки разрабатывается специально, чтобы штатные антивирусы и средства защиты объекта атаки не смогли обнаружить угрозу. Чаще всего это уязвимости «нулевого дня» и особые алгоритмы связи с исполнителями/заказчиками атаки.
2. Веб-уязвимости. Атака на сайты с использованием слабых мест в программном обеспечении. Это, пожалуй, наиболее распространенный вид, и условно такие атаки можно разделить на несколько подвидов.
- Инъекции — самый распространенный вид веб-уязвимости. Уязвимости подобного класса начинаются SQL-инъекциями в различных их вариантах и заканчиваются RCE — удаленным выполнением кода*. Изучается сайт и протокол его общения между клиентом (Client) и сервером (Server), на котором работает сайт. Составляется список всех запросов Client/Server, затем последовательно, запрос за запросом, начинают проверять защиту сайта на устойчивость к чужому коду. Например, в случае SQL-инъекции, если вдруг находится хоть один запрос, в котором имеется возможность дописать свой код, — это говорит о получении доступа злоумышленника к базе данных сайта. То есть это фактически говорит о доступе ко всем данным, хранящимся на этом ресурсе (учетные записи, пароли, персональные данные клиентов, балансы, трансакционные данные, платежные и банковские данные, социальные связи, истории болезней и многое-многое другое в зависимости от ресурса). В случае RCE-инъекции этот способ позволяет исполнить свой код на стороне сервера (Server). Например, это предоставляет возможность изменить уровень доступа к файлам на данном сервере, что позволяет атакующим получить пароли подключения к серверу, что, в свою очередь, дает полный контроль над ресурсом. При этом можно изменить данные, скачать их, а можно и удалить, только в отличие от SQL-инъекции здесь идет речь не только о данных сайта, а еще и о самом сайте, то есть можно после всего удалить, изменить либо скачать сам сайт.
- XSS (Cross-Site Scripting) — межсайтовый скриптинг — уязвимость, встречающаяся на данный момент куда реже, чем раньше, но, несмотря на это, не менее опасная для веб-приложений и пользователей. Особенно для пользователей — атака XSS нацелена именно на них. В этом случае прописывается код, который срабатывает на компьютере каждого либо каких-то определенных пользователей, которые посетили ресурс, что предоставляет злоумышленникам доступ не только к серверу сайта, но и к компьютерам/телефонам посетителей. Риску подвергаются данные, хранящиеся на персональных устройствах (персональные и платежные данные, контакты, календари, заметки, переписка, фото, видео и прочее). Также этот способ в сочетании с уязвимостью «нулевого дня» дает возможность быстрого создания ботнета (огромная масса зараженных устройств, подчиняющихся владельцу ботнета, без ведома владельцев устройств).
- Подделка межсайтовых запросов (CSRF — cross-site request forgery) — это разновидность уязвимости, которая заставляет конечного пользователя выполнить нежелательное действие в веб-приложении, в котором он в настоящий момент проходит проверку подлинности. Нежелательным действием может быть изменение учетных данных пользователя, перевод средств или возможность получить полный доступ через учетную запись пользователя.
- JSON HiJacking-атака (перехват JSON-данных) в некотором смысле похожа на подделку межсайтовых запросов. При ней злоумышленник старается перехватить данные JSON, отправленные приложению с сервера:
— атакующий создает вредоносный сайт и встраивает скрипт в свой программный код, который пытается получить доступ к данным JSON от целевого приложения;
— пользователь, взаимодействующий с целевым веб-ресурсом, посещает вредоносный сайт (например, за счет приемов социальной инженерии**);
— поскольку политика одинакового происхождения (SOP — Same-Origin Policy) позволяет включать и выполнять JavaScript с любого сайта в контексте любого другого сайта, пользователь получает доступ к данным JSON;
— вредоносный сайт перехватывает данные JSON.
3. Социальная инженерия — способ атаки, который рассчитан на человеческий фактор. В каждой информационной системе, ресурсе или приложении всегда присутствует человеческий фактор. Например, какая-нибудь компания Х (допустим, она занимается производством молочной продукции) очень переживает о своей информационной безопасности, нанимает хороших программистов, сайт свой вообще не делает либо делает одностраничным — так называемый сайт-визитка, чтобы нечего было оттуда забрать или нельзя было войти во внутренний контур. Свою производственную линию максимально автоматизирует и изолирует от внешнего мира с точки зрения информационных технологий (то есть всех роботов отключает от внешнего интернета), бухгалтерский учет ведет в своих компьютерах в офисе и данные в налоговую не отправляет через интернет, а приносит на USB-накопителях, то есть полностью изолируется от возможных внешних угроз со стороны информационных систем. Даже в такой почти невозможной ситуации в компании все равно находятся люди, которые имеют выход в интернет и могут совершать необдуманные действия.
Например, секретарь директора может получить письмо на свой имейл со специальной ссылкой или картинкой, письмо будет оформлено таким образом, что секретарь обязательно его откроет и перейдет по ссылке. А если не откроет, то будет отправлено другое письмо... Таким образом будет получен доступ к компьютеру секретаря, а уже с компьютера секретаря по внутренней сети компании можно добраться до других, более защищенных компьютеров. Вообще, сложно представить себе универсальную и стопроцентную защиту любого ИТ-продукта или устройства. Благодаря этому способу атаки считается: чем больше цель (компания, банковское учреждение, государственный орган и т.п.), тем больше существует способов подобраться к желаемому.
4. Вредоносное программное обеспечение. Это не совсем способ атаки, а, скорее, автоматизированный набор инструментов, который используется и пишется для достижения цели как типовое решение. Если в случае APT-атаки злоумышленники изучают конкретную цель, пробуют различные подходы с разных сторон, то в данном случае пишется программа, которая выполняет какую-то задачу (в зависимости от вида вредоносного программного обеспечения) на всех устройствах одинаково. И здесь задача злоумышленника — запустить программу на тысяче компьютеров и получить готовый результат сразу на всей тысяче или на большинстве из них.
- Вирус — программа, которая заражает устройство, то есть сохраняется у жертвы и остается там в скрытом состоянии, выполняя какую-то функцию в интересах злоумышленника. Основная цель — закрепиться на устройстве.
- Вымогатель — разновидность вируса, которая требует от жертвы каких-либо действий, дестабилизировав работу устройства либо полностью ее заблокировав.
- Шифровальщик — разновидность вируса, которая шифрует информацию цели. Таким образом, удалять вирус или звать на помощь штатного администратора нет смысла, так как шифровальщик удалить можно, а информацию без него вернуть невозможно.
- Почтовые черви, рекламные черви и т.п. — это разновидность вирусов, которые распространяются одновременно на большое количество устройств и заражают их. В названиях заложены способы доставки данного программного обеспечения.
- Снифферы (от англ. to sniff — нюхать) — это программное обеспечение, которое позволяет перехватывать интернет-трафик и анализировать его. Оно способно анализировать входящий и исходящий трафик на любом устройстве, подключенном к интернету/сети, и позволяет определить, какие сетевые ресурсы / сайты / приложения вы посещаете, какие файлы загружаете и выгружаете. Например, в каком-то общественном месте можно на wi-fi-роутер установить такой сниффер и получить переписку со всех устройств, которые подключались к этому роутеру. В случае с большими информационными системами или сетями такой сниффер можно установить на какой-либо сервер и тогда можно будет получать весь трафик всех клиентов, которые выходили в интернет через данный сервер (обычно в большой информационной системе есть главные серверы, а под ними — второстепенные и третьестепенные). Таким образом, сниффер устанавливается на главный сервер, и с его помощью можно собирать весь исходящий и входящий трафик всей организации с одного компьютера.
- Шпионы — это набор программных решений, позволяющих удаленно запускать различные устройства — веб-камеры, микрофоны, смартфоны и разнообразные приложения на них, смотреть удаленно на мониторы, отслеживать и записывать набираемые пароли, вводимые с клавиатуры.
5. Атака «человек посередине» (MitM — Man-in-the-Middle) — это атаки посредника, которые происходят, когда перехватываются и изменяются электронные сообщения. Примером может служить поддельная точка доступа Wi-Fi, которая выглядит и работает как настоящая, но при этом перехватывает и изменяет информацию. То есть работает как тот же сниффер, но цель этого программного обеспечения не просто получить информацию, а еще и изменить ее (допустим, реквизиты). Вторым примером может послужить такая атака на имейл. Два собеседника могут общаться друг с другом со своих почтовых ящиков, и у одного из них из-за этой программы текст письма меняется после отправки, но до того, как письмо получил адресат. Естественно, оба собеседника этого не знают.
6. Реализация угроз Zero Day / «нулевого дня». Это атака, от которой практически невозможно защититься. Фактически это уязвимость, которая присутствует изначально в программном обеспечении разработчика/производителя. Например, появляется новая версия Windows Server или разновидности Unix, весь мир устанавливает эту версию, а злоумышленник знает, как работают все предыдущие версии этих продуктов, и, досконально изучив предыдущие версии, используя различные способы воздействия на них, нашел способ предоставить себе права администратора верхнего уровня, не используя пароль. Используя ту же самую уязвимость в новой версии программного продукта, можно обнаружить, что, возможно, все продолжает работать по-прежнему и указанные уязвимости не устранены. Получается, что с первого дня работы этих операционных систем есть «универсальная отмычка», а у системных администраторов, которые стоят на страже своих информационных систем, было ноль дней, чтобы подготовиться к такому виду атаки (отсюда и название). Как только устанавливается новая версия/ релиз программного обеспечения, оно сразу же становится уязвимым. На сегодняшний день это один из самых опасных видов угроз.
7. Отказ в обслуживании (DDoS — Distributed Denial of Service) — это не отдельная атака, а результат атаки. Используется для вывода системы или отдельных программ из строя. Для этого особым образом пишется запрос к какой-либо программе, после чего она перестает функционировать. Требуется перезагрузка, чтобы вернуть рабочее состояние программы. Пишется сложный запрос к серверу (сложный не для человека, а для компьютера), чтобы поставить перед ним такую задачу, для решения которой понадобится максимальное количество времени и ресурсов, чтобы заставить его выполнить эту задачу огромное количество раз (десятки, сотни миллионов). При этом злоумышленника не интересует результат выполнения этой задачи, он даже не планирует дожидаться ответа, а продолжает постоянно наращивать свои запросы, количество которых может быть таким, что в определенный момент сервер/сайт/ресурс перестает справляться с нагрузкой и начинает пропускать запросы обычных пользователей либо вовсе перестает работать.
Перезагрузка необходима, но она поможет только в случае, если хакеры перестали генерировать запросы, а если этот процесс продолжается, то ресурс перестает функционировать и перезагрузка возвращает его работоспособность на очень короткое время. Обычно цель такого вида атаки — не просто выключить сервер/ресурс/информационную систему, а вывести из режима работы на определенное время. Поэтому злоумышленники пишут сложный запрос, используют под эту задачу мощные сервера или ботнет (огромную массу зараженных, подчиняющихся владельцу ботнета устройств, использующихся без ведома владельцев этих устройств) и атакуют цель (сайт, сервер, ресурс и т.п.), поддерживая эту атаку столько времени, сколько необходимо для достижения результата (день, неделю, месяц).
Конечно, существуют способы борьбы с подобными атаками. Администраторы атакуемых ресурсов начинают блокировать те устройства (компьютеры, серверы, смартфоны), с которых они получают слишком много заданий, и пытаются в экстренном порядке развернуть дополнительные вычислительные мощности/серверы для обработки существенно увеличившейся нагрузки. В этом случае использование ботнета нивелирует усилия администраторов. При тщательно подготовленной атаке технически владельцы ресурса не могут отличить своего обычного клиента от одного из «зомби-компьютеров». Блокируя доступ вредителям, администраторы ресурса одновременно сами же блокируют работу своих клиентов. При этом администраторы пытаются понять типовое поведение «зомби», а злоумышленники постоянно меняют условия задачи, источники и используемые для атаки решения и серверы.
Если обобщить, то DDoS-атака — это длительный процесс, состязание атакующей и защищающейся сторон. Учитывая, что простой большой информационной системы стоит сотни тысяч и даже миллионы долларов потерянного дохода в час, подобные события могут стать очень чувствительными для компаний. В 2020 году компания Google сообщила, что она подверглась DDoS-атаке мощностью 2,5 Тбит/с, что стало крупнейшей атакой на сегодняшний день и затронуло 180 000 веб-серверов.
8. Brute-Force (взлом пароля, атака полным перебором). Подбор пароля — процесс очень простой, но достаточно долгий и сегодня уже малоэффективный, так как существует много видов защиты. Однако очень многие ресурсы пренебрегают простыми правилами защиты и по сей день остаются подверженными риску Brute-Force. Технически берется максимально большой словарь часто встречающихся паролей, и они подставляются по одному в автоматическом режиме. Так как люди для удобства предпочитают использовать простые и запоминающиеся пароли вроде «12345» и qwerty, это часто срабатывает (не менее 50% пользователей используют простые пароли даже в серьезных, защищенных структурах). Если же длина пароля превышает 10 символов, то на подбор могут уйти годы. К этому же способу можно отнести и перехват пароля, дешифровку и любой другой способ его добыть. Пароль не обязательно подбирать, его можно также обнаружить в записках, записях, контактах, получить с помощью средств социальной инженерии, программ-шпионов и других технологий.
9. Внутренняя атака — это атака, основанная на действиях сотрудника внутри компании. Одна из самых сложных задач — это не найти информацию, или ее скачать, или изменить, а оказаться программно на компьютере цели. В больших компаниях для этого зачастую пользуются самым простым, быстрым и проверенным способом, обеспечивающим половину успеха, — в компанию-цель устраивается на работу на любую, самую неприметную должность сотрудник. Проработав какое-то непродолжительное время, например уборщиком, в удобный момент он вставляет заранее подготовленную флешку в любой компьютер и уже через несколько секунд может ее достать и уйти. Больше от «уборщика» ничего не требуется, флешка сама заставляет компьютер прочитать ее и заразиться, причем буквально в течение одной секунды. Дальнейшая работа выполняется удаленно, посредством описанных выше инструментов и способов.
10. Использование уязвимостей в установленном программном обеспечении. Данный вид атаки основан на известных уязвимостях и распространенных программных решениях. Дело в том, что большинство программ в мире так или иначе имеют свои уязвимости, которые быстро становятся известны. Разработчики выпускают новые версии программных продуктов, а пользователи продолжают работать со старыми уязвимыми версиями, потому что в постоянной череде обновлений не видят внешне никакой разницы между старым и обновленным программным обеспечением, а зачастую берет верх обычная человеческая лень. Подобные уязвимости существуют и в устаревших версиях таких популярных программ, как Skype, Facebook (деятельность Meta Platforms, Inc. [в т.ч. по реализации соцсетей Facebook и Instagram] запрещена в Российской Федерации как экстремистская), Viber, и многих других, а также распространенных «CMS169-движков» интернет-сайтов (Joomla, WordPress, Drupal и др.). Таким образом, нередко можно встретить устаревшие версии программного обеспечения или новые, но довольно низкого качества разработки, что позволяет минимальными усилиями получить доступ к желаемому.
Все перечисленные выше виды хакерских атак работают как по отдельности, так и в комбинации друг с другом, и это лишь основные направления действий злоумышленников. Каждое из этих направлений может быть узкоспециализированным и выполнять более тонкую работу. Планируя подобные действия, хакеры, как правило, отталкиваются от задачи, выбирают цель, проводят глубокий анализ уязвимостей и всевозможных средств защиты, разрабатывают различные сценарии воздействия. На основе собранной информации формируется последовательность действий, необходимый для этого инструментарий, проводится требуемая подготовка, после чего осуществляется атака на цель.
* RCE (Remote Code Execution) — компьютерная уязвимость, при которой происходит удаленное выполнение кода на взламываемом компьютере, сервере и т.п. RCE — максимальная угроза класса А1 по классификации OWASP, это гарантированный способ взлома сайтов и веб-приложений. RCE — одна из самых опасных уязвимостей.
** Социальная инженерия (в контексте информационной безопасности) — психологическое манипулирование людьми, и в первую очередь их данными, с целью совершения определенных действий или разглашения конфиденциальной информации. Следует отличать от понятия социальной инженерии в социальных науках, которое не касается разглашения конфиденциальной информации и манипулирования ею. Совокупность уловок с целью сбора информации, подделки или несанкционированного доступа от традиционного мошенничества отличается тем, что часто является одним из многих шагов в более сложной схеме мошенничества (Ross J. Anderson. Security Engineering: A Guide to Building Dependable Distributed Systems. — John Wiley & Sons, 2008. — 1080 с.).