mercoledì 1 aprile 2009

BOT o UMANO?



martedì 27 gennaio 2009


domenica 25 gennaio 2009

SCREENSHOT

Il termine inglese screenshot (da screen, schermo, e shot, scatto fotografico) indica l'istantanea di ciò che visualizzato in un determinato istante sullo schermo di un monitor, di un televisore o di un qualunque dispositivo video.

Crackato anche il Captcha di Live Mail

pubblicato da PG in: E-Mail Security Microsoft
I Captcha, ovvero i sistemi utilizzati dai servizi di posta elettronica per verificare se dietro ad una nuova iscrizione c’è un essere umano o un computer, hanno subito una nuova sconfitta. Dopo la caduta del Captcha di Gmail a febbraio, è stata la volta del Captcha di Windows Live Hotmail. Questo significa che un altro enorme fornitore di caselle di posta elettronica nelle potenziali mani degli spammer.
Il software utilizzato dagli spammer per superare le barriere dei Captcha si chiama XRumer, e la sua ultima versione 5.0a riesce ad ignorare i sistemi di identificazione anche di Hotmail. Generalmente, dietro ad un sistema di decodifica dei Captcha, lavorano gruppi di persone che leggono le immagini catturate dal software e le inviano i risultati al destinatario.
Non sarebbe una cosa grave se si trattasse di un piccolo gruppi di persone, ma la realtà è che molte di queste organizzazioni lavorano in paesi come l’India e sono in grado di rilevare 700.000 Captcha al giorno. Secondo altre statistiche i numeri sono inferiori, e si tratterebbe di 25.000 Captcha crackati al giorno. Ma, in ogni caso, si tratta di cifre elevate, che porterebbero alla creazione di 2.500 email spazzatura nuove ogni giorno.

sabato 24 gennaio 2009

CAPTCHA da Wikipedia

Con l'acronimo inglese CAPTCHA si denota nell'ambito dell'informatica un test fatto di una o più domande e risposte per determinare se l'utente sia un umano (e non un computer o, più precisamente, un bot). L'acronimo deriva dall'inglese "completely automated public Turing test to tell computers and humans apart" (Test di Turing pubblico e completamente automatico per distinguere computer e umani). Il termine è stato coniato, nella terminologia inglese, nel 2000 da Luis von Ahn, Manuel Blum e Nicholas J. Hopper della Univerisità Carnegie Mellon e da John Langford della IBM. Come consueto nella terminologia informatica il termine inglese viene utilizzato anche nella terminologia informatica italiana.
Un test captcha tipicamente utilizzato è quello in cui si richiede ad un utente di scrivere quali siano le lettere o numeri presenti in una sequenza di lettere o numeri che appaiono distorti o offuscati sullo schermo.
Dal momento che il test viene gestito da un computer, mentre il test originale di Turing viene gestito da un umano, a volte si descrive il test captcha come un test di Turing inverso. Si tratta però di una definizione fuorviante, perché potrebbe indicare anche un test di Turing in cui entrambi i partecipanti tentano di provare che non sono umani.
Indice[nascondi]
1 Origini
2 Applicazioni
3 Caratteristiche
4 Accessibilità
5 Contromisure
6 reCaptcha
7 Elenco dei principali CAPTCHA esistenti
8 Note
9 Collegamenti esterni
9.1 Articoli sui Captcha
9.2 Software Captcha
//

Origini [modifica]
I captcha sono stati sviluppati per la prima volta nel 1997 per AltaVista da Andrei Broder e colleghi per impedire ai bot di aggiungere URL al loro motore di ricerca, cercavano di creare immagini resistenti agli attacchi degli OCR, quindi consultarono il manuale degli scanner della Brother e seguirono le istruzioni per ricreare una pessima situazione (caratteri storti, con font diversi, sfondi non omogenei ecc). Broder sosteneva di aver ridotto lo spam di oltre il 95%.
In modo indipendente dal team di Altavista, Luis von Ahn e Manuel Blum realizzarono e diffusero nel 2000 l'idea del test captcha, intendendo con ciò qualunque tipo di programma che fosse in grado di distinguere tra persone e computer. Essi inventarono vari tipi di test, compresi i primi a ricevere un'ampia diffusione grazie all'uso da parte di Yahoo.

