Tietoturvallisten verkkojen suunnittelu graateorian avulla

Samankaltaiset tiedostot
Esipuhe Tämä gradu on tehty Teknologian tutkimuskeskus VTT:llä tietoturvan tutkimustiimissä vuosien aikana. Opinnäytetyöni on osa Tekesin ja

Kysymys: Voidaanko graafi piirtää tasoon niin, että sen viivat eivät risteä muualla kuin pisteiden kohdalla?

10. Painotetut graafit

Graateorian maksimivirtausalgoritmi

Graafin 3-värittyvyyden tutkinta T Graafiteoria, projektityö (eksakti algoritmi), kevät 2005

Luentorunko Kevät Matti Peltola.

Algoritmi on periaatteellisella tasolla seuraava:

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa 2 : Kruskalin ja Dijkstran algoritmit

Graafin virittävä puu 1 / 20

10. Painotetut graafit

58131 Tietorakenteet ja algoritmit (syksy 2015) Toinen välikoe, malliratkaisut

0 v i v j / E, M ij = 1 v i v j E.

Hamiltonin sykleistä graateoriassa

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Roolit Verkostoissa: HITS. Idea.

Johdatus graafiteoriaan

Johdatus graafiteoriaan

Luku 7. Verkkoalgoritmit. 7.1 Määritelmiä

Joonas Haapala Ohjaaja: DI Heikki Puustinen Valvoja: Prof. Kai Virtanen

Malliratkaisut Demot

Harjoitus 3 ( )

Algoritmit 1. Luento 13 Ma Timo Männikkö

Eräs keskeinen algoritmien suunnittelutekniikka on. Palauta ongelma johonkin tunnettuun verkko-ongelmaan.

sitä vastaava Cliffordin algebran kannan alkio. Merkitään I = e 1 e 2 e n

Toshiba EasyGuard käytännössä: Portégé M300

Puiden karakterisointi

Vesivoimaketjun optimointi mehiläisalgoritmilla (Valmiin työn esittely)

8.5. Järjestyssuhteet 1 / 19

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

6.4. Järjestyssuhteet

Harjoitus 3 ( )

TKT20001 Tietorakenteet ja algoritmit Erilliskoe , malliratkaisut (Jyrki Kivinen)

A TIETORAKENTEET JA ALGORITMIT

58131 Tietorakenteet ja algoritmit (kevät 2014) Uusinta- ja erilliskoe, , vastauksia

V. V. Vazirani: Approximation Algorithms, luvut 3-4 Matti Kääriäinen

Algoritmit 1. Luento 13 Ti Timo Männikkö

Lineaariset kongruenssiyhtälöryhmät

b) Olkoon G vähintään kaksi solmua sisältävä puu. Sallitaan verkon G olevan

Königsbergin sillat. Königsberg 1700-luvulla. Leonhard Euler ( )

TIETOTURVALLISUUDESTA

Kasvuyrityksen tuotekehitysportfolion optimointi (valmiin työn esittely)

Neuroverkkojen soveltaminen vakuutusdatojen luokitteluun

Johnson, A Theoretician's Guide to the Experimental Analysis of Algorithms.

Diofantoksen yhtälön ratkaisut

Pienin virittävä puu (minimum spanning tree)

Simulation model to compare opportunistic maintenance policies

F-SECURE SAFE. Toukokuu 2017

Verkkoalgoritmeja. Henry Niveri. hniveri(at)cc.hut.fi

Rekursiolause. Laskennan teorian opintopiiri. Sebastian Björkqvist. 23. helmikuuta Tiivistelmä

AVL-puut. eräs tapa tasapainottaa binäärihakupuu siten, että korkeus on O(log n) kun puussa on n avainta

811312A Tietorakenteet ja algoritmit V Verkkojen algoritmeja Osa1 : Leveys- ja syvyyshaku

v 8 v 9 v 5 C v 3 v 4

j(j 1) = n(n2 1) 3 + (k + 1)k = (k + 1)(k2 k + 3k) 3 = (k + 1)(k2 + 2k + 1 1)

Suomen rautatieverkoston robustisuus

