Hlavní navigace

Ochranné programy proti keyloggerům selhávají

 Autor: 29
Martin Dřímal

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í.

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.

Anketa

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

Našli jste v článku chybu?

19. 9. 2008 9:27

antik (neregistrovaný)
Spysweeper detekuje dva ze tri ze vzoroveho souboru, ani je nedovoli ulozit na hardisk, jen tomu tretimu "direct."

19. 9. 2008 13:14

Martin D. (neregistrovaný)
pochopte, ze se o jejich obchodni partnery nestaram. je mi to jedno proc to ukoncovalo firewall. Je podstatne, ze k tomu bez jakehokoli upozorneni doslo a to je pro mne duvod aplikaci ktera to provedla dukladne odstranit, nikoli overovat obchodni partnery vyrobce.
Měšec.cz: Zdravotní a sociální pojištění 2017: Připlatíte

Zdravotní a sociální pojištění 2017: Připlatíte

DigiZone.cz: R2B2 a Hybrid uzavřely partnerství

R2B2 a Hybrid uzavřely partnerství

DigiZone.cz: Optimedia: hybridní kampaň Nescafé

Optimedia: hybridní kampaň Nescafé

Podnikatel.cz: Přehledná titulka, průvodci, responzivita

Přehledná titulka, průvodci, responzivita

Podnikatel.cz: K EET. Štamgast už peníze na stole nenechá

K EET. Štamgast už peníze na stole nenechá

120na80.cz: Co všechno ovlivňuje ženskou plodnost?

Co všechno ovlivňuje ženskou plodnost?

Podnikatel.cz: Alza.cz má StreetShop. Mall.cz více výdejních míst

Alza.cz má StreetShop. Mall.cz více výdejních míst

Root.cz: Mirai má nový cíl 5 milionů routerů

Mirai má nový cíl 5 milionů routerů

DigiZone.cz: Perspektivy TV v roce 1939 podle časopisu Life

Perspektivy TV v roce 1939 podle časopisu Life

Vitalia.cz: Pravda o přibírání na zimu

Pravda o přibírání na zimu

Podnikatel.cz: Chaos u EET pokračuje. Jsou tu další návrhy

Chaos u EET pokračuje. Jsou tu další návrhy

Podnikatel.cz: 3, 2, 1..EET startuje. Na co nezapomenout?

3, 2, 1..EET startuje. Na co nezapomenout?

Měšec.cz: Vklad na cizí účet je draze zpoplatněn (přehled)

Vklad na cizí účet je draze zpoplatněn (přehled)

Podnikatel.cz: Zavře krám u #EET Malá pokladna a Teeta?

Zavře krám u #EET Malá pokladna a Teeta?

Podnikatel.cz: EET: Totálně nezvládli metodologii projektu

EET: Totálně nezvládli metodologii projektu

Vitalia.cz: Když přijdete o oko, přijdete na rok o řidičák

Když přijdete o oko, přijdete na rok o řidičák

DigiZone.cz: Rádio Šlágr má licenci pro digi vysílání

Rádio Šlágr má licenci pro digi vysílání

Vitalia.cz: Jmenuje se Janina a žije bez cukru

Jmenuje se Janina a žije bez cukru

Root.cz: Telegram spustil anonymní blog Telegraph

Telegram spustil anonymní blog Telegraph

Root.cz: 250 Mbit/s po telefonní lince, když máte štěstí

250 Mbit/s po telefonní lince, když máte štěstí