J'essaie de comprendre pourquoi un attaquant voudrait attendre pour utiliser un exploit zero-day.
J'ai lu qu'un attaquant ne veut pas gaspiller le jour zéro parce qu'ils sont généralement très chers à obtenir en premier lieu, mais je ne vois pas clairement ce que l'on entend par "gaspillage" ici. Les jours zéro peuvent être découverts par la communauté (par exemple, les chercheurs en sécurité), ce qui le rendrait inutile. En ce sens, le jour zéro a été gâché par l'inaction de l'attaquant. Y a-t-il un risque à utiliser l'exploit Zero Day trop tôt? Il semble qu'un attaquant voudrait minimiser les chances de découverte du jour zéro, et donc l'utiliser le plus rapidement possible.
Question: Quels facteurs feraient attendre l'attaquant pour utiliser un exploit zero-day?
Il est plus probable que vous brûliez un 0jour en l'utilisant qu'en vous y asseyant.
Il y a un bon équilibre entre rester assis un jour 0 si longtemps qu'il est découvert par quelqu'un d'autre et corrigé, et l'utiliser trop tôt et inutilement, le brûler . Le solde tend à peser en faveur d'une attente plus longue, puisqu'un bon 0jour va être suffisamment obscur pour ne pas être trouvé rapidement. Le plus grand risque n'est en fait pas la découverte dans ce cas, mais l'obsolescence lorsque le code vulnérable est réécrit ou supprimé pour des raisons totalement indépendantes, et que l'exploit 0day ne fonctionne plus.
Cependant, la plupart du temps, un attaquant n'a tout simplement pas besoin de l'utiliser. Si j'ai un précieux exploit d'escalade de privilèges locaux Linux, pourquoi devrais-je l'utiliser quand un peu de reconnaissance supplémentaire me dit que je peux utiliser un ancien exploit contre un démon privilégié mal patché? Mieux vaut le garder dans le fonds des jours de pluie.
Il y a plusieurs autres raisons pour lesquelles 0 jours peut être conservé pendant de longues périodes:
Certaines personnes accumulent simplement 0 jours pour le plaisir. C'est trop courant.
Peut-être que vous avez emprunté le 0day à quelqu'un, auquel cas le brûler le ferait chier.
Parfois, un courtier 0day est assis sur eux en attendant le bon client.
Le 0day peut être inutile en soi, nécessitant d'être enchaîné avec d'autres exploits pour fonctionner.
Il y a eu recherche intéressante présentée à BH US qui a analysé la vie de 0 jours.
Le jour 0 dépend d'une autre vulnérabilité découverte pour être utilisée efficacement. Par exemple, vous ne pouvez pas utiliser une élévation de privilèges si vous n'avez pas en premier lieu l'exécution de code. Cela peut également fonctionner dans l'autre sens lorsque vous souhaitez qu'un autre jour 0 soit enchaîné après celui que vous avez actuellement.
L'attaquant n'a pas de cible valable pour l'utiliser. Je soulignerai également que l'attaquant pourrait ne pas tout exploiter à la fois car si le jour 0 est découvert, vous ne pourrez plus l'utiliser à l'avenir. Ce que vous voulez pirater peut même ne pas exister lorsque vous trouvez le jour 0.
L'exploitation du jour 0 peut être illégale. Les gens peuvent toujours gagner de l'argent en le vendant au plus offrant (cela inclut la négociation de l'argent que vous obtenez d'un programme de primes de bogues)
Parce que les anciennes méthodes sont les meilleures. Pourquoi souffler un 0-day cher quand vous pouvez simplement utiliser une douce attaque SMBv1 ou SQLi qui vous donnera le même résultat? L'utilisation d'un jour 0 peut entraîner la découverte d'une réponse médico-légale réduisant la valeur et éliminant le nombre de cibles contre lesquelles elle sera efficace.
Du point de vue de l'attaquant, un exploit zero-day est une ressource précieuse car il n'est pas connu du public. Cela donne à l'attaquant l'élément de surprise lorsqu'il est réellement déployé, car la cible ne pourra pas se défendre de manière proactive contre elle.
Chaque fois qu'un jour zéro est utilisé, il y a une chance qu'il soit découvert par la cible et la vulnérabilité corrigée par le fournisseur de logiciels. Une fois la vulnérabilité corrigée, l'utilité de l'exploit est considérablement réduite et limitée aux cibles qui n'ont pas mis à jour le logiciel. Ceci est connu comme "gravure" l'exploit.
Parce que le but de la plupart des attaquants aujourd'hui est de gagner de l'argent directement ou indirectement (par exemple en volant des informations personnelles à la cible et en les utilisant pour commettre une fraude d'identité), les exploits zero-day ont une valeur économique. L'exploit perd sa valeur s'il est brûlé et rendu inefficace. En substance, un jour zéro est une arme précieuse et consommable qui doit être conservée pour être utilisée contre des cibles de grande valeur qui ne peuvent pas être exploitées par le biais de vulnérabilités connues du public.
Cela signifie, par exemple, qu'un attaquant ciblant un système exécutant une ancienne version d'un logiciel particulier présentant des vulnérabilités connues voudrait utiliser un exploit existant et accessible au public plutôt que d'utiliser l'exploit Zero Day et risquer de le brûler. Pourquoi gaspiller une ressource précieuse lorsque vous pouvez faire le travail avec une solution moins coûteuse?
Peut-être qu'un attaquant avec un 0day attend une bonne opportunité.
La plupart des cibles ont leurs hauts et leurs bas. Si son objectif est de faire des ravages et de faire autant de dégâts que possible, alors utiliser un jour 0 immédiatement après l'avoir découvert n'est peut-être pas la meilleure idée.
Certaines cibles ont des périodes gelées, où elles manquent de main-d'œuvre et ne doivent pas toucher à leurs environnements critiques. D'autres ont des périodes critiques pour lancer un nouveau produit ou gérer un ensemble de données particulièrement sensible.
Exploiter la vulnérabilité qui a été trouvée avant un tel événement signifie qu'il y a un risque qu'elle soit découverte avant qu'il ne se produise. Et donc l'attaquant perd une occasion de frapper assez fort.
S'il attend jusqu'à ce qu'il en sache assez sur une cible pour frapper exactement où et surtout quand elle fait mal, ce sera le jackpot.
En 2017, il y a eu une campagne de ransomware crypto qui ciblait les entreprises pendant les heures de déjeuner.
Cela a bien fonctionné, les gens ont verrouillé leurs ordinateurs, vont quelque part pour manger, et quand tout le monde revient à son bureau à 14 heures, tout était déjà chiffré. Personne n'était là pour sonner l'alarme.
Appliquez maintenant cette attaque juste avant une réunion importante du conseil d'administration à la fin de l'exercice, ou pendant une période d'attention médiatique à la cible. Cela pourrait gravement endommager l'image de cette cible et coûter des millions, voire des milliards. Lors d'une attaque à un autre moment, il se peut que vous ne soyez pas du tout remarqué.
Lorsque vous infectez un ordinateur et utilisez un exploit de 0 jour, la preuve de la façon dont vous êtes entré est souvent laissée pour compte. S'empêcher de laisser des preuves est aussi difficile que d'avoir un logiciel qui n'a aucun exploit; presque impossible.
De nombreux systèmes informatiques ne sont pas corrigés régulièrement; sur un tel système, un ancien exploit vous donnera généralement très bien. Cet exploit découvert ... ne fait pas grand-chose. Je veux dire, si vous avez pris plus de 20% des ordinateurs sur Internet avec un exploit spécifique, vous remarquerez peut-être une augmentation des taux de correctifs. Mais vous pourriez ne pas.
Un exploit de 0 jour, d'autre part, peut être utilisé pour pénétrer dans des cibles soucieuses de la sécurité. Si vous vous souciez de la cible spécifique et qu'elle fonctionne en toute sécurité, l'exploit de 0 jour peut toujours vous faire entrer.
Votre attaque peut cependant être remarquée. Et une fois remarqué, ils pourraient résoudre votre exploit. Et une fois qu'ils ont élaboré votre exploit, ils pourraient le partager avec le fournisseur, qui pourrait le corriger; ou ils pourraient pirater un patch eux-mêmes.
Et maintenant, votre exploit 0 jour a publié des correctifs, et chaque système soucieux de la sécurité sur la planète bloque son utilisation. Donc, demain, lorsque vous voulez vraiment pénétrer dans un serveur sécurisé quelque part, vous aurez besoin de différent et nouveau exploiter. Vous avez brûlé votre exploit.
Toutes les utilisations de votre exploit ne seront pas remarquées, et toutes les notifications ne donneront pas lieu à un correctif, mais chaque utilisation augmente les chances qu'un correctif arrive qui rompt votre exploit.
Nous pouvons illustrer cela avec quelques exemples de piratage informatique parrainé par l'État. Stuxnet a utilisé quatre failles zero-day (contre lesquelles il n'y avait aucune sécurité). Sa découverte a conduit à tous les 4 étant corrigés, "brûlant" leur utilité à l'avenir. En échange, un tas de centrifugeuses coûteuses en Iran s'est brisé, ralentissant la recherche nucléaire iranienne.
Il a fait le travail de plusieurs missiles de croisière, avec beaucoup moins de risques diplomatiques, humanitaires et militaires.
Une autre raison est qu'ils ne peuvent pas l'utiliser (de manière optimale) pour le moment. Voici des exemples:
Ils peuvent avoir une cible spécifique comme un diplomate à l'esprit, mais l'exploit nécessite d'être dans le même réseau Ethernet/WiFi ou un accès physique. Ils doivent donc attendre que cette condition soit remplie ou l'arranger pour que la condition soit remplie.
Ils n'ont pas encore suffisamment d'informations sur la cible. Par exemple, ils doivent trouver un moyen sur quel serveur les informations intéressantes sont hébergées. S'ils utilisent l'exploit peu de temps avant de trouver les fichiers, plus ils sont susceptibles d'être détectés et l'exploit est brûlé.
Ils n'ont actuellement pas les ressources/main-d'œuvre pour lancer l'attaque parce qu'ils sont actuellement occupés par une autre cible ou les employés de leur département pour lancer les attaques sont actuellement malades (même les méchants tombent malades).
Ils manquent d'autres outils nécessaires pour utiliser efficacement. Ils pourraient avoir un exploit Email pour exécuter leur code lorsque la victime ouvre le courrier, mais tous leurs outils RAT/botnet-clients/ransom-ware sont actuellement détectés par tous les antivirus, il serait donc inutile de les graver.