qa misra

Kodierungs- und Sicherheitsstandards
automatisiert einhalten

qa misra

Kodierungs- und Sicherheitsstandards
automatisiert einhalten

Damit Ihre Software sicherheitskritischen Standards entspricht

Die Entwicklung von QA-MISRA fand in enger Zusammenarbeit mit Experten des MISRA Komitees statt. Wie sind angezeigte MISRA-Verletzungen zu verstehen und wie sind sie zu verbessern? Hierfür steht den Entwicklern eine umfassende Knowledge-Base zur Verfügung. Umfangreicher Beispielcode ist Teil des Sets und führt schnell zu einem besseren Verständnis.

  • Mit eingebauter Zukunft
    Wohin auch immer sich der Markt der Softwareentwicklung bewegen wird, mit QA-MISRA sind Sie auf der sicheren Seite. Denn als „Industriestandard“ wird das Regelwerk von MISRA seine Stellung halten und ausbauen.

  • Konfigurierbar
    Was QA-MISRA besonders auszeichnet: es ist konfigurierbar und kann so individuell auf die Anforderungen in jedem Programmierumfeld zugeschnitten werden. Es ist somit auch möglich ein unternehmensspezifisches MISRA-Subset zu definieren und auf Einhaltung zu prüfen.

  • Messbar bessere Software
    QA-MISRA sorgt dafür, dass Ihre Software den hohen Anforderungen der geforderten Standards (z. B. MISRA) entspricht. Es entdeckt schnell und effizient Fehler, Inkonsistenzen, veraltete Features und allgemeine Verletzungen des Standards. Fehler können in einem Stadium behoben werden, in dem dies noch kostengünstig geschehen kann.

  • Besseres Verständnis – konsistente Entwicklung
    QA-MISRA stellt sicher, dass Ihr gesamter Code mit den Kodierungsregeln übereinstimmt. Zudem hilft es Ihren Entwicklern, die Programmiersprachen C und C++ sowie die Standards sicher in effiziente Software umzusetzen. Der mit QA-MISRA entwickelte Code ist in der Regel weit weniger komplex, da sich die einzelnen Entwickler und Teams an einen einheitlichen Standard halten können.

  • Testbar, wartbar, portierbar
    Mit QA-MISRA erstellte Software kann in allen Stufen der Entwicklung getestet werden. Wartung und Portierung ist – wegen des einheitlichen Standards – viel leichter möglich.

  • Schneller am Markt
    Da Fehler schon in einer sehr frühen Phase sicher lokalisiert und behoben werden können, ist mit QA-MISRA entwickelte Software in der Regel weit schneller marktfähig.

MISRA Compliance mit QA-MISRA

  • Hilft Ihnen, Software nach dem MISRA Regelwerk zu entwickeln
  • Voll integrierte Umgebung für den MISRA Standard
  • Besserer Code unter Einhaltung der Standardvorgaben
  • Für alle Bereiche, in denen es auf sicherheitskritische Software ankommt
  • Hebt das Know-how Ihrer Entwickler und fördert bewährte Vorgehensweisen
  • Wartung und Portierung ist – wegen des einheitlichen Standards – viel leichter möglich
  • Erlaubt sofortige und wiederholbare Tests in Ihrer Entwicklungsumgebung

MISRA C

MISRA C wurde ursprünglich entwickelt, um den Bedarf an einem „eingeschränkten Subset einer standardisierten Programmiersprache“ zu erfüllen, der in den „Entwicklungsrichtlinien für fahrzeugbasierte Software“ von 1994 und vor dem Hintergrund der aufkommenden Verwendung von C für die Entwicklung eingebetteter Software in Automotive-Anwendungen festgestellt wurde.

Nach der Veröffentlichung von MISRA C wurde seine Relevanz für andere Anwendungen schnell erkannt, und an den nachfolgenden Überarbeitungen des Standards waren eine Reihe von Experten aus verschiedenen Branchen sowie Tool-Anbieter beteiligt.

Heute ist MISRA C der de-facto Standard für die Entwicklung von Software in C, bei der Sicherheit, Schutz und Codequalität eine wichtige Rolle spielen. Zukünftige Entwicklungen von MISRA C werden die Unterstützung für neuere Versionen der Sprache und zusätzliche Sprachfunktionen weiter ausbauen.

MISRA C++

