skip to main content
10.1145/2818000.2856129acmotherconferencesArticle/Chapter ViewAbstractPublication PagesacsacConference Proceedingsconference-collections
research-article

Soteria: Offline Software Protection within Low-cost Embedded Devices

Published: 07 December 2015 Publication History

Abstract

Protecting the intellectual property of software that is distributed to third-party devices which are not under full control of the software author is difficult to achieve on commodity hardware today. Modern techniques of reverse engineering such as static and dynamic program analysis with system privileges are increasingly powerful, and despite possibilities of encryption, software eventually needs to be processed in clear by the CPU. To anyhow be able to protect software on these devices, a small part of the hardware must be considered trusted. In the past, general purpose trusted computing bases added to desktop computers resulted in costly and rather heavyweight solutions. In contrast, we present Soteria, a lightweight solution for low-cost embedded systems. At its heart, Soteria is a program-counter based memory access control extension for the TI MSP430 microprocessor. Based on our open implementation of Soteria as an openMSP430 extension, and our FPGA-based evaluation, we show that the proposed solution has a minimal performance, size and cost overhead while effectively protecting the confidentiality and integrity of an application's code against all kinds of software attacks including attacks from the system level.

References

[1]
Barak, B., Impagliazzo, O. G. R., Rudich, S., Sahai, A., Vadhan, S., and Yan, K. On the (Im)Possibility of Obfuscating Programs. In CRYPTO (Proceedings of the 21st Annual International Cryptology Conference on Advances in Cryptology) (Santa Barbara, California, USA, Aug. 2001), D. B. Joe Kilian, Ed., Springer-Verlag, pp. 1--18.
[2]
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 (OSDI 14) (Oct. 2014), USENIX Association, pp. 267--283.
[3]
Bendersky, E. pyelftools -- Library for analyzing ELF files and DWARF debugging information, Feb. 2015.
[4]
Bogdanov, A., Knežević, M., Leander, G., Toz, D., Varici, K., and Verbauwhede, I. Spongent: A lightweight hash function. In Cryptographic Hardware and Embedded Systems -- CHES 2011, B. Preneel and T. Takagi, Eds., vol. 6917 of Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2011, pp. 312--325.
[5]
Canetti, R., and Dakdouk, R. R. Obfuscating Point Functions with Multibit Output. In EUROCRYPT '08 (Proceedings of the theory and applications of cryptographic techniques 27th annual international conference on Advances in cryptology) (Apr. 2008), Springer-Verlag, Berlin, pp. 489--508.
[6]
Chikofsky, E. J., and Cross II, J. H. Reverse Engineering and Design Recovery: A Taxonomy. IEEE Softw. 7, 1 (Jan. 1990), 13--17.
[7]
Clercq, R. D., Schellekens, D., Piessens, F., and Verbauwhede, I. Secure Interrupts on Low-End Microcontrollers. In 25th IEEE International Conference on Application-specific Systems, Architectures and Processors (ASAP 2014) (2014), IEEE, pp. 1--6.
[8]
Collberg, C., and Nagra, J. Surreptitious Software: Obfuscation, Watermarking and Tamperproofing for Software Protection. Addison-Wesley Longman, Amsterdam, July 2009.
[9]
Daemen, J., and Rijmen, V. The Block Cipher Rijndael. In Smart Card Research and Applications, J.-J. Quisquater and B. Schneier, Eds., vol. 1820 of Lecture Notes in Computer Science. Springer Berlin Heidelberg, 2000, pp. 277--284.
[10]
Dworkin, M. Recommendation for Block Cipher Modes of Operation: Galois/Counter Mode (GCM) for Confidentiality and Authentication, May 2012.
[11]
Eldefrawy, K., Francillon, A., Perito, D., and Tsudik, G. SMART: Secure and Minimal Architecture for (Establishing a Dynamic) Root of Trust. In 19th Annual Network and Distributed System Security Symposium (San Diego, United States, Feb. 2012).
[12]
Fouque, P.-A., Martinet, G., Valette, F., and Zimmer, S. On the Security of the CCM Encryption Mode and of a Slight Variant. In Applied Cryptography and Network Security, vol. 5037 of Lecture Notes in Computer Science. 2008, pp. 411--428.
[13]
Francillon, A., Nguyen, Q., Rasmussen, K. B., and Tsudik, G. A minimalist approach to remote attestation. In Proceedings of the Conference on Design, Automation & Test in Europe (3001 Leuven, Belgium, Belgium, 2014), DATE '14, European Design and Automation Association, pp. 244:1--244:6.
[14]
Garg, S., Gentry, C., Halevi, S., Raykova, M., Sahai, A., and Water, B. Candidate Indistinguishability Obfuscation and Functional Encryption for all circuits. In IEEE 54th Annual Symposium on Foundations of Computer Science (FOCS) (Berkeley, CA, Oct. 2013), pp. 40--49.
[15]
Gentry, C. Fully Homomorphic Encryption Using Ideal Lattices. In Proceedings of the Forty-first Annual ACM Symposium on Theory of Computing (New York, NY, USA, 2009), STOC '09, ACM, pp. 169--178.
[16]
Hoekstra, M., Lal, R., Pappachan, P., Rozas, C., and del Cuvillo, V. P. J. Using Innovative Instructions to Create Trustworthy Software Solutions. Tech. rep., Intel Corporation, 2013.
[17]
Ittai Anati and Shay Gueron and Simon P Johnson and Vincent R Scarlata. Innovative Technology for CPU Based Attestation and Sealing. Tech. rep., Intel Corporation, 2013.
[18]
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 (New York, NY, USA, 2014), EuroSys '14, ACM, pp. 10:1--10:14.
[19]
Lattner, C., and Adve, V. LLVM: A Compilation Framework for Lifelong Program Analysis & Transformation. In Proceedings of the International Symposium on Code Generation and Optimization (CGO'04) (Palo Alto, California, Mar 2004).
[20]
McCune, J. M., Parno, B. J., Perrig, A., Reiter, M. K., and Isozaki, H. Flicker: An Execution Infrastructure for Tcb Minimization. In Proceedings of the 3rd ACM SIGOPS/EuroSys European Conference on Computer Systems 2008 (New York, NY, USA, 2008), Eurosys '08, ACM, pp. 315--328.
[21]
McKeen, F., Alexandrovich, I., Berenzon, A., Rozas, C., Shafi, H., Shanbhogue, V., and Savagaonkar, U. Innovative Instructions and Software Model for Isolated Execution. Tech. rep., Intel Corporation, 2013.
[22]
Noorman, J., Agten, P., Daniels, W., Strackx, R., Herrewege, A. V., Huygens, C., Preneel, B., Verbauwhede, I., and Piessens, F. Sancus: Low-cost trustworthy extensible networked devices with a zero-software trusted computing base. In Proceedings of the 22th USENIX Security Symposium, Washington, DC, USA (2013), pp. 479--494.
[23]
Rogaway, P., Bellare, M., and Black, J. OCB: A Block-cipher Mode of Operation for Efficient Authenticated Encryption. ACM Trans. Inf. Syst. Secur. 6, 3 (Aug. 2003), 365--403.
[24]
Santos, N., Raj, H., Saroiu, S., and Wolman, A. Using ARM Trustzone to Build a Trusted Language Runtime for Mobile Applications. In Proceedings of the 19th International Conference on Architectural Support for Programming Languages and Operating Systems (New York, NY, USA, 2014), ASPLOS '14, Microsoft Research, ACM, pp. 67--80.
[25]
Strackx, R. Security Primitives for Protected-Module Architectures Based on Program-Counter-Based Memory Access Control. PhD thesis, Department of Computer Science, KU Leuven, December 2014.
[26]
Strackx, R., Noorman, J., Verbauwhede, I., Preneel, B., and Piessens, F. Protected software module architectures. In ISSE 2013 Securing Electronic Business Processes, Information Security Solutions Europe (2013), H. Reimer, N. Pohlman, and W. Schneider, Eds., Springer, pp. 241--251.
[27]
Tanenbaum, A. S. Modern Operating Systems, 3rd ed. Prentice Hall Press, NJ, USA, 2008.
[28]
Texas Instruments. GCC - Open Source Compiler for MSP430 Microcontrollers, Feb. 2015.
[29]
Texas Instruments. Ultra-Low-Power MSP430 Microcontroller, Feb. 2015.
[30]
Trusted Computing Group (TCG), Incorporated. Trusted Platform Module (TPM) Part 1, 2 and 3: Design Principles, Structures, and Commands, Specification Version 1.2, Revision 116 ed., Mar. 2011.
[31]
Wee, H. On Obfuscating Point Functions. In STOC '05 (Proceedings of the thirty-seventh annual ACM symposium on Theory of computing) (Baltimore, MD, USA, Apr. 2005), ACM, NY, pp. 523--532.
[32]
Whiting, D., Housley, R., and Ferguson, N. Counter with CBC-MAC (CCM). RFC 3610 (Informational), Sept. 2003.

Cited By

View all
  • (2022)Mind the Gap: Studying the Insecurity of Provably Secure Embedded Trusted Execution Architectures2022 IEEE Symposium on Security and Privacy (SP)10.1109/SP46214.2022.9833735(1638-1655)Online publication date: May-2022
  • (2021)Embedded LUKS (E-LUKS): A Hardware Solution to IoT SecurityElectronics10.3390/electronics1023303610:23(3036)Online publication date: 5-Dec-2021
  • (2021)A Survey on Recent Advanced Research of CPS SecurityApplied Sciences10.3390/app1109375111:9(3751)Online publication date: 21-Apr-2021
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Other conferences
ACSAC '15: Proceedings of the 31st Annual Computer Security Applications Conference
December 2015
489 pages
ISBN:9781450336826
DOI:10.1145/2818000
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 the author(s) 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].

