lunes, 15 de septiembre de 2008

Reflexiones sobre Google Chrome y la seguridad

A principios de septiembre Google lanza (después de muchos rumores) casi por sorpresa (como suele hacer con todo) su nuevo navegador, conocido como Chrome. Una semana después, Internet se inunda de comentarios sobre todos los aspectos de esta nueva aplicación y en particular sobre su seguridad. Muchos comentarios, exploits, actualizaciones y aclaraciones después, nos enteramos de que el gobierno alemán ha desaconsejado explícitamente el uso de este navegador. ¿Por qué?

Se lanza un nuevo navegador, concebido para la Internet de hoy. No es un programa cualquiera. Genera gran expectación y curiosidad porque es Google, y todo lo que hace parece hacerlo bien, elegante, sencillo, robusto y bajo esa filosofía “don't be evil” con la que proyectan una imagen de cercanía y respeto por el usuario. Si hay que sacrificar la privacidad, el usuario medio parece sentirse más a gusto si los servidores son de Google y no de otras compañías. Al fin y al cabo, somos mayoría los que le confiamos a su buscador todas nuestras inquietudes varias veces al día.

Además de la sencillez y otras muchas mejoras, de forma breve, las principales avances técnicos sobre seguridad son:

* Cada pestaña se ejecuta en su propio proceso. Si alguna se cuelga, no (debería) arrastra(r) a todo el navegador.

* Se ejecuta en una sandbox, de forma que en principio no se podría acceder al sistema de ficheros real del ordenador a menos que sea explícitamente ordenado. No está claro qué ocurre con los plugins en este sentido.

* El modo Incognito (algo que también incorpora Internet Explorer 8 como InPrivate) en el que el usuario puede navegar sin dejar rastro en su sistema (básicamente histórico y cookies). Sin embargo sí que se envían las cookies ya almacenadas si las hubiese por defecto.

En cuanto estuvo disponible para descarga, aparecieron las primeras vulnerabilidades (y se descubrirán más... lo más grave vendrá cuando de alguna forma se averigüe cómo saltarse esa sandbox). En principio denegaciones de servicio básicamente. Una denegación de servicio no es una vulnerabilidad grave en un navegador. Sí se puede considerar un fallo de diseño en este caso concreto, puesto que hacer que el navegador deje de responder por completo en principio contradice la filosofía de crear cada pestaña en su propio proceso independiente. Por ejemplo, existen literalmente decenas de formas de hacer que Internet Explorer deje de responder. Firefox sufrió lo suyo (y aún hoy en día) con los torpedos de Zalewski, que hacían que el navegador dejase de responder una y otra vez incluso después de varias actualizaciones intentado solucionar el problema.

"Es una beta, es normal" se puede argumentar, pero esto depende mucho de los gustos, y de comulgar con la filosofía de negocio de Google. Hay quien no es tan condescendiente con fallos en otros navegadores recién salidos del horno. Google parece abusar de la etiqueta "beta", manteniéndola más que cualquier otro fabricante en servicios y programas de uso masivo pero eso nunca ha significado que descuide el producto. Hay quien por muchos intereses parece retirarla demasiado pronto. Es su decisión, depende de qué se exija para considerarlo "maduro". Todo software seguirá teniendo errores y vulnerabilidades en cada ciclo de producción, independientemente de que se etiquete en un estado u otro. ¿Está listo realmente el navegador? ¿Ser "beta" es una excusa? No hay respuestas válidas.

La vulnerabilidad "real" vino después. Chrome está basado en Webkit, el motor de Safari. Esta sí era un problema por dos razones. Primero por estar heredada de un fallo ya conocido, admitido y corregido en junio por Apple en Safari. Segundo por lo que permitía: la descarga de archivos en el escritorio de forma automática (sin preguntar al usuario) al visitar una web especialmente manipulada. Un atacante podría descargar muchos archivos automáticamente en el escritorio hasta "bombardearlo" (carpet bomging). ¿Por qué heredar un fallo ya corregido? Se descubrieron otras de cierta gravedad. Rishi Narang publicó una prueba de concepto pública que permitía una denegación de servicio, pero se intuía la ejecución de código.

Todo se confirma cuando el día 8 se actualiza el navegador y se desvela que soluciona al menos dos vulnerabilidades que permitían la ejecución de código. Una a través de nombres largos en el cuadro de diálogo "Guardar como" y otra relacionada con el manejo de enlaces en la barra de estado. Sobre el "carpet bombing", se modifica el escritorio como destino por defecto de archivos descargados. Se dejan sin parchear un buen número de problemas que atacan directamente a la estabilidad del programa.

En cuanto a problemas de privacidad, también se ha discutido bastante. Desde un problema en el diseño de página 404 (en la que sugiere búsquedas) que permitiría pasar por GET quizás sesiones o contraseñas a los servidores de Google, hasta el hecho de que, en su política de privacidad, se hablara claramente de enviar a Google información tecleada por el usuario. El buscador siempre ha sido el gran recolector de información en Internet, y nunca lo ha ocultado. En este aspecto precisamente radica su poder. Gmail ya se curtió en cuestión de polémicas, cuando pretendieron analizar el contenido de los correos para ofrecer publicidad más ajustada al perfil del que lo escribía. Google Toolbar era una extensión para IE sobre la que ya se polemizó en su momento. Existe Google Calendar, Google Docs, Google Desktop Google Adsense, las cookies de Google, su lector de RSS, etc... todos son verdaderos almacenes de hábitos, gustos y datos personales o perfiles únicos alojados en los servidores de Google. No nos deberíamos escandalizar ahora por Chrome.

Pero hay quien no opina así. La Oficina Federal para la Seguridad de la Información alemana advirtió el día 9 que resultaba arriesgado que los datos de un usuario resultaran acaparados por un único fabricante y desaconsejó abiertamente el uso del navegador Chrome en un importante informativo televisado.

Chrome es mucho más que una navegador, y se ajustará perfectamente a (los antiguos y a) los nuevos servicios que muy posiblemente lance Google, con lo que ganará cuota en tanto en cuanto existan personas que quieran disfrutar de todo lo que les ofrece la compañía sin pensar en que sus datos están alojados en un sistema ajeno. Google pretende llevar el escritorio cada vez más hacia la web y alejarlo del disco duro local, y Chrome será la herramienta adecuada para conseguirlo. Quizás vivamos una guerra de navegadores mucho más entretenida que la de finales de los 90, en la que Microsoft aplastó con malas artes a Netscape en apenas unos meses.


Sergio de los Santos
ssantos@hispasec.com


Más información:

Google Chrome vulnerabilities starting to pile up
http://blogs.zdnet.com/security/?p=1858

Autoridades alemanas: “No use Chrome"
http://www.diarioti.com/gate/n.php?id=19301

Google Releases Chrome Version 0.2.149.29
http://www.us-cert.gov/current/index.html#google_releases_chrome_version_0

Google, ¿el otro gran hermano?
http://blog.hispasec.com/laboratorio/185

24/06/2008 Se actualiza por fin la vulnerabilidad “compartida” entre
Safari y Windows
http://www.hispasec.com/unaaldia/3531

No hay comentarios:

Publicar un comentario en la entrada