32 220 35 21 biuro@omegasoft.pl


Jak działa i co to jest keylogger?

Keyloggery sprzętowe (hardwarowe)

Rodzaje keyloggerów sprzętowych

Keyloggery systemowe (softwarowe)

Zastosowanie keyloggera: dobry keylogger i zły keylogger

Kryptowaluty szczególnie narażone na keylogging

Zaawansowane funkcje keyloggerów

Jak rozpoznać keyloggera?

Jak wykryć keylogger w skrypcie?

Jak usunąć keyloggera?

Ochrona przed keyloggerami – jak zapobiec keyloggingowi?

Historia powstania keyloggerów

Rozwój technologii, a już szczególnie sprzętu z dostępem do internetu, ściśle wiąże się z rozwojem złośliwego oprogramowania. Dlatego warto wiedzieć i pamiętać na co można trafić surfując po sieci i jak się przed tym bronić. Jednym z rodzajów takiego zagadkowego oprogramowania jest keylogger. Z jednej strony jest częścią szerzej znanego szkodliwego oprogramowania spyware, a z drugiej strony funkcjonuje jako niezależne i na dodatek legalne urządzenie lub program monitorujący. Czym więc właściwie jest keylogger i czy jest się czego obawiać?

Jak działa i co to jest keylogger?

Keylogger należy do dużo szerszej grupy programów typu spyware, czyli jest przedstawicielem oprogramowania szpiegującego. O spyware możesz szerzej przeczytać w tym artykule, tutaj skupimy się tylko na keyloggerach.

W dosłownym tłumaczeniu keylogger to połączenie dwóch słów: “key” czyli “klawisz” i “logger” – “rejestrator”. W języku angielskim można spotkać jeszcze dwie dodatkowe nazwy: “keystroke logging” czyli rejestrowanie naciśnięć klawiszy oraz “keyboard capturing” tłumaczone jako przechwytywanie (danych) z klawiatury. Co to oznacza w praktyce?

Keylogging to proces przechwytywania danych wprowadzanych za pośrednictwem klawiatury komputera. Każde naciśnięcie klawisza jest rejestrowane, więc cała aktywność użytkownika jest monitorowana. Bardzo często zdarza się, że użytkownik nie ma pojęcia o tym, że jego działania są rejestrowane i udostępniane osobom trzecim.

Wszystkie zarejestrowane naciśnięcia klawiszy uwzględniają korekty tekstu – próbki z literówkami i zmienionymi znakami mogłyby znacząco utrudnić zrozumienie przechwyconego tekstu.

Rozróżniamy dwa rodzaje keyloggerów: keyloggery programowe (softwarowe) i keyloggery sprzętowe (hardwarowe).

Keyloggery sprzętowe (hardwarowe)

Pojawiły się pierwsze, więc od nich zaczniemy. Keyloggery sprzętowe wyglądają dość niepozornie – przypominają przejściówkę USB lub konektor ps/2. Wystarczy podłączyć ją do komputera, a do niej podpiąć klawiaturę – i gotowe! Ich główną zaletą jest możliwość działania od momentu włączenia komputera (umożliwiając modyfikacje w BIOSie), a nie po uruchomieniu systemu – jak w przypadku rozwiązań softwarowych. Ponadto nie zakłóca działania żadnego innego programu i nie da się go wykryć za pomocą oprogramowania. Korzystając z przejściówek jednak łatwo o szybkie zdemaskowanie.

Keyloggery sprzętowe zostały jednak zmodyfikowane do tego stopnia, że jest możliwe ich wbudowanie w sprzęt – tak, aby w ogóle nie były widoczne. Niezależnie od tego, jaki keylogger zostanie użyty, dostęp do nich możliwy jest po wpisaniu np. ustalonej sekwencji klawiszy. Niektóre keyloggery hardwarowe można kontrolować zdalnie, np. za pośrednictwem internetu.

Konstrukcja keyloggerów sprzętowych obejmuje mikrokontroler do przechwytywania danych i przesyłania ich do pamięci oraz non-volatile memory (NVM), czyli pamięć, która działa po odłączeniu zasilania (przykładem jest tutaj pamięć flash). Pojemność keyloggerów sprzętowych wynosi od kilku kilobajtów do nawet kilkunastu gigabajtów.

Warto wiedzieć: 1 naciśnięcie klawisza na klawiaturze odpowiada 1 bajtowi w pamięci.

