Unser Kunde verkauft Systeme, welche sich über einen Webbrowser konfigurieren lassen. Das System wurde als deeply embedded System auf einem Mikrocontroller (Cortex-M) rein funktional entwickelt, ohne Datensicherheit zu berücksichtigen. Nun verlangte sein Kunde ein "System Hardening" bzw. "Security Hardening", d.h. dass die Cyber-Sicherheit erhöht werden muss. Dies sollte mit möglichst kleinen Software- und ohne Hardwareänderungen geschehen.
Nach einer Security-/ Threat-Analyse waren die neuen Anforderungen klar. Die wichtigste Änderung war das Upgrade auf SNMP v3. Da die bestehende Software-Plattform dafür keine Unterstützung bot, haben wir die Kombination aus Betriebssystem, Kommunikationsstacks und Bibliotheken neu evaluiert. Mit diesen Komponenten wurde dann das System umgesetzt und die Komponenten mit der Applikation integriert. Dafür wurde zusätzlich in Python eine automatisierte Testsuite aufgebaut, v.a. für die Kommunikationstests. Zu guter Letzt wurde unsere Implementation durch einen Partner einer vertieften Sicherheitsanalyse unterzogen, inklusive Durchführung von Penetration Tests.
In diesem Projekt haben wir basierend auf einem Cortex-M eine ganze Reihe von Web-Technologien eingesetzt: embedded WebServer, HTTP/ HTTPS, DHCP, NTP, REST API, TLS und natürlich SNMP v3. Auf dem Prozessor lief ein Echtzeit- Betriebssystem (RTOS) mit einem Flash Filesystem, welches die gewünschte SNMP Bibliotheken unterstützte.