Archive for seguridad

Grave vulnerabilidad en Firefox 2.0.0.12

// February 10th, 2008 // 4 Comments » // noticias, seguridad

Desde Slashdot llego a esta web dónde he encontrado la explicación de cuál es la vulnerabilidad grave descubierta en la versión de Firefox liberada hace nada:

“In the vulnerability we make use of the ‘view-source:’ scheme that allows us to source out the ‘resource:’ scheme. With it, we can view the source of any file located in the ‘resource:///’ directory, which translates back to: file:///C:/Program Files/Mozilla Firefox/. Then we only include the file inside it and it becomes available to a new page’s DOM, and so we are able to read all settings.”

Es decir, que la información de configuración de Firefox está al descubierto si alguien utiliza un script como el utilizado al final del ejemplo de la web anterior, por lo que el navegador se vuelve vulnerable a inyecciones de código.

No obstante, el plugin NoScript soluciona la situación hasta que dentro de unos pocos días veamos la versión 2.0.0.13.

ACTUALIZACIÓN:  Como dice Nukeador en los comentarios, el equipo de Mozilla ha investigado la vulnerabilidad y ha confirmado que no afecta a los datos personales del usuario, si no a datos genéricos de Firefox, públicos en la web.

¿Cómo funciona OpenID?

// February 6th, 2008 // No Comments » // seguridad, tecnología

Si el otro día hablábamos de qué es OpenID, ahora vamos a profundizar un poco en cómo funciona. Este post será un tanto más geek, así que podemos fijarnos en la descripción básica oficial:

“For geeks, OpenID is an open, decentralized, free framework for user-centric digital identity. OpenID takes advantage of already existing internet technology (URI, HTTP, SSL, Diffie-Hellman) and realizes that people are already creating identities for themselves whether it be at their blog, photostream, profile page, etc.”

En primer lugar, debemos entender que OpenID es un mecanismo para delegar el sistema de autenticación. Así, es de vital importancia contar con un proveedor de identidad que controle la información final.

En las primeras versiones, los identificadores consistían en URLs como las vistas en el post del otro día; en las últimas versiones, los XRI han sido incluidos en el protocolo, gracias a los cuales, la identificación puede hacerse mucho más sencilla que con una URL (normalmente larga y poco intuitiva). Esta simplicidad viene dada por los i-names, que tiene la siguiente forma:

=Mary.Jones@Jones.and.Company

Puesto que estos XRI en forma de i-names son reasignables o transferibles, cuando se utilizan como identificadores para el protocolo OpenID, siempre se transforman a i-numbers, que son únicos e irrepetibles para cada usuario, por ejemplo:

=!1000.a1b2.93d2.8c73@!1000.9554.fabd.129c

¿Pero cómo se produce la comunicación? Por un lado, tras recopilar el identificador (XRI o URL) de la página que requiere la información de registro, se utilizará el protocolo de búsqueda de servicios Yadis, quien se encargará de encontrar el documento XRDS asociado al identificador mencionado.

Dicho documento, también conocido como documento Yadis, contiene información de todos los servicios disponibles para identificar al usuario. Por ejemplo, de este documento XRDS se extraerían los siguientes servicios:

  • http://www.myopenid.com/server
  • http://www.livejournal.com/openid/server.bml
  • http://mylid.net/liddemouser

Una vez elegido un servicio de entre los anteriores, se produce la verdadera comunicación entre la parte confidente y el proveedor de identidad, en uno de los posibles modos:

  • checkid_immediate: si la comunicación es automática y transparente al usuario.
  • checkid_setup: si el usuario es redirigido al proveedor de identidad para que se autentique manualmente.

La segunda opción es la más común ya que lo lógico es que el proveedor pida una identificación directamente al usuario. Tras esta identificacion (y la confirmación del usuario), las credenciales son enviadas hasta el sitio web inicial y se verifican, terminando así el proceso.

Fuente | OpenID en la wikipedia, Yadis Homepage

¿Qué es OpenID?

// February 4th, 2008 // 11 Comments » // seguridad, tecnología

OpenID es un servicio de identificación descentralizado, es decir, un sistema que elimina la necesidad de múltiples nombres de usuario en diferentes sitios web, simplificando la experiencia online.

