Automatisierung in der IT-Sicherheit

Penetrationstest: Die Mischung macht's

03.11.2016
Von 

Dr. Amir Alsbih hat über 15 Jahre Berufserfahrung in der IT-Security Branche. Er war unter anderem IT-Sicherheitschef bei der Haufe Gruppe sowie CEO der KeyIdentity GmbH. Zudem dozierte er an der Albert-Ludwigs-Universität Freiburg in den Bereichen der angewandten Informationssicherheit sowie der IT-Forensik.

Die Automatisierung ist derzeit in aller Munde. Und auch im Bereich der IT-Sicherheit ist die automatische Abwicklung von Prozessen ein Thema - zum Beispiel, wenn es um Penetrationstests geht.

Die Automatisierung durchdringt immer mehr Lebensbereiche: Neue Technologien nehmen uns eintönige Aufgaben ab oder erleichtern viele Arbeitsschritte, wir sparen Zeit und vermeiden Ausfälle. Auch Prozesse und Testverfahren in der IT-Sicherheit laufen mittlerweile automatisch ab. Penetrationstests bilden dabei keine Ausnahme. Es gibt bereits eine Reihe von Dienstleistern, die entsprechende Sicherheitslösungen anbieten. Cross-Site-Scripting, Injection-Angriffe, fehlende Sicherheits-Patches und andere Schwachstellen lassen sich mithilfe dieser Tools problemlos aufdecken. Doch können automatisierte Penetrationstest wirklich alle Aufgaben der IT-Sicherheit übernehmen?

Penetrationstests und ihre Vorteile

Häufig sind Sicherheitslücken in Applikationen, Systemen und Netzwerken die Einfallstore für externe Angreifer. Ein Großteil aller Angriffe erfolgt mittlerweile auf Applikationsebene und stellt Sicherheits-Teams damit vor eine große, prozessuale Herausforderung. Sie eröffnen den Eindringlingen einen leichten Zugang zu sensiblen Daten oder bieten ihnen einen Ausgangspunkt für weitere Angriffe. Um Schwachstellen im Vorfeld zu vermeiden, sollten Unternehmen nicht nur geeignete Abwehrmaßnahmen einführen, sondern sich auch regelmäßig selbst einen Überblick über das Gefährdungspotenzial ihrer Systeme verschaffen. Dadurch können sie Risiken frühzeitig erkennen und entsprechende Maßnahmen daraus ableiten. Ein bewährtes Mittel dafür sind Penetrationstests.

Bei einem Penetrationstest geht es darum, Schwachstellen zu analysieren. Ein Sicherheitsexperte dringt in Computersysteme und Netzwerke ein, um einen Angriff durch Hacker, Cracker oder andere Cyberkriminelle zu imitieren. Dafür nutzt er Techniken, auf die auch externe Angreifer zurückgreifen, um eine möglichst realitätsnahe Attacke zu simulieren. Es handelt sich sozusagen um einen kontrollierten Einbruchsversuch. Die Ergebnisse eines Penetrationstests geben Aufschluss über Schwachstellen und die Wirksamkeit oder den Status der IT-Sicherheit. Gleichzeitig geben solche simulierten Angriffe Aufschluss darüber, wie gut und schnell das Unternehmen den Angriff erkennt um somit im realen Fall die Auswirkungen frühzeitig minimieren kann. Auf diese Weise können Unternehmen durch anschließende Maßnahmen ihre Systeme verbessern.

Es gibt zwei Möglichkeiten, einen Penetrationstest zu starten: Auf der einen Seite können Unternehmen einen Sicherheitsexperten alle Schritte manuell ausführen lassen. Dieser testet, überwacht und bewertet die IT-Sicherheit. Auf der anderen Seite können sie auf automatisierte Penetrationstests setzen. Solche Lösungen können eine große Menge an Aufgaben auf vielen verschiedenen Systemen ausführen und sparen so Zeit und Mühe. Zugleich sorgt die Automatisierung dafür, dass sich mehr Test-Inputs schneller versenden und auswerten lassen.

Die Grenzen der Pentesting-Automatisierung

Dennoch haben automatisierte Tests auch ihre Grenzen: Technische Prozesse und Algorithmen finden zwar technische Schwachstellen, geht es allerdings um die Interpretation von Fehlern scheitern sie in den meisten Fällen. Ein Tool kann beispielsweise eine Seite mit vertraulichen Kundeninformationen aufspüren, die fälschlicherweise für jeden zugänglich ist. Es kann dann jedoch nicht beurteilen, ob der Zugriff auf die Seite aufgrund entsprechender Rechte möglich ist oder aufgrund von Fehlern im Berechtigungssystem. Dem Tool fehlt der Zusammenhang, um dies bestimmen zu können. Oftmals erkennt ein Tool allerdings nicht einmal, dass eine Seite ein Problem darstellt - Information Disclosure zu erkennen, ist eine Herausforderung an sich, wenn das Toll es nicht mit Daten zu tun hat, die aufgrund ihrer Beschaffenheit bereits als sensitiv erkannt werden.

