Forrester-Review-Ergebnis als Infografik

Darum ist das frühe Evaluieren von Softwarefehlern so wichtig

In Zeiten von unsicheren Software-Applikationen, die aufgrund von Schwachstellen unerwünschten Eindringlingen wie Hackern zahlreiche Angriffspunkte bieten, wird der Sicherheitscheck von selbst programmierten Anwendungen immer wichtiger. Hierbei werden Firmen von speziellen Tools wie der CAST Application Intelligence Platform (AIP) unterstützt, die innerhalb der gesamten Entwicklungsphase eingesetzt werden können.

Das Ganze nennt sich Static Application Security Testing (SAST) und ist im besten Fall Teil des Software Development Life Cycle (SDLC), was im Deutschen für Software-Entwicklungs-Lebenszyklus steht. Dabei kommt es vor allem darauf an, die entsprechenden SAST-Tools in einem möglichst frühen Entwicklungsstadium der Anwendungssoftware einzusetzen. Denn das erlaubt ein rasches Aufspüren von vorhandenen Schwachstellen und Programmierfehlern, die die Sicherheit von Applikationen gefährden können.

SAST-Tools wie die CAST AIP im Fokus von Sicherheitsexperten und CIOs

Daher verwundert es nicht, dass immer mehr Sicherheitsverantwortliche größerer Firmen die Implementierung von SAST-Werkzeugen in den Software-Entwicklungszyklus entweder bereits realisiert haben oder planen, dies zu tun. Zu diesem Ergebnis kommt zumindest das Marktforschungsinstitut Forrester Research in seiner Umfrage mit dem Titel „Forrester Data Global Business Technographics Security Survey, 2017“.

Dabei stellte sich nämlich heraus, dass schon zahlreiche Unternehmen SAST-Tools einsetzen oder planen dies zu tun. Etwas unverständlich dabei ist allerdings, warum sie damit in vielen Fällen erst zu einem recht späten Zeitpunkt innerhalb des Entwicklungszyklus‘ beginnen, und zwar erst während der Test- bzw. Produktionsphase. Dabei ist das Evaluieren von möglichen Schwachstellen zu einem früheren Zeitpunkt sehr viel sinnvoller.

Forrester-Umfrage zur Implementierung von SAST-Tools

10 Probanden und wichtige Erkenntnisse des Forrester SAST-Reviews

Dasselbe Unternehmen hat ebenfalls erst kürzlich eine umfangreiche Marktbetrachtung samt Funktionstest veröffentlicht, in dem es die zehn bekanntesten SAST-Tools unter die Lupe nimmt. Zu diesem erlesenen Feld gehören unter anderem CA Veracode, CAST, Ceckmarx, Micro Focus, Synopsys und andere Probanden. Der Name diese Studie lautet The Forrester Wave: Static Application Security Testing, Q4 2017.

Download-Tipp: Die detaillierte Auswertung der Studie steht mithilfe einer kurzen Registrierung als Download auf der CAST-Webseite zu Verfügung.

Wichtig dabei war, ob die SAST-Tools Dinge wie das Scannen von Quellcode beherrschen, und das auf möglichst breiter Programmiersprachen-Basis, inkrementelle Scans unterstützen, Meilensteine vorsehen sowie die Integration des SAST-Tools innerhalb der Entwicklungsumgebung ermöglichen, und das alles „Out of the Box“, also ab Werk quasi. Darüber hinaus wurde die aktuelle Vermarktungsstrategie sowie der Marktanteil des jeweiligen SAST-Tools betrachtet und bewertet. Herausgekommen bei dieser Evaluierung sind zahlreiche interessante Erkenntnisse:

Die CAST AIP punktet vor allem in Spezialdisziplinen

