DYNAMIKY STISKU KLÁVES



Podobné dokumenty
Autentizace. Ing. Miloslav Hub, Ph.D. 10. října 2007

Úvod do biometrie. Vladimír Lieberzeit UPEK Inc.

Biometrická autentizace uživatelů

Chyby měření 210DPSM

Úloha - rozpoznávání číslic

Základy popisné statistiky

Algoritmizace diskrétních. Ing. Michal Dorda, Ph.D.

Obsah přednášky Jaká asi bude chyba modelu na nových datech?

Profilování vzorků heroinu s využitím vícerozměrné statistické analýzy

Statistická teorie učení

Jednofaktorová analýza rozptylu

Datové struktury 2: Rozptylovací tabulky

STATISTICKÉ CHARAKTERISTIKY

Číselné charakteristiky a jejich výpočet

EXPERIMENTÁLNÍ MECHANIKA 2 Přednáška 5 - Chyby a nejistoty měření. Jan Krystek

Testování hypotéz. 1. vymezení základních pojmů 2. testování hypotéz o rozdílu průměrů 3. jednovýběrový t-test

Proudové šifry a posuvné registry s lineární zpětnou vazbou

1. Statistická analýza dat Jak vznikají informace Rozložení dat

Moderní systémy pro získávání znalostí z informací a dat

Algoritmy a struktury neuropočítačů ASN P9 SVM Support vector machines Support vector networks (Algoritmus podpůrných vektorů)

Rozpoznávání izolovaných slov (malý slovník, např. číslovky, povely).

Nový způsob práce s průběžnou klasifikací lze nastavit pouze tehdy, je-li průběžná klasifikace v evidenčním pololetí a školním roce prázdná.

Přehled vhodných metod georeferencování starých map

VYUŽITÍ PRAVDĚPODOBNOSTNÍ METODY MONTE CARLO V SOUDNÍM INŽENÝRSTVÍ

Kvantitativní testování virtuálních klávesnic na desktopu

Pravděpodobnost v závislosti na proměnné x je zde modelován pomocí logistického modelu. exp x. x x x. log 1

Popisná statistika kvantitativní veličiny

Rozdělování dat do trénovacích a testovacích množin

Přehled autentizačních biometrických metod

veličin, deskriptivní statistika Ing. Michael Rost, Ph.D.

Metody autentizace Hesla a Biometriky. Vlasta Šťavová

TSO NEBO A INVARIANTNÍ ROZPOZNÁVACÍ SYSTÉMY

Zpracování náhodného výběru. Ing. Michal Dorda, Ph.D.

STATISTICKÝ SOUBOR. je množina sledovaných objektů - statistických jednotek, které mají z hlediska statistického zkoumání společné vlastnosti

Modifikace algoritmu FEKM

Úloha: Verifikace osoby pomocí dynamického podpisu

Neuronové časové řady (ANN-TS)

Stavový model a Kalmanův filtr

Bezpečnost IT v biomedicíně

v informačních systémech ve zdravotnictví

Státnice odborné č. 20

Algoritmy a struktury neuropočítačů ASN - P10. Aplikace UNS v biomedicíně

STATISTICKÉ ODHADY Odhady populačních charakteristik

Reranking založený na metadatech

PV157 Autentizace a řízení přístupu

Administrace Oracle. Práva a role, audit

Dobývání znalostí. Doc. RNDr. Iveta Mrázová, CSc. Katedra teoretické informatiky Matematicko-fyzikální fakulta Univerzity Karlovy v Praze

EVI 8 - Autovraky Přehled plnění cílů opětovného použití

Kontingenční tabulky v MS Excel 2010

Obsah. Několik slov o Excelu 2007 a Operace při otvírání a ukládání sešitu 15. Operace s okny 27. Kapitola 1

Nadpis 1 - Nadpis Security 2

7. Rozdělení pravděpodobnosti ve statistice

Statistika pro geografy

Návod k použití softwaru Solar Viewer 3D

Penetrační test & bezpečnostní audit: Co mají společného? V čem se liší?

BALISTICKÝ MĚŘICÍ SYSTÉM

Vytěžování znalostí z dat

VÝBĚR A JEHO REPREZENTATIVNOST

Automatická detekce anomálií při geofyzikálním průzkumu. Lenka Kosková Třísková NTI TUL Doktorandský seminář,

Popis ovládání. Po přihlášení do aplikace se objeví navigátor. Navigátor je stromově seřazen a slouží pro přístup ke všem oknům celé aplikace.

, Brno Hanuš Vavrčík Základy statistiky ve vědě

DOKUMENTACE Identifikace pomocí otisků prstů

Manuál k programu EMSoftware

Testování hypotéz. Testování hypotéz o rozdílu průměrů t-test pro nezávislé výběry t-test pro závislé výběry

Procesní audit VIKMA

Vícerozměrné statistické metody

Příručka uživatele HELPDESK GEOVAP

Ing. Petr Hájek, Ph.D. Podpora přednášky kurzu Aplikace umělé inteligence

Pravděpodobně skoro správné. PAC učení 1

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010


Matematika III. 27. listopadu Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

Univerzita Pardubice. Fakulta ekonomicko-správní

Základní statistické charakteristiky

