Flux de travail simplifié pour les attaquants. Les attaquants trouvent des bugs, les trier pour déterminer l'exploitabilité, puis développer des exploits et les déployer sur leurs cibles. Crédits :Hu, Hu &Dolan-Gavitt.
Des chercheurs de l'Université de New York ont récemment mis au point une nouvelle technique de cyberdéfense, qui fonctionne en ajoutant ce qu'on appelle des "chaff bugs, " bugs non exploitables, plutôt que d'éliminer ceux qui existent déjà. Une version pré-imprimée de leur étude inventive a été téléchargée sur ArXiv La semaine dernière.
Tous les jours, des attaquants de plus en plus sophistiqués trouvent des bogues dans les logiciels informatiques, évaluer leur exploitabilité, et développer des moyens de les exploiter. La plupart des techniques de défense existantes visent à éliminer ces bugs, les limiter, ou en ajoutant des mesures d'atténuation qui peuvent rendre l'exploitation plus difficile.
« Notre projet était basé sur des travaux antérieurs que nous avons effectués en collaboration avec le MIT Lincoln Lab et la Northeastern University sur l'évaluation de différentes stratégies pour trouver des bogues dans les logiciels, " Brendan Dolan-Gavitt, l'un des chercheurs qui a mené l'étude, a déclaré Tech Xplore. "Pour faire ça, nous avons construit un système qui pourrait mettre des milliers de bogues dans un programme, afin que nous puissions ensuite mesurer l'efficacité de chaque stratégie de recherche de bogues pour détecter nos bogues."
Après avoir développé ce système, les chercheurs ont commencé à envisager ses applications possibles dans le contexte de l'amélioration de la sécurité des logiciels. Ils se sont vite rendu compte qu'il existe un goulot d'étranglement dans la façon dont les attaquants trouvent et exploitent généralement les bogues dans les logiciels.
"Il faut beaucoup de temps et d'expertise pour déterminer quels bugs sont exploitables et développer un exploit fonctionnel, " a expliqué Dolan-Gavitt. " Nous avons donc réalisé que si nous pouvions en quelque sorte nous assurer que tous les bugs que nous avons ajoutés étaient inexploitables, nous pourrions submerger les attaquants, les noyant dans une mer d'insectes séduisants mais finalement inoffensifs."
Un bug de valeur surcontrainte. En ajoutant des contraintes le long du chemin menant au bug, nous éliminons progressivement les valeurs dangereuses. Crédits :Hu, Hu &Dolan-Gavitt.
L'ajout d'un grand nombre de bogues qui sont manifestement - mais pas évidemment - non exploitables pourrait dérouter les attaquants, les conduisant à perdre leur temps et leurs efforts à rechercher des exploits pour ces bogues placés intentionnellement. Les chercheurs ont qualifié cette nouvelle méthode de dissuasion des attaquants de « punaise de paille ».
"Notre système, qui ajoute automatiquement des bugs de paille, est destiné à être utilisé lorsque les développeurs créent des logiciels, " a déclaré Dolan-Gavitt. " Nous utilisons deux stratégies pour garantir la sécurité des bogues :soit en garantissant que l'attaquant ne peut corrompre que les données qui ne sont pas utilisées par le programme, ou en s'assurant que les valeurs que l'attaquant peut injecter sont limitées à des plages que nous pouvons déterminer comme sûres."
Dans leur étude récente, les chercheurs ont utilisé ces deux stratégies pour ajouter automatiquement des milliers de bogues non exploitables aux logiciels du monde réel, y compris le serveur Web NGINX et la bibliothèque d'encodeur/décodeur libFLAC. Ils ont constaté que la fonctionnalité du logiciel était indemne, et que les bogues de paille semblaient exploitables par les outils de triage actuels.
"L'une des découvertes les plus intéressantes est qu'il est possible de construire automatiquement ces bugs non exploitables, d'une manière que nous pouvons dire qu'ils ne sont pas exploitables, mais il est difficile pour un attaquant de faire la même chose, " a déclaré Dolan-Gavitt. " Ce n'était pas évident pour nous quand nous avons commencé que ce serait faisable. Nous pensons également que cette approche consistant à appliquer une sorte de logique économique - découvrir quelles ressources des attaquants sont rares et ensuite essayer de les cibler - est un domaine fructueux à explorer en matière de sécurité logicielle."
Un bug variable inutilisé. Des flux de données sont ajoutés pour propager les valeurs « inutilisées » en dehors du périmètre initial, cachant le fait qu'ils sont réellement inutilisés. Crédits :Hu, Hu &Dolan-Gavitt.
Alors que leur étude a recueilli des résultats prometteurs, plusieurs défis doivent encore être surmontés pour que cette approche devienne pratiquement viable. Plus important encore, les chercheurs doivent trouver un moyen de rendre ces bogues non exploitables totalement indiscernables des vrais bogues.
"À l'heure actuelle, les bugs que nous ajoutons sont assez artificiels, afin que les attaquants puissent utiliser ce fait pour ignorer le nôtre lorsqu'ils recherchent des bogues exploitables, " a déclaré Dolan-Gavitt. " Notre objectif principal pour le moment est de trouver des moyens de faire en sorte que les bogues que nous avons ajoutés ressemblent davantage à des bogues naturels, puis faire des expériences pour montrer que les attaquants sont vraiment dupés par nos punaises de paille."
© 2018 Tech Xplore