Hola, me llamo Didier y soy director del programa de seguridad del Centro de ingeniería de seguridad de Microsoft. Nos centramos en ayudar a equipos como el de Office a ir más allá de los requisitos mínimos de Security Development Lifecycle (SDL). Para Office 2010, trabajé con miembros del equipo de Informática de confianza de Office (TWC). SDL de Microsoft es un proceso de control de seguridad dedicado al desarrollo de software. Como iniciativa de toda la compañía y directiva obligatoria desde 2004, SDL ha tenido un rol muy importante en la inserción de seguridad y privacidad en el software y la cultura de Microsoft. Con la combinación de un enfoque integral y práctico, SDL apunta a reducir la cantidad y severidad de las vulnerabilidades de software; introduce seguridad y privacidad en todas las fases del proceso de desarrollo.

Me gustaría resaltar algunos logros que se alcanzaron durante el desarrollo de Office 2010, que ayudarán a mantener la seguridad de nuestros clientes.

Existen más de 50 requisitos de SDL que se aplican a las fases del proceso de desarrollo: entrenamiento, requisitos, diseño, implementación, comprobación, lanzamiento y respuesta (posterior al lanzamiento). Los requisitos y las recomendaciones de SDL no son estáticos; cambian regularmente cuando aparecen nuevas amenazas y mejoras a la infraestructura, las herramientas y los procesos auxiliares. La siguiente imagen muestra las fases del proceso de SDL:

clip_image002[4]

