TU Berlin

Software and Embedded Systems EngineeringMasterarbeiten

SESE-Logo in blau

Inhalt des Dokuments

zur Navigation

Zusätzlich zu den aufgeführten Themen können wir auch gerne weitere Themen anbieten. Also wenn ihr Interesse habt, kommt vorbei!
Kontakt: Joachim Fellmuth

Verifikation der Security Eigenschaften von Maschinencode

Die Digitalisierung der Gesellschaft, z.B. durch Trends wie das Internet of Things, führt zu einer Verzahnung unseres Alltages mit vielen vernetzten Geräten, sog. Cyber-Physical Systems. Die aktuelle Entwicklung zeigt dabei, dass gerade Geräte, mit denen wir in sensiblen Bereichen umgehen, häufig nicht die dafür eigentlich notwendige Sicherheit gewärleisten können. Seien es Botnets, bestehend aus millionen von Webcams und intelligenten Küchengeräten, oder auch smarte Fernseher, die heimlich in eine Abhörstation direkt im Wohnzimmer umfunktioniert werden: Die Möglichkeiten nehmen zu, die Bedrohungen auch.

Damit die Nutzer den Systemen wieder vertrauen können, müssen sie sich selbst von deren korrektem Verhalten überzeugen können. Das ist jedoch leichter gesagt als getan. Die wenigsten Geräte werden mit Quellcode ausgeliefert, sodass eine Analyse auf dem ungleich komplexeren Maschinencode vorgenommen werden muss. Gleichzeitig kann beim Nutzer kein tiefgehendes Verständnis der Analyse von Hard- und Software vorausgesetzt werden. Der Prozess muss also automatisch anwendbar sein und in einem überschaubaren zeitlichen Rahmen korrekte Ergebnisse liefern.

Wir forschen daher an Methoden mit denen auch komplexer Maschinencode auf die Einhaltung von Sicherheitsrichtlinien, wie z.B. Vertraulichkeit von Information, überprüft werden kann. In diesem Spannungsfeld behandeln wir statische und dynamische Programm- und Verhaltensanalysen, wie z.B. Self-Composition oder Symbolic Execution.

Beispielthemen:

  • Erweiterung eines multi-execution Frameworks
  • Noninterferenceanalyse von symbolic traces

Ansprechpartner: Tobias Pfeffer

Security mit Artificial Software Diversity in Echtzeitsystemen

Cyber-Physical Systems (CPS) haben einen immer größer werdenen Einfluss auf unser Leben, da immer mehr Systeme durch Computer gesteuert werden, die untereinander stark vernetzt und auch mit dem Internet verbunden sind. Unter diesen Systemen sind auch harte Echtzeitsysteme wie Airbags und ABS Controller, bei denen verpasste Zeitschranken als Systemversagen gewertet werden. Wenn eine solche Systemfunktionalität sicherheitskritisch ist, z.B. das Auslösen des Airbags, muss der Entwickler Sicherheits- und Zeitgarantien liefern.

Wenn sicherheitskritische Systeme potentiellen Angreifern ausgesetzt sind, gehören zu den Sicherheitsgarantien auch Themen aus dem Bereich Security. Besonders Kontrollflussattacken sind eine Gefahr für CPS. Bestehende Ansätze zum Schutz können, z.B. wegen begrenzten Ressourcen und Betriebssystemfunktionalitäten, aktuell oft nicht angewandt werden oder sind nicht wirksam genug.

Unsere Arbeit beschäftigt sich mit der Entwicklung von Methoden, durch die Artificial Software Diversity, ein nachgewiesen wirksamer Schutz gegen viele Angriffe, auch in sicherheitskritischen Echtzeitsytemen zum Einsatz kommen kann. Dabei arbeiten wir mit Analyse und Manipulation von Low-level Code Repräsentationen, wie Assembler, aber auch mit verschiedenen Aspekten der statischen Worst-Case-Execution-Time (WCET) Analyse.

Beispielthemen:

  • Entwicklung eines Diversity-Ansatzes zur Load-Time für Echtzeitsysteme
  • Erweiterung von bestehenden statischen WCET Analysen für Caches und Sprungvorhersage, so dass sie Diversity unterstützen

Ansprechpartner:

Analyse von natürlichem Quellcode mittels maschinellen Lernens

