Celebramos 20 años de Cómputo Confiable

Por: Aanchal Gupta, vicepresidente de Microsoft Security Response Center.

Hace 20 años esta semana, Bill Gates envió un ahora famoso correo electrónico a todos los empleados de Microsoft donde anunciaba la creación de la iniciativa Trustworthy Computing (TwC). La iniciativa tenía como objetivo poner la seguridad del cliente y, en última instancia, la confianza del cliente, en primer plano para todos los empleados de Microsoft. El memorando de Gates instó a los equipos a entregar productos que estén «tan disponibles, confiables y seguros como los servicios estándar como electricidad, servicios de agua y telefonía».

Proteger a los clientes es fundamental para la misión de Microsoft. Con más de 8500 expertos en seguridad de Microsoft de 77 países, equipos rojos y azules dedicados, centros de operaciones de seguridad las 24 horas, los 7 días de la semana y miles de socios en toda la industria, seguimos con el aprendizaje y la evolución, para hacer frente al cambiante panorama global de amenazas.

En 2003, consolidamos nuestro proceso de actualización de seguridad en el primer Patch Tuesday para brindar más previsibilidad y transparencia a los clientes. En 2008, publicamos el Ciclo de Vida de Desarrollo de Seguridad para describir el enfoque de Microsoft sobre las consideraciones de seguridad y privacidad en todas las fases del proceso de desarrollo.

Por supuesto, la iniciativa Trustworthy Computing no estaría donde está hoy sin la increíble colaboración de la industria y la comunidad. En 2005, Microsoft celebró su primera conferencia de seguridad «Blue Hat», en la que invitamos a investigadores de seguridad externos a hablar de manera directa con los ejecutivos e ingenieros de Microsoft detrás de los productos que investigaban.

En la actualidad, Microsoft Security Response Center (MSRC) trabaja con miles de investigadores y profesionales de seguridad internos y externos para abordar de manera rápida las vulnerabilidades de seguridad en los productos lanzados. En los últimos 20 años, MSRC ha evaluado más de 70 mil casos de vulnerabilidades de seguridad potenciales compartidos por miles de investigadores de seguridad externos y socios de la industria a través de la Divulgación Coordinada de Vulnerabilidades (CVD, por sus siglas en inglés). Desde entonces, hemos emitido más de 7,600 CVE para ayudar a mantener a los clientes seguros.

A partir de 2011 con el primer Premio Bluehat, hemos otorgado más de $40 millones de dólares a través del programa Microsoft Bug Bounty para reconocer estas asociaciones vitales con la comunidad de investigación de seguridad global en más de 60 países.

El viaje de seguridad que comenzó con TwC ha involucrado a muchos miles de personas en Microsoft y la industria. Para celebrar los 20 años de este compromiso, asociación y aprendizaje en la seguridad del cliente, compartimos los pensamientos y las historias de algunos de estos empleados, socios de la industria, expertos y colaboradores que ayudaron a hacer posible este viaje.

—Aanchal Gupta, vicepresidente de Microsoft Security Response Center

La génesis del Cómputo Confiable

En 2001, un pequeño número de «personas de seguridad» comenzamos a alejarnos de los «productos de seguridad» para pensar más en «funciones de seguridad». Mucha gente piensa en la «seguridad» como productos de seguridad, como antimalware y firewalls. Pero esta no es la imagen completa. Formamos un equipo llamado Secure Windows Initiative (SWI) y trabajamos en estrecha colaboración con equipos de desarrollo individuales para infundir más ideas sobre cómo proteger sus funciones.

Funcionó bien, pero en realidad no era escalable.

David LeBlanc y yo hablamos sobre cosas que habíamos encontrado al trabajar con varios equipos. Nos dimos cuenta de que nos hacían las mismas preguntas de seguridad a nivel de código una y otra vez. Entonces, decidimos escribir un libro sobre el tema para cubrir los conceptos básicos y poder centrarnos en las cosas difíciles.

Ese libro era Writing Secure Code (Escribir código seguro).

