scannerMODX - алгоритмы для вычисления вирусов



Привет друзья, пару месяцев назад, публиковал приложение для поиска и сравнения файлов ядра modx и текущего сайта. scannerMODX.
Хотел его дорабатывать. Добавлять разные алгоритмы для поиска вирусных файлов (как обычно времени не хватает). Но только так чтобы точно можно было определить что в файле вирус. Пусть ищет не все подряд, но хотя бы что то да находит.
То есть открываем файл, проверяем его каким то алгоритмом. Если в нем вирус то автоматически помещаем его в карантин и сигнализируем админу

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

Если есть готовые решения на проверку вирусов к компоненту, прошу откликнуться других разработчиков.
Думаю что всем будет полезно...
Андрей Степаненко
14 ноября 2018, 20:43
modx.pro
1 462
+3
Поблагодарить автора Отправить деньги

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

Ярослав
14 ноября 2018, 21:58
0
Есть бесплатная версия антивируса для поиска вредностей на хостинге или локально — https://revisium.com/ai/. Можно ее интегрировать или взять за основу ее алгоритмы. Работает скрипт довольно продуктивно и уверенно.
    Андрей Степаненко
    14 ноября 2018, 22:02
    0
    У него вроде как зашифрованы алгоритмы.
    По кране мере авторство есть какое то
      Ярослав
      14 ноября 2018, 22:26
      0
      Возможно. Не копал так глубоко. Просто пользовался не один раз. Может есть аналоги еще какие-либо.
        Евгений Борисов
        15 ноября 2018, 23:04
        +2
        Алгоритм такой: берем файл и удаляем из него все комментарии/пробелы при помощи php_strip_whitespace. После чего контент прогоняется через ряд регулярок. Чем больше размер файла и регулярок, тем медленней проверка всего сайта. Поэтому, как я понимаю, от версии к версии набор этих регулярок меняется, а не только дополняется. Именно этим и можно объяснить почему одна версия айболита находит какие-то шеллы. А другая — их уже не видит.

        P.S. Еще одна причина, почему я не доверяю айболиту — наличие закладки в виде определенного текста. Если вдруг файл с вирусом содержит этот текст, то айболит такой файл никогда не пометит как вредоносный.
      Sergey (Sentinel)
      15 ноября 2018, 09:55
      0
      Aibolit не?
        Андрей Степаненко
        15 ноября 2018, 12:02
        0
        Если его в приложение встроить, потом же спросят с меня)) Там у них авторство
          Евгений Борисов
          15 ноября 2018, 22:50
          +1
          Поскольку ваше решение бесплатное, то никто не мешает подтягивать их инструмент как самостоятельный скрипт и результаты проверок брать из json файла. Можно еще посмотреть в сторону github.com/phpMussel/phpMussel
        Иван
        15 ноября 2018, 11:44
        1
        +1
        Скорее всего, нужно внедрять комплекс. Айболит, например, не видел несколько вирей и много кричал впустую. Пару вирей видели другие. А ещё один шел видел вообще только третий и никто другой. Вот тут антивирей целая орава. Можно выбрать часть из них из бесплатной части, внедрить как есть (чтобы не было вопросов правовых), прикрутить основной набор команд каждого из них на исполнение по событию некому и каждым пробегаться. Думаю, будет хорошей идеей обсудить это с Евгением Борисовым. Заодно отлично было бы ещё и проверять на соблюдение некого хотя бы минимума отсюда.
          Евгений Борисов
          15 ноября 2018, 22:53
          +1
          Айболит, например, не видел несколько вирей и много кричал впустую.
          Увы, это так. Многие закладки он не видит.
          Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
          9