Spaces. Smartes Cloud Hosting für anspruchsvolle Webprojekte. Loslegen und Spaces testen. Von Mittwald.
Michael Sahm 6. Juli 2009

Der Captcha-Dienst “reCAPTCHA” – mithelfen und Wissen digitalisieren

Jedes eta­blier­te Online-System lässt sich mitt­ler­wei­le über min­des­tens ein Plugin um eine Captcha-Funktionalität erwei­tern, jene ver­dreh­ten Buchstaben-Zahlen-Kombinationen, die bei kor­rek­ter Eingabe den Seitenbesucher als Menschen legi­ti­mie­ren. Das Projekt reCAPTCHA ent­lockt dem Captcha-Gedanken einen höhe­ren Nutzwert: Das Captcha-Feld zeigt Worte, die bei der Digitalisierung von Büchern nicht erkannt wur­den. Und somit ver­voll­stän­digt jede Eingabe unser digi­ta­li­sier­tes Wissen.

Funktionsweise

Die Idee ist ein­fach wie geni­al: Ist ein Wort der­art undeut­lich gedruckt, dass selbst eine spe­zia­li­sier­te OCR-Anwendung es nicht zu erken­nen ver­mag, so taugt es wun­der­bar als Captcha.

Beispiel einer Eingabemaske
Abbildung: Beispiel einer reCAPTCHA-Eingabemaske

Das Projekt reCAPTCHA der Carnegie Mellon Universität stellt die Schnittstelle zur Verfügung zwi­schen einer Datenbank mit digi­ta­li­sier­ten, jedoch nicht iden­ti­fi­zier­ten Worten sowie Internetbenutzern, die web­weit täg­lich etwa 100 Millionen Captchas ein­ge­ben müs­sen, um sich zu authen­ti­fi­zie­ren.

Mehrere Mechanismen sor­gen hier­bei für eine gleich­blei­bend hohe Qualität der reCAPTCHA-Ergebnisse:

  • Anstatt zufäl­li­ger Buchstaben-Zahlen-Kombinationen müs­sen sinn­vol­le Worte erkannt wer­den. Falls selbst meh­re­re Buchstaben für einen Menschen unle­ser­lich sind, so kann die­ser doch meist das kom­plet­te Wort erfas­sen; und das mit hoher Wahrscheinlichkeit auch dann, wenn er kein eng­li­scher Muttersprachler ist.
  • Zusätzlich zu einem unbe­kann­ten erscheint bei jeder Aufgabe auch ein dem reCAPTCHA-System bekann­tes Wort. Gibt der Besucher die­ses Kontrollwort kor­rekt ein, dann ver­mu­tet das System die Bereitschaft, auch das unbe­kann­te Wort rich­tig ein­zu­tip­pen zu wol­len.
  • Die ange­zeig­ten Worte sind drei­fach defor­miert: Altersbedingte Verfärbungen und Ausfransungen auf dem Original, Unschärfe beim Scanvorgang und schließ­lich gra­fi­sche Transformationen, wie sie auch bei nor­ma­len Captchas Verwendung fin­den (Verwirbeln, Verdrehen, Durchstreichen).
  • Es exis­tie­ren mitt­ler­wei­le mehr als 100.000 Kontrollworte, deren Anzeige unab­hän­gig von ihrer Verbreitung gleich­mä­ßig häu­fig erfolgt. Die Menge der Kontrollworte erhöht sich ste­tig.
  • Diese Kontrollworte gel­ten als für Maschinen unles­bar, da sie zuvor von zwei unab­hän­gi­gen Erkennungsprogrammen unter­schied­lich gedeu­tet bezie­hungs­wei­se nicht sinn­voll erkannt wur­den. Captcha-Bots, die der­ar­ti­ge Worte kor­rekt erken­nen, wären die­sen Anwendungen also über­le­gen und hät­ten gute Chancen, ihre Entwickler ehr­bar in Lohn und Brot zu brin­gen.
  • Das unbe­stimm­te Wort erscheint bei meh­re­ren Anfragen zufäl­lig defor­miert in unter­schied­li­chen Kontrollwort-Kombinationen. Über einen Vergleichs- und Bewertungsalgorithmus wer­den die Resultate ent­we­der als wahr­schein­lichs­te Lösung in die Datenbank zurück­ge­spei­chert, in die Liste der Kontrollworte auf­ge­nom­men oder als unlös­bar gekenn­zeich­net.
  • Vom Captcha-Prozess unab­hän­gig wer­den die gescann­ten und berich­tig­ten Dokumente abschlie­ßend noch­mals einer Überprüfung unter­zo­gen. Jede Technik ist immer nur so per­fekt, wie der Mensch, der sie bedient…

