Hlavní navigace

Ochranné programy proti keyloggerům selhávají

19. 9. 2008
Doba čtení: 5 minut

Sdílet

Autor: 29
Keyloggery jsou obávaní slídilové, kradoucí uživatelům důvěrné údaje: čísla kreditních karet, piny, hesla k bankovním účtům. Spolu s nimi Internetem kolují i ochránci před nimi - antikeyloggery. Jejich schopnosti ochránit uživatele jsou však často zoufale slabé.

Co jsou keyloggery

Keyloggery jsou programy či zařízení určené k zaznamenávání stisknutých kláves, většinou samozřejmě za účelem krádeže důvěrných údajů jako jsou čísla kreditních karet, piny, hesla k bankovním účtům, e-mailům, a podobně (více viz heslo v anglické Wikipedii).

Softwarový keylogger

Program, který pomocí „zahákování“ některých funkcí systému a odchytávání systémových zpráv zaznamenává stisknuté klávesy, aby je následně spolu s informacemi o vás odeslal svému tvůrci, se jmenuje sotwarový keylogger. Keyloggery bývají často vybaveny dalšími zákeřnými funkcemi, například mívají schopnost číst obsah oken cizích aplikací (třeba zjišťují, zda adresní řádek internetového prohlížeče obsahuje slovo „banka“, a pokud ano, tak spustí zaznamenávání kláves), umí „odfotit“ obrazovku (print screen), načítat hesla z tzv. Protected Storage (uložená hesla Internet Exploreru, Outlooku, atd.).

Hardwarový keylogger

 hw_keylogger1    hw_keylogger2

Ne, nedělám si z vás legraci. Keylogger ve formě fyzického zařízení opravdu existuje a nejedná se o žádný super složitý zázrak. Jde o malé zařízení připojené mezi klávesnici a počítač. Dost malé na to, abyste jej snadno přehlédli. I radioamatér – začátečník takové zařízení sestaví podle dostupných schémat za necelou hodinu. Celý keylogger se skládá přibližně ze sedmi součástek, které lze co se týče velikosti snadno zabudovat do PS2 konektoru klávesnice nebo přímo do ní. Pro běžného uživatele je takový keylogger naprosto neodhalitelný, neboť ho nelze žádným způsobem detekovat. Existoval sice předpoklad, že při zapojení keyloggeru vznikají v komunikaci počítače a klávesnice prodlevy, které by mohly jeho přítomnost naznačit, to se ale nakonec nepotvrdilo. Časové prodlevy v komunikaci buďto vůbec neexistují, nebo jsou tak malé, že je není možné rozeznat.

Test Antikeyloggerů

Hlavním cílem tohoto článku je otestování funkčnosti antikeyloggerů.
Antikeylogger by měl být schopen detekovat v systému pokusy jiných programů o snímání stavu klávesnice, čtení oken cizích aplikací, odfocení obrazovky, a další nekalé činnosti. Antikeylogger funguje na principu heuristické analýzy, tedy monitoruje chování všech programů a knihoven v systému, kontroluje, zda nejsou využívány typické funkce keyloggerů a pokud se nějaký problém objeví, měl by uživatele upozornit, případně škodlivé aplikaci rovnou „zatnout tipec”.
Realita je ovšem jiná. Ne každý antikeylogger je opravdu antikeyloggerem…

Pro účely otestování funkčnosti antikeyloggerů jsem vytvořil tři keyloggery, každý založený na jiném principu. Žádný z nich se nesnaží před antikeyloggerem „schovat“, všechny ke své funkci využívají ty nejběžnější způsoby monitorování klávesnice a automatického spouštění po startu systému.
Použité techniky snímání kláves při testování: DirectX, API GetAsyncKeyState a API GetKeyboardState v kombinaci s AttachThrea­dInput.

Pozn. autora: Některé antikeyloggery jsou si velmi podobné, až stejné – pravděpodobně to bude snaha o větší prodej, falešná konkurence…

Postup testování

Testování na vlastních keyloggerech jsem zvolil z prostého důvodu:

Všeobecně známé keyloggery typu ardamax keylogger nejsou pro takovýto test vhodné právě z důvodu jejich velké rozšířenosti. Jejich „checksumy“ (kontrolní součty souborů) mohou být zahrnuty v databázích, které antikeyloggery používají, a tak by je mohly detekovat bez použití heuristické anylýzy. Předmětem testu je však výhradně heuristická analýza (tedy základní princip antikeyloggeru), nikoli kontrola souborů fungující na principu kontrolního součtu – takto fungují antiviry. Já testuji jen schopnost antikeyloggerů odhalit záškodný program na základě analýzy importovaných API funkcí operačního systému a jeho chování.

Např. program, který nevyvíjí žádnou jinou činnost, než opakované volání funkce GetAsyncKeyState, jistě nebudou piškvorky…