La identificación con OpenID sólo requiere una URL (o XRI) válida de un sitio web que implemente el protocolo (proveedores). ¿Pero qué sitios web? Pues hay muchos (y cada día más) pero aquí tenéis unos ejemplos:

  • Yahoo!: https://me.yahoo.com/username
  • Flickr: http://www.flickr.com/photos/screenname
  • AOL: enid.aol.com/screenname
  • LiveJournal: username.livejournal.com
  • Technorati: technorati.com/people/technorati/username
  • LiveDoor: profile.livedoor.com/username
  • Smugmug: username.smugmug.com
  • Vox: member.vox.com
  • WordPress: username.wordpress.com

Por cierto, para utilizar las credenciales de Yahoo! o Flickr deberéis primero activar este servicio desde aquí.

¿Y si no tengo cuenta en ninguno de los sitios web anteriores? Pues no pasa nada: si tenéis un dominio propio, como un blog o una web, podéis incluir el código necesario en el hosting y utilizar vuestro propio sitio web como proveedor. Aquí tenéis un tutorial.

Con una de las URL mostradas arriba podréis identificaros, ya que tras introducirla, se os pedirá la contraseña del sitio web proveedor y éste cederá vuestros datos al sitio en el que queréis registraros, tras una petición de confirmación.

La mejor manera de verlo es con este ejemplo:

Imaginemos que quiero crear un diario personal en LiveJournal.com, pero quiero usar los datos de registro de mi cuenta de fotos de Flickr mediante OpenID. En lugar de registrarme como nuevo usuario, iniciaré sesión con mi URL identificativa: http://www.flickr.com/photos/liboh desde esta página.

A continuación, Flickr me pedirá mi contraseña para asegurarse de que soy yo y tras introducirla, me pedirá que confirme que confío en LiveJournal para cederle mis datos. En cuanto confirme, habré iniciado sesión en LiveJournal sin ningún tipo de registro y estaré preparado para crear mi diario personal. Así de fácil.

El sistema fue creado por Brad Fitzpatrick de LiveJournal y cada vez es más popular (Yahoo! se ha puesto manos a la obra hace poco). Y es que la idea es buena… se acabó tener miles de contraseñas para cada sitio.

¿La pega que veo? Un problema que siempre estará inevitablemente unido a la unificación en Internet: como te roben la contraseña de tu proveedor central…

Ebay, otra forma de blanquear dinero

// January 23rd, 2008 // 5 Comments » // finanzas, noticias, seguridad

Las mafias de Europa del Este están de enhorabuena, porque ya disponen de otro método para sacar dinero del país: Ebay. O, por lo menos, así lo veo yo, después de ver como ayer se vendía una caja Xbox (¿vacía o con consola?) por la friolera de 10.200 €.

subasta ebayHaciendo cálculos, ebay se queda con 200 €, y lo que resta son 10.000 €. Una cifra demasiado redonda para ser una broma entre amigos, que serían demasiado estúpidos para querer perder esos 200 €. Y, que yo sepa, una edición limitada de Xbox cuesta 500 € a lo sumo, ¿no?

Examinando al vendedor, tiene un buen historial: País Vasco, un año en ebay, desde hace (sólo) dos semanas ha estado vendiendo videojuegos, y ha realizado muchas compras. Eso sí, el comprador de la “caja xbox” es de Portugal y se dió de alta ayer, ¡qué casualidad! ¿Qué contendrá la caja? Mmm, Portugal y norte de España… ¿Alguien ha visto la película Airbag?

En fin, podemos ver que ebay es una forma rápida y eficaz para sacar dinero fuera del país de una forma “justificada”. Me pregunto si la brigada de delitos informáticos de la policía se preocupará de este tipo de cosas, o pasará de ellas totalmente…

Campus Party 07 #11, AJAX y la seguridad web

// July 27th, 2007 // No Comments » // eventos, seguridad

Los ataques web son cada vez más comunes y proteger nuestra aplicación puede llegar a convertise en toda una odisea. Desde el área de desarrolladores, nos han hablado de los peligros que conlleva utilizar AJAX, tan extendido últimamente.

Obviamente, no se trata de no utilizar AJAX, si no de ser conscientes de las implicaciones y tomar medidas especiales para protegernos.

AJAX introduce problemas de diseño, puesto que permite conocer cómo es la aplicación web, ya que hace llamadas a las funciones de la aplicación desde el navegador, desde la capa de javascript. Accediendo a dicha capa, se puede capturar información sobre los métodos o funciones disponibles.

