Una increíble forma de esclavitud digital

El día de hoy leí un muy interesante artículo en el blog Zero Day en ZDNet, sobre el negocio de romper la seguridad de los CAPTCHA en India, lo cuál me mostro como la revolución digital que ha traído el Internet a la vida de millones, puede llevarnos a cosas tan extremas como la explotación del hombre por el hombre, que todos creíamos superada hace varias décadas.

Primero hay que explicar que es CAPTCHA para los no entendidos. Bueno CAPTCHA es la abreviatura de "Completely Automated Public Turing test to tell Computers and Humans Apart", el "Test de Turing" o "Prueba de Turing" es el procedimiento desarrollado por Alan Turing para corroborar la existencia de inteligencia en una máquina. Fue expuesto en 1950 en un artículo (Computing machinery and intelligence) para la revista Mind. Se fundamenta en la hipótesis positivista de que, si una máquina se comporta en todos los aspectos como inteligente, entonces debe ser inteligente. Hasta la fecha no se puede desarrollar un algoritmo que pueda comprender la escritura manual de todo ser humano y por extensión si se ditorsionan letras rotandolas, alargandolas, invietiendolas o ensuciándolas una computadora no podría reconocerlas incluso si son generadas aleatoriamente por otra computadora, porque es incapaz de separar el ruido del mensaje, pero un humano sí puede hacerlo. Ese es el principio usado tanto por Google, Yahoo o MySpace para no permitir que un robot cree millones de cuentas para luego usarlas como plataforma de spam.

En la práctica el CAPTCHA es imposible de romper por una computadora, pero sencillo de resolver incluso para niños de 9 años. Debido a ello miles de compañías indias entre ellas decaptcher.com, ofrecen su servicio de descifrado de CAPTCHA por la módica tarifa de $2 por cada 1000 CAPTCHAS vulnerados, ¿cómo es posible ésto?, ¿acaso han descubierto cómo simular inteligencia humana en una computadora?, lamentablemente no. Lo que hacen es ser un intermediario entre los clientes (spamers) y los proveedores del servicio (desesperados tele-trabajadores). Para tal fin la empresa provee un API que permite desarrollar aplicaciones que toman el CAPTCHA generado por Google, MySpace, etc., y lo envía a ser procesado por los proveedores que son un grupo numeroso de digitadores mal pagados que reciben la imagen y escriben la solución que es enviada de vuelta al cliente, el sistema cuenta cuántas CAPTCHA exitosas se realizarón y se le factura el cliente, que usualmente es un spamer profesional.

Piensa Ud. que es una forma fácil de hacer dinero, pues le comento que no lo es. Considere ésto, aún si los $2 se los lleva el digitador (falsa suposición porque la mayor parte se la lleva el intermediario) el esperar por un CAPTCHA y tipear las letras correctas ( usualmente 6 u 8 ) no se puede hacer en menos de 30 segundos, de esa forma un digitador trabajando 8 horas al día sólo podría resolver 960 CAPTCHAS (8 horas x 60 minutos/hora x 2 CAPTCHA/minuto) asumiendo una eficiencia del 100%, así que en el mejor de los casos un obrero digital tendría que pasar más de 8 horas al día para hacer solamente $2 diarios, asumiendo que no se equivoca en ningun CAPTCHA y recibe todo el dinero pagado por el cliente.

Como vemos en este caso Internet esta permitiendo que se explote a millones de digitadores con salarios realmente bajos. Parte de ésto es posible debido a que la industria de los rompedores de CAPTCHA de la India, esta camuflada detras de la legal actividad del procesamiento de datos, y muchos de ellos incluso disfrazan su ilegal actividad aduciendo que ayudan a los impedidos (ciegos) a crear sus cuentas de correo. Parte del problema es que este negocio reposa sobre la base de miles de pequeños "emprensarios", con 10 a 30 PC, que compran el servicio de proxy de compañías como decaptcher.com, haciendo de ésta forma muy difícil parar esta ilegal actividad.

