Un exploit de día cero es un código malicioso que se aprovecha de una vulnerabilidad en un software que aún no ha sido descubierto por el proveedor. Este código puede causar un gran daño antes de que el proveedor se dé cuenta del problema y desarrolle un parche o una nueva versión del software, y muchos proveedores prueban sus programas rigurosamente antes de su lanzamiento teniendo en cuenta las vulnerabilidades de día cero. Debido a que este tipo de código malicioso se basa en vulnerabilidades que aún no se conocen ampliamente, puede ser difícil para los usuarios de computadoras protegerse de él.
En un ejemplo simple de un exploit de día cero, un pirata informático podría darse cuenta de que la nueva versión de un navegador de Internet tiene una falla de seguridad que podría permitir que un pirata informático inserte software malicioso en la computadora del usuario. Él o ella escribiría el código para instalar el software y lo colocaría en sitios web o en el correo electrónico, de modo que cuando los usuarios entraran en contacto con el código, se infectarían con él. Eventualmente, el proveedor de software se daría cuenta de que había un problema y emitiría un parche para solucionar el problema y abordar el exploit de día cero.
La regla general en la comunidad informática es que si alguien nota una vulnerabilidad o falla de seguridad que podría ser un problema, debe informarlo al proveedor. La mayoría de los científicos informáticos éticos y las personas que trabajan con computadoras hacen precisamente eso. Sin embargo, los piratas informáticos, los productores de malware y otros miembros menos amigables de la comunidad generalmente no lo hacen, porque quieren aprovechar la vulnerabilidad antes de que el proveedor se dé cuenta de que existe. De hecho, algunas personas se especializan en descubrir vulnerabilidades y venderlas.
Desde el punto de vista de un pirata informático, el mejor exploit de día cero se implementa antes de que el proveedor vea un problema. En otros casos, el exploit puede liberarse durante la ventana de vulnerabilidad, el período de tiempo entre el descubrimiento del problema y el desarrollo de un parche para solucionarlo. Las ventanas de vulnerabilidad pueden variar en duración, según el proveedor, el programa y la naturaleza del problema. El término «explotación de día cero» hace referencia a la idea de que el código se publica el «día cero», antes de que el proveedor haya reconocido un problema.
Las personas pueden protegerse de los ataques de día cero descargando nuevas versiones y parches del software que utilizan de inmediato y utilizando fuentes confiables para estos parches. Si los usuarios no están seguros de si un mensaje para descargar una nueva versión del parche es legítimo, deben ir al sitio web del proveedor o llamar al proveedor para confirmar que se ha emitido un parche y encontrar una fuente de descarga segura. Mantener un firewall agresivo también es importante, ya que puede mantener a raya a los códigos maliciosos.