Administra tu Blog

¡Crea tu Blog Ya! Fácil y Gratis

Archivo: Septiembre 2009

Inyecciones SQL (¡a que te pincho!)

teknoplof 18/09/2009 @ 09:21

jeringa.jpgEl hacking ya no es lo que era en los noventa. Antes, la seguridad era mínima y los administradores de sistemas eran los mismos chupatintas que lo mismo te configuraban un proxy que te atendían en la ventanilla. Los sistemas operativos tenían más agujeros que un queso de esos con agujeros y, para más inri, las actualizaciones brillaban por su ausencia

Casi nadie tenía Internet, y los cuatro frikis que compramos un módem por aquello de chatear, nos las vimos y nos las deseamos para configurarlo y conectarlo a la Red, cortando la línea de teléfono a tus padres durante tardes interminables y escurriendo el bulto cuando llegaba la factura de Telefónica. Eso sí, la sensación de satisfacción que se te quedaba en el cuerpo cuando conseguías desenmarañar aquel entramado de siglas era indescriptible.

Nos cobraban 5.000 pesetas mensuales por la conexión, teléfono a parte, y existía algo que se llamaba Infovía y que muchos de los que lean esto ni sabrán lo que fue. Pululaban todavía las BBS, el chat se hacía desde un cliente de IRC y las páginas web daban verdadera pena.

Aparecieron los e-zines (fanzines digitales) y corrían de mail en mail como antaño sus hermanos mayores de papel de mano en mano. Descubrí SET antes de que fuera SET, cuando se llamaba Saqueadores a secas. Descubrí también 7a69, Raza Mexicana, Raregazz y otros de los que no recuerdo el nombre. Había uno muy divertido que no tenía como tema principal el hacking ni la informática (y que tampoco me acuerdo cómo se llamaba) que enseñaba desde cómo fabricar una bomba a las mejores maneras para asesinar a un gato. Aquella época era así; el destape digital.

Y entones fue cuando me empecé a aficionar al hacking, al cracking, al phreaking y al virii, que eran los cuatro pilares básicos que todo buen conocedor del underground informático debía manejar, o al menos alguno de ellos pero en plan gurú, si no eras directamente un lammer o un puto newbie.

La filosofía de los hackers de aquella época se ha perdido. El objetivo claro que se perseguía entonces era la superación personal y el ansia por adquirir los conocimientos que permitieran dominar aquella nueva tecnología que tanto futuro parecía tener. Hoy los buenos hackers son putas al servicio de gobiernos o de empresas de seguridad. Alguno de los de antes quedará por ahí, seguro, pero el espíritu ya no es el mismo, se ha desinflado.

El hacking, además, se ha vuelto complicado y peligroso. Hoy los administradores de sistemas han pasado de la ESO (algunos), los sistemas operativos son muchísimo más seguros y los usuarios están mucho más concienciados del concepto de seguridad (más o menos). Los bugs o agujeros de seguridad se resuelven y parchean en horas, y cualquier software se actualiza de manera automática prácticamente a diario.

Sin embargo, de vez en cuando, siguen apareciendo técnicas novedosas que producen un revolvimiento de tripas en el underground informático y una sudoración fría en los lobbys económicos y políticos del sistema. Algo así como un resurgir del lodo, descuellando por unos instantes. Por supuesto, al descubridor de tal o cual vulnerabilidad se le eleva a los altares del movimiento subterráneo y se le santifica a lo Kevin Mitnick.

En los últimos años a mí se me han puesto los pelos de punta en tres de ocasiones: una con la aparición del ataque NetBIOS, otra con la aparición del XSS y otra con la aparición de las inyecciones SQL. Y a estas últimas nos vamos a referir en continuación. ¿Por qué? Por nada en especial.

Para los neófitos: SQL es un lenguaje estructurado que se utiliza para realizar consultas contra bases de datos, ya sean consultas de actualización, de selección o de eliminación.

Las bases de datos cada vez son más importantes en nuestra vida. Todo está ordenado y clasificado en determinado campo de determinado registro de determinada tabla de determinada base de datos. Y, claro, en Internet, que es un espejo casi en tiempo real del mundo no digital, las bases de datos crecen como champiñones a diestro y siniestro. Cualquier página web que visitemos dispondrá de un foro, de una agenda de eventos, de un registro de usuarios, de un catálogo de productos, etcétera. Pues bien, todo eso, y mucho más, necesita de una base de datos para poder funcionar.

Una inyección SQL no es otra cosa que un ataque, debido a una vulnerabilidad corregible, a la base de datos de una aplicación en el nivel de validación. Para que me entienda todo el mundo, el nivel de validación se refiere a esos cuadraditos de texto donde yo escribo mi nombre de usuario y mi contraseña cuando accedo a una web en la que estoy registrado. En esos mismos cuadraditos dispongo yo de la posibilidad de escribir código SQL que la base de datos que haya detrás se trague e interprete y provocar un auténtico desastre.

Vamos a ver un ejemplo práctico. Imaginemos la típica página de validación, donde me piden mi nombre y mi contraseña, para entrar a comprar a una tienda virtual en la que estoy registrado. Cuando yo escribo el nombre, la contraseña y pulso el botón de aceptar, el software comprueba que los datos sean correctos. Para ello realiza un consulta a la base de datos en SQL que puede ser algo como lo siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = '" + NombreUsuario + "' AND Contrasena = '" + ContrasenaUsuario + "';"

Esto selecciona (SELECT) todos (*) los registros de (FROM) la tabla TablaUsuarios donde (WHERE) el campo Nombre sea igual (=) a la variable NombreUsuario (su valor se asigna de lo que nosotros hallamos escrito) y (AND) el campo Contrasena sea igual a la variable ContrasenaUsuario. Si yo escribo "Jonathan" y "Tambor1900" respectivamente en el campo de texto para nombre y contraseña, el resultado de la cadena anterior sería el siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = 'Jonathan' AND Contrasena = 'Tambor1900';"

Ahora viene la magia. En el campo de texto para el nombre, en lugar de un nombre, voy a escribir esto:

' OR '1'='1

Y en el campo para la contraseña lo mismo, mismito. La cadena SQL que se envía a la base de datos quedaría así:

"SELECT * FROM TablaUsuarios WHERE Nombre = '' OR '1'='1' AND Contrasena = '' OR '1'='1';"

Es decir, selecciona todos los registros de la tabla TablaUsuarios donde el campo Nombre sea igual a nada o 1 sea igual a 1 y el campo Contrasena sea igual a nada o 1 igual a 1. ¡Abracadabra! Es posible que no exista un nombre o una contraseña vacía, pero siempre 1 va a ser igual a 1, por lo tanto, hasta la cocina del sitio web como si fuéramos un usuario correctamente registrado.

Vamos a hacer más pupita. Vamos a escribir en el campo del nombre lo mismo que antes y en el de la contraseña lo que sigue:

'; DROP TABLE TablaUsuarios

Con lo que la cadena final queda así:

"SELECT * FROM TablaUsuarios WHERE Nombre = '' OR '1'='1' AND Contrasena = ''; DROP TABLE TablaUsuarios;"