Optimoinnin sovellukset

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe malliratkaisut ja arvosteluperusteet

58131 Tietorakenteet ja algoritmit Uusinta- ja erilliskoe ratkaisuja (Jyrki Kivinen)

Itsestabilointi: perusmääritelmiä ja klassisia tuloksia

Kiinnostuspohjainen topologian hallinta järjestämättömissä vertaisverkoissa

811312A Tietorakenteet ja algoritmit Kertausta jälkiosasta

Tietoyhteiskunnan taudit ja rohdot 2000-luvulla Erkki Mustonen tietoturva-asiantuntija

805306A Johdatus monimuuttujamenetelmiin, 5 op

Graafit ja verkot. Joukko solmuja ja joukko järjestämättömiä solmupareja. eli haaroja. Joukko solmuja ja joukko järjestettyjä solmupareja eli kaaria

Algoritmit 2. Luento 11 Ti Timo Männikkö

Malliratkaisut Demot

Harjoitus 6 ( )

6. Approksimointialgoritmit

verkkojen G ja H välinen isomorfismi. Nyt kuvaus f on bijektio, joka säilyttää kyseisissä verkoissa esiintyvät särmät, joten pari

Algoritmit 2. Luento 13 Ti Timo Männikkö

Verkon värittämistä hajautetuilla algoritmeilla

13 Lyhimmät painotetut polut

Epätäydellisen preferenssi-informaation huomioon ottavien päätöksenteon tukimenetelmien vertailu (aihe-esittely)

Yhtenäisyydestä. Johdanto. Lähipisteavaruus. Tuomas Korppi

Latinalaiset neliöt ja taikaneliöt

GRAAFITEORIA. Keijo Ruohonen

Algoritmit 2. Luento 14 Ke Timo Männikkö

Department of Mathematics, Hypermedia Laboratory Tampere University of Technology. Arvostus Verkostoissa: PageRank. Idea.

Dihedraalinen ryhmä Pro gradu Elisa Sonntag Matemaattisten tieteiden laitos Oulun yliopisto 2013

Skedulointi, kuormituksen tasaus, robotin navigaatio

Total Network Inventory 4. Esite

Ohjelmien automaattisen verifioinnin reunamailla

Internet ja tietoverkot

Totaalisesti unimodulaariset matriisit voidaan osoittaa olevan rakennettavissa oleellisesti verkkomalleihin liittyvistä matriiseista

The spectroscopic imaging of skin disorders

Puumenetelmät. Topi Sikanen. S ysteemianalyysin. Laboratorio Aalto-yliopiston teknillinen korkeakoulu

MARA-ALAN LIIKETOIMINNAN TIETOTURVALLISUUSUHAT

Johdatus graafiteoriaan

Minimilatenssiongelman ratkaisualgoritmeja (valmiin työn esittely)

Ohjelmiston toteutussuunnitelma

Algoritmit 2. Luento 13 Ti Timo Männikkö

1 Kertaus. Lineaarinen optimointitehtävä on muotoa:

TUTKI OMAT TIETOTURVA-AUKKOSI. ENNEN KUIN JOKU MUU TEKEE SEN PUOLESTASI. F-Secure Radar Ville Korhonen

7.4. Eulerin graafit 1 / 22

Korkealujuusteräkset putkiristikoissa

Malliratkaisut Demot

Luku 8. Aluekyselyt. 8.1 Summataulukko

Lineaaristen monitavoiteoptimointitehtävien ratkaiseminen Bensonin algoritmilla

Tulevaisuuden Internet. Sasu Tarkoma

Tutkijan informaatiolukutaito

Liiketoimintaa ICT-osaamisesta vahvuuksilla eteenpäin. Jussi Paakkari, teknologiajohtaja, VTT, R&D, ICT

Algoritmit 2. Luento 10 To Timo Männikkö

Transkriptio:

ietoturvallisten verkkojen suunnittelu graateorian avulla FM-tutkielma Visa Vallivaara 1800283 Matemaattisten tieteiden laitos Oulun yliopisto Syksy 2014

