Securitybot : la sécurité automatisée en versoin OpenSource
février 2017 par Marc Jacob
Les incidents de sécurité sont inévitables. Quand ils surviennent, il faut les résoudre au plus vite. C’est tout l’enjeu de la détection. Plus les incidents sont détectés rapidement, plus les équipes de sécurité peuvent intervenir vite. Pour accélérer la détection, ces équipes s’appuient généralement sur une infrastructure de surveillance qui leur signale le moindre événement suspect. Mais ces alertes se traduisent souvent par un déluge d’informations, ce qui complique la tâche des ingénieurs. Pire encore, ces alertes sont souvent des faux positifs déclenchés par des ingénieurs qui exécutent des commandes ’sudo -iou n map ’de manière arbitraire.
Il peut être tentant d’ignorer certaines de ces alertes. Pour chaque alerte impliquant des employés, un responsable de la sécurité doit contacter personnellement chacune des personnes concernées. Plusl es alertes sont nombreuses, plus la charge de travail est importante. Or, si l’on sait que tel ingénieur exécute la commande nmap environ six fois par jour et que les SRE (Site Reliability Engineers) doivent régulièrement utiliser la commande sudo, ne serait-il pas plus simple d’ignorer ce genre d’alerte ? La réponse est non. Cela crée un dangereux précédent qui ne peut pas bien se terminer. Les équipes de sécurité ont donc un besoin absolu d’un système capable de réduire la charge que représentent les alertes.
L’année dernière, Slack s’est justement attaqué à ce problème. Plutôt que de contacter individuellement chaque employé pour vérifier la nature de ses actions, Slack a mis en place un système automatisé pour contacter les employés, puis envoyer des résultats consolidés à l’équipe de sécurité. Cette initiative a donné une idée à Dropbox. Et si l’équipe de Dropbox créait son propre système d’alerte distribué et automatisé ? Cela contribuerait-il à réduire la charge de travail de l’équipe de sécurité et à trier ces alertes bien plus rapidement qu’auparavant ? Pour le savoir, Dropbox a développé et déployé Securitybot. Et il s’avère que la réponse à cette question est oui.
Dropbox est aller plus loin. En tant que membre fondateur du groupe TODO (Talk Openly, Develop Openly), Dropbox s’engage à partager ses connaissances avec l’ensemble de la communauté technologique en soutenant des projets Open Source. C’est pour cette raison que Dropbox propose aujourd’hui Securitybot en Open Source, dans l’espoir que d’autres entreprises bénéficient de ce travail.
Détection des incidents
L’un des aspects les plus difficiles et les plus chronophages concernant la surveillance des réseaux consiste à contacter les employés individuellement pour vérifier la nature de leurs actions. Malgré tout le temps consacré à ces interventions, les équipes de Dropbox ne pouvaient pas traiter la totalité des alertes. D’où la mise en place d’un système qui permette de contacter davantage d’employés et de se consacrer à d’autres tâches, comme la conception de meilleurs outils de détection ou la traque de pirates informatiques.
Securitybot est désormais intégré à la chaîne de détection et d’alerte de Dropbox. Quand une alerte est déclenchée, l’employé concerné reçoit rapidement un message l’invitant à indiquer s’il a commis une action potentiellement néfaste. Sa réponse est enregistrée, puis envoyée à l’équipe de sécurité. Au fil du temps, les réponses envoyées au système par les employées viennent enrichir les registres d’alerte. Si un employé signale qu’il n’a pas réalisé une action, l’équipe de sécurité est immédiatement avertie. Cela permet de conserver la plupart des alertes en arrière-plan, mais également d’attirer l’attention sur celles qui nécessitent une action ou un suivi immédiats. Les ingénieurs de sécurité de Dropbox peuvent ainsi se consacrer à d’autres projets fondamentaux destinés à améliorer la sécuritéglobale de l’entreprise.
Conception
En créant Securitybot, Dropbox a conservé les principales idées de l’initiative de Slack : Securitybot est intégré au système de détection et d’alerte, et à l’instance Slack d’entreprise. Sitôt alerté, le système contacte l’individu ayant déclenché l’alerte, puis enregistre sa réponse pour la communiquer à l’équipe de sécurité. Toutefois, Dropbox souhaitait optimiser la conception du système afin de le rendre plus utile pour eux, et idéalement pour l’ensemble de la communauté, l’objectif étant de proposer un système modulaire et réutilisable. Par exemple, il était important pour Dropbox de pouvoir passer à une autre plateforme de chat ou à un autre système de surveillance sans avoir à réécrire le code de base. Securitybot a ainsi été conçu autour d’une série de fonctionnalités de base qui interagissent avec le système de surveillance et de communication grâce à une série de plug-ins composables simples.
Securitybot gère à la fois la réception de nouvelles alertes émises par les outils de surveillance de Dropbox et la communicationavec les employés. Chaque fois qu’une alerte est reçue, elle est enregistrée, puis un message est préparé à destination de l’employé concerné. En procédant à des vérifications régulières, Dropbox s’assure de recevoir et de traiter rapidement ces alertes. Les réponses collectées sont ensuite transmises aux systèmes de surveillance afin d’être accessibles parallèlement à l’ensemble des alertes enregistrées.
Securitybot garantit une interaction rapide et fluide avec les utilisateurs. Pour chaque alerte, le système demande simplement à l’employé s’il l’a déclenchée et s’il peut fournir une brève explication. Les réponses obtenues sont rassemblées dans l’infrastructure de surveillance de Dropbox pour qu’ils puissent y accéder lorsqu’ils examinent les agrégations horaires ou quotidiennes. Les réponses sont sécurisées par une validation en deux étapes : même un utilisateur malveillant qui parviendrait à lancer une attaque contre Slack ne pourrait pas tromper Securitybot.
Pour finir, Dropbox a rendu l’outil plus agréable à utiliser. Par exemple, si le système envoie un message à un employé suite à l’exécution d’une commande sudo, il est probable qu’il l’utilisera à nouveau. Par conséquent, si le système détecte trois commandes sudo consécutives exécutées dans le même contexte, Dropbox ne le dérangera pas pourc es nouvelles actions, étant donné qu’il a toutes les chances d’en être l’auteur.
Efficacité
Securitybot aide avant tout les équipes de sécurité à hiérarchiser les alertes plus rapidement. Les faux positifs sont résolus sans contacter les employés, et les incidents potentiels sont immédiatement signalés.
Securitybot aide les équipes de sécurité, mais aussi et surtout l’ensemble des employés Dropbox. Il est bien plus facile de répondre à un chatbot que de rédiger des phrases entières d’explication à l’attention d’un membre de l’équipe de sécurité. Cela permet de faire gagner du temps, non seulement à leurs ingénieurs de sécurité, mais également à tous leurs employés. Après tout, les ingénieurs de production ne sont pas les seuls concernés. Securitybot permet de détecter des anomalies dans les e-mails ou les comptesDropbox des employés, et les activités inhabituelles sur leurs ordinateurs portables.
Dropbox a bien conscience de la gêne que peuvent représenter les demandes incessantes de la part de l’équipe de sécurité, et qu’un bot incapable de comprendre la phrase "Je suis occupé, je m’en occuperai plus tard" serait d’un secours très relatif. C’est pourquoi ils ont organisé des ateliers lors desquels ils ont longuement testé les interactions entre Securitybot et les utilisateurs. Ils ont ainsi pu s’assurer que leur système était suffisamment agréable à utiliser. Il était important que Securitybot soit perçu comme poli et cordial, et non brusque et robotique. Dropbox a découvert qu’il suffisait d’ajouter un soupçon de personnalité à ses interactions pour ne plus être perçu comme "agaçant", mais plutôt comme "sympathique".
Open Source
Pour terminer, Dropbox a le plaisir d’annoncer que Securitybot est disponible en Open Source. Il s’agit du seul projet Open Source capable de confirmer les comportements suspects auprès des employés, et de les rassembler dans un environnement à grande échelle, le tout de manièrea utomatisée. Dropbox espère que cette première implémentation Open Source aidera les autres organisations à améliorer leur détection interne et à lancer leur propre système de sécurité distribuée. Ils espèrent également que la communauté partagera et améliorera ce code. Et s’il est vrai que Dropbox réserve Securitybot à la surveillance interne, ce même système pourrait être utilisé pour la détection externe orientée utilisateur. Dans tous les cas, cette initiative pourra servir de point de départ à d’autres équipes désireuses de créer leur propre système.