Through the Window: Exploitation and Countermeasures of the ESP32 Register Window Overflow †

dc.bibliographicCitation.articleNumber217
dc.bibliographicCitation.firstPage217
dc.bibliographicCitation.issue6
dc.bibliographicCitation.journalTitleFuture Interneteng
dc.bibliographicCitation.volume15
dc.contributor.authorLehniger, Kai
dc.contributor.authorLangendörfer, Peter
dc.date.accessioned2024-06-13T06:50:24Z
dc.date.available2024-06-13T06:50:24Z
dc.date.issued2023
dc.description.abstractWith the increasing popularity of IoT (Internet-of-Things) devices, their security becomes an increasingly important issue. Buffer overflow vulnerabilities have been known for decades, but are still relevant, especially for embedded devices where certain security measures cannot be implemented due to hardware restrictions or simply due to their impact on performance. Therefore, many buffer overflow detection mechanisms check for overflows only before critical data are used. All data that an attacker could use for his own purposes can be considered critical. It is, therefore, essential that all critical data are checked between writing a buffer and its usage. This paper presents a vulnerability of the ESP32 microcontroller, used in millions of IoT devices, that is based on a pointer that is not protected by classic buffer overflow detection mechanisms such as Stack Canaries or Shadow Stacks. This paper discusses the implications of vulnerability and presents mitigation techniques, including a patch, that fixes the vulnerability. The overhead of the patch is evaluated using simulation as well as an ESP32-WROVER-E development board. We showed that, in the simulation with 32 general-purpose registers, the overhead for the CoreMark benchmark ranges between 0.1% and 0.4%. On the ESP32, which uses an Xtensa LX6 core with 64 general-purpose registers, the overhead went down to below 0.01%. A worst-case scenario, modeled by a synthetic benchmark, showed overheads up to 9.68%.eng
dc.description.fondsLeibniz_Fonds
dc.description.versionpublishedVersioneng
dc.identifier.urihttps://oa.tib.eu/renate/handle/123456789/14713
dc.identifier.urihttps://doi.org/10.34657/13735
dc.language.isoeng
dc.publisherBasel : MDPI
dc.relation.doihttps://doi.org/10.3390/fi15060217
dc.relation.essn1999-5903
dc.rights.licenseCC BY 4.0 Unported
dc.rights.urihttps://creativecommons.org/licenses/by/4.0
dc.subject.ddc004
dc.subject.otherbuffer overfloweng
dc.subject.othermemory corruptioneng
dc.subject.otherregister windowseng
dc.subject.otherreturn-oriented programmingeng
dc.subject.otherwindowed ABIeng
dc.subject.otherXtensaeng
dc.titleThrough the Window: Exploitation and Countermeasures of the ESP32 Register Window Overflow †eng
dc.typeArticleeng
dc.typeTexteng
tib.accessRightsopenAccess
wgl.contributorIHP
wgl.subjectInformatikger
wgl.typeZeitschriftenartikelger
Files
Original bundle
Now showing 1 - 1 of 1
Loading...
Thumbnail Image
Name:
futureinternet-15-00217-v3.pdf
Size:
372.89 KB
Format:
Adobe Portable Document Format
Description:
Collections