Rodzaje keyloggerów sprzętowych

  • firmware (oprogramowanie wbudowane, oprogramowanie układowe) – umożliwiają atak na BIOS przechwytując dane z klawiatury, ale pozwalają również na jego modyfikację. Ten rodzaj oprogramowania musi być stworzony specjalnie z myślą o określonym urządzeniu, które ma być za jego pomocą szpiegowane;
  • standardowe keyloggery sprzętowe typu: przejściówki – montowane pomiędzy urządzeniem a klawiaturą;
  • nakładki na klawiaturę – to broń wycelowana w bankomaty, która przechwytuje wpisywane kody PIN. Jest tak sprytnie zamontowana, że sprawia wrażenie zwykłej części konstrukcyjnej bankomatu. Zazwyczaj klienci banków nie mają pojęcia o obecności nakładki;
  • sniffery bezprzewodowe – służą do przechwytywania danych z bezprzewodowych klawiatur i myszek, często łamią sposób szyfrowania danych i mogą umożliwić hakerowi wpisanie dowolnych poleceń na zaatakowanym komputerze;
  • keyloggery akustyczne – każdy przycisk na klawiaturze po jego naciśnięciu wydaje konkretny dźwięk. Pozwoliło to opracować system przechwytujący dźwięki, z pomocą którego za sprawą statystyki np. analizy częstotliwości, można pozyskany dźwięk dopasować do odpowiedniego znaku. Bierze się pod uwagę indywidualny dźwięk, jego częstotliwość, czas pomiędzy uderzeniami, prawdopodobny język wprowadzania znaków i inne informacje, które pomogą w tworzeniu mapy znaków. Aby tego dokonać, trzeba przechwycić nagranie o długości minimum 1000 znaków.

Szwajcarscy naukowcy w 2009 roku przetestowali w półpróżniowej komorze łącznie 11 klawiatur: laptopów, ps/2 i na USB. Odkryli, że wszystkie testowane urządzenia są narażone na przechwytywanie danych za pomocą szerokopasmowego odbiornika, który dostraja się do określonych częstotliwości dźwięków dochodzących z klawiatur. Wszystko ma związek z ograniczaniem kosztów produkcji i brak stosowania elementów wygłuszających.

  • przechwytywanie emisji elektromagnetycznej – klawiatury przewodowe można podsłuchiwać za pomocą emisji elektromagnetycznej z odległości około 20 metrów;
  • nadzór optyczny – do przechwytywania danych wykorzystuje się tutaj kamerę, która pozwala na odczyt np. wprowadzanego PINu lub hasła. Nie jest to może standardowy keylogger, ale efekt działania jest ten sam. Ta metoda jest często wykorzystywana w bankomatach;
  • odczyt fizyczny – zebranie odcisków palców z klawiatury służącej tylko do wprowadzania kodu np. PIN pozwala na jego szybsze ustalenie. Przy 4-cyfrowym haśle liczba kombinacji zmniejsza się z 10 000 do jedynie 24 opcji!
  • akcelerometr w smartfonach – może być wykorzystany do przechwycenia sekwencji wciskanych klawiszy na klawiaturze znajdującej się w pobliżu smartfona (muszą leżeć obok siebie). Akcelerometr wykrywa wibracje powstające podczas uderzania w przyciski, a zdobyte dane są tłumaczone na zdania nawet z 80% skutecznością.

Analizie na klawiaturze QWERTY poddawane są pary klawiszy, a nie pojedyncze uderzenia. Program sprawdza, czy przyciski znajdują się po prawej czy po lewej stronie i w jakiej leżą od siebie odległości. Kolejnym krokiem jest odnalezienie tak samo podzielonych sekwencji we wstępnie wgranym słowniku. Ta technika pozwala też na przechwytywanie danych z ekranów dotykowych, korzystając dodatkowo z żyroskopu lub czujnika zmierzchu.

  • analiza ruchów ciała – keyloggery potrafią odczytywać prawdopodobieństwo naciśnięcia konkretnych klawiszy nawet po analizie ruchów ciała użytkownika. Haker musi znać układ atakowanej klawiatury, aby dopasować ruch. Odczyt ułatwiają sygnały dźwiękowe interfejsu użytkownika, które jasno komunikują o użyciu danego przycisku.

Keyloggery systemowe (software)

Keyloggery programowe to specjalne napisane pod konkretny system kody. Im głębiej w kierunku jądra systemu dostanie się keylogger, tym trudniej będzie go wykryć, a tym samym – usunąć. Ten typ keyloggerów jest wykorzystywany dużo częściej, ze względu na łatwość jego instalacji – bez konieczności fizycznej ingerencji w sprzęt. Zazwyczaj mają postać programów dołączonych do innego szkodliwego oprogramowania. Mowa np. o rootkitach czy też trojanach. Rootkity ukrywają obecność swoich plików, uniemożliwiając ich wykrycie. W tej postaci można rozróżnić najpopularniejsze rootkity wykorzystujące technologię maskowania w trybie jądra oraz mniej popularną technologię maskowania w trybie użytkownika. Czasami zdarza się, że rootkit korzysta z technologii mieszanej.

