Sicherheitstest für Software – Einführung

penetrationstest

Sicherheitstest in der Softwareentwicklung

Im Folgenden geben wir Ihnen eine Einführung in das Thema Sicherheitstest (Fachbegriff: Penetrationstest) in der Softwareenwicklung.

Penetrationstest: Was verbirgt sich hinter diesem Begriff?

Ein sogenannter Penetrationstest oder auch Pentest ist der gezielte Versuch, sicherheitstechnische Schwachstellen einer Software in einem Unternehmen auszunutzen, um so etwaige Sicherheitslücken aufzudecken.

Das jeweilige Unternehmen beauftragt hierfür im Regelfall einen spezialisierten Dienstleister, der die simulierten Angriffe durchführt. Diese Angriffe ähneln denen von Hackern, die es auf Unternehmensdaten abgesehen haben könnten. Ziel eines Penetrationstests ist es in erster Linie, kritische Schwachstellen zu finden, die das Unternehmen oder der Hersteller der Software im Nachgang schließen könnte.

Zentrale Fragestellung im Vorfeld

Im Vorfeld des Sicherheitstests sind zentrale Fragen zwischen dem Auftraggeber und dem Auftragnehmer zu klären, wie zum Beispiel:

  • Welche Möglichkeiten bestehen für einen Angreifer, Informationen oder Schwachstellen zu ermitteln?
  • Existieren für einen potenziellen Angreifer Möglichkeiten, Daten abzugreifen?
  • Wie können bestehende Sicherheitslücken geschlossen werden?

Insbesondere in Bezug auf den letzten Punkt ist es wichtig zu erwähnen, dass ein Penetrationstest im Normalfall keine einmalige Aktion ist, sondern idealerweise nach Schließung der Sicherheitslücken ein erneuter Pentest durchgeführt wird, um sicherzugehen, dass die Maßnahmen erfolgreich waren.

Welche Software kommt für einen Penetrationstest in Frage?

Im Prinzip ist jede Software ein geeignetes Ziel, die im Rahmen eines geschlossenen Nutzerkreises genutzt werden soll, schützenswerte Daten verwendet und/oder diese mit anderen Systemen austauscht.

Wichtig: strukturierte Vorgehensweise

Professionelle Anbieter von Penetrationstests gehen strukturiert und nach klarer Methodik vor. Auf diese Weise können sie bekannte Angriffsszenarien nachstellen und letztlich auch sicherstellen, einen Großteil der potenziellen Schwachstellen abgedeckt zu haben. Wichtig zu wissen: Ein ungeschriebenes Gesetz in der Softwareentwicklung besagt, dass keine Software der Welt zu 100 Prozent sicher ist. Beispiele aus den Medien, wie der erfolgreiche Hacker-Angriff auf Konzerne, wie Sony oder Apple, bestätigen dies.

Die gängigsten Methoden der Hacker

Im Falle von webbasierten Anwendungen machen sich die Hacker gerne die Sicherheitslücken in Eingabemasken von Kontaktformularen oder Login-Masken zu Nutze. Im Zuge von sogenannten „Injections“ oder „Cross Site Scriptings“ werden Programmierbefehle abgesetzt, die es den Angreifern erlauben, Daten aus der Datenbank der Software auszulesen oder Daten zu manipulieren. Auch das Annehmen anderer Identitäten, indem User- und Passwortdaten der Nutzer ausgelesen werden, ist eine oft genutzte Methode, um Schaden anzurichten.

Rechtliches und Risiken

Ein Penetrationstest darf von einem Dienstleister ausschließlich nach vorheriger Vereinbarung mit dem Auftraggeber, also dem Unternehmen, durchgeführt werden. Ist dies gegeben, bestehen zumindest keine rechtlichen Risiken für die Parteien.

Nachdem das Ziel eines Sicherheitstests Software-Systeme sind, die im Echtbetrieb im Einsatz sind, besteht während des Tests das Risiko, dass die Software durch die Penetration abstürzt oder Fehler verursacht werden.

Pentest als Teil der Softwareentwicklung

Viele Hersteller von Software setzen bereits während der Softwareentwicklung Pentests ein, um möglichst viele Schwachstellen im Vorfeld zu erkennen. Auf Grund der Tatsache, dass sich die Methoden und Tools der Hacker äußerst schnell ändern, ist eine kontinuierliche Prüfung sinnvoll.

Penetrationtests: Notwendigkeit oder Luxus?

Die steigende Zahl der Attacken von Hackern auf weltweit agierende Konzerne oder Regierungen – wie den deutschen Bundestag im Jahr 2015 – und die damit verbundene Einflussnahme von Hackern auf die Gesellschaft machen die Wichtigkeit von Sicherheitstests deutlich. Die Kosten für Unternehmen belaufen sich auf einen Bruchteil dessen, was im Falle eines Datendiebstahls anfallen würde. Insofern sind Penetrationtests absolut notwendig und sollten ein fixer Bestandteil sein, und zwar überall dort, wo Software eingesetzt wird.

Haben Sie Fragen oder benötigen Hilfe bei diesem Thema? Zögern Sie nicht uns zu kontaktieren. Wir helfen Ihnen gern weiter.

Ansprechpartner: Ute Seelig oder Martin Stoll