Security Testing of WebSockets
Kuosmanen, Harri (2016)
Avaa tiedosto
Lataukset:
Kuosmanen, Harri
Jyväskylän ammattikorkeakoulu
2016
Creative Commons Attribution-NonCommercial 1.0 Suomi
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-2016060411877
https://urn.fi/URN:NBN:fi:amk-2016060411877
Tiivistelmä
WebSocketin tietoturvan nykytila ei ole poikkeus verratessa sitä tietoturvan tilaan muissa perinteisissä web-sovelluksissa. WebSocket toteutuksista on yleisesti havaittavissa haavoittuvuuksia, joita hyökkääjä kykenee potentiaalisesti hyväksikäyttämään.
Suojatakseen WebSocket-toteutuksen yleisesti olemassa olevilta haavoittuvuuksilta toteutuksen ylläpitäjän tulee ymmärtää, millaisia haavoittuvuuksia on olemassa, kuinka ne voidaan havaita, kuinka niitä vasten voidaan hyökätä ja kuinka niitä vastaan tulisi suojautua.
Useat WebSocket-toteutuksista löytyvät haavoittuvuudet voidaan yhdistää haavoittuvuuksiin, joita yleisesti havaitaan myös perinteisistä web-sovelluksista. On kuitenkin ymmärrettävä, että osa haavoittuvuuksista on hieman erilaisia johtuen WebSocket-protokollan toteutuksesta.
Yleisesti saatavilla olevat tietoturvatestaustyökalut eivät ole tarpeeksi kehittyneitä kokonaisvaltaiseen WebSocket-toteutuksen tietoturvatestaukseen, kun verrataan perinteiseen web-sovelluksen tietoturvatestaukseen. Täten tutkimuksen pääasiallisena tavoitteena olikin luoda oma työkalu testausta varten.
Työkalu toteutettiin siitä syystä, että olisi yksi työkalu, jolla kyettäisiin testaamaan kaikki yleisesti havaittavat haavoittuvuudet WebSocket-toteutuksista. Työkalun käyttö kuitenkin vaatii testaajalta osaamista WebSocket-toteutuksista ja perinteisestä web-sovellusten tietoturvatestaamisesta.
Tutkimustyö suoritettiin kehittämistutkimuksena käyttäen laadullisia tutkimusmenetelmiä.
Suojatakseen WebSocket-toteutuksen yleisesti olemassa olevilta haavoittuvuuksilta toteutuksen ylläpitäjän tulee ymmärtää, millaisia haavoittuvuuksia on olemassa, kuinka ne voidaan havaita, kuinka niitä vasten voidaan hyökätä ja kuinka niitä vastaan tulisi suojautua.
Useat WebSocket-toteutuksista löytyvät haavoittuvuudet voidaan yhdistää haavoittuvuuksiin, joita yleisesti havaitaan myös perinteisistä web-sovelluksista. On kuitenkin ymmärrettävä, että osa haavoittuvuuksista on hieman erilaisia johtuen WebSocket-protokollan toteutuksesta.
Yleisesti saatavilla olevat tietoturvatestaustyökalut eivät ole tarpeeksi kehittyneitä kokonaisvaltaiseen WebSocket-toteutuksen tietoturvatestaukseen, kun verrataan perinteiseen web-sovelluksen tietoturvatestaukseen. Täten tutkimuksen pääasiallisena tavoitteena olikin luoda oma työkalu testausta varten.
Työkalu toteutettiin siitä syystä, että olisi yksi työkalu, jolla kyettäisiin testaamaan kaikki yleisesti havaittavat haavoittuvuudet WebSocket-toteutuksista. Työkalun käyttö kuitenkin vaatii testaajalta osaamista WebSocket-toteutuksista ja perinteisestä web-sovellusten tietoturvatestaamisesta.
Tutkimustyö suoritettiin kehittämistutkimuksena käyttäen laadullisia tutkimusmenetelmiä.