Las sentencias SQL siempre terminan en punto y coma (;) y pueden separarse entre sí por el mismo signo de puntuación. En el anterior ejemplo, comprobaría correctamente que 1 es igual a 1, como hemos comentado antes, para, después, cargarse sin miramientos la tabla TablaUsuarios (DROP TABLE TablaUsuarios).

Evidentemente el daño puede ser mayor que borrar una tabla (suponemos que el administrador tiene copias de seguridad), ya que podemos hacernos con todos los datos sensibles y privados de los usuarios del sitio, hacer compras en su nombre, acceder a sus cuentas bancarias y mil miles de cosas más.

Muchos habrán pensado ya a estas alturas que para inyectar este tipo de códigos SQL es necesario conocer el nombre de las variables (NombreUsuario y ContrasenaUsuario) y el nombre de la tabla (TablaUsuario) que el programador ha utilizado. Y efectivamente así es. Pero para conseguir estos datos podemos recurrir a la técnica de hacer "cascar" la consulta y que produzca un error. Por ejemplo, si en el nombre de usuario escribimos dos comillas simples ('') y en la contraseña cualquier cosa, la cadena SQL resultante sería la siguiente:

"SELECT * FROM TablaUsuarios WHERE Nombre = ''' AND Contrasena = 'Tambor1900';"

Aquí hay más comillas de las que el intérprete SQL de la base de datos puede reconocer, y esto devolvería un error de acceso a la base de datos. Dependiendo de qué servidor web aloje esta página y cómo esté configurado, es más que posible que dicho error aparezca en pantalla (en formato HTML) especificando concretamente dónde y por qué se ha producido, y describiéndonos a las mil maravillas la cadena de conexión y todas sus variables, nombres de campos y tablas. Un placer. Gracias mil.

Una vez expuesta la vulnerabilidad y cómo explotarla, es de caballeros explicar también cómo corregir este defecto. He de decir que muchísimas páginas web en Internet no tienen este tema solucionado; allá ellos. Sólo es necesario visitar sitios web y probar (a base de comillas aquí, comillas allí) hasta que encontremos uno vulnerable. Ya digo que los hay por doquier.

Existen varios métodos para solucionar este problema, pero el más sencillo y eficaz es el que consiste en evitar la introducción de comillas simples en las cajas de texto sustituyéndolas por espacios, por ejemplo. He aquí una forma de hacerlo en VBScript en una página ASP:

CadenaSQL = "SELECT * FROM TablaUsuarios WHERE Nombre = '" & Replace(NombreUsuario, "'", " ") & "' AND Contrasena='" & Replace(ContrasenaUsuario, "'", " ") & "'"

O en JavaScript en una página PHP:

CadenaSQL = SELECT * FROM TablaUsuarios WHERE Nombre = '" & NombreUsuario.replace( "'", " "); & "' AND Contrasena='" & ContrasenaUsuario.replace("'", " "); & "'"

Otro factor importante en cuanto a la seguridad es limitar al máximo los permisos del usuario que ejecuta estas sentencias para evitar posibles problemas. Por ejemplo utilizando un usuario distinto para las sentencias SELECT, DELETE o UPDATE y asegurándonos de que cada ejecución de una sentencia ejecute una sentencia del tipo permitido.

Una solución definitiva sería trabajar con procedimientos almacenados. El modo en el que se pasan los parámetros a los procedimientos almacenados evita que la inyección SQL pueda ser usada. También deberíamos validar los datos que introduce el usuario teniendo en cuenta, por ejemplo, la longitud de los campos y el tipo de datos aceptados. Si programamos en ASP.NET, además, utilizaremos siempre que sea posible las clases de System.Web.Security.FormsAuthentication para que los usuarios entren en nuestras aplicaciones web.

Es tan jugoso explotar una vulnerabilidad como conseguir eliminarla. Los hackers del pasado son los expertos en seguridad del presente. Pero, por favor, no se me vendan a las multinacionales, que no queda muy underground que digamos.

Programación del puerto paralelo

teknoplof 17/09/2009 @ 09:03

foto0.jpgSi existe una tecnología que inexorablemente camina hacia su extinción, esa es la del archiconocido y bien querido por todos nosotros puerto paralelo. Este conector que ya no viene en los portátiles (ni en muchos ordenatas de sobremesa) apareció de la mano de IBM en 1981 con su primer PC y ha llegado incorrupto hasta nuestros días.

Su estructura de 25 pines hace de él un conector nada discreto, mas muy fácil de manejar. No es el más rápido, pero mediante su manejo podemos interconectarnos con el mundo real de la manera más sencilla, sabiendo un poquito de aquí y un poquito de allá. Cierto es que su uso ha sido casi exclusivamente dedicado al control de impresoras, pero vía puerto paralelo podemos manejar desde un juego de luces a una lavadora, un robot o una excavadora. ¿Cómo se te queda el cuerpo? Y fácil, muy fácil.

foto1.jpg

Básicamente, lo que podemos hacer con cada uno de los 25 pines de un puerto paralelo es ponerlos a 0 ó a 5 voltios. Esta situación binaria combinada es capaz de activar un relé, por ejemplo, que a su vez active un electrodoméstico, una bombilla o cualquier otro elemento electrónico.

Comencemos viendo en la siguiente imagen la estructura de pines del puerto en cuestión. Realmente, el puerto paralelo consta de tres puertos diferentes integrados en el propio conector (los que aparecen de color azul, rojo y naranja en la imagen).

foto2.gif

El puerto de datos (DATA), permite transmitir un byte (8 bits) de datos. Cada uno de los bits se corresponde con uno de los pines D0 a D7. Por tanto, en conjunto, se pueden transmitir valores entre 0 y 255 en formato binario. Por ejemplo, para transmitir el 139, 10001011 en binario, se pondrán a 5 voltios los pines D7, D3, D1 y D0. Este puerto puede configurarse para servir tanto de entrada como de salida de datos.

El puerto de control (CONTROL) es sólo de salida y se corresponde con los pines C0 a C3, con lo que en principio nos permite trasmitir valores entre 0 y 16. En un principio este puerto se utilizaba para transferir comandos inmediatos a la impresora como un salto de línea o un reset, y los pines conservan los nombres que se les dieron en esa época (C0=Strobe, C1=Auto feed, C2=Initialize y C3=Select). Y por razones históricas tambien, C0, C1 y C3 están invertidos, lo que quiere decir que invierten la salida y, al contrario que los pines normales, representan el 0 con 5 voltios y el 1 con 0 voltios. Por ejemplo, el número 6, que es 0110 en binario, al estar los bits invertidos, deberíamos poner C3, C2 y C0 a 5 voltios y C1 a 0.

Por último tenemos el puerto de estado (STATUS). Se usaba originalmente para recibir el estado de la impresora, también ha heredado los nombres de los pines de aquella época (S3=Error, S4=Select in, S5=Paper end, S6=Acknowledge y S7=Busy) y también presenta algún pin invertido (el S3 y el S6). Es un puerto sólo de entrada.

El resto de pines (los que están en verde en el gráfico anterior) están conectados a tierra y nos ofrecen el voltaje de referencia de 0 voltios.

