Identifiez les risques de sécurité et la qualité du code dans votre application PHP.

PHP domine le web, avec environ 80 % des parts de marché. Il est présent partout – WordPress, Joomla, Lavarel, Drupal, etc.

php-market-share

Le cœur de PHP est sécurisé, mais il y a beaucoup d’autres éléments au-dessus, que vous utilisez peut-être et qui peuvent être vulnérables. Après le développement d’un site ou d’une application web complexe, la plupart des développeurs et des propriétaires de sites se concentrent sur la fonctionnalité, le design, le référencement, et oublient le composant essentiel – la sécurité.

En tant que meilleure pratique, vous devriez envisager d’effectuer une analyse de sécurité de votre application avant de la mettre en ligne. Cela s’applique à tous les sites, qu’ils soient petits ou grands. Il existe des outils pour vous aider dans cette tâche.

PMF

PHP Malware Finder (PMF) est une solution auto-hébergée qui vous aide à trouver d’éventuels codes malveillants dans les fichiers. Il est connu pour détecter les codes douteux, les encodeurs, les obfuscateurs et les shellcodes web.

pmf

PMF s’appuie sur YARA, vous avez donc besoin de ce logiciel comme pré-requis pour exécuter le test.

RIPS

RIPS est l’un des outils d’analyse statique du code PHP les plus populaires, à intégrer tout au long du cycle de développement pour détecter les problèmes de sécurité en temps réel. Vous pouvez classer les résultats en fonction de la conformité et des normes de l’industrie afin de prioriser les correctifs.

  • OWASP Top 10
  • SANS Top 25
  • PCI-DSS
  • HIPPA
rips

Jetons un coup d’œil à quelques-unes des fonctionnalités suivantes.

  • Identifiez les risques en fonction de leur gravité et définissez des pondérations pour les niveaux critique, élevé, moyen et faible.
  • Collaborez à l’enquête et classez les problèmes par ordre de priorité
  • Comprendre l’impact de la vulnérabilité
  • Évaluer le risque de sécurité entre l’ancien et le nouveau code
  • Créez une liste de choses à faire et assignez des tâches à l’aide du système de tickets

RIPS vous permet d’exporter les résultats de l’analyse dans plusieurs formats – PDF, CSV, et autres – en utilisant l’API RESTful.

Il est disponible en version auto-hébergée et en version SaaS. Choisissez ce qui vous convient le mieux.

SonarPHP

SonarPHP de SonarSource utilise des techniques de filtrage et de flux de données pour trouver des vulnérabilités dans les codes PHP. Il s’agit d’un analyseur de code statique qui s’intègre à Eclipse et IntelliJ.

sonarsource

SonarSource vérifie le code par rapport à plus de 140 règles, et supporte également les règles personnalisées écrites en Java.

Exakat

Un moteur d’analyse de code statique en temps réel pour vérifier la conformité, le risque et renforcer les meilleures pratiques. Exakat possède plus de 450 analyseurs dédiés à PHP. Il existe des analyseurs spécifiques à des frameworks comme WordPress, CakePHP, Zend, etc.

exakat

Si le code de votre application PHP se trouve sur GitHub, vous pouvez utiliser l’analyseur public, sinon vous pouvez choisir de le télécharger ou d’utiliser l’analyseur en ligne basé sur le cloud.

Avec l’aide d’Exakat, vous pouvez intégrer la sécurité éternelle dans votre application et les éléments suivants.

  • Examen du code automatisé avec plus de 100 règles
  • Prêt pour la conformité
  • Automatisez la documentation de votre code
  • Migration PHP 7 facilitée

Avec le reporting robuste, vous pouvez prioriser la remédiation.

PHPStan

PHPStan est un outil fantastique pour trouver des bogues pendant que vous écrivez le code. Vous n’avez pas besoin d’exécuter quoi que ce soit.

phpstan-example

Vous pouvez essayer la version en ligne ici.

PHPStan nécessite une version 7.1 ou supérieure et un compositeur pour être utilisé. Cependant, il est capable de découvrir des bogues à partir d’une version plus ancienne.

Psaume

Construit au-dessus de PHP Parser, Psalm est capable de trouver des erreurs et d’aider à maintenir la cohérence pour une application meilleure et plus sûre.

psalm

Progpilot

L’analyseur statiqueProgpilot vous permet de spécifier le type d’analyse comme GET, POST, COOKIE, SHELL_EXEC, etc. Il supporte pour l’instant les frameworks suiteCRM et CodeIgniter.

Grabber

Grabber, un outil basé sur python pour effectuer une analyse hybride sur une application basée sur PHP en utilisant PHP-SAT.

Symfony

Security Monitoring by Symfony fonctionne avec n’importe quel projet PHP utilisant le compositeur. Il s’agit d’une base de données d’avis de sécurité PHP pour les vulnérabilités connues. Vous pouvez utiliser PHP-CLI, Symfony-CLI, ou le web pour vérifier composer.lock pour tout problème connu avec les bibliothèques que vous utilisez dans le projet.

symfony

Symfony offre également un service de notification de sécurité. Cela signifie que vous pouvez télécharger votre fichier composer.lock, et chaque fois qu’une bibliothèque utilisée se révélera vulnérable, vous serez notifié.

Conclusion

J’espère qu’en utilisant les outils ci-dessus, vous rendrez vos applications PHP plus sûres. Tous les outils listés se concentrent sur l’analyse du code source, et si vous avez besoin de plus, consultez un scanner de sécurité open-source.

Une fois que votre application est prête, n’oubliez pas d’ajouter un WAF basé sur le cloud pour une sécurité continue depuis le réseau périphérique.