Инструменты для сканирования кода Magento на наличие вредоносного контента


У нас есть клиент, который очень обеспокоен внедрением вредоносного кода в сторонние модули, особенно модули, поступающие из Magento Connect (или любого бесплатного модуля) Они хотели бы использовать один из этих модулей, но хотят быть уверены, что модуль не содержит кода, который позволил бы хакеру получить доступ к различным частям их сайта Magento.

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

function check($contents,$file) {
        $this->scanned_files[] = $file;
        if(preg_match('/eval\((base64|eval|\$_|\$\$|\$[A-Za-z_0-9\{]*(\(|\{|\[))/i',$contents)) {
            $this->infected_files[] = $file;
        }
}

Даже служба, которую можно запустить на веб-сервере.

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

Author: brentwpeterson, 2015-04-03

6 answers

Вы думали о том, чтобы запустить clamav? - https://www.clamav.net/index.html - Я недавно запустил это на клиентском сервере Ubuntu под управлением magento, и он вернулся с двумя зараженными файлами - скорость сканирования была впечатляющей и легко запускается, если у вас есть доступ по SSH - вы также можете регулярно запускать задание Cron.

Для запуска clam AV в Ubuntu

Чтобы установить ClamAV, выполните следующую команду

apt-get update
apt-get install clamav

Обновление вирусных баз вручную

freshclam

Вы увидите Запущен процесс обновления ClamAV Для ручной проверки файлов/папок на вирусы

clamscan -r --bell -i /

Для тех, кто не работает в Ubuntu, полные инструкции можно найти здесь https://www.clamav.net/doc/install.html

 3
Author: David Allsop, 2015-04-25 14:55:38

Существует множество способов запутать код, поэтому такое простое решение вообще не является решением IMO. Если вы действительно хотите заблокировать свою систему и предотвратить вредоносный код, я бы рекомендовал:

  1. Не разрешайте установку модулей через Connect. Используйте репозиторий git и сначала установите его на промежуточный сервер и обновляйте производство только через git после тщательного тестирования и проверки.

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

  3. По возможности ограничьте исходящий трафик через iptables. Это сложно, так как существует так много сторонних API-интерфейсов для интеграции, и они могут в любое время изменить свои IP-адреса, но это самый верный способ предотвратить распространение вредоносного кода (Magento или иного).

  4. Установите инструмент, который отслеживает изменения файлов в корневом каталоге вашего веб-сайта. Например, брандмауэр ConfigServer и OSSEC имеют компоненты, которые делают это хорошо, конечно, после правильной настройки.

Если вам известно о системе, которая обновит записи iptables или группы безопасности AWS при обновлении записей DNS, пожалуйста, дайте мне знать, так как я еще не нашел или не создал ее сам.

 3
Author: ColinM, 2015-04-10 05:17:36

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

Рекомендуется Magento, используется Magento Marketplace, Национальной безопасностью, VISA и многими другими.

 2
Author: Willem, 2018-09-08 12:51:17

Я создал модуль под названием MB_Callinghome, чтобы сделать именно это. Расширение довольно простое, оно отслеживает событие входа администратора и выполняет поиск настраиваемой строки с помощью find и grep. Расширение использует exec(), что делает его доступным только в промежуточной среде, поскольку при использовании в prod оно может подвергнуть сайт атаке.

 1
Author: mbalparda, 2015-04-04 01:51:10

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

Я помню, что здесь был вопрос о том, почему стандарты, используемые модулем здесьhttps://github.com/magento-ecg/coding-standard так чувствителен к таким штукам, как фопен и другие операции ввода-вывода файлов.

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

 1
Author: John Cuthbert, 2015-04-25 15:21:12

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

Https://sitecheck.sucuri.net/

Https://www.magereport.com/

Http://www.unmaskparasites.com/

Http://webscan.foregenix.com/

Https://github.com/gwillem/magento-malware-scanner/

Https://magescan.com/

Https://www.virustotal.com/

 0
Author: Mohamed El Mrabet, 2018-09-08 16:27:00