Para empezar a cacharrear con el puerto paralelo, lo ideal es montar un adaptador hembra en una placa de pruebas (protoboard en inglés), que no es otra cosa que una plancha de plástico reutilizable, con agujerillos y contactos metálicos, usada para construir prototipos electrónicos (o realizar pruebas experimentales) normalmente sin soldadura.

Además, necesitaremos un cable paralelo para conectar el prototipo al ordenador y, también, que este ordenador disponga a su vez de puerto paralelo, si no vamos aviados.

foto3.jpg

Lo que vamos a hacer es soldar un cable a cada pin y, en la placa de pruebas, ordenar los extremos en línea, usando un color en cada tipo de puerto para distinguirlos fácilmente (imágenes siguientes).

Los cables rojos pertenecen al puerto de control, los amarillos al de datos y los verdes al de estado. Utilizaremos también dos cables negros para los conectores a tierra.

foto4.jpg

foto5.jpg

foto6.jpg

Como ejemplo de utilización vamos a conectar 8 leds a cada uno de los pines de datos, de esta manera obtendremos feedback visual en tiempo real de lo que ocurre en cada momento, es decir, si ponemos un pin a 0 el led deberá de permanecer apagado si lo ponemos a 1 se encenderá. Utilizaremos el siguiente esquema para la realización del montaje.

foto7.gif

Por supuesto necesitaremos 8 leds y 8 pequeñas resistencias de 470 ohmnios, que son las representadas en la imagen por esos pequeños rectángulos intercalados entre pin y led. Las resistencias sirven para limitar la corriente que pasará por cada cable, aunque en este caso concreto son prescindibles, porque cada pin del puerto paralelo sólo puede suministrar 40mA como máximo, una corriente suficientemente baja para que aguanten la mayoría de los leds y no se quemen. Pero por si las moscas...

foto8.jpg

Una vez tengamos el engendro preparado, ya sólo nos queda conectarlo al ordenador a través del puerto paralelo y ponernos a programar. El siguiente ejemplo está escrito en C para Linux, pero es fácilmente portable a cualquier otro lenguaje de programación para cualquier plataforma. El propio código está comentado, pero después se apuntan un par de cosillas interesantes como refuerzo.

[código]

#include
#include
// En asm/io.h están definidas las funciones ioperm() y outb()
#include
 
// Esta es la dirección más frecuente para un puerto paralelo
#define DATAPORT 0x378
 
int main()
{
  // Obtenemos permiso de acceso para la dirección de DATAPORT y
  // las 2 siguientes
  if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); return 1;}
 
  // Entramos en un bucle infinito
  while(1)
  {
    int input;
 
    // Le pedimos al usuario que introduzca un número
    printf("Introduce un número entre 0 y 255 (-1 para salir)\n");
    // Leemos el valor introducido y lo guardamos en "input"
    scanf("%d", &input);

    // Si "input" vale "-1" salimos del bucle
    if(input==-1) break;

    // Si "input" no está entre "0" y "255" (y no era "-1") no nos
    // interesa, así que volvemos directamente al comienzo del bucle
    if(input < 0 || input > 255) continue;
 
    // Si hemos llegado hasta aquí es que "input" vale entre "0" y
    // "255" y podemos sacarlo por el puerto paralelo
    outb(input, DATAPORT);
  }
 
  // Antes de terminar el programa, dejamos los permisos de acceso
  // a los puertos como estaban
  if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); return 1;}
 
  //El programa termina sin errores
  return 0;
}

[/código]

La función ioperm() modifica los permisos de acceso a los puertos. Recibe tres enteros: el primero le indica la dirección del primer puerto cuyos permisos queremos modificar, el segundo es el número de puertos y el tercero debe ser 1 para conceder el permiso y 0 para denegarlo. De esta manera, la sentencia ioperm(DATAPORT, 3, 1) asigna permiso a 3 puertos, esto es, al de datos, al de estado y al de control. Al final del programa restablecemos el estado dejando todo como estaba con ioperm(DATAPORT, 3, 0).

La función outb() se encarga de enviar un byte de datos a un determinado puerto. Recibe dos enteros: el primero es el byte que se quiere enviar (debe estar entre 0 y 255) y el segundo es la dirección del puerto. La dirección del puerto de datos paralelo, en la gran mayoría de los ordenadores es, en hexadecimal, 0×378. Esta declaración se encuentra al principio del listado en la variable DATAPORT con #define DATAPORT 0x378. Para una segundo puerto paralelo sería 0x278 y para un tercero 0x3BC. De todas maneras, se puede consultar la dirección de nuestro puerto paralelo en la BIOS de la placa base.

Ejecutando el programa podremos obtener resultados como los de las dos imágenes siguientes. Por un lado (a la izquierda) tenemos la salida del puerto de datos con el número 13 (00001101 en binario) y, por otro (a la derecha), tenemos la salida del número 167 (10100111 en binario). Como es el puerto de datos y los bits no están invertidos, cada 1 se corresponderá con un led encendido y cada 0 un led apagado.

foto9.jpg

Muy bien. Todo claro. Ya sabemos cómo inducir voltaje mediante software en una serie de pins para que enciendan y apaguen unos leds. Pero, ¿cómo demonios se hace para leer información del conector? ¿Cómo puedo saber, por ejemplo, que un interruptor ha sido pulsado?

Bien, en este punto debemos comentar que para ello nos hace falta algún elemento más para nuestra placa de pruebas. Evidentemente un interruptor y, también, una resistencia pull-down. Y ¿para qué la resistencia? Pues muy sencillo. Nosotros no podemos saber con rigor absoluto cuando un pin está a 0 voltios, porque los componentes electrónicos son muy puñeteros y ¿quién me asegura a mí que después de retirar una corriente de 5 voltios de un pin, el circuito detrás de ese pin no esté induciendo un cierto voltaje? ¿O si quizás la propia configuración del circuito podría hacer que éste estuviera actuando como un diminuto condensador guardando alguna pequeña carga, quizá entre 0 y 5 voltios? Nosotros no podemos asegurar nunca que un pin de entrada no conectado a nada está a 0 voltios. Eso sería una falacia. Estará a un voltaje arbitrario (puede que cero, puede que no) y desconocido para nosotros.

Para evitar este pequeño escollo utilizamos una resistencia pull-down, que no es otra cosa que una resistencia puesta entre una línea y masa cuyo objetivo es dar a esa línea un valor lógico de nivel bajo de masa (0 voltios) cuando no hay ninguna señal conectada. Se emplea una resistencia de valor intermedio. Lo más habitual es que sea de 1 ó 10 KΩ. Cuando el interruptor está cerrado, la resistencia que ofrece la rama del circuito que va a los 5V es mucho menor que la que va hasta los 0V, así que el voltaje en el nodo donde confluyen las tres ramas del circuito es prácticamente 5V. Lo bueno es que aquí, cuando el interruptor se abre, el pin de entrada no queda aislado, sino que sigue conectado a tierra a través de la resistencia. Cualquier carga que hubiera quedado atrapada en el circuito se descarga rápidamente a través de la resistencia y la entrada se pone a 0V. ¡Ingenioso!

En la siguiente imagen vemos como queda el circuito.

foto10.jpg