Esipuhe ämä gradu on tehty eknologian tutkimuskeskus V:llä tietoturvan tutkimustiimissä vuosien 2013-2014 aikana. Opinnäytetyöni on osa ekesin ja Euroopan unionin rahoittamaa projektia SaSER, Safe and Secure European Routing. Projektin päätavoiteena on tutkia ja kehittää eurooppalaisten tietoverkkojen turvallisuutta, varmuutta ja luotettavuutta suojaamalla ne ulkoisia ja sisäisiä hyökkäyksiä vastaan. Projektia on tehty yhteistyössä saksalaisten ja ranskalaisten tutkijoiden sekä monien kansainvälisten yritysten kanssa. ämän gradun osalta haluan kiittää tiimikavereitani kaikesta avusta ja erityisesti crypto tohtoriamme Kimmo Halusta. Kiitokset myös työn ohjaajina toimineille lehtori Erkki Laitiselle ja tutkijatohtori Leena Pasaselle. Monia on myös kiitettävä kannustuksesta, jonka ansiosta sain tutkimukseni valmiiksi ajallaan. Oulussa 18.8.2014 Visa Vallivaara 1

Sisältö Johdanto 3 1 raaen teoriaa 4 1.1 raan ominaisuuksia...................... 4 1.2 Puugraa............................. 8 1.3 Painotettu graa......................... 10 2 Algoritmeja graafeille 11 2.1 Dijkstran algoritmi........................ 11 2.2 Kruskalin algoritmi........................ 12 2.3 Primin algoritmi......................... 14 3 ietoturvallinen tietoliikenneverkko 16 3.1 ietoliikenneverkon mallintaminen............... 16 3.2 raan yhtenäisyyden määritelmiä............... 18 4 Algoritmin analysointi 19 4.1 Pseudoalgoritmi.......................... 19 4.2 Puut algoritmi.......................... 21 4.3 ulosten analysointi....................... 22 5 Loppupäätelmät 24 Lähdeluettelo 25 2

Johdanto ietomurrot lisääntyvät nopealla vauhdilla johtuen uusista kehittyneemmistä hyökkäystekniikoista, joilla saa luvattoman yhteyden tietoverkkoon. Datavarkaudet ja hyökkäysyritykset ovat yleisiä ongelmia nykyajan organisaatiolla. ämä luo tarpeita erilaisten ratkaisujen löytämiseksi verkkojen tietoturvan ja luotettavuuden parantamiseksi. ietoliikenneverkossa on eriarvoisia komponentteja, jotka vaativat eri määrän tietoturvaa riippuen niiden luonteesta. Arvokkaimpia ovat yleensä tietokannat, joissa säilytetään luottamuksellista ja arvokasta informaatiota. Verkon arvokkaat osat halutaan suojata mahdollisimman hyvin ja eräs suojauskeino on sijoittaa ne verkon rakenteessa kaikkein suojaisimpaan kolkkaan, kauas Internetistä tulevista uhista. Vaikka jokin haittaohjelma saisikin osan verkon koneista saastutettua, voidaan silti välttyä katastrolta mikäli verkon topologia on estänyt haittaohjelmien leviämisen kriittisiin osiin. Esimerkiksi Filiol et al. (2007) ovat tutkineet tietokonematojen leviämistä tietoverkoissa ja havainneet, että reititys topologialla voi olla erittäin suuri vaikutus matojen leviämiseen [1]. Verkko ei kumminkaan saa olla liian putkimainen tai hajanainen sujuvan tiedonsiirron mahdollistamiseksi. ässä gradussa lähdetään ratkaisemaan näitä ongelmia graateorian avulla. raat ovat erinomainen työkalu tietoverkkojen mallintamiseen sekä optimointiin. raaen avulla pystytään tutkimaan ja analysoimaan verkkojen topologiaa ja niitä on käytetty paljon verkkojen optimointiin. Kuten Ahmat (2009) on tutkinut graateorian avulla isojen monimutkaisten verkkojen reitittämiseen ja tarkkailuun liittyviä optimointiongelmia ja on näyttänyt, että suurin osa näistä ongelmista on NP-täydellisiä tai NP-vaikeita [2]. Kun graalla kuvataan tietoverkkoa, niin jokainen graan solmu on jokin verkon komponentti, kuten tietokone. Viivoilla voimme merkitä sallittuja yhteyksiä verkon komponenttien välillä. Jokaisella solmulla on tärkeysarvo, eli mitä pienempi arvo solmulla on, sitä tärkeämpää sen suojaus on. Voimme antaa myös viivoille painoarvon, joka voi kertoa joko paljonko yhteyttä normaalisti käytetään tai sitten etäisyyden komponenttien välillä isossa verkossa. Käyttämällä näitä painoarvoja voimme muokata verkon topologian paremmaksi siten, että arvokkaat solmut ovat mahdollisimman suojassa ja vilkkaasti keskenään kommunikoivat koneet ovat lähellä toisiaan. ämän tutkielman ensimmäisessä kappaleessa käydään läpi graaen perusomaisuuksia ja määritelmiä. oisessa kappaleessa perehdytään algoritmeihin joita käytämme graaen optimoinnissa. Kolmannessa kappaleessa esitellään verkkojen tietoturva ominaisuuksia. Neljännessä kappaleessa sovelletaan algoritmeja verkkoihin ja analysoidaan tuloksia. Viimeisessä kappaleessa on yhteenveto tämän tutkielman tuloksista. 3