Hinter den „Platzhirschen“ Synopsys und CA Veracode tummeln sich drei ernstzunehmende Alternativen, die ihre Stärken vor allem in speziellen Bereichen ausspielen. Im Falle der CAST AIP betrifft dies unter anderem den breiten Support an Programmiersprachen, weswegen die CAST AIP eine sehr gute Option für Unternehmen darstellt, in denen Sprachen wie Javascript, .NET, Java, Python, C++, etc. zum Einsatz kommen.

Aber auch im Bereich „Akkuratesse“ kann die CAST AIP punkten. Hiermit kann der „Gesundheitszustand“ einer Anwendung ermittelt werden, und das runter bis auf Systemebene. Dabei wird vor allem die Qualität der einzelnen Softwarekomponenten sowie deren Verbindungen zueinander gemessen und bewertet.

CAST Application Intelligence Platform (AIP)

Bemerkenswert finden die Marktanalysten von Forrester auch das Dashboard der CAST AIP, mit dessen Hilfe Sicherheitsexperten, Software-Entwickler und CIOs die Qualitätsmerkmale ihrer Software auf einen Blick visualisieren können. Dazu gehören Kriterien wie Robustheit, Effizienz, Anpassbarkeit und Sicherheit der Anwendung. Aus diesen und weiteren Gründen kommt Forrester zu dem Schluss, dass die CAST AIP im Segment „Strong Performers“ anzusiedeln ist, und das wegen einer klaren Marktstrategie und einem soliden Produkt, mit dem sich Schwachstellen innerhalb von Quellcode ausfindig machen lassen.

Forrester-Review-Ergebnis als Infografik

Disclaimer: Dieser Blogbeitrag ist im Auftrag der Firma CAST entstanden, die mir bei der Ausgestaltung und Formulierung nahezu freie Hand lässt.

CAST Application Intelligence Platform (AIP)

Softwarequalität bewerten: Wissenswertes zu CISQ und OMG

Stellen Sie sich einmal vor, Sie möchten eine Ihrer selbst entwickelten Anwendungen auf deren Qualität hin überprüfen. Um eine möglichst zuverlässige Aussage über die Effizienz, Stabilität und Sicherheit der Applikation zu bekommen, setzen Sie beispielsweise ein Analysetool wie CAST AIP (Application Intelligence Platform) ein. Doch woher nehmen Sie die Gewissheit, dass das Analysewerkzeug auch auf die richtigen Methoden und Standards setzt, mit denen die Zuverlässigkeit einer Software sichergestellt werden kann?

Genau für diesen Zweck gibt es umfassende Regelwerke, auf denen Analysetools wie die CAST AIP basieren. So werden für die Beurteilung einer Anwendung bis zu 1.200 Bewertungskriterien herangezogen, die die Software anhand bestimmter Qualitätsindikatoren bemisst und bewertet. Hierbei werden vor allem Kriterien überprüft wie Leistungseffizienz, Zuverlässigkeit, Sicherheit, Administration und Anpassungsfähigkeit .

Leistungseffizienz: Besonders der Quellcode und die Eigenschaften der zugehörigen Software-Architektur stellen die Leistungseffizienz einer Anwendung sicher. Die Effizienz einer Applikation spielt vor allem in Hochleistungsumgebungen eine große Rolle, da es hier auf schnelle Transaktionen ankommt und ein möglichst verlustfreies Ausführen des Quellcodes im Vordergrund steht. Damit gibt die Analyse dieses Kriteriums Aufschluss darüber, wie sich fehlerhafter Code negativ auf die Unternehmensziele einer Firma auswirken kann. So spielt die Leistungseffizienz beispielsweise bei kundenorientierten Applikationen wie einem Onlineshop eine große Rolle.

Zuverlässigkeit: Elastizität und Stabilität sagen etwas über die Zuverlässigkeit einer Software-Anwendung aus. Denn nichts ist gravierender und schwerwiegender als mögliche Programmausfälle oder -abbrüche, mit denen Anwender konfrontiert werden. So wird anhand bekannter ISO-Kennzahlen eine Anwendung unter anderem daran bemessen, wie viele Mängel sich aufgrund von Programmierfehlern nachträglich eingeschlichen haben, was die Anwendung insgesamt instabiler macht. Daher werden in diesem Fall Kriterien wie Softwarecrashes, Softwareausfälle und Softwarefehler betrachtet, die einen direkten Einfluss auf Anwender haben.

