13
SVEUČILIŠTE U ZAGREBU FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA SEMINAR IZ PREDMETA RAČUNALNA FORENZIKA Keystroke logging Ante Novokmet Zagreb, prosinac 2016.

Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

SVEUČILIŠTE U ZAGREBU

FAKULTET ELEKTROTEHNIKE I RAČUNARSTVA

SEMINAR IZ PREDMETA RAČUNALNA FORENZIKA

Keystroke logging

Ante Novokmet

Zagreb, prosinac 2016.

Page 2: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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

Page 3: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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]

Page 4: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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.

Page 5: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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

Page 6: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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.

Page 7: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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]

Page 8: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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

Page 9: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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

Page 10: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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

Page 11: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

9

Slika 3.5 – Zapisi o aktivnostima žrtve

Page 12: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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.

Page 13: Keystroke logging · Princip je sličan antivirusnim programima no mogu se ... rada zaposlenika zbog vlastite odgovornosti za njihove aktivnosti.[4] ... izrađuje slike zaslona i

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.