Applicazioni [modifica]
I captcha sono utilizzati per impedire che i bot utilizzino determinati servizi, come i forum, la registrazione presso siti, scrivere commenti e in generale tutte quello che potrebbe essere usato per creare spam o per violare la rete con operazioni di hacking come il brute force. Ultimamente questo tipo di test viene utilizzato anche per contrastare lo spam generato da bot obbligando il mittente, se non conosciuto dal destinatario, a superare un test captcha prima di consentire la consegna del messaggio.

Caratteristiche [modifica]
Per definizione i test captcha sono completamente automatici e non richiedono di norma interventi umani per la somministrazione o la manutenzione. Si tratta di indubbi vantaggi in termini di costi e affidabilità.
Gli algoritmi utilizzati per realizzare i test vengono spesso divulgati al pubblico, anche se in molti casi sono protetti da brevetto. Tale politica di trasparenza è tesa a dimostrare il fatto che la sicurezza del metodo non risiede nella conoscenza di un algoritmo segreto (che potrebbe essere ricavata con tecniche di reverse engineering o in modo fraudolento); al contrario, per 'rompere' l'algoritmo è necessario risolvere un problema classificato come 'hard' nel campo dell'intelligenza artificiale.
Un altro tipo di tecnica che si sta sviluppando negli ultimi anni, è quella di realizzare dei test, basati sul riconoscere all'interno di un'immagine particolarmente familiare una faccia. Per questo tipo di CAPTCHA si parla di RTT based on faces recognition. In letteratura allo stato attuale sono stati implementati soltanto due metodi basati su questo tipo di CAPTCHA: l'ARTiFACIAL e un CAPTCHA basato sul face recognition. Dati i loro risultati, rispetto ai CAPTCHA text-based, ben presto prenderanno piede nel web.[senza fonte]
Non è obbligatorio ricorrere a tecniche visive; qualunque problema di intelligenza artificiale che abbia lo stesso grado di complessità, ad esempio il riconoscimento vocale, è adatto a fare da base per un test di questo tipo. Alcune implementazioni consentono all'utente di scegliere in alternativa un test basato su tecniche auditive, anche se tale approccio ha subito uno sviluppo più lento e non è detto che possieda lo stesso grado di efficacia di quello visivo. Inoltre, è possibile ricorrere ad altri tipi di verifiche che richiedano un'attività di comprensione testuale, quali la risposta a una domanda o a un quiz logico, il seguire delle specifiche istruzioni per creare una password, eccetera. Anche in questo caso i dati sulla resistenza di tali tecniche alle contromisure sono scarsi.

Accessibilità [modifica]
L'uso di test captcha basati sulla lettura di testi o altre attività legate alla percezione visiva impedisce o limita fortemente l'accesso alle risorse protette agli utenti con problemi di vista (ad esempio i daltonici). Poiché tali test sono progettati specificamente per non essere leggibili da strumenti automatici, i normali ausili tecnologici usati dagli utenti ciechi o ipovedenti non sono infatti in grado di interpretarli. Il loro uso, generalmente legato alle fasi iniziali di accesso o registrazione ai siti, e talvolta ripetuto per ogni accesso, può costituire una discriminazione nei confronti di tali utenti disabili che in alcuni ordinamenti costituisce una violazione delle norme di legge.
Le nuove generazioni di captcha, create per resistere ai più sofisticati programmi di riconoscimento di testi, possono essere molto difficili o impossibili per molti utenti, anche nel pieno possesso della propria capacità visiva.
Il W3C ha redatto un rapporto in cui vengono evidenziati alcuni dei problemi di accessibilità legati all'uso di tali tecniche (Inaccessibility of Visually-Oriented Anti-Robot Tests [1]).