Keyloggery systemowe rozprzestrzeniają się praktycznie jak każde inne szkodliwe oprogramowanie. Jednak głównymi sposobami ich instalacji jest:

  • otwieranie szkodliwych plików załączonych do wiadomości e-mail;
  • uruchomienie pliku z folderu typu open-access (dostęp do niego ma wielu użytkowników) w sieci P2P;
  • instalacja z poziomu już pobranego programu, który potrafi sam pobierać i instalować inne szkodliwe oprogramowanie;
  • instalacja przez skrypt strony internetowej, który wykorzystuje luki w przeglądarce – uruchamia się w momencie odwiedzin zainfekowanej strony.

Patrząc na keyloggery programowe przez pryzmat technologii wyróżniamy keyloggery:

  • bazujące na funkcji hipernadzorcy (ang. hypervisor – narzędzie do zarządzania procesami wirtualizacji tj. kontrolującymi pracę komputera) – keylogger może zagnieździć się poziom niżej niż jądro systemu, stając się maszyną wirtualną;

Przykładem koncepcyjnym jest rootkit “Blue Pill” napisany przez Joannę Rutkowską pod system Microsoft Windows Vista. Inspiracją do jego nazwy był film Matrix. Rutkowska zapewnia, że wykrycie Blue Pill działającego na poziomie hipernadzorcy jest niemożliwe, sugerując że da się stworzyć w 100% niewidocznego rootkita.

  • oparte na jądrze systemu – keylogger uzyskuje dostęp do tzw. roota (czyli konta administracyjnego, które ma dostęp do wszystkich plików i komend w systemie), dzięki czemu chowa się w systemie. Umożliwia mu to przechwycenie znaków (naciśnięć klawiszy) przechodzących przez jądro systemu. Keylogger umiejscowiony w jądrze jest praktycznie nie do wykrycia. Bardzo często zjawia się w systemie wraz z rootkitami, których zadaniem jest zniszczenie jądra i przejęcie kontroli nad urządzeniem. Taki keylogger może działać jak sterownik klawiatury i przechwytywać wpisywane dane już na poziomie przechodzenia i logowania do systemu;
  • atakujące interfejsy programistyczne Windows API (umożliwiają działanie aplikacji na systemie operacyjnym Windows) – keylogger podłącza się pod API dowolnej aplikacji i kontroluje na bieżąco klawiaturę lub zapisuje wydarzenia w obrębie klawiatury. Przykładem są tutaj funkcje GetAsyncKeyState() i GetForegroundWindow(). Są zwykle pisane w języku Visual Basic lub Borland Delphi. Nowsze keyloggery tego typu potrafią zaangażować BIOS w przechwycenie uwierzytelniających kodów PIN, które pozostały w pamięci komputera;
  • oparte na przechwytywaniu danych z formularzy – służą do przechwycenia wpisywanych danych w formularze internetowe, zapisując wszystko jeszcze przed rzeczywistym wysłaniem (zatwierdzenie enterem lub kliknięciem przycisku) danych przez użytkownika;
  • wykorzystujące JavaScript – wstrzyknięty na docelową stronę internetową kod sprawia, że JavaScript zaczyna nasłuchiwanie naciśnięć przycisków korzystając np. z onKeyUp(). Skrypty są wstrzykiwane różnymi metodami mi.in.: man-in-the-browser lub man-in-the-middle;
  • oparte na infekcji pamięci (man-in-the-browser – MitB) – te keyloggery przechwytują dane dzięki możliwości wprowadzenia zmian w tabelach w przeglądarce internetowej lub w innych funkcjach systemu. Zwykle ataki skierowane są w bankowość online, modyfikując dane formularzy tak, aby zdobyć jak najwięcej informacji o niczego nie świadomym użytkowniku. Dzięki tej technice hakerzy mogą także obejść kontrolę konta użytkownika na systemie Windows. Z MitB korzystają między innymi trojany np. Zeus i SpyEye.

Zastosowanie keyloggera: dobry keylogger i zły keylogger

Oprogramowanie typu keylogger nie zawsze jest nielegalne. Przykładem są programy umożliwiające pracodawcom kontrolę aktywności pracowników lub aplikacje popularnie zwane kontrolą rodzicielską.