Existen también las resistencias pull-up, que funcionan de igual manera pero conectadas a los 5 voltios. En el código de ejemplo siguiente utilizaremos una de ellas.

¿Y el software? Pues igual de sencillo que el código para escribir datos en el puerto; para leer disponemos de la función inb(), que devuelve un byte de datos leído a través del puerto. Por ejemplo, para leer desde el puerto de estado (Status) y guardarlo en la variable entrada pondríamos hacer short int entrada = inb(0x379).

El siguiente ejemplo lee el valor de dos interruptores conectados a los pines 3 y 4 del puerto de estado. Los interruptores usan resistencias pull-up, por lo que la lectura de un 0 lógico en uno de esos pines representa una pulsación en su interruptor asociado. Un mensaje en pantalla dice qué interruptor se está pulsando.

[código]

// Este programa monitoriza el estado de 2 pulsadores conectados
// a las líneas de STATUS y muestra por pantalla si se ha pulsado
// alguno de ellos
 
#include
#include
 
// En asm/io.h están definidas las funciones ioperm() y outb()
#include
 
// Esta es la dirección más frecuente para el puerto paralelo
#define DATAPORT 0x378
// Y esta es la dirección de las líneas de estado
#define STATUSPORT DATAPORT+1
 
#define TIEMPOCONPULSACION 300000
#define TIEMPOSINPULSACION 10000
 
// Máscaras para los pines 3 y 4 del puerto de estado
#define BOTON1 8
#define BOTON2 16
 
int main()
{
  // Obtenemos permiso de acceso para la dirección de DATAPORT y
  // las 2 siguientes
  if (ioperm(DATAPORT, 3, 1)) {perror("ioperm"); return 1;}
 
  //Entramos en el bucle principal del programa
  while(1)
  {
    // "input" va a guardar el valor leído desde el puerto
    short int input=0;
    // "pulsacion" nos va a decir qué botón se ha pulsado
    short int pulsacion = 0;
 
  // Leemos el byte de las líneas de estado y lo guardamos en "input"
  input=inb(STATUSPORT);
 
  // Si "input" tiene el bit BOTON1 a cero es que se ha pulsado el
  // boton correspondiente
  if((input & BOTON1) ==0)
    // Ponemos "pulsacion" a "1" para indicarlo y sacamos un
    // mensaje por pantalla
    pulsacion=1;
    // Si tiene a cero el bit BOTON2 es que se ha pulsado el otro
    // botón
  else if((input & BOTON2) ==0)
    pulsacion=2;
 
 // Si pulsacion !=0 es que se ha pulsado algun botón
 // Esperamos TIEMPOCONPULSACION microsegundos para no inundar la 
 // pantalla de texto
 if(pulsacion)
 {
  printf("Pulsando botón %d\n",pulsacion);
   fflush(stdout);
  usleep(TIEMPOCONPULSACION);
 }
 // En caso contrario sólo esperamos TIEMPOSINPULSACION microsegundos
 else usleep(TIEMPOSINPULSACION);
  }
  // Antes de terminar el programa dejamos los permisos de acceso
  // a los puertos como estaban
  if (ioperm(DATAPORT, 3, 0)) {perror("ioperm"); return 1;}
 
  // El programa termina sin errores
  return 0;
}

[/código]

Pues bien, después de esto ya deberíamos estar preparados para comenzar a adentrarnos en este intrigante mundo. Hombre, de aquí a manejar una lavadora queda, la verdad. Pero hay que tener en cuenta que todo es cuestión de leer y escribir datos desde y en el puerto paralelo, lo demás ya es cuestión eléctrica y electrónica. Además, se puede encontrar mucha y muy jugosa información en Internet acerca de este tema. Ya se sabe, preguntando al tío Google se llega Roma (.com).

FUENTE: Las imágenes, parte del texto y la inspiración provienen del magnífico blog Obsoletos.

26 curiosidades sobre Google

teknoplof 16/09/2009 @ 11:25

google.jpgA buen seguro ustedes conocen el motor de búsqueda más famoso y eficiente de todos los tiempos, Google. Pero lo que probablemente no conozcan es que dicho sitio web está repleto de curiosidades varias que hacen de él un buscador no sólo excelente, sino cuasi friki. A saber:

Curiosidad 1. Google ameniza al visitante cada cierto tiempo con un logotipo distinto al original en sus páginas. Los cambios coinciden con eventos o celebraciones mundiales tales como el Día de la Tierra, el Año Nuevo o el aniversario de Monet. Todos los logotipos de la página en su versión española pueden consultarse, ordenados por años, desde la dirección http://www.google.es/intl/es/logos.html.