In vielen Phasen der Softwarentwicklung spielt die Analyse existierenden Quellcodes eine wichtige Rolle.
Einerseits sind das klassische formalisierbare Aufgaben, die mit statischer Analyse lösbar sind. Andererseits gibt es Aufgaben, wie die Rückverfolgung von Quellcode zu seinen Anforderungen und die Identifizierung von Cross-Cutting-Concerns, die nicht bzw. sehr schwer zu formalisieren sind.
Insbesondere letzere Aufgaben müssen arbeitsintensiv und manuell bearbeitet werden, da diese häufig mit natursprachlichen Aspekten des Quellcodes verbunden sind.
Natursprachlichen Informationen im Quellcode vermitteln die Absicht des Entwicklers und ermöglichen eine effektive Kommunikation im Team.
Eine Teilautomatisierung dieser Aufgaben könnte erhebliche Kosten der Softwareentwicklung reduzieren.

Um solche natursprachlichen Aspekte des Quellcodes zu erfassen sowie seine syntaktische Struktur und Verhaltenseigenschaften zu berücksichtigen, eignen sich Verfahren des maschinellen Lernens, die große Mengen an öffentlich verfügbarem Quellcode verarbeiten können.
Dafür sind entsprechende Methoden, wie graphenbasierte Architekturen für neuronale Netze, sowie umfassende Trainingsdaten notwendig.
Für manche Aufgaben, wie die Rückverfolgung von Quellcode zu seinen Anforderungen, ist die Größe der Datenbestände aufgrund der manuellen und arbeitsintensiven Aufbereitung der Daten stark eingeschränkt.
In diesen Fällen eignet sich das sogenannte Transfer Learning, bei dem Modelle in einer verwandten Aufgabe mit großen Datenbeständen vortrainiert werden.

Der Fokus unserer Forschung liegt auf Methoden des maschinellen Lernens, die Quellcode in seinen drei Dimensionen analysieren können: syntaktische Struktur, Verhaltenseigenschaften und natursprachliche Aspekte.
In diesem Rahmen generieren wir Datenbestände für wichtige Quellcode-Analyseaufgaben, entwickeln passende neuronale Architekturen und integrieren Transfer Learning in Analysen mit unzureichenden Datenbeständen.

Beispielthemen:

  • Entwicklung und Evaluation neuronaler Netze zur Quellcodeanalyse
  • Erstellung und Validierung von Datenbeständen für Quellcodeanalyseaufgaben
  • Anwendung und Evaluation von Methoden des Transfer Learnings zur Quellcodeanalyse

Ansprechpartner: Guilherme Azzi

Trust and Confidentiality of Goals in multi-agent Reinforcement Learning

Recent advances in machine learning lead to its promising but critical application to complex cyber physical systems such as autonomous automobile environments. Particularly, advancements in deep neural networks enable the effective utilization of function approximation in reinforcement learning (RL). This integration is called deep reinforcement learning that allows an agent to learn an effective behavioral policy in (approximated) high dimensional state and action spaces.

An essential element of reinforcement learning is the reward signal that rewards or penalizes an agent based on its actions. Through samples of state-action-reward trajectories, the agent learns to maximize its expected return (sum of rewards). Thus, the reward implicitly specifies the desired behavior of the agent. There are several methods that focus on structuring this methodology. For that matter, an important field of research is hierarchical reinforcement learning with temporal abstractions such as options, concurrent activities and pseudo-reward functions. In complex multi-agent applications, several entities operate in a shared environment to fulfill shared goals as well as private ones. Additionally, a single entity may be represented by a single RL agent or as a combination of multiple RL agents. Efficient coordination of agents to work together is therefore necessary and yields potential improvements. In order to achieve this, agents must establish trust even when some of their goals should remain confidential.

In our research we aim at the integration of goal-based behavior into reinforcement learning agents. Therefore, our approach is to encode goals into the rewarding aspect of reinforcement learning. To ensure secure cooperation of agents, we develop the concept of trust and confidentiality on goals and examine their oppositional characteristics.

Example Topics:

  • Specification of goals with respect to hierarchical reinforcement learning
  • Establishment of trust on goals in multi-agent environments
  • Guarantees on the confidentiality of goals

Contact: Simon Schwan

Automotive System Engineering

In Kooperation mit Assystem Germany bieten wir Abschlussarbeiten aus dem Bereich der Fahrzeugentwicklung an. Diese umfassen Themen aus aktuellen Projekten, die direkt im Hause Assystem in Berlin entwickelt werden.

Themen:

Ansprechpartner: Herr Uwe Becker (career (at) de.assystem.com)

Navigation

Direktzugang

Schnellnavigation zur Seite über Nummerneingabe