Hyppää sisältöön
    • Suomeksi
    • In English
Trepo
  • Suomeksi
  • In English
  • Kirjaudu
Näytä viite 
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
  •   Etusivu
  • Trepo
  • Opinnäytteet - ylempi korkeakoulututkinto
  • Näytä viite
JavaScript is disabled for your browser. Some features of this site may not work without it.

Network API Security Testing in Modern Embedded Systems

Ingman, Alex (2025)

 
Avaa tiedosto
IngmanAlex.pdf (4.090Mt)
Lataukset: 



Ingman, Alex
2025

Tietotekniikan DI-ohjelma - Master's Programme in Information Technology
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. You may download, display and print it for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2025-06-30
Näytä kaikki kuvailutiedot
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202506297456
Tiivistelmä
The growing interconnectivity of embedded systems has significantly increased their exposure to cyber threats. These systems, which are often deployed in critical environments such as telecommunications, industrial automation, and defence, commonly use modern API technologies, such as REST, WebSocket, and QUIC, for communication, data exchange, and remote management. As these APIs provide external access points into the system, their security becomes a top priority during development and deployment. This thesis focuses on practical methods for security testing of such APIs in embedded systems.

The study begins by examining the unique characteristics of embedded systems that differentiate them from traditional IT environments. These include limited hardware resources, custom protocol implementations, and real-time constraints, all of which can make conventional testing tools less effective. To address these challenges, the research evaluates several testing techniques suitable for embedded use cases, including fuzz testing, vulnerability scanning, and penetration testing. Special attention is given to the use of mutual TLS authentication and its role in securing API communications.

A key objective of this thesis is to explore how security testing can be automated and integrated into the software development process. The implementation combines open-source tools, such as Boofuzz, SSLyze, Scapy, and Robot Framework, to conduct protocol-aware testing that is both repeatable and efficient. The test system used in this research is based on a Yocto Linux distribution running on an SoC-FPGA platform, providing a realistic embedded environment for experimentation. Security testing was applied to APIs using TLS-secured REST and WebSocket interfaces, a QUIC-based data stream, and an SSH service intended for remote access.

The testing methods were evaluated for their effectiveness in identifying potential vulnerabilities and misconfigurations. Results indicate that automated testing can reliably uncover many classes of common issues, while some complex or logic-based vulnerabilities still require manual investigation. Furthermore, the work demonstrates how these testing tools can be integrated into continuous development workflows, helping to detect issues earlier in the product lifecycle.

This thesis provides actionable insights for developers and engineers working with networked embedded systems. It emphasizes the importance of a balanced approach that combines automation with selective manual testing, tailored to the technical and operational constraints typical of embedded platforms. By addressing both the technical and organizational aspects of embedded API security, the work contributes toward building more secure and robust embedded devices.
 
Sulautettujen järjestelmien lisääntyvä verkottuminen on lisännyt niiden haavoittuvuutta tietoturvauhkia vastaan. Näitä järjestelmiä käytetään usein kriittisissä ympäristöissä, kuten tietoliikenteessä, teollisuusautomaation sovelluksissa ja puolustusteknologiassa. Niissä hyödynnetään moderneja ohjelmointirajapintoja, kuten REST, WebSocket ja QUIC, laitteen hallintaan, tiedonsiirtoon ja pilvipalveluihin yhdistämiseen. Koska nämä rajapinnat tarjoavat ulkoisia yhteyspisteitä järjestelmään, niiden tietoturva nousee keskeiseksi kehitysvaiheessa. Tämä opinnäytetyö keskittyy käytännön menetelmiin sulautettujen järjestelmien API-rajapintojen tietoturvatestauksessa.

Työssä tarkastellaan aluksi sulautettujen järjestelmien erityispiirteitä, jotka erottavat ne perinteisestä IT-ympäristöstä. Näitä ovat esimerkiksi rajalliset resurssit, mukautetut protokollatoteutukset ja reaaliaikavaatimukset, jotka tekevät perinteisten tietoturvatyökalujen soveltamisesta haastavaa. Näihin haasteisiin vastaamiseksi työssä arvioidaan erilaisia testausmenetelmiä, kuten fuzz-testausta, haavoittuvuusskannauksia ja tunkeutumistestauksia. Erityishuomio kohdistetaan myös mTLS-todennukseen ja sen merkitykseen rajapintojen suojaamisessa.

Työn keskeinen tavoite on selvittää, kuinka tietoturvatestausta voidaan automatisoida ja ottaa osaksi ohjelmistokehitysprosessia. Käytännön toteutuksessa yhdistetään avoimen lähdekoodin työkaluja, kuten Boofuzz, SSLyze, Scapy ja Robot Framework, testauksen suorittamiseen tavalla, joka ottaa huomioon rajapintojen erityispiirteet ja on helposti toistettavissa. Testausta varten käytetty sulautettu järjestelmä perustuu Yocto Linux jakeluun ja SoC-FPGA-alustaan, tarjoten realistisen testausympäristön. Tietoturvatestausta sovellettiin TLS-suojattuihin REST- ja WebSocket rajapintoihin, QUIC-protokollaan perustuvaan tiedonsiirtoon ja SSH-etäyhteyksiin.

Menetelmien tehokkuutta arvioitiin haavoittuvuuksien ja virheellisten kokoonpanojen tunnistamisessa. Tulokset osoittavat, että automaattinen testaus paljastaa luotettavasti yleisimmät ongelmatyypit, mutta tietyt monimutkaisemmat tai loogiset virheet edellyttävät edelleen manuaalista testausta. Lisäksi työssä esitetään, miten valitut testausratkaisut voidaan liittää jatkuvaan kehitysprosessiin, jotta tietoturvaongelmat voidaan tunnistaa jo varhaisessa vaiheessa.

Työ tarjoaa käytännönläheisiä näkemyksiä kehittäjille ja tietoturva-asiantuntijoille, jotka työskentelevät verkottuneiden sulautettujen järjestelmien parissa. Se korostaa tasapainoisen lähestymistavan merkitystä, jossa automatisointia täydennetään valikoidulla manuaalisella testauksella. Näin voidaan vastata sulautettujen järjestelmien teknisiin ja toiminnallisiin erityisvaatimuksiin ja parantaa niiden turvallisuutta ja luotettavuutta merkittävästi.
 
Kokoelmat
  • Opinnäytteet - ylempi korkeakoulututkinto [41565]
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste
 

 

Selaa kokoelmaa

TekijätNimekkeetTiedekunta (2019 -)Tiedekunta (- 2018)Tutkinto-ohjelmat ja opintosuunnatAvainsanatJulkaisuajatKokoelmat

Omat tiedot

Kirjaudu sisäänRekisteröidy
Kalevantie 5
PL 617
33014 Tampereen yliopisto
oa[@]tuni.fi | Tietosuoja | Saavutettavuusseloste