keystroke logging · princip je sličan antivirusnim programima no mogu se ... rada zaposlenika...
TRANSCRIPT
SVEUČILIŠTE U ZAGREBU
FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA
SEMINAR IZ PREDMETA RAČUNALNA FORENZIKA
Keystroke logging
Ante Novokmet
Zagreb, prosinac 2016.
Sadržaj
Uvod ...................................................................................................................................... 1
1. Vrste .............................................................................................................................. 2
1.1. Softverski keyloggeri ............................................................................................. 2
1.1.1. Širenje ............................................................................................................ 3
1.2. Hardverski keyloggeri ........................................................................................... 3
2. Sprječavanje i otkrivanje ............................................................................................... 5
3. Primjer ........................................................................................................................... 6
3.1. HawkEye ............................................................................................................... 6
3.2. Ardamax keylogger ............................................................................................... 8
3.3. AceSpy .................................................................................................................. 8
Zaključak ............................................................................................................................. 10
Literatura ............................................................................................................................. 11
1
Uvod
Keystroke logging ili keylogging (hrv. praćenje tipaka) je postupak praćenja i snimanja
tipki tipkovnice. Keylogging se uobičajeno izvodi prikriveno. Postoje razne metode
praćenja tipaka koje se dijele na softverske i hardverske načine. Keystroke logging je jedan
od najčešćih načina krađe podataka uz phishing napade, spyware, insider napada.[1]
2
1. Vrste
Keylogger je program kojem je cilj praćenje korisnikovih unosa preko tipkovnice.
Proizvode se za maliciozne i za legitimne svrhe. Pojedini legitimni programi koriste
funkcije keyloggera poput hotkeys za pozivanje specijalnih programskih funkcija.
Glavna ideja je presretanje bilo koje poveznice događaja pritiskanja tipke na tipkovnici i
prikazivanja informacije tipke na ekranu. Mogu se podijeliti u dvije kategorije, od kojih u
jednu upadaju programi koji zapisuju stiskanje tipki, dok drugu predstavljaju uređaji koji
se prikapčaju na samo računalo.
1.1. Softverski keyloggeri
Softverski keyloggeri su računalni programi koji se izvode na žrtvinom računalu.
Organizacije koriste keyloggere za dijagnosticiranje tehničkih poteškoća na računalima,
dok je druga moguća uporaba praćenje korištenja računala u mreži bez znanja korisnika.
Zlobni pojedinci koriste keyloggere za krađu osjetljivih korisničkih podataka poput lozinki
i bankovnih podataka. Keylogging se izvodi udaljeno za krađu informacija o bankovnim
podacima, korisničkim imenima, lozinkama, praćenju i špijuniranju datoteka i email-ova.
Kategorije:
Hypervisor-based: (virtual machine monitor) postoje unutar zloćudnog hypervisora
koji pokreće virtualni stroj unutar operativnog sustava.
Kernel-based: Program koji dobije root pristup, te ga iskoristi za skrivanje unutar
OS te presiječe stisnute tipke koje prolaze kroz kernel. Postoje na kernelskoj razini
te se teško otkrivaju, pogotovo programima koji nemaju root pristup. Često se
implementiraju kao rootkitovi koji ruše kernel kako bi pristupili hardveru. Ovakav
keylogger se ponaša kao driver za tipkovnicu.[9]
API-based: Prikapčaju se na APIje tipkovnice unutar pokrenutih aplikacija.
Keylogger zapisuje tipke kao da je normalan dio aplikacije, te prilikom svakog
pritiska tipke se poziva funkcija keylogger-a. Npr. Windows API
GetAsyncKeyState() koji hvata stanje tipkovnice.
3
Temeljeni na hvatanju web formi: Keylogger prati pretraživanje web-a prilikom
događaja slanja web forme. To se dogodi kad korisnik popuni formu te je pošalje.
Podaci forme se zapisuju prije slanja preko interneta.
Memory injection based: Ovakvi keyloggeri se izvode izmjenjivanjem memorijskih
tablica preglednika i ostalih funkcija operativnog sustava. Trojanci Zeus i SpyEye
koriste ovaj pristup.
Analizatori paketa: Snimaju promet vezani uz HTTP POST pakete kako bi
dohvatili nekriptirane lozinke. Ovaj pristup nije moguć HTTPS protokolom.
Keyloggeri često imaju mogućnost slanja dohvaćenih podataka na udaljenu lokaciju na
neki od slijedećih načina: slanje podataka na server, slanje na e-mail adresu ili
omogućavanje udaljenog pristupa računalu na kojem se nalazi.
Keyloggeri su se koristili i kao metoda proučavanja procesa pisanja.
1.1.1. Širenje
Najčešće se šire se kao i svi drugi štetni programi.
Otvaranje datoteka unutar email-a.
Pokretanje datoteka s P2P mreže ili direktorija otvorenog pristupa.
Preko skripti na web stranicama koje iskorištavaju slabosti web preglednika.
Preko drugih malicioznih programa već postojećih na žrtvinom računalu.
Naime često ih instaliravaju organizacije ili osobe s namjerom praćenja aktivnosti drugih
osoba na računalo.
1.2. Hardverski keyloggeri
Hardverski keyloggeri ne ovise o instaliranim programima jer postoje na razini hardvera.
Bazirani na firmware-u: Firmware na razini BIOS-a koji upravlja očitavanjem tipkovnice
se može izmijeniti tako da ih zapisuje prije obrade. Software koji se učitava na BIOS mora
biti izrađen za specifični hardver na kojem će se izvoditi.
Hardverski: Ovakvi keyloggeri su elektronički sklopovi koji bi se trebali ukopčati negdje
između tipkovnice i računala, tipično u utikač za tipkovnicu. On zapisuje tipke na
4
unutarnju memoriju sklopa, kojoj se kasnije može pristupiti. Ne ovisi o instaliranju na
operativni sustav računala te neće ometati programe koji se izvode, no njegova prisutnost
se može vidjeti očima.
Bežična njuškala: Ovakvi uređaji njuškaju i skupljaju podatke koje bežična tipkovnica
šalje računalu (prijemniku). Mogu omogućiti tipkanje na žrtvinom računalu.
Prekrivač na tipkovnici: Korišteni su za krađu Pinova na bankomatima. Izgledaju kao tipke
bankomata te korisnik ne primjećuje da je išta krivo.
5
2. Sprječavanje i otkrivanje
Pošto keyloggeri koriste razne pristupe, te to može utjecati na efektivnost protumjera.[7]
Anti Keyloggeri: Program koji ima funkciju prepoznavanja keyloggera na računalu. To se
izvodi uspoređivanjem podataka računala s bazom keyloggera. Sličnosti među njima mogu
ukazivati na njegovo postojanje. Princip je sličan antivirusnim programima no mogu se
razlikovati po tome što bi antivirusni program neki keylogger mogao prepoznati kao
legitiman program.
Live CD/USB: Pokretanje računala s Live CD-a onemogućuje rad softverskih keyloggera
na originalnom operativnom sustavu. [8]
Jednokratne lozinke: Neće se moći iskoristiti drugi put od strane bilo koga tko ju ukrade.
Sigurnosni tokeni i autentifikacija u dva koraka: Dodatni sloj zaštite koji nije povezan s
programima na računalu. Keylogger na računalu neće moći pristupiti takvom fizičkom
uređaju. [8]
On-screen tipkovnice, iako većina od njih šalju normalne pozive tipkovnice, koje
keylogger ipak može zapisati. Ovo nije popularna metoda sprječavanja keyloggera jer ne
postoje s tom namjerom.
Programi interferencije tipkom: Programi koji zavaravaju keyloggere ubacivanjem
nasumičnih tipki.
Prepoznavanje govora i rukopisa: ne koristi tipkovnicu ni miš, no podaci se mogu presresti
nakon obrade programa za prepoznavanje. [8]
Većina keyloggera podržava slanje snimljenih podataka preko email adrese ili na FTP
server. Praćenjem odlaznog mrežnog prometa moguće je vidjeti nenamjerno poslanu poštu,
te praćene podatke.
Postojanje sumnjivih procesa ili instaliranih programa. Ako ih antivirusni program nije
detektirao može upućivati na to da ih je instalirao netko s fizičkim pristupom računalu.
Keylogger može imati naziv jednak nazivu legitimnog procesa.[3]
6
3. Primjer
U forenzici podatci mogu biti skriveni na razne načine. Među ostalim metodama
sprječavanja skrivanja metoda keylogging je jedna od pouzdanijih. Keylogging zaobilazi
sve algoritme, hash funkcije i ključeve, te dokumentira sav stvoreni sadržaj. Druga
namjena je korištenje u poslovnim okruženjima gdje se javlja potreba praćenja aktivnosti
rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4]
Ubacivanje keyloggera na računalo osumnjičenika se kroz povijest često koristilo za
dobivanje potrebnih dokaza za uhićenje.[2]
3.1. HawkEye
Komercijalni keylogger čija je glavna namjena maliciozno praćenje aktivnosti drugih ljudi.
Instalirava se na pojedina računala, te zapisuje zapažanja u datoteku koja se šalje
administratoru podataka preko mreže. Većina antivirusa ga može detektirati. Ovaj
keylogger je čest i još uvijek u uporabi. Ima keylogger builder mogućnost kojom se stvara
keylogger namijenjen dijeljenju. Dekompajliranjem njegovog izvršnog koda (.net binary)
moguće je doći do podataka o funkcijama programa i o emailu osobe kojoj dolaze podaci.
Ujedno se saznaje da je ovo hook-based keylogger.
Slika 3.1 – postavke programa HawkEye keylogger
7
Slika 3.2 - Enkriptirane lozinke u kodu
Spremljeni su kao kodirani niz znakova. Izmjenom koda za dekripciju te vlastitim
pokretanjem dobivaju se podaci koji mogu uputiti na napadača keyloggerom.[6]
Slika 3.3 – Dekripcija napadačevih podataka
8
3.2. Ardamax keylogger
Komercijalni keylogger iste namjene kao prethodna dva. Omogućava stvaranje
instalacijske datoteke s definiranim parametrima za slanje log datoteka (email, FTP). Nju
je moguće prikriti nekim drugim programom (File binder programi) i prevariti nekoga na
njegovu instalaciju.[5]
3.3. AceSpy
Komercijalni keylogger namijenjen kao program za nadzor. Zapisuje svaku tipku, podatke
iz pokrenutih programa, clipboard, izrađuje slike zaslona i web kamere, online razgovore i
sve šalje preko podesive email adrese ili FTP servera. Izvodi se nevidljivo te ga računalo
na kojem sam testirao nije detektirao kao štetan program. Na prvi pogled se ne prikazuje u
listi instaliranih programa, pokrenutih programa ni procesa, no desni klik i opcija Open file
location procesa naziva svsHost.exe (vrlo slično legitimnom programu svcHost.exe)
otkriva datoteku instalacije. Instalirava se u skrivenu datoteku unutar ProgramData
datoteke na windowsima, gdje su ujedno spremljeni i podaci o praćenju, u obliku SQLLite
baza podataka, te podaci za pristup te slanje podataka (email, lozinka).
Slika 3.4 – Program AceSpy
9
Slika 3.5 – Zapisi o aktivnostima žrtve
10
Zaključak
Iako se keyloggeri distribuiraju kao legitimni programi, mogu imati zlobnu upotrebu krađe
osobnih podataka. Keylogging, uz phishing napade te socijalni inženjering je jedan od
najčešćih načina prijevare na internetu. Sve veći i veći broj malicioznih programa ima
funkcionalnosti keyloggera.
Postoje razne metode zaštite od keyloggera od kojih su neke obični antivirusni programi,
razne metode jednokratnih lozinki i autentifikacije u dva koraka, te uporaba virtualnih
tipkovnica i ostale metode unosa bez uporabe tipkovnice.
Analiziran je kod programa HawkEye kod kojega se pokazuje kako je u komercijalnom i
popularnom keyloggeru moguće otkriti napadačeve podatke.
11
Literatura
[1] ROUSE M., keylogger (keystroke logger, key logger, or system monitor), Definition:
http://searchmidmarketsecurity.techtarget.com/definition/keylogger, 2006.
[2] LEYDEN J. Russians accuse FBI Agent of Hacking, 2002
[3] GREBENNIKOV N., Keyloggers: How they work and how to detect them (Part 1),
https://securelist.com/analysis/publications/36138/keyloggers-how-they-work-and-
how-to-detect-them-part-1/, 2007.
[4] ENIGMASOFTWARE: Threat Database - Keyloggers,
https://www.enigmasoftware.com/threat-database/keyloggers/
[5] BRADY, N. Digital Forensics: Ardamax Key logger. Youtube video,
https://www.youtube.com/watch?v=-xIRgE-WVlg, 2015.
[6] REIS, R. Cracking HawkEye Keylogger Reborn. Članak.
http://blog.deniable.org/blog/2016/08/04/cracking-hawkeye-keylogger-reborn/, 2016.
[7] ACTUALKEYLOGGER, Actual Keylogger Captures Data For Forensic Evaluation,
Članak:
http://www.actualkeylogger.com/articles/Actual_Keylogger_Captures_Data.html
[8] ABALMASOV A., How to detect keylogger and remove it from your computer,
Članak: http://www.besttechtips.org/how-to-detect-keylogger-and-remove-it-from-
your-computer/, 2013.
[9] SHETTY S., Introduction to Spyware Keyloggers,
https://www.symantec.com/connect/articles/introduction-spyware-keyloggers, 2005.