Mit Passwörtern haben Maschinen ebenfalls ihre Schwierigkeiten. Oft sind sie blind für die Art und Weise, wie Passwörter gespeichert werden. Dazu ist eine kontrollierte Review notwendig. Nur so wird sichtbar, wie ein Passwort gespeichert wurde. Die Art und Weise ist allerdings entscheidend dafür, wie lange Betroffene Zeit haben, ihr Passwort zu ändern, nachdem sie kompromittiert wurden - hier gibt es gravierende Unterschiede. Genauso können Error Messages oder Debug Outputs für "Maschinenaugen" völlig unverständlich sein. Darüber hinaus unterstützen automatisierte Lösungen meist nur einen bestimmten Kreis an Technologien. Will das Unternehmen beispielsweise eine Flash-Anwendung testen, stehen die Chancen schlecht, dass die Lösung etwas findet oder identifiziert. Ähnlich steht es mit Fat-Clients - was am Ende dazu führt, dass menschliche Tester den Traffic zwischen den Systemen abfangen und interpretieren müssen.

Automatische und manuelle Penetrationstests helfen dabei, Schwachstellen zu identifizieren. Doch auf welche Variante setzen Unternehmen am besten?
Automatische und manuelle Penetrationstests helfen dabei, Schwachstellen zu identifizieren. Doch auf welche Variante setzen Unternehmen am besten?
Foto: Dalibor Sevaljevic - shutterstock.com

Im Grunde arbeitet ein Penetrationstest ähnlich wie eine Gruppe von Affen, die wahllos auf Schreibmaschinentasten drücken: Er sendet willkürlich Nachrichten an das zu prüfende System, beobachtet die Reaktion und hofft - wie die Affen -, dass etwas Interessantes passiert. Diese Inputs können zu Fehlern im Backend führen, die bestimmte reale Implikationen auslösen, wie etwa eine E-Mail an das Support-Team. Je mehr Inputs, desto mehr E-Mails. Bei automatisierten Tests kann das schnell zu Millionen von Nachrichten führen. Für die Mitarbeiter im Backend gilt dann, herauszufinden, welche Kundenanfragen echt und welche nur Ergebnis eines automatisierten Tests sind. Hier gilt jedoch besondere Vorsicht: Im schlimmsten Fall lösen die Tests reale Bestellprozesse aus. Deshalb sollte unabhängig von der Art des Tests sichergestellt werden, dass nicht versehentlich Folgeprozesse ausgelöst werden.

Menschliche Penetrationstester erzeugen deutlich weniger Komplikationen. Menschen sind auch in der Lage, ihre Tests flexibel anzupassen, zu verzögern oder im Notfall abzubrechen - falls sie besorgt um eine Überlastung oder ein Absturz des Systems sind. Automatisierte Tools nehmen ihr Ziel hingegen dauerhaft unter Beschuss - ohne Rücksicht auf Verluste. Das kann dazu führen, dass sie ihren eigentlichen Zweck nicht mehr erfüllen. Auch fehlt den Lösungen die menschliche Neugier und Kreativität. Sie testen nur bekannte Sicherheitslücken und gehen nicht darüber hinaus. Diesen Forscherdrang, den Willen etwas wirklich Relevantes zu finden, haben nur menschliche Penetrationstester.

So nutzen Sie automatisierte und manuelle Pentests optimal

Ob manuell oder automatisiert - anstatt sich für eine dieser Verfahrensweisen zu unterscheiden, können Unternehmen einen Ansatz wählen, der das Beste aus beiden Welten vereint: Denn weder eine komplett automatisierte noch eine komplett manuelle Version sind ideal. Beide haben jedoch ihre Vorteile. Verbindet man ihre Ressourcen miteinander, erhält man die effektivsten Penetrationstests. Automatisierung spart Zeit und Geld - vor allem bei umfangreichen Volumen-Aufgaben. Menschliche Penetrationstester können sich stattdessen mehr auf kreative, investigative und forschende Tests konzentrieren, um versteckte Schwachstellen zu enttarnen. Diese Balance steigert nicht nur die Effektivität, sondern stellt auch einen optimalen ROI sicher. In der Regel startet das Penetrationsverfahren dann mit einem automatisierten Test, um später in einer forschenden, subtilen zweiten Phase selbst Hand anzulegen.

Unternehmen sollten sich bewusstmachen, wo die Grenzen von Maschinen liegen und sich nicht alleine auf automatisierte Lösungen verlassen - menschliches Handeln und Einfallsreichtum sind weiterhin von Bedeutung. Automatisierte Tools liefern automatisierte Reports, die ein Mensch interpretieren muss. Wenn Menschen die Ergebnisse von Anfang an aufbereiten, wird schnell deutlich wo Schwachstellen liegen und wie sie zu beheben sind. Insbesondere sind Menschen auch dazu in der Lage, Muster zu erkennen und den Unternehmen Hilfestellung bei der Identifikation der Ursachen zu bieten. Anderenfalls werden lediglich Symptome kuriert, was weder nachhaltig, noch effektiv oder wirtschaftlich ist.

Um Risiken zu vermeiden, sollten Unternehmen daher immer auch manuelle Tests durchführen. So können sie sicherstellen, dass sie wichtige Fehler frühzeitig erkennen und effizient beheben - und sich somit langfristig vor Hackerangriffen schützen. (fm)