Скрытая загрузка
В компьютерной безопасности скры́тая загру́зка (англ. drive-by download) — это непреднамеренная загрузка пользователем программного обеспечения, как правило, вредоносного.
Обычно этот термин относится к загрузке, которая была разрешена пользователем без его согласия и без понимания того, что именно загружается, как в случае с троянской программой. В таких случаях иногда употребляется термин «атака с помощью скрытой загрузки» (или drive-by атака). Распространённые типы файлов, используемых в подобных атаках, — компьютерные вирусы, шпионское ПО или вредоносное ПО.
В других случаях термин может просто означать загрузку, которая происходит без ведома пользователя, например в компьютерных играх.
Скрытые загрузки могут происходить при посещении веб-сайта[1], открытии вложения в электронном письме, нажатии на ссылку в электронной почте или нажатии на обманчивое всплывающее окно. Пользователи часто нажимают на всплывающее окно, ошибочно полагая, например, что подтверждают сообщение об ошибке от операционной системы компьютера или закрывают внешне безобидное рекламное всплывающее окно. В таких случаях «поставщик» может утверждать, что пользователь «дал согласие» на загрузку, хотя пользователь на самом деле не осознавал, что начал нежелательную или вредоносную загрузку программного обеспечения. Аналогично, если человек посещает сайт с вредоносным контентом, он может стать жертвой атаки с помощью скрытой загрузки. То есть вредоносный контент может использовать уязвимости в браузере или плагинах для запуска кода без ведома пользователя[2][3]. Эта угроза может таиться в любой части интернета и распространяться даже через абсолютно легальные веб-сайты[4].
Скрытая/самопроизвольная установка (англ. drive-by install) — это схожее явление. Оно относится именно к установке, а не к загрузке (хотя иногда эти два термина используются как взаимозаменяемые).
Типы скрытой загрузки
Скрытая загрузка бывает двух типов:
- Загрузка программ или приложений, которые не являются вредоносными, но являются потенциально нежелательными (PUP/PUA).
- Загрузка вредоносного ПО.
Первый тип загрузки является вполне безопасным, в худшем случае на устройство будет установлено рекламное ПО. Также скрытая загрузка иногда используется в компьютерных играх, например Max Payne 3. Благодаря скрытой загрузке в игре реализован непрерывающийся темп, в ней отсутствуют экраны загрузок; во время скрытой от пользователя загрузки следующего уровня игра отображает очередной сюжетный ролик, чередуя заранее записанные ролики в высоком качестве, которые используются для скрытия загрузки, с роликами аналогичного качества, но на движке; по завершении ролика происходит немедленный переход к игровому процессу.
Второй тип загрузки эксперты по кибербезопасности называют атакой с помощью скрытой загрузки[4].
Процесс
При подготовке атаки с помощью скрытой загрузки злоумышленник должен сначала создать вредоносный контент. С появлением наборов эксплойтов (англ. exploit packs), содержащих уязвимости, необходимые для осуществления несанкционированных атак с помощью скрытой загрузки, требуемый уровень квалификации для проведения такой атаки снизился[3].
Следующим шагом является размещение вредоносного контента, который злоумышленник хочет распространить. Один из вариантов — разместить вредоносный контент на собственном сервере злоумышленника. Однако из-за сложности привлечения пользователей на новую страницу контент также может быть размещён на взломанном легитимном сайте или на легитимном сайте, который неосознанно распространяет контент злоумышленников через сторонний сервис (например, рекламу). Когда контент загружается клиентом, злоумышленник анализирует цифровой отпечаток устройства клиента, чтобы адаптировать код и использовать уязвимости, специфичные для этого клиента[5].
Наконец, злоумышленник использует необходимые уязвимости для запуска атаки с помощью скрытой загрузки. Обычно скрытые загрузки используют одну из двух стратегий.
Первая стратегия — эксплуатация вызовов API для различных плагинов. Например, API DownloadAndInstall компонента Sina ActiveX не проверял должным образом свои параметры, что позволяло загружать и выполнять произвольные файлы из интернета.
Вторая стратегия заключается в записи шелл-кода в память, а затем в использовании уязвимостей в веб-браузере или плагине для перенаправления потока управления программы на этот шелл-код[5]. Результатом этого является выполнение шелл-кода, который открывает командную строку для использования взломщиком и его дальнейших вредоносных действий.
Часто это включает в себя загрузку и установку вредоносного ПО, но может включать что угодно, например, кражу информации для отправки её обратно злоумышленнику[3].
Злоумышленник также может предпринимать меры для предотвращения обнаружения себя на протяжении всей атаки. Один из методов — использование обфускации вредоносного кода. Это можно сделать с помощью iframe (от англ. inline frame) — один из двух тегов языка HTML, обозначающих фрейм (отдельный, законченный HTML-документ, который вместе с другими HTML-документами может быть отображён в окне браузера). Другой метод — шифрование вредоносного кода для предотвращения его обнаружения. Обычно злоумышленник шифрует вредоносный код в виде шифротекста, а затем включает метод его расшифровки после этого зашифрованного блока[5].
Обнаружение и предотвращение
Обнаружение атак с помощью скрытой загрузки является активной областью исследований.
Некоторые методы обнаружения:
- выявление аномалий, при этом отслеживаются изменения состояния на компьютерной системе пользователя во время посещения веб-страницы. Это включает в себя мониторинг компьютерной системы пользователя на наличие аномальных изменений при отображении веб-страницы;
- выявление момента, когда вредоносный код (шелл-код) записывается в память эксплойтом злоумышленника;
- создание сред выполнения, которые позволяют запускать код JavaScript и отслеживать его поведение во время его выполнения;
- проверка содержимого HTML-страниц для выявления признаков, которые можно использовать для идентификации вредоносных веб-страниц, а также использование характеристик веб-серверов для определения, является ли страница вредоносной[3].
Некоторые антивирусные инструменты используют статические сигнатуры для сопоставления шаблонов вредоносных скриптов, хотя они не очень эффективны из-за методов обфускации.
Обнаружение также возможно с использованием Client honeypot с низким или высоким уровнем взаимодействия[5].
Атаки с помощью скрытой загрузки также можно предотвратить с помощью блокировщиков скриптов, таких как NoScript, которые можно легко добавить в браузеры, такие как Firefox. Используя такой блокировщик скриптов, пользователь может отключить все скрипты на данной веб-странице, а затем выборочно повторно включать отдельные скрипты по одному, чтобы определить, какие из них действительно необходимы для функциональности страницы. Однако некоторые инструменты блокировки скриптов могут иметь непреднамеренные последствия, например, нарушать работу частей других веб-сайтов, что может потребовать соблюдения баланса[6].
Другая форма предотвращения, известная как «Cujo», интегрирована в веб-прокси, где она проверяет веб-страницы и блокирует доставку вредоносного кода JavaScript[7].
Советы для конечных пользователей
Атаки с помощью скрытой загрузки — это угроза, которой непросто избежать.
Пользователям следует полагаться в основном на различные возможности защиты, заложенные в их программном обеспечении.
- Использовать учётную запись с правами администратора только для установки программного обеспечения на компьютер. Права администратора — это то, что необходимо злоумышленнику, чтобы совершить атаку с помощью скрытой загрузки.
- Своевременно обновлять веб-браузер и операционную систему. Свежие патчи безопасности помогают закрывать бреши в защите, через которые внедряется код для атаки с помощью скрытой загрузки.
- Удалять ненужные программы и приложения. Чем больше плагинов установлено на устройстве, тем больше риск заражения.
- Установить ПО для защиты от интернет-угроз на все свои устройства.
- Никогда не посещать веб-сайты, которые могут быть заражены вредоносным кодом. Часто источниками заражения являются файлообменники или сайты с контентом для взрослых.
- Если в веб-браузере всплывает окно с предупреждением об опасности, внимательно изучить его, прежде чем открыть. Мошенники создают поддельные всплывающие окна для десктопных или мобильных браузеров, которые выглядят как настоящие уведомления системы безопасности. Если в тексте содержатся опечатки, грамматические ошибки или изображения в низком разрешении — возможно, это попытка направить на заражённый веб-сайт.
- Использовать блокировщик рекламы. Во время атак с помощью скрытой загрузки заражение часто происходит именно через онлайн-рекламу[4].
Примечания
Литература
- Евдошенко Олег Игоревич, Лежнина Юлия Аркадьевна. Применение методов машинного обучения для детектирования вредоносных URL // Инженерно-строительный вестник Прикаспия. — 2023. — № 2 (44). — doi:10.52684/2312-3702-2023-44-2-122-127.
- Россинская Елена Рафаиловна, Рядовский Игорь Анатольевич. Концепция вредоносных программ как способов совершения компьютерных преступлений: классификации и технологии противоправного использования // Всероссийский криминологический журнал. — 2020. — № 5.
- Ревунов Сергей Евгеньевич, Бархатова Оксана Михайловна, Долгова Дарья Сергеевна. Нейросетевые методы обеспечения информационной безопасности цифровой экономики // Инновационная экономика: перспективы развития и совершенствования. — 2020. — № 6 (48).
- А. И. Горев, Е. Г. Горева. Кибератаки: некоторые подходы к системному анализу // Математические структуры и моделирование. — 2024. — № 1 (69). — doi:10.24147/2222-8772.2024.1.110-116.