biometrických systémů a testování jejich spolehlivosti Přehled drahan@fit.vutbr.cz) Martin Drahanský (drahan(

EKONOMETRIE 7. přednáška Fáze ekonometrické analýzy

Diskrétní náhodná veličina

Testování biometrického systému založeného na dynamice podpisu

OSOBA JEDNAJÍCÍ ZA SPRÁVCE ČÍSELNÍKU NÁVOD K OBSLUZE INFORMAČNÍHO SYSTÉMU O DATOVÝCH PRVCÍCH (ISDP)

Pracovní celky 3.2, 3.3 a 3.4 Sémantická harmonizace - Srovnání a přiřazení datových modelů

Vzorce. Suma. Tvorba vzorce napsáním. Tvorba vzorců průvodcem

Využití webového rozhraní při sběru dat z přijímacího řízení na Pedagogické fakultě Univerzity Karlovy v Praze. Marie Marková

Vytěžování znalostí z dat

Projekční algoritmus. Urychlení evolučních algoritmů pomocí regresních stromů a jejich zobecnění. Jan Klíma

aneb velice zjednodušené vysvětlení základních funkcí a možností systému Vypracoval: Tomáš Dluhoš tomas.d@centrum.cz

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

Aplikace. vliv na to, jakou mají strukturu i na to, jak pracné je je vyvinout. Bylo vypozorováno, že aplikace je možné rozdělit do skupin

Evidence požadavků uživatelů bytů a nebytových prostor

Provozní dokumentace. Seznam orgánů veřejné moci. Příručka pro běžného uživatele

Bezpečnostní mechanismy

Více úrovňové informační systémy a jejich certifikace podle zákona č.412/2005 Sb.

PRODUKTY. Tovek Tools

Jednoduché cykly

Jasové transformace. Karel Horák. Rozvrh přednášky:

Tonda Beneš Ochrana informace podzim 2011

Jana Vránová, 3. lékařská fakulta UK

Náhodné (statistické) chyby přímých měření

Da D to t v o é v ty t py IB111: Datové typy

1. Přednáška. Ing. Miroslav Šulai, MBA

Kvantitativní testování Test počítačových klávesnic

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS PRŮBĚŽNÁ VERIFIKACE OSOB NA ZÁKLADĚ DYNAMIKY STISKU KLÁVES BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR TOMÁŠ DOHNÁLEK BRNO 2012

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA INFORMAČNÍCH TECHNOLOGIÍ ÚSTAV INTELIGENTNÍCH SYSTÉMŮ FACULTY OF INFORMATION TECHNOLOGY DEPARTMENT OF INTELLIGENT SYSTEMS PRŮBĚŽNÁ VERIFIKACE OSOB NA ZÁKLADĚ DYNAMIKY STISKU KLÁVES CONTINUOUS PERSONAL VERIFICATION BASED ON KEYSTROKE DYNAMICS BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR VEDOUCÍ PRÁCE SUPERVISOR TOMÁŠ DOHNÁLEK Ing. MICHAL DOLEŽEL BRNO 2012

Abstrakt Tato práce se zabývá průběžnou verifikací osob na základě dynamiky stisku kláves při psaní volného textu. Jsou představeny výhody a nevýhody této biometrické vlastnosti a také různé přístupy k analýze vzorků. Podrobně je rozebrána metoda od autorů Gunettiho a Picardiové, která je následně upravena pro reálné využití. Na základě zvolené metody je navržena aplikace a ta implementována pro operační systém GNU/Linux. Výkonnost aplikace při verifikaci je prezentována na dvou datových souborech. Abstract This work is dealing with continuous personal verification based on keystroke dynamics during writing of free text. There are introduced advantages and disadvantages of this biometric characteristic and also different approaches to analysis of samples. In detail, there is analyzed the method of authors Gunetti and Picardi, which is afterwards modified for usage in real situations. According to chosen method there is an application for the operation system GNU/Linux designed and implemented. Performance of the application during verification is presented on two datasets. Klíčová slova Bezpečnost, biometrie, behaviorální biometrické vlastnosti, průběžná verifikace, dynamika stisku kláves, volný text, Gunetti a Picardiová, n-graf. Keywords Security, biometrics, behavioral biometric characteristics, continuous verification, keystroke dynamics, free text, Gunetti and Picardi, n-graf. Citace Tomáš Dohnálek: Průběžná verifikace osob na základě dynamiky stisku kláves, bakalářská práce, Brno, FIT VUT v Brně, 2012

Průběžná verifikace osob na základě dynamiky stisku kláves Prohlášení Prohlašuji, že jsem tuto bakalářskou práci vypracoval samostatně pod vedením pana Ing. Michala Doležela. Všechny literární prameny a publikace, ze kterých jsem čerpal, jsou řádně uvedeny........................ Tomáš Dohnálek 13. května 2012 Poděkování Tímto bych chtěl poděkovat svému vedoucímu Ing. Michalovi Doleželovi za jeho trpělivost i cenné rady, také všem dobrovolníkům, kteří se podíleli na testování aplikace. c Tomáš Dohnálek, 2012. Tato práce vznikla jako školní dílo na Vysokém učení technickém v Brně, Fakultě informačních technologií. Práce je chráněna autorským zákonem a její užití bez udělení oprávnění autorem je nezákonné, s výjimkou zákonem definovaných případů.

Obsah 1 Úvod 2 2 Biometrie 3 2.1 Základní pojmy.................................. 4 2.2 Fyziologické a behaviorální vlastnosti...................... 4 2.3 Vyhodnocování biometrických systémů..................... 5 3 Dynamika stisku kláves 6 3.1 Analýza statického a volného textu....................... 6 3.2 Příznaky...................................... 6 3.3 Vlastnosti verifikace na základě dynamiky stisku kláves........... 8 3.4 Přehled metod.................................. 8 3.5 Metoda Gunettiho a Picardiové......................... 11 4 Návrh a implementace 17 4.1 Požadavky na aplikaci.............................. 17 4.2 Návrh aplikace.................................. 18 4.3 Použité technologie................................ 23 4.4 Důležité rysy implementace........................... 24 4.5 Bezpečnost a použitelnost............................ 26 5 Testování 27 5.1 Datové soubory.................................. 27 5.2 Metodika testování................................ 28 5.3 Testované vlastnosti............................... 28 6 Zhodnocení dosažených výsledků 30 6.1 Verifikace..................................... 30 6.2 Průběžná verifikace................................ 31 6.3 Závislost délky trvání mono-grafů na použité klávesnici........... 33 7 Závěr 35 Seznam příloh 39 1

Kapitola 1 Úvod Klasické počítačové systémy autentizují uživatele na základě znalosti jména a hesla uživatele, avšak v průběhu sezení jsou tyto systémy zranitelné pokud autorizovaný uživatel opustí své pracoviště bez odhlášení, může jeho místo zaujmout útočník, který tímto získá plnou kontrolu nad systémem. Bylo by tedy vhodné provádět průběžnou verifikaci i během sezení a to nejlépe nějakou přirozenou cestou, bez vědomí uživatele. Vhodným řešením se jeví použití biometrie. Biometrické vlastnosti můžeme rozdělit do dvou kategorií. První jsou vlastnosti fyziologické, ke kterým řadíme například otisky prstů. Tyto vlastnosti jsou považovány za relativně neměnné a mnoho z nich za unikátní. Na opačné straně stojí vlastnosti behaviorální (např. dynamika stisku kláves, chůze, hlas atd.), které za neměnné považovat nelze. Obecně jsou systémy rozpoznávající jedince na základě fyziologických vlastností úspěšnější, avšak k autentizaci je často zapotřebí přerušit právě vykonávanou činnost a zaměřit svou pozornost na biometrický senzor. V tom tkví výhoda behaviorálních vlastností jedinec může být zkoumán na základě přirozené činnosti jako je třeba psaní na klávesnici. Autentizace pomocí dynamiky stisku kláves přináší další výhodu v absenci speciálního senzoru ke snímání stačí obyčejná klávesnice, kterou je v dnešní době vybavena naprostá většina osobních počítačů. Stisknutí a uvolnění kláves obsahují velice málo biometrických informací, a proto je rozpoznaní jedince obtížným úkolem. Práce zabývající se touto problematikou prezentují zajímavé dosažené výsledky, avšak skutečných aplikací autentizujících dle dynamiky stisku kláves je velmi málo. Cílem této práce je vybrat, upravit a aplikovat jeden z existujících algoritmů pro verifikaci na základě dynamiky stisku kláves při psaní volného textu pro průběžnou verifikaci osob v reálném využití. V kapitole 2 jsou zavedeny základní pojmy z oblasti biometrie, v následující kapitole 3 je rozebrána biometrická vlastnost dynamika stisku kláves její výhody, nevýhody a různé metody s ní pracující. Kapitola 4 se zabývá návrhem a implementací aplikace pro operační systém GNU/Linux. Výsledný systém je poté otestován na dvou datových souborech, metodika testování je popsána v kapitole 5 a dosažené výsledky jsou prezentovány v kapitole 6. 2

Kapitola 2 Biometrie K identifikaci člověka lze použít několik odlišných druhů metod. Člověk může prokázat svou totožnost pomocí tajné znalosti, jako je například heslo či PIN kód, kterou by měl znát pouze on. Nevýhodou tohoto způsobu ověřování je možnost neoprávněného nabytí této utajované informace (např. slovníkový útok) nebo její zapomenutí, jež vede k nemožnosti identifikace. Dalším vhodným a používaným způsobem je předložení jedinečného předmětu (občanský průkaz, čipová karta, klíč), který by měl mít v držení právě identifikovaný jedinec. Tato možnost má obdobné nevýhody v možném zkopírování tohoto předmětu či jeho ztrátě. Nejpohodlnější možností rozpoznání člověka se jeví metoda porovnávání lidských fyziologických nebo behaviorálních vlastností biometrická autentizace. Ta klade na člověka nejmenší nároky, není potřeba si nic tajného pamatovat ani s sebou nic jedinečného nosit člověk sám je jedinečný. [1] Biometrické technologie jsou definovány jako automatické metody verifikování nebo rozpoznávání identity živého člověka na základě jeho fyziologických či behaviorálních vlastností. [2, str. 1] V praxi se název biometrická autentizace zkracuje termínem biometrie, přestože tento termín je historicky používán k označení aplikace statistické analýzy na biologická data. V této práci však bude pojmem biometrie myšlena výlučně biometrická autentizace. Biometrie nabízí oproti tradičním rozpoznávacím mechanismům výhodu v přirozenosti, pohodlnosti a bezpečnosti. Jako každá metoda má ovšem i slabé stránky, neodpadá například riziko falzifikace (kopie otisků prstů, fotografie), je nutné uchovávat soukromé informace o uživatelích a navíc existuje vyšší riziko zamítnutí přístupu uživateli legitimnímu. Všechny biometrické systémy mohou být rozděleny do dvou částí: registrační a verifikační či identifikační. Obě části obsahují senzor sloužící ke snímání biometrické vlastnosti, jehož výstupem jsou biometrická data určená k dalšímu zpracování. Tato data jsou v registrační fázi sbírána a archivována, často jsou označována jako profil uživatele nebo jako šablona. Po nasbírání potřebného množství jsou uložena do databáze spolu s informací o identitě uživatele. [3, str. 15] Druhá část biometrického systému využívá senzoru také k získání biometrických dat, ta však nejsou ukládána do databáze, ale využita pro porovnání s údaji v databázi. Porovnáním zjistíme o jakého uživatele systému jde či zda se nejedná o útočníka. [4, str. 14 15] 3

2.1 Základní pojmy V této části budou objasněny pojmy, vážící se k rozpoznání člověka. [1, str. 6] Identita osoby Je možné rozlišovat dvě identity fyzickou a elektronickou [4, str. 10]. Fyzická je kombinací biologických, psychických, vrozených i získaných vlastností a je pro každého člověka jedinečná. Na rozdíl od toho elektronická identita je vytvořena ve virtuálním světě a není podložena žádnými biologickými vlastnostmi. Jeden člověk může mít více elektronických identit. Identifikace V identifikačním módu se biometrický systém snaží rozpoznat jedince hledáním shody se všemi šablonami uživatelů v databázi na základě předložené vlastnosti. Člověk tudíž nemusí svou identitu ani uvádět. Pokud je nalezena shoda, je jedinec prohlášen za uživatele se shodnou šablonou. Pokud shoda nalezena není, jedinci není přiřazena žádná identita. Identifikace pomocí biometrie může být použita k zamezení používání více účtů jedním uživatelem. Verifikace Při verifikaci jedinec tvrdí, že je jistým uživatelem systému, a ten prověří pouze shodu naměřených biometrických dat se šablonou daného uživatele. Verifikace pomocí biometrie může být použita také k zamezení užívání jednoho účtu více uživateli. Autentizace Autentizace je termín velmi podobný pojmu rozpoznání, avšak po jejím provedení je autentizovanému jedinci přidělen jeden ze dvou stavů oprávněný či neoprávněný [5]. Klasifikace Klasifikací rozumíme třídění do různých tříd. Dochází k ní například v situaci, kdy s jistotou víme, že osoba, která poskytla vzorek, je uživatelem systému. Klasifikace je v tomto případě podobná identifikaci, odpadá ovšem varianta, kdy je osoba prohlášena za útočníka. Průběžná verifikace Ve většině počítačových systémů je identita uživatele ověřena pouze na začátku, v přihlašovací fázi. Pokud ovšem útočník získá přístup do systému poté, nelze již tuto skutečnost zjistit. Řešením se jeví průběžná verifikace, kdy i po prvotní autentizaci uživatele dochází k dalším ověřením v průběhu používání systému. Tento postup ovšem nelze aplikovat u všech biometrickými vlastností. Například kontinuální verifikace uživatele pomocí snímání oční duhovky se jeví ve většině případů nereálná, avšak pro dynamiku stisku kláves je tento přístup vhodný. 2.2 Fyziologické a behaviorální vlastnosti Měřitelné biometrické vlastnosti lze rozdělit do dvou kategorií a to na fyziologické (někdy nazývané anatomické) a behaviorální (či dynamické) [3, str. 15]. Mezi fyziologické charakteristiky můžeme zařadit otisky prstů, rysy obličeje, duhovky, ruky, ucha a další. Behaviorální jsou spojeny s činností zkoumaného jedince a řadíme k nim hlas, chůzi, podpis, dynamiku stisku kláves a další. Behaviorální vlastnosti jsou obecně považovány za slabší než fyziologické, protože u nich dochází ke změnám v závislosti na čase. Mohou být výrazně ovlivněny i psychickým stavem zkoumané osoby. 4

Přestože jsou fyziologické charakteristiky hodnoceny lépe než behaviorální, je při jejich použití často potřeba přerušit právě vykonávanou činnost a zaměřit svou pozornost na biometrický senzor. Při rozpoznávání pomocí dynamických vlastností může být zkoumáno samotné provádění práce. 2.3 Vyhodnocování biometrických systémů Klasické autentizační mechanismy zpravidla nabývají pouze dvou výsledných stavů: přístup zamítnut nebo přístup povolen. Ideální systém je bezchybný identita legitimního uživatele je vždy rozpoznána a útočníci nejsou do systému nikdy vpuštěni. Tohoto stavu ovšem nelze dosáhnout. Při autentizaci pomocí biometrického systému je velmi nepravděpodobné, že dojde k úplné shodě profilu uživatele s právě získaným vzorkem. To může být zapříčiněno nedokonalými senzory, nestálostmi behaviorálních vlastností, změnou okolních podmínek či změnami při práci uživatele se senzorem. Dle [1, str. 7] je absolutní shoda dokonce podezřelá je pravděpodobné, že jde o útok. Pro vyjádření podobnosti dvou biometrických vzorků je definováno skóre porovnání. Pokud jde o legitimního uživatele a skóre porovnání klesne pod práh p, mluvíme o chybném zamítnutí (dále zkracováno na FR z anglického False Rejection). Tato hranice či práh je anglicky označována jako threshold. Naopak pokud jde o útočníka, který se snaží vniknout do systému, a jeho skóre porovnání stoupne nad daný práh p, v důsledku čehož je vpuštěn do systému, mluvíme o chybném přijetí (dále jen FA z anglického False Acceptance). Hodnota False Reject Rate (zkracována jako FRR) vypovídá u biometrického systému o tom, jak velká část uživatelů byla označena za útočníky. Naopak False Accept Rate (zkracována na FAR) reprezentuje poměr útočníků, kteří byli do systému vpuštěni. [3] V biometrických systémech lze sledovat nepřímou závislost mezi četností omylů chybného přijetí a chybného zamítnutí snaha o snížení jedné vede ke zvýšení druhé. Je proto nutné najít kompromisní hranici, která ovšem závisí na konkrétní aplikaci. Při snaze o neintrusivní systém je vhodné mít nízkou míru FRR za cenu častějšího vpuštění útočníků. Naopak pro systém, který by měl být dobře zabezpečený, je třeba minimalizovat míru FAR, čímž se zvětšuje riziko, že právoplatný uživatel nebude vpuštěn do systému a bude muset svůj pokus o rozpoznání opakovat nebo bude nucen prokázat svou identitu jiným způsobem. Znalost jedné z hodnot FRR či FAR je bezcenná. Je vždy potřeba znát obě hodnoty, aby systémy mohly být vzájemně porovnány. FRR a FAR jsou závislé na použitém prahu pokud se jeho hodnoty mění, míry FAR a FRR se mění také. Hodnoty FRR a FAR jsou na sobě nepřímo závislé a v praxi je často vhodné tuto závislost podrobněji znát. Na její vyjádření a zobrazení se používá ROC křivka (z anglického Receiver Operating Characteristic). ROC křivky můžeme dělit dle použitých měřítek (lineární, logaritmické) pro osy. EER (z anglického Equal Error Rate) je míra vyrovnání chyb FAR a FRR. Tato jednoduchá míra se využívá k porovnávání systémů nižší EER znamená lepší výkon. Je však potřeba zdůraznit, že srovnání systémů díky jedinému číslu také není ideální nižší míra EER automaticky neznamená lepší systém pro jiné hodnoty prahu, pro komplexnější porovnání je třeba vzít v potaz celou ROC křivku. 5

Kapitola 3 Dynamika stisku kláves K intenzivně zkoumaným oblastem biometrie můžeme zařadit také behaviorální vlastnost dynamika stisku kláves. Přestože je verifikace na základě této charakteristiky v dnešní době nejčastěji spojována s počítačovými klávesnicemi, kde počítač sám může automatizovaně vyhodnocovat stisky, její původ můžeme hledat při použití Morseova kódu [3]. Již za druhé světové války byli operátoři rozpoznáváni podle prodlev mezi tečkami a čárkami v jimi odesílaném kódu. Jednoklávesový nástroj na jeho psaní můžeme považovat za nejjednodušší klávesnici. Obsahuje pouze jediné tlačítko a podporuje dvě základní operace: stisknutí a uvolnění. Moderní metody dynamiky stisku kláves pracují na podobném principu dodnes na základě analýzy prodlev mezi jednotlivými úhozy, délek stisku a dalších příznaků je možné určit identitu pisatele. 3.1 Analýza statického a volného textu Analýzu dynamiky stisku kláves můžeme rozdělit do dvou základních směrů. První se zabývá analýzou statického textu, což je obecně přesnější a jednodušší, druhý se zaměřuje na analýzu textu volného (dynamického). Analýzu statického textu můžeme dále rozdělit na zkoumání dlouhých vzorků a password hardening, mající za účel vytvořit bezpečnější autentizační systém než klasické zadání přihlašovacího jména a hesla, jež je založeno pouze na znalosti. Password hardening sleduje během zadávání autentizačních informací také biometrickou dynamiku stisku kláves a tu porovnává s profilem uživatele. Cílem tedy není nahradit klasické přihlašování, pouze ho doplnit a učinit bezpečnějším. Password hardening pracuje s velmi krátkým textem i o délce pouhého jednoho slova tato metoda je jednodušší než ostatní, protože je předem znám text, který bude zadáván, a nebude zde dále rozebírána. Analýza statického dlouhého textu by se dala označit za vývojového předchůdce analýzy volného textu, tento směr tudíž nelze při dalším popisu vynechat. 3.2 Příznaky Stlačení a uvolnění klávesy jsou dvě základní atomické události, ze kterých je možno vyextrahovat příznaky. Ty dělíme v kontextu dynamiky stisku kláves do dvou kategorií: globální a časové (z anglického global a temporal). Globální popisují obecný způsob psaní uživatele. Řadíme k nim celkovou rychlost psaní, 6

frekvenci chyb (tu lze odhadnout pomocí četnosti stisku kláves Backspace a Delete) a styl používání kontrolních kláves jako Ctrl, Shift, Alt. Je potřeba zdůraznit, že ke zjištění globálních příznaků je nutno zkoumat delší text. Časové příznaky popisují styl stisku a uvolnění konkrétní klávesy či jejich kombinaci. Mohou být vypočítány na základě časových známek spojených s těmito ději. Obrázek 3.1 zobrazuje časové intervaly, které mohou být získány ze stisku a uvolnění jedné či dvou kláves. Doba mezi stiskem a uvolněním klávesy A je v anglické literatuře [6] označována jako dwell time. Délka mezi uvolněním první klávesy A a stisknutím následující klávesy B je označována jako interval, doba trvání mezi dvěma stisky následujících kláves jako flight time atd. Pomocí časových údajů dwell time a interval je možné dopočítat všechny zbývající. Převážná většina zde prezentovaných technik využívá pouze časové údaje dwell time a flight time, některé z nich dokonce pouze flight time. Flight time mezi klávesami A a B je možné označit také jako délku trvání di-grafu AB. Délkou trvání n-grafu poté analogicky nazveme dobu mezi stisknutím první a n-té klávesy. Obrázek 3.1: Pět měřitelných časových údajů při stisku jedné či dvou kláves: a) dwell time, b) up to up, c) latency, d) interval, e) flight time. Začátkem intervalu A je myšlen stisk klávesy A, koncem pak uvolnění. Obdobně pro B. Zdroj: [6] Je potřeba zdůraznit, že některé z měřených časových údajů mohou být i záporné. Například při stisku kláves a a l, které většinou nebývají psány stejnou rukou, je možné, že dojde ke stisku klávesy l před uvolněním klávesy a. Lze brát v úvahu i další možné příznaky jako například sílu vyvinutou při stisku klávesy či sledování, který prst danou klávesu stiskl [7, str. 2]. K získání těchto alternativnějších příznaků je ovšem zapotřebí speciálních klávesnic, a proto nebudou ve zbytku práce uvažovány. 7

