Яндекс выпустил антивирус для сайтов — Manul

Тема в разделе "Новости информационной безопасности", создана пользователем shestale, 24 апр 2015.

Метки:
  1. shestale
    Оффлайн

    shestale Ассоциация VN/VIP Преподаватель

    Сообщения:
    8.059
    Симпатии:
    4.488
    Поиск Яндекса ежесуточно показывает людям больше восьми миллионов предупреждений о том, что страница, на которую они хотят перейти, заражена. Часто владелец сайта вспоминает о том, что его сайт может быть взломан и на нём может быть размещен вредоносный код, только тогда, когда худшее уже случилось, трафик упал, и пользователи успели заразиться.

    Чтобы вебмастера могли как можно быстрее реагировать на проблемы, мы уже несколько лет рассылаем предупреждения о заражении в Яндекс.Вебмастере. В них мы даём подробные инструкции, что нужно делать, а в самых сложных случаях вебмастерам помогает наша служба поддержки.

    [​IMG]

    Однако всегда хочется лучшего. Одна из главных проблем, с которыми мы сталкиваемся при общении с владельцами зараженных сайтов, — это поиск источника заражения на стороне сервера. У Яндекса, который каждые сутки размечает тысячи сайтов как зараженные вирусом и опасные для устройств человека, есть регулярно обновляемая база вирусов. И у нашей команды появилась идея, выросшая в большой проект, – антивирус для сайтов. Так мы создали Manul, который решили выложить в open source. Это утилита, которая поможет вебмастеру понять, что произошло с сайтом и вылечить его. Под катом я расскажу подробнее о том, как он устроен и какие проблемы решает.

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

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

    Поэтому у нас появилась идея сделать простой инструмент – антивирусную утилиту, которая бы собирала структурированную информацию о сайте. После этого должна быть возможность проанализировать собранные данные самостоятельно или отправить специалисту. Кроме того, хотелось бы, чтобы такими специалистами могли быть как мы, так и студии или отдельные специалисты, которые также занимаются лечением сайтов, а при желании вебмастер мог бы сделать это и сам. И, конечно, инструмент должен уметь предлагать лечащий скрипт, чтобы автоматизировать процесс лечение от начала и до конца. Особенно для рядовых случаев.

    [​IMG]

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

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

    У Григория Земскова из Revisium был большой опыт сканирования и лечения сайтов на стороне сервера, а также работающее решение — скрипт Ai-Bolit, в который уже была заложена значительная часть желаемой функциональности. Мы объединили наши знания и пожелания, и получилось нечто новое — Manul.

    Как это всё работает?

    Архив с Manul заливается в корневой каталог сайта — например, через FTP/SFTP, и там распаковывается. Дальше работа с инструментом идет через браузер. При сканировании Manul собирает информацию обо всех файлах, лежащих в корневом каталоге и ниже его, — об их размере, дате последнего изменения, вычисляет хэш-сумму. Параллельно каждый файл проверяется на вредоносность по приложенной антивирусной базе и помечается одним из трех флажков:

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

    Завершив проверку, Manul сохраняет всю полученную информацию в виде XML-отчета. Фрагменты кода — как подозрительные, так и вредоносные — также прикладываются в отчет.

    [​IMG]

    Для просмотра отчета существует отдельный инструмент — Анализатор логов Manul, доступный онлайн. Он представляет отчет в виде таблицы, позволяет отфильтровать файлы по набору таких свойств, как размер, дата изменения и другие, просмотреть фрагменты подозрительного кода. Для различных версий популярных CMS Анализатор автоматически применяет белые списки, чтобы сразу отфильтровать файлы из стандартной комплектации, в которых не было замечено изменений. А нажимая кнопки Quarantine и Delete, расположенные напротив каждого файла, можно сформировать скрипт для Manul, который удалит вредоносные файлы с сервера, а подозрительные поместит в архив для отправки на анализ. Исполнить этот скрипт можно, открыв Manul и перейдя на вкладку Лечение.

    [​IMG]

    Manul не требует доступа к конфиденциальным данным (таким, как пароли). Все производимые с файлами действия контролирует и подтверждает владелец сайта. Чтобы инструментом не смогли воспользоваться третьи лица, при первом запуске его необходимо защитить паролем. Никакие данные о сайте и пользователе при использовании утилиты никуда автоматически не отправляются.

    Утилита не требовательна к среде исполнения и рассчитана на то, чтобы запускаться даже на слабых хостингах. Но все же для запуска ей необходимо выполнение некоторых условий: версия PHP не ниже 5.2 и наличие в ней модулей ZipArchive, DOM и XML. Также Manul потребуется доступ на чтение web_root/public_html каталога виртуального хоста

    Что же дальше?

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

    Однако на достигнутом мы решили не останавливаться. Мы хотим, чтобы у каждого разработчика была возможность не просто воспользоваться нашим Манулом, но и дать ему новую жизнь. Manul — это проект с открытым кодом, который выложен на GitHub. Вы можете принять участие в его развитии, добавить новые возможности или адаптировать исходный код под собственные нужды.
    источник
     
    Последнее редактирование: 24 апр 2015
    Dragokas, orderman, akok и ещё 1-му нравится это.
  2. Severnyj
    Оффлайн

    Severnyj Команда форума Супер-Модератор Ассоциация VN/VIP

    Сообщения:
    7.841
    Симпатии:
    8.599
  3. shestale
    Оффлайн

    shestale Ассоциация VN/VIP Преподаватель

    Сообщения:
    8.059
    Симпатии:
    4.488
    В зоопарке у нас они есть...красивые очень
     
    akok и Phoenix нравится это.
  4. SNS-amigo
    Оффлайн

    SNS-amigo SNS System Watch Freelance reporter

    Сообщения:
    5.222
    Симпатии:
    8.904
    Я три дня назад уже проверил этот сервис на одном из своих сайтов. Прекрасно все работает.
    Даже 1(!) подозрительный файл Манульчик нашел, который оказался от официальной гугле-партнерки. :Biggrin: Кто бы сомневался.
     

Поделиться этой страницей