Dobrą praktyką pozwalającą na uniknięcie ryzykownych internetowych znajomości i oszustw jest całkowite nadzorowanie dzieci do lat 13 podczas korzystania z internetu oraz zwracanie uwagi na działania młodzieży w wieku od 13 do 18 lat.

Keyloggerami są też wszystkie aplikacje pozwalające na zdalną lokalizację danego urządzenia i często przyjmują formę wspomagaczy np. podczas badań związanych z procesem pisania. Firmy oferujące usługi informatyczne korzystają z nich do rozwiązywania problemów technicznych z komputerami klientów.

Firma Microsoft wydała oficjalne oświadczenie, w którym poinformowała, że system Windows 10 posiada wbudowany keylogger. Służy on do poprawy jakości usług bezpośrednio związanych z pisaniem.

A jeśli o pisaniu mowa – do badań go dotyczących zaprojektowano wiele rozwiązań np. Scriptolog, Translog lub Inputlog, które zbierają dane powstające podczas pisania. Zwykle skupiają się na:

  • strategii pisania np. wśród dzieci z trudnościami w pisaniu i bez tych trudności;
  • literowaniu;
  • pisaniu w pierwszym i drugim języku;
  • specjalistycznych obszarach np. transkrypcji.

Taki keylogger często jest także wbudowaną funkcją programów do nauki szybkiego pisania, programowania lub języków obcych.

Keyloggery pisane są pod konkretny system, można je nabyć na komputery z systemem Windows, Linux, jak i te z rozwiązaniami Apple. Istnieje również wąska grupa keyloggerów jednocześnie przeznaczonych na system MacOS i na Windowsa. Dlatego wybierając keylogger np. w celu kontroli dziecka, miej na uwadze sprzęt, z jakiego oboje korzystacie. Keyloggery obecne są również w aplikacjach na Androida i iOS.

Z keyloggerów bardzo chętnie korzysta także policja i wszystkie służby bezpieczeństwa. Dzięki tej technologii udało się im ostatnio rozbić międzynarodową sieć szyfrowanej komunikacji o nazwie EncroChat, z której korzystały właściwie jedynie organizacje przestępcze.

Keylogging znajduje szerokie zastosowanie wśród cyberprzestępców – dzięki nim hakerzy wykradają hasła, dane logowania i inne poufne informacje np. o karcie kredytowej. Dotyczy to nie tylko komputerów i sieci publicznych, ale także całkowicie prywatnych, indywidualnych użytkowników.

Warto wiedzieć: szyfrowanie HTTPS nie broni przed keyloggerami. Jego zadaniem jest ochrona przesyłanych między komputerami danych, podczas gdy keylogger działa bezpośrednio w komputerze użytkownika.

Kryptowaluty szczególnie narażone na keylogging

Wzrost popularności rynku kryptowalut i nieodwracalność transakcji w blockchainie (w przeciwieństwie do zwyczajnych transakcji bankowych, które po wykryciu nieautoryzowanego dostępu można zablokować) szczególnie zainteresował cyberprzestępców. Starają się oni wykradać – za pomocą keyloggerów – klucze do prywatnych portfeli, które raz utracone przepadają z całymi zgromadzonymi pieniędzmi. Zaczynając przygodę z kryptowalutami, należy w pierwszej kolejności zapewnić sobie maksymalne bezpieczeństwo ze strony sieci i komputera.

Zaawansowane funkcje keyloggerów

Cyberprzestępcy nie poprzestali jedynie na przechwytywaniu danych z klawiatury. Istnieje wiele keyloggerów, które potrafią znacznie więcej. Przykładem są funkcje:

  • przechwytywania ekranu – czyli informacji graficznych. Mogą to być zrzuty całego ekranu, pojedynczych aplikacji lub informacji wokół kursora myszy wykonywane w różnych okresach czasu lub kiedy np. użytkownik używa myszki. To rozwiązanie pozwala obejść zabezpieczenia wykorzystujące klawiatury ekranowe, które nie są chronione przed wykonywaniem zrzutów ekranu;
  • przechwytywania schowka – program przechwytuje wszystko, co zostało skopiowane do schowka;
  • przechwytywania zaszyfrowanego tekstu w formularzach – wspomniany już wyżej interfejs API w systemie Windows pozwala na odkrycie przez niektóre programy wartości znajdujących się w formularzach za “gwiazdkami” (zapis: ****). I właśnie to wykorzystują rozbudowane keyloggery;
  • nagrywania otwartych okien – plików, folderów i stron www. Keylogger z tą funkcją tworzy także zrzuty ekranu odwiedzonych stron;
  • nagrywania zapytań w przeglądarkach internetowych, rejestrowania pobrań FTP, wiadomości z komunikatorów internetowych oraz innych działań wykorzystujących internet.