Sicherheit: Die schlechte Programmierung und eine unzureichende Anwendung der zugrunde liegenden Software-Architektur sind maßgeblich für mögliche Sicherheitsverletzungen verantwortlich. Das Ergebnis der Software-Analyse dieses Kriteriums stellt eine Risikoabschätzung dar, mit welchem Aufwand sich unternehmenskritische Software-Schwachstellen identifizieren und beheben lassen.

Transferierbarkeit: Software lässt sich vor allem dann mit einem angemessenen Aufwand kontinuierlich verbessern, wenn sich der zugehörige Quellcode möglichst gut verwalten lässt. Damit lässt sich der Aufwand recht gut einschätzen, der notwendig ist, um die betreffenden Stellen im Quellcode zu identifizieren und zu eliminieren. Das sorgt gleichzeitig für einen geringen Unabhängigkeitsgrad von einzelnen Software-Entwicklern, die an der Programmierung der Anwendung beteiligt waren.

Änderbarkeit: Wie viel Aufwand ist nötig, um den Quellcode einer Anwendung gemäß der erforderlichen oder gewünschten Anforderungen seitens der Anwender/Kunden anzupassen? Anhand des Kriteriums „Anpassungsfähigkeit“ wird genau diese Frage beantwortet.

Organisationen wie CISQ und ISO geben die Qualitätstandards vor

Doch auf welchen Qualitätskriterien beruhen die genannten Analysemethoden, die von Vereinigungen und Organisationen wie dem Software Engineering Institute (SEI), der International Standards Organizations (ISO), dem Consortium for IT Software Quality (CISQ) und IEEE (International Electrical und Electronics Engineers) entwickelt und verabschiedet wurden und werden?

Organisationen wie CISQ und OMG sorgen für fehlerfreie Anwendungssoftware

Nun, um diese Frage zu beantworten, reicht ein Besuch der CISQ-Webseite, auf der unter anderem all die 86 Software-Schwachstellen aufgeführt werden, anhand derer die Leistung, Zuverlässigkeit, Sicherheit, Leistungseffizienz und Administration einer Software bewertet werden können. Dazu gehören ganz triviale Fehler wie Buffer Overflow genauso wie die Umwandlung in einen kompatiblen Datentyp. Schön an dieser Liste sind die zahlreichen Lösungsvorschläge, die für jede einzelne Software-Schwachstelle angeboten werden.

Automatisierte Function Point-Methode zur quantitativen Beurteilung von Sourcecode

Neben den qualitativen Softwarekriterien, die sich mithilfe der CISQ-Standards überprüfen lassen, kommt auch der quantitativen Bewertung einer Anwendung eine immer größere Rolle zu. So ließen sich bis Mitte 2000 keine automatisierten Aussagen über den Umfang eines Sourcecodes treffen. Diesen Misstand behob die im Jahr 2014 verabschiedete Spezifikation „Automated Function Points“, die ein gemeinsames Projekt der Object Management Group (OMG) und CISQ darstellt. Hierbei werden anhand der ISO-Norm 20926 zahlreiche Regeln zurate gezogen.

So stehen zur quantitativen Bewertung einer Anwendung insgesamt fünf Elementarprozesse zur Verfügung, die einzeln bewertet werden. Das sind laut Spezifikation IFPUG-CPM 4.3.1 Eingaben (External Input, EI), Ausgaben (External Output, EO), Abfragen (External Inquiry, EQ), interne Datenbestände (Internal Logical File, ILF) und Referenzdaten (External Interface File, EIF).

Disclaimer: Dieser Blogbeitrag ist im Auftrag der Firma CAST entstanden, die mir bei der Ausgestaltung und Formulierung nahezu freie Hand lässt.