Вирусы на сайте: какие бывают и как могут навредить
14 мая 2021

Заражение сайта вирусами — результат хакерской атаки, только не всегда целенаправленной. Вероятность того, что именно на ваш сайт нападет злоумышленник, небольшая. Гораздо легче поймать вирус по другой, более прозаичной причине. Например, из-за невнимательности разработчиков при написании кода, неосторожности при работе с сайтом через FTP или из-за плагина CMS.

В статье расскажем, какие бывают вирусы, как они чаще всего попадают на сайт и что будет, если вовремя их не отследить.

Какие бывают вирусы и что они умеют

Вирус — это вредоносный код, который разрабатывают для несанкционированных действий. Он внедряется через уязвимости в сайте или веб-приложении. На первый взгляд вредоносный код мало чем отличается от обычного кода:

Пример вредоносного кода на языке JavaScript. Источник: virusdie.com

Когда на сайт попадает вредоносный код, он приносит много неприятностей: повреждает файлы, крадет информацию, устанавливает вредоносное ПО на устройства пользователей. Из-за вирусов на сайте появляются ошибки, он становится «тяжелее» — тратит больше ресурсов хостинга, страницы загружаются дольше.

Разновидностей вирусов очень много, мы не будем подробно останавливаться на каждой. Расскажем о самых популярных, атакующих сайты и веб-приложения.

XSS-атака

XSS (англ. Cross-Site Scripting — межсайтовый скриптинг) — распространенная уязвимость, которую можно обнаружить на множестве сайтов. В рейтинге CWE за 2020 год, в который вошли 25 самых опасных уязвимостей, XSS занимает 1 место.

Через эту уязвимость злоумышленники могут внедрить код JavaScript прямо на страницу сайта (XSS-атака). Вредоносный скрипт собирает данные: логины и пароли, куки. Для пользователей это проходит незаметно: сайт выглядит как прежде, дизайн не меняется, а все плохое происходит «под капотом» сайта — в коде. Дальше скрипт отправляет все данные на сервер злоумышленника, и он получает доступ к аккаунтам пользователей и их персональной информации.

Также скрипт может перенаправлять пользователя на другой сайт с похожим дизайном. Если человек не заметит подмены, он может ввести свои учетные данные или реквизиты банковской карты прямо на сайте злоумышленника, не зная этого.

LFI — включение локального файла

LFI-уязвимость (англ. Local file include — включение локальных файлов) — уязвимость, которую злоумышленник может использовать, чтобы заставить веб-приложение раскрыть или запустить файлы на сервере. Она возникает из-за неправильной настройки веб-сервера и ошибок в коде сайта.

Обычно эту уязвимость эксплуатируют сразу в двух направлениях:

  1. Запускают удаленное исполнение кода на веб-сервере. Это может привести к тому, что весь сайт будет заменен на сайт злоумышленника или на части страниц сайта появится сомнительный контент.
  2. Манипулируют файлами на сервере: получают доступ к файлам, содержащим, например, список пользователей, доступы к учетным данным, журналам (логам), исходному коду и другой конфиденциальной информации.

SQL-инъекция

SQL-инъекция — особый способ внедрения вредоносного кода. SQL-инъекция позволяет вмешиваться в запросы, которые приложение делает к своей базе данных. Атака этого типа возможна из-за неправильно выбранного способа взаимодействия с базой данных при разработке сайта.

Как злоумышленник может использовать SQL-инъекцию:

  1. Просматривать данные кредитных карт, личную информацию пользователей или любые другие данные, к которым приложение может получить доступ. Многие громкие утечки данных в последние годы стали результатом атак с использованием SQL-инъекций. Один из таких случаев произошел в августе 2020 года: с помощью SQL-инъекции хакеры похитили пользовательские данные 8,3 млн клиентов сайтов Freepik и Flaticon.
  2. Настраивать перенаправление на вирусные сайты или заменять данные на взломанном сайте, например, адрес кошелька или форму оплаты — тогда средства будут уходить мошеннику.
  3. Изменять или уничтожать данные. Из-за этого содержимое или логика поведения приложения постоянно меняется. Например, злоумышленник может изменить логику приложения так, что сможет авторизоваться в личном кабинете под любым пользователем без пароля.
  4. Получать постоянный бэкдор — несанкционированный доступ к серверу. Это приведет к компрометации, которая может оставаться незамеченной очень долго.

Вредоносное программное обеспечение

Вредоносное ПО и вредоносный код — разные угрозы, которые часто работают вместе.

Вредоносное ПО — программное обеспечение, которое устанавливается на устройства и содержит в себе множество разных типов вирусов. Тогда как вредоносный код — это веб-скрипт, атакующий сайты и веб-приложения. Вредоносный код проникает через уязвимость сайта и его можно использовать для загрузки вредоносного ПО на устройства пользователей.