Algunas de las herramientas y técnicas que se usan para admitir el proceso de SDL se han lanzado externamente. Se pueden descargar estas herramientas y otras desde el Repositorio de herramientas de SDL de Microsoft (http://www.microsoft.com/security/sdl/getstarted/tools.aspx).

Además de superar la revisión final de seguridad que impone el proceso de SDL, el equipo de Office 2010 también cumplió con los requisitos de SDL adicionales emergentes, como la integración de bibliotecas de desbordamiento de enteros mejoradas, compilación con comprobación de seguridad de búfer (/GS) mejorada y ejecución de varias iteraciones de pruebas de exploración de vulnerabilidades mediante datos aleatorios, mucho más allá de lo que requería SDL. Estos fueron los requisitos de SDL adicionales más impactantes que cumplió Office 2010.

Fase de entrenamiento

El equipo TWC de Office desarrolló un entrenamiento personalizado sobre mitigaciones de desbordamiento de enteros, pruebas de exploración de vulnerabilidades mediante datos aleatorios de archivos y seguridad de Web (en su mayoría filtro de scripts de sitios (XSS) y falsificación de petición en sitios cruzados (XSRF)). Este entrenamiento fue obligatorio en toda la división de Office. Además, se diseñaron y enviaron entrenamientos más específicos para que FAST, un producto adquirido recientemente, estuviera al día con las diferentes herramientas y actividades que requiere SDL.

Fase de requisitos

El equipo TWC de Office y MSEC trabajaron en la redefinición de la barra de errores de seguridad y el proceso de evaluación de errores de seguridad para que incluyan los ataques más nuevos. Un elemento que hizo posible este proceso fue el aprovechamiento de los conocimientos especializados de las divisiones de Office y TWC para la revisión de los errores de seguridad.

Fase de diseño

Durante la fase de diseño, se identificaron varios elementos de trabajo para reforzar la confiabilidad de los documentos de Office. Estos elementos de trabajo implementaron mejoras en el Centro de confianza al agregar Documentos confiables, una mejora de Bloqueo de archivos que permite que los usuarios elijan los archivos que desean abrir o guardar en la red, Validación de documento de Office y Vista protegida. Estas mejoras se realizaron para que los clientes confíen en los documentos de Office sin temor a ser atacados. Además, otro objetivo fue proporcionar seguridad adicional, a la vez que se evitaron las solicitudes de confirmación innecesarias que llevarían a una saturación, con lo que disminuiría el valor de seguridad de estas características. Puede leer más sobre estas características en http://blogs.technet.com/office2010/archive/2009/07/21/office-2010-application-security.aspx.

El equipo TWC de Office realizó un ejercicio a gran escala de un modelo de riesgos para toda la división, mediante la creación y revisión de más de 500 modelos de riesgos. A través de la actividad de modelo de riesgos, el equipo identificó y corrigió más de 1000 posibles problemas de seguridad.

Otra área que se mejoró fue la compatibilidad con criptografía en Office 2010. Estos avances incluyen la admisión de la firma digital XAdES, para que las aplicaciones cliente de Office sean criptográficamente ágiles al permitir que usen cualquier algoritmo criptográfico que el sistema operativo tenga disponible (solo Windows Vista y versiones posteriores), y una nueva característica para empresas que habilita la directiva de contraseñas del dominio para cifrado de contraseñas.

Fase de implementación

El equipo TWC implementó una solución automatizada para mejorar los resultados de informes de revisión de código automatizada de Office (OACR), lo que permitió que MSEC y TWC de Office identificaran equipos de productos de Office con problemas de calidad de código antes de la fase de comprobación o de que se realizaran pruebas de penetración. Esto permitió que los equipos dedicaran sus esfuerzos a las áreas de mayor importancia.

En función de las vulnerabilidades de entrada notificadas en versiones anteriores de Office, en Office 2010 se desarrolló y usó una versión mejorada de safeInt.

Se introdujo una versión mejorada de /GS (disponible en Visual Studio 2010) durante el ciclo de desarrollo de Office 2010 y se puso a prueba con tres grandes componentes de Office 2010. No se encontraron problemas graves de regresión, por lo que esta característica se integrará en la próxima versión de Office. Office 2010 admite Prevención de ejecución de datos (DEP) por primera vez y, si usa Office 2010 en Windows 7, se usará SEHOP, lo cual previene la explotación de controladores de excepciones estructurados (http://blogs.technet.com/srd/archive/2009/02/02/preventing-the-exploitation-of-seh-overwrites-with-sehop.aspx).

Se implementaron mitigaciones adicionales en SharePoint 2010 para mejorar las mitigaciones de hospedaje de múltiples inquilinos y filtros de scripts de sitios. Los avances de seguridad más importantes fueron las soluciones de espacio aislado de SharePoint mediante una combinación de seguridad de acceso del código y un espacio aislado desarrollado de manera personalizada. Otra mitigación para filtros de scripts de sitios fue usar encabezados de explorador para forzar la descarga de contenido potencialmente no seguro y aumentar los permisos que se necesitan para crear scripts.

Fase de comprobación

Las pruebas distribuidas de exploración de vulnerabilidades mediante datos aleatorios se ejecutaron desde el principio del ciclo de desarrollo con un refinamiento constante de los ejecutores de estas pruebas. El esfuerzo persistente fue una de las más grandes inversiones que hizo Office para mejorar la seguridad de los analizadores. El uso del marco de pruebas distribuidas de exploración de vulnerabilidades mediante datos aleatorios se ha expandido a toda la compañía y será uno de los elementos clave en la próxima versión de SDL. La cantidad de iteraciones de pruebas de exploración de vulnerabilidades mediante datos aleatorios para Office 2010 fue de más de 800 millones en más de 400 formatos de archivo, lo que dio como resultado la corrección de más de 1800 errores. Además de realizar estas pruebas en formatos de archivo, se usó el marco de pruebas distribuidas de exploración de vulnerabilidades mediante datos aleatorios para realizar gran cantidad de pruebas de todos los controles ActiveX incluidos en Office 2010.

Como parte del proceso de generación, se configuró una infraestructura automatizada durante Office 2010 para ejecutar la mayoría de las herramientas de comprobación que requiere SDL (por ejemplo, BinScope). Esto permitió que el equipo de Office ejecutara las herramientas con mayor frecuencia, de modo que se logró identificar los problemas a tiempo y solucionarlos rápidamente.

Durante el ciclo de desarrollo de Office 2010, se realizaron pruebas de penetración internas y externas. Estas pruebas estuvieron dirigidas a las características de alto riesgo que se identificaron durante la fase de diseño e incluyeron varios productos en SKU de cliente y servidor.

Esperamos que todos estos esfuerzos hagan de Office 2010 una solución mucho más robusta y proporcionen tranquilidad a los clientes cuando reciben documentos de orígenes no confiables.

Además de esta entrada de blog, Microsoft publicó unas notas del producto hace unos meses sobre el modo en que SDL ayudó a mejorar 2007 Microsoft Office System. Puede encontrarlas en http://go.microsoft.com/?linkid=9714223.

Gracias.

Didier Vandenbroeck

Director principal del programa de seguridad

Centro de ingeniería de seguridad de Microsoft

Esta entrada de blog es una traducción. Puede consultar el artículo original en http://blogs.technet.com/b/office2010/archive/2010/05/11/how-the-sdl-helped-improve-security-in-office-2010.aspx.