En général, pour assurer la sécurité d’un conteneur, on fait tourner l’application protégée dans une machine virtuelle et on limite ses accès au conteneur. Cette efficacité des machines virtuelles et l’adoption de plus en plus massive du cloud, qui dépend aussi fortement de la virtualisation, ont récemment rendu la conteneurisation de plus en plus populaire. Waratek, nouveau venu du secteur, aborde la sécurité des conteneurs sous un angle complètement différent de ses concurrents : il s'appuie sur une compilation à flux tendu et se concentre exclusivement sur l'un des plus grands risques de sécurité auquel sont exposées les entreprises : les applications exécutant Java. Ce mode opératoire négligé et inexploré par la plupart des autres entreprises rend l’approche de Waratek unique.

Les applications Java sont constituées de deux composants : d’abord, une pile de base Java 8 ou 9, qui héberge l'application et prend en charge le processus de récupération de mémoire (garbage collector). Cette partie est assez simple et totalement sécurisée. Ensuite, une couche supérieure, qui comporte le code réel de l'application en cours d'exécution, plus tous les éléments de programmation responsables de l’interactivité. Cette couche peut comporter des millions de lignes de code et peut s’appuyer sur n'importe quelle version de Java, en remontant jusqu'à Java 4. Potentiellement très peu sûre, cette couche est souvent la cible d’attaques courantes, notamment d’attaques par injections SQL utilisées pour voler des informations dans les bases de données protégées.

Waratek crée un conteneur RASP 

La plate-forme Application Security Platform de Waratek ne s’occupe pas de la pile de base, seule composante sécurisée de Java. Elle se concentre exclusivement sur la conteneurisation de la partie supérieure de la pile. Plus exactement, pour empêcher et prévenir les attaques en temps réel, elle utilise la technologie RASP (Runtime Application Self-Protection). Une fois installée, la plateforme de Waratek crée un conteneur RASP qui virtualise toute la partie application de la pile, la séparant de la machine virtuelle hôte Java et du système d'exploitation. La plate-forme d'application virtualisée commande tous les contrôles de sécurité de Waratek, si bien que les utilisateurs peuvent décider dans quel cadre utiliser les applications et quand empêcher les exploits à se propager hors du conteneur.

Cela montre la simplicité de déploiement des agents de Waratek. Ce ne sont que quelques lignes de code, demandant aux applications de vérifier avec la console Waratek avant de s'exécuter.

Selon nos confrères de CSO, qui a testé la plate-forme Waratek sur son réseau, l'installation a été extrêmement facile. Tout commence par l’installation d’une console principale sur site ou dans le cloud. Selon les ingénieurs de Waratek, la plupart des clients préfèrent installer la console sur site avec tous leurs autres outils de sécurité. Une fois la console mise en place, l’opération suivante consiste à ajouter plusieurs lignes de code au fichier de configuration par défaut, et ce, pour toutes les applications Java. En fait, ce code revient à placer un agent au niveau de chaque application qui demande aux applications de se connecter à la console et les invite à créer un conteneur autour de la pile d'applications. Au niveau de la console, il est ensuite possible de voir toutes les applications enregistrées. La dernière étape consiste à autoriser la connexion et à configurer la sécurité. Une interface graphique conviviale permet de réaliser toutes ces actions en quelques clics seulement.

Une prime de 10 000$ 

Pour tester la plate-forme de Waratek, nos confrères de CSO ont d'abord mené une attaque par injection de code SQL contre une application non protégée, l’objectif étant de récupérer les champs d'une base de données protégée Oracle. L’opération a été extrêmement facile, et en peu de temps, ils ont pu voir beaucoup de PII, d’informations identifiables personnellement, simulées et protégées. Ils ont ensuite activé la sécurité de Waratek et placé la pile d'applications dans un conteneur virtualisé. Pour se protéger contre les injections SQL, il est possible d’activer toutes les protections ou d’opter pour des types techniques spécifiques comme Network:Bind, Path:Traversal, Redirect:Servlet et autres. Chaque type peut être configuré en mode alerte, blocage ou même autorisé, avec les mesures appropriées. Cela peut s’avérer utile pour autoriser un type spécifique d'injection SQL, pour du débogage par exemple, même si cela paraît assez peu probable. Nos confrères ont pris le parti de verrouiller tous les types.

Ensuite, ils ont essayé à plusieurs reprises de mener plusieurs types d'attaques par injection SQL, en demandant d’afficher chaque fois les messages d'erreur. En backend, toutes les tentatives ont été enregistrées par la plate-forme de Waratek. Si nécessaire, il est possible de partager ces données avec un SIEM comme Splunk. Parce que Waratek bloque des actions spécifiques dans toutes les situations, il est presque impossible de générer un faux positif. Waratek offre même à ses clients 10 000 dollars pour chaque faux positif produit par leur système. Mais jusqu’ici, l’entreprise n’a jamais eu à payer cette somme.