Sistemas operativos, vulnerabilidades, exploits e inseguridad

Levante la mano el que crea que OS X e iOS son los sistemas operativos más vulnerables en uso en la actualidad. Sí, a mí también me parece difícil de creer, aunque por muchos años recibí un montón de correos electrónicos insultantes por haber dicho que los sistemas operativos de Apple no eran invulnerables.

Aún así, a esto mismo apunta el contenido del artículo publicado por la empresa GFI, titulado Most vulnerable operating systems and applications in 2014 (Los sistemas operativos y las aplicaciones más vulnerables de 2014), que se basa en datos de la National Vulnerability Database (NVD), y ha provocado un escándalo (silencioso) en los círculos que investigan los temas de seguridad informática. Este artículo también provocó una gran cantidad de correos insultantes, a juzgar por el tono de algunos de los comentarios en el blog. Curiosamente, algunos comentarios se centran en la “mala calidad del periodismo”, aunque Cristian Florian es gerente de producto, no un periodista:

Actualmente supervisa GFI LanGuard, una exitosa solución para gestionar la exploración y reparación de la seguridad de la red.

Mientras que algunos de los comentarios provenientes de la industria de la seguridad sugieren que, por el rol que desempeña, su comentario puede no ser para nada imparcial, creo que es justo asumir que algo sabe con respecto al tema. Pero, ¿tendrá razón? Bueno, eso depende de cómo definas “vulnerable”.

Ciertas personas, en especial Graham Cluley, indicaron que percibían algunas inconsistencias metodológicas tras sus conclusiones.

… cada versión de Microsoft Windows cuenta con su propia entrada; pero para los sistemas operativos de Apple juntó todas las distintas versiones en una sola entrada.

Esto daba la impresión superficial de que el artículo era tendencioso, porque si uno suma todas las vulnerabilidades correspondientes a varias versiones de Windows daba un total de 248, mucho más que las 147, 127 y 119 que se habían atribuido a OS X, iOS y el kernel de Linux, respectivamente.

A continuación, Florian respondió a esta cuestión en el blog y explicó que, como “muchas vulnerabilidades para Windows se aplican a varias versiones de Windows diferentes”, la suma total de vulnerabilidades para Windows sería 68. Aún así, habría sido más claro si los otros sistemas operativos también se hubieran separado por versión, aunque de esa manera sus conclusiones no hubieran sido tan dramáticas. Sin embargo, la sección actualizada detalla las vulnerabilidades para distribuciones individuales de Linux.

Pero también encuentro otros problemas con la granularidad de este comentario. Los datos nos muestran algo sobre la frecuencia de actualizaciones para plataformas individuales, pero no la rapidez con que se resuelven las vulnerabilidades, ni si alguna vez fueron aprovechadas por exploits y en qué grado. De hecho, directamente no existe ninguna información sobre las revisiones de las vulnerabilidades: las entradas no se quitan de la base de datos NVD cuando se corrigen y, de cualquier manera, el blog no incluye información al respecto.

Por otro lado, aunque aquí se hace referencia a vulnerabilidades individuales descubiertas para varias plataformas, tampoco se habla sobre la seguridad que tiene que tener la persona que utiliza la plataforma: existen muchos otros factores que determinan la seguridad de un sistema. Después de todo, tanto Windows como Android se ven afectados por una cantidad de malware mucho mayor que OS X o iOS, aunque la opinión varía con respecto a cómo medir el impacto de dichas cifras.

De hecho, 83% de las vulnerabilidades listadas están dirigidas a aplicaciones específicas, con un énfasis particular en navegadores y otras utilidades para plataformas múltiples (Java, varios programas de Adobe), en lugar de atacar un sistema operativo determinado, lo que puede ayudar a poner en perspectiva la guerra exagerada entre sistemas operativos.

El artículo actualizado deja en claro que:

… el propósito del artículo no es culpar a nadie: ni a Apple, ni a Linux, ni a Microsoft. El mensaje que estoy tratando de expresar es que todos los productos de software tienen vulnerabilidades.

Esto parece contradecirse un poco con el artículo original y con el principio de extraer conclusiones a partir de la comparación de totales: ¿necesitamos conocer los números para comprobar que “todos los productos de software tienen vulnerabilidades”? Puede ser que sí: algunos comentarios dejan en claro que varias personas prefieren ignorar los números si no concuerdan con sus prejuicios contra Microsoft.

