Un ataque de día cero, también conocido como ataque de hora cero, aprovecha las vulnerabilidades informáticas que actualmente no tienen solución. Por lo general, una empresa de software descubrirá un error o problema con un software después de su lanzamiento y ofrecerá un parche, otro software destinado a solucionar el problema original. Un ataque de día cero aprovechará ese problema antes de que se haya creado un parche. Se denomina día cero porque ocurre antes del primer día en que se conoce la vulnerabilidad.
En la mayoría de los casos, este tipo de ataque aprovechará un error que ni los creadores ni los usuarios del software conocen. De hecho, esto es precisamente lo que los programadores malintencionados esperan encontrar. Al encontrar las vulnerabilidades del software antes de que los creadores del software las encuentren, un programador puede crear un virus o gusano que explote esa vulnerabilidad y dañe los sistemas informáticos de diversas formas.
No todos los ataques de día cero ocurren realmente antes de que los productores de software sean conscientes de la vulnerabilidad. A veces, los productores se enteran de la vulnerabilidad, pero desarrollar un parche puede llevar tiempo. Alternativamente, los productores de software a veces pueden retrasar el lanzamiento del parche porque no quieren inundar a los clientes con numerosas actualizaciones individuales y, si la vulnerabilidad no es particularmente peligrosa, se pueden recopilar y publicar varias actualizaciones juntas como un paquete. Aún así, este enfoque puede exponer potencialmente a los usuarios a un ataque.
Un ataque de día cero puede ser perjudicial para equipos específicos mucho después de que se haya creado un parche y se haya cerrado la vulnerabilidad. Esto se debe a que muchos propietarios de computadoras no actualizan regularmente su software con parches puestos a disposición por los fabricantes de software. Las empresas de software recomiendan que los usuarios revisen periódicamente sus sitios en busca de parches de software o corrección de errores.
Muchos expertos en informática recomiendan dos técnicas para proteger un sistema informático contra un ataque de día cero. El primero es habilitar el escaneo de virus heurístico, una opción en el software antivirus para bloquear virus y gusanos actualmente desconocidos, porque el ataque típico se desconoce hasta que se infecta una gran cantidad de computadoras. El segundo es utilizar un cortafuegos para proteger una computadora contra exploits en línea.