surt@delcercle:~$

Blog destinat a combatre la cibervigilancia a la que ens sotmeten grans corporacions tecnocapitalistes.
 

#Existeix vida més enllá de reCaptcha

Creat per Kim el 28 January 2019 · 420 cops Arxivat a Software Lliure

És ja habitual entrar a un lloc web i veure que els seus formularis estan protegits per un sistema anti robots als quals anomenem captchas que és l'acrònim de «Completely Automated Public Turing test to tell Computers and Humans Apart» (en anglès, "test de Turing públic i automàtic per a diferenciar a màquines d'humans"). Aquests no tenen altra funció per a esbrinar si qui envia el formulari és un robot o un ésser humà i per aconseguir-ho fa servir diverses tècniques, la més habitual és fer que l'usuari escrigui en un camp de text el contingut d'una imatge distorsionada, també podem trobar preguntes de tipus matemàtic o fins i tot reconeixer objectes en icones o imatges.

Un bon dia va veure la llum un projecte de l'universistat Carnegie Mellon anomenant reCaptcha que ens permetia incloure un codi en la nostra web i facilitar-nos la feina d'integrar un sistema antirobots, inicialment aquest sistema es basava en la lectura d'imatges distorsionades, el projecte va adquirir un èxit notable i va ser comprat per Google Inc.

Google va posar a treballar els seus enginyers i va treure un sistema més avançat basat en OCR, tots hem vist com aquest conegut sistema ens demana que busquem senyals de tràfic o bicicletes en un mosaic d'imatges, doncs bé això té dos problemes significants, el primer es que tot el que fa Google amb aquest sistema ho fa en el seu servidor i és opac a l'usuaria, tu envies a una url la ip del usuari i Google retorna un veritable o fals segons si és un humà o no. A partir d'aquesta acció inicial els servidors de Google poden registrar moltes dades de  i en segon terme quan fem servir el reconeixement d'imatges estem ajudant amb machine learning a ensenyar al seu OCR a millorar en el reconeixement d'imatges.

Això per si sol ja és dolent perquè cap usuari visitant és preguntat per si vol contribuir amb Google en res, el propietari del web ho integra amb facilitat i regala no només les dades de les seves usuàries a Google sinó que els força a treballar per ells sense cap mena de consentiment.

Això és dolent sí però ara encara és pitjor, la nova versió 3 de Google reCaptcha ja no s'integra només en la pàgina del formulari i en el moment d'enviar dades, ara s'integra en tota la pàgina i és omnipresent i controla tot el tràfic del web enviant constantment dades als servidors de Google. Des del mateix moment de la càrrega de la pàgina reCaptcha comença a treballar de forma silenciosa controlant tots i cadascun dels moviments de les teves usuàries com he dit abans sense cap autorització més que la del propietari del web.

Doncs bé, encara que no ho sembli hi ha llum al final del túnel, existeixen alternatives lliures i tècniques sencilles per detindre els robots, anem a repasar algunes d'elles:

Securimage PHP Captcha

Aquest sistema de codi lliure escrit amb PHP i Javascript és fàcil d'integrar, es basa en el reconeixement d'imatges distorsionades de lletres i números. Link

Javascript Captchas

Codi lliure escrit amb Javascript i que permet l'ús amb diferents frameworks com jQuery o AngularJS ens permet crear un elegant captcha on l'usuaria haurà d'escollir una entre una serie d'icones. Aquest és només un exemple pèrò hi han molts captchas en Javascript. Link

Però tots aquest sistemes tenen el problema de que no són gaire accesibles per persones amb dificultats com per exemple invidents a part de que moltes vegades són molestos ja que sobretot els que ens fan escriure són una perdua de temps que fa que moltes usuaries abandonin el formulari i fins i tot ens ha passat a totes que no conseguim escriure el contingut de l'imatge distorsionada de forma correcte i ho deixem estar. Per això la meva preferida es l'anomenada tècnica del Honeypot.

Honeypot

Aquesta tècnica es basa a enganyar al bot coneixent el seu funcionament, un bot és un programa autònom que busca al codi font d'un web un formulari, omple els seus camps i els envia simulant ser un esser humà, amb la tècnica del honeypot el que farem és crear un camp més de text al formulari i l'amagarem amb css per exemple amb una posició absoluta i un left -20000px de manera que no sigui visible al web (no es recomanable incloure un display none en linia per si el script del bot ho comprova), per defecte els bots omplen tots els camps dels formularis si en el costat del servidor veiem que aquest nou camp te valor vol dir que qui l'ha enviat és un bot.

A mi personlament m'agrada combinar aquesta tècnica amb unes altres per exemple un comptador de temps, un bot fa tota aquesta tasca d'una forma molt ràpida, un humà es pren el seu temps per omplir i enviar un formulari, jo el que faig es en la pàgina del formulari incloure des de el moment de la carrega un comptador en segons si el botó d'enviar es clica abans de 10 segons segur que és un bot i impedeixo l'enviament.

Un altre forma d'impedir l'acció d'un bot es carregar el formulari amb ajax sintre d'un div contenidor, quan el bot cerca el formulari al codi font no el trobarà.

La combinació d'aquestes tècniques impedeixen als bots enviar el formulari, són invisibles a les usuaries del web, no afecten a l'usuabilitat i són molt fàcils d'integrar per un desenvolupador web, per tant veient que hi han alternatives mirem de presionar els propietaris de webs perque no ens obliguin a treballar i regalar les nostres dades a Google quan no hi ha necessitat.

Aquest article no te cap tipus de llicència ni res, pot fer amb ell el que vulguis, no ho oblidis copia, difon i pirateja.