Grupa MagazynyInternetowe
Online: 968
Jednym z popularniejszych sposobów zabezpieczenia dostępu do formularzy i innych danych jest CAPTCHA. Zwykle polega na przepisaniu tekstu zapisanego jako obrazek lub plik dźwiękowy, jednak nie są to jedyne sposoby. Ich skuteczność rzadko kiedy jest wystarczająca.
Marcin Kosedowski
CAPTCHA (Completely Automated Public Turing Test to Tell Computers and Humans Apart) umieszcza się na stronie po to, aby ułatwić moderację forów, blogów i formularzy pozwalających dodać użytkownikom własną treść. Aby odróżnić prawdziwych internautów od programów spamujących, administratorzy stosują różne sposoby - najpopularniejszy z nich polega na przepisaniu tekstu z obrazka.
Dobre CAPTCHA powinno być niezauważalne lub łatwe do odczytania przez człowieka i możliwie niewykonalne przez komputer. Niestety, nawet kilkuprocentowa skuteczność programu potrafiącego je obejść jest wystarczająca, żeby uzyskać dostęp do chronionych zasobów. Programy mogą bowiem niskim kosztem i w krótkim czasie wysłać setki zapytań do serwera. Nawet jeśli tyko kilka z nich ominie zabezpieczenia, będzie to wystarczająca ilość.
Projekt gimpy (www.captcha.net/captchas/gimpy/) - znajdź trzy różne słowa. Równie skutecznie zatrzymuje boty jak i ludzi
Dużo większą niedogodnością jest jednak utrudnianie życia zwykłym czytelnikom. Często zdarza się, że źle zaprojektowane CAPTCHA jest trudnym zadaniem dla internautów, a programy radzą sobie z nimi bez problemów.
Przeciwnikami CAPTCHA nie zawsze są spamerzy. Każde dodatkowe zabezpieczenie jest czasem straconym przez prawdziwych czytelników. Problemy mogą mieć osoby niewidome, korzystające z przeglądarek tekstowych lub nieznające języka, w którym wypowiadane są dźwiękowe CAPTCHA.
Projektując "obrazkowe" CAPTCHA, warto zwrócić uwagę na szczegóły, które na pierwszy rzut oka wydają się utrudnieniem dla komputerów, a w rzeczywistości tylko ułatwiają im pracę.
Jak widać, większość popularnych filtrów nie daje prawie nic albo szkodzi jednocześnie użytkownikom i programom. Dość skuteczne sposoby to:
CAPTCHA od Google jest dość łatwa do odczytania, a dzięki wykorzystaniu nieliniowych przekształceń całkiem skuteczna
Proste odczytywanie tekstów nie jest jedynym sposobem na zabezpieczenie formularza. Jednym z ciekawszych pomysłów na nietypowe CAPTCHA była usługa hotcaptcha.com (aktualnie niedostępna). Z dziewięciu dostarczonych zdjęć należało wybrać osoby, które wyglądają na atrakcyjne. Dostępna była wersja zarówno ze zdjęciami kobiet jak i mężczyzn. Serwis korzystał z bazy witryny hotornot.com, na której użytkownicy oceniają atrakcyjność osób, które umieściły w nim swoje zdjęcia. Mimo że zdecydowanie ciekawszy od nudnego przepisywania liter, system został szybko złamany.
Hotcaptcha.com - ze zdjęć wybierz trzy atrakcyjne kobiety (jest również wersja z mężczyznami). Mimo że komputer nie potrafi tego zrobić system został szybko złamany.
Ciekawym pomysłem jest wygenerowanie zadania matematycznego, którego wynik trzeba podać w wybranym polu. System taki wdrożono np. na stronie http://random.irb.hr/signup.ph.... Mimo że przykłady nie są trudne, można łatwo się w nich pomylić. Niestety, po pomyłce spotka nas mały problem - stopień skomplikowania zadań drastycznie rośnie. Sparsowanie i obliczenie pierwszego przykładu przez komputer nie stanowi najmniejszego problemu, więc CAPTCHA chroni jedynie przed użytkownikami niepotrafiącymi rozwiązać równań trygonometrycznych i różniczkowych. Ale może o to chodziło?
Rozwiąż zadanie matematyczne. Mimo prostoty można się pomylić, co skutkuje...
|
...delikatnym zwiększeniem poziomu trudności.
|
Podobnie działają wszelkie skrypty proszące o wskazanie zdjęć przedstawiających koty, podanie zależności między przedmiotami ("na czym leży książka?") itp. Ich autorzy liczą na to, że komputery nie będą w stanie rozwiązać abstrakcyjnych problemów, jednak systemy łamane są w inny sposób - poprzez atak na bazę, znalezienie luk w skryptach czy użycie żywych użytkowników do masowego odgadywania haseł.
Niestety każde CAPTCHA zostanie w ten lub inny sposób złamane (a pamiętać należy, że wystarczy trafić raz na kilkadziesiąt prób, żeby uznać program za skuteczny). Jeśli tylko chronione dane staną się na tyle popularne, że komuś będzie opłacało się obejść CAPTCHA, pojawią się osoby, które je złamią. Ratunkiem może być stosowanie autorskich rozwiązań chroniących niewiele stron i w razie potrzeby zmiana algorytmów.
Nie zawsze opłaca się inwestować w programistę, który napisze odpowiedni program łamiący. Jeśli CAPTCHA jest trudne, tańszym wyjściem może okazać się zapłacenie wynajętym internatuom za odczytywanie tekstu z obrazków. Jeszcze sprytniejsze jest skopiowanie obrazka i zaserwowanie go użytkownikom własnego serwisu. Domyślenie się, że CAPTCHA nie chroni formularza, ale służy do łamania innych zabezpieczeń jest praktycznie niemożliwe.
Czasem okazuje się, że zabezpieczenia chronią jedynie przed prawdziwymi czytelnikami. Witryna polskiej ambasady na Ukrainie miała swego czasu formularz zabezpieczony standardowym CAPTCHA z kilkoma cyframi do przepisania z obrazków. Mimo że były one generowane losowo, to liczba składała się z oddzielnych plików o nazwach 1.gif, 2.gif itd. Program nie musiał nawet pobierać grafik - wystarczyła odpowiednia manipulacja źródłem strony.
Projektując CAPTCHA, warto zastanowić się nad jego skutecznością i sposobem działania programów odczytujących tekst. Może warto postawić na proste rozwiązania, które nie utrudnią życia użytkownikom, a zatrzymają proste programy spamujące? W końcu złamanie każdego zabezpieczenia to tylko kwestia opłacalności.
Powiązane publikacje
Komentarzy: 7
Zapraszamy do udziału w bardzo prostym badaniu dotyczącym systemów CAPTCHA.
W badaniu prosimy o wypełnienie krótkiego kwestionariusza składającego się z 21 zamkniętych pytań. Przewidujemy, że jego wypełnienie zajmie nie więcej niż 10 minut. Po zakończeniu wypełniania kwestionariusza będzie można zobaczyć podsumowanie odpowiedzi. Badanie jest całkowicie anonimowe.
http://www.staff.amu.edu.pl/~kleka/cam/
ciekawym systemem jest http://recaptcha.net/ - darmowa usługa oferująca captcha - użytkownicy rozwiązujący zadania odczytania tekstu pomagają w projekcie digitalizacji starych i słabo zeskanowanych tekstów
Przeczytajcie teraz tekst:
# szum, cienkie linie - do wyeliminowania prostym filtrem,
# grube linie - mogą zmylić programy, ale przeszkodzą głównie czytelnikom,
#użycie jednego kroju pisma - pozwoli na łatwe i szybkie dopasowanie do wzorca,
i spójrzcie na wasze CAPTCHA... Może by tak się do tego zastosować, bo porady są w gruncie rzeczy dobre?
Ponadto ilość użytych przez was kolorów i miejsc, w których pojawiają się litery pozwala znalezienie liter po użyciu dwóch filtrów i najprostszego przyporządkowania.
Do Jędrzej: co ci sie nie podoba w tym po prawej?, kod sie zgadza, moze nie umiesz odczytac
Ha ha! Co ja czytam i co widzę tu po prawej
Ech...
Na dodatek nie mogę dodać komentarza, bo pole z kodem się nie zgadza?(!!!)
Marcin Kosedowski - programista i mimo wykształcenia typowo technicznego autor artykułów o tematyce dotyczącej Internetu i bezpieczeństwa w sieci. Hobbystycznie prowadzi bloga, na którym porusza sprawy związane z programowaniem i Internetem.
Adres bloga like-a-geek.jogger.pl
Artykuły tego autora:
Otwieranie skrzynki pocztowej to najczęstsza aktywność w Internecie. Miliony elektronicznych maili codziennie krążą po sieci i dostarczają każdego typu informacji: prywatnych, służbowych, lapidarnych bądź w postaci rozbudowanych elaboratów. Często - o treściach bardzo poufnych. Czy wiemy jednak, co dzieje się z naszą wiadomością, kiedy klikamy "Wyślij"? Jeśli zależy nam na tajności i prywatności naszej komunikacji, warto zadbać o odpowiednią ochronę elektronicznej korespondencji.
Polecamy:
Na skróty:
Magazyny Internetowe| Co za ile| Programy| Praca| Magazyn Internet| Internet Maker| Web Toster| ForumNasze serwisy: