Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1229285.1266999acmconferencesArticle/Chapter ViewAbstractPublication Pagesasia-ccsConference Proceedingsconference-collections
Article

On the power of simple branch prediction analysis

Published: 20 March 2007 Publication History

Abstract

Very recently, a new software side-channel attack, called Branch Prediction Analysis (BPA) attack, has been discovered and also demonstrated to be practically feasible on popular commodity PC platforms. While the above recent attack still had the flavor of a classical timing attack against RSA, where one uses many execution-time measurements under the same key in order to statistically amplify some small but key-dependent timing differences, we dramatically improve upon the former result. We prove that a carefully written spy-process running simultaneously with an RSA-process, is able to collect during one single RSA signing execution almost all of the secret key bits. We call such an attack, analyzing the CPU's Branch Predictor states through spying on a single quasi-parallel computation process, a Simple Branch Prediction Analysis (SBPA) attack --- sharply differentiating it from those one relying on statistical methods and requiring many computation measurements under the same key. The successful extraction of almost all secret key bits by our SBPA attack against an openSSL RSA implementation proves that the often recommended blinding or so called randomization techniques to protect RSA against side-channel attacks are, in the context of SBPA attacks, totally useless. Additional to that very crucial security implication, targeted at such implementations which are assumed to be at least statistically secure, our successful SBPA attack also bears another equally critical security implication. Namely, in the context of simple side-channel attacks, it is widely believed that equally balancing the operations after branches is a secure countermeasure against such simple attacks. Unfortunately, this is not true, as even such "balanced branch" implementations can be completely broken by our SBPA attacks. Moreover, despite sophisticated hardware-assisted partitioning methods such as memory protection, sandboxing or even virtualization, SBPA attacks empower an unprivileged process to successfully attack other processes running in parallel on the same processor. Thus, we conclude that SBPA attacks are much more dangerous than previously anticipated, as they obviously do not belong to the same category as pure timing attacks.

References

