3 ms·
Enclaves do have integrity protection (at least SGX does).
by anonymousDan 8y ago
Enclaves do have integrity protection (at least SGX does).
- atq2119 8y agoDo you have details on that? The only references I see to integrity on Intel's own overview site are for data at rest (i.e. stored on disk or in network transit etc.). This is easy to achieve and plausible with cryptographic signatures, and both AMD and Intel have some form of this. The reason I'm doubting that there's integrity protection for data while in RAM is that it's information-theoretically impossible to do that without memory overhead. This doubt seems to be confirmed by the descriptions of the ELDB/ELDU/EWB instructions: they perform cryptographic authentication while copying pages to and from the enclave. There don't seem to be any integrity checks while data is live in the enclave -- and that's what matters for Rowhammer protection.
- ctz 8y agohttps://eprint.iacr.org/2016/204.pdf https://eprint.iacr.org/2016/204.pdf (paper) https://rwc.iacr.org/2016/Slides/RWC_2016_Gueron_2016_01_08.pdf https://rwc.iacr.org/2016/Slides/RWC_2016_Gueron_2016_01_08.... (talk slides from RWC 2016)
- posi 8y agoThere's a ton of overhead. SGX uses encrypted ram, if that helps your mental state
- anonymousDan 8y agoThere is a memory encryption engine on each CPU that transparently encrypts and integrity protects each cache line as it flows to and from main memory. The integrity protection info is stored in a tree -like structure in part of one of the on CPU caches. The storage overhead for this data structure is one of the reasons the maximum enclave size is currently limited to about 100MB, although rumour has it that limitation will be removed in future generations. In saying all that, I would be very interested to hear ideas you might have on how Rowhammer could bypass SGX :)