Vis enkel innførsel

dc.contributor.advisorSjälander, Magnus
dc.contributor.advisorKvalsvik, Amund Bergland
dc.contributor.authorLauvdal, John Askeland
dc.date.accessioned2023-10-13T17:20:32Z
dc.date.available2023-10-13T17:20:32Z
dc.date.issued2023
dc.identifierno.ntnu:inspera:142737689:98543600
dc.identifier.urihttps://hdl.handle.net/11250/3096528
dc.description.abstractSpekulasjon er en mye brukt optimalisering i prosessor kjerner og har bidratt til å forbedre ytelsen ved å utføre mer arbeid og forhindre at pipelinen står stille og venter. Det er imidlertid i senere tid blitt oppdaget at de den forbedrede ytelsen kommer med kostnaden av å være sårbar for spekulative sidekanalangrep. Dette er en betydelig sikkerhetssårbarhet som gjør det mulig for angripere å stjele sensitiv informasjon, som passord og krypteringsnøkler fra ofre. Nesten alle nyere prosessorer bruker spekulasjon og er dermed sårbare for slike angrep. Dette er et problem siden både rask ytelse og sikkerhet mot spekulative sidekanalangrep anses som ønskelig når man designer prosessor kjerner, men siden spekulasjon nå gjør prosessoren sårbar for disse angrepene, oppstår det en konflikt mellom disse to egenskapene. Denne rapporten utforsker ulike strategier for å unngå sårbarheten ved å beskrive implementasjonen av forsvarsstrategiene Delay-on-Miss (DoM) og Speculative Taint Tracking (STT) implementert i Berkeley Out-of-Order Machine (BOOM) prosessor-kjernen. Den utforsker også en ny variant av DoM-implementasjonen, som i denne rapporten er omtalt som DoM-RW. Denne er mer restriktiv når det gjelder å vekke opp de spekulative load instruksjonene som har blitt hindret fra å kjøre. Implementeringen av STT-strategien ble ikke fullført i tide og er derfor bare delvis implementert. Resultatene fra eksperimentene utført på denne implementasjonen kan derfor ikke ansees som representative for strategien. Likevel er de inkludert fordi de fortsatt kan gi innsikt i den delvis implementerte løsningen. De implementerte løsningene er evaluert på en FPGA. For å utforske de ulike strategiene har det blitt utført eksperimenter for å teste implementasjonene med hensyn til ytelse og sikkerhet. Ytelsestestene evalueres ved å kjøre benchmarkene fra SPEC2017-benchmark-suitten. For å teste sikkerheten blir Spectre-angrepene, Spectre Variant 1 og Spectre Variant 2, evaluert. Det blir også sett på hvor stor implementasjonsoverhead de implementerte strategiene har med tanke på den fysiske størrelsen. Siden STT bare er delvis implementert, er det ikke testet like omfattende som de andre implementasjonene. Den er ikke testet for ytelse, og sikkerhetstesten er heller ikke testet på samme plattform som de andre implementasjonene. Spectre-angrepene som ble utført terminerer også før angrepet er fullført. Det viser seg at begge DoM-implementasjonene beskytter mot lekkasje fra begge de to spekulative sidekanalangrepene. Den delvis implementerte STT-implementasjonen lekker imidlertid data. Den vanlige DoM-implementasjonen får en reduksjon i ytelse på 14%, og DoM-RW-implementasjonen får en reduksjon på 20,9%. Implementasjonsoverheaden for begge DoM-implementasjonene måles til å være en økning på 0,1% i antall oppslagstabeller brukt til logikk på FPGA-en og en økning på 0,02% i antall vippere brukt. STT-implementasjonen har en økning på 1,2% i antall oppslagstabeller brukt til logikk og en økning på 0,49% i antall vippere sammenlignet med utgangsimplementasjonen. Hovedbidraget fra denne rapporten er å gi ny innsikt i hvor godt de implementerte løsningene oppfyller ønsket om at prosessorkjerner skal være både raske og sikre.
dc.description.abstractSpeculation is a widely used optimization implemented in processor cores to improve performance by getting more work done and preventing the pipeline from being idle. It has however later been discovered that the great performance gains comes with the cost of being vulnerable to speculative side-channel attacks. This is a significant security flaw, which enables attackers to read sensitive data, like passwords and encryption keys, from victims. Almost all newer processors use speculation, and are thus vulnerable to these attacks. This is a problem since both the attributes of fast performance and security against speculative side channels attacks are considered as desired when designing processor cores. However, since speculation now make the processor vulnerable to these attacks, there is a conflict between these two attributes and a compromise have to be made. This report explores different mitigation strategies against the attack, and describes the implementation of the mitigation strategies Delay-on-Miss (DoM) and Speculative Taint Tracking (STT) implemented in the Berkeley Out-of-Order Machine (BOOM) processor core. It additionally explores a new variation of the DoM implementation, referred to as DoM-RW, which are more restrictive on waking up the delayed loads when they have missed in the L1 cache. The STT implementation was not completed in time, and is only partially implemented. The results from the experiments performed on this implementation can therefore not be seen as representative for the mitigation strategy. They are, however, included in the report since they can still give insight on the partially implemented solution. The implemented solutions have been evaluated on an FPGA. When exploring the implemented mitigations, experiments testing the implementations for performance and security are performed. The test for performance are evaluated by executing benchmarks from the SPEC2017 benchmark suite. To test for security, the Spectre attacks Spectre Variant 1 and Spectre Variant 2 have been evaluated. It is additionally looked at how large the implementation overhead of the implemented mitigation strategies are in regard to physical size. Since STT is only partially implemented, it is not tested as comprehensive as the other implementations. It is not tested for performance, and the test for security is not done on the same platform as the other implementations. The Spectre attacks performed are also terminated before the attack is finished. Both the DoM implementations are demonstrated to protect data from being leaked against the two speculative side-channel attacks. The partially implemented STT implementation however leaks data. The normal DoM implementation get a slowdown in performance of 14% and the DoM-RW implementation get a slowdown of 20.9%. The implementation overhead of both the DoM implementations is measured to be 0.1% increase in the number of look-up-tables (LUTs) used for logic on the FPGA and 0.02% increase in the number of flip-flops used. The STT implementation have an increase of 1.2% in the number of LUTs used for logic, and 0.49% increase in flip-flops compared to the baseline implementation. The key contribution of this report is to bring new insight about how well the implemented mitigation strategies fulfills the desire for processor cores to be both fast and secure.
dc.languageeng
dc.publisherNTNU
dc.titleInvestigating Speculative Side-Channel Protection
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel