12 research outputs found
Instruction Caches in Static WCET Analysis of Artificially Diversified Software
Artificial Software Diversity is a well-established method to increase security of computer systems by thwarting code-reuse attacks, which is particularly beneficial in safety-critical real-time systems. However, static worst-case execution time (WCET) analysis on complex hardware involving caches only delivers sound results for single versions of the program, as it relies on absolute addresses for all instructions. To overcome this problem, we present an abstract interpretation based instruction cache analysis that provides a safe yet precise upper bound for the execution of all variants of a program. We achieve this by integrating uncertainties in the absolute and relative positioning of code fragments when updating the abstract cache state during the analysis. We demonstrate the effectiveness of our approach in an in-depth evaluation and provide an overview of the impact of different diversity techniques on the WCET estimations
Model checking SystemC designs using timed automata
SystemC is widely used for modeling and simulation in hard-ware/software co-design. Due to the lack of a complete for-mal semantics, it is not possible to verify SystemC designs. In this paper, we present an approach to overcome this prob-lem by defining the semantics of SystemC by a mapping from SystemC designs into the well-defined semantics of Uppaal timed automata. The informally defined behavior and the structure of SystemC designs are completely preserved in the generated Uppaal models. The resulting Uppaal models allow us to use the Uppaal model checker and the Uppaal tool suite, including simulation and visualization tools. The model checker can be used to verify important properties such as liveness, deadlock freedom or compliance with tim-ing constraints. We have implemented the presented trans-formation, applied it to two examples and verified liveness, safety and timing properties by model checking, thus show-ing the applicability of our approach in practice
Absicherung von cyber-physischen Systemen durch künstliche Software-Diversität
We are surrounded by more and more CPS, controlling multiple aspects of our lives, including safety-critical tasks where consequences of failure can be catastrophic. We put a lot of trust in them, but that is not always justified. They are integrated into a physical environment and are therefore often constrained to limited resources, and at the same time, they are incredibly complex. Real-time systems with strict timing bounds have to guarantee that activities finish before their deadline is reached, in addition to the functional requirements of those activities. Ensuring the quality of such systems is expensive and complicated.
Meanwhile, cyber attacks threaten CPS just as any computing system. In particular, the widespread use of unsafe languages and limited operating system protections make control-flow attacks dangerous to smaller CPS. Out of these attacks, code-reuse attacks are the hardest to defend against, and there exists no capable solution for resource-constrained safety-critical real-time systems.
This thesis presents WCET-aware diversity as an effective countermeasure against code-reuse attacks on resource-constrained and safety-critical real-time systems. It is based on fine-grained artificial software diversity on the basic block level, where independent code fragments are reordered at random for every variant or execution. We enhance this technique for higher security and lower WCET estimates. We use static WCET analysis to obtain detailed timing information. Using that, we can identify non-critical sections where we insert instructions for finer diversity. We propose static analyses for speculative hardware, specifically caches and branch predictors, whose timing is impacted by diversity, invalidating existing analyses. Our novel analyses deliver WCET estimates that are valid for all program variants. Additionally, we use the analyses to further optimize fragmentation in critical locations to increase the precision of WCET analyses with a minimal sacrifice in security.
We have implemented the approach in our diversification engine, accompanied by static timing analyses implemented in the open-source WCET-analyzer OTAWA. We performed extensive evaluation using two different sets of benchmark programs. The results show that the timing estimates for our diversified programs are tight despite the uncertainty introduced through diversification. Furthermore, WCET-aware diversity offers a high level of security through fine-grained diversification, which can be increased without impacting the WCET. Finally, we demonstrate the effectiveness of our countermeasure using a pacemaker case study with realistic size and hardware.In der heutigen Welt sind wir von immer mehr Cyber-Physischen Systemen (CPS) umgeben, die viele Aspekte unseres Lebens überwachen und steuern. Darunter sind auch sicherheitskritische Anwendungen, in denen Fehlverhalten katastrophische Konsequenzen haben kann. Wir schenken diesen Systemen viel Vertrauen, jedoch ist dies nicht immer gerechtfertigt. Diese Systeme sind in eine physische Umgebung integriert und haben dadurch oft nur beschränkte Ressourcen zur Verfügung, dennoch sind sie gleichzeitig sehr komplex. Für Echtzeitsysteme muss zusätzlich die Einhaltung fester Zeitgrenzen garantiert werden. Die Qualitätssicherung ist teuer und anspruchsvoll. Unabhängig davon sind CPS genauso durch Cyberangriffe bedroht wie andere Systeme. Kontrollflussattacken sind hier besonders relevant, durch die weitverbreitete Verwendung von unsicheren Sprachen und die eingeschränkte Verfügbarkeit von Schutzmaßnahmen der Betriebssysteme. Unter den Kontrollflussattacken sind Code-Reuse-Attacken die, die am schwersten zu verteidigen sind, und bisher existiert keine leistungsfähige Lösung für ressourcenbeschränkte und sicherheitskritische Echtzeitsysteme.
In dieser Arbeit stellen wir WCET-aware diversity vor, eine wirksame Verteidigungstechnik gehen Kontrollflussattacken auf ressourcenbeschränkte und sicherheitskritische Echtzeitsysteme. Es basiert auf feingranularer künsticher Software-Diversität auf Basic-Block-Level. Hierbei werden unabhängige Code-Fragmente vor der Ausführung zufällig umsortiert. Wir erweitern diese Technik für größere Sicherheit und genauere Schätzungen der maximalen Ausführungszeit (WCET). Wir verwenden statische WCET-Analysen, um mit detaillierten Informationen zur Ausführungszeit nicht-zeitkritische Teile der Programme zu identifizieren, in die wir Instruktionen für eine feinere Diversität einfügen können. Unsere neuen Analysen ermitteln WCET-Schätzungen, die für alle Programmvarianten gültig sind. Außerdem verwenden wir die Ergebnisse dieser Analysen, um die Fragmentierung so zu optimieren, dass die Genauigkeit der Analyse wesentlich steigt, bei nur geringfügigen Sicherheits-Einbußen.
Wir haben unseren Ansatz in der Diversification Engine implementiert, des Weiteren haben wir unsere statischen Ausführungszeitanalysen in OTAWA, einem Open-Source-Tool für Ausführungszeitanalysen, implementiert. Wir haben alle Aspekte unseres Ansatzes ausführlich unter Verwendung zweier Benchmark-Suiten evaluiert. Die Ergebnisse der Evaluation zeigen, dass die von unseren Analysen geschätzten maximalen Ausführungszeiten trotz der durch die Diversität verursachten Ungewissheit \emph{genau }sind. Außerdem bietet WCET-aware diversity ein hohes Maß an Sicherheit durch feingranulare Diversität, die sogar noch erhöht werden kann ohne dabei die maximale Ausführungszeit zu beeinträchtigen. Die Wirksamkeit unserer Verteidigungstechnik demonstrieren wir anhand einer Fallstudie in Form eines einfachen Herzschrittmachers mit Code-Größe und Hardware entsprechend einem realistischen CPS
Temperatur
PTB-Mitteilungen. Band 117 (2007), Heft 3, S. 221 - 293. ISSN 0030-834X1.: Buck, Wolfgang: Die Temperatur – eine Einführung
2.: Strehlow, Peter und Joachim Seidel: Definition der Temperatur und ihre Grenzen
3.: Seidel, Joachim, Jost Engert, Bernd Fellmuth, Joachim Fischer, Jürgen Hartmann, Jörg Hollandt und Erich Tegeler: Die Internationalen Temperaturskalen: ITS-90 und PLTS-2000
4.: Quinn, Terry: A short history of temperature scales
5.: Rudtsch, Steffen und Lutz Wolber: Verbesserte Fixpunkte der ITS-90
6.: Hartmann, Jürgen, Frank Edler und Klaus Anhalt: Neuartige eutektische Metall-Kohlenstoff-Hochtemperaturfixpunkte für die Thermometrie
7.: Edler, Frank und Jost Engert: Rauschthermometrie bei tiefen und hohen Temperaturen
8.: Tegeler, Erich: Die PTB und die metrologische Infrastruktur für die Messgröße Temperatur
9.: Hollandt, Jörg, Jürgen Hartmann, Berndt Gutschwager und Ortwin Struß: Strahlungsthermometrie – Temperaturen berührungslos messen
10.: Seidel, Joachim und Andreas Steiger: Plasmen – Materie und Strahlung bei sehr hohen Temperaturen
11.: Fellmuth, Bernd, Wolfgang Buck, Joachim Fischer, Christof Gaiser und Joachim Seidel: Neudefinition der Basiseinheit Kelvi