Jak rozpoznać keyloggera?

Keylogger hardwarowy jest stosunkowo łatwy do wykrycia – często wystarczy dokładne obejrzenie sprzętu. Tego typu keylogging sprawdzi się wyłącznie w przypadku komputerów stacjonarnych – chyba, że ktoś korzysta z dodatkowej klawiatury lub monitora, używając laptopa. Jeżeli chodzi o keyloggery programowe – sprawa już nie jest tak prosta.

Istnieje kilka oznak, wskazujących na obecność złośliwego oprogramowania, do którego często lubi “przyczepić się” keylogger. Może to być dużo wolniejsze działanie przeglądarki internetowej, niepoprawne ładowanie się grafik i stron www, czy też spowolniona reakcja myszki lub klawiatury. Twoją uwagę powinno przykuć zawieszanie komputera przy użyciu jakiejś kombinacji klawiszy, brak reakcji na wprowadzony tekst lub pojawienie się czegoś, czego nie wpisywałeś.

Jeżeli masz podejrzenia, że na Twoim sprzęcie może znajdować się keylogger spróbuj przejrzeć wszystkie pliki o rozszerzeniu .jpg. Zajmuje to bardzo dużo czasu, ale jeśli odkryjesz folder zawierający zrzuty ekranu, zyskujesz pewność, że masz do czynienia z oprogramowaniem przechwytującym obrazy i prawdopodobnie nie tylko obrazy.

Jak wykryć keylogger w skrypcie?

Zwykle keylogger softwarowy składa się z dwóch plików, które instaluje w tym samym katalogu. Jest to plik biblioteki współdzielonej (DLL – łączonej dynamicznie biblioteki), który wszystko nagrywa oraz plik wykonywalny, który odpowiada za instalację pliku DLL oraz jego uruchomienie.

Czasami, śledząc procesy w menedżerze zadań, można odkryć podejrzane pliki. Jednak po pierwsze – trzeba dobrze wiedzieć, jakie procesy nie są keyloggerem, a po drugie – zdarza się to niezwykle rzadko ze względu na zdolność zaawansowanych keyloggerów do ukrywania się. Amator nie ma praktycznie szans na wykrycie skryptów, w których znajduje się keylogger. W takim przypadku najłatwiejszym sposobem pozbycia się hipotetycznego intruza jest sformatowanie dysku i ponowna instalacja systemu operacyjnego. Na to jednak nie zawsze można sobie pozwolić.

Można próbować sprawdzić wszystkie procesy z menedżera, wpisując je w wyszukiwarkę i sprawdzając opinie innych użytkowników na ich temat. To jednak bardzo pracochłonne zadanie, utrudnione dodatkowo przez możliwość dowolnego nazywania procesów przez zainstalowane programy. W teorii ich nazwy powinny nawiązywać do konkretnego programu, więc każdy inny proces powinien wzmożyć czujność. Można też ręcznie sprawdzić lokalizację plików odpowiadających danemu procesowi, co powinno ułatwić sprawę.

Jak usunąć keyloggera?

Kiedy już wiesz, że masz niechcianego keyloggera na komputerze, aby się go pozbyć – tak jak wspominaliśmy – najłatwiej będzie usunąć wszystko z dysku i ponownie zainstalować system. Ręczne poszukiwania zagnieżdżonych plików przez menedżer zadań zajmują bardzo dużo czasu i często kończą się fiaskiem. Głównie dlatego, że keyloggery potrafią manipulować jądrem systemu operacyjnego.

Zróżnicowane typy keyloggerów i różne metody ich działania znacząco utrudniają próby ich wykrycia i usunięcia. Ciężko więc jednoznacznie określić, który sposób odnalezienia i pozbycia się nieproszonego gościa jest najskuteczniejszy. Dodatkowym utrudnieniem jest możliwość aktualizacji kodu przez twórcę keyloggera, odpierając w ten sposób próby jego usunięcia przez dedykowany program.