Auf die­se Weise konn­te reCAPTCHA bis­her die digi­ta­le Speicherung von cir­ca 440 Millionen uner­kann­ten Worten vor­an­trei­ben (Stand: September 2008). Mittlerweile über­trifft die Qualität der digi­ta­li­sier­ten Resultate sogar die Arbeit zwei­er pro­fes­sio­nel­ler Transkriptoren.

Nutzung

Um den Captcha-Service für Ihre Webseiten nut­zen zu kön­nen, ist eine kos­ten­lo­se Registrierung not­wen­dig. Als Nächstes benö­ti­gen Sie ein Schlüsselpaar, mit dem die Kommunikation zwi­schen Besucher-Browser, Ihrem Webserver und dem reCAPTCHA-Server abge­si­chert wird. Melden Sie sich dafür an Ihrem reCAPTCHA-Account an, fügen Sie die ent­spre­chen­de Domain hin­zu und erzeu­gen Sie das Schlüsselpaar.

Schlüsselpaar erzeugen
Abbildung: reCAPTCHA-Eingabemaske: Erzeugung eines Schlüsselpaares

reCAPTCHA stellt Plugins für die gebräuch­lichs­ten (Open-Source-)Anwendungen zur Verfügung (unter Anderem WordPress, MediaWiki, Typo3, Joomla). Sollte für Ihr System kein Plugin auf­ge­führt sein, haben Sie zwei Möglichkeiten:

  1. Meist hat die Entwicklergemeinde bezie­hungs­wei­se der Anbieter Ihrer Anwendung bereits ein Plugin ent­wi­ckelt. Fündig wer­den Sie oft im ent­spre­chen­den Portal bei den Downloads oder Plugins. Ansonsten schafft sicher­lich eine Anfrage im Forum oder beim Support Abhilfe.
  2. Sie kön­nen mit den gege­be­nen Code-Snippets (PHP, ASP.NET, Python, Perl, Ruby, Java) ein­fach und schnell Ihre Formulare direkt modi­fi­zie­ren.

Die Dokumentation der reCAPTCHA-API sowie der Plugins ist erschöp­fend auf den reCAPTCHA-Seiten erklärt (unter ande­rem auch die Anpassung von Stil und Sprache). Einige Programmierkenntnisse soll­ten Sie aller­dings im Gepäck haben.

Ablauf einer reCAPTCHA-Abfrage

Ablauf einer Abfrage
Abbildung: Ablauf einer reCAPTCHA-Abfrage (© 2009 Carnegie Mellon University)

  1. Bei Aufruf einer Captcha-Seite wird zusam­men mit dem Formular auch das ein­ge­bun­de­ne reCAPTCHA-Javascript mit dem öffent­li­chen Schlüssel (Public Key) von Ihrem Webserver zum Browser des Besuchers über­tra­gen.
  2. Das Javascript for­dert beim reCAPTCHA-Server eine zu lösen­de Aufgabe an. Der Server füllt als Antwort das Captcha-Feld des Formulars mit zwei Worten und ver­bin­det die­se Aufgabe mit einer ID.
  3. Der Besucher füllt nun Formular sowie Captcha-Feld aus und schickt das Formular zurück an Ihren Webserver.
  4. Der reicht die Antwort, die ID und Ihren pri­va­ten Schlüssel (Private Key) zur Überprüfung an den reCAPTCHA-Server wei­ter.
  5. Dieser wie­der­um ver­gleicht nun Schlüssel, ID sowie Usereingabe und gibt eine ent­spre­chen­de Antwort zurück. Fällt die­se Antwort posi­tiv aus, setzt Ihr Webserver die Verarbeitung des Formulars fort (Kommentar, Bestellvorgang, Anmeldung et cete­ra). Bei Unstimmigkeiten und der ent­spre­chen­den Fehlermeldung stoppt Ihr Server die Verarbeitung und teilt dies dem Browser Ihres Besuchers mit. Hierbei wird das Formular inklu­si­ve Fehlermeldung erneut gesen­det und der Ablauf star­tet von neu­em.

