Fondamentalement, une vulnérabilité zero-day est une faille de sécurité. Il s'agit d'un exploit encore inconnu qui expose une vulnérabilité dans un logiciel ou matériel en environnement réel, et peut créer des problèmes complexes bien avant que quiconque puisse s'en rendre compte. En fait, un exploit zero-day ne laisse AUCUNE opportunité de détection, dans un premier temps du moins.
Une attaque zero-day se produit une fois que cette faille, ou cette vulnérabilité logicielle/matérielle, est exploitée et que les attaquants distribuent un malware avant qu'un développeur n'ait eu la possibilité de créer un patch pour corriger cette vulnérabilité. Décomposons les étapes de la fenêtre de vulnérabilité :
Une fois qu'un patch a été écrit et utilisé, l'exploit n'est plus qualifié de zero-day. Malheureusement, il est rare que ces attaques soient immédiatement découvertes. En réalité, il faut souvent des jours, voire des mois ou des années, avant qu'un développeur ne découvre la vulnérabilité ayant conduit à une attaque.