3.3 Vlastnosti verifikace na základě dynamiky stisku kláves Jak bylo prezentováno v části 3.2, příznaky se dají získat pomocí stisků a uvolnění kláves psaní na klávesnici doprovázených časovými známkami [8, str. 313]. Taková činnost je pro člověka používajícího počítač běžná, a proto je možné verifikovat uživatele i bez jeho vědomí. Navíc je klávesnicí vybavena naprostá většina osobních počítačů, tudíž k aplikaci tohoto postupu není potřeba speciálního hardware. Zkoumání uživatele je navíc možné i po přihlašovací fázi, což umožňuje průběžnou verifikaci. Mezi nepopiratelné přednosti patří také jistá bezpečnost není pravděpodobné, že by útočník dokázal napodobovat rychlost úhozů při psaní [9], na druhou stranu charakteristika dynamiky stisku kláves pravděpodobně není unikátní. Na rozdíl od jiných biometrických vlastností úhozy poskytují velice málo informací. Pisatel může být navíc ovlivněn celou řadou negativních faktorů jakými jsou únava, nesoustředěnost, nemoc či zranění, které mohou negativně ovlivnit výsledek analýzy. Pokud má útočník možnost využívat softwarovou virtuální klávesnici, může se vyhnout verifikaci. Je tudíž vhodné využívat program ověřující identitu pisatele pomocí dynamiky stisku kláves společně například s programem verifikujícím uživatele pomocí dynamiky gest myši a tím vytvořit multimodální biometrický systém. 3.4 Přehled metod V této části budou popsány zásadní metody analýzy dynamiky stisku kláves delšího textu a také datových souborů, na kterých byly testovány. Některé postupy můžeme označit za historické, ale přesto jsou důležité z hlediska vývoje postupů modernějších a přesnějších. Na úvod popisu jednotlivých technik je třeba říci, že metody můžeme rozdělit do dvou kategorií podle vybraného algoritmu využitého k analýze. Dělit je můžeme na algoritmy založené na statistickém přístupu a ty spočívající v dolování dat. Statistický přístup tkví v porovnávání referenčního vzorku uživatele se vzorkem jedince snažícího se autentizovat v systému. Díky vypočítané statistické vzdálenosti mezi těmito dvěma vzorky je pak rozhodnuto, zda jde o legitimního uživatele či útočníka. Metody založené na dolování dat jsou kolekcí technik z oblastí umělé inteligence a strojového učení, zahrnující neuronové sítě, a typicky vybudují prediktivní model z historie dat a poté využijí tohoto modelu k předpovědi výsledku nového pokusu [10, str. 433]. Neuronové sítě a podobné mechanismy mají fundamentální nevýhodu pokud je do systému přidán nový uživatel, je potřeba celou sít přetrénovat, což může trvat značnou dobu. Gaines a kolektiv Mezi průkopnické práce, analyzující statický text pomocí dynamiky stisku kláves, můžeme bezesporu zařadit studii [11] popisující experiment, kterého se zúčastnilo sedm profesionálních písařů. Ti byli požádáni o napsání totožných textů, složených ze tří částí. Druhé sezení, ve kterém písaři napsali stejný text, se uskutečnilo do čtyř měsíců od prvního. Každá část obsahovala 300 až 400 slov a k jejich napsání byla využita pouze malá písmena. V první části byl použit běžný anglický text, druhá sestávala z náhodně poskládaných slov a třetí z náhodně uspořádaných frází. Z takto získaných dat byly spočítány délky trvání di-grafů a bylo zjištěno, že kolísají od minimálních 75 milisekund až po několik sekund. Navíc se délky trvání di-grafů od každého autora mírně lišily v různých částech textu, a proto bylo nutné tyto hodnoty zkombinovat. Pro analýzu byly využity jen ty di-grafy, které se v textu objevily více než desetkrát v každém sezení. Takových bylo 87. Tento soubor byl dále transformován odstraněním těch 8

