DESCRIPCIÓN DEL PROGRAMA

A través del programa de recompensas de Microsoft por la detección de omisiones de mitigaciones y por propuestas de defensa, personas de todo el mundo tienen la oportunidad de enviar una omisión de mitigación nueva contra la versión más reciente de la plataforma Windows. También están invitadas a enviar una propuesta de defensa que bloquearía una técnica que actualmente consiga omitir las mitigaciones de la plataforma más reciente. En este programa, los envíos de omisiones de mitigaciones que cumplan los requisitos pueden optar a premios de hasta 100 000 USD, y las técnicas de defensa cualificadas pueden optar a una recompensa de hasta 100 000 USD, es decir, un premio total de hasta 200 000 USD. Microsoft concede todas las recompensas a su entera discreción.

Si va a enviar una nueva técnica de omisión de mitigación que haya encontrado en un ataque activo, tenga en cuenta que tenemos otro programa similar aparte para estos casos y los términos que se indican aquí van dirigidos a personas que envíen su propia idea de una nueva técnica de omisión de mitigación.

Si va a enviar su propia idea, lea los términos que se incluyen a continuación en su totalidad y, después, envíe su trabajo para considerarlo a la dirección secure@microsoft.com. Si va a enviar una técnica que ha visto que se ha usado en un ataque activo, debe registrarse primero en nuestro sistema enviando un correo electrónico a las direcciones bounty@microsoft.com y secure@microsoft.com para obtener más información.

¿QUÉ REQUISITOS DEBEN CUMPLIR LOS ENVÍOS DE OMISIONES DE MITIGACIONES?

Para que un envío de una omisión de mitigación se admita en el programa debe incluir un breve documento donde se explique el método de aprovechamiento de la vulnerabilidad y tenga como objetivo alguno de los siguientes escenarios:

  • Un método nuevo que aproveche una vulnerabilidad real de ejecución remota de código (RCE). Por vulnerabilidad real de RCE se entiende una ejecución remota de código que existe en una aplicación de Microsoft y que puede haberse solucionado ya o no haberse solucionado aún con una actualización de seguridad.
  • Un nuevo método de omitir una mitigación impuesta por un espacio aislado en modo usuario. Por ejemplo, puede tratarse de una técnica que pueda omitir restricciones de vínculos simbólicos impuestas por un espacio aislado u otros problemas de lógica nuevos que permitan a un atacante escapar del espacio aislado y elevar sus privilegios.
Los envíos de omisiones pueden usar métodos conocidos de aprovechamiento de una vulnerabilidad en el informe y en la vulnerabilidad que exponen, pero es obligatorio que la ejecución remota de código confiable sea posible gracias a un método nuevo de aprovechamiento de una vulnerabilidad. Los envíos deben distinguir claramente los aspectos nuevos del método de aprovechamiento de una vulnerabilidad que describen.
  • Se recomienda que los envíos se refieran a aplicaciones en modo de usuario de 64 bits o aplicaciones que se ejecuten en procesadores ARM de 32 bits.

Los envíos de emisiones deben poder aprovechar una vulnerabilidad de una aplicación en modo usuario que use todas las mitigaciones más recientes que ofrece la plataforma Windows. Consulte la sección ÁMBITO DE LAS OMISIONES DE MITIGACIONES para obtener más información sobre lo que se considera que está dentro y fuera del ámbito para los envíos de omisiones de mitigaciones.

Los envíos de omisiones deben demostrar y describir un método de aprovechamiento de una vulnerabilidad que cumpla los siguientes criterios:
  • Genérico: los métodos de aprovechamiento de una vulnerabilidad de RCE deben poder aplicarse a una o varias clases de vulnerabilidades de daños en la memoria comunes.
  • Confiable: debe tener una probabilidad de error muy baja.
  • Razonable: debe tener requisitos y requisitos previos razonables.
  • Tener impacto: debe poderse aplicar a dominios de aplicaciones de alto riesgo (exploradores, lectores de documentos, etc.).
  • Modo usuario: los métodos de aprovechamiento de una vulnerabilidad de RCE deben poderse aplicar a las aplicaciones en modo usuario.
  • Versión más reciente: debe poderse aplicar a la versión más reciente de nuestros productos en la fecha en la que se realiza el envío.
  • Nuevo: debe tratarse de un método nuevo y diferente que sea desconocido para Microsoft y que no se haya descrito en trabajos anteriores.

