MQTT-protokollan tietoturvallisuuden testaaminen

Tässä tutkielmassa tarkoituksena oli selvittää älykoti ja IoT-järjestelmissä yleisesti käytetyn MQTT-protokollan tietoturvallisuuden ominaisuuksia, protokollaan kohdistettavia hyökkäyksiä ja hyökkäyksien lievennyskeinoja. Teoriaosuudessa esitellään älykotien ja IoT-järjestelmien arkkitehtuuria, ylei...

Full description

Bibliographic Details
Main Author: Hakonen, Sami
Other Authors: Informaatioteknologian tiedekunta, Faculty of Information Technology, Informaatioteknologia, Information Technology, Jyväskylän yliopisto, University of Jyväskylä
Format: Master's thesis
Language:fin
Published: 2023
Subjects:
Online Access: https://jyx.jyu.fi/handle/123456789/86100
_version_ 1828193037594918912
author Hakonen, Sami
author2 Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_facet Hakonen, Sami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä Hakonen, Sami Informaatioteknologian tiedekunta Faculty of Information Technology Informaatioteknologia Information Technology Jyväskylän yliopisto University of Jyväskylä
author_sort Hakonen, Sami
datasource_str_mv jyx
description Tässä tutkielmassa tarkoituksena oli selvittää älykoti ja IoT-järjestelmissä yleisesti käytetyn MQTT-protokollan tietoturvallisuuden ominaisuuksia, protokollaan kohdistettavia hyökkäyksiä ja hyökkäyksien lievennyskeinoja. Teoriaosuudessa esitellään älykotien ja IoT-järjestelmien arkkitehtuuria, yleisesti tietoturvallisuutta sen testausta ja älykotien tietoturvallisuutta. Tämän jälkeen esitetään tarkemmin MQTT-protokollan ominaisuuksia yleisesti ottaen ja tietoturvanäkökulmasta, sekä protokollaan kohdistuvia hyökkäystapoja. Tutkielman empiirisessä vaiheessa toteutettiin erilaisia hyökkäystyyppejä protokollaa vastaan. Ensimmäisenä toteutettiin tiedonkeruu välittäjästä käyttäen Nmap-työkalua, testitapauksessa käyttäjän todennus ei ollut käytössä ja havaintona todettiin, että tämä ei tietoturvallisuuden näkökulmasta ole hyvä tapa vaan tiedon luottamuksellisuus, eheys ja saatavuus vaarantuvat. Toisena tapauksena välittäjälle asetettiin todennus ja käyttäjätunnus-salasana-pari hankittiin välittäjältä väsytyshyökkäyksellä Metasploit-työkalua käyttäen. Samaan lopputulokseen päästiin myös ilman väsytyshyökkäystä Wireshark-työkalulla välittäjän ja asiakkaan välistä liikennettä salakuuntelemalla. Viimeisenä tapauksena toteutettiin erityyppisiä palvelunestohyökkäyksiä MQTTSA-ohjelmaa käyttäen. Testissä käytetyistä palvelunestohyökkäyksistä hyötykuormaa pikkuhiljaa kasvattava hyökkäys oli tehokkain estämään järjestelmän toiminnan täysin. Lopuksi testiympäristöön lisättiin päästä päähän TLS-salaus ja yritettiin toistaa hyökkäystapaukset. Hyökkäyksiä ei pystytty toteuttamaan, kun salaus oli käytössä. Jos hyökkääjällä olisi kuitenkin mahdollisuus vaikkapa fyysiseltä laitteelta saada salaukseen käytetty varmenne käyttöönsä, hyökkäykset olisivat mahdollisia. Keskeisinä löydöksinä oli, ettei MQTT-protokolla sisällä kovinkaan vahvoja ominaisuuksia hyökkäyksiä vastaan vaan sitä käyttävän järjestelmän tietoturvallisuuden koventamiseksi olisi hyvä käyttää tietoliikenteen salausta. The purpose of this thesis was to investigate the security features of the MQTT protocol commonly used in smart homes and IoT systems, attacks targeting the protocol, and mitigation methods. The theoretical part introduces the architecture of smart homes and IoT systems, general cybersecurity and its testing, and the cybersecurity of smart homes. This is followed by a detailed presentation of the features of the MQTT protocol in general and from a security perspective, as well as attacks targeting the protocol. In the empirical phase of the thesis, various attack types were implemented as test cases against the protocol. First, information was gathered from the broker using the Nmap tool, where user authentication was not enabled. It was observed that this is not a good security practice as it compromises the confidentiality, integrity, and availability of information. Second, authentication was enabled on the broker, and the username-password pair was obtained from the broker using a brute-force attack with the Metasploit tool. The same result was achieved without a brute-force attack by listening to the traffic between the broker and the client using the Wireshark tool. Finally, different types of denial-of-service attacks were implemented using the MQTTSA program. Of the denial-of-service attacks used in the test, the attack that gradually increases the payload was the most effective in completely preventing the system from functioning. Finally, end-to-end TLS encryption was added to the test environment, and the attack scenarios were attempted to be repeated. Attacks could not be executed when TLS encryption was in use. However, if the attacker were able to obtain the certific te used for encryption, for example, from a physical device, it would be possible to execute the attacks. The main finding was that the MQTT protocol does not have very strong features against attacks, and to enhance the cybersecurity of the system using the protocol, it is advisable to use traffic encryption.
first_indexed 2023-03-23T21:16:51Z
format Pro gradu
free_online_boolean 1
fullrecord [{"key": "dc.contributor.advisor", "value": "Honkanen, Risto T.", "language": "", "element": "contributor", "qualifier": "advisor", "schema": "dc"}, {"key": "dc.contributor.author", "value": "Hakonen, Sami", "language": "", "element": "contributor", "qualifier": "author", "schema": "dc"}, {"key": "dc.date.accessioned", "value": "2023-03-23T06:38:11Z", "language": null, "element": "date", "qualifier": "accessioned", "schema": "dc"}, {"key": "dc.date.available", "value": "2023-03-23T06:38:11Z", "language": null, "element": "date", "qualifier": "available", "schema": "dc"}, {"key": "dc.date.issued", "value": "2023", "language": "", "element": "date", "qualifier": "issued", "schema": "dc"}, {"key": "dc.identifier.uri", "value": "https://jyx.jyu.fi/handle/123456789/86100", "language": null, "element": "identifier", "qualifier": "uri", "schema": "dc"}, {"key": "dc.description.abstract", "value": "T\u00e4ss\u00e4 tutkielmassa tarkoituksena oli selvitt\u00e4\u00e4 \u00e4lykoti ja IoT-j\u00e4rjestelmiss\u00e4 yleisesti k\u00e4ytetyn MQTT-protokollan tietoturvallisuuden ominaisuuksia, protokollaan kohdistettavia hy\u00f6kk\u00e4yksi\u00e4 ja hy\u00f6kk\u00e4yksien lievennyskeinoja. Teoriaosuudessa esitell\u00e4\u00e4n \u00e4lykotien ja IoT-j\u00e4rjestelmien arkkitehtuuria, yleisesti tietoturvallisuutta sen testausta ja \u00e4lykotien tietoturvallisuutta. T\u00e4m\u00e4n j\u00e4lkeen esitet\u00e4\u00e4n tarkemmin MQTT-protokollan ominaisuuksia yleisesti ottaen ja tietoturvan\u00e4k\u00f6kulmasta, sek\u00e4 protokollaan kohdistuvia hy\u00f6kk\u00e4ystapoja.\nTutkielman empiirisess\u00e4 vaiheessa toteutettiin erilaisia hy\u00f6kk\u00e4ystyyppej\u00e4 protokollaa vastaan. Ensimm\u00e4isen\u00e4 toteutettiin tiedonkeruu v\u00e4litt\u00e4j\u00e4st\u00e4 k\u00e4ytt\u00e4en Nmap-ty\u00f6kalua, testitapauksessa k\u00e4ytt\u00e4j\u00e4n todennus ei ollut k\u00e4yt\u00f6ss\u00e4 ja havaintona todettiin, ett\u00e4 t\u00e4m\u00e4 ei tietoturvallisuuden n\u00e4k\u00f6kulmasta ole hyv\u00e4 tapa vaan tiedon luottamuksellisuus, eheys ja saatavuus vaarantuvat. Toisena tapauksena v\u00e4litt\u00e4j\u00e4lle asetettiin todennus ja k\u00e4ytt\u00e4j\u00e4tunnus-salasana-pari hankittiin v\u00e4litt\u00e4j\u00e4lt\u00e4 v\u00e4sytyshy\u00f6kk\u00e4yksell\u00e4 Metasploit-ty\u00f6kalua k\u00e4ytt\u00e4en. Samaan lopputulokseen p\u00e4\u00e4stiin my\u00f6s ilman v\u00e4sytyshy\u00f6kk\u00e4yst\u00e4 Wireshark-ty\u00f6kalulla v\u00e4litt\u00e4j\u00e4n ja asiakkaan v\u00e4list\u00e4 liikennett\u00e4 salakuuntelemalla. Viimeisen\u00e4 tapauksena toteutettiin erityyppisi\u00e4 palvelunestohy\u00f6kk\u00e4yksi\u00e4 MQTTSA-ohjelmaa k\u00e4ytt\u00e4en. Testiss\u00e4 k\u00e4ytetyist\u00e4 palvelunestohy\u00f6kk\u00e4yksist\u00e4 hy\u00f6tykuormaa pikkuhiljaa kasvattava hy\u00f6kk\u00e4ys oli tehokkain est\u00e4m\u00e4\u00e4n j\u00e4rjestelm\u00e4n toiminnan t\u00e4ysin.\nLopuksi testiymp\u00e4rist\u00f6\u00f6n lis\u00e4ttiin p\u00e4\u00e4st\u00e4 p\u00e4\u00e4h\u00e4n TLS-salaus ja yritettiin toistaa hy\u00f6kk\u00e4ystapaukset. Hy\u00f6kk\u00e4yksi\u00e4 ei pystytty toteuttamaan, kun salaus oli k\u00e4yt\u00f6ss\u00e4. Jos hy\u00f6kk\u00e4\u00e4j\u00e4ll\u00e4 olisi kuitenkin mahdollisuus vaikkapa fyysiselt\u00e4 laitteelta saada salaukseen k\u00e4ytetty varmenne k\u00e4ytt\u00f6\u00f6ns\u00e4, hy\u00f6kk\u00e4ykset olisivat mahdollisia.\nKeskeisin\u00e4 l\u00f6yd\u00f6ksin\u00e4 oli, ettei MQTT-protokolla sis\u00e4ll\u00e4 kovinkaan vahvoja ominaisuuksia hy\u00f6kk\u00e4yksi\u00e4 vastaan vaan sit\u00e4 k\u00e4ytt\u00e4v\u00e4n j\u00e4rjestelm\u00e4n tietoturvallisuuden koventamiseksi olisi hyv\u00e4 k\u00e4ytt\u00e4\u00e4 tietoliikenteen salausta.", "language": "fi", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.abstract", "value": "The purpose of this thesis was to investigate the security features of the MQTT protocol commonly used in smart homes and IoT systems, attacks targeting the protocol, and mitigation methods. The theoretical part introduces the architecture of smart homes and IoT systems, general cybersecurity and its testing, and the cybersecurity of smart homes. This is followed by a detailed presentation of the features of the MQTT protocol in general and from a security perspective, as well as attacks targeting the protocol. In the empirical phase of the thesis, various attack types were implemented as test cases against the protocol.\nFirst, information was gathered from the broker using the Nmap tool, where user authentication was not enabled. It was observed that this is not a good security practice as it compromises the confidentiality, integrity, and availability of information. Second, authentication was enabled on the broker, and the username-password pair was obtained from the broker using a brute-force attack with the Metasploit tool. The same result was achieved without a brute-force attack by listening to the traffic between the broker and the client using the Wireshark tool. Finally, different types of denial-of-service attacks were implemented using the MQTTSA program. Of the denial-of-service attacks used in the test, the attack that gradually increases the payload was the most effective in completely preventing the system from functioning.\nFinally, end-to-end TLS encryption was added to the test environment, and the attack scenarios were attempted to be repeated. Attacks could not be executed when TLS encryption was in use. However, if the attacker were able to obtain the certific te used for encryption, for example, from a physical device, it would be possible to execute the attacks. The main finding was that the MQTT protocol does not have very strong features against attacks, and to enhance the cybersecurity of the system using the protocol, it is advisable to use traffic encryption.", "language": "en", "element": "description", "qualifier": "abstract", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Submitted by Paivi Vuorio (paelvuor@jyu.fi) on 2023-03-23T06:38:11Z\nNo. of bitstreams: 0", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.description.provenance", "value": "Made available in DSpace on 2023-03-23T06:38:11Z (GMT). No. of bitstreams: 0\n Previous issue date: 2023", "language": "en", "element": "description", "qualifier": "provenance", "schema": "dc"}, {"key": "dc.format.extent", "value": "61", "language": "", "element": "format", "qualifier": "extent", "schema": "dc"}, {"key": "dc.format.mimetype", "value": "application/pdf", "language": null, "element": "format", "qualifier": "mimetype", "schema": "dc"}, {"key": "dc.language.iso", "value": "fin", "language": null, "element": "language", "qualifier": "iso", "schema": "dc"}, {"key": "dc.rights", "value": "In Copyright", "language": null, "element": "rights", "qualifier": null, "schema": "dc"}, {"key": "dc.title", "value": "MQTT-protokollan tietoturvallisuuden testaaminen", "language": "", "element": "title", "qualifier": null, "schema": "dc"}, {"key": "dc.type", "value": "master thesis", "language": null, "element": "type", "qualifier": null, "schema": "dc"}, {"key": "dc.identifier.urn", "value": "URN:NBN:fi:jyu-202303232249", "language": "", "element": "identifier", "qualifier": "urn", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Pro gradu -tutkielma", "language": "fi", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.type.ontasot", "value": "Master\u2019s thesis", "language": "en", "element": "type", "qualifier": "ontasot", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Informaatioteknologian tiedekunta", "language": "fi", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.faculty", "value": "Faculty of Information Technology", "language": "en", "element": "contributor", "qualifier": "faculty", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Informaatioteknologia", "language": "fi", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.department", "value": "Information Technology", "language": "en", "element": "contributor", "qualifier": "department", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "Jyv\u00e4skyl\u00e4n yliopisto", "language": "fi", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.contributor.organization", "value": "University of Jyv\u00e4skyl\u00e4", "language": "en", "element": "contributor", "qualifier": "organization", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Tietotekniikka", "language": "fi", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "dc.subject.discipline", "value": "Mathematical Information Technology", "language": "en", "element": "subject", "qualifier": "discipline", "schema": "dc"}, {"key": "yvv.contractresearch.funding", "value": "0", "language": "", "element": "contractresearch", "qualifier": "funding", "schema": "yvv"}, {"key": "dc.type.coar", "value": "http://purl.org/coar/resource_type/c_bdcc", "language": null, "element": "type", "qualifier": "coar", "schema": "dc"}, {"key": "dc.rights.copyright", "value": "\u00a9 The Author(s)", "language": null, "element": "rights", "qualifier": "copyright", "schema": "dc"}, {"key": "dc.rights.accesslevel", "value": "openAccess", "language": null, "element": "rights", "qualifier": "accesslevel", "schema": "dc"}, {"key": "dc.type.publication", "value": "masterThesis", "language": null, "element": "type", "qualifier": "publication", "schema": "dc"}, {"key": "dc.subject.oppiainekoodi", "value": "602", "language": "", "element": "subject", "qualifier": "oppiainekoodi", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietoturva", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietotekniikka", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "protokollat", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "tietoliikenne", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "salaus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "testaus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "kyberturvallisuus", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "esineiden internet", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.subject.yso", "value": "\u00e4lytalot", "language": null, "element": "subject", "qualifier": "yso", "schema": "dc"}, {"key": "dc.format.content", "value": "fulltext", "language": null, "element": "format", "qualifier": "content", "schema": "dc"}, {"key": "dc.rights.url", "value": "https://rightsstatements.org/page/InC/1.0/", "language": null, "element": "rights", "qualifier": "url", "schema": "dc"}, {"key": "dc.type.okm", "value": "G2", "language": null, "element": "type", "qualifier": "okm", "schema": "dc"}]
id jyx.123456789_86100
language fin
last_indexed 2025-03-31T20:01:28Z
main_date 2023-01-01T00:00:00Z
main_date_str 2023
online_boolean 1
online_urls_str_mv {"url":"https:\/\/jyx.jyu.fi\/bitstreams\/3c7b5cd1-1f79-41b7-8cdd-b55ad2492430\/download","text":"URN:NBN:fi:jyu-202303232249.pdf","source":"jyx","mediaType":"application\/pdf"}
publishDate 2023
record_format qdc
source_str_mv jyx
spellingShingle Hakonen, Sami MQTT-protokollan tietoturvallisuuden testaaminen Tietotekniikka Mathematical Information Technology 602 tietoturva tietotekniikka protokollat tietoliikenne salaus testaus kyberturvallisuus esineiden internet älytalot
title MQTT-protokollan tietoturvallisuuden testaaminen
title_full MQTT-protokollan tietoturvallisuuden testaaminen
title_fullStr MQTT-protokollan tietoturvallisuuden testaaminen MQTT-protokollan tietoturvallisuuden testaaminen
title_full_unstemmed MQTT-protokollan tietoturvallisuuden testaaminen MQTT-protokollan tietoturvallisuuden testaaminen
title_short MQTT-protokollan tietoturvallisuuden testaaminen
title_sort mqtt protokollan tietoturvallisuuden testaaminen
title_txtP MQTT-protokollan tietoturvallisuuden testaaminen
topic Tietotekniikka Mathematical Information Technology 602 tietoturva tietotekniikka protokollat tietoliikenne salaus testaus kyberturvallisuus esineiden internet älytalot
topic_facet 602 Mathematical Information Technology Tietotekniikka esineiden internet kyberturvallisuus protokollat salaus testaus tietoliikenne tietotekniikka tietoturva älytalot
url https://jyx.jyu.fi/handle/123456789/86100 http://www.urn.fi/URN:NBN:fi:jyu-202303232249
work_keys_str_mv AT hakonensami mqttprotokollantietoturvallisuudentestaaminen