MISRA C++ wurde ursprünglich im Juni 2008 veröffentlicht, um dem wachsenden Einsatz von C++ in kritischen Bereichen gerecht zu werden. In der Zwischenzeit wurde mit der Überarbeitung begonnen. Im Jahr 2017 wurde angekündigt, dass MISRA die AUTOSAR C++ Richtlinien in die neue Version von MISRA C++ integrieren wird.  Die MISRA-Richtlinien werden die neueste Version der Sprache C++17 und, sobald verfügbar, ihren Nachfolger C++20 einbeziehen.

Ein sichereres Subset der C/C++ Sprache

Alle Programmiersprachen (auch die ISO-C- und ISO-C++-Sprachstandards) enthalten Bereiche, die nicht vollständig definiert bzw. deren Umsetzung teilweise implementierungs- und compilerabhängig ist. Um die Sicherheit und Portabilität von Programmen zu verbessern, bietet MISRA ein zusätzliches Regelwerk für Systeme im sicherheitskritischen und sicherheitsrelevanten Bereich. Dieses Regelwerk definiert lediglich den erlaubten Teilbereich des Sprachumfangs, sodass übliche, kommerzielle Toolchains damit benutzt werden können. Das Resultat sind sicherere Programme, welche sich in verschiedenen Umgebungen so verhalten, wie es der Programmierer erwartet.

AUTOSAR Compliance mit QA-MISRA

  • Meldet, wenn Kodierungsregeln missachtet werden
  • Markiert undefiniertes, unspezifisches oder compilerabhängiges Verhalten
  • Kennzeichnet mögliche Probleme bei der Ausführung

So erfüllen Sie die hohen Anforderungen von verbundener oder autonomer Fahrzeugtechnologie

Fahrzeugtechnologie entwickelt sich rapide. Ständig ändern sich die Anforderungen an die Entwicklung – sowohl für neue, als auch für bereits bestehende Software-Plattformen der nächsten Generation von Steuergeräten. AUTOSAR hat deshalb einen neuen Standard entwickelt, die „Adaptive Plattform“. Dieser Standard soll den schnell wachsenden Marktanforderungen gerecht werden: für internetverbundene und hochautonome Fahrzeugtechnologien. Leistungsstarke 32-/64-bit-Mikroprozessoren mit externen Speichern, Parallelverarbeitung und eine hohe Bandbreite in der Kommunikation – das sind nur einige Beispiele von Technologien, die die Entwicklung des „Adaptive Platform Standards“ vorantreiben.

  • high-powered 32-/64-bit microprocessors (with external memory)
  • parallel processing
  • high bandwidth communications

CERT C, CERT C++ Compliance mit QA-MISRA

Wer seine Softwareentwicklung sicher, wiederholbar und diszipliniert gestalten will, muss Sicherheitsmaßnahmen in seine Design- und Coding-Prozesse implementieren. Unser automatisiertes statisches Analysetool hilft Ihnen:

  • unsichere Kodierungspraktiken zu verhindern
  • undefiniertes Verhalten zu vermeiden
  • bekannte Schwachstellen zu umgehen
  • und verbessern so die Qualität Ihrer Softwareprodukte

Schwachstellen einer Software, was bedeutet das?

CERT definiert eine Schwachstelle als Softwarefehler, der die Sicherheit eines Systems beeinträchtigt. Hier sind nicht die Ergebnisse und Performance der Software betroffen, sondern die Software kann von außen angegriffen werden. CERT schätzt, dass bis zu 90 Prozent aller sicherheitsrelevanten Ereignisse auf Fehler in Code oder Design einer Software zurückzuführen sind.

CWE Compliance mit QA-MISRA

(Common Weakness Enumeration)

CWE bietet ein umfassendes Repository bekannter Schwachstellen, während der CERT® C Secure Coding-Standard unsichere Kodierungskonstrukte identifiziert, die eine Schwachstelle in der Software aufdecken können. Nicht alle CERT® C-Kodierungsrichtlinien sind direkt auf Schwächen im CWE abgestellt, da einige Kodierungsfehler sich auf verschiedene Arten manifestieren können, die nicht direkt mit einer bestimmten Schwäche korrelieren. Ebenso sind nicht alle Schwächen, die von CWE identifiziert wurden, im Kodierungsstandard vorhanden, da einige mit dem Entwurf auf hoher Ebene in Zusammenhang stehen.   CWE besteht aus einer Reihe von Ansichten, z. B. der Wörterbuchansicht und der Entwicklungsansicht. Die CWE-734-Ansicht listet Schwachstellen auf, die mit dem CERT® C-Secure-Coding-Standard behoben wurden, und umfasst 103 der insgesamt 799 CWEs. Entwickler können die in CWE-734 identifizierten Schwachstellen ganz oder teilweise verhindern, wenn sie den CERT®-Kodierungsstandard einhalten.