di-grafů, jejichž délka trvání byla vzdálená od ostatních (tzv. outliers) a všechny tyto zbylé délky trvání byly zlogaritmovány. Po této transformaci bylo zjištěno, že data jsou aproximovaně rozdělena normálním rozložením. Při použití pěti klíčových di-grafů k analýze pomocí T-testu byli mezi sebou autoři textů jasně rozlišitelní. Přestože celý experiment proběhl na počítači, k vyhodnocení nebyl použit žádný automatizovaný klasifikátor. Umphress a Williams V prvním experimentu bylo dle [12] požádáno 17 programátorů o přepsání dvou různých textů první (profilový) o délce 1400 znaků a druhý o délce 300 znaků. Během druhého experimentu 36 účastníků napsalo dva totožné texty o délce 537 znaků v rozmezí jednoho měsíce. Autoři v prvním experimentu uvažovali nejen porovnávání délek trvání di-grafů, ale také celkovou rychlost psaní. Od toho ale v druhém experimentu upustili, protože rychlost psaní nebyla dostatečně diskriminativní. K rozhodnutí, zda jsou si di-grafy podobné, využívali směrodatnou odchylku. Absolutní hodnota rozdílu mezi testovaným di-grafem a průměrnou hodnotou profilových příslušných di-grafů musela být menší než t-násobek (t = 0,5) směrodatné odchylky. Při experimentování se snahou zjistit nejlepší množinu di-grafů a ideální maximální hraniční délku jejich trvání, která by určila zda je di-graf outlier, se nejlépe osvědčila hodnota 500 milisekund a di-grafy s malými písmeny. Uživatel byl úspěšně verifikován, pokud měl alespoň 60 % di-grafů podobných. Takovýto systém dosáhl FAR 6 % a FRR 12 %. Monrose a Rubin V textu [13] je popsán experiment, kde autoři požádali 42 dobrovolníků o poskytnutí jak statického tak dynamického textu. Jedenáct dobrovolníků však poskytlo chybná data, která musela být vyřazena kvůli problémům s časováním událostí. Autoři se snahou vylepšit a navázat na předchozí práce využívají dva příznaky: délku trvání n-grafu a dwell time. Byly navrženy tři klasifikátory jeden porovnávající profil a vzorek pomocí Euklidovské vzdálenosti, druhý podle neváhované pravděpodobnosti a třetí dle váhované pravděpodobnosti. Na statický text se klasifikátory vcelku osvědčily (úspěšnost až 90,7 %), avšak při použití k rozpoznání volného textu nedosáhly uspokojivých výsledků a autoři na závěr připouštějí, že k analýze dynamického textu je potřeba přijít s novými metodami. Dowland a Furnell Mezi další práce, zabývající se analýzou volného textu, patří studie [14], která svůj přístup vybudovala na předchozím výzkumu délky trvání di-grafů. Úvodní práce využívala testovací datový soubor poskytnutý deseti uživateli. K analýze byly využity pouze di-grafy, které splňovaly následující podmínky: Pokud byla délka jejich trvání menší než 40 milisekund nebo větší než 750 milisekund, byl takový di-graf odstraněn, u zbývajících totožných di-grafů byla zprůměrována jejich délka trvání a pokud byla směrodatná odchylka větší než průměrná doba jejich trvání, bylo odstraněno 10 % nejdelších i nejkratších di-grafů a průměrná hodnota znovu spočítána. Pokud se di-graf vyskytl ve vzorku méně než 50krát, byl odstraněn. Ke klasifikaci vzorku byl použit podobný přístup jako byl použit autory Umphress a Williams 3.4, výsledkem této přípravné studie bylo, že ke spolehlivému rozpoznání osob je třeba delších vzorků a k ověření metod reprezentativnější vzorek uživatelů. V navazující práci [14] proto autoři shromáždili datový soubor obsahující okolo 3,5 milionu stisků kláves od 35 uživatelů. Snímání uživatele bylo celosystémové, to tedy znamená, že vzorky mohou mít větší variaci. Pro filtraci užitečných di-grafů byla tentokrát zvolena nižší hodnota 10 milisekund, jinak zůstaly jak filtry tak algoritmus k vyhodnocování stejné. 9