Contromisure [modifica]
Dopo l'uso massiccio di captcha, sono state scoperte alcune contromisure che permettono agli spammer di superare i captcha.
Il metodo più semplice è di utilizzare un utente per risolvere il captcha. Per fare questo lo spammer deve avere un sito Internet con un servizio per cui gli utenti umani chiedono l'accesso, come un forum o immagini pornografiche. Quando un utente chiede di accedere, viene salvato un captcha esterno che viene quindi risolto dall'utente. Successivamente verrà "riciclato" il captcha già risolto.
È anche possibile affidare a persone pagate il compito di risolvere un captcha, il documento del W3C indicato sopra afferma che un operatore può facilmente verificare centinaia di captcha in un'ora; questa possibile soluzione necessita di un investimento economico che non tutti possono o vogliono intraprendere.
Greg Mori e colleghi hanno presentato nel 2003 un lavoro [1] che illustra come aggirare uno dei sistemi più diffusi per realizzare test captcha, EZ-Gimpy; tale approccio è efficace nel 92% dei casi. Nei confronti del sistema Gimpy, più sofisticato ma meno diffuso, l'efficacia del metodo scende al 33%. Al momento non è però noto se tale algoritmo sia stato implementato al di fuori del contesto della ricerca.
Sono stati creati anche alcuni programmi per cercare una soluzione ripetutamente e altri per riconoscere i caratteri scritti, utilizzando tecniche apposite e non quelle standard degli OCR. Progetti come PWNtcha[2] hanno fatto grandi passi avanti contribuendo alla generale migrazione verso captcha più difficili.
C'è anche un altro metodo per superare un captcha: sfruttare sessioni in cui il test è già stato superato o salvare i test per poi creare un archivio di soluzioni.

reCaptcha [modifica]
I test Captcha hanno avuto degli utilizzi secondari non legati unicamente all'eliminazione dello spam, il più noto riguarda il riconoscimenti di testi contenuti in libri antichi e prende il nome di reCaptcha. Molte biblioteche stanno provvedendo a convertire in digitale le loro collezioni di antichi manoscritti, questa conversione viene ottenuta tramite la digitalizzazione delle pagine e la loro successiva analisi tramite un programma OCR che interpretando le immagine genera il testo contenuto. I programmi OCR purtroppo interpretano con difficoltà le lettere sbiadite e le pagine ingiallite dei testi antichi e quindi normalmente necessitano di un supporto umano che rallenta il processo e innalza il costo della digitalizzazione. Ricercatori della Carnegie Mellon University hanno deciso di utilizzare i sistemi captcha per interpretare le parole dubbie individuate dai programmi OCR. Quando due sistemi OCR identificano in modo diverso una parola questa viene associata a una parola nota e inviata a un utente che deve superare un test captcha per accedere a un servizio. Si presuppone che se un utente individui correttamente la parola nota allora individuerà anche la parola ignota con elevata probabilità. Quando tre utenti danno la stessa risposta il sistema archivia la parola come corretta. Questo sistema ha permesso di convertire 440 milioni di parole con un'accuratezza del 99%. Ad agosto 2008 il sistema converte 4 milioni di parole al giorno.[3]

Elenco dei principali CAPTCHA esistenti [modifica]
Gimpy
Ez-Gimpy
ScatterType
PessimalPrint
Bongo
Pix
AnimalPix
ARTiFACIAL
Easy_CAPTCHA

Note [modifica]
^ http://www.cs.sfu.ca/~mori/research/papers/mori_cvpr03.pdf 408kB
^ http://sam.zoy.org/pwntcha/
^ I testi antichi hanno un futuro "Li salverà un metodo antispam". Repubblica.it, 19 agosto 2008. URL consultato il 19 agosto 2008.