Durante 2001, un par de gusanos atacaron los productos de Microsoft: CodeRed y Nimda. Estos dos gusanos llevaron a algunos clientes a reconsiderar su uso de los servicios de información de Internet. Muchos de los aprendizajes de este episodio se incluyeron en nuestro libro y lo mejoraron. Los gusanos también hicieron que el equipo compilador de C++ comenzara a pensar en cómo podrían agregar más defensas al código compilado de manera automática. Microsoft Research comenzó a trabajar en herramientas de análisis para encontrar errores de seguridad. Pude sentir un cambio en la empresa.

En octubre, el equipo de seguridad de .NET me pidió que revisara algunos errores de seguridad que habían encontrado. Debido a lo buenos que fueron estos hallazgos, decidimos pausar el desarrollo, equipar a todos con lo último en capacitación en seguridad y buscar más errores de seguridad. Una parte de mi trabajo era capacitar al personal de ingeniería y clasificar los errores a medida que aparecían. Solucionamos errores y agregamos defensas adicionales a .NET y ASP.NET. Este evento se conoció como la «retirada de seguridad de .NET».

Alrededor del final de la retirada, escuché que Craig Mundie (quien reportaba a Bill) trabajaba en «algo» para mover a la compañía en una dirección más enfocada en la seguridad. En ese momento, eso era todo lo que sabía.

En diciembre de 2001, finalmente llegó Writing Secure Code, y me pidieron que participara en una reunión de dos horas con Bill Gates para explicar los matices de las vulnerabilidades de seguridad. Al final de la reunión, le di una copia del libro. El lunes siguiente me envió un correo electrónico para decirme que había leído el libro y que le había encantado. Unos días después, Craig Mundie compartió lo que había pensado. Quería que la empresa se centrara en la seguridad, la privacidad, la fiabilidad y las prácticas comerciales. Estos se convirtieron en los cuatro pilares del Cómputo Confiable. Bill se convenció de ello y todo esto condujo al ahora famoso memorando BillG Trustworthy Computing de enero de 2002.

—Michael Howard, consultor principal senior de ciberseguridad

La evolución del Ciclo de Vida del Desarrollo de la Seguridad

El Ciclo de Vida de Desarrollo de Seguridad (SDL, por sus siglas en inglés) tiene alrededor de 20 años y ha evolucionado de manera significativa desde sus inicios con Windows. Cuando comenzamos a implementar SDL en todos los productos, a menudo recibimos críticas de los equipos de que estaba demasiado centrado en Windows. Por lo tanto, el primer paso fue hacer que SDL se aplicara a todos los equipos, al mantener el objetivo de diseño de un SDL pero también con la comprensión de que los requisitos variarían según las características y los tipos de productos. Compartimos nuestras experiencias e hicimos público el SDL, seguido del lanzamiento de las herramientas que desarrollamos, incluida la Herramienta de Modelado de Amenazas, el Analizador de Superficie de Ataque (ASA, por sus siglas en inglés) y DevSkim (estos dos últimos los publicamos en GitHub como proyectos de código abierto).

A medida que Microsoft comenzó a adoptar metodologías de desarrollo ágiles y a construir sus negocios en la nube, SDL necesitaba evolucionar para adoptar este nuevo entorno y paradigma. Eso significó cambios importantes en los fundamentos clave de SDL, como la barra de errores, nuestro enfoque para el modelado de amenazas y cómo se integran las herramientas en los entornos de ingeniería. También presentó nuevos desafíos para mantener el principio de SDL único y darse cuenta de que los entornos de nube son muy diferentes del software local que de manera tradicional enviábamos a los clientes.

Hemos adoptado nuevas tecnologías como IoT y realizamos más adaptaciones a SDL para manejar sistemas operativos que no son Windows, como Linux y macOS. Un gran cambio fue la adopción de Open Source por parte de Microsoft, que amplió la necesidad de cobertura de SDL a muchos entornos de desarrollo, lenguajes y plataformas diferentes. De manera más reciente, hemos incorporado nuevo contenido de SDL para cubrir el desarrollo de soluciones de inteligencia artificial y aprendizaje automático que brindan un conjunto completamente nuevo de vectores de ataque.