Autoři prezentují experimenty s tri-grafy a délkami trvání celých slov, avšak s výrazně horšími výsledky. Další experimenty byly zaměřeny na stanovení ideální hodnoty činitele (t) standardní odchylky. Nejlepší výsledky byly dosaženy s hodnotou t = 0,7. S tímto bylo zafixováno FRR na 0 % a bylo dosaženo FAR 4,9 %. Po odstranění pěti nejhorších uživatelů, kteří měli nekonzistentní styl psaní, bylo dosaženo FAR 1,7 %. V návrzích k dalším pracím uvádějí autoři možnost kombinace různých metrik jako například di-grafů a tri-grafů. Nisenson a kolektiv V textu [15] je popsáno použití algoritmu LZ78, který byl původně navrhnut ke kompresi dat. Ten autoři upravili pro verifikaci pisatele na základě dynamiky stisku kláves při psaní volného textu. Jejich datový soubor tvořily záznamy od pěti uživatelů a 30 útočníků. Texty uživatelů byly obecně delší než útočníků a byly to otevřené odpovědi na otázky typu Jak ses dneska měl? a přepis statického textu. Průměrná délka uživatelova snímaného textu byla 2556 stisků kláves a útočníkova 660 stisků kláves. Je třeba zdůraznit, že všechna data každého uživatele byla získána z jediného sezení. Časové prodlevy mezi stisky či uvolněními kláves byly kvantovány pomocí shlukování za účelem dosažení diskretizace a omezení možností hodnot proudu událostí. Tento proud událostí je definován ve tvaru u 1, δ 1, u 2, δ 2,, u n, δ n, kde u i je stisknutí nebo uvolnění klávesy a δ i je kvantizovaná časová prodleva mezi následujícími událostmi. u 1 i δ 1 můžeme považovat za symboly předané klasifikátoru založeném na LZ78, který pomocí tohoto proudu dat vytvoří váhovaný strom a takto je klasifikátor natrénován. Klasifikátor je poté podle předloženého nového symbolu a kontextu, kde se symbol objevil, schopen předpovědět pravděpodobnost výskytu tohoto symbolu. Pomocí předpovědi jednoho symbolu lze samozřejmě předpovědět i celý vzorek. Autoři dosáhli s tímto klasifikátorem při verifikaci FRR 5,25 % a FAR 1,13 %. Gunetti a kolektiv V práci [16] autoři představují nový přístup využívající délky trvání n-grafů pro autentizaci osob na základě psaní stylu statického textu. Vzdálenost mezi vzorky je pouze počítána na základě relativních časových údajů. Díky tomuto přístupu je uživatel rozpoznán i v případě, že se nachází v jiném psychologickém rozpoložení než byl při vytváření profilu. V navazující práci [8], zabývající se autentizací na základě dynamiky stisku kláves volného textu, autoři předchozí metriku značí jako R (relativní) a zavádějí další metriku A (absolutní). Tyto metriky lze navíc určit pro různé n-grafy (di-grafy, tri-grafy i tetra-grafy) a výsledky kombinovat. Autoři během šesti měsíců shromáždili datový soubor skládající se z 15 sezení od 40 jedinců a jednoho sezení od 165 osob. Jedinci s více sezeními jsou považováni za uživatele systému a osoby s jediným sezením za útočníky. Všechny vzorky byly napsány v italštině a žádné dvě sezení od jednoho uživatele nebyly napsány v týž den. Účastníci experimentu měli předstírat psaní emailu a psát libovolný text. Na tomto datovém souboru bylo za pomoci tohoto algoritmu dosaženo FRR 0,03 % a FAR 3,1 % při verifikaci. Detailnější popis této metody bude v následující části. Shimshon a kolektiv V práci [6] se autoři zaměřili na kontinuální verifikaci uživatele pomocí co nejmenšího vzorku. Předpokladem pro vytvoření uživatelského profilu je dostatečně dlouhý záznam 10

