lunes, 24 de septiembre de 2012

Abandonar un programa por sus 0-days

Alemania lo ha vuelto a hacer: su gobierno desaconseja el uso de Internet Explorer después de descubrirse el grave fallo de seguridad que estaba siendo aprovechado por atacantes. No es la primera vez que lo hace y no siempre con este navegador. ¿Tiene fundamento su recomendación?

Un poco de historia

A principios de septiembre de 2008 Google lanza su nuevo navegador Chrome. Una semana después, la red se inunda de comentarios sobre todos los aspectos de esta nueva aplicación y en particular sobre su seguridad. Muchos comentarios, exploits y aclaraciones después, el gobierno alemán desaconsejó explícitamente el uso de este navegador. Es cierto que comenzó con mal pie. La Oficina Federal para la Seguridad de la Información alemana desaconsejó abiertamente el uso del navegador Chrome en un importante informativo televisado. Tuvo mucho que ver su problema de privacidad.

A principios de 2010 es noticia en todos los medios que el gobierno alemán (ahora unido al francés) recomiendan no usar Internet Explorer como navegador, a raíz de los ataques perpetrados desde el gobierno Chino contra Google aprovechando una vulnerabilidad previamente desconocida del navegador de Microsoft.

En marzo de 2010, Mozilla publica oficialmente la versión 3.6.2 del navegador Firefox que soluciona (entre otros) un fallo de seguridad que estaba siendo aprovechado por atacantes desde hacía un mes. En esta
ocasión el gobierno alemán recomendó no usar el navegador hasta que el fallo fuese corregido.

Las noticias sobre Internet Explorer siempre tuvieron más cobertura en los medios, pero todos han sido "desaconsejados" por el gobierno alemán en algún momento.

¿Cuándo abandonar el uso de un programa?

Es importante aclarar varios conceptos, para eliminar prejuicios e ir más allá de los titulares.

  • 0-day no es cualquier vulnerabilidad recién encontrada, como se suele denominar. Un 0-day debe llamarse a la vulnerabilidad grave que se descubre cuando está siendo aprovechada por atacantes. Por tanto, alguien conoce no solo su existencia sino cómo aprovecharla y es más... lo está haciendo no se sabe bien desde cuándo. Este es el peor escenario posible y bajo el que debemos barajar la posibilidad abandonar temporalmente el uso de un programa. Una vulnerabilidad recién descubierta publicada sin parche es eso: una vulnerabilidad sin parche que, probablemente en breve, será aprovechada por atacantes pero no se tiene constancia de que eso esté ocurriendo.
        
  • El consejo es siempre temporal. Los programas evolucionan. Chrome empezó con mal pie en la seguridad y la privacidad para acabar siendo el navegador con más vulnerabilidades en número... pero el más seguro en conjunto. Internet Explorer camina hacia un navegador (por fin) en las antípodas de su eterna versión 6, y Opera está tardando en adoptar las mejores prácticas de seguridad, cuando históricamente siempre fue puntero. Los programas y las circunstancias cambian. Y lo inteligente es saber adaptarse.  Si estos consejos fueran permanentes, no nos quedaría
    ya software para usar.

Una vez contextualizado: ¿se debe abandonar el uso del programa o intentar mitigar su impacto? Pues depende de las necesidades y las circunstancias. Muchos portales internos o redes corporativas sólo funcionan con Internet Explorer, lo que puede impedir su abandono. En estos casos hay que luchar por mitigar el problema de seguridad con mayor ahínco hasta que exista parche. Bien deshabilitando (si es posible) una funcionalidad que lo provoque, bien tomando medidas más "agresivas" (meter en una sandbox de terceros al navegador durante un tiempo, si es que no se usa ya esa medida habitualmente). Los usuarios tienen diferentes necesidades, y no vale con abandonar como apestados a los que no pueden migrar. Es necesario proporcionarles información para que puedan decidir..

Si, por el contrario, se es libre para cambiar, se puede utilizar durante ese tiempo otro navegador. Sin embargo el problema se agrava con otro tipo de software, como Java por ejemplo. No existen demasiadas alternativas. Microsoft lanzó una máquina virtual Java propia que resultó un fiasco en seguridad, además de conseguir escaso éxito y grandes problemas con la justicia. La abandonó en 2003 (aunque le dio soporte hasta 2007). IBM tiene su propio JRE, pero no es tan popular y comparte buena parte del código. ¿Qué ocurre cuando aparece un 0-day como el de hace unas semanas en la máquina virtual Java de Oracle? No cabe más que el abandono temporal o limitar y vigilar extraordinariamente su uso asumiendo un riesgo adicional si no se tiene más remedio.

Ante problemas tan graves como están causando vulnerabilidades en Java, Flash o Adobe PDF Reader en los últimos años, quizás sería útil también un llamamiento público para vigilar su uso cuando se den las circunstancias de peligro descritas

Conclusiones

En general, al lanzar un mensaje de este tipo es necesario ser cuidadoso con el lenguaje. Por ejemplo, el gobierno recomendaba a los usuarios que buscasen una alternativa al navegador Internet Explorer de Microsoft, "para garantizar su seguridad". Esta afirmación es peligrosa, y puede llevar a equívocos. Evidentemente ningún navegador "garantiza la seguridad" sino que en lo posible y dada la situación (como siempre ocurre en seguridad) el uso de alternativas que no están siendo atacadas en estos momentos minimiza el riesgo. Pero también minimiza el riesgo (ahora y siempre) seguir usando cualquier navegador o programa si se aprovechan y se entienden a las medidas de seguridad que implementa o que se le pueden añadir.

En definitiva, no sabemos qué programa, ni de qué forma, puede estar siendo atacado en estos momentos. Recomendar el abandono de un navegador cuando aparezca un 0-day puede ser efectivo para alertar a los usuarios, pero es necesario hacerlo de forma completa y sistemática (no solo con los navegadores), cuidando al mensaje y siempre que exista un peligro real... un trabajo de alerta a tiempo completo al fin y al cabo.

De lo contrario, lo que se conseguirá con mensajes de este tipo descontextualizados es fomentar la eterna y absurda lucha de ideologías sobre el software, que con su ruido, no aporta demasiado en cuestión de seguridad.



Sergio de los Santos
Twitter: @ssantosv

3 comentarios:

  1. Mas alla de si es exagerado o no, ningun informatico competente deberia acosejar Internet Explorer. No hay que defender lo indefendible, ESTAMOS HABLANDO INTERNET EXPLORER! que hace ya bastante tiempo que esta detras de los demas navegadores en todo desde velocidad, innovasion, funciones, seguridad, etc...

    Nadie deberia usar internet explorer.

    ResponderEliminar
  2. Sergio es un Windozero consumado, y se nota en sus articulos.
    En este, que habla de la decisión del gobierno aleman de desaconsejar IE por su inseguridad, no ha podido resistir decir que Firefox y Chrome tambien han sido desaconjeados, totalmente cierto, por supuesto.
    Lo que no ha comentado es el amplio e inagotable historial de fallos de seguridad y la gravedad de los mismos de IE frente el historial de Firefox y Chrome.

    ResponderEliminar
  3. Pero que podia hacer aquel que en su equipo solo tiene el winXp y lo mas que soporta es el IE 6 o lo más 8, tendria que usarlo y para donde, lo que si es importante lo que mensiona Sergio de extramar las seguridade cuando se sepa de de un 0-day, y optar por alternativas, saludos a todos.

    ResponderEliminar