Czy wiedzieliście, że wpisując „krzywe literki” które często zabezpieczają wszelkiej maści systemy pomagacie w digitalizacji np: bibliotek ?
Poczytajcie….
reCAPTCHA – rozwiązanie informatyczne, dzięki któremu rozproszona aktywność użytkowników Internetu jest wykorzystywana do pomocy przy rozpoznawaniu fragmentów zeskanowanego tekstu, z których odczytaniem nie poradziło sobie oprogramowanie OCR. Łączy ochronę stron internetowych przez CAPTCHA z pożyteczną pracą użytkowników sieci na rzecz digitalizacji tekstów. Wdrożone i rozwijane w ramach projektu reCAPTCHA na Uniwersytecie Carnegie – Mellona w Pittsburghu.
Idea
W związku z masowym wykorzystaniem botów do rozpowszechniania spamu coraz więcej serwisów zabezpiecza swoje strony internetowe poprzez CAPTCHA. Użytkownik musi rozpoznać znajdujący się na obrazku fragment celowo zniekształconego tekstu – dowodzi w ten sposób, że jest żywym człowiekiem, a nie maszyną. Zadania CAPTCHA (pary złożone z obrazka i ukrytego na nim słowa) są generowane automatycznie przez odpowiednie programy.
Tymczasem z bardzo podobnym zadaniem, polegającym na rozpoznaniu nieczytelnych dla komputera fragmentów tekstu, borykają się programy OCR. Podczas digitalizacji zeskanowanego tekstu (np. książki) często pojawiają się fragmenty nieczytelne, w przypadku których oprogramowanie OCR nie daje jednoznacznego wyniku. Ponieważ człowiek lepiej od maszyny radzi sobie z prawidłowym rozpoznawaniem takich fragmentów, instytucje zajmujące się digitalizacją zasobów bibliotecznych zatrudniają pracowników, których zadaniem jest weryfikacja błędów OCR.
Idea reCAPTCHA pozwala zastąpić pracę weryfikatorów przez grupę przypadkowych użytkowników sieci, którzy każdego dnia rozwiązują około 200 milionów zadań CAPTCHA. Jeśli rozwiązanie jednego zadania zajmuje 10 sekund, to łączna liczba przepracowanych w ten sposób godzin przekracza 150 tysięcy dziennie. Wykorzystanie nawet niewielkiej części tej pracy do pomocy przy digitalizacji pozwala na zaoszczędzenie kilku tysięcy etatów pracowników weryfikujących działanie OCR metodami tradycyjnymi.
Zasada działania
Przykład obrazka używanego przez test reCAPTCHA
Załóżmy, że podczas odczytywania przedstawionego fragmentu tekstu, program OCR rozpoznaje słowo „dennej”, ale nie potrafi rozpoznać „aktivity” (we fragmencie zakreślonym obwódką).
Zakreślony fragment jest dodatkowo zniekształcany, tak by typowy program OCR nie poradził sobie ani z pierwszym, ani z drugim słowem, po czym utworzony w ten sposób obrazek (u dołu) jest wykorzystywany jako zadanie CAPTCHA.
Użytkownicy na ogół bezbłędnie rozpoznają obydwa słowa i wpisują do formularza odpowiednią frazę (tu „dennej aktivity”). Jeśli znana część frazy („dennej”) jest zgodna z wynikami OCR, to program przyjmuje, że brakująca część została podana („aktivity”). Dla pewności ostateczny wynik ustalany jest na podstawie aktywności kilku niezależnych użytkowników rozwiązujących to samo zadanie: jeśli wszyscy (lub przeważająca większość) wpiszą to samo słowo („aktivity”), to jest ono uznawane za wynik weryfikacji.
Szczegóły implementacji
W obecnej implementacji oprogramowania oraz wtyczek reCAPTCHA, obydwa wyszukiwane słowa nie pochodzą ze wspólnej frazy tekstu (jak w powyższym przykładzie), lecz stanowią dwa niezależne obrazki, z których jeden zawiera tekst znany, drugi zaś – przeznaczony do rozpoznawania. Użytkownik nie wie, który z dwóch obrazków jest dodatkowym zabezpieczeniem, zatem musi wprowadzić obydwa słowa. Badane słowo (nierozpoznane przez OCR) jest początkowo pokazywane trzem różnym użytkownikom, za każdym razem z innymi, przypadkowo wybranymi zniekształceniami obrazu. Jeśli każdy z nich wybrał tę samą odpowiedź, słowo jest uznawane za odgadnięte i wprowadzane do pliku aktualnie digitalizowanego tekstu. Odgadnięte słowa (i odpowiadające im obrazki) stają się jednocześnie wzorcami nowych słów zabezpieczających. Jeśli trzej pierwsi użytkownicy nie podali tej samej odpowiedzi, obrazek jest prezentowany większej liczbie osób, ostateczna decyzja jest zaś podejmowana na podstawie najczęściej powtarzających się odpowiedzi.
Wykorzystanie
Obecnie (kwiecień 2009) oprogramowanie reCAPTCHA jest na bieżąco wykorzystywane do wspomagania prac nad digitalizacją książek zgromadzonych w Internet Archive oraz archiwalnych roczników „New York Timesa”. Część oprogramowania służącą do zabezpieczania usług sieciowych przed spamem można pobrać ze stron projektu; dostępne są również gotowe wtyczki dla oprogramowania WordPress, Joomla!, MediaWiki czy Zend Framework.
W ciągu pierwszego roku funkcjonowania, użytkownicy reCAPTCHA przyczynili się do udostępnienia w Internecie ponad 17 000 książek.
Bezpieczeństwo
ReCAPTCHA nie zapewnia jednak pełnego bezpieczeństwa serwisu. Przekonał się o tym magazyn Time, którego ranking 100 najbardziej wpływowych osób świata, został zhackowany przez internautów związanych z serwisem 4chan.org. Ranking był ułożony na podstawie głosów internautów i zabezpieczony przez reCAPTCHA. Hackerom udało się wprowadzić na pierwsze miejsce założyciela serwisu 4chan.org i ułożyć akronim z pierwszych liter nazwisk osób w rankingu: „marble cake also the game”.
Należy podkreślić, że system reCAPTCHA nie został złamany. W przypadku magazynu Time system zadziałał zgodnie z założeniem, zawiodły inne elementy (atak typu Cross-site request forgery) systemu do głosowania.