1736 E =(V,E ) V V E V ={A,B,C,D}E ={a,b,c,d,e,f,g} V =4 E =7 u v u v E V v uv uv v

v (v) v A B a A A (A)=5 1736 =(V,E ) H =(V H,E H ) H =(V V H,E E H ) =(V,E ) E (v) 2 E = v V (v) P(n):= n (v i )=2 E P(1) i=1 (V ) =2 E =1 P(k) E = k (V )=2k e H =(V,E e) e E H =k+1 (V H )=2k+2=2(k+1) P(k+1) V 1 V 2 =(V,E ) 2 E = v V (v)= v V 1 (v)+ v V 2 (v) 2 E

E = E H H = H V = V H a b W W :v 1 v 2 v k+1 V W :v 1 v k+1 W = k P P:v 1 v 2 v k+1 v 1 v 2 v k+1 v P v C C:v 1 v 2 v k v 1 v 2 v k 1 v 1 =v k P 1 P 2 W : A B D A C W =4 P 1 :C D B P 2 :C A B C:A B D C A P =4 u v u u v v v 0 v 1 v k v 0 =u v k =v k=1 v 0 v 1 v j k 2 v 0 v i v j v k v i =v j i j v i v u v u d(v,u)=min{k v u} d(v,u)=

d(v,u)< u v v u v,u V (A)=5 (B)=3 (C)=3 (D)=3 K n =(V K,E K ) V K = n n 1 n n 2 v (v)=

Kuva 2: ietoliikenneverkko joka muodostaa puugraan. 1.2 Puugraa Puut ovat yksinkertaisten graaen erikoistapauksia. Puun mallisilla graafeilla on hyviä käytännön sovelluksia niiden yksinkertaisemman rakenteen ansiosta, kuten organisaatiokaavioiden tarkastelu tai siirtoverkkojen minimointi. Ne ovat myös perusmalli erilaisille tietorakenteille. Esimerkiksi Kuvassa 2 on tietoliikenneverkko, jolla on puurakenne. Määritelmä 1.17. Puu = (V, E ) on yhtenäinen piiritön graa. Määritelmä 1.18. Puussa olevaa solmua, jonka aste on yksi, kutsutaan lehdeksi. Määritelmä 1.19. raa H = (V H, E H ) on graan = (V, E ) aligraa, jos V H V ja E H E. Voidaan merkitä H. Jos H ja V H = V niin tällöin graa H on graan virittävä aligraa. Lemma 1.20. Jokainen puun aligraafeista on myös puu. odistus. ehdään vastaoletus: puun aligraa ei ole puu, eli siinä on oltava piiri. Mutta jos aligraassa on piiri, on sen oltava myös alkuperäisessä graassa. ästä seuraa ristiriita, koska alkuperäinen graa on puu jossa ei ole piirejä. 8

