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

skip to main content
research-article
Open access

Automated Software Protection for the Masses Against Side-Channel Attacks

Published: 16 November 2018 Publication History

Abstract

We present an approach and a tool to answer the need for effective, generic, and easily applicable protections against side-channel attacks. The protection mechanism is based on code polymorphism, so that the observable behaviour of the protected component is variable and unpredictable to the attacker. Our approach combines lightweight specialized runtime code generation with the optimization capabilities of static compilation. It is extensively configurable. Experimental results show that programs secured by our approach present strong security levels and meet the performance requirements of constrained systems.

References

[1]
M. Abadi, M. Budiu, U. Erlingsson, and J. Ligatti. 2009. Control-flow integrity principles, implementations, and applications. ACM TISSEC 13, 1 (2009).
[2]
Giovanni Agosta, Alessandro Barenghi, Massimo Maggi, and Gerardo Pelosi. 2013. Compiler-based side channel vulnerability analysis and optimized countermeasures application. DAC (2013), 1--624. Retrieved from http://ieeexplore.ieee.org/abstract/document/6560674/.
[3]
G. Agosta, A. Barenghi, and G. Pelosi. 2012. A code morphing methodology to automate power analysis countermeasures. DAC (2012), 77--82.
[4]
Giovanni Agosta, Alessandro Barenghi, Gerardo Pelosi, and Michele Scandale. 2015. Information leakage chaff: feeding red herrings to side channel attackers. In Proceedings of the 52nd Annual Design Automation Conference. ACM, 33.
[5]
G. Agosta, A. Barenghi, G. Pelosi, and M. Scandale. 2015. The MEET approach: Securing cryptographic embedded software against side channel attacks. In Proceedings of the IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 34, 8 (2015), 1320–1333.
[6]
A. Amarilli, S. Müller, D. Naccache, D. Page, P. Rauzy, and M. Tunstall. 2011. Can code polymorphism limit information leakage? In Proceedings of the IFIP International Workshop on Information Security Theory and Practices. Springer, 1–21.
[7]
Naga Durga Prasad Avirneni and Arun K. Somani. 2014. Countering power analysis attacks UsingReliable and aggressive designs. IEEE TOC 63, 6 (June 2014), 1408--1420.
[8]
A. Barenghi and G. Pelosi. 2017. An enhanced dataflow analysis to automatically tailor side channel attack countermeasures to software block ciphers. CEUR Workshop Proceedings 1816 (2017), 8--18.
[9]
Ali Galip Bayrak, Francesco Regazzoni, David Novo, Philip Brisk, François-Xavier Standaert, and Paolo Ienne. 2015. Automatic application of power analysis countermeasures. IEEE TOC 64, 2 (2015), 329--341.
[10]
H.-P. Charles, D. Couroussé, V. Lomüller, F. A. Endo, and R. Gauguey. 2014. deGoal a tool to embed dynamic code generators into applications. LNCS 8409 (2014), 107--112.
[11]
Henri-Pierre Charles and Victor Lomüller. 2015. Is dynamic compilation possible for embedded systems? SCOPES (2015), 80--83.
[12]
P. Chen, Y. Fang, B. Mao, and L. Xie. 2011. JITDefender: A defense against JIT spraying attacks. IFIP AICT 354 (2011), 142--153.
[13]
P. Chen, R. Wu, and B. Mao. 2013. JITSafe: A framework against just-in-time spraying attacks. IET Information Security 7, 4 (2013), 283--292.
[14]
Jean-Sébastien Coron and Ilya Kizhvatov. 2009. An efficient method for random delay generation in embedded software. CHES 5747 (2009), 156--170.
[15]
Jean-Sébastien Coron and Ilya Kizhvatov. 2010. Analysis and improvement of the random delay countermeasure of CHES 2009. CHES (2010), 95--109.
[16]
Damien Couroussé, Thierno Barry, Bruno Robisson, Philippe Jaillon, Olivier Potin, and Jean-Louis Lanet. 2016. Runtime code polymorphism as a protection against side channel attacks. WISTP 9895 (2016), 136--152.
[17]
Stephen Crane, Andrei Homescu, Stefan Brunthaler, Per Larsen, and Michael Franz. 2015. Thwarting cache side-channel attacks through dynamic software diversity. NDSS (2015), 8--11.
[18]
L. Dureuil, G. Petiot, M.-L. Potet, T.-H. Le, A. Crohen, and P. de Choudens. 2016. FISSC: A fault injection and simulation secure collection. LNCS 9922 (2016), 3--11.
[19]
François Durvaux, Mathieu Renauld, François-Xavier Standaert, Loic van Oldeneel tot Oldenzeel, and Nicolas Veyrat-Charvillon. 2013. Efficient removal of random delays from embedded software implementations using hidden Markov models. In Proceedings of the International Conference on Smart Card Research and Advanced Applications. Springer, 123–140.
[20]
eSTREAM: The ECRYPT Stream Cipher Project. Retrieved from http://www.ecrypt.eu.org/stream/.
[21]
Hassan Eldib and Chao Wang. 2014. Synthesis of masking countermeasures against side channel attacks. In Proceedings of the International Conference on Computer Aided Verification. Springer, 114--130.
[22]
G. Goodwill, B. Jun, J. Josh, R. Pankaj, et al. 2011. A testing methodology for side-channel resistance validation. In Proceedings of the NIST Non-invasive Attack Testing Workshop. 7, 115–136.
[23]
Andrei Homescu, Stefan Brunthaler, Per Larsen, and Michael Franz. 2013. Librando: transparent code randomization for just-in-time compilers. CCS-SIGSAC (2013), 993--1004.
[24]
M. Jauernig, M. Neugschwandtner, C. Platzer, and P. M. Comparetti. 2014. Lobotomy: An architecture for JIT spraying mitigation. In Proceedings of the Ninth International Conference on Availability, Reliability and Security (ARES’14). IEEE, 50–58.
[25]
P. Kocher, J. Jaffe, and B. Jun. 1999. Differential power analysis. In Proceedings of the Annual International Cryptology Conference. Springer, 388–397.
[26]
Pei Luo, Konstantinos Athanasiou, Liwei Zhang, Zhen Hang Jiang, Yunsi Fei, A. Adam Ding, and Thomas Wahl. 2017. Compiler-assisted threshold implementation against power analysis attacks. ICCD (Nov. 2017), 541--544.
[27]
mbedTLS library. Retrieved from https://tls.mbed.org/.
[28]
S. Mangard, E. Oswald, and T. Popp. 2007. Power Analysis Attacks: Revealing the Secrets of Smart Cards. 31.
[29]
T. Moos and A. Moradi. 2017. On the easiness of turning higher-order leakages into first-order. COSADE 10348 (2017), 153--170. Retrieved from www.scopus.com.
[30]
A. Moss, E. Oswald, D. Page, and M. Tunstall. 2012. Compiler assisted masking. LNCS 7428 (2012), 58--75.
[31]
Colin O’Flynn and Zhizhang Chen. 2016. Power analysis attacks against IEEE 802.15.4 nodes. In Proceedings of the International Workshop on Constructive Side-Channel Analysis and Secure Design (COSADE’16). 55--70.
[32]
Eyal Ronen, Colin O’Flynn, Adi Shamir, and Achi-Or Weingarten. 2016. IoT Goes Nuclear: Creating a ZigBee Chain Reaction. In Proceedings of the IEEE Symposium on Security and Privacy (SP’17). IEEE, 195–212.
[33]
Pascal Sasdrich, Amir Moradi, and Tim Güneysu. 2017. Hiding higher-order side-channel leakage. In Proceedings of the Cryptographers’ Track at the RSA Conference. Springer, 131–146.
[34]
Tobias Schneider and Amir Moradi. 2015. Leakage assessment methodology. In Proceedings of the International Workshop on Cryptographic Hardware and Embedded Systems. Springer, 495–513.
[35]
H. Seuschek and S. Rass. 2015. Side-channel leakage models for RISC instruction set architectures from empirical data. In Proceedings of the Euromicro Conference on Digital System Design (DSD’15). IEEE, 423–430.
[36]
A. Singh, M. Kar, S. Mathew, A. Rajan, V. De, and S. Mukhopadhyay. 2018. Exploiting on-chip power management for side-channel security. In Proceedings of the Design, Automation 8 Test in Europe Conference 8 Exhibition (DATE’18). IEEE, 401–406.
[37]
Niek Timmers, Albert Spruyt, and Marc Witteman. 2016. Controlling PC on ARM using fault injection. In Proceedings of the Workshop on Fault Diagnosis and Tolerance in Cryptography (FDTC’16). IEEE, 25–35.
[38]
Weize Yu and Selcuk Kose. 2018. Exploiting voltage regulators to enhance various power attack countermeasures. IEEE TETC 6, 2 (Apr. 2018), 244--257.

