...

четверг, 19 июня 2014 г.

Как Host-tracker помог оперативно обнаруживать вредоносный код

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

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

image



Изложение от лица клиента:
Сайт попал в бан Яндекса



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

А также пришло письмо от Яндекс: На сайте обнаружен потенциально опасный код:

На страницах вашего сайта mysite***.com обнаружен код, который может быть опасен для посетителей. Выполнение этого кода при посещении сайта может привести к нежелательным для пользователя последствиям: заражению компьютера вредоносными программами, несанкционированному использованию его ресурсов, порче или краже личных данных.

В настоящий момент сайт выводится в результатах поиска с пометкой «Этот сайт может угрожать безопасности вашего компьютера».

Яндекс никак не оценивает содержание сайта и предупреждает пользователей о том, что сайт мог быть заражен без ведома его владельцев.

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

В панели Яндекс вебмастер было сообщение:

Результат выборочной проверки

Дата последней проверки 19.08.2013

Страница mysite***.html

Вердикт Поведенческий анализ.


Обнаружение вредоносного кода



Сайт естественно сразу же был проверен различными онлайн антивирусами, но никаких угроз обнаружено не было. После этого я подумал, что это какое-то недоразумение и написал письмо в поддержку Яндекса, с просьбой прояснить ситуацию, указав что онлайн антивирусы не нашли никаких угроз. Они ответили, что на сайте заражен один из файлов — common.js. Еще я обратил внимание, что с главной страницы появились ссылки на какие-то «левые» сайты. Предполагаю, какая-то биржа ссылок нашла неплохой метод продавать ссылки ничего не подозревающих владельцев. Открыв файл, я действительно обнаружил в нем вредоносный код:

<iframe name="ifn2i8N" src="http://*** " style="width: 0px; height: 0px;"/>...
Борьба с вредоносным кодом



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

Яндекс действительно убрал сайт из бана, и в панели вебмастера было указано, что все ОК. Но прошло пару дней и картина повторилась. Я сразу проверил файл, который был заражен ранее, убедился, что вредоносный код там, и заменил файлом из бекапа.

После сразу написал хостеру, что у меня такая проблема. Они ответили, что проблема только у меня, а у них все в порядке, посоветовали поменять пароли на админ панель, ftp и к базе. Я это все выполнил, подложил чистый файл из бекапа, но прошло буквально пару часов и файл снова заражен.

Решил также проверить соседей по IP. Наугад открыл 5 сайтов, и ни сколько не удивился, что у них с главной присутствуют тоже внешние ссылки, с использованием iframe. Естественно сразу написал хостеру об этом, и получил ответ, что все ОК, заражено не более 5% клиентских аккаунтов и проблем якобы нет. Ответил им, что за чушь и привел доводы о существовании проблемы, тогда они дали уже более развернутый ответ с предложением восстановить бекап. Также рекомендовали поставить доступ на файлы 444 и на каталоги 555, что я и сделал. Но прошел буквально день, доступ возвращен на 644 и 755 соответственно и в файле вредоносный код.


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


Сроков решения проблемы не было озвучено, и сайт постоянно попадал в бан Яндекса и соответственно за это время уже потерял позиции в выдаче.


Поиск по контенту



К конкретным файлам, которые знал, что заражаются чуть ли не каждые пару часов использовал функцию Host- tracker – поиск по контенту. Выбрал Http проверку, прописал URL: путь к файлу mysite***/common.js, который постоянно заражался, прописал мониторить по ключевому слову «iframe», которое присутствовало во вражеском коде, выбрал: все ключевые слова должны отсутствовать на проверяемой странице. Теперь, когда вражеский код появлялся, мне приходило SMS и уведомление на e-mail буквально через минуту (выбрал интервал опроса 1 мин).



Поначалу приходилось самостоятельно оперативно исправлять, чтобы Яндекс не банил. Потом обратил внимание, что приходит уведомление, что common.js содержит вредоносный код, и буквально через пару минут файлы уже без вредоносного кода. Хостер наконец-то стал самостоятельно лечить файлы. Это продолжалось еще пару дней, пока сообщения о заражении не перестали приходить.
Проверка контрольной суммы



Для себя дополнительно реализовал простой метод контроля изменения файлов *.js:

Файлы должны быть всякого вражеского кода. Сохраняем, например, утром контрольную сумму файлов с нужным расширением .js, .php и т.д.

find . -type f -name "*.js" -exec md5sum {} \; > file-js1.txt

и повторяем процедуру вечером

find . -type f -name "*.js" -exec md5sum {} \; > file-js2.txt

потом сверяю два этих файла на расхождение в контрольных суммах:

diff -u file-js1.txt file-js2.txt.

Если что-то поменялось, проверяю причину изменения файлов.

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


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.


Комментариев нет:

Отправить комментарий