Saturday, August 22, 2009

55000 razones para cuidarte en la web




Dos artículos que vi estos dias me impulsan a escribir este post. El primero es un informe de ScanSafe que cuenta de la existencia de unos 55000 sitios web que contienen una mezcla de backdoors, troyanos y otros malwares.

El segundo es un interesante articulo llamado Super-safe Web Browsing que cuenta los métodos que utiliza Rich Mogull ( consultor de seguridad en Securosis ), para navegar seguro en la internet.

Estuve pensando en como clasificar el riesgo de los diferentes entornos en los cuales navego y basado en esto hacer una matriz de riesgos.

Pero primero veamos algunas definiciones :

Amenaza : Este parámetro toma en cuenta, que tan peligroso es el sitio al cual vamos a visitar. El nivel de amenaza esta dado por la posible inclusión de código dañino ò no uso de certificado digital.

Dentro de las diferentes amenazas podemos citar, como en el articulo de Mogull :

  • Cross-site scripting (XSS), codigo malicioso insertado dentro de la web en la cual confiamos.
  • Cross-site request forgery (CSRF),codigo malicioso insertado en una pagina web que hace que nuestro browser envie comandos a otros sitios ( banca electronica ) en nuestro nombre.
  • Click-jacking, son areas de la pantalla que poseen botones ocultos en un website y que ante un click de nuestro mouse ejecutan una accion.

Confidencialidad : Aquí tendremos en cuenta el grado de privacidad con la cual deberemos manejar la información. Sitios como Bancos, E-comerce o son muchos mas sensibles que foros de discusión que visitemos.

Entorno : En esta variable consideramos al entorno fuera del browser, por ejemplo el SO. Un keylogger o un rootkit pueden estar presente en el SO por lo cual una VM no puede ser lo suficiente segura para realizar transacciones comerciales.

Solucion : Aqui se encuentra el entorno propuesto según los valores previamente ingresados. Existen tres soluciones posibles, de menor a mayor grado de confidencialidad. Browser normal, Browser en VM y LiveCD.


Veamos algunos ejemplos :



Por supuesto que estas definiciones son a titulo personal. Ustedes pueden considerar seguro acceder a su mail desde el mismo browser con el cual visitan un foro de hacking en China.

Porque soy tan paranoico de ejecutar el acceso a la banca personal desde un LiveCD ?

Veamos las tres variables :

Nivel de Amenaza

Considero bajo el nivel de amenaza a la existencia de código malicioso en un sitio de Banca Personal. La existencia de un certificado digital en orden y el uso de validación por medio de un método diferente a la password ( two-form authentication ) hace del sitio en el cual hago banca personal de bajo riesgo.

Confidencialidad

De mas esta decir que la información que manejamos en nuestra cta bancaria es muy confidencial.( De otra manera todo el mundo conocería que soy un pobre raton. )

Entorno

El entorno en el cual accederemos a la cuenta bancaria debe considerarse hostil. En el SO que utilizamos a diario y en el cual interelacionamos con pendrives, CD's, internet siempre existe la posibilidad de tener un troyano que actue como keylogger.

Solucion : LiveCD

Bootear un LiveCD de una distribución oficial y acceder "exclusivamente" al sitio de la banca electrónica, es un método que reducirá la posibilidad de ser víctimas de ciberdelincuentes.

Aun si nuestro SO diario tiene un rootkit o un keylogger. El iniciar la máquina desde un LiveCD aislara estos problemas.

Aun una Maquina Virtual ( VM ) no esta libre de los keyloggers o rootkit, si el sistema anfitrión es víctima de este tipo de amenazas.

Es menester verificar el certificado digital emitido por el sitio, para no ser víctimas de un ataque de Man in the middle. De otra manera, aun este grado de paranoia resultara ineficaz.

Existen ya algunos PoC de rootkit que se almacenan en las BioS, con la cual aun este tipo de acciones en el futuro pueden ser insuficientes.


Porque ejecutar el Webmail dentro de una VM ?

Básicamente para evitar que si estamos navegando en un sitio hostil o en el cual tenemos poca confianza, algún tipo de ataque 0day permita acceder al entorno de variables del webmail.

Un ejemplo reciente es un ataque de CSRF en Facebook

Nivel de Amenaza

Considero al webmail de Google con un nivel de amenaza medio.
La integración de varias herramientas, junto con los enlaces patrocinados, dejan lugar en algun momento a la inyeccion de codigo malicioso.

Confidencialidad

Hoy en dia el webmail no solamente es el recipiente de nuestros correos, se volvio también recipiente de documentos críticos y en algunos casos el lugar donde llegaran los datos de cuentas abiertas en otras herramientas como las actualizaciones de passwords de varios productos.

Entorno

El entorno en el cual accederemos al webmail debemos considerarlo Hostil, ya que pueden existir los mismos peligros que en el caso de la bca electrónica. Keyloggers y Rootkit.


Solucion : VirtualMachine

Si bien existen los mismos riesgos que para el acceso a una bca electronica, tambien debemos considerar la "practicidad" de la solucion. El acceso al webmail es permanente, el acceso a una cuenta electrónica en mi caso esta mucho mas restringido.

No es necesario aclarar que esta máquina virtual no debe ser utilizada para acceder a sitios cuyo nivel de amenaza sea mayor.






El acceso a los sitios de underground no debe dejar huella.

Visitar un sitio under puede resultar como caminar en un campo minado, siempre existiría alguien con ganas de probar el ultimo exploit.


Nivel de Amenaza

Altísimo. Aquí uno puede esperar que ocurra cualquier cosa. Desde el reinicio de la máquina virtual, scaneo de nuestra red, intento de ejecución de troyanos.




Confidencialidad

A menos que estemos divulgando información confidencial de un tercero, lo recomendable es no dejar datos personales en estos sitios.



Entorno

En caso de que exista una vulnerabilidad que puede saltar de una VM a nuestro entorno de hosting, puede crearnos un grave dolor de cabeza.





Solucion : LiveCd en VirtualMachine


Una LiveCD ejecutándose dentro de una Virtual Machine, nos permitira crear un entorno que se eliminara luego de visitar los sitios hostiles.

Por supuesto que debemos tener en cuenta como aislar dentro de nuestra red la máquina virtual para prevenir que desde esta se tome control de sistemas críticos como el router de acceso a internet.










Que navegador ejecutamos dentro de los diferentes entornos ?



Hardening Firefox + NoScript +OpenDNS +Usuario con bajo nivel de permiso + Sentido Común

Entiendo que es mucho mas simple utilizar un solo navegador para realizar todas las tareas. Incluso dentro de ambientes corporativos es muy difícil implementar estos entornos propuestos.

Pero la realidad nos muestra que aun personas con años de trabajo en seguridad fueron victimas de hackers , porque nosotros deberíamos de estar a salvo ?

2 comments:

Víctor Terán said...

Me llama la atención tu post. lo malo es que esta totalmente sin imágenes,todas se dañaron

Víctor Terán said...

olvidalo, fue mi internet