Projects


C5: Security in Invasive Computing Systems

Principal Investigators:

Prof. F. Freiling, Prof. W. Schröder-Preikschat,
in cooperation with Mercator Fellow Prof. I. Verbauwhede

Scientific Researchers:

Dr. T. Müller, R. de Clercq, J. Götzfried, P. Maene

Abstract

Project C5 explores security aspects of invasive computing and resource-aware programming. Invasive MPSoC architectures will only be accepted if basic security properties are supported. The final goal is to ensure confidentiality, integrity, and availability in the presence of untrustworthy programs that compete for resources and/or can contain malicious functionality. This requires a comprehensive approach, addressing both hardware and software mechanisms. C5 is a new project established within the second fundung phase.

Synopsis

The scientific objective of C5 is to embed information flow protection into the invasive computing paradigm through all architectural design layers. Indeed, security and trust can only be provided if there is a chain of trust from the user application down to the hardware component. This concept has two aspects: there should be a correct execution of intended behaviour. But there should also be no loss of information through side-channels. This is specifically important for invasive computing since resource-aware programming offers a multitude of possibilities to convey information over unintended communication channels (side channels or covert channels over shared resources) between applications. The challenge lies in closing (or at least reducing the capacity) of all these channels even when applications share resources in an invasive computing architecture.

Security has a cost and no perfect security exists. Therefore, a critical measure with be the price of security. We will investigate which properties of an invasive platform benefit and which reduce security. As an example, invasion of resources is exclusive by default with run-to-completion semantics. Interestingly, this aspect supports information flow protection by default.

At the application level, we propose to embed information flow protection constraints into the language with which invasive programs formulate their claims. Information flow protection interacts with other requirements of the platform. For instance, stronger degrees of isolation imply more exclusive use of resources, which at the same time could also improve the predictability of execution. As another example, strong information flow protection might require processors at the border of an application to remain idle, and so security constraints can even be used to handle issues of dark silicon without additional performance penalty. We will investigate security requirements in relation with other requirements of invasive hardware.

Approach

The security investigation starts with an attack analysis. Our basic attacker model assumes that basic hardware and systems software are trustworthy, but that the code of invasive applications can be malicious at the level of the X10 programming language. As an example, we assume that Trojans can appear at the application software layer, but not at the hardware layer. The details of the attacker model together with the different levels of isolation will be studied in a separate work package. This again requires close cooperation with the other projects (especially the application projects D1 and D3).

Design for security requires a close interaction between hardware and software design. For instance, certain forms of memory protection can be enforced at compile time. In parallel, techniques to ensure security assuming arbitrary low-level application code (binary exploits) are explored. This is much more demanding and requires additional hardware support. The research challenge is to keep changes to hardware minimal, i.e. establish a provably minimal trusted computing base (TCB), and using the reconfigurability of an invasive architecture to establish this TCB dynamically when needed. The hardware aspects will be the main contribution of the Mercator fellow Ingrid Verbauwhede.

An important aspect of security is evaluation. The effectiveness of the proposed techniques will be analysed analytically as well as empirically by trying to construct covert channels on a real invasive multi-tile hardware architecture as prototyped in Z2. The cost of the different approaches will be compared to each other.

Publications

