El primer golpe, o en realidad golpes, fueron asestados por Google, cuando su equipo Project Zero comenzó en 2016 a revelar una serie de vulnerabilidades en productos como Internet Explorer, Edge, el paquete de seguridad Windows Defender, e incluso el sistema operativo Windows (ver artículos relacionados).
En dos oportunidades, Google optó por revelar vulnerabilidades que aún no habían sido parcheadas por Microsoft, cuando esta última no ofreció soluciones dentro del plazo de 90 días con que opera Project Zero. Éstas decisiones, que causaron molestia en Microsoft, fueron explicadas por Google señalando que iba en el interés público advertir sobre estos problemas una vez finalizado el plazo de gracia.
Este mes, Google fue incluso más lejos, cuando uno de los integrantes de Project Zero criticó la metodología utilizada por Microsoft para parchear su software. Según el empleado de Google, la política de Microsoft de distribuir parches diferentes para cada versión de Windows resulta en nuevas vulnerabilidades en las versiones obsoletas, debido a que los atacantes pueden inferir la fuente de la vulnerabilidad y así diseñar nuevos vectores de ataque.
Llega el turno a Microsoft
El 18 de octubre, Microsoft reveló en su blog deficiencias en el navegador Chrome, que fueron comunicadas Google en septiembre pasado. En particular, Microsoft cuestiona la predilección de Google por utilizar sandboxing para aislar procedimientos maliciosos. En un artículo titulado “La seguridad de los navegadores, más allá de sandboxing”, la empresa escribe que la seguridad es actualmente un fuerte diferenciador para los usuarios al momento de elegir el navegador adecuado. “Todos usamos los navegadores para actividades cotidianas como mantenernos en contacto con nuestros seres queridos, pero también para redactar y editar documentos confidenciales, personales y laborales, e incluso para manejar nuestros activos financieros. Una brecha ocurrida mediante un navegador, puede tener resultados catastróficos”.
Luego, describe un análisis del navegador Chrome, planteando la siguiente pregunta: “¿Es suficiente tener un fuerte modelo de sandboxing para crear un navegador seguro?”. La pregunta es retórica ya que el procedimiento empleado por Microsoft incluye la respuesta: no. En particular, Microsoft concluye que la ejecución remota de código (RCE) es posible en Chrome, debido a “la relativa falta de mitigaciones que incorpora para tales vectores de ataque”, mismos que acortan la distancia entre la corrupción de memoria producto de errores de código, a un exploit. “Varios controles de seguridad realizados dentro del sandbox hacen posible que los exploits de RCE eludan la política del mismo origen (SOP), dando a los atacantes acceso a los servicios online de las víctimas, como correo electrónico, documentos y sesiones online de banca, aparte de sus credenciales”.
Esta situación, atribuible a un error de código, o bug, fue reportada a Google por el equipo Offensive Security Research (OSR) de Microsoft. La incidencia tiene el identificador CVE-2017-5121 y es clasificada por Microsoft como “vulnerabilidad de alta severidad, ya que hace posible la ejecución de código remoto dentro del navegador de un usuario”. La vulnerabilidad fue solucionada por Google en Chrome 61, y premiada mediante un cheque por 15.000 dólares, girado a nombre de OSR. Microsoft agradeció el gesto pero anunció que donará el dinero a beneficencia.
Cabe tener presente que Google solucionó la vulnerabilidad dentro de tres días, mientras que Microsoft no solucionó las suyas dentro del plazo de tres meses con que opera Project Zero de Google. Para que la comparación sea justa, también es importante considerar que Google puede actuar con mucha mayor celeridad, debido a que parchear un navegador no es lo mismo que parchear un sistema operativo. Para el caso de un navegador, la actualización de seguridad es expedita y se instala cuando el usuario inicia el software. Edge, en comparación, debe ser actualizado desde Windows Update.