Securitybot : la sécurité automatisée à grande échelle en version Open Source
Partager 
22 février 2017 — 8 min de lecture

Securitybot : la sécurité automatisée à grande échelle en version Open Source

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 -i ou nmap de manière arbitraire.

Il peut être tentant d'ignorer certaines de ces alertes. En effet, pour chaque alerte impliquant des employés, un responsable de la sécurité doit contacter personnellement chacune des personnes concernées. Et plus les alertes sont nombreuses, plus la charge de travail est importante. Or, si nous savons tous 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 absolument besoin 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 nous a donné une idée. Et si notre équipe créait son propre système d'alerte distribué et automatisé ? Pourrions-nous réduire la charge de travail de l'équipe de sécurité et trier ces alertes bien plus rapidement qu'auparavant ? Pour le savoir, nous avons développé et déployé Securitybot. Et il s'avère que la réponse à cette question est oui.

Mais nous ne souhaitions pas en rester là. En tant que membre fondateur du groupe TODO (Talk Openly, Develop Openly), nous nous engageons à partager nos connaissances avec l'ensemble de la communauté technologique en soutenant des projets Open Source. C’est pour cette raison que nous proposons aujourd'hui Securitybot en Open Source, dans l'espoir que d'autres entreprises bénéficient de notre travail.

Détection efficace des incidents

L'un des aspects les plus difficiles et les plus chronophages de la surveillance des réseaux consiste à contacter les employés individuellement pour vérifier la nature de leurs actions. Malgré tout le temps que nos équipes consacrent à ces interventions, nous ne pouvions pas traiter toutes les alertes. C'est pourquoi nous voulions mettre en place un système qui nous permette de contacter davantage d'employés et de nous 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é à notre chaîne de détection et d'alerte. 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és viennent enrichir les registres d'alerte. Si un employé signale qu'il n'a pas commis une action, l'équipe de sécurité est immédiatement avertie. Cela permet de conserver la plupart des alertes en arrière-plan, mais d'attirer l'attention sur celles qui nécessitent une action ou un suivi immédiats. Plutôt que de perdre du temps à contacter chaque employé, nos ingénieurs de sécurité peuvent se consacrer à d'autres projets fondamentaux destinés à améliorer la sécurité globale de l'entreprise.

Conception

En créant Securitybot, nous tenions à reprendre tous les éléments clés de l'initiative Slack. Nous en avons conservé les principales idées : Securitybot est intégré à notre système de détection et d'alerte, et à notre 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, nous voulions optimiser la conception de ce système afin de le rendre plus utile pour Dropbox, et idéalement pour l'ensemble de la communauté. Notre objectif était de proposer un système modulaire et réutilisable. Par exemple, nous voulions être en mesure de passer à une autre plateforme de chat ou un autre système de surveillance sans avoir à réécrire le code de base. Ainsi, Securitybot est 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 nos outils de surveillance et la communication avec 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, nous nous assurons que nous recevons et que nous traitons rapidement ces alertes. Ensuite, les réponses collectées sont transmises à nos 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 notre infrastructure de surveillance pour que nous puissions y accéder lorsque nous examinons 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, nous avons 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 à l'avenir. Par conséquent, si le système détecte trois commandes sudo consécutives exécutées dans le même contexte, nous ne le dérangerons pas pour ces nouvelles actions, étant donné qu’il a toutes les chances d'en être l'auteur.

Efficacité

Avant tout, Securitybot aide 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 à nos ingénieurs de sécurité, mais également à tous nos employés. Après tout, les ingénieurs de production ne sont pas les seuls concernés. Securitybot nous permet de détecter des anomalies dans les e-mails ou les comptes Dropbox de nos employés, et les activités inhabituelles sur leurs ordinateurs portables.

Nous savons bien qu'il n'est pas agréable de répondre à des 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 nous avons organisé des ateliers lors desquels nous avons longuement testé les interactions entre Securitybot et les utilisateurs. Nous avons ainsi pu nous assurer que notre système était suffisamment agréable à utiliser. Nous tenions à ce que Securitybot soit perçu comme poli et cordial, et non brusque et robotique. Nous avons eu la surprise de découvrir qu’il suffisait d'ajouter un soupçon de personnalité à ses interactions pour qu’il ne soit plus perçu comme "agaçant", mais plutôt comme "sympathique".

Open Source

Pour terminer, nous avons le plaisir d'annoncer que Securitybot est disponible en Open Source. À notre connaissance, 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ère automatisée. Nous espérons 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. Nous espérons également que la communauté partagera et améliorera ce code. Et s'il est vrai que nous réservons 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.

Plus Tendances

Remarque : nous publions parfois des articles relatifs à des produits et fonctionnalités avant leur lancement officiel.
La date de disponibilité et les caractéristiques exactes de ces produits et fonctionnalités peuvent être différentes des informations présentées ici.
Toute décision d'achat doit tenir compte des fonctionnalités actuellement disponibles.