z uživatelského sezení a jakýkoliv pokus o zkrácení fáze vytváření profilu vede k nekorektnímu vyhodnocování v budoucnosti. Jejich metoda je rozdělena na dvě fáze natrénování a verifikaci. V trénovací části je postaven verifikační model obsahující vícetřídní klasifikátor a mapovací funkci na základě všech jeho sezení. Jak klasifikátor tak mapovací funkce jsou pro každého uživatele unikátní. Doby trvání stejných n-grafů získaných z trénovacích sezení jsou průměrovány a tak je vytvořen vždy jeden reprezentující profilový n-graf. Tyto hodnoty jsou následně shlukovány na podobné n-grafy. Výstupem shlukování je mapovací funkce mapující n-graf obsažený v profilu na konkrétní shluk. Poté je natrénován klasifikátor na základě vektorů příznaků získaných z trénovacích sezení uživatele. Ve verifikační fázi je z uživatelova sezení získán vektor příznaků pomocí mapovací funkce a ten předložen klasifikátoru k verifikaci. Výstupem klasifikátoru je vektor pravděpodobností (p a, p b,, p z ). Pravděpodobnost p n je pravděpodobností, že vzorek patří uživateli n. Pro úspěšnou verifikaci musí být sezení klasifikováno jako uživatelovo a navíc pravděpodobnost p n musí přesáhnout práh t. Autoři experimentují s vybudováním více klasifikátorů ze stejných uživatelských sezení, lišících se pouze v počtu shluků, na které je provedeno shlukování. Takovýto složený klasifikátor poté zprůměruje pravděpodobnosti dílčích klasifikátorů. K otestování tohoto algoritmu autoři využili část datového souboru od Gunettiho a kolektivu 3.4, která obsahovala 21 uživatelů a 165 útočníků, a dosáhli při použití složeného klasifikátoru FAR 3,47 % a FRR 0 % při použití textu o délce pouhých 250 úhozů. Při plné délce textu bylo samozřejmě dosaženo ještě lepších výsledků. 3.5 Metoda Gunettiho a Picardiové Tato část se hlouběji zabývá metodou autorů Gunettiho a Picardiové pro analýzu dynamického textu, představenou v pracích [16] a [8]. Autoři uvažují jako příznak pouze dobu trvání n-grafu (flight time), avšak na konci je uvedeno rozšíření, kde je tato metoda doplněna o příznak délky mezi stiskem a uvolněním jedné klávesy (dwell time) dle práce [7]. Jako modelový příklad, se kterým budeme pracovat v další části tohoto textu, uvažujme situaci, kdy byla napsána dvě slova vzdálenosti a události. Čísla před písmeny reprezentují čas, kdy byly příslušné klávesy stisknuty, v milisekundách: S1: 0 v 120 z 250 d 370 á 495 l 680 e 805 n 995 o 1045 s 1206 t 1267 i S2: 0 u 155 d 255 á 325 l 450 o 564 s 704 t 801 i Autoři představují dvě třídy měření, které se snaží zohlednit různé aspekty podobností a rozdílností při psaní R a A hodnoty. Na modelovém příkladě ukážeme jak je spočítat. R metrika V práci [16] byla představena R metrika, pomocí které je možno analyzovat statický text. Jde o relativní hodnotu podobnosti dvou napsaných vzorků. V navazující práci [8] autoři tuto myšlenku rozšířili a používají ji nejen pro analýzu statického textu, ale také pro analýzu textu volného. Při použití R metriky je respektován psychický i fyzický stav zkoumaného člověka. Hodnota R je svázána s mírou neuspořádanosti pole. 11

Míra neuspořádanosti Mějme dáno pole P o N prvcích. Míra neuspořádanosti (přeloženo z anglického degree of disorder nebo jen disorder) pole P vůči uspořádanému poli P může být spočítána jako součet vzdáleností mezi pozicí prvků v P a stejných prvků v P. Příklad Mějme například pole P = [2, 5, 3, 4, 1], přičemž míra jeho neuspořádanosti vůči uspořádanému poli P = [1, 2, 3, 4, 5] je 1 + 3 + 0 + 0 + 4 = 8. Pokud je pole P seřazené, má míru neuspořádanosti rovnou nule. Naopak maximální míra neuspořádanosti pole P nastane, jestliže budou jednotlivé prvky seřazené v opačném P 2 pořadí. Maximální míru neuspořádanosti pole P lze spočítat jako 2, pokud bude P sudé, a P 2 1 2 pro P liché. Z praktických důvodů je vhodné pracovat s normalizovanou mírou neuspořádanosti. Tu lze spočítat podělením míry neuspořádanosti maximální hodnotou míry neuspořádanosti pro pole o stejném počtu prvků. Tato hodnota je z intervalu 0; 1. Díky tomu lze porovnávat míry neuspořádanosti polí s různými počty prvků. Příklad Normalizovaná míra neuspořádanosti pole P = [2, 5, 3, 4, 1] bude odpovídat 8 hodnotě = 0,666. 5 2 1 2 Uvažujme dva vzorky V 1 a V 2 pro dané n, reprezentované seřazenými poli dle délky jejich n-grafů, V 1 například jako referenční uspořádané pole reprezentující profil uživatele. Vzdálenost mezi těmito napsanými vzorky vzhledem k n-grafům, které sdílí, označíme jako R n (V 1, V 2 ). Tuto vzdálenost můžeme spočítat jako normalizovanou míru neuspořádanosti V 1 vůči V 2. Je zřejmé, že vzdálenost R n (V 1, V 2 ) = R n (V 2, V 1 ). Nelze předpokládat, že délka trvání n-grafu bude vždy konstantní. Variaci ovlivňuje jak stav pisatele tak kontext, ve kterém je n-graf napsán. Tento kontext lze obsáhnout kombinací různých n. Proto je pro určení vzdálenosti možné spočítat jak vzdálenost pro n = 2, tedy R 2 (V 1, V 2 ), tak pro n = 3 analogicky R 3 (V 1, V 2 ). Autoři v práci [8] kombinují tyto výsledky pomocí jednoduchého váhování. Pokud dva vzorky V 1 a V 2 sdílí N n-grafů a M m-grafů za podmínky, že platí N > M, lze kumulativní vzdálenost R n,m spočítat jako: R n,m (V 1, V 2 ) = R n (V 1, V 2 ) + R m (V 1, V 2 ) M/N (3.1) Obdobně kumulativní vzdálenost R n,m,p, pro kterou platí N > M a N > P, lze vyjádřit jako: R n,m,p (V 1, V 2 ) = R n (V 1, V 2 ) + R m (V 1, V 2 ) M/N + R p (V 1, V 2 ) P/N (3.2) kde P je počtem sdílených p-grafů mezi vzorky V 1 a V 2. Příklad K výpočtu vzdálenosti R 2 (S 1, S 2 ) musíme nejprve stanovit, které di-grafy sdílí S 1 a S 2, a poté spočítat tuto vzdálenost, jak je zobrazeno na obrázku 3.2: R 2 (S 1, S 2 ) = (2 + 1 + 1 + 0 + 0) 12 = 0,333 Obdobně můžeme vypočítat vzdálenost R 3 (S 1, S 2 ), jak je zobrazeno na obrázku 3.3. 12

Obrázek 3.2: Výpočet vzdáleností mezi slovy vzdálenosti a události za použití di-grafů. Zdroj: vlastní práce autora na základě [8] R 3 (S 1, S 2 ) = 1 + 1 + 0 8 = 0,5 Obrázek 3.3: Výpočet vzdáleností mezi slovy vzdálenosti a události za použití tri-grafů. Zdroj: vlastní práce autora na základě [8] Za povšimnutí stojí, že vzorky S 1 a S 2 sdílí i jeden tetra-graf. Protože je pouze jeden, nemá smysl počítat R hodnotu ta by vyšla vždy rovna nule. Výpočet R hodnoty má význam pouze pokud dva vzorky sdílí více než jeden n-graf. Kumulativní vzdálenost dle vztahu 3.1: R 2,3 = 0,333 + 0,5 3/5 = 0,633 Dle [7] je tato metoda váhování (vztahy 3.1, 3.2) korektní pouze dokud se nesnažíme používat metriky A a R s různými kombinacemi n. V takovém případě je vhodnější použít vztahy: R n,m (V 1, V 2 ) = R n(v 1, V 2 ) N + R m (V 1, V 2 ) (3.3) N + M R n,m,p (V 1, V 2 ) = R n(v 1, V 2 ) N + R m (V 1, V 2 ) M + R p (V 1, V 2 ) P N + M + P které jsou navíc normalizované. (3.4) 13

A metrika Přestože při použití samotné R metriky lze dosáhnout dobrých výsledků, je nutné si uvědomit jisté nedostatky. Uvažujme vzorek V 1 s di-grafy a vzorek V 2 s di-grafy, přičemž délka trvání každého z nich je dvojnásobná vůči odpovídajícím ve vzorku V 1. Poté je vzdálenost R 2 (V 1, V 2 ) = 0, a proto je třeba zavést další metriku, zohledňující absolutní hodnoty délek trvání n-grafů. O n-grafech G 1 a G 2 s jejich dobami trvání d g1 a d g2 při stejném n prohlásíme, že jsou si podobné, pokud splňují podmínku: 1 < max(d g 1, d g2 ) min(d g1, d g2 ) t (3.5) kde pro konstantu t platí t > 1. Vzdálenost A vzorků V 1 a V 2 vůči n-grafům, které mají společné, a konstantě t definujeme jako: A t n(v 1, V 2 ) = 1 P t (V 1, V 2 ) S(V 1, V 2 ) (3.6) kde P t (V 1, V 2 ) je počtem podobných n-grafů mezi V 1 a V 2. S(V 1, V 2 ) je oproti tomu počtem všech n-grafů, které vzorky V 1 a V 2 sdílí. Je zřejmé, že A t n může nabývat hodnoty z intervalu 0; 1. Autoři neuvažují směrodatnou odchylku a odůvodňují to získanou možností spočítat A hodnoty i pro n-grafy, které jsou ve vzorcích obsaženy pouze jednou. Zásadní pro vztah 3.6 je volba vhodné hodnoty t jako hranice pro určení podobnosti dvou n-grafů, autoři po několika experimentech doporučují pracovat s hodnotou t = 1,25. Příklad Pro vzorky S 1 a S 2 můžeme spočítat hodnotu A 1,25 2 jako: S1 S2 120 dá 100 120/100 = 1,20 podobné 125 ál 70 125/70 = 1,78 150 os 114 150/114 = 1,31 161 st 140 161/140 = 1,15 podobné 61 ti 97 97/61 = 1,59 A 1,25 2 = 1 2 5 = 0,6. Podobným způsobem můžeme vypočítat A1,25 3 a na rozdíl od R hodnoty i A 1,25 4. Kumulativní vzdálenosti A mezi vzorky V 1 a V 2 definujeme stejným způsobem jako u R hodnoty. Vyhodnocení metody Autoři v [8] ukazují rozdílné přístupy ke klasifikaci, verifikaci a identifikaci jedince. Klasifikace Uvažujme množinu uživatelů systému U, dva vzorky V 1 a V 2 spolu s vzdálenostmi mezi těmito vzorky d(v 1, V 2 ), pro kterou platí, že d(v 1, V 2 ) 0. Pokud se snažíme klasifikovat vzorek X a uživatel A (A U) poskytl vzorky A 1, A 2, A 3,, A n, můžeme 14

