Anwendungssicherheit | |
![]() | Inhaltsverzeichnis Was ist Anwendungssicherheit?Anwendungssicherheit umfasst Maßnahmen zum Schutz von Anwendungen über ihren gesamten Lebenszyklus. Dazu gehören Planung, Entwicklung, Bereitstellung, Betrieb und Außerbetriebnahme. Weitere deutsche Bezeichnungen sind Applikationssicherheit und Sicherheit auf Anwendungsebene. Der englische Fachbegriff lautet Application Security (AppSec). Die Maßnahmen sollen unberechtigte Zugriffe, Datenmanipulationen und Störungen verhindern oder ihre Folgen begrenzen. Der Ansatz betrifft Webanwendungen ebenso wie mobile Anwendungen, Desktop-Programme und eingebettete Software und kann auch Cloud-Anwendungen (Cloud-Apps) umfassen. Sichere Softwareentwicklung hilft, Schwachstellen bereits beim Entwurf und bei der Programmierung zu vermeiden. Im Betrieb prüfen und aktualisieren die Verantwortlichen die Anwendung weiter, um auf neue Schwachstellen und geänderte Einsatzbedingungen zu reagieren. Die zentralen Bausteine der Anwendungssicherheit im Überblick:
Wie funktioniert Anwendungssicherheit?Verantwortliche legen Sicherheitsanforderungen fest, prüfen deren Umsetzung und beheben Schwachstellen. Diese Aufgaben begleiten die Anwendung von der Planung bis zur Außerbetriebnahme. Planung: Das Team legt schützenswerte Daten, zulässige Zugriffe und Ausfallfolgen fest. Eine Bedrohungsmodellierung untersucht mögliche Angriffswege und begründet Sicherheitsanforderungen. Die gemeinnützige Sicherheitsorganisation OWASP empfiehlt in ihrem Leitfaden zur Bedrohungsmodellierung, das Modell bei wesentlichen Architekturänderungen, neuen Schnittstellen oder veränderten Bedrohungen zu aktualisieren. Entwicklung: Bei Code-Reviews prüfen Entwickler, ob Änderungen am Quellcode die Programmierregeln einhalten und Eingaben sicher verarbeiten. Der Ansatz Shift Left verankert solche Sicherheitsprüfungen früh in der Entwicklung. Automatisierte Sicherheitstests prüfen Codeänderungen zusätzlich vor der Freigabe einer Version. Softwarelieferkette: Eine Anwendung enthält häufig fertige Softwarebausteine anderer Anbieter oder Teams. Das Entwicklungsteam prüft deren Herkunft und Versionen und schützt die Werkzeuge zur Softwareentwicklung vor unbefugten Änderungen. OWASP empfiehlt solche Kontrollen in seinem Leitfaden zur Software Supply Chain Security, um Manipulationen entlang der Softwarelieferkette zu erschweren. Bereitstellung: Vor der Freigabe prüfen Entwicklungs- und Betriebsteams die Sicherheitseinstellungen und Zugriffsrechte der Anwendung. Sie kontrollieren, ob die Softwarepakete vom vorgesehenen Herausgeber stammen und seit der Signierung unverändert sind. Die Prüfung der digitalen Signatur unterstützt diese Kontrolle, belegt aber keine Fehlerfreiheit. Betrieb: Im Betrieb untersuchen Betriebs- und Sicherheitsteams beispielsweise fehlgeschlagene Anmeldungen und unerwartete Datenzugriffe. Das Patch Management organisiert Sicherheitsupdates zur Behebung bekannter Schwachstellen. Nach einem Sicherheitsvorfall fließen die Erkenntnisse in die Sicherheitstests des Entwicklungsteams und die Überwachung im Betrieb ein. Außerbetriebnahme: Wenn eine Anwendung nicht mehr zum Einsatz kommt, schalten Verantwortliche sie ab und entziehen ihre Zugriffsrechte. Sie löschen oder archivieren verbleibende Daten entsprechend den Aufbewahrungsvorgaben. So verhindern sie, dass eine vergessene Anwendung weiterhin erreichbar bleibt. Zusammenarbeit: Entwicklung und Betrieb vereinbaren, wer Sicherheitstests durchführt, neue Versionen freigibt und Schwachstellen behebt. DevSecOps integriert diese Sicherheitsaufgaben in ihre gemeinsamen Abläufe. Welche Prüf- und Schutzverfahren gibt es?Die Prüfverfahren untersuchen Programmcode, laufenden Anwendungen oder verwendete Komponenten auf Sicherheitsprobleme. Prüfanforderungen: OWASP bietet mit dem Application Security Verification Standard (ASVS) prüfbare Anforderungen für Webanwendungen. Die OWASP Top 10 geben einen Überblick über wichtige Risikoklassen. Sie bilden keinen vollständigen Abnahmekatalog. Statische Prüfung: Static Application Security Testing (SAST) untersucht Quellcode oder andere Programmdarstellungen, ohne die Anwendung auszuführen. Das Verfahren kann beispielsweise verdächtige Datenflüsse und unsichere Programmiermuster melden. Fachleute prüfen anschließend, ob die gemeldeten Befunde im Anwendungskontext tatsächlich Schwachstellen darstellen. Dynamische Prüfung: Dynamic Application Security Testing (DAST) untersucht eine laufende Anwendung über ihre Schnittstellen. Das Verfahren kann Laufzeit- und Konfigurationsfehler aufdecken. Seine Abdeckung hängt von erreichbaren Funktionen, Testeingaben und verwendeten Berechtigungen ab. Interaktive Prüfung: Interactive Application Security Testing (IAST) beobachtet mithilfe einer eingebundenen Analysekomponente interne Abläufe während der Ausführung von Tests. Das Verfahren liefert Kontext zu Datenflüssen und betroffenen Codestellen, erfasst jedoch nur tatsächlich ausgeführte Programmpfade, wie der OWASP-Leitfaden zu IAST erläutert. Komponentenprüfung: Software Composition Analysis (SCA) erfasst Abhängigkeiten und gleicht sie unter anderem mit bekannten Schwachstellen ab. Eine Software Bill of Materials (SBOM) dokumentiert Komponenten und ihre Beziehungen. Ein unauffälliger Datenbankabgleich beweist keine Fehlerfreiheit der Software. Gezielte Sicherheitstests: Ein Penetrationstest ergänzt automatisierte Prüfungen durch auf die Anwendung abgestimmte Angriffsszenarien. Besonders Berechtigungsprüfungen und mehrstufige Geschäftsabläufe benötigen passende Rollen und Testdaten. Laufzeitschutz: Eine Web Application Firewall (WAF) prüft den Verkehr zu Webanwendungen und kann verdächtige Anfragen blockieren. Runtime Application Self-Protection (RASP) bezeichnet Schutzmechanismen innerhalb der laufenden Anwendung. Beide Ansätze ergänzen sichere Implementierung und Fehlerbehebung.Verbesserung der Abläufe:Die US-Standardisierungsbehörde NIST empfiehlt im Secure Software Development Framework (SSDF) Maßnahmen für sichere Entwicklung und die Behebung von Schwachstellen. Das Software Assurance Maturity Model (SAMM) von OWASP hilft Organisationen, ihre bestehenden Sicherheitsabläufe zu bewerten und nächste Verbesserungen festzulegen. Welche Rolle spielt KI bei der Anwendungssicherheit?Künstliche Intelligenz (KI) unterstützt Entwicklung und Sicherheitsprüfungen. Anwendungen mit KI-Funktionen benötigen zugleich zusätzliche Kontrollen. Diese betreffen insbesondere die Verarbeitung von Eingaben, die Verwendung erzeugter Inhalte und den Zugriff auf Werkzeuge und Daten. Entwicklung und Prüfung: KI-Werkzeuge können Codeänderungen erläutern sowie Testfälle und Korrekturen vorschlagen. Entwickler prüfen diese Vorschläge auf fachliche Richtigkeit, sichere Programmiermuster und geeignete Abhängigkeiten. OWASP empfiehlt in seinem Leitfaden zur sicheren Entwicklung mit KI unabhängige Prüfungen und eine Kontrolle der Informationen, die Entwicklungswerkzeuge an Modelldienste übertragen. Eingaben und Ausgaben: Anwendungen mit Sprachmodellen verarbeiten Nutzereingaben und externe Inhalte. Darin können Angreifer Anweisungen einschleusen, um die Antworten oder Aktionen des Modells zu beeinflussen. Solche Angriffe heißen Prompt Injection. Auch die Weiterverarbeitung der Modellausgaben erfordert Sicherheitsprüfungen. Eine Anwendung darf beispielsweise erzeugten Programmcode nicht ungeprüft ausführen. Die OWASP Top 10 für Anwendungen mit großen Sprachmodellen beschreiben diese Risiken sowie die mögliche Offenlegung sensibler Informationen.KI-Agenten: Ein KI-Agent kann Werkzeuge aufrufen und dadurch Daten lesen oder verändern. Die Anwendung prüft jeden Werkzeugaufruf anhand festgelegter Rechte unabhängig von der Modellantwort und verlangt für sensible Aktionen eine passende Freigabe. Soll ein Agent beispielsweise ein Dokument zusammenfassen, benötigt er dafür keine Berechtigung zum Versand interner Dateien. Eine im Dokument versteckte Versandanweisung darf ihm diese Berechtigung nicht verschaffen. OWASP erläutert solche Kontrollen in seinem Leitfaden zur Agentensicherheit. Das Team wiederholt entsprechende Missbrauchstests bei Änderungen an Modellen, Anweisungen oder Werkzeuganbindungen und überwacht relevante Aktionen im Betrieb. Anwendungssicherheit, Web-Anwendungssicherheit und Web-Sicherheit: Wo liegen die Unterschiede?Anwendungssicherheit schützt Software über ihren gesamten Lebenszyklus, unabhängig davon, ob es sich um Desktop-Programme, mobile Apps oder Webanwendungen handelt. Web-Anwendungssicherheit bildet einen Teilbereich davon. Sie konzentriert sich auf Anwendungen und Dienste mit Web-Technologien, etwa Onlineshops oder Kundenportale. Dazu gehört beispielsweise die Prüfung, ob angemeldete Benutzer ausschließlich auf ihre eigenen Kundendaten zugreifen können. API-Sicherheit vertieft den Schutz von Programmierschnittstellen, auf Englisch Application Programming Interfaces (APIs). Web-Sicherheit umfasst zusätzlich die sichere Nutzung des Webs und die dafür benötigte Infrastruktur. Dazu gehören beispielsweise sichere Browsereinstellungen und verschlüsselte Verbindungen zwischen Browsern und Webservern. Anwendungssicherheit und Web-Sicherheit überschneiden sich beim Schutz von Webanwendungen, setzen darüber hinaus aber unterschiedliche Schwerpunkte. Vorteile von Anwendungssicherheit, Risiken & Herausforderungen
|
![]() | |