Curiosidad 2. El Día de los Inocentes yanqui (April Fool's Day), que por allí se celebra el 1 de abril, ha sido especialmente prolífico a la hora de lanzar globos sonda humorísticos por parte de la empresa. En el año 2002, Google daba a conocer que su sistema de clasificación de páginas, denominado PageRank, se había convertido de PigeonRank (ranking de palomas) y consistía en que miles de palomas trabajaban ordenando los sitios web recabados a lo largo y ancho de Internet. La "tecnología palomil", perfectamente explicada y detallada, puede consultarse desde la página http://www.google.com/technology/pigeonrank.html.

Curiosidad 3. El mísmo Día de los Inocentes, pero del año 2000, Google lanzó el sistema de búsqueda MentalPlex, el cual es capaz de leer la mente del usuario y encontrar los resultados de la búsqueda que está pensando. MentalPlex sigue online en la dirección http://www.google.com/intl/en/mentalplex/.

Curiosidad 4. En la Pascua de 2001 apareció en Google un divertido juego en Java de un conejito que recogía huevos (de Pascua, claro) para formar el nombre del buscador. Se puede jugar aún desde http://www.google.com/Easter/feature_easter.html.

Curiosidad 5. Un espejo internauta es una página web en la que se puede consultar el mismo contenido que el de la página original a la que se hace espejo. Esto se suele hacer para descargar a los servidores de trabajo y encauzar a los usuarios a otras localizaciones. En el caso de Google, en la dirección http://www.alltooflat.com/geeky/elgoog se puede acceder a un espejo del buscador pero, en este caso, es un "espejo", "espejo". Pasen y vean a lo que me refiero.

Curiosidad 6. En la página http://www.google.es/press/zeitgeist.html se puede consultar una lista de las búsquedas más populares en Google por meses.

Curiosidad 7. Google dispone de una sección de ofertas de empleo para todo aquel que desee y se vea capaz de trabajar para esta empresa. Consúltese en http://www.google.es/intl/es/jobs/.

Curiosidad 8. ¿Quiere usted, además, conocer las ventajas de trabajar en Google? No tiene más que acceder a http://www.google.com/jobs/food.html. ¿Quiere ver las juergas que se corren los empleados de la empresa? En http://www.google.com/googledance2002/1.html.

Curiosidad 9. Los chicos de Google ponen a nuestra disposición la página http://www.google.com/jobs/britney.html en la que se puede consultar la lista de decenas de errores que los usuarios han cometido al intentar encontrar uno de los nombres más buscados: Britney Spears.

Curiosidad 10. Google tiene registrados diversos dominios con nombres parecidos al suyo. Esto es debido a que muchos usuarios escriben mal "google" y, de esta manera, cualquiera de las entradas nos redirigirán a la página buena. Así pues, http://www.gogle.com, http://www.googel.com, http://www.ggoogle.com o http://www.gogole.com nos llevarán directamente al web de Google.

Curiosidad 11. La empresa también tiene registrado el dominio http://www.466453.com. Estos números se corresponden con las teclas de un teléfono móvil en las que se encuentran las letras de Google en el orden correcto. De esta manera, cualquiera que desee acceder a la página del buscador desde su teléfono celular sólo habrá de pulsar dichas teclas una vez para ello, sin necesidad de andar dándole al botoncito varias veces hasta escribir la palabra. Ingenioso sobremanera, no me digan.

Curiosidad 12. Además de lo anterior, podemos acceder a diversos servicios móviles desde http://www.google.com/mobile.

Curiosidad 13. Google organizó en el año 2002 un concurso de programación que ofrecía diez mil dólares del ala y una visita a la sede central de la compañía. Se puede consultar la información referente, así como el ganador, desde la página http://www.google.com/programming-contest/index.html.

Curiosidad 14. El 4 de enero del presente año, apareció en la página de Google un logotipo dedicado a Braille (unos puntitos que representaban la palabra "google" escrita en el idioma de los ciegos). Esto hizo que millones de usuarios hicieran clic sobre él. Cuando Google saca un logotipo de celebración, al pulsarlo nos redirige a una búsqueda en el propio buscador. En este caso la cadena de búsqueda a la que se nos mandaba era http://www.google.com/search?q=louis+braille+birthday. Si realizamos esta búsqueda, el primero de los resultados se refiere a la entrada http://en.wikipedia.org/wiki/Louis_Braille del sitio web Wikipedia, la enciclopedia cibernética libre en línea que los internautas pueden modificar y aumentar con nuevos datos a su antojo. Esta página de Louis Braille fue editada 600 veces en 12 horas, cuando en los últimos 12 meses había sido modificada por los usuarios en sólo 50 ocasiones. Esto da una idea del aumento de tráfico generado por esta iniciativa del buscador (llamada OneBox) y lo que puede redundar en el beneficio de determinados sitios web. Algo parecido ocurrió en marzo de 2005 con el logotipo de Google dedicado a Van Gogh, que hizo que el tráfico hacia la página del genial artista se multiplicara por 8.

Curiosidad 15. En el cuadro de búsqueda de Google escriba la palabra "ladrones" (sin las comillas, please) para, posteriormente, hacer clic en el botón "Voy a tener suerte". ¡Sorpresa! Esto se conoce como "Google Bomb" y consiste en colocar ciertos resultados de búsqueda, asociados a determinados términos, en los primeros puestos. Para ello explota la característica del algoritmo PageRank de Google que coloca los primeros aquellos sitios web más enlazados. Con ello sólo habrán de enlazar unos cuantos miles de usuarios una web, con determinada palabra como enlace, para que la magia cobre vida. Hoy día Google ha modificado un poco el algoritmo en cuestión para que esto no suceda tan a menudo.

Curiosidad 16. Google Earth es un increible software gratuito desde el que podemos literalmente volar desde la Estatua de la Libertad hasta el tejado de nuestra casa en cuestión de seguntos. El mundo entero cartografiado y las ciudades y zonas más importantes hasta una resolución realmente sorprendente. Como digo, se puede ver el tejado de la casa de uno e, incluso, el coche aparcado en la calle (si estaba cuando se sacó la foto, claro). Decárguelo desde http://pack.google.com/intl/en/integrated_eula.html?hl=en&ciint=ci_earth&ci_earth=on&utm_source=en-cdr-earth4&utm_medium=cdr&utm_campaign=en. En la actualidad también disponemos de Google Sky, Google Moon y Google Mars.

Curiosidad 17. Google Dance es como llaman los chicos de la empresa al periodo que transcurre entre el comienzo y el fin del PageRank (ordenación de páginas web). Suele durar una media de 4 días y se realiza una vez al mes, aproximadamente. Durante estos días se obtienen diferentes resultados de búsqueda en los distintos servidores de Google. El mejor momento para colocar o actualizar páginas en un sitio web es durante el Google Dance. Si transcurre mucho tiempo entre el fin de esta actualización y la publicación de nuevos contenidos, se reduce la cantidad de páginas que serán incluidas en las próxima actualización. Puede consultarse este baile desde la dirección http://google.dirson.com/dance.php.

Curiosidad 18. El Googlewhacking es un "deporte" que consiste en encontrar una pareja de palabras (que estén incluidas dentro del diccionario inglés) que aparezcan una sola vez juntas en alguna página indexada por Google. Es decir, que buscándolas, obtengamos "Resultados 1 - 1". No sé si alguien lo ha conseguido ya, pero desde luego es un reto interesante.

Curiosidad 19. El comportamiento de Google durante los atentados en EEUU el 11 de septiembre de 2001 fue elogiado por muchos. Realizó cachés de varios medios de comunicación (que en aquel momento estaban colapsados) y condujo muchas de sus búsquedas hacia noticias de actualidad.

Curiosidad 20. Tras la adquisición del archivo de noticias de Usenet que tenía la empresa Deja News, Google publicó una lista con los posts referentes a los hechos más relevantes de la historia de Internet durante estos últimos años. Hay referencias a acontecimientos como las primeras menciones a Google o Yahoo, el primer post anunciando los ataques a las torres gemelas el 11 de setiembre de 2001, las primeras menciones a Linux o Microsoft, la primera discusión sobre el SIDA... Se puede consultar en http://www.google.com/googlegroups/archive_announce_20.html.

Curiosidad 21. Si miramos el "Acerca de..." de la Google Toolbar (la barrita de marras de Google, si es que la tiene instalada), vemos que, además de la versión, aparece la frase en latín De parvis, grandis acervus erit, que podría traducirse como "De las cosas pequeñas se hacen las cosas más grandes". Esta frase fue utilizada en el siglo XVI en un libro de poemas (http://emblem.libraries.psu.edu/whitn088.htm).

Curiosidad 22. Algunas preguntas (hay cientos) directas que tienen respuesta directa en Google:
- Calculadora: (5 * 8) + 5 = 45
- Radio de la tierra: radius of earth in km
- 90 grados fahrenheit en centígrados: 90 fahrenheit in centigrade
- Un día en segundos: one day in seconds
- 1 hora * 128 kbps en megabytes: 1 hour * 128 kbps in megabytes

Curiosidad 23. ¿Qué significa Google? Google es un juego de palabras con el término "googol", acuñado por Milton Sirotta, sobrino del matemático norteamericano Edward Kasner, para referirse al número representado por un 1 seguido de 100 ceros. El uso del término por parte de Google refleja la misión de la compañía de organizar la inmensa cantidad de información disponible en la web y en el mundo, y parece que fue un error a la hora de registrar el nombre de dominio. ¿Cómo se pronuncia? Según el propio Google: como desee, pero pronunciado en inglés sería [guguœl] (la segunda vocal algo así como entre oe).

Curiosidad 24. La página de inicio de Google es tan sencilla porque los diseñadores originales no sabían mucho más de HTML. Después se percataron del éxito obtenido, ya que la sencillez era sinónimo de rapidez. Además el hecho de que al pulsar la tecla Enter comenzara la búsqueda era totalmente novedoso y gustó mucho.

Curiosidad 25. La página de inicio de Google, además, tiene siempre 28 palabras (www.google.com). Surgió por simplicidad y lo tomaron como mandamiento. Los requisitos para contar 28 palabras son: si uno ha cerrado la cesión, si no hay un texto promocional debajo del cuadro de búsqueda, si Google ha sido establecido como la página principal y por lo tanto no aparece el enlace "¡Haga de Google su página principal!" y si se cuenta "©2008 Google” como dos palabras.

Curiosidad 26. El absurdo botón "Voy a tener suerte" nadie lo usa, aunque lo mantienen porque da calidez a los usuarios y ayuda a mejorar lo que ellos llaman "la experiencia Google". Es un botón confortable.

Las paletas de colores (a lo modelno que te rilas)

teknoplof 14/09/2009 @ 13:20

colores.jpgLos diseñadores web y los programadores tenemos la obligación, prácticamente,  de comernos el coco hasta la estenuación con las distintas paletas de colores a fin de conseguir ese tono que desea el cliente. Y es que no es lo mismo el amarillo Nº 16 que el Nº 88. Sí, sí, los dos amarillos y muy parecidos; pero diferentes.

Dicen las mujeres que los hombres sólo reconocemos los tres colores básicos y poco más. Hace bien poco tuve la oportunidad de asistir a una ligera reyerta en la que se le imputaba a un pendejo la imposibilidad de distinguir el color salmón del naranja. Y es que al pobre hombre le sacas de la diferencia entre azul oscuro y azul clarito y se me pierde en la inmensidad del océano; azul, claro.

Lo de los matices está muy bien que exista, pero estamos acercándonos peligrosamente a la repijería cromática a la hora de ponerles nombre. Porque ahora resulta que el blanco ya no es sólo blanco, puede ser blanco, blanco roto, blanco siena, blanco de plata, de cinz, de titanio, blanco humo, blanco marfil, blanco alabastro y hasta un blanco denominado medio sucio. En realidad existen 243 tipos de blanco, fíjese usted, y estos no son más que una escueta muestra. Todo ello sin meternos en el terreno de los cremas y grises muy pálidos, que entonces ya nos perderíamos para siempre.

Yo, a decir verdad, estoy que no me encuentro hace mucho tiempo. Para mí entre el blanco y el negro sólo está el gris y, como mucho, el gris oscuro. Punto. Me cuesta distinguir entre el morado, el lila y el violeta tanto como diferenciar una bufanda de una pashmina, un fular, un echarpe y una pañoleta. Cosas de mujeres, vaya.

Hoy en día (aunque supongo que siempre han existido, ahora sólo se les ha dado un nombre) tenemos azul celeste, marino, sucio, marrón tierra, marrón rojizo, melocotón suave, granate pasado, verde grisáceo o, incluso, pastel chicle y verde aguamarina cremoso.

En el sitio web de una tienda de moda femenina aseguran que los colores estándar son: negro, verde bosque, azul marino, azul real, azulejo, petróleo, carbón liso, olivo, desierto, natural, limón, butano, rojo fuego y teja. Si estos son los colores estándar, no quiero ni pensar cuales serán los demás. Vale..., lo pienso, lo busco y lo encuentro... Entre ellos puedo observar asombrado colores como pizarra, azul noche, perla, verde botella, kiwi, mandarina, óxido, capuchino o sáhara.

Y hay más, sí. Podemos complicar la cosa hasta un punto de casi no retorno mental: azul arábigo, canela, militar, piñón, travertino, laja verde, hoja seca, tabique, ultramar, recinto o maple. También existe el rojo cardenal, el rojo burgundy, el verde bosque, café chocolate, anonizado natural, diamante negro, melocotón claro, el burdeos, azul índigo, rojo indio, fumé claro y cristal sombra.

¿Dónde vamos a parar? Es posible que en el futuro pidamos una prenda en una tienda pero, por favor, que sea en naranja melocotón almibarado con toques de mandarina pastel al atardecer de una noche negra azabache de verano, que si no no me va con los ojos que los tengo verdes, del verde de toda la vida.

¡Venga, hombre!

Frases con historia (I)

teknoplof 14/09/2009 @ 11:59

"640 KB de memoria deberían ser suficientes para cualquiera."
Bill Gates, Presidente de Microsoft Corporation. 1981.

Sobre phishing y tal

teknoplof 10/09/2009 @ 10:46

phishing.jpgSi se pudiera calibrar la capacidad de maldad de la multitud de cuatreros electrónicos que campan por la Red, sin duda a los autores del phishing se les podría calificar de auténticos hijos de la gran puta con todas las letras.

El phishing comenzó allá por los años noventa, cuando hackers bregados en ingeniería social lograban conseguir los datos de clientes de AOL para utilizar los servicios de esta compañía americana por la face.

En aquella época, cuando las pequeñas aplicaciones que generaban números válidos de tarjetas de crédito funcionaban, cualquier pendejo digital era capaz de burlar la seguridad de grandes empresas intimidando a sus usuarios con veladas amenazas de cerrar sus cuentas de por vida si no recitaban sus claves de cabo a rabo.

El phishing evolucionó para convertirse en un método eficaz de conseguir los datos de cuentas de correo electrónico y software de mensajería instantánea, de lo que no se libró ni el apuntador, aunque parece ser que los ladronzuelos se decantaban más por los omnipresentes Hotmail y Messenger. No era raro recibir un correo solicitando tu nombre de usuario y contraseña so pena de bloquear tu cuenta si te resistías a colaborar. Lo más gracioso del tema era recibir una notificación de un servicio del que tú no disponías, causa por la que adivinabas el engaño antes que los demás.

Muchos de los intentos de embuste se basaban (y se basan) en la capacidad de la víctima para intentar hacer el mal, saliendo escaldado por supuesto. Algo así como el timo de la estampita de toda la vida, en el que el timado es abordado por una persona, aparentemente de capacidades mentales limitadas, con el objeto de venderle estampitas, que son billetes realmente, y, al final, el intento de aprovecharse del pobre tonto termina por dejar a la víctima sin un céntimo en su cartilla de ahorros. Muy español, sí señor; voy a timar al bobo de turno y acabo siendo yo el timado. Pero que nadie se entere, no vaya a ser que encima se rían de mí.

Este ejemplo trasladado al mundo de Internet es el clásico mensaje que te ofrece la posibilidad de conocer la contraseña de cualquier correo de Hotmail. Vamos, que puedes meterte hasta el fondo en la cuenta de la vecinita esa que está buenorra y ver las fotos que se hizo en topless en la playa de Palma y que envió la semana pasada a su mejor amiga. Evidentemente para realizar este trámite has de enviar un correo de determinadas características a una dirección (la del timador) en el que, de alguna u otra manera, habrás de incluir tu cuenta de usuario y tu contraseña. El cazador cazado.

La evolución del phising ha pasado en unos años del terreno de la gamberrada al del delito más flagrante. Hoy no se roban contraseñas, sino pasta contante y sonante. Cualquiera de nosotros habrá recibido más de una vez un mensaje de Caja Madrid o del Banco Santander solicitando nuestros datos de acceso a su web con el fin de solucionar problemas de seguridad recientemente acaecidos o de cotejar determinada circunstancia ocurrida con la cuenta. Por supuesto siempre hay una amenaza implícita, y es que si no accedes podrías perder tu acceso, tu cuenta, tu dinero... incluso si no eres cliente siquiera. Tócate los pies.

La semana pasada llegó a mi buzón el último intento de esta panda de cabronazos de querer timarme. Supuestamente la Agencia Tributaria me devolvía un dinero que me debía (cosa ya rara de por sí) y para ello había de acceder a su web (vía un enlace en el propio correo; muy típico) en el que, entre otros datos personales, tenía que escribir el número de tarjeta de crédito y ¡mi PIN!. Sí, han leído ustedes bien, mi PIN. Además especificaban claramente que debía ser el que yo utilizaba en el cajero automático cuando sacaba dinero, por si no me quedaba cristalino.

Mi reacción ante estos insultos a mi inteligencia es siempre primaria, entendiendo primaria por primitiva y poco civilizada. Relleno los casilleros del formulario de improperios y hago clic en el botón de enviar. Que se jodan. Pero el otro día, además, me indigne sólo de pensar en la cantidad de personas que, incautos ellos, escriban sus datos, PIN incluido, y lo envíen vaya usted a saber dónde y a quién con el anhelo de recibir esos ciento y poco euros que les prometen. Personas mayores, de pocos recursos y faltos de amplios conocimientos acerca de Internet, son timadas diariamente y despojadas de sus ahorrillos por estos crueles apandadores sin escrúpulos.

Se estima que entre mayo de 2004 y mayo de 2005, aproximadamente 1,2 millones de usuarios de ordenadores en Estados Unidos tuvieron pérdidas a causa del phishing, lo que suma aproximadamente 929 millones de dólares estadounidenses. Wikipedia dixit.

Los daños causados por el phishing oscilan de la pérdida del acceso al correo electrónico a pérdidas económicas sustanciales. Este tipo de robo de identidad se está haciendo cada vez más popular por la facilidad con que personas confiadas normalmente revelan información personal a los phishers, incluyendo números de tarjetas de crédito y números de la Seguridad Social. Una vez esta información es adquirida, los phishers pueden usar los datos personales para crear cuentas falsas utilizando el nombre de la víctima, gastar el crédito de la víctima, o incluso impedir a las víctimas acceder a sus propias cuentas.

Y ahora, encima, se está empezando a poner de moda también el phishing telefónico y vía SMS, en el que se nos solicitan nuestros datos en un mensaje corto de texto o mediante una llamada a nuestro móvil o teléfono fijo.

La recomendación es muy clara: no hay que fiarse nunca de nadie que nos pida información que sólo nosotros debemos conocer. Nuestro PIN de una tarjeta de crédito, por ejemplo, sólo debemos de saberlo nosotros. Ni el propio banco tiene por qué conocer este dato.

Por mucho logotipo guapo en un correo y mucha página web con apariencia de "oficial", la única manera que debemos utilizar para acceder a un sitio web es a través de su dirección completa en un navegador. Olvídese de links o vínculos que le llevan a los oscuros dominios del atacante con URL interminables que, incluso, pueden incluir el nombre de la entidad en cuestión. Además asegúrese de que la página en la que está utiliza algún tipo de cifrado (busque el candadito, hombre).

Un nuevo método que se está imponiendo es el que utiliza la técnica conocida como Cross Site Scripting (XSS), y que permite a un atacante dirigir al usuario a iniciar sesión en la propia página del banco o servicio, donde la URL y los certificados de seguridad parecen correctos. Esta técnica se basa en una vulnerabilidad del sistema de validación de un HTML incrustado y ofrece la posibilidad de ejecutar un código o script propio en el contexto de otro sitio web. Afortunadamente cada vez son más las empresas y organismos que protegen sus webs frente a este agujero de seguridad.

Otro problema es el relacionado con el manejo del Nombre de Dominio Internacionalizado (IDN) en los navegadores, puesto que puede ser que direcciones que resulten idénticas a la vista puedan conducir a diferentes sitios (por ejemplo dominio.com se ve similar a dοminiο.com, aunque en el segundo las letras "o" hayan sido reemplazadas por la correspondiente letra griega ómicron, "ο"). Al usar esta técnica es posible dirigir a los usuarios a páginas web con malas intenciones. A pesar de la publicidad que se ha dado acerca de este defecto, conocido como IDN spoofing, o ataque homógrafo, ningún ataque conocido de phishing lo ha utilizado. Aunque sólo hay que dar tiempo al tiempo.

Lo más importante es guardar unas medidas básicas de seguridad para que no puedan engañarnos. Supongo que en el "mundo real" usted no ofrecería sus datos bancarios al primer desconocido que pasee por la calle, pues en el "mundo virtual" haga lo mismo. Con el tiempo sospecho que irán apareciendo nuevos métodos de engañar y timar a la gente, porque mangantes siempre ha habido y siempre habrá, pero que no se crean que todo el monte es orégano. A mí no me phiseas, pendejo.

El wikipeligro está ahí fuera

teknoplof 02/09/2009 @ 08:02

grog.jpgAsistíamos la semana pasada a un tremendo epic fail protagonizado por el canal argentino de televisión C5N. En un informativo de la cadena, y en el marco del cambio de horario de cierre de los bares (boliches allá), el presentador comenta cómo los hábitos de jóvenes y adolescentes con relación al ocio han cambiado mucho en las últimas décadas. En concreto se refiere al exceso en el consumo de bebidas alcohólicas, que en escapadas y juergas nocturnas se eleva a la enésima potencia. Vamos, como aquí y en Sebastopol.

El descojono padre comienza cuando dicho sujeto advierte de la existencia de un nuevo "trago" que se ha puesto de moda entre la juventud argentina. Esta bebida en cuestión no es otra que el denominado Grog XD, cuyos ingredientes pasa a detallar uno a uno, siendo la relación de los mismos la siguiente: Queroseno, endulzantes artificiales, ácido sulfúrico, ron, acetona, tinte rojo Nº 2, grasa para ejes y ácido para baterías.

Cualquier gamer medianamente friki se habrá dado cuenta de que esos, precisamente esos, son los ingredientes del famoso Grog que tanto gustaban de beber los piratas del juego de los noventa Monkey Island. Cualquier internauta medianamente geek se habrá dado cuenta también de que el apellido de la bebida (XD) es un guiño de humor que hace referencia a un emoticono con significado de carcajada. Así mismo, cualquier ciudadano normal medianamente cuerdo se habrá dado cuenta de que cosas como el ácido sulfúrico no se pueden beber (o al menos no se debe, a no ser que sea tu último deseo en el corredor de la muerte).

La noticia viene recolectada de un correo electrónico (valiosa y fidedigna fuente de información, sí señor) que recibieron en la redacción de la tele en cuestión. En susodicho se hacía saber de este nuevo brebaje que se ingería a espuertas en las calles porteñas. Obviamente, no resultaba más que una broma o un intento de engaño con diversos guiños videojueguiles y que los responsables de la cadena se tragaron de cabo a rabo.

Pero lo peligroso del tema no es que te creas un bulo, sino que encima lo documentes y lo difundas. Digo yo que porque le tocó al becario o porque el redactor de turno andaba agobiado de trabajos mil, no se les ocurrió otra cosa mejor que preguntar al tito Google qué demonios era eso del Grog XD. Y claro, el tito que sabe mucho pero razona poco, les acercó navegando suavemente mecidos por las olas de la información automática a la increíble y descomunal Wikipedia, la enciclopedia online más famosa del mundo y de sus órbitas espaciales. Allí recorrieron rápidamente la entrada del Grog (que por cierto es una antigua bebida real; no de reyes, sino de verdad) hasta que vislumbraron atónitos y estupefactos los ingredientes mágicos del brebaje en cuestión (los del juego, no los de verdad).

Y tachán, tachán. Copio aquí, pego allí y... voilà. Ya tenemos la noticia del día. ¡Bombazo informativo, oiga! ¡Extra, extra!

Imagínense ustedes el cachondeo a posteriori.

Lo grave del asunto no es que un periodista se documente en Wikipedia, sino que lo haga exclusivamente en Wikipedia. Esta vasta (con v) enciclopedia encierra una de las bases de datos de información más importante y grandiosa que existe en Internet, pero tiene un pequeño problemilla anejado, y es que sus contribuyentes no son eruditos de la lengua, historiadores galardonados o extraordinarios científicos (que también), sino que pueden ser el mendrugo de su vecino de arriba, su jefe de usted en sus horas libres y yo mismo. O sea, cualquier pendejo electrónico que se conecte puede escribir algo en Wikipedia; y no sólo escribir, sino modificar; y no sólo modificar, sino variar un dato escrito por otro convirtiéndolo en erróneo conscientemente de la maldad que se está perpetrando. A lo cabrón, vamos.

Esta pequeña peguilla es extensible a cualquier blog o página personal, incluido éste mismo en el que se encuentra, no vaya a ser que los apocalípticos comentaristas me acusen de herir de muerte a la enciclopedia más visitada. Y es que Internet es un amplísimo medio de información en el que encontrará usted de todo, pero, créame, nunca se crea nada al 100%. Nunca.

Cualquiera podría decir que esta premisa es también aplicable a los medios de información tradicionales, y así es, pero no duden ni por un momento que las meteduras de pata de éstos han superado el rigor informativo desde que existe Internet. Se acuerdan cuando un niño decía antaño "que sí, mamá, que es verdad, que lo visto en la tele", y la madre le respondía "no te creas todo lo que sale por la tele". Pues tanto monta, monta tanto. Ni hay que creerse todo lo que aparece en Internet ni tampoco ser un paranoico que ve conspiraciones por todos los lados. Tanto Internet en su conjunto como Wikipedia en particular son medios de documentación magníficos y están convirtiéndose en prácticamente los unos y únicos del mercado, yo sólo digo que no debemos tomarnos a ciencia cierta el conjunto absoluto de todo lo que podamos leer.

Y si la gente de pueblo, usted y yo, debemos de tener cuidadín con esto, ni que decir tiene que un periodista, al que el primer año de carrera le enseñan que las noticias hay que contrastarlas, no debe tomar como dogma de fe un artículo en Wikipedia sin recurrir a otros medios (que hoy en día pueden ser, incluso, otras páginas web más "oficiales" en determinado asunto).

Otro dato, fíjense. No hace mucho tiempo el estudiante de sociología irlandés Shane Fitzgerald tendió una trampa a los medios con el fin de demostrar cómo, no sólo los actuales periodistas, sino también los blogueros y redactores de sitios web tiraban de Wikipedia con demasiada facilidad. Tras la muerte de Maurice Jarre, Fitzgerald publicó en la página de Wikipedia dedicada al compositor francés una falsa cita de éste con el fin de comprobar el funcionamiento de la autorregulación de la enciclopedia online. Wikipedia respondió rápidamente eliminando la falsa edición hasta en tres ocasiones, pero esto no fue suficiente para que multitud de los medios principales de Estados Unidos, Inglaterra, India o Australia, ante la necesidad de publicar una nota necrológica sobre el compositor, acudieron a la enciclopedia para copiar los datos allí reflejados mientras la falsa cita aún permanecía en el artículo, con lo que ésta salió también publicada en esos medios como verdadera.

La conclusión es clara. Los medios copian y pegan contenidos de la Web, en este caso de Wikipedia, sin demasiado rigor a la hora de confirmar la veracidad de los datos obtenidos a través de esa fuente. Shane Fitzgerald lo tiene claro: Wikipedia ha pasado la prueba de su experimento autorregulador, el periodismo no. En todo el mundo, sólo el periódico The Guardian, uno de los que reprodujo la cita, reconoció públicamente el error.

Se sorprenderían de la cantidad de casos como este que ocurren a diario. Sucedió con los datos de la fecha de fallecimiento de la cantautora peruana Chabuca Granda y con los del cantante criollo Oswaldo Campos. También sucedió con la historia que cuenta la película "La noche de los lápices", donde se aseguraba que los jóvenes secuestrados eran peligrosos terroristas. Se sorprenderían de la cantidad de famosos artistas que tras visionar su entrada en Wikipedia advierten o comentan que la información es buena pero no lo suficientemente exacta.

Hace unos días la agencia de noticias Reuters publicó su libro de estilo. La sorpresa se centró en los apartados dedicados a la obtención de información en la red, y específicamente en Wikipedia. Reuters afirma que Wikipedia puede ser un buen punto de partida para una investigación, pero "no debe ser usada como una fuente atribuible". La agencia de noticias advierte que la información que contiene "no ha sido confirmada y puede cambiar en segundos, cuando los usuarios añaden o quitan material". Lo cual resulta totalmente lógico y de enorme sentido común. Esta debería ser la máxima de cualquier periodista a la hora de documentarse.

Wikipedia sabe todo esto y lo anuncia en su Limitación general de responsabilidad diciendo que "Wikipedia no garantiza la validez de sus artículos". La lógica de Wikipedia es "no te fíes de la información, contrasta distintas opiniones y verifica las fuentes". La lógica de cualquier otra enciclopedia es "aquí está la verdad, no la cuestiones". Y lo cierto es que las enciclopedias clásicas, incluso la Enciclopedia Británica, están también plagadas de errores.

Ninguno de los valiosos contenidos de Wikipedia se acerca en su valor pedagógico, ni en su aporte como estímulo a la formación de un espíritu crítico, a la conciencia de que Wikipedia tiene errores que se documentan y se discuten. Esto justamente es la libertad que ofrece Internet. ¿Anarquía de la información? De ninguna manera, sólo un proceso en marcha, abierto y transparente, de discusión sobre el conocimiento.

Contrasta siempre tus fuentes y disfrutarás del conocimiento libre.

NB: Este artículo puede contener tantos errores documentales como documentalistas se hayan utilizado. A ver si se cree usted que yo me lo sé todo, hombre.