Todos los envíos que cumplan estos requisitos tienen la opción de obtener hasta 100 000 USD. Los envíos que incluyan una prueba de concepto, una vulnerabilidad funcional,una reseña detallada y/o un documento técnico podrán optar a premios superiores.

¿QUÉ REQUISITOS DEBE CUMPLIR UN ENVÍO PARA EL PROGRAMA DE RECOMPENSAS POR PROPUESTAS DE DEFENSA?

Los envíos del programa de recompensas por propuestas de defensa (“envíos de defensa”) que se proporcionen a Microsoft deben cumplir los siguientes criterios para que se admitan en este programa:

Los envíos de defensa deben incluir un documento técnico donde se describa la idea de defensa que podría bloquear de manera efectiva una técnica de aprovechamiento de una vulnerabilidad que actualmente omite las mitigaciones de la versión más reciente de la plataforma, o bien un envío de defensa que bloquee una vulnerabilidad que no esté en la última versión de la plataforma.

Los envíos de defensa que cumplan los requisitos pueden recibir un bono de hasta 100 000 USD, en función de la calidad y la exclusividad de la idea de defensa.

Microsoft se reserva el derecho a rechazar cualquier envío si determina, a su entera discreción, que no cumple estos criterios.

Puede consultar más información sobre los antecedentes y las descripciones de las mitigaciones de la plataforma Windows en este documento técnico sobre la mitigación de las vulnerabilidades del software.

ÁMBITO DE LAS OMISIONES DE MITIGACIONES

En la tabla siguiente, se proporciona una lista de las mitigaciones el modo usuario que entran explícitamente en el ámbito de este programa y la definición de las técnicas que están dentro y fuera del ámbito de cada mitigación. Los envíos que usen otras técnicas nuevas de aprovechamiento de vulnerabilidades que no se considere que están fuera del ámbito del programa y que no aparezcan a continuación pueden optar también a una recompensa. Un envío de una omisión de mitigación admisible debe funcionar cuando estén habilitadas todas las mitigaciones disponibles en la última compilación rápida de WIP. Esto significa que un envío debe suponer que la aplicación de destino ha habilitado todas las mitigaciones (como DEP, ASLR, CIG, ACG, etc.), incluso si no están habilitadas de forma predeterminada en todos los escenarios en el momento de realizar el envío.

Este ámbito está sujeto a cambios en cualquier momento a discreción de Microsoft.

Mitigaciones para la integridad de los flujos de control

Las siguientes mitigaciones protegen la integridad de los flujos de control de Microsoft.

Mitigación
Dentro del ámbito
Fuera del ámbito
Técnicas que permiten ejecutar código desde la memoria no ejecutable en un proceso que tiene habilitada la mitigación DEP (siempre activa)
  • Reutilización de código que ya es ejecutable.

Mitigaciones para la integridad del código


Mitigación Dentro del ámbito Fuera del ámbito
Técnicas que permitan generar o modificar código de forma dinámica en un proceso que haya habilitado ProcessDynamicCodePolicy (ProhibitDynamicCode = 1).
  • Omisiones que dependen de que se habilite la desactivación de subprocesos (AllowThreadOptOut = 1).
Técnicas que permiten cargar un archivo binario con una firma incorrecta en un proceso que ha habilitado restricciones para la firma de código (por ejemplo, ProcessSignaturePolicy).
  • Inserción en memoria de páginas de códigos de imágenes sin firma

Mitigaciones auxiliares

