Logo: deam.org

Posts Tagged ‘Gedankenspiel’

CAPTCHA, Copy protection, …: Ein kleiner Testlauf mit Browser und OCR

Thursday, August 20th, 2009

“Old News” möchte man sagen, wenn folgende Aussgage kommt:

Alles was ein Mensch lesen kann, kann auch (irgendwann) eine Maschine lesen.

Durch ein aktuelles Projekt angetrieben hab ich mir ein paar Dinge dann doch näher angesehen. Auch wenn ich keine fertige Lösung präsentiere, so sollte nachfolgendes ein wenig zu Denken geben. Ich beschränke mich dabei “nur” auf CAPTCHA, da dies durchaus weit verbreitet ist um sich vor Spam in verschiedenster Form zur Wehr zu setzen. Spam ist aber nur eine Seite. Die andere ist der “Schutz” privater Daten durch einen CAPTCHA-Mechanismus; sei es bei einer Registrierung zu einer Community, bestimmter Interaktionen (in einer Community) oder die Abfrage z.B. von WHOIS-Daten.

Das ich eine Grafik durch die Mitarbeit von Menschen entschlüsseln kann (in irgendeiner massenfähigen Form), ist zwar oft genug vorgekommen, aber eben nicht ganz so “wirtschaftlich” – naja, der Köder muss nur gut genug sein. Ich ziele hier auf den rein maschinellen Lösungsweg.

Mein “Versuchsaufbau” ist relativ einfach:

  1. Browser: Firefox 3.5
  2. OCR: Adobe Acrobat Pro 9
  3. Screenshotfunktion von MacOSX

Es geht mir nicht nur darum das CAPTCHA zu lösen, es also maschinenlesbar zu machen, sondern einen Mechanismus anzuwenden, der eine (ganze) Seite maschinenlesbar machen kann. Der Weg dazu ist also relativ einfach:

  1. Seite aufrufen
  2. Screenshot machen
  3. Datei in Acrobat öffnen und “OCR Text Recognition” auswählen
  4. Prüfung ob die Grafik als kopierbarer Text vorhanden ist

Beispiele

Das ganze Gedankenspielchen ist natürlich relativ langweilig… hier also ein paar Beispiele:

  1. ein beispielhafter Whois-Anbieter:
    whois
    Das Ergebnis sehr ernüchternd: Funktioniert so leicht, das man sich im Anschluss die Frage stellt warum überhaupt eine Grafik verwendet wurde.
  2. ein beispielhafter Community-Anbieter:
    community
    Das Ergebnis mit einigen Leerzeichen: CNF W 7 M KG – auch bei weiteren Versuchen wurde hier problemlos erkannt
  3. dann ein positives Beispiel von http://recaptcha.net/ – wird ja inzwischen wirklich sehr weit verbreitet eingesetzt:
    recaptcha
    Mit einfachen Manipulationen nicht durch Acrobat-OCR erkennbar. Mehr Aufwand wollte ich bei diesem nicht betreiben.
  4. cryptographp – eine PHP-Variante die ich selbst gerne ab und an einsetze:
    cryptographp
    Es gab Beispiele, die haben funktioniert. Aber meistens kam nur etwas ähnliches raus. Selbst dieses einfache Bild wird nur zu diesem Text: VU” A ,.
    Ein Vergrößeren wie im nächsten Beispiel hat hier jedenfalls nicht geholfen.
  5. kein CAPTCHA, aber der Klassiker der eMail-Verschleierung (vom gleichen Whois-Anbieter wie unter 1.):
    whois_email
    Das hat nicht auf Anhieb funktioniert. Aber mit einer einzigen Photoshopaktion, nämlich den Vergrößern um 400% konnte ich dann das hier aus dem Bild extrahieren: kmb@dearn .org – nur zwei Fehler, wobei ein Leerzeichen für eMail-Grabber nun wirklich unproblematisch ist…

Man kann aus dieser kleinen Auswahl eines ableiten: Ein bisschen (bunter) Hintergrund ist nutzlos. Die Buchstaben und Zahlen müssen mind. verzerrt sein, anderfalls ist die Erkennung ohne grossen Aufwand möglich.

Automatisierung

Natürlich ist dieser manuelle Weg nicht praktikabel. Aber diese Dinge lassen sich ja automatisieren. Man nehme z.B. das iMacros-Plugin für den Firefox.
Ich hab es nicht ausprobiert, aber iMacros lässt sich sicher mit dem “Automator.app” von MacOSX kombinieren. Mit Automator.app kann ich auf jeden Fall Screenshots erzeugen und Programme aufrufen. Die Texterkennung von Acrobat liesse sich so sicher auch ansteuern. Das Resultat dann so zu speichern das es von einem weiteren Programm/ Script verarbeitet werden kann, sollte dann auch kein mehr Problem sein.

Es steckt sicher einiges an Arbeit darin einen Workflow zu etablieren, der halbwegs stabil und in anständiger Geschwindigkeit abläuft – aber machbar ist das.
Und wenn die so gewonnenen Daten – in welcher Weise auch immer – wertvoll sind, dann ist es sicher kein Problem diesen Aufwand zu finanzieren.

Tags: , , , , ,
Posted in diverses, Software | Comments Off

Blog :: deam.org is proudly powered by WordPress
Entries (RSS) and Comments (RSS).