[1] Nidhi Anantharajaiah, Tamim Asfour, Michael Bader, Lars Bauer, Jürgen Becker, Simon Bischof, Marcel Brand, Hans-Joachim Bungartz, Christian Eichler, Khalil Esper, Joachim Falk, Nael Fasfous, Felix Freiling, Andreas Fried, Michael Gerndt, Michael Glaß, Jeferson Gonzalez, Frank Hannig, Christian Heidorn, Jörg Henkel, Andreas Herkersdorf, Benedict Herzog, Jophin John, Timo Hönig, Felix Hundhausen, Heba Khdr, Tobias Langer, Oliver Lenke, Fabian Lesniak, Alexander Lindermayr, Alexandra Listl, Sebastian Maier, Nicole Megow, Marcel Mettler, Daniel Müller-Gritschneder, Hassan Nassar, Fabian Paus, Alexander Pöppl, Behnaz Pourmohseni, Jonas Rabenstein, Phillip Raffeck, Martin Rapp, Santiago Narváez Rivas, Mark Sagi, Franziska Schirrmacher, Ulf Schlichtmann, Florian Schmaus, Wolfgang Schröder-Preikschat, Tobias Schwarzer, Mohammed Bakr Sikal, Bertrand Simon, Gregor Snelting, Jan Spieck, Akshay Srivatsa, Walter Stechele, Jürgen Teich, Furkan Turan, Isaías A. Comprés Ureña, Ingrid Verbauwhede, Dominik Walter, Thomas Wild, Stefan Wildermann, Mario Wille, Michael Witterauf, and Li Zhang. Invasive Computing. FAU University Press, August 16, 2022. [ DOI ]
[2] Martin Hecker, Simon Bischof, and Gregor Snelting. On time-sensitive control dependencies. ACM Trans. Program. Lang. Syst., 44(1):1–37, March 2022. [ DOI | http ]
Keywords: timing dependency, timing leak, Control dependency, program slicing
[3] Johannes Bechberger and Alexander Weigl. Upper bound computation of information leakages for unbounded recursion. In Radu Calinescu and Corina S. Păsăreanu, editors, Software Engineering and Formal Methods, pages 160–177, Cham, 2021. Springer International Publishing. [ DOI | http ]
[4] Angel Villar-Corrales, Franziska Schirrmacher, and Christian Riess. Deep learning architectural designs for super-resolution of noisy images. In IEEE International Conference on Acoustics, Speech and Signal Processing, ICASSP 2021, Toronto, ON, Canada, June 6-11, 2021, pages 1635–1639. IEEE, 2021. [ DOI ]
[5] Martin Hecker. Timing Sensitive Dependency Analysis and its Application to Software Security. PhD thesis, Karlsruher Institut für Technologie, Fakultät für Informatik, September 2020. [ DOI ]
[6] Paula Kaiser, Franziska Schirrmacher, Benedikt Lorch, and Christian Riess. Learning to decipher license plates in severely degraded images. In Pattern Recognition. ICPR International Workshops and Challenges - Virtual Event, January 10-15, 2021, Proceedings, Part VI, volume 12666 of Lecture Notes in Computer Science, pages 544–559. Springer, 2020. [ DOI ]
[7] Franziska Schirrmacher, Christian Riess, and Thomas Köhler. Adaptive quantile sparse image (aquasi) prior for inverse imaging problems. IEEE Trans. Computational Imaging, 6:503–517, 2020. [ DOI ]
[8] Franziska Schirrmacher, Benedikt Lorch, Bernhard Stimpel, Thomas Köhler, and Christian Riess. Sr^2: Super-resolution with structure-aware reconstruction. In IEEE International Conference on Image Processing, ICIP 2020, Abu Dhabi, United Arab Emirates, October 25-28, 2020, pages 533–537. IEEE, 2020. [ DOI ]
[9] Florian D. Loch, Martin Johns, Martin Hecker, Martin Mohr, and Gregor Snelting. Hybrid taint analysis for java ee. In Proceedings of the 35th Annual ACM Symposium on Applied Computing, SAC '20, pages 1716–1725, New York, NY, USA, 2020. Association for Computing Machinery. [ DOI | http ]
[10] Furkan Turan and Ingrid Verbauwhede. Trust in FPGA-accelerated Cloud Computing. ACM Computing Surveys, 53(6):128:1–128:28, 2020.
[11] Pieter Maene. Lightweight Roots of Trust for Modern Systems-on-Chip. Dissertation, Faculty of Engineering Science, KU Leuven, Belgium, October 2019.
[12] Alexander Würstlein and Wolfgang Schröder-Preikschat. T-IBE-T: Identity-based encryption for inter-tile communication. In Proceedings of the 12th European Workshop on Systems Security (EuroSec 2019), pages 1–6. ACM Digital Library, 2019. [ DOI ]
[13] Furkan Turan and Ingrid Verbauwhede. Compact and flexible fpga implementation of ed25519 and x25519. ACM Transactions on Embedded Computing Systems (TECS), 18(3):24, 2019.
[14] Furkan Turan and Ingrid Verbauwhede. Propagating trusted execution through mutual attestation. In 4th Workshop on System Software for Trusted Execution (SysTEX'19). ACM, 2019.
[15] Titouan Lazard, Johannes Götzfried, Tilo Müller, Gianni Santinelli, and Vincent Lefebvre. TEEshift: Protecting Code Confidentiality by Selectively Shifting Functions into TEEs. In Proceedings of the 3rd Workshop on System Software for Trusted Execution, SysTEX '18, pages 14–19. ACM, 2018. [ DOI | http ]
[16] Pieter Maene, Johannes Götzfried, Ruan de Clercq, Tilo Müller, Felix Freiling, and Ingrid Verbauwhede. Hardware-Based Trusted Computing Architectures for Isolation and Attestation. IEEE Transactions on Computers, 67(3):361–374, 2018. [ DOI ]
[17] Vincent Lefebvre, Gianni Santinelli, Tilo Müller, and Johannes Götzfried. Universal Trusted Execution Environments for Securing SDN/NFV Operations. In ARES 2018: International Conference on Availability, Reliability and Security. ACM, 2018. [ DOI ]
[18] Pieter Maene, Johannes Götzfried, Tilo Müller, Ruan de Clercq, Felix Freiling, and Ingrid Verbauwhede. Atlas: Application Confidentiality in Compromised Embedded Systems. IEEE Transactions on Dependable and Secure Computing, 2018. [ DOI ]
[19] Simon Bischof, Joachim Breitner, Denis Lohner, and Gregor Snelting. Illi isabellistes se custodes egregios praestabant. In Peter Müller and Ina Schaefer, editors, Principled Software Development: Essays Dedicated to Arnd Poetzsch-Heffter on the Occasion of his 60th Birthday, pages 267–282. Springer International Publishing, 2018. [ DOI | http ]
[20] Johannes Götzfried. RAM-Schranke: RAM-Verschlüsselung bei AMD und Intel. c't Magazin für Computertechnik, 10:174–179, 2018. [ http ]
[21] Ralph Palutke and Felix C. Freiling. Styx: Countering robust memory acquisition. Digital Investigation, 24:18–28, 2018. [ DOI | http ]
[22] David Übler, Johannes Götzfried, and Tilo Müller. Secure Remote Computation using Intel SGX. In Sicherheit 2018, Beiträge der 9. Jahrestagung des Fachbereichs Sicherheit der Gesellschaft für Informatik e.V. (GI), 25.-27.4.2018, Konstanz, pages 209–219. Gesellschaft für Informatik e.V., 2018. [ DOI | http ]
[23] Simon Bischof, Joachim Breitner, Jürgen Graf, Martin Hecker, Martin Mohr, and Gregor Snelting. Low-deterministic security for low-nondeterministic programs. Journal of Computer Security, 26:335–366, 2018. [ DOI ]
[24] Johannes Götzfried. Trusted Systems in Untrusted Environments: Protecting against Strong Attackers. Dissertation, Chair for IT Security Infrastructures, Department of Computer Science, Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany, 2018. [ http ]
[25] Mykola Protsenko. Securing the Android App Ecosystem: Obfuscation, Tamperproofing, and Malware detection. Dissertation, Department of Computer Science, Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany, 2017.
[26] Johannes Götzfried, Moritz Eckert, Sebastian Schinzel, and Tilo Müller. Cache Attacks on Intel SGX. In Proceedings of the Tenth European Workshop on System Security (EuroSec'17), pages 2:1–2:6. ACM, 2017. [ DOI | http ]
[27] Ruan de Clercq, Johannes Götzfried, David Übler, Pieter Maene, and Ingrid Verbauwhede. SOFIA: Software and Control Flow Integrity Architecture. Computers & Security, 68:16–35, 2017. [ DOI ]
[28] Pieter Maene, Johannes Götzfried, Ruan de Clercq, Tilo Müller, Felix Freiling, and Ingrid Verbauwhede. Hardware-based trusted computing architectures for isolation and attestation. IEEE Transactions on Computers, 2017. In press. [ DOI ]
[29] Job Noorman, Jo Van Bulck, Jan Tobias Mühlberg, Frank Piessens, Pieter Maene, Bart Preneel, Ingrid Verbauwhede, Johannes Götzfried, Tilo Müller, and Felix C. Freiling. Sancus 2.0: A low-cost security architecture for iot devices. ACM Trans. Priv. Secur., 20(3):7:1–7:33, 2017. [ DOI | http ]
[30] Anatoli Kalysch, Johannes Götzfried, and Tilo Müller. VMAttack: Deobfuscating Virtualization-Based Packed Binaries. In Proceedings of the 12th International Conference on Availability, Reliability and Security, pages 2:1–2:10. ACM, 2017. [ DOI | http ]
[31] Gabor Drescher, Christoph Erhardt, Felix Freiling, Johannes Götzfried, Daniel Lohmann, Pieter Maene, Tilo Müller, Ingrid Verbauwhede, Andreas Weichslgartner, and Stefan Wildermann. Providing security on demand using invasive computing. it – Information Technology, 58(6):281–295, September 30, 2016. [ DOI ]
[32] Andreas Weichslgartner, Stefan Wildermann, Johannes Götzfried, Felix Freiling, Michael Glaß, and Jürgen Teich. Design-time/run-time mapping of security-critical applications in heterogeneous mpsocs. In Proceedings of the 19th International Workshop on Software and Compilers for Embedded Systems (SCOPES), pages 153–162. ACM, May 23, 2016. [ DOI ]
[33] Michael Gruhn. Forensically Sound Data Acquisition in the Age of Anti-Forensic Innocence. Dissertation, Department of Computer Science, Friedrich-Alexander-Universität Erlangen-Nürnberg, Germany, 2016.
[34] Alexander Würstlein, Michael Gernoth, Johannes Götzfried, and Tilo Müller. Exzess: Hardware-based RAM Encryption against Physical Memory Disclosure. In Architecture of Computing Systems (ARCS'16). Springer, 2016. [ DOI | http ]
[35] Furkan Turan, Ruan de Clercq, Pieter Maene, Oscar Reparaz, and Ingrid Verbauwhede. Hardware Acceleration of a Software-based VPN. In 26th International Conference on Field Programmable Logic and Applications (FPL'16), pages 1–9. IEEE, 2016. [ DOI ]
[36] Johannes Götzfried, Tilo Müller, Gabor Drescher, Stefan Nürnberger, and Michael Backes. RamCrypt: Kernel-based Address Space Encryption for User-mode Processes. In 11th ACM Asia Conference on Computer and Communications Security (ASAICCS), Special Interest Group on Security, Audit and Control (SIGSAC). ACM, 2016. [ DOI | http ]
[37] Lars Richter, Johannes Götzfried, and Tilo Müller. Isolating Operating System Components with Intel SGX. In 1st Workshop on System Software for Trusted Execution (SysTEX'16). ACM, 2016. [ DOI | http ]
[38] Johannes Götzfried, Nico Dörr, Ralph Palutke, and Tilo Müller. HyperCrypt: Hypervisor-based Encryption of Kernel and User Space. In SBA Research, editor, 11th International Conference on Availability, Reliability and Security (ARES'16). IEEE, 2016. [ DOI | http ]
[39] Ruan de Clercq, Ronald de Keulenaer, Bart Coppens, Bohan Yang, Pieter Maene, Koen de Bosschere, Bart Preneel, Bjorn de Sutter, and Ingrid Verbauwhede. SOFIA: Software and Control Flow Integrity Architecture. In 2016 Design, Automation Test in Europe Conference Exhibition (DATE), pages 1172–1177. IEEE, 2016.
[40] Maximilian Seitzer, Michael Gruhn, and Tilo Müller. A bytecode interpreter for secure program execution in untrusted main memory. In 20th European Symposium on Research in Computer Security (ESORICS'15), pages 376–395. SBA Research, 2015.
[41] Pieter Maene and Ingrid Verbauwhede. Single-cycle implementations of block ciphers. In Lightweight Cryptography for Security and Privacy, Lecture Notes in Computer Science. Springer-Verlag, 2015.
[42] Christopher Kugler and Tilo Müller. Separated control and data stacks to mitigate buffer overflow exploits. In Endorsed Transactions on Security and Safety, pages 1–36. European Alliance for Innovation (EAI), Institute for Computer Sciences, Social Informatics and Telecommunications Engineering (ICST), 2015.
[43] Johannes Götzfried, Tilo Müller, Ruan de Clercq, Pieter Maene, Felix Freiling, and Ingrid Verbauwhede. Soteria: Offline software protection within low-cost embedded devices. In Proceedings of the 31th Annual Computer Security Applications Conference (ACSAC'15), pages 241–250. ACM, 2015. [ DOI | http ]
[44] Maxim Anikeev, Felix Freiling, Johannes Götzfried, and Tilo Müller. Secure garbage collection: Preventing malicious data harvesting from deallocated java objects inside the dalvik vm. In Journal of Information Security and Applications, pages 81–86, Amsterdam, 2015. Elsevier. [ DOI ]
[45] R. de Clercq, F. Piessens, D. Schellekens, and I. Verbauwhede. Secure interrupts on low-end microcontrollers. In IEEE 25th International Conference on Application-specific Systems, Architectures and Processors (ASAP), pages 147–152, June 2014. [ DOI ]
[46] Christopher Kugler and Tilo Müller. Scads: Separated control- and data-stacks (best student paper award). In Social Informatics ICST (The Institute for Computer Sciences and Telecommunications Engineering), editors, 10th International Conference on Security and Privacy in Communication Networks, 2014. [ .pdf ]
[47] Johannes Götzfried and Tilo Müller. Mutual authentication and trust bootstrapping towards secure disk encryption. In Transactions on Information and System Security (TISSEC), volume 17, New York, 2014. [ DOI | http ]
[48] Felix Freiling, Mykola Protsenko, and Yan Zhuang. An empirical evaluation of software obfuscation techniques applied to android apks. In Jingqiang Lin and Tilo Müller, editors, International Workshop on Data Protection in Mobile and Pervasive Computing, 2014.