Toward Hardware-assisted Run-time Protection

dc.contributorAalto-yliopistofi
dc.contributorAalto Universityen
dc.contributor.authorNyman, Thomas
dc.contributor.departmentTietotekniikan laitosfi
dc.contributor.departmentDepartment of Computer Scienceen
dc.contributor.labSecure Systems Groupen
dc.contributor.schoolPerustieteiden korkeakoulufi
dc.contributor.schoolSchool of Scienceen
dc.contributor.supervisorAsokan, N., Prof., Aalto University, Department of Computer Science, Finland
dc.date.accessioned2020-10-21T09:00:10Z
dc.date.available2020-10-21T09:00:10Z
dc.date.defence2020-11-10
dc.date.issued2020
dc.description.abstractSoftware defects, such as buffer overflows, are prominent enablers of cyberattacks in programs written in memory-unsafe programming languages. As a consequence, vulnerable software programs can be exploited by a sophisticated adversary through run-time attacks to trigger program actions never intended by the software developer, and even to gain unauthorized access to the computer system. For example, the adversary can corrupt memory references (pointers) to program code stored in memory to hijack the flow of execution, and redirect the processor to execute instructions chosen by the adversary. Such control-flow attacks can be particularly devastating, as they can allow arbitrary code execution, and grant complete control of a victim system to an adversary. Recently, data-oriented attacks have been shown to enable equally expressive attacks, without violating the integrity of control-flows within the victim program. Over the past thirty years, there has been an ever-escalating arms race between increasingly sophisticated attacks and defenses to thwart them. Software-only defenses that retrofit programs written in C and C++ with memory-safety or control-flow integrity (CFI) guarantees can be effective against large classes of attacks but are prohibitively expensive. Recently, there have also been significant advances by both researchers and practitioners in understanding and defending against run-time attacks, especially those that attempt to defeat CFI. Practical defenses against run-time attacks must consider how to trade-off security, performance and deployability. The goal of this dissertation is to investigate how hardware-assisted defenses can protect against run-time attacks without incurring a significant performance penalty. Hardware-assisted defenses have been shown to drastically improve the efficiency of attack detection but face various deployment challenges, such as requiring 1) invasive changes to the underlying processor architecture or system software stack, and 2) overly-restrictive security policies, which have difficulties dealing with the inherent flexibility of C and C++, leading to compatibility issues with existing software. In particular the work described in this dissertation provides advances in the following reserch topics:1) adapting hardware-assisted defenses for embedded systems, including low-end microcontrollers (MCUs), where the challenges for deployment are amplified,2) remotely attesting the control-flow to learn about run-time attacks, and the dynamic behaviour of an embedded device, and3) showing how hardware-assisted defenses can defend against attacks that defeat CFI.Finally, I present my own observations about the state-of-the-art and practice in hardware-assisted run-time defenses, and discuss potential directions for future research.en
dc.description.abstractMuistiturvattomien ohjelmointikielten ohjelmistovirheet, kuten puskurin ylivuodot, ovat merkittävä kyberhyökkäysten mahdollistaja. Niiden seurauksena haavoittuvia ohjelmistoja voidaan hyväksikäyttää ajonaikaisten hyökkäysten avulla siten, että niissä laukaistaan tahattomia toimintoja, ja siten päästä luvattomasti käsiksi tietojärjestelmään. Hyökkääjä voi esimerkiksi korruptoimalla muistiviitteitä ohjelmakoodiin kaapata ohjelman suorituksen, ja uudellenohjata prosessorin suorittamaan valitsemiaan käskyjä. Tällaiset kontrollivuohyökkäykset (eng. control-flow attacks) voivat olla erityisen vaarallisia koska niiden avulla voidaan suorittaa mielivaltaista ohjelmakoodia ja jopa ottaa uhrina oleva tietojärjestelmä täysin haltuun. Myös niin sanottujen data-orientoituneiden hyökkäysten (eng. data-oriented attacks) on näytetty mahdollistavan yhtä ilmaisuvoimaisia hyökkäyksiä manipuloimatta uhriohjelman kontrollivuota. Tietoturvatutkimusta on viimeisen kolmenkymmenen vuoden aikana sävyttänyt kilpavarustelu yhä edistyneempien hyökkäysten ja niitä vastaan kehitettyjen turvamekanismien välillä. Ohjelmistotason turvamekanismit, jotka jälkiasentavat muistuturvallisuutta tai kontrollivuon eheyttä (eng. control-flow integrity, CFI) ylläpitäviä mekanismeja C tai C++ -ohjelmiin, estävät useat hyökkäykset, mutta niistä aiheutuvat huomattavat suorituskykykustannukset rajoittavat niiden käyttöönottoa. Ymmärryksessä ajonaikaisista hyökkäyksistä ja niitä vastaan puolustautumisessa on tehty huomattavia edistysaskelia, etenkin sellaisten hyökkäysten suhteen, jotka pyrkivät kiertämään CFI -puolustuskeinot. Käyttännöllisten puolustusmekanismien on kuitenkin tasapainoteltava turvallisuuden, suorituskyvyn ja hyödynnettävyyden välillä. Tämän väitöskirjan tavoitteena on tutkia kuinka laitteistoavusteiset puolustuskeinot voivat suojata ohjelmistoja ajonaikaisilta hyökkäyksiltä ilman huomattavia suorituskykyongelmia. Laitteistoavusteisten puolustuskeinojen on todettu parantavan radikaalisti kykyä havaita hyökkäyksiä, mutta samalla ne vaikeuttavat käyttöönottoa mm. vaatimalla 1) huomattavia muutoksia prosessoriarkkitehtuuriin ja ohjelmistopinoon sekä 2) ylirajoittavaa turvallisuuspolitiikkaa, mikä johtaa yhteensopivuusongelmiin C ja C++ -ohjelmointikielien kanssa. Tämän väitöskirjan tulokset edistävät erityisesti tietämystä seuraavista tutkimusaiheista:1) laitteistoavusteisten puolustuskeinojen soveltaminen sulautettuihin järjestelmiin, mukaan lukien suorituskykyrajoitteiset mikrokontrollerijärjestelmät,2) suoritetun kontrollivuon todistaminen etänä (eng. remote attestation) sulautetulla laitteella tapahtuvien hyökkäysten havaitsemiseksi ja laitteen käyttäytymisen todentamiseksi, sekä3) laitteistoavusteisten puolustuskeinojen kehittäminen CFI:hin perustuvien puolustuskeinoja kiertäviä hyökkäyksiä vastaan.Lopuksi esitän omia huomioitani laitteistoavusteisten puolustuskeinojen nykytilasta, ja potentiaalisista tulevista tutkimusaiheista.fi
dc.format.extent130 + app. 101
dc.format.mimetypeapplication/pdfen
dc.identifier.isbn978-952-64-0065-5 (electronic)
dc.identifier.isbn978-952-64-0064-8 (printed)
dc.identifier.issn1799-4942 (electronic)
dc.identifier.issn1799-4934 (printed)
dc.identifier.issn1799-4934 (ISSN-L)
dc.identifier.urihttps://aaltodoc.aalto.fi/handle/123456789/47029
dc.identifier.urnURN:ISBN:978-952-64-0065-5
dc.language.isoenen
dc.opnPayer, Mathias, Prof., EPFL, Switzerland
dc.publisherAalto Universityen
dc.publisherAalto-yliopistofi
dc.relation.haspart[Publication 1]: Thomas Nyman, Jan-Erik Ekberg, Lucas Davi, N. Asokan. CFI CaRE: Hardware-Supported Call and Return Enforcement for Commercial Microcontrollers. In Research in Attacks, Intrusions, and Defenses. RAID 2017, Lecture Notes in Computer Science, vol. 10453, pages 259–284, October 2017. DOI: 10.1007/978-3-319-66332-6_12
dc.relation.haspart[Publication 2]: Tigist Abera, N. Asokan, Lucas Davi, Jan-Erik Ekberg, Thomas Nyman, Andrew Paverd, Ahmad-Reza Sadeghi, Gene Tsudik. C- FLAT: Control-Flow Attestation for Embedded Systems Software. In Proceedings of the 2016 ACM SIGSAC Conference on Computer and Communications Security (CCS’16), pages 743–754, October 2016. DOI: 10.1145/2976749.2978358
dc.relation.haspart[Publication 3]: Ghada Dessouky, Shaza Zeitouni, Thomas Nyman, Andrew Paverd, Lucas Davi, Patrick Koeberl, N. Asokan, Ahmad-Reza Sadeghi. LO- FAT: Low-Overhead Control Flow ATtestation in Hardware. In Proceedings of the 54th Annual Design Automation Conference 2017 (DAC’17), article no. 24, June 2017. DOI: 10.1145/3061639.3062276
dc.relation.haspart[Publication 4]: Thomas Nyman, Ghada Dessouky, Shaza Zeitouni, Aaro Lehikoinen, Andrew Paverd, N. Asokan, Ahmad-Reza Sadeghi. HardScope: Hardening Embedded Systems Against Data-Oriented Attacks. In Proceedings of the 56th Annual Design Automation Conference 2019, DAC 2019, article no. 63, June 2019. Full text in Acris/Aaltodoc: http://urn.fi/URN:NBN:fi:aalto-201911156239. DOI: 10.1145/3316781.3317836
dc.relation.haspart[Publication 5]: Hans Liljestrand, Thomas Nyman, Kui Wang, Carlos Chinea Perez, Jan-Erik Ekberg, N. Asokan. PAC it up: Towards Pointer Integrity using ARM Pointer Authentication. In Proceedings of the 28th USENIX Security Symposium, USENIX Security 2019, pages 177–194, August 2019. DOI: 10.5555/3361338.3361352
dc.relation.haspart[Publication 6]: Hans Liljestrand, Thomas Nyman, Lachlan J. Gunn, Jan-Erik Ekberg, N. Asokan. PACStack: an Authenticated Call Stack. Accepted for publication in Proceedings of the 30th USENIX Security Symposium, USENIX Security 2021, 18 pages, August 2021
dc.relation.ispartofseriesAalto University publication series DOCTORAL DISSERTATIONSen
dc.relation.ispartofseries150/2020
dc.revGruss, Daniel, Prof., Graz University of Technology, Austria
dc.revXia, Yubin, Prof., Shanghai Jiao Tong University, China
dc.subject.keywordplatform securityen
dc.subject.keywordrun-time attacksen
dc.subject.keywordhardware-assisted defensesen
dc.subject.keywordalustaturvallisuusfi
dc.subject.keywordajonaikaiset hyökkäyksetfi
dc.subject.keywordlaitteistoavusteiset puolustuskeinotfi
dc.subject.otherComputer scienceen
dc.titleToward Hardware-assisted Run-time Protectionen
dc.titleToward Hardware-assisted Run-time Protectionfi
dc.typeG5 Artikkeliväitöskirjafi
dc.type.dcmitypetexten
dc.type.ontasotDoctoral dissertation (article-based)en
dc.type.ontasotVäitöskirja (artikkeli)fi
local.aalto.acrisexportstatuschecked 2020-11-17_2024
local.aalto.archiveyes
local.aalto.formfolder2020_10_20_klo_14_23
local.aalto.infraScience-IT

Files

Original bundle

Now showing 1 - 2 of 2
No Thumbnail Available
Name:
isbn9789526400655.pdf
Size:
3.83 MB
Format:
Adobe Portable Document Format
No Thumbnail Available
Name:
isbn9789526400655_errata.pdf
Size:
130.81 KB
Format:
Adobe Portable Document Format