Sicherheitslücken zu erkennen, das ist bisher ein schwieriges Geschäft. Nach und nach werden sie registriert, dokumentiert und dann geschlossen, so dass Angriffsprogramme sie nicht mehr ausnutzen können. Deshalb galt als ehernes Sicherheitsprinzip: Erst über den gesamten Lebenszyklus etwa eines Betriebssystems lassen sich Sicherheitslücken auffinden. Doch dieses Prinzip stellen immer mehr Sicherheitsexperten in Frage: Sie wollen so viele Sicherheitslücken so schnell wie möglich erkennen. Und deshalb setzen sie jetzt auf ein automatisiertes Suchverfahren: Fuzzing. Der Informatik-Professor Hartmut Pohl von der Fachhochschule Bonn-Rhein-Sieg erläutert, worum es dabei geht.
"Es gibt ein Programm, also ein Angriffsprogramm, sage ich einfach einmal, ein sogenannter Fuzzer, der generiert zufällige Daten und gibt sie in das Zielprogramm, das getestet werden soll, hinein. Mehr ist das eigentlich nicht. Und jetzt guckt man, wieder Tool geschützt, mit einem sogenannten Monitor, jetzt guckt man sich das Programmverhalten, das Verhalten des Zielprogramms an, was macht es denn, bricht es zusammen? Verbraucht es plötzlich sehr viel CPU-Zeit? Hat es einen höheren Speicherbedarf? Das sind Hinweise auf Anomalien."
Diese Anomalien müssen dann genauer untersucht werden. Dafür wird sogenannte Monitoring-Software verwendet, die das Laufzeitverhalten eines Computerprogramms genauestens nachverfolgt. Hartmut Pohl:
"Aus den Monitor-Bericht, aus dem Report, muss man dann Schlüsse ziehen und sich diese Stelle im Programm, diese Anomalie, genauer angucken und kann dann sagen, ein erfahrener Analytiker ist dann in der Lage, zu sagen: Ja, eine Sicherheitslücke. Der weist die dann tatsächlich nach. Und zwar am Programm-Beispiel oder er sagt: Nein, hier ist eine andere Schwachstelle, das hat mit Sicherheitsfragen nichts weiter zu tun. Das ist, weil es toolgestützt abläuft, insgesamt ein relativ kostengünstiges Verfahren."
Systemanalytiker erhalten damit detaillierte Hinweise, an welchen Stellen eines Programms welche Anomalien unter welchen Einsatzbedingungen aufgetreten sind. So kann geklärt werden, ob es sich hier um Sicherheitslücken handelt. Kommen die Experten zu dem Schluss, die Fuzzing-Software habe eine Sicherheitslücke gefunden, wird der Softwarehersteller mit ins Boot geholt, damit die Sicherheitslücke rasch geschlossen werden kann.
Der Vorteil liegt in der Automatisierung der Angriffssimulation und der damit verbundenen systematischen Suche nach Schwachstellen. Deshalb verteilen immer mehr größere Unternehmen in den USA Fuzzing-Software an ihre Anwender. Nebenbei laufen dann die Suchalgorithmen für Sicherheitslücken im Alltagsbetrieb auf den PCs und Servern mit. Über Erfolg oder Misserfolg dieser Strategie entscheidet dabei die Monitoring-Software, die bei Anomalien zielgerichtet Alarm schlägt. Denn der normale Anwender, sitzt bei Programmabstürzen oder langen Ladezeiten einfach nur ratlos vor seinem PC. Hartmut Pohl:
"Otto Normalverbraucher ist jetzt sicherlich nicht in der Lage, den ausführbaren Code, das ist ein Maschinencode, anzugucken und sich zu überlegen: Was läuft hier falsch? Ist das ein Pufferüberlauf? Wird hier Code eingegeben? Werden hier Programme plötzlich ausgeführt? Für den Normalbürger ist es sicherlich schwierig, einen sogenannten workaround fortzuschreiben. Das Verfahren ist leichter handhabbar vom Hersteller, tatsächlich. Wer kann die Stelle angucken, und im Vergleich leicht den Fehler beheben."
Am Ende muss auch beim Fuzzing noch immer ein menschlicher Experte entscheiden, ob es sich um eine Sicherheitslücke handelt. Aber sowohl der Suchprozess nach der Sicherheitslücke als auch Lösungen zum Schließen der Lücke können zu einem erheblichen Teil automatisiert werden. Sicherheitsbehörden, auch amerikanische, bewerten den Einsatz von Fuzzing-Software durchaus kritisch, immerhin werden dabei auch regelrechte Angriffsprogramme eingesetzt. Professor Hartmut Pohl rechtfertigt das so:
"Was wir hier machen, ist genau der Fall, dass wir Hacker-Tools einsetzen, um das Sicherheitsniveau eines Computers, eines Netzes zu testen. Es ist unverzichtbar, dass man diese Angriffs-Tools, die auf dem Markt erhältlich sind, aus dem Internet zum Teil auch entgeltfrei downloadbar ... es ist unverzichtbar, dass man diese Sicherheitstools einsetzt, um sein eigenes Sicherheitsniveau zu erkennen. Man kann mit diesen Tools Dritte angreifen. Das ist völlig richtig. Aber sie sind unverzichtbar, um das eigene Sicherheitsniveau festzustellen."
"Es gibt ein Programm, also ein Angriffsprogramm, sage ich einfach einmal, ein sogenannter Fuzzer, der generiert zufällige Daten und gibt sie in das Zielprogramm, das getestet werden soll, hinein. Mehr ist das eigentlich nicht. Und jetzt guckt man, wieder Tool geschützt, mit einem sogenannten Monitor, jetzt guckt man sich das Programmverhalten, das Verhalten des Zielprogramms an, was macht es denn, bricht es zusammen? Verbraucht es plötzlich sehr viel CPU-Zeit? Hat es einen höheren Speicherbedarf? Das sind Hinweise auf Anomalien."
Diese Anomalien müssen dann genauer untersucht werden. Dafür wird sogenannte Monitoring-Software verwendet, die das Laufzeitverhalten eines Computerprogramms genauestens nachverfolgt. Hartmut Pohl:
"Aus den Monitor-Bericht, aus dem Report, muss man dann Schlüsse ziehen und sich diese Stelle im Programm, diese Anomalie, genauer angucken und kann dann sagen, ein erfahrener Analytiker ist dann in der Lage, zu sagen: Ja, eine Sicherheitslücke. Der weist die dann tatsächlich nach. Und zwar am Programm-Beispiel oder er sagt: Nein, hier ist eine andere Schwachstelle, das hat mit Sicherheitsfragen nichts weiter zu tun. Das ist, weil es toolgestützt abläuft, insgesamt ein relativ kostengünstiges Verfahren."
Systemanalytiker erhalten damit detaillierte Hinweise, an welchen Stellen eines Programms welche Anomalien unter welchen Einsatzbedingungen aufgetreten sind. So kann geklärt werden, ob es sich hier um Sicherheitslücken handelt. Kommen die Experten zu dem Schluss, die Fuzzing-Software habe eine Sicherheitslücke gefunden, wird der Softwarehersteller mit ins Boot geholt, damit die Sicherheitslücke rasch geschlossen werden kann.
Der Vorteil liegt in der Automatisierung der Angriffssimulation und der damit verbundenen systematischen Suche nach Schwachstellen. Deshalb verteilen immer mehr größere Unternehmen in den USA Fuzzing-Software an ihre Anwender. Nebenbei laufen dann die Suchalgorithmen für Sicherheitslücken im Alltagsbetrieb auf den PCs und Servern mit. Über Erfolg oder Misserfolg dieser Strategie entscheidet dabei die Monitoring-Software, die bei Anomalien zielgerichtet Alarm schlägt. Denn der normale Anwender, sitzt bei Programmabstürzen oder langen Ladezeiten einfach nur ratlos vor seinem PC. Hartmut Pohl:
"Otto Normalverbraucher ist jetzt sicherlich nicht in der Lage, den ausführbaren Code, das ist ein Maschinencode, anzugucken und sich zu überlegen: Was läuft hier falsch? Ist das ein Pufferüberlauf? Wird hier Code eingegeben? Werden hier Programme plötzlich ausgeführt? Für den Normalbürger ist es sicherlich schwierig, einen sogenannten workaround fortzuschreiben. Das Verfahren ist leichter handhabbar vom Hersteller, tatsächlich. Wer kann die Stelle angucken, und im Vergleich leicht den Fehler beheben."
Am Ende muss auch beim Fuzzing noch immer ein menschlicher Experte entscheiden, ob es sich um eine Sicherheitslücke handelt. Aber sowohl der Suchprozess nach der Sicherheitslücke als auch Lösungen zum Schließen der Lücke können zu einem erheblichen Teil automatisiert werden. Sicherheitsbehörden, auch amerikanische, bewerten den Einsatz von Fuzzing-Software durchaus kritisch, immerhin werden dabei auch regelrechte Angriffsprogramme eingesetzt. Professor Hartmut Pohl rechtfertigt das so:
"Was wir hier machen, ist genau der Fall, dass wir Hacker-Tools einsetzen, um das Sicherheitsniveau eines Computers, eines Netzes zu testen. Es ist unverzichtbar, dass man diese Angriffs-Tools, die auf dem Markt erhältlich sind, aus dem Internet zum Teil auch entgeltfrei downloadbar ... es ist unverzichtbar, dass man diese Sicherheitstools einsetzt, um sein eigenes Sicherheitsniveau zu erkennen. Man kann mit diesen Tools Dritte angreifen. Das ist völlig richtig. Aber sie sind unverzichtbar, um das eigene Sicherheitsniveau festzustellen."