Наглядный пример распространения вредоносного ПО через сайт — случай с известной площадкой CNET. На сайте CNET размещалась ссылка для скачивания бесплатного видеоредактора VSDC. В феврале 2020 года ссылка была взломана через уязвимость сайта и вместо подлинной программы посетители скачивали вредоносное ПО, позволяющее злоумышленникам получать доступ к компьютерам пользователей.

При переходе по взломанной ссылке на сайте download.cnet.com загружался файл с инфицированным программным обеспечением. Источник: news.drweb.com

Это лишь один из множества сценариев распространения вредоносного ПО через взломанные сайты. Расскажем о некоторых типах вредоносного ПО, которые проникают на устройства через сайты.

Spyware — это разновидность шпионского ПО. Позволяет собирать личные данные пользователя, в том числе конфиденциальные: банковские реквизиты, логины-пароли, адреса электронной почты и даже нажатие клавиш на клавиатуре. Отслеживает действия и поведение в сети.

Трояны — маскируются под обычное ПО: бесплатную программу, zip-архив. Если запустить троян на устройстве, он сможет полностью контролировать систему: изменять другое ПО и файлы, передавать данные с ПК на сервер или использовать компьютер в своих целях — например, для кибератак.

Черви — попадают на компьютер, размножаются и распространяются на ПК других пользователей, например, через электронные адреса в памяти захваченных устройств.

Следствие атак червей:

  • в памяти устройств становится меньше места;
  • появляются файлы, которые пользователь не создавал;
  • замедляются системные процессы;
  • происходят сбои в работе программ;
  • удаляются файлы и данные;
  • устройство произвольно отключается, перезагружается, появляются ошибки.

Злоумышленники используют это ПО, чтобы вредить работе организаций, рассылать спам или получать доступ к управлению устройствами.

Rootkits — это утилиты, которые маскируются под системные вспомогательные программы и скрывают процессы других вредоносных программ. С помощью последних взломщики получают файлы или наносят вред системам устройств.

Keyloggers — это ПО перехватывает данные с устройств:

  • фиксирует нажатия клавиш на клавиатуре и движения мыши;
  • записывает экран пользователя, видео с камеры и звук;
  • отмечает время активности пользователя;
  • получает доступ к данным, документам, письмам и следит за файловой активностью.

С помощью кейлогеров злоумышленники воруют номера счетов, карт, пароли и другие персональные данные.

Майнеры — ПО, которое использует ресурсы устройств для добычи криптовалюты.

Программы-майнеры могут быть легальными и нелегальными.

Легальный майнинг. Пользователь, желая заработать, самостоятельно устанавливает и запускает программу на ПК.

Нелегальный майнинг. Злоумышленники устанавливают программу и пользуются компьютером без ведома владельца. Чаще от этого страдают корпорации — в крупной компании сложно отследить, что устройства стали потреблять больше энергии.

Как вирусы попадают на сайт

Вирус попадает на сайт в результате взлома: целевого или нецелевого.

Целевой взлом, как ясно из названия, происходит целенаправленно. Такой взлом могут заказать, например, конкуренты компании. Хакер хочет взломать конкретный сайт и пытается найти точку входа: ищет в коде слабые места или использует перебор паролей к серверу. Если получается найти уязвимость — внедряет на сайт вирус.

Нецелевой взлом никто не заказывает. Такие атаки осуществляются с использованием автоматизированных инструментов, которые были запрограммированы для поиска уязвимости и добавления вируса. Подавляющее большинство взломанных сайтов — жертвы нецелевых атак. Такие атаки дешевле целевых и дают возможность с минимальными усилиями нанести ущерб огромному количеству сайтов и систем.

Владелец или разработчик сайта часто неосознанно способствует попаданию на него вируса. Например, создает некачественный код или использует ПО для разработки сайта из непроверенных источников, которые уже содержат вирус.

Рассмотрим пути заражения подробнее.

Ошибки в коде и настройках сайта

В коде любого сайта и логике его работы могут быть ошибки — это помогает вирусам попадать на сайт. В результатах исследования компании Positive Technologies говорится, что 82% уязвимостей были обнаружены именно в коде приложений (в исследовании участвовало 38 веб-приложений из разных сфер бизнеса). Большинство веб-приложений имело в среднем 22 уязвимости, половина которых — с высокой степенью опасности.

Ошибки в коде появляются из-за некомпетентности или невнимательности разработчика — например, из-за такой мелочи, как неправильная обработка текста от пользователей, на сайте возникает XSS-уязвимость.

Представьте, что на сайте есть форма для отправки отзыва, которая содержит поля для ввода текста. В коде этой формы разработчик может забыть настроить проверку вводимой информации и злоумышленник сможет отправить вредоносный код, просто вписав его в поле формы. Дальше этот код сохранится на странице и будет загружаться в браузер каждого пользователя, который зайдет на страницу сайта (XSS-атака).

Еще одна причина появления уязвимостей — небезопасные библиотеки (фреймворки). Большинство современных сайтов создается с помощью готовых решений (фреймворков) — это дешево и удобно. Не нужно писать код с нуля, достаточно доработать готовую библиотеку под нужды сайта. Но сторонние фреймворки могут содержать в себе ошибки, которые и становятся причиной заражения вирусами.