Dobrą praktyką będzie też instalacja programów zabezpieczających przed atakiem keyloggerów. Działają one na zasadzie skanowania systemu i porównania jego zawartości z bazą sygnatur keyloggera, bądź listą kontrolną typowych dla keyloggerów atrybutów. Programy te nazywane są często antykeyloggerami (anti-keylogger). Głównie dlatego, że są dedykowanym oprogramowaniem do wykrywania i zapobiegania keyloggingowi, bywają skuteczniejsze w działaniu niż zwykłe programy antywirusowe i programy antyspyware. Zdarza się, że antyspyware zdiagnozuje keyloggera jako całkiem legalnie działający program. Oczywiście programy antyszpiegowskie korzystają z różnych technik wykrywania niebezpieczeństwa – mogą być w stanie zlokalizować keyloggera i wyłączyć go, jeśli znajduje się na niższych poziomach systemu. Im głębiej w stronę jądra – tym zadanie to jest trudniejsze.

Podobnie sprawdzą się monitory sieci, które poinformują użytkownika o próbie połączenia keyloggera z siecią. Daje to możliwość zatrzymania wszystkich działań oprogramowania szpiegującego.

Ochrona przed keyloggerami – jak zapobiec keyloggingowi?

Keyloggery trudno usunąć, dlatego zdecydowanie łatwiej jest im przeciwdziałać. Istnieje wiele dobrych praktyk, które prawie całkowicie ograniczają ryzyko zainfekowania systemu przez keyloggery. Wymienić tutaj można:

  • antykeylogger – to oprogramowanie dedykowane do wykrywania keyloggerów. Sposób ich działania jest zbliżony do funkcjonowania antywirusów, jednak ich wąska specjalizacja z jednej strony ogranicza ich wszechstronność, a z drugiej – skupia się tylko na keyloggerach;
  • programy antywirusowe i antyspyware – wspomniane już wyżej – nie zawsze będą skuteczne. Wszystko zależy od rodzaju programu jaki wybierzesz. Darmowe, najbardziej okrojone oprogramowanie antywirusowe bardzo delikatnie obchodzi się z keyloggerami, zwykle ich nie wykrywając. Inwestycja w znane i co roku testowane programy, zawierające wbudowane antykeyloggery, daje Ci najwyższą gwarancję bezpieczeństwa. Takie programy antywirusowe potrafią poddać keyloggery kwarantannie, wyczyścić lub wyłączyć. Zwykle poszukiwania opierają się o powielane wzorce kodu, heurystykę i zachowanie keyloggera. Sprawdzi się tutaj np. Norton 360, Bitdefender, Kaspersky czy też Eset. Trzeba mieć jednak na uwadze, że takie oprogramowanie nie jest skuteczne wobec keyloggerów sprzętowych;

Problem z ochroną przed keyloggerami za pomocą antywirusów jest dużo bardziej złożony. Jeżeli programiści będą chcieli maksymalnie ograniczyć aktywność użytkownika w wykrywaniu niebezpieczeństwa, może się okazać, że blokadzie ulegną pożyteczne programy. Z kolei zbyt duże zaangażowanie użytkowników, którzy nie mają pojęcia o tym, jak postępować z odnalezionym niebezpieczeństwem, zamiast zniszczyć zagrożenie, może pozwolić keyloggerowi na obejście zabezpieczeń.

  • Live CD/ Live USB – czyli system umieszczony na zaufanym nośniku. To dobry sposób na uniknięcie keyloggerów softwarowych – zabezpieczony nośnik USB lub CD przed możliwością zapisu i aktualny, czysty system mogą być świetną bronią. Pamiętaj jednak, że ten sposób nie chroni przed keyloggerami wycelowanymi w BIOSa;
  • monitory sieci (reverse-firewalls) – mogą wykryć próbę wysłania przez keylogger danych do cyberprzestępcy za pośrednictwem sieci;
  • programy do automatycznego wypełniania formularzy – zwykle są już wbudowane w przeglądarki. Dzięki nim unikasz każdorazowego wpisywania swoich danych podczas wypełniania formularzy np. rejestracyjnych – menedżer robi to za Ciebie. Omijany jest w ten sposób także schowek. Mimo wszystko osoba, która otrzymała nieautoryzowany dostęp do komputera, nadal może przechwycić te informacje, w innym miejscu w systemie;
  • hasła jednorazowe (OTP) – wygasają zaraz po ich użyciu, zwykle są wysyłane SMSem. To w miarę bezpieczne rozwiązanie, szczególnie podczas korzystania z sieci publicznych – właśnie ze względu na unieważnienie hasła, gdy tylko zostanie wykorzystane. Ale haker, który ma zdalny dostęp do komputera ofiary, może poczekać na moment, gdy ofiara wprowadzi swoje dane uwierzytelniające i w jej imieniu dokonać transakcji podczas aktywnej sesji;
  • tokeny bezpieczeństwa (generator kodów) – są głównie wykorzystywane podczas transakcji internetowych. Token generuje dodatkowy kod służący do uwierzytelnienia logowania i np. wykonania transakcji bankowych. Haker ma w tym przypadku mocno utrudnione zadanie, bo oprócz hasła wpisywanego z klawiatury, wymagane jest uwierzytelnienie kodem z tokena. Token ma zwykle formę sprzętową, przypomina mały kalkulator, do którego wkłada się kartę, potwierdzając jej autentyczność PINem bądź sam kalkulator z możliwością wpisania PINu albo jeszcze mniejsze urządzenie, nazywane kluczem USB, wyświetlające czasowe kody. Tego typu rozwiązanie często działa podobnie do haseł OTP. Oczywiście istnieje możliwość przechwycenia kodów z tokena, wymaga to jednak fizycznej modyfikacji sprzętu;

