Der Blätterkatalog benötigt Javascript.
Bitte aktivieren Sie Javascript in Ihren Browser-Einstellungen.
The Blätterkatalog requires Javascript.
Please activate Javascript in your browser settings.
25 2021 Elektronik 25 EmbEddEd TEchnology Um zu verhindern dass in der obigen Situation das Werkzeug ECLAIR eine Verletzung der Direktive 4 14 meldet kann man dem Werkzeug mitteilen dass es eine Funktion gibt in unserem Fall die Funktion check string for system der die verschmutzten Daten als Parameter übergeben werden und die durch ihren Return-Wert true oder false mitteilt ob die Daten verschmutzt sind oder nicht Diese Prüfung auf Verschmutzung kann beispielsweise durch eine Liste mit erlaubten Kommandos erfolgen Whitelisting d h die Funktion check string for system kennt alle erlaubten Kommandos und falls das zur Ausführung anstehende erlaubt ist wird true zurückgegeben ansonsten false Im unteren Teil von Bild 3 ist dargestellt dass abhängig vom Return-Wert von check string for system die Funktion system aufgerufen wird oder nicht Man kann sich auch vorstellen dass die Prüffunktion die verschmutzten Daten säubert sanitize beispielsweise unzulässige Parameter des Kommandos entfernt Festes Passwort Es gibt auch Security-Probleme die statische Analysewerkzeuge schwerlich finden können Dazu gehört beispielsweise ein fest programmiertes Passwort Hardcoded Password Dieses Security-Problem wird weder in CERT noch in Csecure erwähnt die Common Weakness Enumeration führt es als CWE-259 Use of Hardcoded Password Bild 4 zeigt solch ein Security-Pro blem das statische Analysewerkzeuge kaum aufdecken können nämlich die Benutzung eines fest codierten Passworts Im obigen Beispiel wird das initiale Passwort fest auf den Wert »123456« gesetzt Es war wohl beabsichtigt ein Passwort-Management zu implementieren aber aus irgendwelchen Gründen ist dies unterblieben Das führt dazu dass alle Systeme z B Webcam mit demselben einfachen bekannten Passwort ausgeliefert werden Das ist nun definitiv ein Security-Problem und kein Programmierfehler Ein statisches Analysewerkzeug kann nicht wissen dass eigentlich ein Passwort-Management implementiert werden sollte und kann deswegen nichts melden Vielleicht moniert es die leere Funktion set pw aber diese und ihr Aufruf muss es ja nicht geben sie könnten komplett fehlen Abhilfe schaffen eine Anforderung Requirement nach dem Passwort-Management und Tests die sie prüfen Fazit Statische Analysewerkzeuge sind nützlich wenn es darum geht Software auf mögliche Security-Probleme zu prüfen Dabei ist es nicht ausschlaggebend ob Codierrichtlinien für Safety z B MISRA oder Codierrichtlinien speziell für Security verwendet werden denn es gibt große Übereinstimmungen Aber nicht alle Vorgaben aus Codierrichtlinien zur Vermeidung von Safetyoder Security-Problemen sind entscheidbar und man muss mit False Positives und False Negatives rechnen die manuellen Aufwand erfordern Darüber hinaus Bild 4 Beispiel für ein Security-Problem das Werkzeuge kaum aufdecken können Bild Hitex gibt es Security-Probleme wie etwa festcodierte Passwörter denen mit statischen Analysewerkzeugen nicht beizukommen ist ak literatur [1] https cwe mitre org [2] https cve mitre org [3] ISo IEc TS 17961 2013 Information technology — Programming languages their environments system software interfaces — c Secure coding Rules geneva Switzerland ISo IEc nov 2013 [4] SEI cERT c coding Standard Rules for developing Safe Reliable and Secure Systems 2016th ed Software Engineering carnegie mellon University 2016 [5] ISo 26262 International Standard Road vehicles – Functional Safety Second edition 2018 [6] mISRA c 2012 guidelines for the use of the c language in critical systems horiba mira limited UK Edition 3 märz 2013 [7] mISRA c 2012 Amendment 1 — Additional security guidelines for mISRA c 2012 horiba mira limited UK Apr 2016 [8] mISRA c 2012 Addendum 2 — coverage of mISRA c 2012 including Amendment 1 against ISo IEc TS 17961 2013 “c Secure” 2nd ed horiba mira limited UK Jan 2018 [9] mISRA c 2012 Addendum 3 — cov - e rage of mISRA c 2012 including Amendment 1 against cERT c 2016 Edition horiba mira limited UK Jan 2018 [10] Statisches Analysewerkzeug von bUgSEng mehr Info www hitex de eclair Frank büchner hat ein Diplom in Informatik von der Technischen Hochschule Karlsruhe heute KIT Seit vielen Jahren widmet er sich dem Thema Testen und Softwarequalität Momentan arbeitet er als Principal Engineer Software Quality bei Hitex in Karlsruhe