[1]
O. Aciiçmez, J.-P. Seifert, and Ç. K. Koç. Predicting secret keys via branch prediction. Topics in Cryptology - CT-RSA 2007, The Cryptographers' Track at the RSA Conference 2007, to appear.
[2]
D. J. Bernstein. Cache-timing attacks on AES. Technical Report, 37 pages, April 2005. Available at: http://cr.yp.to/antiforgery/cachetiming-20050414.pdf
[3]
D. Brumley and D. Boneh. Remote Timing Attacks are Practical. Proceedings of the 12th Usenix Security Symposium, pages 1--14, 2003.
[4]
Y. Chen, P. England, M. Peinado, and B. Willman. High Assurance Computing on Open Hardware Architectures. Technical Report, MSR-TR-2003-20, 17 pages, Microsoft Corporation, March 2003. Available at: ftp://ftp.research.microsoft.com/pub/tr/tr-2003-20.ps
[5]
B. Chevallier-Mames, M. Ciet, and M. Joye. Low-cost solutions for preventing simple side-channel analysis: side-channel atomicity. IEEE Transactions on Computers, volume 53, issue 6, pages 760--768, June 2004.
[6]
J.-S. Coron, D. Naccache, and P. Kocher. Statistics and Secret Leakage. ACM Transactions on Embedded Computing Systems, volume 3, issue 3, pages 492--508, August 2004.
[7]
J. F. Dhem, F. Koeune, P. A. Leroux, P. Mestre, J.-J. Quisquater, and J. L. Willems. A Practical Implementation of the Timing Attack. Proceedings of the 3rd Working Conference on Smart Card Research and Advanced Applications - CARDIS 1998, J.-J. Quisquater and B. Schneier, editors, Springer-Verlag, LNCS vol. 1820, January 1998.
[8]
P. England, B. Lampson, J. Manferdelli, M. Peinado, and B. Willman. A Trusted Open Platform. IEEE Computer, volume 36, issue 7, pages 55--62, July 2003.
[9]
S. Gochman, R. Ronen, I. Anati, A. Berkovits, T. Kurts, A. Naveh, A. Saeed, Z. Sperber, and R. Valentine. The Intel Pentium M processor: Microarchitecture and performance. Intel Technology Journal, volume 7, issue 2, May 2003.
[10]
D. Grawrock. The Intel Safer Computing Initiative: Building Blocks for Trusted Computing, Intel Press, 2006.
[11]
N. A. Howgrave-Graham and N. P. Smart. Lattice Attacks on Digital Signature Schemes. Design, Codes and Cryptography, vol. 23, pp. 283290, 2001.
[12]
J. Handy. The cache memory book (2nd ed.): the authoritative reference on cache design, Academic Press, Inc., Orlando, FL, USA, 1998.
[13]
G. Hinton, D. Sager, M. Upton, D. Boggs, D. Carmean, A. Kyker, and P. Roussel. The Microarchitecture of the Pentium 4 Processor. Intel Technology Journal, volume 5, issue 1, Feb. 2001.
[14]
W. M. Hu. Lattice scheduling and covert channels. Proceedings of IEEE Symposium on Security and Privacy, IEEE Press, pages 52--61, 1992.
[15]
M. Joye, and K. Villegas. A protected division algorithm. In P. Honeyman, Ed., Smart Card Research and Advanced Applications (CARDIS 2002), pages 69--74, Usenix Association, 2002.
[16]
M. Joye and S.-M. Yen. The Montgomery powering ladder. Cryptographic Hardware and Embedded Systems - CHES 2002, B. S. Kaliski Jr, Ç. K. Koç, and C. Paar, editors, pages 291--302, Springer-Verlag, LNCS vol. 2523, 2003.
[17]
H. Kahl. SPA-based attack against the modular reduction within a partially secured RSA-CRT implementation. Cryptology ePrint Archive, Report 2004/197, 2004, http://eprint.iacr.org/197.pdf.
[18]
P. C. Kocher. Timing Attacks on Implementations of Diffie--Hellman, RSA, DSS, and Other Systems. Advances in Cryptology - CRYPTO '96, N. Koblitz, editors, pages 104--113, Springer-Verlag, LNCS vol. 1109, 1996.
[19]
R. Mayer-Sommer. Smartly Analyzing the Simplicity and the Power of Simple Power Analysis on Smartcards. K. Ko and C. Paar (ed.), Cryptographic Hardware and Embedded Systems - CHES 2000, Springer-Verlag, 2000, LNCS vol. 1965, pp. 78--92.
[20]
A. J. Menezes, P. van Oorschot, and S. Vanstone. Handbook of Applied Cryptography, CRC Press, New York, 1997.
[21]
M. Milenkovic, A. Milenkovic, and J. Kulick. Microbenchmarks for Determining Branch Predictor Organization. Software Practice & Experience, volume 34, issue 5, pages 465--487, April 2004.
[22]
M. Neve and J.-P. Seifert. Advances on Access-driven Cache Attacks on AES. Proceedings of Selected Area of Cryptology (SAC 2006), Montreal, Canada, August 2006, to appear at Springer LNCS.
[23]
P. Q. Nguyen and I. E. Shparlinski. The Insecurity of the Digital Signature Algorithm with Partially Known Nonces. Journal of Cryptology, vol. 15, no. 3, pp. 151176, Springer, 2002.
[24]
P. Q. Nguyen and I. E. Shparlinski. The Insecurity of the Elliptic Curve Digital Signature Algorithm with Partially Known Nonces. Design, Codes and Cryptography, vol. 30, pp. 201 217, 2003.
[25]
Openssl: the open-source toolkit for ssl / tls. Available online at http://www.openssl.org/.
[26]
D. A. Osvik, A. Shamir, and E. Tromer. Other People's Cache: Hyper Attacks on HyperThreaded Processors. Presentation available at: http://www.wisdom.weizmann.ac.il/~tromer/.
[27]
D. A. Osvik, A. Shamir, and E. Tromer. Cache Attacks and Countermeasures: The Case of AES. Topics in Cryptology - CT-RSA 2006, The Cryptographers' Track at the RSA Conference 2006, D. Pointcheval, editor, pages 1--20, Springer-Verlag, LNCS vol. 3860, 2006.
[28]
D. Patterson and J. Hennessy. Computer Architecture: A Quantitative Approach. 3rd edition, Morgan Kaufmann, 2005.
[29]
S. Pearson. Trusted Computing Platforms: TCPA Technology in Context, Prentice Hall PTR, 2002.
[30]
C. Percival. Cache missing for fun and profit. BSDCan 2005, Ottawa, 2005. Available at: http://www.daemonology.net/hyperthreading-considered-harmful/
[31]
C. P. Pfleeger and S. L. Pfleeger. Security in Computing, 3rd edition, Prentice Hall PTR, 2002.
[32]
E. Rotenberg, S. Benett, and J. E. Smith. Trace cache: a low latency approach to high bandwidth instruction fetching. Proceedings of the 29th Annual ACM/IEEE Intl. Symposium on Microarchitecture, pages 24--34, Dec. 1996.
[33]
W. Schindler. A Timing Attack against RSA with the Chinese Remainder Theorem. Cryptographic Hardware and Embedded Systems - CHES 2000, Ç. K. Koç and C. Paar, editors, pages 109--124, Springer-Verlag, LNCS vol. 1965, 2000.
[34]
T. Shanley. The Unabridged Pentium 4: IA32 Processor Genealogy. Addison-Wesley Professional, 2004.
[35]
A. Silberschatz, G. Gagne, and P. B. Galvin. Operating system concepts (7th ed.). John Wiley and Sons, Inc., USA, 2005.
[36]
J. Shen and M. Lipasti. Modern Processor Design: Fundamentals of Superscalar Processors. McGraw-Hill, 2005.
[37]
O. Sibert, P. A. Porras, and R. Lindell. The Intel 80x86 Processor Architecture: Pitfalls for Secure Systems. IEEE Symposium on Security and Privacy, pages 211--223, 1995.
[38]
S. W. Smith. Trusted Computing Platforms: Design and Applications, Springer-Verlag, 2004.
[39]
Trusted Computing Group, http://www.trustedcomputinggroup.org.
[40]
R. Uhlig, G. Neiger, D. Rodgers, A. L. Santoni, F. C. M. Martins, A. V. Anderson, S. M. Bennett, A. Kagi, F. H. Leung, L. Smith. Intel Virtualization Technology, IEEE Computer, volume 38, number 5, pages 48--56, May 2005.
[41]
C. D. Walter. Montgomery Exponentiation Needs No Final Subtractions. IEE Electronics Letters, volume 35, number 21, pages 1831--1832, October 1999.