Tokeny są bardzo popularne w krajach Europy Zachodniej, Australii, USA i Azji. Jedne z pierwszych wprowadził bank Lloyds TBS – miało to miejsce w listopadzie 2005 roku, co wiązało się z ogromnie dużą inwestycją ze strony banku. W końcu tokeny musiały trafić do wszystkich klientów banku.

  • klawiatura ekranowa – to rozwiązanie skuteczne tylko wobec niektórych keyloggerów – szczególnie tych sprzętowych. Wprowadzanie znaków za pomocą kliknięć myszy może zostać przechwycone przez programy szpiegowskie zbierające dane przesyłane pomiędzy aplikacjami, a także te, które mają możliwość wykonywania zrzutów ekranu lub rejestrowania obrazów po każdym kliknięciu myszką;
  • oprogramowanie do interferencji klawiszy (keystroke interference software) – to programy generujące dodatkowe wciśnięcia klawiszy. Takie działanie może całkowicie uniemożliwić hakerowi rozszyfrowanie przechwyconego tekstu;
  • rozpoznawanie mowy – pozwala na uchronienie się przed keyloggerami przechwytującymi jedynie naciśnięcia klawiszy lub kliknięcia myszką. Większość systemów umożliwia dyktowanie tekstu w różnych językach, jednak korzystanie z tego narzędzia nadal niesie za sobą ryzyko przechwycenia – tak jak w przypadku klawiatury ekranowej. Jego słabym punktem jest sposób wysyłania tekstu do oprogramowania docelowego, w który może uderzyć keylogger;
  • rozpoznawanie pisma ręcznego i gestów myszy – wiele tabletów (szczególnie graficznych) umożliwia odręczne wprowadzanie tekstu za pomocą rysika lub myszy, który potem konwertowany jest na znaki komputerowe. Występuje tu to samo zagrożenie co w przypadku korzystania z rozpoznawania mowy;
  • zwodnicze pisanie – czyli celowe wprowadzanie w błąd podczas pisania za pomocą specjalnych programów. Ich działanie opiera się na generowaniu przypadkowych naciśnięć klawiszy w nieaktywnych punktach interfejsu, co – podczas wpisywania np. hasła – teoretycznie uniemożliwia hakerowi odczytanie danych. Można też samodzielnie utrudnić keyloggerom działanie – wpisując hasło z dodatkowymi znakami, które po wprowadzeniu należy usunąć, zaznaczając myszką zbędne znaki i wycinając je. Jednak zaawansowane keyloggery spokojnie poradzą sobie z odczytaniem zawartości schowka, danych formularzy czy też posłużą się zrzutami ekranu. Ten sposób może być skuteczny w przypadku keyloggerów sprzętowych.

Chcąc chronić swoją prywatność przed dostępem osób trzecich, warto zdecydować się też na uwierzytelnianie dwuskładnikowe podczas logowania – czy to do serwisów społecznościowych, maila czy konta bankowego. Warto mieć na uwadze istotę zagrożeń jakie niesie za sobą keylogger i wykorzystywać wszystkie metody zabezpieczenia swoich urządzeń przed niechcianymi gośćmi.

Historia powstania keyloggerów

Historia stworzenia keyloggerów, co ciekawe, zaczęła się stosunkowo dawno, bo w 70. latach XX wieku. Wszystko za sprawą Związku Radzieckiego, który opracował prawdopodobnie pierwszy na świecie keylogger sprzętowy – amerykańska agencja NSA w dokumencie “Learning from the Enemy: The GUNMAN Project” szeroko opisała wykorzystanie keyloggerów przez rosyjskich agentów.

