Sicherheitslücken bei häufig verwendeten Produkten wie Social-Media-Plattformen, Routern aber eben auch mobile Anwendungen und Apps schaffen es regelmäßig in die Medien. Zu Recht stellen Benutzer die zugrundeliegenden Verfahren (oder deren Fehlen selbiger) in Frage, die eigentlich dazu da wären, um ihre privaten Informationen zu schützen. Es ist also an der Zeit, das Thema Anwendungssicherheit in den Fokus zu nehmen.
Insbesondere Anbieter kommerzieller Softwarelösungen sind gut beraten, sich mit Hilfe von Penetrationstest durch professionelle Anbieter ein unabhängiges Bild von ihrer Applikationssicherheit zu machen und damit Strafen durch Behörden oder schlechte Presse zu vermeiden.
SEC Consult ist einer der führenden Berater im Bereich Cyber- und Applikationssicherheit. Zu unseren Kunden zählen führende Unternehmen, Behörden und Organisationen aus verschiedensten Sektoren der Privatwirtschaft sowie der kritischen Infrastruktur. Erst kürzlich haben wir für Brainloop alle Applikationen auf IT-Sicherheit hin auditiert.
WAS IST PENTESTING?
Wie Sie am Namen „Penetrationstest“ (kurz: „Pen-Test“) erahnen können, ist es eine Möglichkeit zu testen, ob etwas gehackt werden kann. Auf diese Weise können Schwachstellen in Applikationen, Softwarekomponenten oder Netzwerken identifiziert werden, die Sie normalerweise übersehen würden. Ein Entwickler hat ganz einfach einen anderen Ansatz und eine andere Denkweise als ein motivierter und erfahrener Hacker.
Es sollen möglichst viele sicherheitsrelevante Konfigurationsprobleme und Sicherheitslücken gefunden werden. Diese Suche ist in der Regel nur durch das verfügbare Budget eingeschränkt. Genau wie ein echter Angreifer, würde der Pen-Tester nicht aufhören, bis er sein Ziel erreicht hat: Zugang zu persönlichen, klassifizierten oder anderen schützenswerten Daten, Malware installieren usw. – alles was die Existenz Ihres Unternehmens gefährden und zu erheblichen finanziellen und Reputationsverlusten führen könnte.
Es liegt in der Verantwortung des Software-Anbieters, sichere Produkte zu entwickeln und bereitzustellen. Weiter ist es seine Pflicht, die Benutzer des Produkts auf potentielle Risiken, die aus der unsachgemäßen Verwendung des Produktes entstehen können, aufmerksam zu machen. Dazu gehören „nicht geänderte Standard-Passwörter“ ebenso wie die unsichere Konfiguration des jeweiligen Softwareprodukts.
Die Gründe für Sicherheitslücken können vielfältig sein: Manchmal wird ein technischer Patch benötigt, manchmal ist der Fehler eine Folge eines organisatorischen Mangels. „Die teuersten Schwachstellen sind diejenigen, die durch eine schlechte Architektur oder unsicheres Design verursacht werden“, sagt Ulrich Fleck, Chief Revenue Officer bei SEC Consult.
Es ist wichtig zu verstehen, dass der Zweck eines Pen-Tests nicht nur darin besteht, alles ein wenig zu überblicken und damit ist es getan. Es sei denn, Sie wollen nur Ihre Investoren beeindrucken und den durchgeführten Test zur Schau stellen. Normalerweise möchten Sie als Unternehmen jedoch die Dinge finden, die nicht so offensichtlich sind, aber eine enorme geschäftliche Auswirkung haben können.
Ein Pen-Test endet nicht mit einer ausgefallenen Präsentation. Wenn etwas gefunden wird, das zur Anpassung der betroffenen Produkte, Services oder internen Prozessstrukturen führt, beginnt die harte Arbeit. Um zu entscheiden, welche Probleme sofort oder z. B. bei einem der nächsten großen Releases in Angriff genommen werden, muss das Unternehmen jedoch über einen entsprechenden Risiko- oder Informationssicherheitsmanagement-Prozess verfügen. Nur so können die nächsten Schritte und der Schweregrad der Schwachstellen im Unternehmensumfang sinnvoll bewertet werden.
Einige Sicherheitslücken haben eine einfache technische Lösung, einige sind komplizierter zu beheben. Sobald die Benutzerfreundlichkeit des Produkts selbst betroffen ist (z. B. Zwei-Faktor-Authentifizierung, Login-Timeouts, …), gibt es keinen „richtigen“ oder „falschen“ Weg mehr. Doch ohne einen zugrundeliegenden ISMS-Prozess, bleibt ein Pen-Test Stückwerk. Damit kämpfen weniger sicherheitsbewusste Unternehmen am meisten.
MOBILE APPS TESTEN
Es gibt einen großen Unterschied zwischen Desktop und Mobile, obwohl die zugrundeliegenden Protokolle für die Kommunikation mit einem Server auf dem Desktop oder Mobilgerät nicht anders sind. Aber ein mobiles Gerät genießt ein viel höheres Vertrauensniveau, das auch Entwickler einschließt. Da immer mehr Sicherheitslücken in mobilen Geräten zum Vorschein kommen, die es sogar in die Medien geschafft haben, ist dies ein großes Problem. Es sollte auch für Entwickler auf Mobile unerlässlich sein, bestehende Best Practices für lokale Sicherheitsimplementierungen anzuwenden und auf dem neuesten Stand der Entwicklung zu bleiben.
In einem Business-Kontext werden mobile Geräte immer öfter zum Abschluss von Geschäften verwendet. Das macht sie zu einem lukrativen Ziel für Hacker. Stellen Sie sich vor, Ihr Vertriebsmitarbeiter würde einen Vertrag für einen großen Verkauf einreichen, aber die Daten werden abgefangen und manipuliert. Sie würden am Ende gefälschte Daten von einer vertrauenswürdigen Quelle erhalten, was erhebliche finanzielle Folgen nach sich ziehen könnte. Das gleiche Problem gilt für moderne IoT-Geräte wie Smart Locks oder Smart Homes. Sobald Sie aus der Ferne etwas tun können, ziehen Sie auch Kriminelle an, die vielleicht einen Weg finden, sie zu manipulieren und zu monetarisieren.
EMPFEHLUNGEN AUF EINEN BLICK
Um mögliche Schlupflöcher zu finden, braucht es Zeit, sowohl beim Testen als auch bei der Vorbereitung. Denken Sie daran, dass ein hohes Sicherheitslevel für Hacker frustrierend ist und sich diese häufig das leichteste Ziel suchen.
Ein Pen-Test oder ein Audit Ihrer Software und ein angemessener Risikomanagementprozess in Ihrem Unternehmen sind ein guter Einstieg. Jeder Test ist allerdings nur eine Momentaufnahme. Da er immer an eine Zeitbeschränkung gebunden ist, ist ein Pen-Test auch kein Beweis für das Fehlen von Sicherheitslücken.
Gerade in der IT-Branche ändern sich die Dinge sehr schnell, ebenso die Testmethodik und der Quellcode. Auch Pen-Tester haben heute einen völlig anderen Ansatz und Fokus als vor 10 Jahren. Zum Beispiel waren SQL-Injections vor ein paar Jahren sehr beliebt. Heutzutage zielen Hacker auf echte Menschen ab, indem sie Benutzern bösartigen Code unterjubeln.
Wenn Sie wirklich daran arbeiten wollen, sich zu verbessern, macht ein Follow-up-Test z.B. nach jeder größeren Veröffentlichung ebenfalls Sinn. Das System ist bereits bekannt und ein Tester findet vielleicht andere, tiefer versteckte oder sogar neue Probleme. Dafür gibt es jedoch effizientere Möglichkeiten, wie die konstante Überwachung der Anwendungssicherheit durch Application Security Monitoring, das den Vor- und Nachbereitungsaufwand auf ein Minimum reduziert.
Darüber hinaus lassen sich viele potenzielle Risiken vermeiden, indem Sie Ihre Mitarbeiter einfach in Ihre Sicherheitspolitik einbeziehen, ein solides Sicherheitsbewusstsein schaffen und in Schulungen investieren. Machen Sie Weiterbildung für alle möglich und gehen Sie mit gutem Beispiel voran. Es muss keine OSCE, OSCP oder CREST-Zertifizierung sein, wie wir es von unseren eigenen Consultants verlangen. Aber vielleicht ist es ein erster Schritt, Ihre IT-Mitarbeiter zu internationalen Konferenzen schicken, um zu sehen, was außerhalb ihrer Räume vor sich geht.
Über den Autor
Fabian Mittermair ist Senior Sales Consultant und Prokurist bei SEC Consult, wo er bereits seit 2010 in unterschiedlichen Rollen tätig ist. Er ist Dipl.-Ingenieur und hat mit Schwerpunkt IT-Security und Informationssicherheit in St. Pölten studiert.
Geschrieben von Fabian Mittermair
Gastautoren, Informationssicherheit