Cited By

View all
  • (2024)NIST CSF-2.0 Compliant GPU Shader ExecutionEngineering, Technology & Applied Science Research10.48084/etasr.735114:4(15187-15193)Online publication date: 2-Aug-2024
  • (2024)Investigating CRYSTALS-Kyber Vulnerabilities: Attack Analysis and MitigationCryptography10.3390/cryptography80200158:2(15)Online publication date: 19-Apr-2024
  • (2024)Combining Loop Shuffling and Code PolyMorphism for Enhanced AES Side-Channel SecurityConstructive Side-Channel Analysis and Secure Design10.1007/978-3-031-57543-3_14(260-280)Online publication date: 3-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Transactions on Architecture and Code Optimization
ACM Transactions on Architecture and Code Optimization  Volume 15, Issue 4
December 2018
706 pages
ISSN:1544-3566
EISSN:1544-3973
DOI:10.1145/3284745
Issue’s Table of Contents
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]

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 16 November 2018
Accepted: 01 September 2018
Revised: 01 July 2018
Received: 01 December 2017
Published in TACO Volume 15, Issue 4

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Side-channel attack
  2. compilation
  3. hiding
  4. polymorphism
  5. runtime code generation

Qualifiers

  • Research-article
  • Research
  • Refereed

Funding Sources

  • French National Research Agency (ANR) as part of the projects COGITO and PROSECCO
  • INS-2013

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)319
  • Downloads (Last 6 weeks)19
