Abstrakti
Muistiturvattomien 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.
Julkaisun otsikon käännös | Toward Hardware-assisted Run-time Protection |
---|---|
Alkuperäiskieli | Englanti |
Pätevyys | Tohtorintutkinto |
Myöntävä instituutio |
|
Valvoja/neuvonantaja |
|
Kustantaja | |
Painoksen ISBN | 978-952-64-0064-8 |
Sähköinen ISBN | 978-952-64-0065-5 |
Tila | Julkaistu - 2020 |
OKM-julkaisutyyppi | G5 Tohtorinväitöskirja (artikkeli) |
Tutkimusalat
- alustaturvallisuus
- ajonaikaiset hyökkäykset
- laitteistoavusteiset puolustuskeinot