Un día cero (también conocido como día 0 ) es una vulnerabilidad o agujero de seguridad en un sistema informático desconocido para sus propietarios, desarrolladores o cualquier persona capaz de mitigarlo . [1] Hasta que se solucione la vulnerabilidad, los actores de amenazas pueden explotarla en un exploit de día cero o ataque de día cero . [2]
El término "día cero" originalmente se refería al número de días transcurridos desde que se lanzó al público un nuevo software, por lo que el "software de día cero" se obtenía pirateando la computadora de un desarrollador antes de su lanzamiento. Finalmente, el término se aplicó a las vulnerabilidades que permitieron este pirateo y a la cantidad de días que el proveedor tuvo para solucionarlas. [3] [4] [5] Los proveedores que descubren la vulnerabilidad pueden crear parches o recomendar soluciones para mitigarla, aunque los usuarios deben implementar esa mitigación para eliminar la vulnerabilidad en sus sistemas. Los ataques de día cero son amenazas graves . [6]
Los posibles vectores de ataque para una vulnerabilidad de día cero son idénticos a las vulnerabilidades conocidas y a las que tienen parches disponibles. Por ejemplo, cuando un usuario visita un sitio web fraudulento , el código malicioso del sitio puede aprovechar vulnerabilidades no parcheadas en un navegador web . Los navegadores web son un objetivo particular para los delincuentes debido a su amplia distribución y uso. Los ciberdelincuentes , así como los proveedores internacionales de software espía como el Grupo NSO de Israel , [7] también pueden enviar archivos adjuntos de correo electrónico maliciosos a través de SMTP , que explotan las vulnerabilidades en la aplicación que abre el archivo adjunto. [8] Los exploits que aprovechan tipos de archivos comunes son numerosos y frecuentes, como lo demuestra su aparición cada vez mayor en bases de datos como US-CERT . Los delincuentes pueden diseñar malware para aprovechar estos tipos de archivos para comprometer los sistemas atacados o robar datos confidenciales. [9]
El momento desde que un exploit de software se activa por primera vez hasta el momento en que el número de sistemas vulnerables se reduce a la insignificancia se conoce como ventana de vulnerabilidad . [10] La línea de tiempo para cada vulnerabilidad de software está definida por los siguientes eventos principales:
Por tanto, la fórmula para la duración de la ventana de vulnerabilidad es: t 2 − t 1b .
En esta formulación, siempre es cierto que t 0 ≤ t 1a y t 0 ≤ t 1b . Tenga en cuenta que t 0 no es lo mismo que el día cero . Por ejemplo, si un pirata informático es el primero en descubrir (en t 0 ) la vulnerabilidad, es posible que el proveedor no se entere hasta mucho más tarde (el día cero).
Para vulnerabilidades normales, t 1b > t 1a . Esto implica que el proveedor de software era consciente de la vulnerabilidad y tuvo tiempo de publicar un parche de seguridad ( t 1a ) antes de que cualquier pirata informático pudiera crear un exploit viable ( t 1b ). Para exploits de día cero, t 1b ≤ t 1a , de modo que el exploit se active antes de que esté disponible un parche.
Al no revelar las vulnerabilidades conocidas, un proveedor de software espera alcanzar t 2 antes de t 1b , evitando así cualquier vulnerabilidad. Sin embargo, el proveedor no tiene garantías de que los piratas informáticos no encuentren vulnerabilidades por sí solos. Además, los piratas informáticos pueden analizar ellos mismos los parches de seguridad y, de ese modo, descubrir las vulnerabilidades subyacentes y generar automáticamente exploits que funcionen. [11] Estos exploits se pueden utilizar eficazmente hasta el momento t 2 .
En la práctica, la duración de la ventana de vulnerabilidad varía entre sistemas, proveedores y vulnerabilidades individuales. A menudo se mide en días; un informe de 2006 estima el promedio en 28 días. [12]
La protección de día cero es la capacidad de brindar protección contra ataques de día cero. Dado que los ataques de día cero son generalmente desconocidos para el público, a menudo resulta difícil defenderse de ellos. Los ataques de día cero suelen ser eficaces incluso contra redes "seguras" y pueden pasar desapercibidos incluso después de su lanzamiento. Por lo tanto, los usuarios de los llamados sistemas seguros también deben ejercer el sentido común y practicar hábitos informáticos seguros. [13]
Existen muchas técnicas para limitar la efectividad de las vulnerabilidades de corrupción de memoria de día cero, como los desbordamientos del búfer . Estos mecanismos de protección existen en sistemas operativos contemporáneos como macOS , Windows Vista y posteriores , Solaris , Linux , Unix y entornos similares a Unix; Windows XP Service Pack 2 incluye protección limitada contra vulnerabilidades genéricas de corrupción de memoria [14] y las versiones anteriores incluyen incluso menos. También existe software de protección de servidores y escritorios para mitigar las vulnerabilidades de desbordamiento del búfer de día cero. Normalmente, estas tecnologías implican un análisis de terminación heurístico para detener los ataques antes de que causen algún daño. [15]
Se ha sugerido que una solución de este tipo puede estar fuera de alcance porque, en el caso general, es algorítmicamente imposible analizar cualquier código arbitrario para determinar si es malicioso: tal análisis se reduce al problema de detener un autómata lineal limitado. , que es irresoluble. Sin embargo, en la mayoría de las circunstancias no es necesario abordar el caso general (es decir, clasificar todos los programas en categorías de maliciosos y no maliciosos) para eliminar una amplia gama de comportamientos maliciosos. Es suficiente reconocer la seguridad de un conjunto limitado de programas (por ejemplo, aquellos que pueden acceder o modificar sólo un subconjunto determinado de recursos de la máquina) y rechazar tanto algunos programas seguros como todos los inseguros. Esto requiere mantener la integridad de esos programas seguros, lo que puede resultar difícil ante un exploit a nivel de kernel. [ cita necesaria ]
El Equipo de Respuesta a Emergencias de Día Cero (ZERT) era un grupo de ingenieros de software que trabajaban para lanzar parches de terceros para exploits de día cero.
Los gusanos informáticos se interceptan basándose en el conocimiento sobre cómo infectan a sus anfitriones. Los gusanos de día cero aprovechan un ataque sorpresa cuando aún son desconocidos para los profesionales de la seguridad informática . La historia reciente muestra una tasa creciente de propagación de gusanos. [16] Los nuevos gusanos son difíciles de detectar porque se desconocen sus firmas de infección y los gusanos bien diseñados pueden propagarse muy rápidamente por Internet , a veces con consecuencias devastadoras. [17]
Existen diferentes ideologías relacionadas con la recopilación y el uso de información sobre vulnerabilidades de día cero. Muchos proveedores de seguridad informática realizan investigaciones sobre vulnerabilidades de día cero para comprender mejor la naturaleza de las vulnerabilidades y su explotación por parte de individuos, gusanos informáticos y virus. Alternativamente, algunos proveedores compran información sobre vulnerabilidades para aumentar su capacidad de investigación. Un ejemplo de un programa de este tipo es la Iniciativa Día Cero de TippingPoint .
Si bien vender y comprar información sobre vulnerabilidades no es técnicamente ilegal en la mayor parte del mundo, existe mucha controversia sobre el método de divulgación. Una decisión alemana de 2006 de incluir el artículo 6 de la Convención sobre la Ciberdelincuencia y la Decisión Marco de la UE sobre Ataques contra Sistemas de Información puede hacer que la venta o incluso la fabricación de vulnerabilidades sea ilegal. [18]
La mayoría de los programas formales siguen algún tipo de pautas de divulgación de Rain Forest Puppy o las pautas más recientes de OIS para informes y respuesta a vulnerabilidades de seguridad. [ cita necesaria ] En general, estas reglas prohíben la divulgación pública de vulnerabilidades sin notificar al proveedor y sin tiempo adecuado para producir un parche.
Un virus de día cero (también conocido como malware de día cero o malware de próxima generación ) es un virus informático u otro malware previamente desconocido para el cual aún no hay firmas de software antivirus específicas disponibles. [19]
Tradicionalmente, el software antivirus se basaba en firmas para identificar malware. Una firma de virus es un patrón o código único que se puede utilizar para detectar e identificar virus específicos. El antivirus escanea las firmas de los archivos y las compara con una base de datos de códigos maliciosos conocidos. Si coinciden, el archivo se marca y se trata como una amenaza. La principal limitación de la detección basada en firmas es que sólo es capaz de señalar malware ya conocido, lo que la hace inútil contra ataques de día cero. [20] La mayoría de los programas antivirus modernos todavía utilizan firmas, pero también realizan otros tipos de análisis. [ cita necesaria ]
En el análisis de código , se analiza el código de máquina del archivo para ver si hay algo que parezca sospechoso. Normalmente, el malware tiene un comportamiento característico; El análisis de código intenta detectar si esto está presente en el código.
Aunque útil, el análisis de código tiene limitaciones importantes. No siempre es fácil determinar qué pretende hacer una sección de código, especialmente si es muy compleja y ha sido escrita deliberadamente con la intención de frustrar el análisis. Otra limitación del análisis de código es el tiempo y los recursos disponibles. En el competitivo mundo del software antivirus, siempre existe un equilibrio entre la efectividad del análisis y el retraso involucrado.
Una forma de superar las limitaciones del análisis de código es que el software antivirus ejecute secciones sospechosas de código en un entorno limitado seguro y observe su comportamiento. Esto puede ser mucho más rápido que analizar el mismo código, pero debe resistir (y detectar) los intentos del código de detectar la zona de pruebas.
Las firmas genéricas son firmas que son específicas de cierto comportamiento en lugar de un elemento específico de malware. La mayoría del malware nuevo no es totalmente novedoso, sino que es una variación del malware anterior o contiene código de uno o más ejemplos anteriores de malware. De esta forma, los resultados de análisis previos se pueden utilizar contra nuevo malware.
En general, en la industria antivirus se acepta que la protección basada en firmas de la mayoría de los proveedores es idénticamente efectiva. Si hay una firma disponible para un elemento de malware, entonces todos los productos (a menos que sean disfuncionales) deberían detectarla. Sin embargo, algunos proveedores son significativamente más rápidos que otros a la hora de detectar nuevos virus y/o actualizar las bases de datos de firmas de sus clientes para detectarlos. [21]
Existe un amplio rango de efectividad en términos de protección antivirus de día cero. La revista informática alemana c't encontró que las tasas de detección de virus de día cero oscilaban entre el 20% y el 68%. [22] Es principalmente en el área del desempeño de virus de día cero donde los fabricantes compiten ahora.
A mediados de abril de 2017, los piratas informáticos conocidos como The Shadow Brokers (TSB), supuestamente vinculados al gobierno ruso, [23] [24] publicaron archivos de la NSA (inicialmente considerados como supuestamente de la NSA, confirmado más tarde). a través de detalles internos y por el denunciante estadounidense Edward Snowden ) [25] que incluyen una serie de 'exploits de día cero' dirigidos al software de Microsoft Windows y una herramienta para penetrar al proveedor de servicios de la Sociedad de Telecomunicaciones Financieras Interbancarias Mundiales (SWIFT). [26] [27] [28] Ars Technica había informado sobre los reclamos de piratería de Shadow Brokers a mediados de enero de 2017, [29] y en abril Shadow Brokers publicó los exploits como prueba. [29]
El Proceso de Equidad de Vulnerabilidades , revelado públicamente por primera vez en 2016, es un proceso utilizado por el gobierno federal de EE. UU. para determinar caso por caso cómo debe tratar las vulnerabilidades de seguridad informática de día cero : si revelarlas al público para ayudar. mejorar la seguridad informática general o mantenerlas en secreto para uso ofensivo contra los adversarios del gobierno. [30] El proceso ha sido criticado por una serie de deficiencias, incluida la restricción impuesta por acuerdos de confidencialidad, la falta de calificaciones de riesgo, un trato especial para la NSA y un compromiso poco pleno con la divulgación como opción predeterminada. [31]
Una vulnerabilidad de día cero se refiere a un error explotable en el software que el proveedor desconoce. Este agujero de seguridad puede ser aprovechado por piratas informáticos antes de que el proveedor se dé cuenta y se apresure a solucionarlo; este exploit se denomina ataque de día cero.
(Orden cronológico)