Reflects downloads up to 10 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2024)NIST CSF-2.0 Compliant GPU Shader ExecutionEngineering, Technology & Applied Science Research10.48084/etasr.735114:4(15187-15193)Online publication date: 2-Aug-2024
  • (2024)Investigating CRYSTALS-Kyber Vulnerabilities: Attack Analysis and MitigationCryptography10.3390/cryptography80200158:2(15)Online publication date: 19-Apr-2024
  • (2024)Combining Loop Shuffling and Code PolyMorphism for Enhanced AES Side-Channel SecurityConstructive Side-Channel Analysis and Secure Design10.1007/978-3-031-57543-3_14(260-280)Online publication date: 3-Apr-2024
  • (2023)Exploration of Power Side-Channel Vulnerabilities in Quantum Computer ControllersProceedings of the 2023 ACM SIGSAC Conference on Computer and Communications Security10.1145/3576915.3623118(579-593)Online publication date: 15-Nov-2023
  • (2023)Microarchitectural Side-Channel Threats, Weaknesses and Mitigations: A Systematic Mapping StudyIEEE Access10.1109/ACCESS.2023.327575711(48945-48976)Online publication date: 2023
  • (2023)A side-channel attack on a masked and shuffled software implementation of SaberJournal of Cryptographic Engineering10.1007/s13389-023-00315-313:4(443-460)Online publication date: 25-Apr-2023
  • (2023)Attacking Secure-Element-Hardened MCUboot Using a Low-Cost Fault Injection ToolkitInnovative Security Solutions for Information Technology and Communications10.1007/978-3-031-52947-4_10(126-143)Online publication date: 23-Nov-2023
  • (2022)Multi-variant Execution at the EdgeProceedings of the 9th ACM Workshop on Moving Target Defense10.1145/3560828.3564007(11-22)Online publication date: 11-Nov-2022
  • (2022)Code Polymorphism Meets Code Encryption: Confidentiality and Side-channel Protection of Software ComponentsDigital Threats: Research and Practice10.1145/34870584:2(1-27)Online publication date: 10-Mar-2022
  • (2022)Enhanced Obfuscation for Software Protection in Autonomous Vehicular Cloud Computing PlatformsIEEE Access10.1109/ACCESS.2022.315924910(33943-33953)Online publication date: 2022
  • Show More Cited By

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

HTML Format

View this article in HTML Format.

HTML Format

Get Access

Login options

Full Access

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media