Proto si myslím, že test odráží skutečnou (ne)efektivitu antikeyloggerů. Žádný hacker vám zcela jistě do počítače nenasadí virus, o kterém je všeobecně známo, že jej detekují i ty nejhorší antiviry, a naopak program, který bezostyšně snímá stav klávesnice, se díky své nepřítomnosti v databázi keyloggerů stává nedetekovatelným špiónem.

Pozn. Testované antikeyloggery byly vybrány náhodně – z výsledků vyhledávání slova „antikeylogger“ na Googlu.

Výsledky testu:

První místo si zaslouží AntiKeylogger 8.2, který dokázal detekovat dva ze tří pokusů a v jednom případě dokonce automaticky zamezil logování stisknutých kláves.

antikeylogger_8_2

Místo druhé zaslouženě získává Snoop Free Privacy Shield. Malý, ale schpný pomocník detekuje logování přes API GetAsyncKeyState, navíc jako jediný detekoval odfocení obrazovky a čtení z oken cizích programů.

snoop_free

Bronz mají společně programy: ID AntiKeylogger, 1-ACT AntiKeylogger 2006 a AntiKeylogger 1.1. Všechny detekují použití GetAsyncKeyState, jinak ale neumí zhola nic.

id_antikeylogger


1_act_anti_keylogger_2006


antikeyloger_1_1

Čtvrtý skončil I Hate KeyLoggers, který si ale ani to čtvrté místo nezaslouží. Jeho autor v souboru readme.txt tvrdí, že po jeho spuštění nebudou keyloggery schopny zachytávat hesla. Skutečnost tomu ale neodpovídá, I Hate KeyLoggers si neporadil ani s jedním keyloggerem, všechny bez problému odchytávaly stisknuté klávesy.


i_hate_keyloggers

Místo poslední získává opravdu bezkonkurenční výtvor českého autora. AntiKeylogg 1.0 nedetekoval žádný z keyloggerů, dokonce označil systém za bezpečný i přes tři aktivní keyloggery. Screenshot informující o tom, že je systém bezpečný, byl pořízen v okamžiku, kdy tři keyloggery aktivně a úspěšně snímaly stisknuté klávesy.

antikeylog_1_0


Tabulka výsledků testu antikeyloggerů
Název AntiKeyloggeru GetAsyncKeyState GetKeyboardState DirectX PrintScreen
AntiKeylogger 8.2 Detekoval Detekoval Nedetekoval Nedetekoval
Snoop Free Detekoval Nedetekoval Nedetekoval Detekoval
ID AntiKeylogger Detekoval Nedetekoval Nedetekoval Nedetekoval
1-ACT AntiKeylogger 2006 Detekoval Nedetekoval Nedetekoval Nedetekoval
AntiKeylogger 1.1 Detekoval Nedetekoval Nedetekoval Nedetekoval
I Hate KeyLoggers Nedetekoval Nedetekoval Nedetekoval Nedetekoval
AntiKeylogg 1.0 Nedetekoval Nedetekoval Nedetekoval Nedetekoval

Obrana

Mimo (většinou nefunkčních) antikeyloggerů jsou i jiné možnosti obrany.

Jedním z nich může být použití softwarové klávesnice, což je program, ve kterém si požadovaný text „naklikáte“ myší a poté zkopírujete tam, kam je potřeba. Hardwarový keylogger v tom případě nemá absolutně žádnou šanci zjistit, jaký text píšete, ale co ten softwarový? Keyloggery bývají vybaveny funkcí čtení obsahu schránky Windows, pomocí které přesunete „naklikaný“ text ze softwarové klávesnice do cílového programu. Takže si nikdy nemůžete být jisti, že je vámi psaný text keyloggerům nedostupný.

Navíc nikdy nemůžeme vědět, jestli program dělá to, co říká, že dělá. Naprogramování virtuální klávesnice je otázkou několika desítek řádků kódu, kdežto vývoj kvalitní virtuální klávesnice s ochranou proti keyloggerům je práce na dlouhé měsíce či roky.

Závěr

Jen jeden z testovaných programů dokázal odhalit logování kláves funkcí GetKeyboardState, keylogging pomocí rozhraní DirectX pak nedetekoval ani jeden z antikeyloggerů. Šokující zjištění, vzhledem k cenám některých „ochránců“…
Co říci závěrem? Situace na poli antikeyloggerů je doslova katastrofální. Trh přesycený kopiemi kopií nedokončených a téměř nefunkčních antikeyloggerů postrádá kvalitní produkt, který by byl schopen ochránit uživatele aspoň před těmi nejběžnějšími typy útoků na soukromí.

wt100 2024 EARLY

testovaci_keylogger

testovací keylogger

Chcete-li si otestovat svůj antigeylogger, zde na serveru máte k dispozici archiv se třemi testovacími keyloggery.
Automatické spouštění jsem před zveřejněním článku odstranil.

Snažíte se nějak bojovat proti keyloggerům?

Autor článku

Autor se zabývá internetovým marketingem, bezpečností a lockpickingem. Rok provozoval web lockpick.cz a stále se starám o několik menších webů.
Upozorníme vás na články, které by vám neměly uniknout (maximálně 2x týdně).