Tabulka 3.1: Výsledky klasifikace dle metody od autorů Gunettiho a Picardiové, celkem 600 pokusů o klasifikaci. Zdroj: [8] Použití R vzdálenosti Použití A vzdálenosti Měřená vzdál. R 2 R 3 R 2,3 R 2,4 R 2,3,4 A 2 A 3 A 2,3 A 2,4 A 2,3,4 Počet chyb 13 44 5 9 9 44 84 41 39 41 Chybovost [%] 2,16 7,33 0,83 1,5 1,5 7,33 14,0 6,83 6,5 6,83 Použití kombinací R a A vzdáleností Měřená vzdál. R 2 + A 2,3 R 2,3 + A 2 R 2,3 + A 2,3 R 2,3,4 + A 2 R 2,3,4 + A 2,3 Počet chyb 4 2 4 2 1 Chybovost [%] 0,66 0,33 0,66 0,33 0,16 průměrnou vzdálenost (označovanou jako md z anglického mean distance) těchto vzorků vůči vzorku X spočítat jako: md(a, X) = 1 n n d(a i, X) Tuto vzdálenost vypočteme pro všechny uživatele v systému a uživatel s nejmenší vzdáleností md je prohlášen za autora vzorku X. Nejlepší výsledky aplikace různých vzdáleností použitých ke klasifikaci je znázorněna v tabulce 3.1. Verifikace Mějme jedince, který o sobě tvrdí, že je uživatelem A, a poskytl vzorek X. Pro úspěšnou verifikaci musí být splněny tyto podmínky: i=1 1. vzorek X je klasifikován jako vzorek uživatele A, 2. vzorek X je dostatečně podobný vzorkům profilu uživatele A. Abychom mohli určit, který vzorek je dostatečně podobný, definujme střední vzdálenost vzorků profilu A 1, A 2, A 3,, A n uživatele A jako m(a) = n 1 1 n (n 1) n i=1 j=i+1 md(a i, A j ) Vzorek X je dostatečně podobný profilovým vzorkům uživatele A, pokud platí: md(a, X) < m(a) B U {A} : md(a, X) m(a) < md(b, X) md(a, X) Obě tyto podmínky lze vyjádřit pomocí jediné: md(a, X) < m(a) + 0,5 (md(b, X) m(a)) Je vhodné poznamenat, že i při verifikaci, kdy uživatel tvrdí, že je uživatelem A, a snaží se toto tvrzení doložit vzorkem X, jsou využívány porovnání s profily jiných uživatelů. Takovýto systém je tedy bezpečnější s narůstajícím počtem uživatelů, avšak při jejich nižším počtu nedosahuje tak dobrých výsledků. Nejlepší či nejzajímavější výsledky různých aplikovaných vzdáleností použitých k verifikaci jsou znázorněny v tabulce 3.2. 15

Tabulka 3.2: Výsledky verifikace dle metody od autorů Gunettiho a Picardiové, celkem 450 600 pokusů o verifikaci, z toho 600 o oprávněnou. Zdroj: [8] Použití R vzdálenosti Použití A vzdálenosti Měřená vzdálenost R 2 R 2,3 R 2,4 R 2,3,4 A 2 A 2,3 A 2,4 A 2,3,4 Chybná přijetí 563 324 279 199 590 335 366 331 Chybná odmítnutí 50 32 41 41 92 80 84 79 FAR [%] 0,125 0,072 0,062 0,044 0,131 0,074 0,081 0,073 FRR [%] 8,333 5,333 6,833 6,833 15,33 13,33 14,0 13,16 Použití kombinací R a A vzdáleností Měřená vzdálenost R 2 + A 2 R 2,3 + A 2,3 R 2,3,4 + A 2 R 2,3,4 + A 2,3 Chybná přijetí 360 205 124 78 Chybná odmítnutí 36 24 19 23 FAR [%] 0,08 0,045 0,027 0,017 FRR [%] 6,0 4,0 3,166 3,83 Identifikace Verifikace popsaná v předchozí části se od identifikace liší jen v reformulaci a generalizaci pravidel. Vzorek X je identifikován jako vzorek autora A, jestliže platí následující podmínka: A U : B U {A} : md(a, X) < md(b, X) md(a, X) < m(a)+k (md(b, X) m(a)) kde k je konstanta, která byla ve verifikaci rovna 0,5. Pokud žádný uživatel A, který by tuto podmínku splňoval, neexistuje, je vzorek X prohlášen za neznámý. Identifikace a verifikace jsou v tomto případě zaměnitelné, a proto dosahují stejných výsledků, jaké jsou prezentovány v tabulce 3.2. Modifikace metody Autoři Gunetti a Picardiová se domnívají, že není potřeba využívat metriku spojenou s dwell time (časem mezi stiskem a uvolněním jedné klávesy). Ta je dle nich obsažena v di-grafech. Ve článku [10] se však na základě experimentu autor domnívá, že s použitím dwell time je systém silnější. To potvrzuje i práce [7], ve které autor implementoval metodu Gunettiho a Picardiové a rozšířil množinu používaných n-grafů o n = 1. Jde tedy o délku trvání mono-grafu dwell time. S tímto rozšířením bylo dosaženo lepších výsledků než bez něho. Je otázkou, nakolik ovlivňuje délku mezi stiskem a uvolněním klávesy použitá klávesnice. Autoři získávají své datové soubory, na kterých experimentují, převážně z webových formulářů lze tedy předpokládat, že každý účastník experimentu psal na své vlastní klávesnici. Bylo by zajímavé zjistit, zda je délka trvání mono-grafů závislá na použité klávesnici. 16

Kapitola 4 Návrh a implementace Před samotným návrhem aplikace, která byla nazvána SecBioard, je třeba rozšířit strohé zadání práce a definovat požadovanou funkcionalitu systému. Proto budou na úvod této kapitoly uvedeny mnou definované požadavky na systém. V další části bude představen výběr algoritmů pro řešení dílčích problémů a návrh architektury aplikace. Následuje výčet použitých technologií a kapitolu uzavírají důležité rysy implementace. 4.1 Požadavky na aplikaci Jak vyplývá ze zadání, aplikace má za úkol verifikovat uživatele podle dynamiky stisku kláves při použití běžné klávesnice bez dalšího speciálního vybavení. Před samotným navržením systému je třeba toto zadání rozšířit. Na aplikaci jsou tedy kladeny tyto nároky, které jsou sjednocením zadání a následujících úvah: 1. Aplikace bude průběžně verifikovat uživatele na základě dynamiky stisku kláves běžné klávesnice, 2. bude spustitelná pod operačním systémem GNU/Linux, 3. bude snímat stisky kláves celosystémově, nikoli rozlišovat mezi právě využívanými aplikacemi, 4. bude verifikovat pouze lokálně přihlášené uživatele, 5. umožní podporu fast user switching (uživatelé mohou přepínat mezi uživatelskými účty bez nutnosti ukončení aplikací a odhlášení se), 6. bude podporovat možnost zamknutí sezení v případě útoku. 7. Změny bude moci provádět pouze administrátor. 8. Změny týkající se uživatelova profilu bude moci provádět pouze uživatel sám po řádné autentizaci. 9. Aplikace bude sekundárně pracovat i jako keylogger (program pro zaznamenávání stisků kláves). 10. Uživatel si bude moci vybrat, zda tuto bezpečností aplikaci využije, avšak zaznamenávání kláves neovlivní. 11. Je kladen důraz na neinvazivnost programu i za cenu vyšší míry FAR. 17