Mitigación
Dentro del ámbito
Fuera del ámbito
Técnicas que permiten generar un proceso secundario a partir de un proceso que tiene restringida la creación de procesos secundarios (mediante la directiva de procesos secundarios).

Técnicas que permiten omitir de forma genérica la característica ASLR en aplicaciones de 64 bits que habilitan las opciones de ASLR de alta entropía y reubicación forzosa de imágenes.
  • Vulnerabilidades individuales que permiten la divulgación de información del espacio de direcciones.
  • Inferencia de direcciones por medio de GC.
  • Omisiones de ASLR de 32 bits.
Técnicas que se pueden usar para interceptar un flujo de control dañando una entrada de registro SEH en un proceso o una imagen que habilite SEHOP y Safe SEH.
  • Técnicas que adquieren conocimiento de la ubicación de una pila.
  • Técnicas que se basan en imágenes que no son SafeSEH.
Técnicas que se pueden usar para dañar metadatos confiables o datos de usuario.

NIVELES DE PAGO DE LAS OMISIONES DE MITIGACIONES

En la tabla siguiente se describen los niveles de pago de los envíos de omisiones de mitigaciones que cumplan los requisitos del programa.
Nivel
Descripción
Mitigaciones aplicables
Prueba de concepto
Calidad del informe
Intervalo de pagos máximo (USD)
Nivel 1
Avance nuevo y fundamental en una tecnología que aprovecha una vulnerabilidad y omite las mitigaciones actuales de forma global. N/D
Obligatoria
Alta
100 000 USD




Baja
50 000 USD
Nivel 2
Omisión de una mitigación a nivel de diseño.
  • Mitigaciones para la integridad de los flujos de control
  • Mitigaciones para la integridad del código
Obligatoria
Alta
45 000 USD
Baja
20 000 USD
Nivel 3
Omisiones de mitigaciones a nivel de implementación o de error.
  • Mitigaciones para la integridad de los flujos de control
  • Mitigaciones para la integridad del código
  • Mitigaciones auxiliares
Obligatoria
Alta
15 000 USD
Baja
5000 USD
A la hora de valorar el importe de los premios, se tienen en cuenta también otros factores, como la amplitud con la que se puede aplicar la omisión, el nivel percibido de dificultad y confiabilidad del uso de la omisión y el impacto global de la omisión de mitigación.

AVISO LEGAL

Aquí puede consultar más información sobre las directrices legales de Microsoft.

Gracias por participar en el programa de recompensas de Microsoft por la detección de errores.


HISTORIAL DE REVISIONES

  • 26 de junio de 2013: Lanzamiento del programa.
  • 31 de junio de 2017: Se quita la mitigación experimental de la protección de flujo de devolución de la lista de mitigaciones que están dentro del ámbito.
  • 27 de octubre de 2017: Se agregan las “omisiones que se basan en el control de condiciones de carrera o de excepciones” y las “omisiones que se basan en la suspensión de subprocesos” a la lista “Fuera del ámbito” de las mitigaciones de “protección de flujo de control (CFG)”.
  • 23 de enero de 2018: Se agregan las instancias de instrumentación de CFG que faltan antes de una llamada indirecta a la lista “Fuera del ámbito” de las mitigaciones de “protección de flujo de control (CFG)”.
  • 20 de marzo de 2018: Se agregan los “ataques de reemplazo de código” de forma explícita a la lista “Fuera del ámbito” de las mitigaciones de “protección de flujo de control”.
  • 21 de junio de 2018: Se quita la protección de flujo de control de la lista de mitigaciones que están dentro del ámbito del programa.
  • 7 de agosto de 2018: Accidentalmente, se vuelve a incluir la protección de flujo de control en el ámbito del programa de recompensas.
  • 2 de octubre de 2018: Se quita la protección de flujo de control de la lista de mitigaciones que están dentro del ámbito del programa (para corregir el error de publicación anterior).
  • 7 de diciembre de 2018: Se quitan los datos del lanzamiento del programa de la descripción del programa.