n n 1 1 } P(n)={ n n P(1) P(k) v v k P(k+1) v k 1

E R + α =(V,E,α) α: P:v 1 v 2 v k+1 α(p)= k α(v i v i+1 ) i=1 d(v,u)=min{α(p) P:v u} v u α

α s v s V s S S u s O( E + V 2 ) O( E + V log V ) s Min(V ) v V α(sv) v ( α =(V,E ),s) v V d(s,v):= d(s,s):=0 S:= V v:=min(v ) V :=V {v} S:=S v u S d(s,u)>d(s,v)+α(vu) d(s,u):=d(s,v)+α(vu)

1956 O( E log V ) ( α =(V,E ) α := v V S(v):=v E α(e ) E < V 1 S(v) S(u) α = α (u,v) S=S(u) S(v) =(V,E ) E = V 1 V = E +1 S m E m V =V =(V,E ) α S m E P(m) ={ =(V,E ) α S m E S m E m } m =0 S 0 = E m = k P(k) =(V,E ) S k E e S k e E S k+1 =(S k {e}) E P(k+1) e/ E E {e} e (E S k+1 ) e e e e =(V,E ) E =(E {e }) {e} S k+1 E P(k+1)

α S n n 1 S V e=e S n 1 H1,H2,...,H10

1957 1958 1929 1956 α s Min(V ) v V α(uv) u v/ v e O( E + V log V )

( α =(V,E ),s) := v V d(,v):= d(,s):=0 V (v,e):=min(v ) :=(V {v},e {e}) V :=V {v} u V α(vu)<d(,u) d(,u):=α(vu) v =(V,E ) uv E i v/ V i 1,u V i 1 V = V E = V 1 α α =(V,E ) α = e k =vu v u e P (k 1) P e α(e ) α(e k ) e e k e e k e k

Kuva 6: Erilaisten tietoliikenneverkkojen topologia graafeja. 3 ietoturvallinen tietoliikenneverkko ietoturva on käsitteenä erittäin laaja. Siihen sisältyvät kaikki keinot, joilla pyritään estämään tiedon tuhoutuminen, muuttuminen tai päätyminen vääriin käsiin. Samalla kuitenkin tiedon täytyy olla niiden saatavilla, joilla on siihen oikeus. Luottamuksellista tietoa yritetään varastaa organisaatiolta käyttämällä erilaisia hyökkäystekniikoita kuten tietojenkalastelu, välistävetohyökkäys, troijalaiset ja muut haittaohjelmat. 3.1 ietoliikenneverkon mallintaminen Ohjelmiston määrittelemä tietoliikenneverkko, englanniksi Software-Dened Networking (SDN ), on uudehko lähestymistapa tietoliikenneverkon suunnitteluun, luomiseen ja hallintaan. Perusidea on se, että SDN erottaa toisistaan verkon hallinnan eli "aivot"ja pakettiliikenteen välitystason hallinnan eli "lihakset". ämä tarkoittaa sitä, että teoriassa kaikki verkon laitteet voivat olla suoraan yhteyksissä toisiinsa, kuten täydellisessä graassa. ämän tyyppistä verkkoa on helpompi optimoida ja sen rakennetta pystyy hetkessä muuttamaan, koska verkon fyysiset rakenteet eivät ole rajoitteena. ämän tutkielman laajuuteen ei kuuluu perehtyä tämän syvällisemmin SDN verkkoarkkitehtuurin teoriaan. ietoliikenneverkkoa voi mallintaa graalla, siten että solmut ovat jotain verkon komponentteja joilla on MAC osoite, kuten tietokone, tulostin tai tietokanta. Viivoilla voidaan merkitä sallittuja yhteyksiä verkon komponenttien 16

K n =(V,E) V K = n E K = n(n 1)/2

7 9 v 1927 λ() λ()=min{ F,F E F } λ()=k v,u V k v u v v v 1 v 2 v 1 v 2 v v v 1 v 2

K 10 α =(V,E ) V =n E =m c Z +

V =(v i,c i ) i=1,...,n p [0,1] E =(e j,p j ) j=1,...,m s R + s=c 1 s>c 1 ( α =(V =(v,c),e =(e,p),s) v i v j E α(v i v j )=p ij + k i k j /s 1 = ( α ) E =E E 1 2 = ( α ) H = 1 2 H s <c 1

C s H = (,C,s,method) n= (C,1); j=2:n i=1:(j 1) (j,i)=(j,i)+abs(c(i,1) C(j,1)/s; = (); i=1:n (i)= ( a +i 1) 2 (C(i,1)]); = (,,method); = H = (,,method)+; (H 100)/100 =tril(rand(n,n), 1) C=randi(c,n,1) n c 10 [0,1] s=4

26 7 1 26 1 s=6 2000 H H λ(h) =2 2

Kuva 11: Muuten sama verkko kuin Kuvassa 10, paitsi turvakerroin on 6. lyy, jolloin verkon muokkausta voi tarvittaessa jatkaa viiva kerrallaan. ai voimme nostaa poistetun viivan painoarvoa ja muodostaa uuden verkon alkuperäisellä algoritmilla, jolloin kyseinen yhteys jää pois. Lisäksi testauksissa havaittiin, että saadut verkot ovat usein myös separoitumattomia. Jolloin graasta voisi poistaa myös minkä tahansa solmun siten että graa pysyy yhtenäisenä. Mutta graain voi syntyä irrotuspiste, jos graa on suuri ja turvakerroin on valittu siten että se painottaa tietoturvaominaisuuksia, kuten Kuvassa 10. Vaihtelemalla turvakerrointa sekä tietoturvaluokkien määriä voi generoida useita erilaisia verkkoja ja valita niistä separoitumattoman tai vähiten irtopisteitä sisältävän. Jos graa on 2-viivayhtenäinen mutta ei separoitumaton, voidaan siitä poistaa saastunut solmu v kutistamalla se sellaisen viereisen solmun u kanssa, jolla on sitä lähinnä oleva turvaluokitus. Kutistus voidaan tehdä siten että kaikki solmuun v kytköksissä olevat viivat yhdistetään solmuun u yksi viiva kerrallaan, jolloin verkko pysyy jatkuvasti yhtenäisenä. ämän jälkeen voi tarvittaessa laskea puut algoritmilla uuden verkon ilman saastunutta solmua, ja lisätä siihen kuuluvat viivat verkkoon ja poistaa vanhat viivat. 23

2 2

Lähdeluettelo [1] É. Filiol, E. Franc, A. ubbioli, B. Moquet and. Roblot: Combinatorial optimisation of worm propagation on an unknown network. Engineering and echnology, World Academy of Science, 2007. [2] K. Ahmat: raph heory and Optimization Problems for Very Large Networks. City University of New York, United States, 2009. [3] R.R. Kadesch: Problem Solving Across the Disciplines. Prentice Hall, United States, 1997. [4] K. Rosen: Discrete mathematics and its applications. Pages 429-607. New York : Mcraw-Hill, 1995. [5] E.W. Dijkstra: A note on two problems in connexion with graphs. Pages 269271. Numerische Mathematik 1, 1959. [6] M.L. Fredman and R. arjan: Fibonacci heaps and their uses in improved network optimization algorithms. Pages 338346. Annual Symposium on Foundations of Computer Science 25, 1984 [7] J.B. Kruskal: On the Shortest Spanning Subtree of a raph and the raveling Salesman Problem. Pages 48-50. Proceedings of the American Mathematical Society 7, 1956. [8] R. Prim: Shortest Connection Networks and Some eneralizations. pages 1389-1401. Bell System echnical Journal 36, 1957. [9] E. Weisstein: Vertex Contraction. A Wolfram Web Resource, http://mathworld.wolfram.com/vertexcontraction.html, 2014. [10] R. Diestel: raph heory. hird edition. Berlin : Springer, 2005 [11] W-K. Chen: heory of Nets: Flows in Networks. New York : John Wiley & Sons, 1990. 25