W czasach zimnej wojny kwitła działalność szpiegowska, która miała na celu przechwytywanie i odkrywanie tajemnic państwowych. Radziecka agencja wywiadowcza opracowała specjalny sprzęt, który montowała w maszynach do pisania IBM Selectric, między innymi w amerykańskiej ambasadzie w Moskwie. Ten sposób przechwytywania informacji był całkowicie niewidoczny i przez lata działał, nie zwracając na siebie uwagi.

Dopiero w 1984 roku, gdy pojawiła się pogłoska o prawdopodobieństwie założenia radzieckich podsłuchów, NSA uruchomiła “Projekt GUNMAN”. Obejmował on przewiezienie wszystkich maszyn do pisania z terenu Związku Radzieckiego do USA i poddanie ich wnikliwej analizie. Jej wyniki były dla amerykanów szokujące. Podczas, gdy bronili się jedynie przed znanymi i od lat stosowanymi podsłuchami, od 1976 do 1984 roku byli inwigilowani za pomocą keyloggerów, zarówno w swojej ambasadzie w Moskwie, jak i w konsulacie w Leningradzie (Petersburgu). Wszystko, co przez te kilka lat zapisywali za pomocą maszyn, trafiało od razu w ręce agentów radzieckich. A jak można się domyślić, były to najcenniejsze i najbardziej tajne informacje USA. 

Jak działał pierwszy keylogger? Elementem drukującym w maszynach IBM Selectric była specjalna kula z wytłoczonymi znakami (z angielskiego: typeball). Zanim wybrany znak został przeniesiony na papier, maszyna musiała odpowiednio ustawić kulę – właśnie ten mechanizm wykorzystali rosyjscy szpiedzy. Opracowali oni układ wyposażony w magnetometr, który mierzył energię magnetyczną powstającą podczas pozycjonowania kuli drukującej – co miało związek z ustawieniem ramion maszyny.   Implant miał postać metalowego pręta, który przechodził przez całą szerokość urządzenia – był niezauważalny, a żeby go odkryć trzeba było albo rozkręcić maszynę, albo wykonać jej zdjęcie rentgenowskie. Przechwycony odczyt tworzył ośmioznakowe bufory i jako sygnał elektryczny był wysyłany drogą radiową do dalszej analizy. Wykwalifikowany technik potrzebował jedynie 30 minut, aby założyć ten niewidoczny element.   Rosjanie cały czas unowocześniali swojego keyloggera. Pierwsze prototypy wymagały zasilania bateryjnego, kolejne korzystały już z energii elektrycznej zhakowanej maszyny do pisania. Można było je także zdalnie włączać i wyłączać, co uniemożliwiało odkrycie systemu podczas wizyt amerykańskich agentów szukających podsłuchów.

Keyloggery programowe pojawiły się nieco później. Pierwszy taki keylogger opracował Perry Kivolowitz i 17 listopada 1983 roku opublikował go na forum w Usenecie: net.unix-wizards, net.sources. Post prawdopodobnie miał na celu zmotywowanie twórców Unixa do ograniczenia dostępu użytkowników do wrażliwych zasobów komputera. Keylogger logował się w trybie użytkownika i wykorzystywał jądro Unixa do pobierania danych. Od lat 90 lawinowo wzrosło wykorzystanie keyloggerów programowych – były łatwiejsze w obsłudze, bo nie wymagały zastosowania żadnych fizycznych rozwiązań sprzętowych. Od tego momentu kradzież prywatnych danych i informacji zaczęła dotyczyć niczego nieświadomych prywatnych użytkowników, jak i wielkich koncernów biznesowych.

Keyloggerowe ciekawostki: Departament Bezpieczeństwa Krajowego USA w 2014 roku odnotował wykorzystanie keyloggera w Dallas w Teksasie. Celem ataku były dane klientów hoteli – współdzielenie sieci i publiczne komputery to idealna pożywka dla hakerów; 2014 rok przyniósł wieści o wykorzystywaniu przez USA informacji o użytkownikach pochodzących z serwisów Google i Facebook. Afera jeszcze bardziej uczuliła agencje wywiadowcze na działalność szpiegowską. Rosja w ramach obrony przed cyberatakami zakupiła ręczne maszyny do pisania, które znów zaczęły służyć do tworzenia tajnych dokumentów. Podobnie zachowało się wiele światowych firm. Pomysł może dziwny, ale w świecie, w którym trudno o jakąkolwiek prywatność, jest genialny w swojej prostocie; W 2015 odkryto keylogger w nakładce do gry Grand Theft Auto V (GTA V); HP także pokusiło się o keyloggera – w 2017 roku umieścili go w swoich laptopach, po jego odkryciu tłumacząc użycie programu jako narzędzia do usuwania błędów w oprogramowaniu.