Publication | Open Access
Racing in Hyperspace: Closing Hyper-Threading Side Channels on SGX with Contrived Data Races
57
Citations
31
References
2018
Year
Unknown Venue
EngineeringPresent HyperraceComputer ArchitectureData ScienceShared MemoryConcurrency (Computer Science)Contrived Data RacesTrusted Execution EnvironmentParallel ComputingReal-time Operating SystemEnclave ThreadConcurrent ProgrammingComputer EngineeringOperating System SecurityComputer ScienceShadow ThreadOperating SystemsProgram AnalysisParallel ProgrammingConcurrent Data StructureSystem Software
In this paper, we present HYPERRACE, an LLVM-based tool for instrumenting SGX enclave programs to eradicate all side-channel threats due to Hyper-Threading. HYPERRACE creates a shadow thread for each enclave thread and asks the underlying untrusted operating system to schedule both threads on the same physical core whenever enclave code is invoked, so that Hyper-Threading side channels are closed completely. Without placing additional trust in the operating system's CPU scheduler, HYPERRACE conducts a physical-core co-location test: it first constructs a communication channel between the threads using a shared variable inside the enclave and then measures the communication speed to verify that the communication indeed takes place in the shared L1 data cache-a strong indicator of physical-core co-location. The key novelty of the work is the measurement of communication speed without a trustworthy clock; instead, relative time measurements are taken via contrived data races on the shared variable. It is worth noting that the emphasis of HYPERRACE's defense against Hyper-Threading side channels is because they are open research problems. In fact, HYPERRACE also detects the occurrence of exception-or interrupt-based side channels, the solution.s of which have been studied by several prior works.
| Year | Citations | |
|---|---|---|
Page 1
Page 1