En el blog Zero Day, aparecen varios de los pantallazos de los terminales de los digitadores, así como muestras de cómo estos pequeños negocios se publicitan por Internet, incluso hay uno afirma poder romper 700 mil CAPTCHAS diariamente. Espero nomas que éste lamentable ejemplo de como usar la tecnología no sea usado en el Perú, debido a las similitudes entre Perú e India, como son fácil acceso a Internet, un gran númerod e personas entrenadas en el uso de una computadora y sin trabajo.

Haciendo tuneles con OpenSSH

En los últimos días he estado ocupado reubicando servers, y uno de los problemas que tuve es que ciertas aplicaciones usan el IP en lugar de nombre para hacer referencia al servidor, ésto hace imposible el asignar un nuevo IP, sin cambiar la aplicación. La única solución que encontre fue crear tuneles a un server que tuviera todas las IP’s que necesitaba, para luego hacer un forward de todos los paquetes IP a través de los tuenel que había creado. Como siempre digo, para que me sirva en un futuro a mi, y a cualquier otro que necesite resolver un problema similar, aquí les detallo como crear un tunel usando el OpenSSH que es una aplicación Open Source y que ofrece esta opción desde su versión 4.3, para desarrollar este tutorial me he basado en otro que encontré en inglés aquí.

Manos a la obra, primero comencemos instalando los siguientes paquetes:

# apt-get install vtun bridge-utils openssh-server openssh-client openssh-blacklist

Asegurarse de que en ambos equipos aparezcan estas líneas en el archivo /etc/ssh/sshd_config:

PermitRootLogin yes
PermitTunnel yes

Asegurarse de que en ambos equipos el forwarding entre interfaces este habilitado:

# echo 1 > /proc/sys/net/ipv4/ip_forward

Luego de lo anterior debemos de crear el tunel desde el equipo que este en la nueva red con éste comando (asumiremos que 123.123.123.123 es el IP antiguo):

# ssh -N -w 0:0 root@123.123.123.123&

Ahora hay que asignar a cada equipo un IP privada para cada extremo del tunel, para nuestro caso:

En el server con IP antigua:
# ifconfig tun0 10.0.0.1 netmask 255.255.255.0

En el server con IO nueva:
# ifconfig tun0 10.0.0.2 netmask 255.255.255.0

Finalmente en el equipo que tiene la IP antigua debemos de hacer el port-forwarding y el enmascarado de la interface del tunel (la idea es hacer un NAT, para que los paquetes generados por el server con la nueva IP sean enviados de vuelta por el tunel), para ello ejecutamos éstos comandos:

# iptables -F
# iptables -t nat -F
# iptables -t nat -A PREROUTING -p tcp -d 123.123.123.123
–dport 80 -j DNAT –to 10.0.0.2:80
# iptables -t nat -A POSTROUTING -o tun0 -j MASQUERADE

Ya esta listo, ahora si abrimos en un browser el URL: http://123.123.123.123 (asumiendo que ese sea el valor de la antigua IP) veremos el webserver que tiene la nueva IP.

Lo anterior también funcionaría si desearamos asignarle IP público a un equipo que esta detras de un NAT.

El port forwarding es hecho por puerto, así que no se olviden de crear una regla para cada servicio que quieran ofrecer.

Aquellos que deseen automatizar el proceso con un script y necesiten crear la conexión ssh sin introducir el password manualmente, pueden seguir éste tutorial que explica como establecer una conexión ssh sin necesidad de tipear el password manualmente.

Finalmente, algo que olvidé mencionar al inicio es que este tutorial esta basado sobre Debian, se puede usar lo mismo sobre Ubunto añadiendo "sudo" al incio de cada domando, y en otras distribuciones haciendo la instalación de OpenSSH 4.3 o superior y de TUN/TAP.

Espero que toda ésta información les haya sido de provecho, y les pueda haber ahorrado algún tiempo googleando. Cuálquier comentario o sugerencia para mejorar el contenido de este howto sera bienvenido.

Un paso más en la dirección equivocada

Aquellos que han seguido este blog por un tiempo se habran dado cuenta de mi pesimisto sobre el futuro de la sociedad occidental, no porque ésta tanga profundas desigualdades sociales o porque sus políticos sean corruptos, eso pasa en toda sociedad, incluídas aquellas basadas en la utopía socialista. La razón de mi pesimismo es que estamos dando la espalda a las ciencias básicas como la física o las matemáticas, y llegamos a extremos tales que justificamos la desidia en su aprendizaje arguyendo que no sirven para nada, que no producen un beneficio económico real. Incluso la sociedad ha etiquetado a aquellas personas interesadas en la ciencia como " nerds" o "geeks", y definiendolos como personas incapaces de interacción social alguna y dotes de liderazgo, saltando con garrocha la historia reciente, que tiene a los grandes investigadores científicos como líderes sociales y grandes impulsores del tremendo desarrollo económico de las sociedades occidentales.

La introducción anterior es para que puedan entender por qué para mi, el hecho de que Bell Labs cierre su laboratorio de investigaciones en física es el equivalente a un suicidio social. Me entere de la noticia a través de la revista Wired ayer (28 de agosto), pero debido a que he estado muy ocupado no había podido escribir sobre lo ocurrido. La razón del cierre del laboratorio, logicamente viene de la mano de los "grandes genios", los estrategas financieros (la gran mayoría con formación "humanista") que opinan que es más rentable para la compañía, enfocar sus esfuerzos en investigaciones relacionadas a tecnologías como networking, electrónica de alta velocidad, tecnología inalambrica, nanotecnología y software. Lo anterior quiere decir en pocas palabras que sólo les interesa producir objetos más baratos con las actuales tecnologías y no desarrollar nuevas tecnologías que podrían cambiar nuestra sociedad.

Es importante recordar que el "laboratiorio" como parte de la actividad de una empresa fue introducido por Tomas Edison, hace más de un siglo, y todas las grandes empresas desde entonces han copiado su idea y desarrollado los famosos departamentos de I&D (Investigación y Desarrollo). Aunque en las últimas décadas se han convertido en simples anexos del departamento de marketing, en pocas palabras los investigadores son los pringaos de los marketeros, y después todo el mundo se pregunta el por qué la sociedad no avanza.

Las instalaciones de los laboratios Bell de New Jersey que ya han sido cerrados y seran convertidos en edificios residenciales y centros comerciales (algo mucho más rentable que la aburrida ciencia en éstos tiempos), fue el lugar donde se creo el transistor, que generó la gran revolución de la ahora autodenominada "sociedad de la información". Alli se probo la naturaleza ondulatoria de la materia, y dicho laboratorio exhibe dentro de los logros alcanzados por sus investigadores 6 premios Nobel. Pero eso a quién le importa, si lo que se quiere es producir gadgets más baratos, para venderlos con una utilidad astronómica, un ejemplo claro son los populares iPod que le cuestan producirlos a Apple aproximadamente $ 150 cada uno y los vende a más de $ 300, ese es el modelo de investigación que las empresas ahora desean.

Para que investigar sobre fusión fría o la composición de la materia, si haciendo lobby se puede conseguir que hasta agencias gubernamentales te den un logo de "Energy Efficient", y conviertes a tu empresa en una empresa ecológica. Para que hacer las cosas de verdad, si toda la economía mundial es una gran ficción, bienvenidos al final de una era, me pregunto qué seguirá ¿sacrificios humanos?.

Instalando OpenSSH en Debian 3.1