In-Cooperation

  • ACSA: Applied Computing Security Assoc

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 07 December 2015

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. Embedded Systems
  2. Software Protection
  3. Trusted Computing

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

ACSAC 2015

Acceptance Rates

Overall Acceptance Rate 104 of 497 submissions, 21%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)22
  • Downloads (Last 6 weeks)1
Reflects downloads up to 19 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2022)Mind the Gap: Studying the Insecurity of Provably Secure Embedded Trusted Execution Architectures2022 IEEE Symposium on Security and Privacy (SP)10.1109/SP46214.2022.9833735(1638-1655)Online publication date: May-2022
  • (2021)Embedded LUKS (E-LUKS): A Hardware Solution to IoT SecurityElectronics10.3390/electronics1023303610:23(3036)Online publication date: 5-Dec-2021
  • (2021)A Survey on Recent Advanced Research of CPS SecurityApplied Sciences10.3390/app1109375111:9(3751)Online publication date: 21-Apr-2021
  • (2021)Securing Interruptible Enclaved Execution on Small MicroprocessorsACM Transactions on Programming Languages and Systems10.1145/347053443:3(1-77)Online publication date: 3-Sep-2021
  • (2021)Lightweight Hardware-Based Memory Protection Mechanism on IoT Processors2021 IEEE 30th Asian Test Symposium (ATS)10.1109/ATS52891.2021.00015(13-18)Online publication date: Nov-2021
  • (2020)RIMIProceedings of the 39th International Conference on Computer-Aided Design10.1145/3400302.3415727(1-9)Online publication date: 2-Nov-2020
  • (2020)Provably Secure Isolation for Interruptible Enclaved Execution on Small Microprocessors2020 IEEE 33rd Computer Security Foundations Symposium (CSF)10.1109/CSF49147.2020.00026(262-276)Online publication date: Jun-2020
  • (2019)Atlas: Application Confidentiality in Compromised Embedded SystemsIEEE Transactions on Dependable and Secure Computing10.1109/TDSC.2018.285825716:3(415-423)Online publication date: 1-May-2019
  • (2019)SIA: Secure Intermittent Architecture for Off-the-Shelf Resource-Constrained Microcontrollers2019 IEEE International Symposium on Hardware Oriented Security and Trust (HOST)10.1109/HST.2019.8740834(208-217)Online publication date: May-2019
  • (2018)NemesisProceedings of the 2018 ACM SIGSAC Conference on Computer and Communications Security10.1145/3243734.3243822(178-195)Online publication date: 15-Oct-2018
  • 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