Florian afirma que la frecuencia de actualizaciones aumenta a medida que el producto se hace más popular: esto no parece estar basado para nada en los resultados, ya que la cuota de mercado de Microsoft excede a la de todos los demás sistemas operativos de equipos de escritorio. Lo que es más, mientras que la diferencia entre la cuota de mercado de Android y de iOS carece de dramatismo, la diferencia entre las seis vulnerabilidades inequívocamente atribuidas a Android y las 127 que al parecer afectan a los usuarios de iOS sí llama la atención.

Sin embargo, el autor no nos dice cuántas vulnerabilidades de las 119 informadas para el kernel de Linux se aplican a Android y, sin duda, la relevancia de este tipo de análisis no me convence lo suficiente como para ocuparme yo mismo de contarlas. Supongo que podríamos argumentar que se hacen mayores esfuerzos en investigar vulnerabilidades a medida que crece su cuota de mercado, y que dichos esfuerzos disminuyen cuanto más viejo es el producto, pero esto verdaderamente es especulativo.

La empresa resume:

En GFI queremos que las personas utilicen la información como una guía para saber a qué áreas deben prestar mayor atención cuando aplican revisiones a sus sistemas.

Esto suena bastante justo, pero a menos que estés listo para zambullirte en los sitios de NVD y CVE y verificar tú mismo los detalles de todas las vulnerabilidades, creo que lo único que vas a aprender al leer el artículo es que cualquier sistema operativo importante puede tener vulnerabilidades (como ya era cierto en la época del auge de los grandes sistemas o mainframes), y que mantener y actualizar las aplicaciones es igual de importante (o a veces más) que mantener actualizado el sistema operativo. De todas formas, el artículo al menos menciona la clasificación de la NVD para cada categoría según si la vulnerabilidad es más crítica o no.

Ésta es la razón por la que me preocupa el artículo del GFI, al igual (o incluso más) que muchos de los artículos generalizadores que se ensañan con aspectos bastante superficiales de una investigación determinada.

Hace bastante tiempo, mi esposa y yo teníamos una pequeña propiedad victoriana en la región central de Inglaterra. Por su antigüedad y cercanía a una concurrida estación de tren y a terrenos de origen fluvial y glacial, no era de sorprender que, como muchas otras casas en la zona que se habían construido en la misma época, sus paredes externas hubieran sido reforzadas en algún momento con tirantes. Cuando llegó el momento de dejar el lugar, los posibles compradores nos hacían comentarios irónicos e intentaban bajar el precio de la propiedad cuando veían las placas de anclaje que significaban la presencia de los tirantes. Si quisieras comprar una casa en un área como ésa, ¿no preferirías que ese refuerzo ya estuviera hecho?

De la misma forma, me parece inapropiado alentar al lector general no especializado a medir la seguridad de un sistema operativo por la cantidad de vulnerabilidades informadas. Quizá si hubiera más información disponible que la dada en este artículo sobre la naturaleza de cada vulnerabilidad, con vínculos, o al menos, términos de búsqueda adecuados para investigar las vulnerabilidades con mayor detalle, así como información sobre la solución que en cada caso dio la empresa responsable del software, el artículo habría resultado más útil. Entiendo que ese nivel de detalle habría requerido un esfuerzo considerable, pero estoy seguro de que lo habrían apreciado los “administradores de TI” a los que se hace referencia.

Si buscas información específica para Windows sobre vulnerabilidades y sus revisiones con un nivel de detalle mucho mayor, te recomiendo leer este informe de un colega de ESET: Aprovechamiento de vulnerabilidades de Windows en 2014.

componentes_corregidos_2014
Se concentra particularmente en Internet Explorer (lo que no es sorprendente, dada la gran cantidad de revisiones que necesitó en 2014 en comparación con otros componentes de Windows) pero también brinda información sobre la distribución de tipos específicos de exploits.

actualizaciones
Esta imagen tomada de la página 16 del reporte muestra la distribución de los ataques de exploits mediante la infección por páginas web (drive-by), el escalamiento de privilegios para usuarios locales (LPE) y la ejecución remota de código (RCE) en una amplia gama de componentes, incluyendo los controladores del modo kernel (Kernel Mode drivers) y los componentes de modo de usuario de Windows (UMC).

Autor David Harley, ESET

Síguenos