El SDL ha evolucionado y se ha adaptado en los últimos 20 años, pero se mantiene, como siempre, como un SDL.

—Mark Cartwright, gerente de programa del grupo de seguridad

Asegurar Windows

Comencé mi carrera en Microsoft como probador de penetración en Windows durante uno de los primeros lanzamientos para implementar SDL por completo. Aprecio esa experiencia. Todos los días me sentía como si estuviera en la primera línea de seguridad. Tuvimos un grupo increíble de personas, desde evaluadores de penetración superestrellas hasta desarrolladores superestrellas, todos trabajaban juntos para implementar un proceso de seguridad para uno de los productos de seguridad más grandes del mundo. Fue un momento vibrante y una de las primeras veces que vi a un equipo en verdad interdisciplinario de ingenieros de seguridad, desarrolladores y gerentes de productos que trabajaban juntos hacia un objetivo común. Esto dejó una impresión poderosa y duradera en mí a nivel personal y en la cultura de seguridad de Windows.

Para mí, la lección clave aprendida del Cómputo Confiable es que una buena seguridad es un subproducto de una buena ingeniería. En mi ingenuo punto de vista antes de esta experiencia, supuse que la mejor manera de obtener seguridad en un producto es seguir con la contratación de ingenieros de seguridad hasta que la seguridad mejore. En realidad, ese enfoque no es posible. Nunca habrá suficiente escala con los ingenieros de seguridad y, de manera simple, una buena seguridad requiere experiencia en ingeniería que las pruebas de penetración por sí solas no pueden lograr.

—David Weston, Socio Director de seguridad de Sistema Operativo y Empresa

Una industria siempre cambiante

La industria de la seguridad es sorprendente porque nunca deja de cambiar. Lo que es aún más sorprendente para mí es que las filosofías centrales de la iniciativa de Cómputo Confiable se han mantenido vigentes, incluso durante 20 años de cambios drásticos.

Los compiladores son un gran ejemplo fundamental de esto.

En los primeros días de la iniciativa Cómputo Confiable, Microsoft y la industria de la seguridad en general exploraron características innovadoras para proteger contra desbordamientos de búfer, incluidos StackGuard, ProPolice y el indicador /GS en Microsoft Visual Studio. A medida que evolucionaron los ataques, los principios rectores de la informática confiable llevaron a Microsoft a desarrollar de manera continua los componentes básicos del software seguro: protección de ejecución de datos (DEP, por sus siglas en inglés), aleatorización del diseño del espacio de direcciones (ASLR, por sus siglas en inglés), tecnología de cumplimiento de flujo de control (CET, por sus siglas en inglés) para defender contra la programación orientada al retorno (ROP, por sus siglas en inglés) y las protecciones de ejecución especulativa, solo por nombrar algunas.

Con solo compilar software con unos pocos cambios, los desarrolladores cotidianos podrían protegerse contra clases enteras de vulnerabilidades. Matt Miller ofrece una visión general fascinante de esta historia en su charla BlueHat Israel.

En un nivel superior, una de las cosas que me ha alegrado más ver cambiar es la evolución que se aleja del absolutismo de seguridad.

En 2001, había mucha energía detrás de las «10 leyes inmutables de seguridad», incluidas algunas variantes de «Si un atacante puede ejecutar un programa en su computadora, ya no es su computadora.»

Resulta que el mundo real tiene tonos de gris. El panorama ha evolucionado y no se acaba el juego hasta que los defensores lo digan.