Además, el navegador envía información al servidor de manera transparente al usuario, con lo que podría enviar información confidencial sin que el usuario se enterase.

Por tanto, algunos consejos que se nos ha dado:

  • No confiar en los datos que mande el cliente al servidor.
  • Validar, filtrar y sanear los datos de entrada.
  • Reautenticar a los usuarios durante procesos críticos.
  • No dejar comentarios en el código fuente.
  • Filtrar los métodos HTTP que no van a ser utilizados.
  • Establecer políticas de timeout de sesiones.
  • Establecer una buena política de permisos y cifrado.

Más información | OWASP

Estafas en internet (historia de una víctima)

// June 4th, 2007 // 5 Comments » // personal, seguridad, sitios web

Las estafas en internet es una actividad muy común hoy en día, debido a los mínimos recursos necesarios para realizarlas. La mayoría se basan en la suplantación de identidad, y la más común es el conocido phising. Más o menos todos conocemos cómo funciona, y estamos bastante advertidos para no caer en el error de “verificar” nuestros datos personales en “la nueva página web” de nuestro banco.

Pero pocos conoceréis la otra cara del phising, la del blanqueo de dinero. Lo que voy a contar a continuación es la vivencia personal de un amigo mío que, sin saberlo, se convirtió en un mulero. Por su seguridad, no mencionaré datos concretos.

En un principio, le llegó por internet una muy formal y educada oferta de empleo a tiempo parcial, perfecta para estudiantes, ya que además de ser a tiempo parcial, no sólo estaba muy bien pagada y con comisiones por trabajo realizado, sino que además trabajaría para una famosa universidad de Japón. El supuesto empleo consistiría en organizar un evento de “mentes brillantes” que tendría lugar todos los meses, es decir, hacer llegar el dinero de los espónsores europeos de la universidad (las víctimas del phising) a los participantes del evento (una identidad cualquiera en algún lugar de Europa del Este). Mi amigo empezó la correspondencia por e-mail interesándose en la oferta y al poco tiempo le respondieron aceptándole y pidiéndole su CV y datos personales (para “comprobar su identidad”).

Después le hicieron abrir una cuenta bancaria, en la que le ingresaban de una en una las transferencias (de las cuentas de las víctimas del phising) para que sacara esa suma del banco en metálico, y lo enviara en una oficina Western Union o MoneyGram a un nombre y dirección de Europa del Este, de forma que era totalmente imposible seguir el rastro a ese dinero. (more…)

Seguridad en redes Wi-Fi: WEP y WPA

// May 23rd, 2007 // 4 Comments » // seguridad, tecnología

Seguramente todos los que han montado una red Wi-Fi se han preguntado: ¿qué será mejor para el cifrado de la contraseña de red, la tecnología WEP o WPA? La respuesta clara es la tecnología WPA, ya que WEP es sorprendentemente sencilla de hackear.

La prueba es que existen programas gratuitos como AirSnort que nos permiten determinar la clave WEP de una red inalámbrica al alcance en muy poco tiempo. Esta aplicación rastrea los paquetes cifrados de una red seleccionada y va recopilando información sobre la clave… cuando tiene suficientes datos (entre 200.000 y 50.000 paquetes, según VNU Labs) devuelve la clave instantáneamente sin mayor dificultad.

No obstante, como hay sistemas anticuados que sólo permiten esta tecnología de cifrado, podemos utilizar AirSnort para comprobar el tiempo que necesitaría un hacker para romper nuestra clave y así saber la frecuencia con la que debemos cambiar nuestra clave.

Ahora bien, ¿es la tecnología WPA totalmente segura? Desgraciadamente no, pero existen pautas a seguir para fortificar los puntos débiles de este cifrado que harán casi imposible su hackeo.

Si utilizamos una clave de al menos 20 caracteres, que combine dígitos, letras e incluso caracteres especiales, y no usamos ninguna palabra del diccionario entre los 20 caracteres, la seguridad será tan elevada que requeriría una ingente canti-dad de tiempo conseguir la clave. Si encima cambiamos la clave quincenalmente, podemos estar completamente tranquilos.

Por cierto, para todos aquellos que habéis tenido problemas al conectar un Mac con una red Wi-Fi, tanto en tecnología WEP como WPA o WPA2: las claves en ASCII se deben poner entre comillas respetando entre mayúsculas y minúsculas y en hexadecimal empezarán con el símbolo ‘$’.

Enlace | AirSnort