Contrast Security, spécialiste de la sécurité des applications, propose plusieurs fois par an, un rapport sur les vulnérabilités et attaques qui ont eu lieu dans son domaine de prédilection. Tour d’horizon sur les tendances d’octobre.
Ce rapport s’adresse tout autant aux spécialistes Sécurité intra entreprise, à savoir les équipes dédiées à la sécurité des applications comme celles en charge de la Sécurité IT, qu’aux développeurs même d’application voire aux éditeurs de logiciel. Il a pour vocation, selon les dires de Contrast Security, d’éduquer en dévoilant les dessous des menaces ciblant spécifiquement les applications. Grâce à une meilleure compréhension du phénomène, les équipes Sécurité pourront adapter leur politique en disposant des contrôles aux endroits les plus appropriés.
Top 5 des Vulnérabilités des programmes propriétaires
Les vulnérabilités les plus exploitées donnent une idée des mauvaises pratiques de développement. Les principales failles observées au sein des applications en octobre, étaient pour commencer le Cross-Site Scripting ou XSS, injection de contenu sur un site web permettant des actions sur les navigateurs web visitant la page, une vulnérabilité due à l’apparition de données non fiables dans une page HTML qui ne possède pas de validation appropriée. L’Arbitrary Server Side Forwards permet, quant à elle, la redirection d’une requête, côté server, vers un site non fiable. Une vulnérabilité qui pousse une application web à accepter une entrée modifiée, « poussant » au final à la transmission d’une requête à une URL non fiable. Avec le Cross-Site Request Forgery ou CSRF ou encore XSRF, on se retrouve avec une vulnérabilité des services d’authentification web avec pour objectif la transmission, via un utilisateur authentifié, d’une requête http falsifiée permettant une action (dirigée par l’attaquant), en interne sur le site. Pour sa part, l’Injection SQL est une ensemble de méthodes d’exploitation de faille qui permet au bout du compte d’injecter du code dans une application web : une vulnérabilité qui apparaît toutes les fois qu’un développeur prend en entrée des données non fiables (via un formulaire à remplir, etc.) qui vont être par la suite concaténées dans une requête à destination d’une base de données. Enfin le Path (Directory) Traversal permet d’accéder aux fichiers ou annuaires stockés en dehors du dossier racine web : une vulnérabilité qui donne le droit à l’utilisateur de contrôler quel fichier est ouvert et lu par une application.
Vulnérabilités par langage
Cette fois, l’angle d’approche est le langage de programmation utilisé. Dans cette étude, seules les applications Java et .Net sont considérées et pour chacune, le Top 5 des attaques diffèrent avec seulement deux types d’attaque en commun : Cross Site Scripting et XML External Entity Injection (XXE) :
Java | .NET |
- Cross-Site Scripting | - Cross-Site Scripting |
- Arbitrary Server Side Forwards | - SQL injections |
- Cross-Site Request Forgery | - XML External Entity Injection (XXE) |
- Path Traversal | - XPath Injection |
- XML External Entity Injection (XXE) | - Untrusted Deserialization |
Attaques de code propriétaire
Elles représentent près de 99% des attaques d’octobre. Les experts du Contrast Lab ont établi une comparaison entre les vulnérabilités annoncées et les attaques basées dessus subies sur le mois d’octobre. Les trois premières attaques du classement, selon l’étude, ont visé 89% des applications. En ce qui concerne la plus vue, l’injection SQL, elle représente 53% de toutes les attaques du mois d’octobre et elle ciblait 59% des applications. La seconde aux statistiques les plus élevées est la XSS avec 2% de toutes les attaques mais qui ont concerné 57% des applications. Enfin au troisième rang, la Path Traversal qui ne représentait que 1% des attaques d’octobre mais ciblait 48% des applications.
Attaques des Bibliothèques
En qui concerne le code à disposition de tous les développeurs, à savoir celui situé au sein de Libraries, toutes les failles qui y sont détectées sont répertoriées dans des CVE, Common Vulnerabilities and Exposure. Les attaques sur les bibliothèques n’ont concerné que 2% de la population des applications. Les CVE correspondant aux attaques les plus vues sont CVE-2017-5638, CVE-2010-4476 and CVE-2013-2251. Contrast Lab a classé, pour octobre, les attaques en fonction du CVE et du pourcentage d’attaques.
Vecteurs d’attaques par langage
Dans le Top 5 des types d’attaques sur les applications Java et .NET sur le mois d’octobre, on s’aperçoit que ce sont les mêmes mais que le classement diffère sur les deux premiers vecteurs : la SQL Injection est l’attaque préférée pour les Applications Java face à la XSS alors que l’on constate le contraire pour les applications .NET.
Attaques par gélocalisation
La mappemonde réalisée par Contrast Security montre les origines de ces attaques dans le monde : 127 pays sont concernés. Les pays colorés en plus foncé représentent les pays d’où proviennent le plus grand nombre d’attaques alors que les moins colorés représentent ceux d’où proviennent le moins d’attaques. En gris, les pays d’où aucune attaque n’est issue. Les pays les plus actifs selon cette carte sont les Etats-Unis, l’Inde, le Canada, les Pays-Bas et les Philippines.