Systém pro monitorování činnosti uživatele - Yeftsifeyeu, Aliaksandr (Vysoké učení technické v Brně. Fakulta elektrotechniky a komunikačních technologií, 2011)
Bakalářská práce popisuje možnosti programů pro záchyt stisků kláves (keyloggerů) různého typu. Jsou-li tyto program nasazeny ilegálně, mohou být příčinou finančních a jiných ztrát. Obrana proti tomuto druhu monitorovacího softwaru je často složitá. Pro tvorbu softwaru sloužícího k obraně před tímto typem maligních programů je třeba znát principy a algoritmy, se kterými monitorovací software pracuje. V rámci bakalářské práci byla podrobně rozebráná problematika vstupu/výstupu z klávesnice počínaje hardwarem a konče softwarovou aplikační vrstvou. Popsány jsou algoritmy záchytu kláves, záklažené na systémových voláních operačního systému MS Windows, jejich vztah mezi zařízením a softwarem. Cílem bylo nalézt nejvýkonnější, resp. nejvhodnější algoritmus (ale také v současnosti nejpoužívanější), pro vytvoření softwaru pro sledování stisků kláves. Výsledkem je popis běžně používaných algoritmů. Byla zvolena jednoduchá, ale efektivní metoda, pro napsání vlastního programu. Projekt se zabývá problematikou záchytu stisků kláves z pohledu legálního i nelegálního sledování činnosti uživatele. Protože bylo jedním z cílů projektu odeslání zachycených stisků kláves na vzdálený server, byl proveden rozbor problematiky přenosu dat na vzdálený uzel přes sít’ové rozhraní, za pomoci různých sít’ových protokolů v Ethernetu. Rámcově byly popsány protokoly TCP a UDP, a jejich role v přenosech dat po síti. Práce také zahrnuje popis protokolů vyšších vrstev sít’ového referenčního modelu OSI. Z různých hledisek byly diskutovány protokoly TFTP, FTP, SSL, SSH – jejich výhody, nevýhody a jejich využitelnost k přenosu zachycených stisků kláves. Analýza problematiky protokolů 5. a 6. vrstvy RM OSI vedla k volbě protokolu TFTP, jako protokolu nejvhodnějšího pro přenos malého objemu dat mezi monitorovacím programem a serverem. Protokol TFTP vyniká jednoduchostí a snadnou implementovatelností. Obvykle se používá jako servisní protokol pro přenosy konfigurací, logů a firmwarů v lokálních sítích. Mezi nevýhody protokolu patří neexistence zabezpečení přenášených dat jak z hlediska možnosti vzniku chyb při jejich přenosu, tak z hlediska možnosti jejich odposlechu. Problematická je také bezpečnost dat na TFTP serveru Protokol nepočítá s autorizací a autentizací klienta. Zmíněné nevýhody jsou ale implementačními výhodami – implementace protokolu do vlastního programu je jednoduchá. Nevýhody TFTP jsou vzhledem k použité aplikaci zanedbatelné. V případě nasazení při legálním odposlechu by byla data pravděpodobně odesílána pouze v rámci lokální sítě, jejich zabezpečení by mohl obstarat server zajišťující agregaci zachycených stisků kláves ze všech klientů. V případě nelegálního odposlechu je prioritou útočníka nenápadnost, v takovém případě by se pravděpodobně více hodil např. protokol SMTP nebo HTTP, resp. HTTPS. Klientská část protokolu TFTP byla implementována do vlastního programu pojmenovaného Keylog. Program Keylog je hlavním produktem bakalářské práce, Keylog zachycuje všechny stisknuté klávesy, ať už se jedná o přihlašovací údaje k elektronickému bankovnictví v internetovém prohlížeči, heslo do firemního informačního systému nebo dopis zákazníkovi. Zachycené klávesy ukládá do souboru a v určených časových intervalech je odesílá na server.

As a part of the semester work, the program Keylog is made as a model for the characteristic features of the program to intercept keystrokes. The project allows a user to describe in details the problems of capturing keystrokes from the standpoint of legal and illegal monitoring of user’s actions. This program describes the capabilities of the functions and algorithms of these programs. Details have been studied and described by modern common legal and illegal monitoring systems, the results were used to create their own solutions. The program allows a user to save the data in a form of a text file and continue working with it. The text describes in details this perspective, the individual algorithms, and furthermore the ability to protect against the most malicious programs.
System for monitoring user's activity
Keywords: Monitorování; spyware; uživatelský program; zachycení stisku kláves; protokol; sit’ový přenos; protokol TFTP; vzdálený server.; Spyware; monitoring; hooking; keys; program; key logger; hook function; user.