12 de julio de 2011

El protocolo de autenticación OAuth. ¿Qué es? (I)

Hoy comienzo una serie de entradas que van tienen como objetivo presentar el protocolo de autenticación OAuth.

¿Qué es OAuth? (Necesidad de OAuth)

Como ya he dicho, es un protocolo de autenticación. Es decir, se utiliza para que una entidad (normalmente un servidor Web) sea capaz de identificar a otra entidad que intenta acceder a sus recursos (normalmente un usuario).

En este punto, podríamos estar pensando en un formulario de login de Usuario y Contraseña y prácticamente viene a ser eso pero con una diferencia que voy a explicar con un ejemplo.

A día de hoy, tenemos cientos de aplicaciones para nuestros dispositivos móviles, extensiones de navegadores, servicios Web, etc. que nos ofrecen acceder a recursos como Facebook, MSN, Gmail, twitter... y nos piden que introduzcamos nuestras credenciales en estos servicios para que las aplicaciones puedan conectarse y acceder a nuestro muro, nuestras fotos, para permitirnos publicar tweets desde la aplicación, etc.

Pero, ¿nos podemos fiar de estas aplicaciones? Si introducimos nuestras credenciales en una aplicación, no sólo le estamos dando acceso a nuestros datos, estamos dándole la oportunidad de "robarnos" la cuenta porque podría tratar de cambiar nuestra contraseña.

¿Quién no ha tenido algún amigo que le pregunte: "me metí en una de esas aplicaciones para comprobar quién me ha borrado del Messenger y ahora no puedo entrar. ¿Qué hago?"?

Pues bien, OAuth es la solución a esto ya que permite a las aplicaciones de terceros acceder a la información que tú quieras compartir con ellas pero sin que introduzcas tus credenciales directamente en las aplicaciones.

El flujo de la autenticación a través de OAuth lo presentaré en la próxima entrada de la serie, pero adelanto que la manera de realizarlo es haciendo que el usuario se autentique directamente en el servicio final (Facebook, twitter...) y pasándole unos "identificadores de sesión" a la aplicación.

Bueno, para no alargar más esta entrada lo dejo aquí. Las siguientes serán más técnicas pero he creído oportuno escribir ésta en plan introducción.

¡Hasta la próxima entrada!

3 de julio de 2011

Código fuente de Stuxnet

Creo que más o menos todos hemos oído hablar ya de Stuxnet. Un virus informático descubierto en junio de 2010 que afecta a sistemas Windows y que está diseñado para reprogramar sistemas SCADA con la intención de que afecte a procesos críticos de centrales nucleares, hidroeléctricas, etc.

Ha sido considerado el primer virus utilizado como arma informática debido a que fue distribuido para afectar únicamente a infraestructuras iraníes. De hecho, el propio gobierno de Irán lo calificó de "guerra electrónica".

Se puede ver una breve introducción sobre el virus en este vídeo:


Pero el motivo de la entrada es compartir el código fuente del virus para su análisis y estudio ya que, al fin y al cabo, es software libre:

http://www.multiupload.com/BDNYSCY5PC