Cracker (z ang., dosłownie „łamacz”) – osoba zajmująca się łamaniem zabezpieczeń komputerowych (crackingiem). Według słownika Jargon File termin ukuli około 1985 roku hakerzy, w reakcji na dziennikarskie nieporozumienia wokół słowa „haker”.
Wyróżnia się dwa główne znaczenia tego słowa, zgodnie z którymi działania crackerów polegają na: łamaniu zabezpieczeń zamkniętego oprogramowania (zobacz: crack, cracking, CrackMe, patch), łamaniu zabezpieczeń serwerów (zobacz: exploit).
Dwa znaczenia terminu Rozumienie słowa różni się między Ameryką Północną a Europą. W ujęciu amerykańskim, utrwalonym m.in. w Jargon File, crackerem nazywa się osobę łamiącą zabezpieczenia systemu komputerowego, przeciwstawianą hakerowi rozumianemu jako pasjonat, który tworzy, a nie niszczy. W Europie natomiast mianem hakerów określa się włamywaczy do sieci komputerowych, a crackerami – osoby łamiące zabezpieczenia programów.
W tym drugim, europejskim znaczeniu cracker nie zajmuje się zagadnieniami sieciowymi, ponieważ wiedza ta nie jest mu potrzebna. Kluczowa jest natomiast znajomość asemblera, pozwalająca przeanalizować działanie skompilowanego programu i usunąć lub ominąć jego zabezpieczenia.
Różnica między obiema społecznościami sprowadza się do odmiennego wyznaczenia linii podziału. Dla crackerów jest nią rodzaj celu ataku – oprogramowanie używane lokalnie albo zdalne systemy dostępne przez sieć. Dla społeczności hakerskiej jest nią moralna ocena działania, wyrażona podziałem na białe i czarne kapelusze; crackerzy takiego podziału nie stosują.
Sceny crackerskie Crackerzy zajmujący się łamaniem zabezpieczeń oprogramowania tworzyli sceny narodowe, określane mianem „crackscen”, podzielone na rywalizujące ze sobą grupy i specjalizujące się w łamaniu zabezpieczeń określonego typu. W Europie działały m.in. scena fińska z grupą +ORC (Old Red Crackers), francuska z FFF (Fighting For Fun), niemiecka z YOda, hiszpańska z Whisky Kon Tekila, a także rosyjska i polska, na której jako główną grupę wymieniano CrackingPL.
Środowisko to odcinało się od piractwa komputerowego, którym zajmowały się odrębne grupy określane jako warez dOOdz, rozprowadzające nielegalne kopie programów. Do plików dołączanych do cracków często trafiało wezwanie, by kupić program, jeśli okaże się przydatny. Przy grupie +ORC powstał w kwietniu 1996 roku Higher Cracking University (+HCU), publikujący materiały szkoleniowe dotyczące analizy zabezpieczeń.
Z czasem punkt ciężkości przesuwał się od łamania zabezpieczeń programów komercyjnych ku analizie crackme – programów pisanych przez crackerów dla crackerów, zawierających samo zabezpieczenie. Zamiast gotowych cracków publikowano coraz częściej opisy sposobu złamania zabezpieczenia.
Łamanie zabezpieczeń oprogramowania Łamanie zabezpieczeń opiera się na inżynierii wstecznej. Cracker operuje na kodzie binarnym, który poddaje dezasemblacji za pomocą narzędzi takich jak IDA czy w32Dasm, i analizuje go na poziomie asemblera. Często śledzi działanie programu bezpośrednio w pamięci z użyciem debugera, np. SoftICE lub OllyDbg. Wymaga to dobrej znajomości architektury procesora, wykorzystywanych przez oprogramowanie funkcji API oraz samego systemu operacyjnego.
Zabezpieczenia kryptograficzne wykorzystujące algorytmy szyfrowania (np. RSA) czy funkcje skrótu (np. MD5) są łamane bardzo rzadko, gdyż zazwyczaj jest to czasochłonne, a zarazem niekonieczne. W takich przypadkach zabezpieczenia obchodzi się, wyłączając ich wywołania w kodzie programu, zwykle przez wstawienie instrukcji pustych (tzw. nopowanie, od ang. no operation). W celu utrudnienia działania crackerom stosuje się kompresję plików binarnych, sprawdzanie sumy kontrolnej, kod polimorficzny, metody ochrony przed dezasemblacją i debugowaniem, a także wykrywanie obecności typowych narzędzi crackerskich.
Najczęściej łamane typy zabezpieczeń to ograniczenia czasowe, ilościowe lub funkcjonalne (wersje trial i demo), tzw. nag screens, czyli okna przypominające o konieczności rejestracji, numery seryjne, pliki klucza oraz sprawdzanie obecności klucza sprzętowego lub płyty CD. Po złamaniu zabezpieczeń crackerzy tworzą narzędzia, które je usuwają: keygeny, czyli programy generujące poprawne kody licencyjne, oraz niewielkie patche podmieniające wybrane bajty oryginalnego pliku wykonywalnego.
Łamanie zabezpieczeń serwerów
W znaczeniu przyjętym w Ameryce Północnej crackerem nazywa się osobę włamującą się do systemów komputerowych.
Zobacz też Test penetracyjny
Przypisy W: Marek Sokołowski (red.), Media i edukacja w globalizującym się świecie, Olsztyn 2003, s. 462–469.
Literatura Jakub Zemánek: Cracking bez tajemnic, wyd. Helion, Gliwice 2004, . Andrzej Kmiecik: Postawy etyczne hakera i krakera, [w:] Marek Sokołowski (red.), Media i edukacja w globalizującym się świecie, Olsztyn 2003, s. 462–469.
Kategoria:Bezpieczeństwo komputerowe