skip to main content
10.5555/3241189.3241271guideproceedingsArticle/Chapter ViewAbstractPublication PagesConference Proceedingsacm-pubtype
Article

Telling your secrets without page faults: stealthy page table-based attacks on enclaved execution

Published: 16 August 2017 Publication History

Abstract

Protected module architectures, such as Intel SGX, enable strong trusted computing guarantees for hardware-enforced enclaves on top a potentially malicious operating system. However, such enclaved execution environments are known to be vulnerable to a powerful class of controlled-channel attacks. Recent research convincingly demonstrated that adversarial system software can extract sensitive data from enclaved applications by carefully revoking access rights on enclave pages, and recording the associated page faults. As a response, a number of state-of-the-art defense techniques has been proposed that suppress page faults during enclave execution.
This paper shows, however, that page table-based threats go beyond page faults. We demonstrate that an untrusted operating system can observe enclave page accesses without resorting to page faults, by exploiting other side-effects of the address translation process. We contribute two novel attack vectors that infer enclaved memory accesses from page table attributes, as well as from the caching behavior of unprotected page table memory. We demonstrate the effectiveness of our attacks by recovering EdDSA session keys with little to no noise from the popular Libgcrypt cryptographic software suite.

References

[1]
ANATI, I., GUERON, S., JOHNSON, S., AND SCARLATA, V. Innovative technology for CPU based attestation and sealing. In Proceedings of the 2nd international workshop on hardware and architectural support for security and privacy (2013), vol. 13.
[2]
ARNAUTOV, S., TRACH, B., GREGOR, F., KNAUTH, T., MARTIN, A., PRIEBE, C., LIND, J., MUTHUKUMARAN, D., O'KEEFFE, D., STILLWELL, M. L., ET AL. SCONE: Secure Linux containers with Intel SGX. In 12th USENIX Symposium on Operating Systems Design and Implementation (2016), USENIX Association, pp. 689-703.
[3]
BAUMANN, A., PEINADO, M., AND HUNT, G. Shielding applications from an untrusted cloud with Haven. In 11th USENIX Symposium on Operating Systems Design and Implementation (2014), USENIX Association, pp. 267-283.
[4]
BERNSTEIN, D. J., DUIF, N., LANGE, T., SCHWABE, P., AND YANG, B.-Y. High-speed high-security signatures. Journal of Cryptographic Engineering 2, 2 (2012), 77-89.
[5]
BRASSER, F., MÜLLER, U., DMITRIENKO, A., KOSTIAINEN, K., CAPKUN, S., AND SADEGHI, A.-R. Software grand exposure: SGX cache attacks are practical. arXiv preprint arXiv:1702.07521 (2017).
[6]
CHECKOWAY, S., AND SHACHAM, H. Iago attacks: Why the system call API is a bad untrusted RPC interface. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (2013), ACM, pp. 253-264.
[7]
CHEN, S., ZHANG, X., REITER, M. K., AND ZHANG, Y. Detecting privileged side-channel attacks in shielded execution with déjà vu. In Proceedings of the 12th ACM on Asia Conference on Computer and Communications Security (ASIA CCS) (2017), ACM, pp. 7-18.
[8]
COPPENS, B., VERBAUWHEDE, I., DE BOSSCHERE, K., AND DE SUTTER, B. Practical mitigations for timing-based side-channel attacks on modern x86 processors. In 2009 IEEE Symposium on Security and Privacy (2009), IEEE, pp. 45-60.
[9]
COSTAN, V., AND DEVADAS, S. Intel SGX explained. Tech. rep., Computer Science and Artificial Intelligence Laboratory MIT, 2016. https://eprint.iacr.org/2016/086.pdf.
[10]
COSTAN, V., LEBEDEV, I., AND DEVADAS, S. Sanctum: Minimal hardware extensions for strong software isolation. In 25th USENIX Security Symposium (2016), USENIX Association, pp. 857-874.
[11]
EVTYUSHKIN, D., ELWELL, J., OZSOY, M., PONOMAREV, D., GHAZALEH, N. A., AND RILEY, R. Iso-x: A flexible architecture for hardware-managed isolated execution. In 2014 47th Annual IEEE/ACM International Symposium on Microarchitecture (2014), IEEE, pp. 190-202.
[12]
FERRAIUOLO, A., WANG, Y., XU, R., ZHANG, D., MYERS, A., AND SUH, E. Full-processor timing channel protection with applications to secure hardware compartments. Computing and information science technical report, Cornell University, November 2015.
[13]
GÖTZFRIED, J., ECKERT, M., SCHINZEL, S., AND MÜLLER, T. Cache attacks on Intel SGX. In Proceedings of the 10th European Workshop on Systems Security (EuroSec'17) (2017).
[14]
GRAS, B., RAZAVI, K., BOSMAN, E., BOS, H., AND GIUFFRIDA, C. ASLR on the line: Practical cache attacks on the MMU. In 24th Annual Network and Distributed System Security Symposium (NDSS) (2017).
[15]
GRUSS, D., MAURICE, C., FOGH, A., LIPP, M., AND MANGARD, S. Prefetch side-channel attacks: Bypassing SMAP and kernel ASLR. In Proceedings of the 23rd ACM Conference on Computer and Communications Security (CCS) (2016).
[16]
GRUSS, D., MAURICE, C., WAGNER, K., AND MANGARD, S. Flush+flush: A fast and stealthy cache attack. In Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA) (2016).
[17]
GRUSS, D., SPREITZER, R., AND MANGARD, S. Cache template attacks: Automating attacks on inclusive last-level caches. In 24nd USENIX Security Symposium (2015), USENIX Association, pp. 897-912.
[18]
HOEKSTRA, M., LAL, R., PAPPACHAN, P., PHEGADE, V., AND DEL CUVILLO, J. Using innovative instructions to create trustworthy software solutions. In HASP@ ISCA (2013), p. 11.
[19]
HOFMANN, O. S., KIM, S., DUNN, A. M., LEE, M. Z., AND WITCHEL, E. Inktag: Secure applications on an untrusted operating system. In Proceedings of the Eighteenth International Conference on Architectural Support for Programming Languages and Operating Systems (ASPLOS) (2013), ACM, pp. 265-278.
[20]
HUND, R., WILLEMS, C., AND HOLZ, T. Practical timing side channel attacks against kernel space ASLR. In 2013 IEEE Symposium on Security and Privacy (2013), IEEE, pp. 191-205.
[21]
INTEL CORPORATION. Intel Software Guard Extensions Programming Reference, October 2014. Reference no. 329298-002US.
[22]
INTEL CORPORATION. Intel 64 and IA-32 Architectures Optimization Reference Manual, June 2016. Reference no. 248966-033.
[23]
INTEL CORPORATION. Intel 64 and IA-32 Architectures Software Developer's Manual, June 2016. Reference no. 325462-059US.
[24]
JANG, Y., LEE, S., AND KIM, T. Breaking kernel address space layout randomization with Intel TSX. In Proceedings of the 23rd ACM Conference on Computer and Communications Security (CCS) (2016), ACM, pp. 380-392.
[25]
KOCH, W., AND SCHULTE, M. The Libgcrypt Reference Manual, December 2016. Version 1.7.4.
[26]
KOCHER, P. C. Timing attacks on implementations of Diffie-Hellman, RSA, DSS, and other systems. In Annual International Cryptology Conference (1996), Springer, pp. 104-113.
[27]
KOEBERL, P., SCHULZ, S., SADEGHI, A.-R., AND VARADHARAJAN, V. TrustLite: A security architecture for tiny embedded devices. In Proceedings of the Ninth European Conference on Computer Systems (2014), ACM, pp. 10:1-10:14.
[28]
LEE, S., SHIH, M.-W., GERA, P., KIM, T., KIM, H., AND PEINADO, M. Inferring fine-grained control flow inside SGX enclaves with branch shadowing. In 26th USENIX Security Symposium (2017), USENIX Association.
[29]
MAENE, P., GÖTZFRIED, J., DE CLERCQ, R., MÜLLER, T., FREILING, F., AND VERBAUWHEDE, I. Hardware-based trusted computing architectures for isolation and attestation. IEEE Transactions on Computers, 99 (2017).
[30]
MCCUNE, J. M., LI, Y., QU, N., ZHOU, Z., DATTA, A., GLIGOR, V. D., AND PERRIG, A. TrustVisor: Efficient TCB reduction and attestation. In 2010 IEEE Symposium on Security and Privacy (2010), IEEE, pp. 143-158.
[31]
MCCUNE, J. M., PARNO, B., PERRIG, A., REITER, M. K., AND ISOZAKI, H. Flicker: An execution infrastructure for TCB minimization. In Proceedings of the 2008 EuroSys Conference (2008), ACM, pp. 315-328.
[32]
MCKEEN, F., ALEXANDROVICH, I., BERENZON, A., ROZAS, C. V., SHAFI, H., SHANBHOGUE, V., AND SAVAGAONKAR, U. R. Innovative instructions and software model for isolated execution. In Proceedings of the 2nd International Workshop on Hardware and Architectural Support for Security and Privacy (2013), ACM, pp. 10:1-10:1.
[33]
MOGHIMI, A., IRAZOQUI, G., AND EISENBARTH, T. Cachezoom: How SGX amplifies the power of cache attacks. arXiv preprint arXiv:1703.06986 (2017).
[34]
NOORMAN, J., VAN BULCK, J., MÜHLBERG, J. T., PIESSENS, F., MAENE, P., PRENEEL, B., VERBAUWHEDE, I., GÖTZFRIED, J., MÜLLER, T., AND FREILING, F. Sancus 2.0: A low-cost security architecture for IoT devices. ACM Transactions on Privacy and Security (TOPS) (2017).
[35]
OSVIK, D. A., SHAMIR, A., AND TROMER, E. Cache attacks and countermeasures: the case of AES. In Cryptographers' Track at the RSA Conference (2006), Springer, pp. 1-20.
[36]
SCHUSTER, F., COSTA, M., FOURNET, C., GKANTSIDIS, C., PEINADO, M., MAINAR-RUIZ, G., AND RUSSINOVICH, M. Vc3: Trustworthy data analytics in the cloud using SGX. In 2015 IEEE Symposium on Security and Privacy (2015), IEEE, pp. 38-54.
[37]
SCHWARZ, M., WEISER, S., GRUSS, D., MAURICE, C., AND MANGARD., S. Malware guard extension: Using SGX to conceal cache attacks. In Detection of Intrusions and Malware, and Vulnerability Assessment (DIMVA) (2017).
[38]
SEO, J., LEE, B., KIM, S., AND SHIH, M.-W. SGX-Shield: Enabling address space layout randomization for sgx programs. In 24th Annual Network and Distributed System Security Symposium (NDSS) (2017).
[39]
SHIH, M.-W., LEE, S., KIM, T., AND PEINADO, M. T-SGX: Eradicating Controlled-Channel Attacks Against Enclave Programs. In 24th Annual Network and Distributed System Security Symposium (NDSS) (2017).
[40]
SHINDE, S., CHUA, Z. L., NARAYANAN, V., AND SAXENA, P. Preventing page faults from telling your secrets. In Proceedings of the 11th ACM on Asia Conference on Computer and Communications Security (ASIA CCS) (2016), ACM, pp. 317-328.
[41]
SHINDE, S., TIEN, D. L., TOPLE, S., AND SAXENA, P. Panoply: Low-TCB linux applications with SGX enclaves. In 24th Annual Network and Distributed System Security Symposium (NDSS) (2017).
[42]
STRACKX, R., AND PIESSENS, F. Fides: Selectively hardening software application components against kernel-level or process-level malware. In Proceedings of the 19th ACM Conference on Computer and Communications Security (CCS) (2012), ACM, pp. 2-13.
[43]
TRAMER, F., ZHANG, F., LIN, H., HUBAUX, J.-P., JUELS, A., AND SHI, E. Sealed-glass proofs: Using transparent enclaves to prove and sell knowledge. In 2nd IEEE European Symposium on Security and Privacy (Euro S&P) (2017), IEEE.
[44]
TSAI, C.-C., ARORA, K. S., BANDI, N., JAIN, B., JANNEN, W., JOHN, J., KALODNER, H. A., KULKARNI, V., OLIVEIRA, D., AND PORTER, D. E. Cooperation and security isolation of library OSes for multi-process applications. In Proceedings of the Ninth European Conference on Computer Systems (2014), ACM, p. 9.
[45]
TSAI, C.-C., PORTER, D. E., AND VIJ, M. Graphene-SGX: A practical library OS for unmodified applications on SGX. In 2017 USENIX Annual Technical Conference (USENIX ATC) (2017), USENIX Association.
[46]
WANG, W., CHEN, G., PAN, X., ZHANG, Y., WANG, X., BINDSCHAEDLER, V., TANG, H., AND GUNTER, C. A. Leaky cauldron on the dark land: Understanding memory side-channel hazards in SGX. arXiv preprint arXiv:1705.07289 (2017).
[47]
WEICHBRODT, N., KURMUS, A., PIETZUCH, P., AND KAPITZA, R. Asyncshock: Exploiting synchronisation bugs in Intel SGX enclaves. In European Symposium on Research in Computer Security (ESORICS) (2016), Springer.
[48]
XU, Y., CUI, W., AND PEINADO, M. Controlled-channel attacks: Deterministic side channels for untrusted operating systems. In 2015 IEEE Symposium on Security and Privacy (2015), IEEE, pp. 640-656.
[49]
YAROM, Y., AND BENGER, N. Recovering OpenSSL ECDSA nonces using the flush+ reload cache side-channel attack. IACR Cryptology ePrint Archive 2014 (2014), 140.
[50]
YAROM, Y., AND FALKNER, K. Flush+reload: A high resolution, low noise, L3 cache side-channel attack. In 23rd USENIX Security Symposium (2014), USENIX Association, pp. 719-732.

Cited By

View all
  1. Telling your secrets without page faults: stealthy page table-based attacks on enclaved execution

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image Guide Proceedings
    SEC'17: Proceedings of the 26th USENIX Conference on Security Symposium
    August 2017
    1479 pages
    ISBN:9781931971409

    Sponsors

    • Google Inc.
    • IBMR: IBM Research
    • NSF
    • Facebook: Facebook
    • CISCO

    Publisher

    USENIX Association

    United States

    Publication History

    Published: 16 August 2017

    Qualifiers

    • Article

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)0
    • Downloads (Last 6 weeks)0
    Reflects downloads up to 05 Feb 2025

    Other Metrics

    Citations

    Cited By

    View all

    View Options

    View options

    Figures

    Tables

    Media

    Share

    Share

    Share this Publication link

    Share on social media