Der Begriff Application Security bezeichnet den Prozess, Software sicherer zu machen. Das findet zu großen Teilen bereits in der Entwicklungsphase der Applikationen statt - doch dazu gehören auch Tools und Methoden, die Apps nach dem Deployment absichern. Weil kriminelle Hacker immer stärker die Software selbst ins Visier nehmen, wird Application Security für Unternehmen zunehmend wichtiger. Hunderte von Tools stehen mittlerweile zur Verfügung, die diverse Elemente Ihres Applikations-Portfolios absichern können. Zudem gibt es Anwendungen, die speziell für Mobile Apps oder Web Application Firewalls konzipiert sind.
Warum ist Application Security wichtig?
Der IT-Security-Anbieter Veracode hat im Rahmen seines zehnten "State of Software Security"-Reports rund 85.000 Unternehmens-Applikationen untersucht. Mit dem Ergebnis, dass 83 Prozent der Anwendungen mindestens eine Sicherheitslücke "zu bieten" hatten. Viele Apps wiesen dabei jedoch weit mehr Sicherheitsrisiken auf. Insgesamt fanden die Sicherheitsexperten von Veracode im Rahmen ihrer Untersuchungen rund zehn Millionen Schwachstellen.
Grundsätzlich gilt die Faustregel: Je schneller und früher Sicherheitslücken im Softwareentwicklungs-Prozess aufgedeckt werden, desto sicherer ist Ihr Unternehmen. Ein Programmierfehler kann unter Umständen bereits dazu führen, dass kriminelle Hacker unerlaubt Daten abgreifen. Application Security Tools, die sich in Ihre Entwicklungsumgebung integrieren, können diesen Prozess nicht nur effizienter gestalten, sondern ihn auch vereinfachen. Auch wenn es um Compliance Audits geht, können Werkzeuge für die Applikations-Sicherheit Zeit und Kosten sparen, wenn sie Probleme noch vor den Auditoren entdecken.
Gartners Hype Cycle zeigt mehr als ein Dutzend verschiedener Produktkategorien im Bereich Application Security. Einige davon befinden sich erst in der Entstehung und beinhalten relativ neue Produkte. Das zeigt, wie schnell sich dieser Markt angesichts der immer komplexeren und schwieriger zu identifizierenden IT-Bedrohungen entwickelt. Die Analysten sprechen im Rahmen ihres App Security Hype Cycle (September 2018) davon, dass IT-Entscheider "über den Tellerrand der Identifizierung gewöhnlicher Schwachstellen im Rahmen des Softwareentwicklungs-Prozesses hinausblicken müssen". Stattdessen sollten sie ihren Blick auf die Absicherung der Applikationen gegen gängige Angriffstechniken krimineller Hacker richten, so die Analysten.
Das schnelle Wachstum im Bereich Application Security hängt dabei auch mit der Evolution von Enterprise Apps an sich zusammen: Die Zeiten, in denen IT-Abteilungen über Monate hinweg Anforderungen identifizierten, Prototypen bauten, testeten und am Ende ein fertiges Produkt bei der Abteilung für Endkunden abgeben, sind längst vorbei. Stattdessen werden Unternehmensapplikationen heutzutage dank "continous development and integration" täglich - manche gar stündlich - überarbeitet und angepasst. In diesem dynamischen Umfeld ist es noch wichtiger Security Tools einzusetzen, um Schwachstellen in neuen Code-Teilen so schnell wie möglich zu identifizieren.
Welche Software Security Tools gibt es?
Die zahlreichen Werkzeuge für die Absicherung von Unternehmensapplikationen lassen sich in zwei Hauptkategorien gliedern: Security Testing Tools und Application-Shielding-Lösungen. Letztgenannte gibt es schon einige Zeit am Markt - einige davon kommen von bekannten Anbietern wie IBM, CA oder MicroFocus. Bei den Security Testing Tools unterteilen die Analysten von Gartner weiter:
Static Testing Tools analysieren Programmcode in der Entwicklungsphase zu festgelegten Zeitpunkten. Das ist insbesondere für Softwareentwickler hilfreich, die sicherstellen sollen, dass ihre Entwicklungsarbeit keine Sicherheitslücken aufwirft.
Dynamic Testing Tools analysieren aktiven Programmcode. Hiermit lassen sich Angriffe auf Produktionssysteme simulieren, um komplexere Angriffsmuster aufzudecken, die eine Kombination verschiedener Systeme nutzen.
Interactive Testing Tools kombinieren Elemente der statischen und dynamischen Testing Tools.
Mobile Testing Tools sind speziell für den Einsatz in mobilen Infrastrukturen konzipiert. Sie können Aufschluss darüber geben, welche Sicherheitslücken mobile Betriebssysteme und die Apps die auf ihnen laufen, aufweisen.
Wichtig ist beim Einsatz solcher Application Security Tools insbesondere, welche Programmiersprachen unterstützt werden. Einige Anbieter bieten lediglich Support für ein oder zwei Coding-Sprachen - mit Java sind Sie im Regelfall auf der sicheren Seite. Andere Tools sind eher in das Microsoft-.Net-Universum eingebunden. Gleiches gilt auch für integrierte Entwicklungsumgebungen: Einige Tools fungieren als Plugins oder Extensions, was Code Testing im Grunde mit einem Mausklick ermöglicht.
Ein wichtiger Punkt ist zudem, inwiefern sich die ermittelten Testergebnisse in eigene Analysen einbinden lassen. IBM bietet hier als einer von wenigen Anbietern die Möglichkeit, Erkenntnisse aus manuellen Tests, Penetration Testing, Vulnerability Testing und den Lösungen anderer Anbieter zu importieren. Das ist insbesondere dann hilfreich, wenn viele verschiedene Application Security Tools zum Einsatz kommen.
Application Shielding Tools sollen Software so abzusichern, dass sie weniger leicht gehackt werden kann. In diesem Bereich ist die Marktreife weit weniger ausgeprägt, als bei Testing Tools. Entsprechend heterogen gestaltet sich das Angebot: Es gibt viele kleine, spezialisierte Lösungen - mit überschaubaren Erfahrungswerten und Kundenfeedback. Die Shielding Tools testen nicht nur auf Schwachstellen und halten kriminelle Angreifer fern. Sie lassen sich in verschiedene Unterbereiche kategorisieren:
Runtime Application Self-Protection (RASP) Tools stellen eine Kombination aus Testing und Absicherung dar und können eine wirksame Maßnahme gegen Reverse Engineering darstellen. RASP Tools überprüfen fortlaufend das "Verhalten" einer Applikation. Das ist insbesondere in Mobile-Umgebungen hilfreich. Tritt eine Kompromittierung ein, kann RASP Alarmmeldungen aussenden, einzelne Prozesse oder die komplette App beenden beziehungsweise schließen. RASP dürfte künftig zum Standard bei der Entwicklung von mobilen Applikationen werden.
Code Obfuscation Tools werden von kriminellen Hackern schon seit längerem genutzt, um ihre Malware zu verstecken. Solche "Verschleierungs-Tools" gibt es auch für Softwareentwickler, um ihren Code besser zu schützen.
Verschlüsselungs- und Anti-Manipulations-Tools werden ebenfalls dazu genutzt, kriminelle Angreifer abzuwehren, beziehungsweise sie gar nicht erst zum Zuge kommen zu lassen.
Threat Detection Tools untersuchen eine Entwicklungsumgebung oder ein Netzwerk, in dem Apps laufen und geben Aufschluss über potenzielle Bedrohungen oder Manipulationen.
Wo liegen die Probleme bei der App-Sicherheit?
Die IT-Abteilung muss verschiedene Perspektiven einnehmen, um sichere Applikationen entwickeln zu können. Dazu sollten die IT-Experten im ersten Schritt immer auf dem aktuellen Stand sein, was den Markt für Security- und Application Development Tools angeht.
Weil Unternehmen ihr digitales Produktportfolio zunehmend zielgerichtet ausbauen und eine komplexere Infrastruktur für ihre Applikationen benötigen, muss die IT die Bedürfnisse und Anforderungen der einzelnen Geschäftsbereiche kennen. Speziell Knowhow im Bereich von Software-as-a-Service - beziehungsweise wie diese Services aufgebaut und abgesichert werden können, ist unabdingbar. Glaubt man einer aktuellen Studie des Softwareanbieters Cast, bestehen hier teilweise erhebliche Mängel.
In der Praxis kann es darüber hinaus dazu kommen, dass die Verantwortlichkeiten für Application Security über verschiedene Teams innerhalb der IT verteilt sind. In einem solchen Fall ist es schwierig, ein Tool zu finden, das auf alle Anforderungen passt - was wiederum zur starken Fragmentierung des Marktes für Application Security Tools beiträgt.
- Adminrechte
Keine Vergabe von Administratorenrechten an Mitarbeiter - Dokumentation
Vollständige und regelmäßige Dokumentation der IT - Sichere Passwörter
IT-Sicherheit beginnt mit Sensibilisierung und Schulung der Mitarbeiter sowie mit einer klaren Kommunikation der internen Verhaltensregeln zur Informationssicherheit:<br /><br /> Komplexe Passwörter aus Groß- und Kleinbuchstaben, Ziffern und Sonderzeichen, mindestens achtstellig. - Passwortdiebstahl
Niemals vertrauliche Daten weitergeben oder/und notieren. - E-Mail-Sicherheit
E-Mails signieren, sensible Daten verschlüsseln, Vorsicht beim Öffnen von E-Mail-Anlagen und Links. - Soziale Manipulation
Bewusst mit vertraulichen Informationen umgehen, nur an berechtigte Personen weitergeben, sich nicht manipulieren oder aushorchen lassen. - Vorsicht beim Surfen im Internet
Nicht jeder Link führt zum gewünschten Ergebnis. - Nur aktuelle Software einsetzen
Eine nicht aktualisierte Software lässt mehr Sicherheitslücken offen. - Verwendung eigener Software
Unternehmensvorgaben beachten und niemals Software fragwürdiger Herkunft installieren. - Unternehmensvorgaben
Nur erlaubte Daten, Software (Apps) und Anwendungen einsetzen. - Backups
Betriebliche Daten regelmäßig auf einem Netzlaufwerk speichern und Daten auf externen Datenträgern sichern. - Diebstahlschutz
Mobile Geräte und Datenträger vor Verlust schützen. - Gerätezugriff
Keine Weitergabe von Geräten an Dritte, mobile Geräte nicht unbeaufsichtigt lassen und Arbeitsplatz-PCs beim Verlassen sperren. - Sicherheitsrichtlinien
Die organisatorischen Strukturen im Hintergrund bilden den erforderlichen Rahmen der IT-Sicherheit. Hier gilt es, klare Regelungen zu formulieren und einzuhalten:<br /><br />Definition und Kommunikation von Sicherheitsrichtlinien - Zugriffsrechte
Regelung der Zugriffsrechte auf sensible Daten - Softwareupdates
Automatische und regelmäßige Verteilung von Softwareupdates - Logfiles
Kontrolle der Logfiles - Datensicherung
Auslagerung der Datensicherung - Sicherheitsanalyse
Regelmäßige Überprüfung der Sicherheitsmaßnahmen durch interne und externe Sicherheitsanalysen - Notfallplan
Erstellung eines Notfallplans für die Reaktion auf Systemausfälle und Angriffe - WLAN-Nutzung
Auf technischer Ebene muss ein Mindeststandard gewährleistet sein. Dieser lässt sich größtenteils ohne großen Kostenaufwand realisieren:<br /><br />Dokumentation der WLAN-Nutzung, auch durch Gäste - Firewalls
Absicherung der Internetverbindung durch Firewalls - Biometrische Faktoren
Einsatz von Zugangsschutz/Kennwörter/Biometrie - Zugangskontrolle
Physische Sicherung/Zugangskontrolle und -dokumentation - Schutz vor Malware
Schutz vor Schadsoftware sowohl am Endgerät als auch am Internetgateway, idealerweise durch zwei verschiedene Antivirenprogramme - Webzugriffe
Definition einer strukturierten Regelung der Webzugriffe - Verschlüsselung
Verschlüsselung zum Schutz von Dateien und Nachrichten mit sensiblen Inhalten - Löschen
Sicheres Löschen der Daten bei Außerbetriebnahme - Update der Sicherheitssysteme
Sicherstellung regelmäßiger Updates der Sicherheitssysteme - Monitoring
Permanente Überwachung des Netzwerkverkehrs auf Auffälligkeiten
Wohin entwickelt sich die Application Security?
Security-Anbieter Imperva kommt in seinem aktuellen "State of Web Application Vulnerabilities"-Report zu einem positiven Gesamtfazit. Die Zahl der Schwachstellen und Sicherheitslücken bei Web Applications steigt zwar weiterhin, allerdings nicht so stark wie bisher. Insbesondere bei den IoT-Schwachstellen verzeichnete Imperva einen Rückgang: Wurden 2017 noch 112 neue Sicherheitslücken identifiziert, waren es 2018 nur noch 38. API-Sicherheitslücken (plus 24 Prozent) und Content-Management-Systeme (plus 30 Prozent) sind die neuen "Sorgenkinder".
Die vorgenannte Veracode-Studie gibt Aufschluss über die gängigsten Schwachstellen bei Web-Applikationen:
Datenleaks (64 Prozent)
Verschlüsselungs-Probleme (62 Prozent)
CRLF Injection (61 Prozent)
Code-Qualität (56 Prozent)
Unzureichende Input-Validierung (48 Prozent)
Cross-site scripting (XSS) (47 Prozent)
Directory-Traversal-Angriffe (46 Prozent)
Zugangsdaten-Management (45 Prozent)
Das Testing von Applikationen sorgt dafür, dass solche Schwachstellen deutlich schneller identifiziert und behoben werden können. Unternehmen, die einen DevSecOps-Ansatz verfolgen, der auf kontinuierlichem Scanning und Testing von Software fußt, können im Regelfall weit schneller auf Bedrohungen reagieren.
Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation CSO Online.