Emailadresse verbergen

Als wei­te­ren Service bie­tet reCAPTCHA mit Mailhide das Verbergen von Emailadressen an. Geben Sie auf der reCAPTCHA-Webseite die Email-Adresse ein, die Sie mas­kie­ren möch­ten. Klicken Sie auf die Schaltfläche Protect It!, und auf der fol­gen­den Seite erhal­ten Sie den not­wen­di­gen HTML-Code. Tauschen Sie die­sen auf Ihrer Webseite gegen den ent­spre­chen­den Email-Verweis aus.

Angabe der zu maskierenden Emailadresse
Abbildung: Angabe der zu mas­kie­ren­den Email-Adresse


Abbildung: Resultierender HTML-Code

Die Email wird ab sofort im Format “adre…@domain.de” ange­zeigt. Klickt nun ein Besucher auf die drei Punkte, so öff­net sich ein Popup-Fenster, in dem er zunächst ein Captcha lösen muss, bevor ihm die Emailadresse im Klartext ange­zeigt wird.

Die Maskierung von vie­len Emails kön­nen Sie über die ange­bo­te­ne reCAPTCHA Mailhide API auto­ma­ti­sie­ren. Eine Registrierung hier­für ist nicht erfor­der­lich. Über die reCAPTCHA-Seite kön­nen Sie ein­fach ein Schlüsselpaar gene­rie­ren und sofort ein­set­zen.

Diskussion der Kritikpunkte

  • Barrierefreiheit: Wie so oft, bei gra­fik­ori­en­tier­ten Abfragemethoden, sind seh­be­hin­der­te Menschen auch hier benach­tei­ligt. Zwar exis­tiert die Möglichkeit, sich eine Audiodatei abspie­len zu las­sen, doch sind die Einspielungen für Nicht-Muttersprachler kaum zu lösen. Zudem kann der Abspielknopf nur über die Maussteuerung und nicht über die Tabulatortaste erreicht wer­den.
  • Sprache: Aktuell wer­den nur eng­li­sche Worte abge­fragt. Harren wir der Digitalisierung von FAZ, Zeit und SZ…
  • Lösen durch Maschinen: Wie oben beschrie­ben, wäre ein Captcha-Bot wün­schens­wert, der alle Worte erkennt, um die OCR-Technologie vor­an­zu­trei­ben.
  • Lösen durch Menschen: Sich in die Kommunikation zwi­schen Browser, Server und reCAPTCHA ein­zu­klin­ken, dürf­te durch die Verschlüsselung mit pri­va­tem und öffent­li­chem Schlüssel schwie­rig sein. Ob indi­sches Fremdlösen funk­tio­niert, ver­mag ich nicht zu beur­tei­len, da auch das wohl nur über Man-in-the-midd­le-Attacken ablau­fen könn­te.

Und selbst, wenn es gelän­ge, die reCAPTCHA-Methode zu miss­brau­chen, hät­te es doch etwas Gutes: Auch damit wird das digi­ta­li­sier­te Wissen erwei­tert. Es kos­tet nur etwas mehr Nerven.

Fazit

Der reCAPTCHA-Dienst ist eine ele­gan­te und schnell anzu­wen­den­de Lösung, um Webseite und Postfach spam­frei zu hal­ten. Der Programmieraufwand ist über­sicht­lich, erfor­dert aller­dings eini­ge Grundkenntnisse.