El día de ayer (27 de agosto) en la noche luego de haber hecho un mantenimiento de rutina, cuándo el server Linux Debian 3.1 arranco, no permitía conexiones ssh, revisé el server y me di cuenta de que por alguna razón que aún no logro entender, al actualizar una librería de CPAN, mi sshd sencillamente desapareció. El problema era que para reinstalarlo, el apt-get me solicitaba remover el apache2, el vsftp, el vtun (que uso para crear tuneles) y unas cuantas librerías SSL que si lo hacía corría el peligro de dejar el servidor inoperativo, así que lo único que me quedo fue intalar el OpenSSH desde fuentes, pero descubrí un cierto número de pequeños detalles que consumieron casi 2 horas de mi vida, sólo compilando el OpenSSH, para que no me vuelta ha ocurrir lo mismo y para que sirva de ayuda a cuáquiera que tenga el mismo problema, aquí les digo cómo instalarlo.

Primero hay que instalar el zlib1g-dev usando el apt-get como super-usuario:

# apt-get install zlib1g-dev

Luego hay que descargar el OpenSSH 3.8p1 usando el wget:

#  wget ftp://ftp.cse.buffalo.edu/pub/OpenBSD/OpenSSH/portable/openssh-3.8p1.tar.gz

Luego hay que descomprimirlo usanto el comando tar:

# tar -zxvf openssh-3.8p1.tar.gz

Luego hay que hacer la configuración, compilación e instalación:

# cd openssh-3.8p1
# ./configure –prefix=/opt/openssh
# make
# make install

Finalmente iniciamos el ssh deamon con el comando:

# /opt/openssh/sshd

Y listo, problema resuelto ya tenemos el sshd corriendo.

Los e-mails privados de Hugo Chávez en subasta

ChavezÉsta noticia si que me hizo reir, los amigos de Wikileaks, una web que se ha hecho famosa por presentar información confidencial como el manual de operaciones de la base de Guantánamo, o documentos secretos de la Iglesia de la Cienciología, ahora se han hecho del correo privado de Hugo Chávez entre el 2005 y el 2008 y como una forma de financiar su operación están subastando la exclusiva, aunque eventualmente en un futuro próximo ésta información será publicada en el website, al menos eso es lo que opinan en Wired.

Según comenta Wired, una de las figuras más prominentes de Wikileaks, Julian Assange, ha aceptado que el modelo de negocios en dicho portal ha fracasado y comenzarían ha experimentar nuevas formas de encontrar financiamiento, al parecer la subasta de los correos privados de Chávez sería una de las formas de Wikileaks de tratar de sufragar sus gastos de defensa legal, ya que el filtrar información tan sensible le ha ganado poderosos enemigos.

Lo que me llama la atención en todo caso no es Wikileaks este subastando la información en lugar de publicarla de una vez, eso es una decisión de ellos. Lo realmente increíble para mi es lo inocentes/cándidos que son los asesores cubano-venezolanos de seguridad informática del presidente Hugo Chávez, que no recomendaron usar PGP para el envío de su correspondencia personal. Por todos es sabido que el protocolo SMTP no es seguro, absolutamente toda transferencia es en texto claro, y usar Internet sin cifrado en general tampoco es seguro porque cualquiera puede oir lo que uno esta escribiendo, como lo demostro Alex Pilosoft y Anton Kapela, mostrando lo vulnerable del protocolo BGP en el último Defcon, así que me parece un poco contradictorio que justamente sean gobiernos que se califican como enemigos de Washington y presidentes que dicen ser objetivos de la CIA, no tomen la precausión de cifrar su correo personal. Pero a decir verdad, nada de eso me sorprende de la "inteligencia" cubano-venezolana, que sólo puede tener relativo éxito reprimiendo a sus ciudadanos, pero no contra una estructura de inteligencia extranjera, incluso de ciudadanos medianamente entrenados en temas informáticos, como lo ha demostrado la comunidad de Wikileaks.

En fin, esperare hasta que los e-mails se hagan públicos y me deleiraté leyendo lo que Chávez no quiere que sepamos, siempre es interesante ver lo que una figura pública hace cuando tiene la idea de que nadie lo observa. ¿Sera cierto que lo que hay entre Chávez y Fidel es "amor pulo y veldadero"?, ojala los e-mails nos ayuden a resolver ese misterio.