Sergey Nivens - Fotolia
Prevoty veut renforcer la protection des applications
Pour ses fondateurs, les mécanismes traditionnels de contrôle des entrées ont échoué à protéger les applications. Ils misent sur la théorie des langages pour aller plus loin.
Julien Bellanger et Kunal Anand viennent de souffler la troisième bougie de Prevoty. Dans un entretien avec la rédaction, Kunal Anand, directeur technique et co-fondateur de cette jeune pousse, explique comment celle-ci ambition de transformer radicalement une sécurité des applications du système d’information basée sur le périmètre de l’entreprise : « si vous y réfléchissez bien, les personnes travaillant au niveau du périmètre ne disposent pas de suffisamment de contexte pour savoir exactement ce qui se passe au sein d’une application ». Et c’est pourtant une connaissance essentielle : « prenons l’exemple d’une injection SQL, c’est une faille qui existe au sein d’une application. Il est fascinant d’observer que, depuis des années, on cherche à résoudre le problème des injections SQL à l’extérieur de l’application ». La raison de cette approche est connue : « si l’on empêche les entrées malveillantes, on bloque l’injection SQL ». Prevoty en préfère une autre : « prévenir les attaques de l’intérieur de l’application ».
Ancien directeur technique de la BBC Worldwide, passé à ses débuts par le JPL de la Nasa, Kunal Anand est bien conscient du principal défi : « comment construire une solution de surveillance et de protection que l’on puisse rattacher à une application et qui ne nécessite pas de recompilation ? » Pour cela, Prevoty mise sur un agent qui « se connecte à différentes choses survenant au sein d’une application pour fournir des contrôles de sécurité ». Une idée qui rappelle certains dispositifs de sécurité pour applications mobiles jouant sur l’interception des appels aux interfaces du système d’exploitation. En fait, la solution de Prevoty s’interpose au niveau du connecteur de base de données.
Mais l’approche de Prevoty a cela de spécifique qu’elle s’appuie sur la théorie des langages, et en particulier sur LangSec. « La raison pour laquelle nous avons investi tant de temps, d’argent et de recherche dans LangSec est qu’il permet de réduire considérablement les faux positifs et d’atteindre virtuellement le zéro faux négatifs. L’idée général consiste à évaluer des choses telles que contenus, des requêtes sur des bases de données, des commandes, de la manière exacte dont ils sont traités par un navigateur Web, un moteur de bases de données ou un système d’exploitation ».
Et Arpit Joshipura, directeur marketing de Prevoty, de reprendre l’exemple de l’injection SQL : « il y a un nombre infini de motifs suivant lesquels il possible d’entrer des données. Les systèmes basés sur des signatures ou des heuristiques ne peuvent pas suivre », ni même, selon lui, les contrôles basés sur des expressions régulières ou encore sur l’analyse des flux de données. Dès lors, relève Kunal Anand, « peu importe qu’ait été ajouté un niveau de validation des entrées ou non. Nous amenons notre analyse, nos parsers, pour inspecter les requêtes sur les bases de données avant qu’elles y arrivent […] Nous pouvons inspecter les requêtes et chercher des choses telles que des contradictions ou des tautologies […] Encore une fois, le développeur n’a pas besoin de modifier son code ».
Et pour cela, Kunal Anand assure que la solution n’a pas besoin de connaître le modèle de données des bases considérées : ce qui compte, « c’est de savoir quel est moteur de gestion de bases de données ? Quel est son éditeur ? Quelle est la version avec laquelle on va devoir s’intégrer ? »
La solution de Prevoty supporte un large éventail de langages et de frameworks – Django, Rails, Node.js, etc. –, mais son point fort touche aux applications .Net et Java « très présentes dans les grandes entreprises ». Côté bases de données, la start-up s’est concentrée sur « les grandes bases de données relationnelles, Oracle et Microsoft » en particulier. Sa solution ne supporte pas encore les bases de données NoSQL, mais y travaille ; le support de MongoDB pourrait survenir en premier. Elle génère des alertes pouvant être intégrées à un système de gestion des informations et des événements de sécurité (SIEM).