4.2 Návrh aplikace Na základě požadavků na aplikaci bylo potřeba navrhnout systém. Mezi zásadní části návrhu patří výběr algoritmů. Algoritmus pro verifikaci na základě dynamiky stisku kláves Mezi nejdůležitější rozhodnutí patří zvolení algoritmu pro verifikaci na základě dynamiky stisku kláves. Ideální algoritmus pro naši aplikaci má co nejnižší úrovně FRR i FAR, není časově náročný při přidání nového uživatele do systému a jeho síla je nezávislá na počtu uživatelů v systému. Přestože výsledky metody Shimshona a kolektivu popsané v 3.4 jsou nejlepší, byla zvolena metoda Gunettiho a Picardiové 3.5 s rozšířením dwell time pro její originalitu v přístupu i ověřenost na více datových souborech [3, 8, 7], kde dosahuje vysoké úspěšnosti při rozpoznání jedince. Existence metriky R, zohledňující relativní rychlost psaní, je podle mne v celosystémové aplikaci verifikující uživatele pomocí dynamiky stisku kláves zcela zásadní. Navíc je časově i výpočetně nenáročná při přidávání nového uživatele. Nevýhodou je přímá úměra mezi počtem uživatelů v systému a silou systému a dokonce i složitostí vyhodnocení vzorku, zaviněná skutečností, že původní algoritmus využívá pro porovnání vzorku profily všech uživatelů. Tato technika se mi jevila jako nepřijatelná v obou extrémních případech. Pokud je v systému mnoho uživatelů, vyhodnocení vzorku by mohlo trvat velmi dlouhou dobu a tím zbytečně zatěžovat počítač. Naopak při opačném extrému jediného uživatele je celý algoritmus nepoužitelný. Bylo proto nutno celý algoritmus vyhodnocení modifikovat pro kontinuální verifikaci a pro libovolný počet uživatelů. Modifikace využívající při vyhodnocení pouze profil uživatele, jenž má být verifikován, bude popsána v následujících odstavcích. Věrohodnost uživatele (nakolik aplikace věří, že je u klávesnice právě přihlášený lokální uživatel) budeme označovat skóre. Skóre může nabývat hodnot z intervalu 0, 1, kde 1 značí naprostou jistotu, že jde o legitimního uživatele, zatímco 0 značí absolutní jistotu, že jde o útočníka. Po startu programu je skóre inicializováno na konstantu skore start. Výstupem porovnání vzorku s profilem uživatele je jedna hodnota a to číslo 1 2 (R m,n,p+a x,y,z ), určující věrohodnost jednoho vzorku. Tato hodnota je z intervalu 0, 1, protože R m,n,p i A x,y,z jsou z intervalu 0, 1. Hodnota výstupu porovnání je předána jako argument funkci w: w(x) = sgn(x) k x m (4.1) kde funkce sgn je signum reálného čísla, m (0, 1) je práh pro klasifikaci vzorku jako legitimního a k (0, 1 je koeficient určující váhu změny vůči skóre. Tuto hodnotu w(x) dále předáme jako argument rekurentní funkci s n+1 (w(x), s n ), pomocí které vypočteme novou hodnotu skóre: s n+1 (d, s n ) = { d (1 sn ), d 0 d s n, d < 0 (4.2) kde s n je minulá hodnota skóre. Tímto je zaručeno, že skóre bude vždy z intervalu 0, 1 a navíc přírůstky budou závislé na aktuálním skóre. Takto upravený algoritmus vyhodnocení je možno využít i při pouhém jednom uživateli. Výsledky systému, kde je aplikována tato modifikace, budou prezentovány dále. Autoři původní metody tvrdí [8, str. 317], že pokud se ve vzorku objeví dvakrát stejný n-graf, stačí jej reprezentovat jedním, jehož délka trvání bude průměrnou hodnotou všech 18

dílčích délek. Tento postup je podle mne korektní do chvíle, kdy se n-grafy vyskytují rovnoměrně. Pokud by však ve vzorku bylo například 100 výskytů n-grafu G 1 a pouze jeden výskyt n-grafu G 2, bude mít tento jediný n-graf G 2 po zprůměrování stejnou váhu jako 100 jiných, což může vést k nechtěným výsledkům. Proto budou v následující kapitole vyzkoušeny obě možnosti, jak s průměrováním, tak bez průměrování délek trvání n-grafů. Autoři pracují v kontextu A metriky s prahem t = 1,25 (ze vztahu 3.5), určujícím, zda jsou si dva n-grafy podobné. Datový soubor autorů byl získán při psaní emailů, kdy lze očekávat relativně konstantní rychlost psaní, kdežto v aplikaci, která je celosystémová a nerozlišuje mezi psaním dlouhých textů při psaní emailů a krátkým napsáním adresy internetové stránky v prohlížeči, je třeba být benevolentnější. Proto budou při testování uvažovány i jiné hodnoty. Průběžná verifikace Způsob vyhodnocování byl tedy vybrán, je však potřeba ještě definovat, jak bude prováděna průběžná verifikace. Pomocí sekvence stisknutí a uvolnění kláves je možné generovat n-grafy. Tyto n-grafy jsou průběžně generovány do vyrovnávací paměti s určitou kapacitou (označujme ji jako pamět pam s kapacitou kap). Pokud je tato kapacita kap dosažena, je sada n-grafů uložených ve vyrovnávací paměti vyhodnocena a následně tyto n-grafy z paměti odstraněny a naplňování probíhá znovu od začátku. Představme si však modelovou situaci, kdy uživatel píše na klávesnici a po skončení jeho práce je naplněna část paměti. Poté odejde od počítače a toho se zmocní útočník, který napíše pouze tolik textu, že doplní tuto pamět a je provedeno vyhodnocení. Výsledek vyhodnocení může být velmi různorodý a z hlediska korektnosti by neměl být do hodnocení zařazen. Tento problém byl vyřešen pomocí sledování nečinnosti na klávesnici. Pokud na klávesnici nebyla provedena žádná akce již T flush sekund, proběhne vyhodnocení paměti pam a její vyprázdnění ihned. Časová konstanta T flush reprezentuje časový interval mezi odchodem legitimního uživatele a příchodem a následnou prací útočníka. V různých použitích se může tato hodnota lišit, proto by měla být parametrizovatelná. Tato úprava sebou přinesla jisté úskalí. Může se stát, že bude vyhodnocen i pouhý jediný n-graf a vyhodnocení by mělo stejnou váhu jako vyhodnocení celé naplněné vyrovnávací paměti. To je nepřijatelné. Je tedy vypočítána hodnota w(x) pomocí vztahu 4.1 a tato hodnota je váhována w(x) pam kap, kde pam reprezentuje počet n-grafů ve vyrovnávací paměti a kap je kapacita této paměti. Většina zde prezentovaných metod zabývajících se dynamikou stisku kláves používá velmi nízké prahové hodnoty za účelem rozpoznání di-grafu, který je outlier (např. Downland a Furnell 750 ms), což by dovolovalo útočníkovi psát rychlostí 1 úhoz za sekundu a přitom mít jistotu neodhalení. Tato rychlost psaní se jeví jako příliš vysoká, a proto jsou k identifikaci outlierů využity hranice 40 ms a 5000 ms. Profil a síla profilu Profil tvoří množina n-grafů, pro n {1, 2, 3, 4}. V profilu se nemohou vyskytovat stejné n-grafy s různými délkami trvání, namísto toho jsou tyto stejné n-grafy reprezentovány jedním n-grafem společně s průměrnou délkou trvání, směrodatnou odchylkou a číslem určujícím kolik n-grafů je tímto jedním reprezentováno. Vytváření profilu je časově náročná činnost, a proto by bylo vhodné vědět, kdy již stačí vytváření zanechat. Proto je definována síla profilu, která může nabývat hodnot z intervalu 19