Und die Betreiber den­ken wei­ter: Angelehnt an das Projekt ASIRRA von Microsoft könn­ten zukünf­tig Bilddatenbanken von digi­ta­li­sier­ten Gegenständen ange­legt wer­den. Oder Videodatenbanken. Auf dem Feld der Identifizierung von kom­ple­xen Objekten und Vorgängen ist der Mensch bis­her von der künst­li­chen Intelligenz noch unge­schla­gen. (tm)

Michael Sahm

Michael Sahm ist technischer Autor für Soft- und Hardwaredokumentation sowie engagierter Blogautor für viele aktuelle und wissenswerte Themen.

17 Kommentare

  1. Captcha (vom Penny Markt zum Beispiel) wird in Frankfurt von Computer-Saboteuren als eine Art “phis­hing” und Identitätsklau genutzt. Da das Captcha am Ende kommt, nach­dem ein Kunde sei­ne sämt­li­chen Daten ein­ge­ge­ben hat, unter­bricht die Frankfurter Mafia die Verbindung zum Captcha Server, damit es nicht “wei­ter” geht, aber auch nicht zurück, dh die ein­ge­ge­be­nen Daten ste­hen in der Luft und wer­den kur­zer­hand von Identitätsdieben über­nom­men, bei denen der Captcha dann plötz­lich doch Verbindung zum Server auf­neh­men kann.

  2. Wie kann man den über Google nach Seiten mit einem Captcha oder recap­t­cha suchen. Als Laie mei­ne ich.

  3. Die Information ist gut geschrie­ben. Jedoch muss inzwi­schen ange­merkt wer­den, dass goog­le mal wie­der die Finger im Spiel (bekom­men) hat. Man kan heu­te nur am reCaptcha teil­neh­men, wenn main ein Google (Mail)Konto hat. Ich ver­wei­ge­re mich.

  4. Für WordPress kann ich nur jedem das Plugin “WP-Spam Free” emp­feh­len. Im Gegensatz zu Akismet, wo man hin­ter­her den gan­zen Müll noch­mal manu­ell aus dem Backend ent­fer­nen darf, kom­men bei die­sem Plugin die Bots gar­nicht mehr auf das Kommentarfeld.

    … und ja, man muss, wenn man Kommentare abset­zen will, JS akti­viert haben.

  5. Hallo,

    wen ner­ven die­se Captcha nicht, doch wenn man auf einer Seite eine Gewinnspiel am lau­fen hat, kann man ein­fach nicht dar­auf ver­zich­ten. Alleine heu­te nacht wie­der ca 4000 Boteinträge geblockt.

    Grüße
    Markus

  6. @Markus: Vielen Dank für den Link.
    Endlich eine wirk­lich gute alter­na­ti­ve!!

  7. “2) Der Besucher muss JavaScript akti­viert haben” – soll­te heut­zu­ta­ge kein NoGo mehr sein, die Browser sind aus­rei­chend sicher gegen­über JS-Attacken…

  8. Ich ver­wen­de ein Script, um mei­ne E-Mail-Adresse zu ver­ber­gen, und habe noch nie Spam bekom­men. Allerdings auch noch kei­ne Mail von einem Blinden :) Können Scrrenreader die Mail rich­tig deu­ten? Wohl nicht, sonst könn­ten Spambots das doch auch.

  9. Auch wenn ich Captcha abgrund­tief has­se, ich schei­ter regel­mä­ßig dar­an… Trotzdem dan­ke für die Vorstellung von reCAPTCHA, find die Idee feh­ler in ein­ge­scann­ten Büchern zu benut­zen ziem­lich geni­al.

  10. Ich mag den Dienst (aus sicht des Anwenders) über­haupt nicht. Meine Catchas mache ich kom­plett ohne Verzerrungen oder ähn­lich. Buchstaben die man ver­wech­seln könn­te (lI) las­se ich kom­plett aus. Das reicht so bei mir (der­zeit) völ­lig aus.

  11. Ich fin­de auch, das man Captchas soweit mög­lich mei­den soll­te. Doch manch­mal sind sie ein­fach ein not­wen­di­ges Übel.

    Die reCaptchas fin­de ich übri­gens in der Tat beson­ders schwer zu lösen. Dafür fin­de ich das Prinzip recht cool, dass man damit zumin­dest etwas sinn­vol­les tut.

    Die Audio-Variante gibt es übri­gens auch in ver­schie­de­nen Sprachen, u.a. Deutsch. Allerdings fin­de ich die­se noch schwie­ri­ger als die gra­fi­sche Variante. :)

  12. Also ich nut­ze zur Zeit die­se Ansätze:

    http://www.1ngo.de/web/captcha-spam.html

  13. Im Prinzip fin­de ich die Idee hin­ter reCAPTCHA gut. Aber dar­an stö­ren mich direkt zwei Dinge:

    1) Der Dienst ist nicht Behinderten freund­lich
    2) Der Besucher muss JavaScript akti­viert haben

    @Markusund @Christoph Klar gibt es vie­le Ideen eine Spamschutz zu inte­grie­ren ohne ein Captcha zu benut­zen, aber bis­her habe ich noch kei­nen wirk­sa­men Ansatz gese­hen.

    @domingos Das Aksimet recht gut funk­tio­nie­ren soll, habe ich schon öfter gehört. Was mich an Aksimet stört, ist das eini­ge Daten an einen frem­den Server (in die USA) über­mit­telt wer­den. Auf die­ses Vorgehen muss in der Datenschutzerklärung expli­zit hin­ge­wie­sen wer­den.

    Für Tipps / wirk­sa­me Ansätze bin ich immer offen.

  14. Entgegen dom­in­gos Äusserung sehe ich Captchas nicht nur für Behinderungen als größ­te Hürde und pro­fa­nes Mittel sol­che User zu ver­grau­len. Wurde mit die­sem Service auch schon auf eini­gen Seiten kon­fron­tiert, und was war?
    Musste mehr­fach auf den “reload”-Button drü­cken weil das Problem das glei­che ist wie bei ande­ren 0815 Captchas:
    Meist sind die Buchstaben der­art ver­frem­det dass man kaum in der Lage ist zu erken­nen was man da eigent­lich vor sich hat.
    Wenn ein nor­ma­ler Nutzer sich vier fünf sol­cher Dinger anse­hen muss, ehe er eins vor­ge­setzt bekommt das er mit Müh und Not ent­zif­fern kann, dann hat das System ver­sagt. Schätze drei von fünf Leuten wür­den sich auf­grund die­ser Gängelei wäh­rend der Abmeldung wie­der absprin­gen.

  15. Ich ver­mu­te mal, die ver­wen­den hier Akismet wie jeder verünf­ti­ge Mensch. Aksimet läuft wesent­lich bes­ser als etwa der Spamfilter von GMX. Ich hal­te die Captchas für behin­der­ten­feind­lich, die alter­na­tiv gene­rier­ten Audio-Aufgaben sind eben­falls kaum zu ver­ste­hen.
    Ansonsten ist das eine gute Idee, ich ärge­re mich seit Jahren über die mie­se Qualität der OCR.

  16. Ich has­se die­se Captchas. Es ist ein­fach unnö­tig den User damit zu ärgern. Wie Markus schon ganz rich­tig gesagt hat, gibt es vie­le ande­re Wege Spambots aus­zu­schlie­ßen. Trotzdem ent­schei­den sich immer noch zu vie­le für Captchas.

  17. Es gibt mitt­ler­wei­le so vie­le Ideen und wirk­sa­me Ansätze eine Spamschutz zu inte­grie­ren ohne ein Captcha zu benut­zen, das ich nicht ver­ste­he war­um sol­che ver­al­te­ten Systeme immer noch ver­wen­det wer­den. Es ist eine der größ­ten Barrieren im Internet.

    Ich gehe mal davon aus das hier auch ein ande­res System zum Einsatz kommt, da ich nicht davon aus­ge­he das die­se Seite völ­lig unge­schützt ist.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.