IT-Security-Testing: 12 Best Practices
Die Gefahren, die von Hackern und Viren ausgehen, nehmen jährlich zu. Für Unternehmen ist Software Testen im Bereich der IT-Security daher unverzichtbar. Inzwischen gibt es eine Vielzahl an Ansätzen, Methoden und Tools. Die passende Sicherheitsstruktur zu etablieren, ist daher nicht einfach. Wir helfen Ihnen den Überblick zu behalten und zeigen Ihnen in diesem Blogartikel die zwölf wichtigsten Best Practices, mit denen Sie ein effektives IT-Security-Testing aufbauen können.
IT-Security-Testing:
Cyberattacken treten immer häufiger auf und verursachen jährlich Milliardenschäden in den betroffenen Unternehmen. Dabei werden die Täter immer professioneller: Laut einer
Studie im Auftrag des Digitalverbandes Bitcom stammt mehr als die Hälfte der Angriffe aus dem Bereich des organisierten Verbrechens. Sich zu schützen, ist daher eine wichtige Aufgabe. IT-Security-Testing identifiziert und kalkuliert Sicherheitsrisiken für die IT-Systeme. Im Idealfall kann es die Sicherheitslücken sogar beheben und die Software dadurch vor potenziellen Angriffen schützen.
Tipp: Einen Überblick über die zahlreichen Ansätze, Strategien und Tools geben wir bereits in unserem Blogartikel
"IT-Security-Testing – ein Überblick".
Best Practices für IT-Security-Testing
IT-Security-Testing ist sehr komplex. Unternehmen tun sich daher oft schwer, die richtige Herangehensweise zu finden. Die folgenden zwölf Best Practices sollen dabei helfen:
- Verschiedene Testverfahren kombinieren: Ohne an dieser Stelle auf die vielen verschiedenen Ansätze des Security-Testings eingehen zu wollen, können wir dennoch eines festhalten: Inzwischen gibt es für so gut wie jedes Sicherheitsproblem auch ein entsprechendes Testverfahren. Jedoch können die wenigsten Teststrategien oder Tools alle Schwachstellen auf einmal erkennen und beheben. Daher sollten Tester verschiedene Verfahren parallel anwenden, um ein möglichst großes Spektrum abzudecken. Beispielsweise können sich statische und dynamische Testverfahren optimal ergänzen: Statisches Testen punktet mit Schnelligkeit, da es mit dem ruhenden Quellcode und den Applikationsdaten arbeitet. Dynamisches Testen ist hingegen sehr präzise und kann unbekannte Unsicherheitsfaktoren identifizieren, indem es die laufende Software untersucht.
- Interne und externe Bedrohungen betrachten: IT-Sicherheit bedeutet nicht nur, klassische Hackerangriffe abzuwehren. Auch interne Bedrohungen dürfen beim IT-Security-Testing nicht zu kurz kommen. Ein sogenanntes Zero-Trust-Modell unterzieht Daten innerhalb des Systems einer eingehenden Sicherheitsprüfung. Dieser Ansatz soll verhindern, dass Dritte über gehackte Accounts Zugriff auf firmeninterne Informationen erhalten oder das System steuern können. Zum Bereich der internen Sicherheit gehört es ebenso, in der Belegschaft ein Bewusstsein für Cybersicherheit zu schaffen – beispielsweise mit Hilfe von Schulungen oder Security-Guidelines.
- Zugangs- und Zugriffsrechte regulieren: Ein besonderes Augenmerk sollten Unternehmen auch darauf legen, welche Personen Zugang zu internen Informationen erhalten. Firmen müssen zunächst entscheiden, wer Zugriff erhält und welche Rechte damit verbunden sind (Autorisierung). Hierbei sollten sie nicht nach dem Gießkannenprinzip vorgehen, sondern genau prüfen, wer welche Lizenzen oder Informationen wirklich braucht und für welchen Zeitraum. In vielen Fällen reicht es aus, den Zugang zu bestimmten Daten auf die Laufzeit des entsprechenden Projekts zu begrenzen. Eine andere Option wäre es, Time-out-Funktionen einzurichten, die einen User automatisch aus der Anwendung oder dem Ordner mit sensiblen Daten abmelden. Die Tester sind dafür zuständig, dass all das in der Praxis funktioniert: Dafür entwickeln sie Anmeldemechanismen oder überprüfen bestehende Identifikationsverfahren. Dazu gehören sichere Benutzernamen und Passwörter sowie weitere Sicherheitschecks, zum Beispiel persönliche Fragen oder die Eingabe von Codes (Authentifizierung).
- Zugangspunkte kontrollieren: Code von Dritten in die eigene Software einzubinden, scheint verlockend, da es Zeit und Kosten spart. Dennoch müssen Unternehmen hierbei vorsichtig sein: Vor allem Open-Access-Schnittstellen haben Schwachstellen, über die Hacker ins System gelangen können. Unternehmen sollten Code aus dritter Hand daher penibel überprüfen lassen. Dabei ist wichtig, regelmäßige Updates des verwendeten Codes zu implementieren, diesen mit Hilfe von Monitoring-Tools kontinuierlich zu prüfen und Notfallpläne zu entwickeln. Nichts ist ärgerlicher, als wenn die eigene Software nicht mehr funktioniert, weil die externen Codeteile fehlerhaft sind oder Hacker sie mutwillig beschädigt haben.
- Auf bösartige Skripte untersuchen: Über reguläre Eingabefelder können Hacker bösartiger Skripte ins System einschleusen, beispielsweise um die Software zu steuern, zu manipulieren oder außer Betrieb zu setzen. IT-Security-Testing überprüft beispielsweise, wie lang ein Input sein darf, den ein User auf einer Webseite eingeben darf. Begrenzt man diesen Input, können Hacker ein bösartiges Skript weniger leicht einschleusen. Neben dieser präventiven Maßnahme sind auch Tests nötig, die erkennen, ob sich bösartige Skripte bereits im System befinden. Außerdem sollten Unternehmen sicherstellen, dass ihre Systeme im Ernstfall gewappnet sind. Dafür sind in der Regel manuelle Pentests notwendig.
- Datensicherheit überwachen: IT-Security-Testing sollte sich vor allem auf die Sicherheit der Daten im System fokussieren. Das umfasst drei Bereiche: Erstens sind Tests notwendig, die prüfen, welche und wie viele Daten für User mit verschiedenen Nutzerrollen sichtbar sind. So lässt sich feststellen und steuern, welche Informationen nach außen dringen sollen. Zweitens muss Security-Testing betrachten, wie ein Unternehmen Daten speichert und lagert. An dieser Stelle liegt ein beliebter Angriffspunkt für Hacker. Drittens müssen Tester sicherstellen, dass die Daten ausreichend verschlüsselt sind. Das betrifft sowohl den Datenverkehr als auch ruhende Daten und sensible Teile des Quellcodes. Eine besonders vulnerable Schwachstelle bleibt der Datenverkehr. Insbesondere Identifikationsdaten dürfen niemals als unverschlüsselter Rohtext im Datennetz unterwegs sein. Denn hier kann es zu sogenannten Man-in-the-Middle-Attacken (MITM-Attacken) kommen. Dabei schaltet sich ein Hacker zwischen den User und den Server und greift die Zugangsdaten ab. Beim Datenverkehr sollte ein System mindestens SSL-Protokolle mit einem aktuellen Zertifikat verwenden.
- Fehlercodes prüfen: Wenn eine Webseite Fehler generiert – beispielsweise 400, 404 oder 408 – landen User auf Fehlerseiten. Diese Seiten können allerdings für Hacker relevante Informationen enthalten. IT Security Testing soll dies verhindern, indem es zum Beispiel Stacktraces überprüft. Mit Hilfe dieser Stacktraces lassen sich alle Schritte eines Programms zurückverfolgen, die dazu geführt haben, dass es abstürzt. Sie dürfen auf Fehlerseiten nicht für Dritte sichtbar sein, denn sie enthalten wertvolle Informationen darüber, wie ein System Daten verarbeitet.
- Ein Session Management etablieren: Ein Session Management organisiert die einzelnen Sessions eines Users mit einer Webapplikation. Eine Session beginnt zum Beispiel, wenn sich ein User mit seinen Benutzerdaten einloggt. Sie endet, wenn er sich wieder ausloggt. Im Lauf einer Session greift das System stetig auf diese Anmeldedaten zurück. Dadurch bleibt der User identifiziert. Die eingegebenen Informationen – zum Beispiel Produkte im Warenkorb – gehen nicht verloren. All diese Daten muss IT-Security-Testing sichern. Um Session Management sicherer zu gestalten, können Unternehmen beispielsweise automatische Logout-Zeiten festlegen. Das ist besonders bei Anwendungen mit hochsensiblen Daten wichtig, beispielsweise beim Online-Banking. Session Management kümmert sich darüber hinaus auch um die Transaktionszeiten der Daten, um MITM-Attacken vorzubeugen.
- Kundenfunktionen checken: Funktionen, bei denen User aktiv Daten mit einer Anwendung austauschen, sind ein Einfalltor für Hacker. Besondere Vorsicht ist zum Beispiel bei Zahlfunktionen oder beim Upload von Dateien geboten. Eine Aufgabe des IT-Security-Testings ist es zum Beispiel, verdächtige Dateien oder Ordner sofort zu löschen.
- Ein Sicherheitsmanagement aufstellen: Um dauerhaft die Sicherheit der Systeme zu garantieren, braucht ein Unternehmen eine Cybersicherheitspolitik, die zu den Bedürfnissen der Firma passt. Dafür sollte das Unternehmen einen professionellen IT-Security-Tester hinzuziehen. Zunächst analysiert der Tester zusammen mit seinem Kunden dessen Software-Infrastruktur und den bestehenden Sicherheitsstatus. Diese Erkenntnisse sind die Basis dafür, das System dauerhaft und effektiv schützen zu können. In einem zweiten Schritt entwickelt der Experte einen Testplan, der genau auf die bestehende Infrastruktur und die Sicherheitsanforderungen des Unternehmens zugeschnitten ist. Darin sollten auch Pläne für regelmäßige Updates und Patches enthalten sein.
- Automatisch und regelmäßig testen: Gewisse IT-Security-Tests müssen Tester manuell ausführen, zum Beispiel Pentests und Security-Audits. Einfache Sicherheitstests lassen sich jedoch problemlos automatisieren. Das funktioniert am besten mit Hilfe statischer Testing-Tools. Der Vorteil: Sie können regelmäßiger testen als manuelle Verfahren. Zudem können sie immer dann durchlaufen, wenn sich eine App oder die Computerinfrastruktur verändert, beispielsweise nach Updates. Da diese nicht immer zu den Arbeitszeiten der Tester online gehen, braucht es automatische Tests, die auch nachts die Sicherheit des Systems garantieren. Automatische Sicherheitstests sind außerdem unverzichtbar, wenn ein Unternehmen oder eine Organisation mit DevOps-Strukturen arbeitet.
- DevSecOps einführen: Wenn Entwickler, Security-Tester und Operationsteams eng zusammenarbeiten, lassen sich Sicherheitstests früh in den Entwicklungsprozess implementieren. DevOps-Kulturen werden dann zu DevSecOps-Kulturen, auch Shift-Left-Ansatz genannt. Frühzeitige Security-Tests ermöglichen es, Sicherheitslücken auf allen Ebenen des Entwicklungsprozesses zu erkennen. Tester und Entwickler können auf diese Weise viele Schwachstellen bereits beheben, bevor eine Software auf dem Markt oder beim Kunden ankommt. Doch auch wenn Probleme im Betrieb auftreten, können DevSecOps-Teams diese einfach beheben, da die Entwicklungszyklen kurz sind und die Kommunikationskanäle bereits bestehen. Innerhalb einer DevSecOps-Kultur lernen Entwickler selbst mehr über Sicherheitsprobleme und können Best Practices bereits beim Coden einfließen lassen. Sie sollten IT-Security-Tester allerdings nicht ersetzen, sondern ein eigenes Sicherheitstraining erhalten, das auf ihre Rolle angepasst ist. Zu einer sicheren DevSecOps-Kultur gehört ein Secure Software Development Life Cycle (SSDLC). Dieser zielt darauf ab, den Lebenskreislauf eines Produkts sicher zu gestalten: Professionelle Mitarbeiter entwickeln und warten das Produkt in risikoarmen Prozessen und bringen es sicher zum Kunden. Dort angekommen agiert das IT-Produkt ebenfalls in einem gesicherten Umfeld.
Fazit
Diese Best Practices sollen Sie dabei unterstützen, ein solides Grundgerüst für Ihre IT-Security-Testing-Strategie zu entwickeln. Dazu gehören nicht nur konkrete Ansatzpunkte wie Datensicherheit, Zugangsrechte und Session Management, sondern auch umfassende Sicherheitskonzepte wie ein Securitymanagement, automatisiertes Testen und DevSecOps-Kulturen. Dennoch kann IT-Security-Testing je nach Umfeld, Branche und Software-Produkt ganz unterschiedlich ablaufen. Deshalb ist es wichtig, sich professionelle Experten an die Seite zu holen.
Wir von ARINNAU stehen Ihnen gerne zur Seite. Unsere ARINNAU-Qualitätsexperten finden gemeinsam mit Ihnen eine Testing-Strategie, die zu Ihrem Unternehmen passt.