Найдите в своем приложении PHP угрозу безопасности и оцените качество кода.
PHP управляет сетью с 80% доли рынка.
Он везде – WordPress, Joomla, Lavarel, Drupal и т. д
Ядро PHP безопасно, но есть намного больше его особеенностей, которые мы используем, и они могут быть уязвимыми.
После разработки сайта или сложного веб-приложения большинство разработчиков и владелец сайта сосредоточены на функциональности, дизайне, SEO и забывают о важном компоненте – безопасности.
В качестве наилучшей практики вам следует рассмотреть возможность проведения проверки безопасности вашего приложения, прежде чем сосредоточиться на раскрутке.
Это относится к любым сайтам – маленьким или большим. Есть несколько инструментов, которые помогут вам в этом.
1 PMF
PHP Malware Finder (PMF) – это самостоятельное решение, помогающее вам находить в файлах вредоносные коды.
Известно, что он обнаруживает изворотливые dodgy, обфускаторы, код webshells.
PMF использует YARA, поэтому вам нужен он как предварительный вариант для запуска теста.
2 RIPS
RIPS – один из популярных инструментов анализа статического кода PHP, который можно интегрировать с помощью жизненного цикла разработки, чтобы найти проблемы безопасности в реальном времени.
Вы можете классифицировать поиск по отраслевым требованиям и стандартам, чтобы определить приоритеты исправлений.
- OWASP Top 10
- SANS Top 25
- PCI-DSS
- HIPPA
Давайте рассмотрим некоторые из его функций.
- Определите риск, основанный на серьезности и значения, таких как критические, высокие, средние и низкие.
- Сотрудничество с расследованием
- Понять влияние уязвимости
- Оцените риск безопасности между старым и новым кодом
- Создайте список дел и назначьте задания, используя систему билетов
RIPS позволяет экспортировать отчет о результатах сканирования в несколько форматов – PDF, CSV и другие, используя API RESTful.
Он доступен как самостоятельная и SaaS-модель.
3 SonarPHP
SonarPHP от SonarSource использует сопоставление образцов, методы потока данных для поиска уязвимостей в кодах PHP.
Это статический анализатор кода и интегрируется с Eclipse, IntelliJ.
SonarSource проверяет код на более чем 140 правил, а также поддерживает пользовательские правила, написанные на Java.
4 SensioLabs
SensioLabs использует файл composer.lock для проверки известного рисков безопасности.
Checker доступен тремя способами:
- Online – вы загружаете свой файл для выполнения теста
- CLI – загрузить инструмент для его локального использования или интегрировать в жизненный цикл разработки
- API – используйте веб-службу для проверки уязвимостей. Результаты доступны в текстовом формате и формате JSON.
Увлекательная статистика показывает, что 9% всех проверок имели одну или несколько известных уязвимостей.
5 Exakat
Механизм анализатора статического кода в реальном времени для проверки соответствия, рисков и усиления передового опыта.
Exakat имеет более 300 анализаторов, посвященных PHP.
Существуют специфические анализаторы, такие как WordPress, CakePHP, Zend и т.д.
Если у вас есть код приложения PHP в GitHub, вы можете использовать свой общедоступный анализатор, иначе вы можете загрузить или использовать онлайн-браузер на основе облачных вычислений.
С помощью Exakat вы можете интегрировать вечную безопасность в свое приложение и следующие моменты:
- Обзор кода автоматизирован с более чем 100 правилами
- Соответствие требованиям
- Автоматизируйте свою документацию по коду
- Перспектива миграции PHP 7
Благодаря надежной отчетности вы можете определить приоритетность восстановления.
6 PHPStan
PHPStan – фантастический инструмент для поиска ошибок при написании кода.
Вам не нужно ничего запускать.
Вы можете попробовать онлайн-версию здесь.
Для использования PHPStan требуется версия 7.1 или более поздней версии и композер.
Тем не менее, он способен обнаруживать ошибки из более старой версии.
7 Psalm
Это основанный на PHP Parser, может найти ошибки и помочь поддерживать разработку более безопасного приложения.
8 Checkmarx
Checkmarx, облачное решение для поиска уязвимостей в PHP-коде и рекомендации по их исправлению.
Каждая уязвимость объясняется, поэтому вы понимаете влияние угрозы на ваш продукт.
9 Progpilot
Статический анализатор Progpilot позволяет указать тип анализа, такой как GET, POST, COOKIE, SHELL_EXEC и т. д.
В настоящее время он поддерживает инфраструктуру suiteCRM и CodeIgniter.
10 PHP Vulnerability Hunter
Fuzzer для поиска уязвимостей с использованием статического и динамического анализа.
Этот охотник способен охотиться на следующее:
- XSS
- SQL injection
- Произвольное чтение и выполнение команд
- Включение локального файла
- Полное раскрытие пути
Сканирование выполняется в три этапа – инициализация, сканирование и деинициализация
11 Grabber
Grabber, инструмент на основе python для выполнения гибридного анализа PHP-приложений с использованием PHP-SAT.