Tenemos una industria rica que innova de manera continua en torno al registro, la auditoría, el análisis forense, la respuesta a incidentes y hemos desarrollado nuestras estrategias para incluir Asume Breach, Defense in Depth, «Impose Cost» y más. Por ejemplo: a medida que los tiempos de ejecución dinámicos alcanzaron la mayoría de edad (PowerShell, Python, C#), aquellos que evolucionaron durante la era del Cómputo Confiable se convirtieron en ejemplos en verdad excelentes de software que inclina el campo a favor de los defensores de manera activa.

Si bien es posible que no puedan evitar todos los ataques, es cierto que pueden hacer que los atacantes se arrepientan de usar ciertas herramientas y se arrepientan de haber aterrizado en sus sistemas. Para obtener una excelente descripción general del viaje de PowerShell, consulten Defensa contra ataques de PowerShell: equipo de PowerShell.

Cuando lanzamos el esfuerzo de Cómputo Confiable, nunca podríamos haber imaginado la complejidad de los ataques que la industria iba a defender en 2022, ni la increíble capacidad de los Blue Teams para defenderse de ellos. Pero al refinar y mejorar de manera constante la seguridad a medida que evolucionan las amenazas, el mundo es mucho más seguro hoy que hace 20 años.

—Lee Holmes, arquitecto principal de seguridad en Azure Security

La nube ha nacido

La iniciativa TWC y el SDL que creó reconocieron que la seguridad es un pilar fundamental para ganar y mantener la confianza del cliente, por lo que debe integrarse en todo el desarrollo de productos de Microsoft.

Sin embargo, desde que se creó, el software ha evolucionado a partir de paquetes físicos que Microsoft ofrece para que los clientes los instalen, configuren y aseguren, para ahora incluir servicios en la nube que Microsoft implementa y opera por completo en nombre de los clientes. La responsabilidad de Microsoft con los clientes ahora incluye no solo desarrollar software seguro, sino también operarlo de manera segura.

También se extiende a garantizar que los servicios y las prácticas operativas cumplan con las promesas de privacidad del cliente y las regulaciones gubernamentales de privacidad.

Microsoft Azure aprovechó el marco SDL y los principios de la informática confiable desde el principio para incorporar estos aspectos adicionales de seguridad y privacidad del software. Tener esta base en su lugar significaba que, en lugar de comenzar desde cero, podíamos mejorar y ampliar las herramientas y los procesos que ya existían para el software de producto en caja. Las herramientas y los procesos, como el modelado de amenazas y el análisis estático y dinámico, fueron de gran utilidad en todos los escenarios de la nube, como multiusuario hostil y DevOps.

A medida que creamos, validamos y perfeccionamos, nosotros y otros equipos de servicios en la nube de Microsoft contribuimos al SDL y las herramientas, incluida la publicación de muchos de estos para que los usen nuestros clientes. No es una subestimación decir que la seguridad y la privacidad de Microsoft Azure tienen sus raíces directo en el lanzamiento de la iniciativa TWC hace 20 años.

La nube cambia de manera constante con la incorporación de nuevas arquitecturas de aplicaciones, modelos de programación, controles de seguridad y tecnologías como el cómputo confidencial. Las herramientas de análisis estático como CodeQL brindan mejores detecciones y las verificaciones de canalización de CI/CD como CredScan ayudan a prevenir formas nuevas de vulnerabilidades que son específicas de los servicios.

Al mismo tiempo, el panorama de las amenazas continúa volviéndose más sofisticado. El software que no sigue los procesos de SDL es ahora una parte fundamental de la cadena de suministro de todas las empresas.

Así como el SDL de hoy es mucho más sofisticado y abarca muchos más aspectos del ciclo de vida del software que hace 20 años, Microsoft seguirá con las inversiones en el SDL para abordar las amenazas y el ciclo de vida del software del mañana.

—Mark Russinovich, director de tecnología y asociado técnico en Microsoft Azure

Una increíble comunidad de investigadores

La introducción de la iniciativa Cómputo Confiable coincidió con mis primeras incursiones serias en la investigación de seguridad de Windows. Por esa razón, ha definido cómo veo los problemas y desafíos de la seguridad de la información, no solo en Windows sino en toda la industria. Muchas cosas que doy por sentadas, como las prácticas de desarrollo centradas en la seguridad o las actualizaciones automáticas, recibieron un nuevo impulso a partir de las expectativas establecidas hace 20 años.

El hecho de que todavía sea un investigador de seguridad de Windows después de todo este tiempo podría darles la impresión de que la iniciativa TwC fracasó, pero creo que es una caracterización injusta. Los desafíos de la seguridad de la información no han sido estáticos porque la industria informática no ha sido estática. Pocos habrían imaginado cuán omnipresente sería la computación en nuestras vidas, y cada punto final conectado puede representar un riesgo adicional de seguridad.

Por cada mejora de seguridad que hace un producto, por lo general hay un aumento correspondiente en la complejidad del sistema que agrega una superficie de ataque adicional. En mi opinión, encontrar errores explotables es, en definitiva, más difícil que hace 20 años y, sin embargo, hay más lugares para buscar. Es probable que ninguna iniciativa pueda eliminar todos los errores de seguridad de un producto, al menos no en nada de suficiente complejidad.

Siento que el legado duradero de la iniciativa TwC no es que trajo una utopía de máxima seguridad, los informes de noticias regulares dejan en claro que aún no hemos llegado allí. En cambio, puso la seguridad en primer plano, lo que le permitió convertirse en un ciudadano de primera clase en la industria definitoria del siglo XXI.

—James Forshaw, ganador del primer premio de mitigación de Bluehat

Lo que aprendí sobre Inteligencia de Amenazas de Cómputo Confiable

Pasé 10 años en Microsoft en Cómputo Confiable (TwC, por sus siglas en inglés). Recuerdo estar en la reunión con Bill Gates donde hablamos sobre la necesidad de un memorando sobre seguridad. Desde la suspensión de la seguridad de Windows hasta XP SP2, para pasar por la creación del ciclo de vida de desarrollo de seguridad e impulsándolo en todos los productos, hasta reunirme con investigadores de seguridad de todo el mundo y aprender de su brillantez y pasión, la iniciativa Cómputo Confiable dio forma a todo mi carrera profesional. Un aspecto de la seguridad que sigue conmigo hasta el día de hoy es sobre los ataques que tienen lugar. Dedicar tiempo a encontrar y corregir errores de seguridad conduce al mundo de las vulnerabilidades de seguridad de día cero y a los atacantes detrás de ellas. Hoy dirijo el Microsoft Threat Intelligence Center (MSTIC) y nuestro enfoque es descubrir los ataques de actores de todo el mundo y lo que podemos hacer para proteger a los clientes de ellos.

Una cosa que aprendí de mi tiempo en TwC fue lo importante que es la comunidad. Ninguna empresa u organización puede hacerlo sola. Eso es, con certeza, verdadero en la inteligencia de amenazas. A menudo parece que escuchamos sobre los ataques como una industria, pero nos defendemos solos. Sin embargo, cuando los defensores trabajan juntos, sucede algo sorprendente. Contribuimos con nuestra comprensión de un ataque desde nuestros respectivos puntos de vista y la imagen de repente se vuelve más clara. Los investigadores aportan nuevas técnicas de ataque a MITRE ATT&CK para desarrollar nuestra comprensión colectiva. Publican detecciones en forma de reglas Sigma y Yara, lo que hace que el conocimiento sea ejecutable. Los analistas pueden crear cuadernos Jupyter para que otros defensores puedan repetir su análisis experto. Un enfoque basado en la comunidad puede acelerar a todos los defensores.

Si bien gran parte de mi trabajo en TwC se centró en Microsoft y la ingeniería de nuestros productos y servicios, los ataques de hoy en verdad ponen a los clientes y compañeros defensores en el centro. La defensa es una misión global y estoy entusiasmado y esperanzado con la oportunidad de trabajar en los problemas más desafiantes de la actualidad con los defensores del mundo.

—John Lambert, ingeniero distinguido en Microsoft Threat Intelligence Center

 

Conozcan más

Para obtener más información sobre las soluciones de seguridad de Microsoft, visiten nuestro sitio web. Agreguen a Favoritos el blog de Seguridad para mantenerse al día con nuestra cobertura experta en asuntos de seguridad. Además, síganos en @MSFTSecurity para obtener las últimas noticias y actualizaciones sobre ciberseguridad.

Tags: ,

Publicaciones Relacionadas