MA: Signalerfassung und Signaldarstellung für Hardware-Fingerprinting auf eingeschränkten Geräten

Symbolbild zum Artikel. Der Link öffnet das Bild in einer großen Anzeige.

Sie können die Beschreibung der Arbeit hier herunterladen.

Einleitung
Beim Hardware-Fingerprinting eines seriellen Kommunikationsbusses und der Eigenschaften der angeschlossenen Komponenten wird die Kommunikation aufgezeichnet und als Zeitreihendaten dargestellt. Je nach Signal ist es erforderlich, das Signal über einen längeren Zeitraum zu erfassen. Daher kann der Rohdatensatz eine große Menge an Speicherplatz beanspruchen. Um solche Datensätze auf einem begrenzten eingebetteten Gerät zu erfassen und zu verarbeiten, müssen Methoden für eine effiziente Erfassung und eine verkleinerte Datendarstellung gefunden werden, wobei keine Informationen verloren gehen dürfen, die für die Bestimmung der Signaleigenschaften relevant sind. Die Erfassungsaufgabe wird mit einem ADC und einer entsprechenden Messschaltung erfüllt. In Bezug auf die Datendarstellung könnte eine mögliche Lösung darin bestehen, die Daten in einem Augendiagramm zu überlagern und so eine Wahrscheinlichkeitsdichtefunktion des Signals zu erstellen [1]. Eine andere Lösung könnte darin bestehen, das Fourier- [2] oder Wavelet-transformierte Signal [3] zu speichern.

Forschungsfrage
Wie können Zeitreihendaten auf einem begrenzten eingebetteten System für Hardware-Fingerprinting effizient erfasst, verarbeitet und dargestellt werden?

Ziele der Arbeit
In dieser Arbeit soll ein In-Circuit-Datenerfassungssystem für das Fingerprinting von seriellen Kommunikationsbussen entworfen und evaluiert werden. Die Implementierung erfolgt auf einem Mikrocontroller in der Programmiersprache C/C++ oder Rust.

Arbeitspakete (not limited to):

  • Literaturrecherche zu In-Circuit-Signalüberwachung und effizienten Signaldarstellungen
  • Systematisierung von Signaldarstellungsmethoden in Bezug auf Komplexität, Ausführungszeit und Speicher
  • Entwicklung eines In-Circuit-Monitoring-Systems
  • Definition der Anforderungen an das System (Abtastrate, Auflösung)
  • Entwurf einer Leiterplatte und Fertigung auf der Grundlage eines bereits bestehenden Systems/li>
  • Inbetriebnahme des entwickelten Systems
  • Definition von Anforderungen und Implementierung von In-Circuit-Monitoring-Software
  • Bewertung des Systems mit verschiedenen Methoden in Bezug auf Speicherplatzbedarf, Verarbeitungszeit oder Informationsgehalt

Deine Kenntnisse

  • Erfahrung in der hardwarenahen Programmierung von Echtzeitbetriebssystemen (freeRTOS, Zephyr,…) auf Mikroprozessoren (Arm Cortex, RISC-V, ESP)
  • Kenntnisse von Codierungstechniken, Low-Level-Schnittstellen (SPI, I2C, UART, RS-232, RS-485), Protokollen und Hardware-Peripheriegeräten
  • Vertraut im Umgang mit Compilern (GCC), Build-Systemen (Make, CMake) und Versionskontrollsystemen (GIT, SVN, …)
  • Kommunikationsfähigkeit und die Bereitschaft, sowohl im Team als auch eigenständig zu arbeiten
  • Gute Kenntnisse in einer Systemprogrammiersprache wie C, C++ oder Rust
  • Kenntnisse in einer höheren Programmiersprache sind von Vorteil (Python, Golang, JavaScript)
  • Fähigkeit, elektronische und mechanische Schaltpläne zu lesen und zu verstehen
  • Gute Englischkenntnisse

Literaturangaben

  1. H. Gong, M. Cheng, W. Shao, H. Li, L. Deng, Q. Yang, and D. Liu, “Machine learning assisted hardware fingerprint identification for TDM-PON from eye-diagram,” in 2021 asia communications and photonics conference (ACP), 2021, pp. 1–3.
  2. K. Ott and R. Mahapatra, “Continuous Authentication of Embedded Software,” in 2019 18th IEEE International Conference On Trust, Security And Privacy In Computing And Communications/13th IEEE International Conference On Big Data Science And Engineering (TrustCom/BigDataSE), 2019, pp. 128–135.
  3. M. Ronkin and D. Bykhovsky, “Passive Fingerprinting of Same-Model Electrical Devices by Current Consumption,” Sensors, vol. 23, no. 1, 1, p. 533, Jan. 2023.


Send request