Collegamenti esterni [modifica]

Articoli sui Captcha [modifica]
(EN) The Captcha Project
(EN) Inaccessibility of Visually-Oriented Anti-Robot Tests: Problems and Alternatives (raccomandazione del W3C)
(EN) Storia del test captcha (Xerox PARC)
(EN) Il brevetto USA 6.195.698 (nota: il termine captcha non era ancora stato inventato all'epoca)
(IT) Distinguere l'uomo dalla macchina in modo accessibile

Software Captcha [modifica]
(EN) Captcha La voce 'Captcha' sulla Wikipedia inglese offre una raccolta di link molto ampia
(IT) CAPTCHA ASP.NET Web Control Libreria open source di controlli ASP.NET
(IT) captchas.net Servizio gratuito Captcha

BOT da Wikipedia

Nelle terminologie legate a Internet, il termine bot (abbreviazione di robot) si riferisce, in generale, a un programma che accede alla rete attraverso lo stesso tipo di canali utilizzati dagli utenti umani (per esempio che accede alle pagine Web, invia messaggi in una chat, e così via). Programmi di questo tipo sono diffusi in relazione a molti diversi servizi in rete, con scopi vari ma in genere legati all'automazione di compiti che sarebbero troppo gravosi o complessi per gli utenti umani.
Indice[nascondi]
1 Esempi
1.1 World Wide Web
1.2 Internet Relay Chat
1.3 Videogiochi
1.4 Progetti wiki
2 Voci correlate
//

Esempi [modifica]

World Wide Web [modifica]
Il tipo più diffuso di bot programmato per navigare sul World Wide Web è quello dei web crawler (letteralmente brulicatore della rete), detti anche spider ("ragni"). Questi programmi attraversano le pagine Web "seguendo" i link ipertestuali che trovano nel testo per passare dall'una all'altra, e nel frattempo raccolgono informazioni sui contenuti delle pagine allo scopo di indicizzarle opportunamente nel database principale del motore di ricerca.

Internet Relay Chat [modifica]
Sui canali IRC i bot svolgono svariati compiti; dallo spamming rivolto automaticamente a tutti gli utenti che entrano in chat, all'offerta di servizi di file sharing integrati nel sistema di chat, fino ad arrivare a svolgere il ruolo di "maggiordomi" delle stanze virtuali più sofisticate.

Videogiochi [modifica]
Nei videogiochi online, soprattutto di genere FPS (first person shooter), i bot sono personaggi controllati dal computer e che possono partecipare all'azione sia come avversari che come alleati del giocatore o dei giocatori umani. Ogni programma bot ha il suo gioco specifico e non esiste un unico tipo di bot. Nei giochi online multiplayer i bot vengono sfruttati per giocare più a lungo di quanto la persona possa stare al computer: il personaggio controllato dal bot combatte, si sposta e compie altre azioni facendo esperienza e così velocizzando il processo di cambio di livello, a dispetto dei giocatori normali e in un certo senso falsando le regole e andando contro lo spirito del gioco. I bot si possono usare in vari modi: il più classico è quello di settare la normale routine, come uccidere mostri a raffica; un'altra idea è invece quella di affiancare due bot assieme, uno che attacchi e l'altro che curi; si può anche creare un bot che curi mentre il giocatore combatte con il proprio personaggio principale.
Non bisogna confondere il bot, che non fa parte del sistema di organizzazione del gioco, con il cosiddetto NPC (Non Player Character, "personaggio non giocante") che invece è controllato dallo stesso server del gioco.

Progetti wiki [modifica]
Su progetti di tipo wiki, i bot svolgono soprattutto (ma non solo) compiti di riordino automatico delle pagine, come compilazione dei collegamenti, correzione di reindirizzamenti, creazione di pagine speciali di sintesi, e così via