Cited By

View all
  • (2023)Side-channel attacks on optane persistent memoryProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620618(6807-6824)Online publication date: 9-Aug-2023
  • (2023)Phantom: Exploiting Decoder-detectable MispredictionsProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3614275(49-61)Online publication date: 28-Oct-2023
  • (2022)Cache-related Hardware Capabilities and Their Impact on Information SecurityACM Computing Surveys10.1145/353496255:6(1-35)Online publication date: 7-Dec-2022
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
ASIACCS '07: Proceedings of the 2nd ACM symposium on Information, computer and communications security
March 2007
323 pages
ISBN:1595935746
DOI:10.1145/1229285
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 March 2007

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. RSA
  2. branch prediction analysis
  3. modular exponentiation
  4. side channel analysis

Qualifiers

  • Article

Conference

Asia CCS07
Sponsor:

Acceptance Rates

ASIACCS '07 Paper Acceptance Rate 33 of 180 submissions, 18%;
Overall Acceptance Rate 418 of 2,322 submissions, 18%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)74
  • Downloads (Last 6 weeks)4
Reflects downloads up to 01 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2023)Side-channel attacks on optane persistent memoryProceedings of the 32nd USENIX Conference on Security Symposium10.5555/3620237.3620618(6807-6824)Online publication date: 9-Aug-2023
  • (2023)Phantom: Exploiting Decoder-detectable MispredictionsProceedings of the 56th Annual IEEE/ACM International Symposium on Microarchitecture10.1145/3613424.3614275(49-61)Online publication date: 28-Oct-2023
  • (2022)Cache-related Hardware Capabilities and Their Impact on Information SecurityACM Computing Surveys10.1145/353496255:6(1-35)Online publication date: 7-Dec-2022
  • (2021)SoK: Remote Power AnalysisProceedings of the 16th International Conference on Availability, Reliability and Security10.1145/3465481.3465773(1-12)Online publication date: 17-Aug-2021
  • (2021)Jamais vu: thwarting microarchitectural replay attacksProceedings of the 26th ACM International Conference on Architectural Support for Programming Languages and Operating Systems10.1145/3445814.3446716(1061-1076)Online publication date: 19-Apr-2021
  • (2021)BranchboozleProceedings of the 36th Annual ACM Symposium on Applied Computing10.1145/3412841.3442035(1617-1625)Online publication date: 22-Mar-2021
  • (2020)RELOAD+REFRESHProceedings of the 29th USENIX Conference on Security Symposium10.5555/3489212.3489323(1967-1984)Online publication date: 12-Aug-2020
  • (2020)HYBCACHEProceedings of the 29th USENIX Conference on Security Symposium10.5555/3489212.3489238(451-468)Online publication date: 12-Aug-2020
  • (2020)Securing Branch Predictors with Two-Level EncryptionACM Transactions on Architecture and Code Optimization10.1145/340418917:3(1-25)Online publication date: 3-Aug-2020
  • (2020)GhostbustingProceedings of the 7th Symposium on Hot Topics in the Science of Security10.1145/3384217.3385627(1-11)Online publication date: 21-Sep-2020
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media