Hlavní navigace

Ochranné programy proti keyloggerům selhávají

 Autor: 29
Martin Dřímal 19. 9. 2008

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

KL_HLASOVANI

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?
Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Root.cz: Prvních 700 routerů Omnia je hotových

Prvních 700 routerů Omnia je hotových

Podnikatel.cz: ČOI zamířila na e-shopy. Zaplatí 1,5 milionu

ČOI zamířila na e-shopy. Zaplatí 1,5 milionu

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

Vitalia.cz: Když bílkoviny, tak jíme ty nekvalitní

Když bílkoviny, tak jíme ty nekvalitní

Vitalia.cz: Voda z Vltavy před a po úpravě na pitnou

Voda z Vltavy před a po úpravě na pitnou

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Podnikatel.cz: EET pro e-shopy? Postavené na hlavu

EET pro e-shopy? Postavené na hlavu

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

DigiZone.cz: Mordparta: trochu podchlazený 87. revír

Mordparta: trochu podchlazený 87. revír

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

DigiZone.cz: LG OLED65E6: první pohled

LG OLED65E6: první pohled

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

DigiZone.cz: Nejnovější špičkové TV ve videu

Nejnovější špičkové TV ve videu

DigiZone.cz: Digi2GO: výborný základ, ale...

Digi2GO: výborný základ, ale...

Podnikatel.cz: „Lex Babiš“ Babišovi paradoxně pomůže

„Lex Babiš“ Babišovi paradoxně pomůže

Podnikatel.cz: Babišovi se nedá věřit, stěžovali si hospodští

Babišovi se nedá věřit, stěžovali si hospodští

Lupa.cz: Proč jsou firemní počítače pomalé?

Proč jsou firemní počítače pomalé?

Vitalia.cz: Tesco nabízí desítky tun jídla zdarma

Tesco nabízí desítky tun jídla zdarma

DigiZone.cz: O2 TV doplnilo kanály HBO v HD

O2 TV doplnilo kanály HBO v HD