Неправильная настройка сайта также открывает множество лазеек для злоумышленников. Разработчики и администраторы довольно часто пренебрегают безопасностью:

  • забывают ограничить права доступа к файловой системе для непроверенных пользователей;
  • устанавливают для удобства везде одинаковые пароли (к базе данных, административной панели);
  • не обновляют программное обеспечение — старые версии ПО могут содержать незакрытые уязвимости.

Разработчики и веб-мастера могут допускать ошибки в коде и настройке сайта случайно — из-за недостатка опыта, или немеренно. Так бывает, когда на проекте возникают конфликты и разногласия. Тогда разработчик перед уходом специально может оставить бэкдор.

Заражение через FTP-клиент

Многие вебмастера работают с сайтом через FTP (англ. File Transfer Protocol — протокол передачи файлов), пользуются FTP-клиентами: FileZilla, WinSCP, Core FTP LE, CuteFTP и др. Это позволяет удаленно управлять файлами на сервере: просматривать, загружать, перемещать, удалять их и т. д.

Часто FTP-клиент сохраняет логин и пароль пользователя для автоматической авторизации. Это удобно, но небезопасно: такие данные могут храниться в незашифрованном виде. Когда на компьютер веб-мастера попадает вредоносная программа, например, червь — она может собирать и передавать данные злоумышленникам, так доступ к сайту оказывается в чужих руках. Дальше — потеря контроля, вирусы на сайте, ошибки в работе приложения.

Уязвимости в CMS и плагинах

CMS — это программы, которые помогают управлять сайтом: менять дизайн, писать тексты, добавлять виджеты и т. д.

Коды многих популярных CMS (WordPress, Joomla и т. д.) есть в открытом доступе. На такое ПО обычно не нужно покупать лицензию — это выгодно для владельцев сайтов. Но код такого ПО может изучить кто угодно, в том числе злоумышленники — так они находят слабые места в системах управления сайтами и используют бреши для атак.

Обезопасить CMS от взлома можно. Если использовать лицензионные CMS, следить за официальными обновлениями платформы и устанавливать их вовремя, риск заражения становится минимальным. А вот сторонние плагины для CMS из непроверенных источников могут содержать уязвимости.

Плагины CMS — это расширения, которые подключаются к CMS. С их помощью на сайте добавляют нужные модули (интеграцию с соцсетями, обработку платежей) или меняют тему оформления.

Плагины из официальных каталогов CMS, как правило, платные. Те, кто хочет сэкономить, скачивают бесплатные плагины, часто с непроверенных сайтов. С этого, как правило, начинается история заражения сайта, так как такие плагины в большинстве случаев уже содержат вирусы.

Причиной уязвимости также становятся старые плагины. Веб-мастера со временем перестают использовать какие-то скачанные расширения, но часто забывают удалять их. А старый плагин, который не удален и не обновляется — слабое место, через которое злоумышленник может получить доступ к коду CMS.

Последствия заражения сайта вирусом

Если вовремя не принять меры, заражение сайта вирусом может закончиться неприятно. Основные последствия для сайта и бизнеса:

  • Попадание в черные списки поисковиков и браузеров — перечни опасных для посетителей ресурсов. Поисковики, заподозрив вредоносность сайта, пометят его как небезопасный, сократят или вовсе остановят его выдачу. Браузеры будут предупреждать посетителей, что на сайте обнаружено вредоносное ПО. Все это грозит потерей позиций в выдаче и снижением посещаемости сайта.

Сообщение об угрозе на сайте в браузере Google Chrome

  • Потеря сайта. Если злоумышленники получат логины и пароли для доступа к сайту, они поменяют данные для авторизации. В таком случае вернуть сайт и его содержимое почти невозможно. Если сайт к тому же на хороших позициях в выдаче, его могут использовать для размещения рекламы и перенаправления посетителей на сторонние сайты.
  • Потеря клиентов. Зараженный сайт обычно долго грузится, на нем могут появиться подозрительные баннеры, ошибки и уведомления об угрозах. Это раздражает и пугает посетителей сайта, и они уходят, так и не став клиентами.
  • Испорченная репутация. Если на устройствах клиентов после пребывания на сайте компании появляются вирусы или, что хуже, персональные данные уходят третьим лицам, репутация фирмы снижается.

Пусть агрессивных конкурентов бизнеса нет и сайт на первый взгляд не интересен хакерам (например, на нем нет ценных данных и не обрабатываются платежи) — это лишь снижает риск целевого взлома. Любой сайт в интернете может подвергнуться автоматической, нецелевой атаке вне зависимости от того, насколько он прибыльный и какой контент на нем размещается. И полностью обезопаситься от такой атаки практически невозможно.

Но последствия атаки можно минимизировать или вообще их избежать, если вовремя обнаружить и удалить вирус. Поможет в этом специальное программное обеспечение — Антивирус для сайта. Подробнее о нем читайте в следующей статье.

Рекомендуем