Memory corruption in IoT: Extending PatrIoT to hunt memory corruption bugs
2024 (English)Independent thesis Advanced level (degree of Master (Two Years)), 20 credits / 30 HE credits
Student thesisAlternative title
Minneskorruption i IoT : Utveckla PatrIoT för att jaga minneskorruptionsbuggar (Swedish)
Abstract [en]
More and more IoT devices are getting connected to the internet with each year. Critical vulnerabilities in these devices can lead to loss of privacy as well as being used in mounting large scale attacks. Memory corruption vulnerabilities in particular are a major concern in IoT devices. Finding and fixing these vulnerabilities before they can be exploited by malicious actors is major challenge for cybersecurity. PatrIoT is a penetration testing methodology developed at KTH to enable penetration testers in the finding and exploitation of vulnerabilities in IoT devices. However, it does not contain guidance on finding and exploiting memory corruption. In this project, we performed vulnerability research on real-world IoT devices to observe generalizabilities that could be used in enabling penetration testers to find and exploit critical vulnerabilities. We found and exploited three hitherto unknown memory corruption vulnerabilities leading to arbitrary code execution in two different devices. The guidelines generated by the project will be integrated into PatrIoT such that they can be used by penetration testers to find and exploit memory corruption vulnerabilities in real-world IoT devices.
Abstract [sv]
Fler och fler IoT-enheter kopplas upp mot internet för varje år som följer. Kritiska sårbarheter i dessa enheter kan leda till integritetsförlust och användas för storskaliga attacker. Minneskorruptionssårbarheter är ett särskilt stort problem för IoT-enheter. Att upptäcka och fixa dessa sårbarheter innan de kan exploateras av hotaktörer är en stor utmaning för cybersäkerheten. PatrIoT är en penetrationstestningsmetodologi framtagen på KTH för att möjliggöra för penetrationstestare att hitta och exploatera sårbarheter i IoTenheter. Dock har inte PatrIoT några riktlinjer för att upptäcka och exploatera minneskorruption. I det här projektet har vi genomfört sårbarhetsforskning på verkliga IoT-enheter för att åskådliggöra generaliserbarheter som kan användas för att möjliggöra upptäckt och exploatering av kritiska minneskorruptionssårbarheter. Vi upptäckte och exploaterade tre hitintills okända minneskorruptionssårbarheter varav samtliga ledde till godtycklig kodexekvering i två olika enheter. Riktlinjerna som blev genererade under projektets gång skall integreras i PatrIoT så att de kan användas av penetrationstestare i upptäckt och exploatering av minneskorruptionssårbarheter i verkliga IoT-enheter.
Place, publisher, year, edition, pages
2024. , p. 117
Series
TRITA-EECS-EX ; 2024:210
Keywords [en]
IoT, Vulnerability research, Memory corruption, Arbitrary Code Execution (ACE), Real-Time Operating Systems (RTOS), PatrIoT, Cybersecurity
Keywords [sv]
IoT, Sårbarhetsforskning, Minneskorruption, Godtycklig kodexekvering, Realtidsoperativsystem, PatrIoT, Cybersäkerhet
National Category
Electrical Engineering, Electronic Engineering, Information Engineering
Identifiers
URN: urn:nbn:se:kth:diva-351806OAI: oai:DiVA.org:kth-351806DiVA, id: diva2:1888892
External cooperation
RISE
Supervisors
Examiners
2024-08-162024-08-142024-08-16Bibliographically approved