Un día cero (también conocido como 0-day ) es una vulnerabilidad en software o hardware que normalmente es desconocida para el proveedor y para la que no hay parches ni soluciones disponibles. El proveedor tiene cero días para preparar un parche, ya que la vulnerabilidad ya ha sido descrita o explotada.
A pesar de que el objetivo de los desarrolladores es entregar un producto que funcione exactamente como se espera, prácticamente todo el software y hardware contiene errores. Muchos de ellos afectan la seguridad del sistema y, por lo tanto, son vulnerabilidades. Aunque son la base de solo una minoría de los ciberataques, los ataques de día cero se consideran más peligrosos que las vulnerabilidades conocidas porque hay menos contramedidas posibles.
Los Estados son los principales usuarios de las vulnerabilidades de día cero, no solo por el alto costo de encontrarlas o comprarlas, sino también por el costo significativo de escribir el software de ataque. Muchas vulnerabilidades son descubiertas por piratas informáticos o investigadores de seguridad, quienes pueden revelarlas al proveedor (a menudo a cambio de una recompensa por la detección de errores ) o venderlas a estados o grupos criminales. El uso de vulnerabilidades de día cero aumentó después de que muchas compañías de software populares comenzaron a cifrar mensajes y datos, lo que significa que los datos no cifrados solo se podían obtener pirateando el software antes de que estuviera cifrado.
A pesar del objetivo de los desarrolladores de entregar un producto que funcione completamente como se esperaba, prácticamente todo el software y hardware contienen errores. [1] Si un error crea un riesgo de seguridad, se denomina vulnerabilidad . Las vulnerabilidades varían en su capacidad de ser explotadas por actores maliciosos. Algunas no se pueden usar en absoluto, mientras que otras se pueden usar para interrumpir el dispositivo con un ataque de denegación de servicio . Las más valiosas permiten al atacante inyectar y ejecutar su propio código, sin que el usuario se dé cuenta. [2] Aunque el término "día cero" inicialmente se refería al momento desde que el proveedor se había dado cuenta de la vulnerabilidad, las vulnerabilidades de día cero también se pueden definir como el subconjunto de vulnerabilidades para las que no hay parche u otra solución disponible. [3] [4] [5] Un exploit de día cero es cualquier exploit que se aprovecha de dicha vulnerabilidad. [2]
Un exploit es el mecanismo de entrega que aprovecha la vulnerabilidad para penetrar en los sistemas del objetivo, con fines tales como interrumpir operaciones, instalar malware o exfiltrar datos . [6] Los investigadores Lillian Ablon y Andy Bogart escriben que "se sabe poco sobre el verdadero alcance, uso, beneficio y daño de los exploits de día cero". [7] Los exploits basados en vulnerabilidades de día cero se consideran más peligrosos que aquellos que aprovechan una vulnerabilidad conocida. [8] [9] Sin embargo, es probable que la mayoría de los ciberataques utilicen vulnerabilidades conocidas, no de día cero. [7]
Los Estados son los principales usuarios de los exploits de día cero, no sólo por el alto coste de encontrar o comprar vulnerabilidades, sino también por el importante coste de escribir el software de ataque. Sin embargo, cualquiera puede utilizar una vulnerabilidad [4] y, según una investigación de la RAND Corporation , "cualquier atacante serio siempre puede conseguir un día cero asequible para casi cualquier objetivo". [10] Muchos ataques dirigidos [11] y las amenazas persistentes más avanzadas se basan en vulnerabilidades de día cero. [12]
Se estima que el tiempo promedio para desarrollar un exploit a partir de una vulnerabilidad de día cero es de 22 días. [13] La dificultad de desarrollar exploits ha ido aumentando con el tiempo debido al aumento de las funciones antiexplotación en el software popular. [14]
Las vulnerabilidades de día cero suelen clasificarse como activas (es decir, que no se conocen públicamente) y desactivadas (la vulnerabilidad se ha divulgado, pero no se ha corregido). Si los encargados del mantenimiento del software están buscando vulnerabilidades de forma activa, se trata de una vulnerabilidad activa; dichas vulnerabilidades en software sin mantenimiento se denominan inmortales. Las vulnerabilidades zombi pueden explotarse en versiones anteriores del software, pero se han corregido en versiones más nuevas. [15]
Incluso las vulnerabilidades conocidas públicamente y las vulnerabilidades zombi suelen ser explotables durante un período prolongado. [16] [17] Los parches de seguridad pueden tardar meses en desarrollarse, [18] o pueden no desarrollarse nunca. [17] Un parche puede tener efectos negativos en la funcionalidad del software [17] y los usuarios pueden necesitar probar el parche para confirmar la funcionalidad y la compatibilidad. [19] Las organizaciones más grandes pueden no identificar y parchar todas las dependencias, mientras que las empresas más pequeñas y los usuarios personales pueden no instalar los parches. [17]
Las investigaciones sugieren que el riesgo de un ciberataque aumenta si la vulnerabilidad se hace pública o se publica un parche. [20] Los cibercriminales pueden aplicar ingeniería inversa al parche para encontrar la vulnerabilidad subyacente y desarrollar exploits, [21] a menudo más rápido de lo que los usuarios instalan el parche. [20]
Según una investigación de RAND Corporation publicada en 2017, los exploits de día cero siguen siendo utilizables durante 6,9 años en promedio, [22] aunque los comprados a un tercero solo siguen siendo utilizables durante 1,4 años en promedio. [13] Los investigadores no pudieron determinar si alguna plataforma o software en particular (como el software de código abierto ) tenía alguna relación con la esperanza de vida de una vulnerabilidad de día cero. [23] Aunque los investigadores de RAND descubrieron que el 5,7 por ciento de un arsenal de vulnerabilidades secretas de día cero habrá sido descubierto por otra persona en el plazo de un año, [24] otro estudio encontró una tasa de superposición más alta, tan alta como el 10,8 por ciento al 21,9 por ciento por año. [25]
Debido a que, por definición, no existe ningún parche que pueda bloquear un exploit de día cero, todos los sistemas que emplean el software o hardware con la vulnerabilidad están en riesgo. Esto incluye sistemas seguros como bancos y gobiernos que tienen todos los parches actualizados. [26] El software antivirus a menudo es ineficaz contra el malware introducido por exploits de día cero. [27] Los sistemas de seguridad están diseñados en torno a vulnerabilidades conocidas, y el malware insertado por un exploit de día cero podría seguir funcionando sin ser detectado durante un período prolongado de tiempo. [17] Aunque ha habido muchas propuestas para un sistema que sea eficaz para detectar exploits de día cero, esta sigue siendo un área activa de investigación en 2023. [28]
Muchas organizaciones han adoptado tácticas de defensa en profundidad, por lo que es probable que los ataques requieran violar múltiples niveles de seguridad, lo que hace que sea más difícil de lograr. [29] Las medidas de ciberseguridad convencionales, como la capacitación y el control de acceso , como la autenticación multifactor , el acceso con privilegios mínimos y el air-gapping, hacen que sea más difícil comprometer los sistemas con un exploit de día cero. [30] Dado que escribir software perfectamente seguro es imposible, algunos investigadores argumentan que aumentar el costo de los exploits es una buena estrategia para reducir la carga de los ciberataques. [31]
Los exploits de día cero pueden costar millones de dólares. [4] Hay tres tipos principales de compradores: [32]
En 2015, se estimó que los mercados para el gobierno y el crimen eran al menos diez veces más grandes que el mercado blanco. [32] Los vendedores son a menudo grupos de piratas informáticos que buscan vulnerabilidades en software ampliamente utilizado para obtener una recompensa financiera. [40] Algunos solo venderán a ciertos compradores, mientras que otros venderán a cualquiera. [39] Es más probable que los vendedores del mercado blanco estén motivados por recompensas no pecuniarias, como el reconocimiento y el desafío intelectual. [41] La venta de exploits de día cero es legal. [35] [42] A pesar de los llamados a una mayor regulación, la profesora de derecho Mailyn Fidler dice que hay pocas posibilidades de un acuerdo internacional porque los actores clave como Rusia e Israel no están interesados. [42]
Los vendedores y compradores que comercian con ataques de día cero tienden a ser reservados, y se basan en acuerdos de confidencialidad y leyes de información clasificada para mantener en secreto los exploits. Si se conoce la vulnerabilidad, se puede reparar y, en consecuencia, su valor se desploma. [43] Debido a que el mercado carece de transparencia, puede ser difícil para las partes encontrar un precio justo. Es posible que los vendedores no reciban el pago si la vulnerabilidad se divulga antes de que se verifique, o si el comprador se negó a comprarla pero la utilizó de todos modos. Con la proliferación de intermediarios, los vendedores nunca podrían saber qué uso se podría dar a los exploits. [44] Los compradores no podían garantizar que el exploit no se vendiera a otra parte. [45] Tanto los compradores como los vendedores hacen publicidad en la red oscura . [46]
Una investigación publicada en 2022 basada en los precios máximos pagados según lo cotizado por un único corredor de exploits encontró una tasa de inflación anualizada del 44 por ciento en los precios de los exploits. Los exploits remotos sin clic podrían alcanzar el precio más alto, mientras que los que requieren acceso local al dispositivo son mucho más baratos. [47] Las vulnerabilidades en el software de uso generalizado también son más caras. [48] Calcularon que entre 400 y 1500 personas vendieron exploits a ese corredor y ganaron entre 5500 y 20 800 dólares al año. [49]
A partir de 2017 [actualizar], existe un debate en curso sobre si Estados Unidos debería revelar las vulnerabilidades de las que tiene conocimiento, para que puedan ser parcheadas, o mantenerlas en secreto para su propio uso. [50] Las razones por las que los estados mantienen una vulnerabilidad en secreto incluyen querer usarla ofensivamente o defensivamente en pruebas de penetración . [10] Revelar la vulnerabilidad reduce el riesgo de que los consumidores y todos los usuarios del software sean víctimas de malware o violaciones de datos . [1]
Los exploits de día cero aumentaron en importancia después de que servicios como Apple, Google, Facebook y Microsoft encriptaran servidores y mensajes, lo que significa que la única forma de acceder a los datos de un usuario era interceptarlos en la fuente antes de que fueran encriptados. [26] Uno de los usos más conocidos de los exploits de día cero fue el gusano Stuxnet , que utilizó cuatro vulnerabilidades de día cero para dañar el programa nuclear de Irán en 2010. [7] El gusano mostró lo que se podía lograr con los exploits de día cero, desatando una expansión en el mercado. [37]
La Agencia de Seguridad Nacional de los Estados Unidos (NSA) aumentó su búsqueda de vulnerabilidades de día cero después de que las grandes empresas de tecnología se negaran a instalar puertas traseras en el software, encargando a las Operaciones de Acceso a Medida (TAO) la tarea de descubrir y comprar exploits de día cero. [51] En 2007, el ex empleado de la NSA Charlie Miller reveló públicamente por primera vez que el gobierno de los Estados Unidos estaba comprando exploits de día cero. [52] Alguna información sobre la participación de la NSA con los días cero fue revelada en los documentos filtrados por el contratista de la NSA Edward Snowden en 2013, pero faltaban detalles. [51] La periodista Nicole Perlroth concluyó que "o bien el acceso de Snowden como contratista no lo llevó lo suficientemente lejos en los sistemas del gobierno para la información requerida, o algunas de las fuentes y métodos del gobierno para adquirir días cero eran tan confidenciales o controvertidos que la agencia nunca se atrevió a ponerlos por escrito". [53]