Ein Interview mit Sergej Dechand, dem CEO und Co-Founder von Code Intelligence über die Probleme und Herausforderungen der IT-Sicherheit in Unternehmen.
Mit welchen Problemen und Herausforderungen sehen sich deutsche Unternehmen bezogen auf Ihre IT-Sicherheit konfrontiert und wie bewusst sind sie sich im Allgemeinen über ihre momentane IT-Infrastruktursicherheit?
Sergej Dechand: Ich denke, in Fragen der IT-Infrastruktursicherheit befindet sich die Deutsche Industrie auf einem guten Weg. Unternehmen prüfen sehr genau, ob die geltenden Industriestandards und Regularien eingehalten werden. Zum Beispiel bezogen auf die ISO 27001, oder dem IT-Grundschutz (BSI): Wie müssen Infrastruktur und Netzwerke aufgebaut sein? Wer hat Berechtigung zu welchem System? Wie wird sichergestellt, dass Systeme regelmäßig überprüft werden und Updates erhalten? Diese Bereiche sind bereits gut reguliert.
IT-Sicherheit ist jedoch nicht nur eine Frage der IT-Governance, oder der IT-Infrastruktur. Wie Software im Unternehmen eingesetzt und entwickelt wird, oder welche Sicherheits-Anforderungen Software erfüllen muss, ist im Vergleich zur Infrastruktur, oder der IT-Governance, in den meisten Branchen, bisher kaum reguliert. Deshalb wird die Software-Sicherheit bei IT-Security-Audits immer noch vernachlässigt. Hier sehe ich, aktuell den größten Handlungsbedarf.
Zwar nehmen die meisten Unternehmen das Thema Software Security bereits sehr ernst, und treffen Maßnahmen, um hier die größtmögliche Sicherheit zu gewährleisten, doch ihr betriebswirtschaftlicher Handlungsspielraum ist gering. Sie stehen in der Software-Entwicklung meist unter Zeitdruck und Kunden sind selten bereit für zusätzliche Sicherheitsmaßnahmen zu zahlen. Zu häufig ist die Sicherheit einer Software deshalb davon abhängig, dass verantwortungsvolle Entwickler auf die Einhaltung gründlicher Sicherheitstests bestehen. Wir sollten es den Entwicklern daher möglichst einfach machen, sichere Software zu entwickeln und ihre Arbeit gewissenhaft auszuführen. Dafür gibt es technische Lösungen, es hilft jedoch auch, wenn sich die Entwickler gegenüber dem Management auf branchenübergreifende Sicherheitsstandards berufen können.
Dies zeigt sich zum Beispiel in der Automobilindustrie, wo die Unternehmen aufgrund der neuen ISO 21434 (Road Vehicles – Cybersecurity Engineering), zurzeit viele neue Prozesse und Sicherheitsmaßnahmen einführen. Dies soll dazu Beitragen, die Sicherheit der Software-Systeme im Auto auch in Zukunft zu gewährleisten. So wird zum Beispiel empfohlen, nun auch für weniger relevante Software Komponenten routinemäßig Pentests durchzuführen.
Wie können Unternehmen und Unternehmer von professionell durchgeführten Penetrationstests profitieren und welche Anforderung müssen dafür erfüllt sein?
Sergej Dechand: Klassische Pentests sind die letzte Verteidigungslinie, die einem Unternehmen zur Verfügung steht. Selbst wenn die Software bisher nicht ein einziges Mal auf Sicherheitslücken getestet wurde, finden professionelle Pentester in der Regel die schwerwiegendsten Sicherheitslücken, bei der finalen Abnahme. Das Management eines Unternehmens erhält im Anschluss einen Bug-Report und kann sich somit rechtlich absichern, dass bei der Abnahme Sicherheitstest stattgefunden haben. Das sagt jedoch wenig über die tatsächliche Sicherheit einer Software aus. Denn externe Pentest Dienstleister sind teuer und ihr Zeitbudget ist begrenzt.
Ein Pentests dauert in der Regel nur wenige Tage. Nur in wenigen Ausnahmen kann ein Pentest bis zu drei Wochen dauern. Doch gerade, wenn die Software bisher nur wenige Sicherheitstest durchlaufen hat, ertrinken Pentester bei der finalen Abnahme oft in tausenden relevanten und irrelevanten Fehlermeldungen. Diese zu dokumentieren kostet Zeit und in der Masse an Fehlermeldungen kann es leicht vorkommen, dass schwerwiegende Sicherheitslücken übersehen werden.
Zudem werden bei branchenüblichen Pentests überwiegend Blackbox-Scans durchgeführt. Das bedeutet, die Tester versuchen, die Software aus der Perspektive eines Angreifers zu kompromittieren und sich Zugang zu der Anwendung zu verschaffen. Es herrscht gewissermaßen Waffengleichheit, bei Angreifern und Verteidigern. Sollte ein Angreifer jedoch mehr Zeit zur Verfügung haben, findet er wahrscheinlich weitere Sicherheitslücken, die beim Pentest übersehen wurden.
Worauf sollte man bei der Durchführung von Pentests durch externe Firmen achten?
Sergej Dechand: Gründlich dokumentierte Pentests, enthalten detaillierte Angaben zu den Endpunkten- und der Testabdeckung, die während des Tests erreicht wurde, sowie hilfreiche Informationen, wie sich die Fehlermeldungen reproduzieren lassen. Dies ist jedoch nur möglich, wenn die Pentester Zugang zum Source Code erhalten und White-Box-Tests durchführen.
Den Source-Code zu testen ist ohnehin sinnvoll, denn je mehr ein Pentester über Ihren Code weiß, desto besser kann er seine automatisierten Software Tests instrumentieren, was ihm einen Vorteil gegenüber potenziellen Angreifern verschafft und auch dabei hilft eine möglichst hohe Testabdeckung zu erreichen.
Seriöse Anbieter erkennen Sie daher vor allem daran, dass sie sich Zeit nehmen, die Funktion und Struktur Ihrer Anwendung zunächst zu verstehen und mit automatisierten Tools arbeiten, um die Testabdeckung ihrer Anwendung zu vergrößern. Lassen Sie sich also im Zweifel einen Beispielreport zeigen und prüfen Sie, ob der Report auch Informationen zur Testabdeckung enthält.
Welche Schwächen haben Pentests und welche Alternativen gibt es?
Sergej Dechand: Pentests sind wichtig und können durch nichts ersetzt werden! Doch allzu oft wird die wertvolle Zeit der Pentester mit banalen Aufgaben vergeudet, um Felder in einem Compliance Sheet “abzuhaken”. Wenn dies der Fall ist, werden relevante Software Sicherheitstests schnell vernachlässigt, was zur Folge hat, dass vermeidbare Sicherheitslücken übersehen werden. Unternehmen können diesem Problem begegnen, indem sie entweder mehr Pentester einstellen, oder bereits im Vorfeld einige ihrer Prozesse optimieren.
Bei branchenüblichen Pentests wird zum Beispiel viel Zeit für simple Blackbox-Scans aufgewendet. Dabei könnten die Entwickler einen Großteil dieser Tests selbst durchführen. Denn automatisierte Tools für Dynamische Codeanalyse und Fuzz Testing lassen sich leicht in die CI/CD integrieren, und helfen dem Unternehmen Sicherheitslücken, schon früh im Entwicklungsprozess zu beheben. Große Tech-Unternehmen, wie Google, machen es bereits vor. Man spricht in diesem Kontext von sogenanntem Shift-Left-Testing. Dies macht Software deutlich sicherer und lässt auch den Pentestern mehr Zeit, um sich mit den wenigen, verbliebenen Schwachstellen zu befassen, für die es tatsächlich noch einen Spezialisten braucht.
Zurzeit gibt es also keine richtige Alternative für branchenübliche Pentests, aber es gibt noch eine Menge sinnvoller und ergänzender Maßnahmen, die wir zusätzlich ergreifen könnten, um Software und IT-Dienstleistungen deutlich sicherer zu machen.