Tietoturvallisten verkkojen suunnittelu graafiteorian avulla

Graafiteoria tutkii graafien eli verkkojen ominaisuuksia. Graafit ovat erinomainen työkalu tietoliikenneverkkojen suunnitteluun, analysointiin ja optimointiin. Tietoliikenneverkossa on eriarvoisia komponentteja, jotka vaativat eri määrän tietoturvaa riippuen niiden luonteesta. Tietoturvaan sisältyvä...

Full description

Bibliographic Details
Main Author: Vallivaara, V. (Visa)
Format: Dissertation
Language:Finnish
Published: University of Oulu 2014
Subjects:
Online Access:http://urn.fi/URN:NBN:fi:oulu-201411121982
http://nbn-resolving.de/urn:nbn:fi:oulu-201411121982
Description
Summary:Graafiteoria tutkii graafien eli verkkojen ominaisuuksia. Graafit ovat erinomainen työkalu tietoliikenneverkkojen suunnitteluun, analysointiin ja optimointiin. Tietoliikenneverkossa on eriarvoisia komponentteja, jotka vaativat eri määrän tietoturvaa riippuen niiden luonteesta. Tietoturvaan 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. Tässä tutkielmassa luodaan graafeille algoritmi puut, jolla voidaan lisätä verkon tietoturvaa ja luotettavuutta. Graafi koostuu solmujoukosta ja viivajoukosta. Virittävä puu on aligraafi, joka on yhtenäinen ja piiritön sekä sisältää alkuperäisen graafin kaikki solmut. Graafin viivoille voi laittaa painoarvoja, jotka kuvaavat hintaa joka kuluu kyseisen viivan käyttämiseen. Kevein virittävä puu painotetulle graafille on sellainen, jonka viivojen painoarvojen summa on pienin mahdollinen. Keveimmän virittävän puun voi etsiä esimerkiksi Kruskalin tai Primin algoritmeilla. Tietoliikenneverkkoa voi mallintaa graafilla siten, että solmut ovat jotain verkon komponentteja kuten tietokone, tulostin tai tietokanta. 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. Ohjelmiston määrittelemä tietoliikenneverkko (Software-Defined Networking) on uudehko lähestymistapa tietoliikenneverkon suunnitteluun, luomiseen ja hallintaan. SDN-verkossa kaikki laitteet voivat olla suoraan yhteyksissä toisiinsa. Aikaisemman verkkoliikennedatan perusteella voidaan antaa viivoille reaalisen arvon nollasta yhteen, antaen sitä pienemmän mitä käytetympi yhteys. Lisäksi voidaan tärkeyden perusteella antaa solmuille kokonaislukuarvo esimerkiksi yhdestä viiteen, siten että pieni luku on arvokkaampi. Seuraavaksi jokaisen viivan painoarvoon voidaan lisätä sen päätesolmujen tärkeysarvojen erotus, jonka merkitystä voi säädellä turvakertoimella. Kun tämä painotettu graafi on luotu, voidaan siihen soveltaa puut algoritmia. Muodostetaan pienin virittävä puu ja sitten muodostetaan toinen pienin virittävä puu siten, että se on viivariippumaton ensimmäisen puun kanssa. Yhdistämällä nämä kaksi toisistaan riippumatonta puuta saadaan muodostetuttua verkko, jossa kaikkien solmujen aste on vähintään kaksi, eikä minkään yksittäisen viivan poistaminen katkaise verkkoa. Tämän tutkielman päätulos on uusi algoritmi puut, joka luo ohjelmiston määrittelemistä tietoliikenneverkoista tietoturvallisia ja luotettavia verkkoja, joissa haittaohjelmien eteneminen on hankalaa. Turvaluokitusten tuoma segmentointi suojaa kriittisiä osia verkon heikommin suojatummista osista leviämistä uhista. Haittaohjelmien leviäminen turva-asteikossa alaspäin vie aikaa ja uhkaan ehtii reagoida ennen kuin suuria tuhoja pääsee tapahtumaan. Algoritmi tuottaa täydellisistä graafeista 2-viivayhtenäisiä verkkoja yhdistämällä kaksi keskenään viivariippumatonta virittävää puuta. Ohjelmiston määrittelemä tietoliikenneverkkoa ajatellen 2-viivayhtenäisyys on erinomainen ominaisuus. Verkosta voi milloin tahansa poistaa halutun viivan eli ei halutun yhteyden kahden koneen välillä siten, että verkko pysyy yhtenäisenä. === Graph theory researches the properties of graphs and networks. Graphs are an excellent tool for designing, analysing and optimizing data networks. In data network there are unequal components, which need different amount of information security depending on their properties. Information security includes all measures which try to prevent destruction, manipulation or stealing of information. But at the same time the information must be available for those who have permission to access it. In this thesis we create an algorithm trees, which can increase security and reliability of the network. A graph consists of vertex set and edge set. Spanning tree is subgraph, which is acyclic, connected and includes all vertices of the original graph. Edges of a graph can have weights, which represents the cost of using the edge. Minimum spanning tree of a weighted graph is spanning tree with smallest weight. Minimum spanning tree can be found by for example with Kruskal’s or Prim’s algorithm. Computer network can be modelled with graph, where vertices are components of network such as computer, printer or database. With edges we can illustrate allowed connections between those components. Every vertex has importance value; the smaller value means that protection of the component is more important. Software-defined networking (SDN) is a quite new approach to designing, creating and controlling computer networks. In software-defined network all components can be directly connected. We can use network traffic data to give weights to edges of network from zero to one, so that lower value means more traffic. And the vertices can have integer values for example from one to five, so that a smaller number is more valuable. Next for every edge weight we can add the difference of their end vertices value, which significance can be modified by security factor. After we have created this weighted graph, we can use trees algorithm. We create a minimum spanning tree and next we create another spanning tree, which will be edgeindependent with the first one. By uniting these two independent trees we can build network, where the decree of every vertex is at least two, and the network cannot be made disconnected by removing any one edge. The main result of this thesis is new algorithm trees, which makes software defined networks more secure and reliable networks, where it is hard for malware to advance. Security levels make network segmented which protects critical parts from threats which could spread from less protected parts of the network. It takes time for malware to spread from higher levels to lower levels and it is easier to react to threat before any catastrophic happens. The algorithm, which this thesis represents, transfers full graphs to 2-edge-connected graphs by combining two independent spanning trees. For software designed network the 2-edge-connectness is excellent property. With this property it is possible to remove any connection between two computers so that the network remains still connected.