Vulnérabilités PHP : les mesures de protection prises par 2le
La dernière étude du Laboratoire de Threat Intelligence F5 montre que PHP est le langage web où il y a le plus de vulnérabilités. En effet, sur l’ensemble du trafic malveillant en 2018, 81 % étaient liés au langage PHP. La hausse des vulnérabilités PHP est de 23 % par rapport à 2017.
Ces chiffres sont cependant à nuancer, notamment au regard des pratiques et actions mises en place par 2le pour réduire au maximum les vulnérabilités PHP. À lire ci-dessous :
Des vulnérabilités PHP à nuancer et qui peuvent être empêchées
PHP, le langage web le plus utilisé
Tout d’abord, il faut savoir que PHP est utilisé pour la création de plus de 80 % des sites web mondiaux. Il est donc logique que les hackers recherchent plus facilement les vulnérabilités de ce langage car les informations à dérober sont plus nombreuses. De plus, par sa facilité de compréhension, PHP est utilisé par beaucoup de débutants en informatique. Ces derniers n’ont pas encore l’expérience nécessaire pour sécuriser les applications.
L’utilisation de Symfony pour sécuriser les applications
Chez 2le, nous utilisons le framework Symfony depuis sa version 1. Ce framework permet d’empêcher aisément de nombreuses failles de sécurité: grâce à Twig, nous empêchons les failles XSS. Le principe de cette faille est d’injecter un code malveillant en langage de script dans un site web vulnérable, par exemple en déposant un message dans un forum qui redirige l’internaute vers un faux site (phishing) ou qui vole vos informations (cookies).
Un autre exemple : la gestion des formulaires de Symfony embarque un outil permettant de gérer les erreurs CRSF. il s’agit d’effectuer une action visant un site ou une page précise en utilisant l’utilisateur comme déclencheur, sans qu’il en ait conscience.
Vulnérabilités PHP : Injection SQL
Dans l’étude du Laboratoire de Threat Intelligence F5, Sander Vinberg exprime le point de vue suivant « Sachant que l’injection SQL était le type d’attaque PHP le plus courant, tout porte à croire que le paysage des menaces restera le même cette année ».
Pour éviter toute attaque par Injection SQL, l’outil que nous utilisons, doctrine, permet d’empêcher nativement les failles d’injection de la plupart* des requêtes. De plus, nous utilisons :
- Le filtrage des urls par .htaccess
- Un firewall http
- Le changement des noms des tables. ( prefixe wp_ )
- l’utilisation des fonctionnalités de sécurité de Symfony
*Nos développeurs sont conscients des dangers d’une injection et savent comment les parer.