Anwendungssicherheit bezeichnet die Praxis, Software und Daten vor Hackern zu schützen – unabhängig davon, ob die Anwendung von einem Drittanbieter stammt oder intern entwickelt wurde, wo sie sich befindet oder wie auf sie zugegriffen wird. Da diese Definition die Cloud und Rechenzentren sowie lokale, mobile und Webnutzer umfasst, muss Anwendungssicherheit eine Reihe von Best Practices und Tools einschließen.
Mit einem tieferen Verständnis von Anwendungssicherheit können Unternehmen die notwendigen Schritte und Maßnahmen ergreifen, um ihre wertvollen Ressourcen zu schützen und das Risiko verheerender Datenschutzverletzungen zu reduzieren.
Wie funktioniert Anwendungssicherheit?
Anwendungssicherheit basiert auf einer Kombination aus Sicherheitskontrollen und Best Practices.
Zu den Best Practices gehören sichere Entwicklungspraktiken, damit nicht versehentlich Sicherheitslücken in Anwendungen eingeführt werden, sowie die Absicherung von APIs und die korrekte Konfiguration.
Bei den Kontrollen kann es sich um eine gute Passwort-Hygiene, Web Application Firewalls oder die Segmentierung interner Netzwerke handeln – ein mehrschichtiger Ansatz, der das Risiko bei jedem Schritt reduziert.
DevSecOps und Tools für Codesicherheit und Debugging können bei Entwicklerproblemen allgemein helfen; im nächsten Abschnitt behandeln wir jedoch noch viele weitere Kontrollen und Best Practices.
Welche Arten von Anwendungssicherheit gibt es?
Welche Sicherheitsmaßnahmen AppSec erfordert, hängt von der Art der Anwendung und den damit verbundenen Risiken ab. Öffentlich zugängliche Webanwendungen ohne wichtige oder sensible Informationen benötigen möglicherweise nicht so viel Sicherheit wie beispielsweise eine Kundendatenbank mit personenbezogenen Daten (PII). Dennoch sollten auch sie durch geeignete Entwicklungs- und Sicherheitspraktiken geschützt werden, um Sicherheitsprobleme zu vermeiden, die sich verschärfen könnten.
Dies sind die häufigsten Arten von Anwendungssoftware, die AppSec-Teams absichern müssen:
Sicherheit von Webanwendungen
Informationen von Webanwendungen werden je nach Anwendung und Verwendungszweck typischerweise an verschiedenen Orten gespeichert. Dazu gehören Konfigurationsdateien, Datenbanken zur Speicherung sensibler Informationen, Protokolldateien zur Überwachung von Aktivitäten, Zertifikate und Schlüssel zum Herstellen und Absichern von Verbindungen zwischen Webanwendungen und Nutzern und vieles mehr.
Checkliste für die Sicherheit von Webanwendungen
Webanwendungen lassen sich auf verschiedene Weise absichern; hier sind neun davon.
Webanwendungsscanner testen Websites und webbasierte Apps auf Schwachstellen. Bei diesen Tests kommen typischerweise Schwachstellenscanner zum Einsatz.
Penetrationstests verfolgen einen ähnlichen Ansatz, umfassen jedoch typischerweise Sicherheitsteams, die einen Cyberangriff simulieren, um Schwachstellen zu identifizieren, die von Hackern ausgenutzt werden könnten.
Testen Sie Ihre Website regelmäßig auf Schwachstellen. Sensible Informationen wie Passwörter, Kreditkartennummern oder Sozialversicherungsnummern sollten wegen des potenziellen Risikos einer Offenlegung nicht in Cookies gespeichert werden. Einige Browser bieten SQLite-Datenbanken als Alternative zu Cookies an. Für die Sicherheit und zur Minimierung der Datenpreisgabe ist es jedoch entscheidend, diese korrekt zu konfigurieren.
Nutzen Sie Best Practices für die Entwicklung. Bedrohungen wie SQL-Injection und Cross-Site-Scripting-(XSS)-Angriffe lassen sich durch Techniken wie Eingabebereinigung minimieren.
Lesen Sie auch: Datenbanksicherheit: 7 Best Practices und Tipps
Verwenden Sie bessere und einzigartige Passwörter , um Ihre Daten vor Sicherheitsverletzungen und Identitätsdiebstahl zu schützen und sensible sowie personenbezogene Informationen besser abzusichern.
Verwenden Sie keine Hostnamen – nutzen Sie stattdessen Subdomains , da diese sich aufgrund ihrer Skalierbarkeit und Flexibilität besser für webbasierte Dienste eignen. Außerdem können sie bei der Suchmaschinenoptimierung helfen, weil Suchmaschinen Subdomains möglicherweise als eigenständige Websites betrachten und dadurch eine gezieltere Keyword-Optimierung ermöglichen.
Nutzen Sie CAPTCHAs (Completely Automated Public Turing tests to tell Computers and Humans Apart), um automatisierte Angriffe zu verhindern, sich vor Missbrauch zu schützen, die Nutzererfahrung zu verbessern, die Authentizität nutzergenerierter Daten sicherzustellen und zu gewährleisten, dass nur legitime Nutzerinteraktionen verarbeitet werden.
Implementieren Sie sichere Serverkonfigurationen, um die Sicherheit und Privatsphäre von Websites zu gewährleisten und private sowie sensible Daten zu schützen.
Web Application Firewalls (WAFs) dienen als Barriere zum Schutz von Anwendungen vor verschiedenen Sicherheitsbedrohungen. Sie analysieren den eingehenden Datenverkehr zu einer Webanwendung und blockieren bösartige Anfragen. Diese zusätzliche Sicherheitsebene kann Webanwendungen vor Bedrohungen schützen und das Risiko von Sicherheitsvorfällen minimieren.
Sicherheit von Rechenzentren und Unternehmensanwendungen
Die Sicherheit von Rechenzentren und Unternehmensanwendungen gewährleistet durch eine Kombination technischer und organisatorischer Maßnahmen den Schutz sensibler Daten und kritischer Systeme. Physische Sicherheit sowie die Absicherung von Software und Hardware bilden wichtige Grundpfeiler, indem sie Verteidigungsschichten gegen unbefugten Zugriff und bösartige Angriffe schaffen. Durch die Integration und kontinuierliche Pflege dieser Komponenten können Unternehmen ihre kritischen Informationen und Systeme zuverlässig vor potenziellen Bedrohungen schützen.
Viele der gleichen Probleme und Kontrollen gelten für diese lokalen Anwendungen. Für besonders wichtige Daten und Anwendungen sollten jedoch zusätzliche interne Kontrollen eingesetzt werden, etwa Zero-Trust-Zugriff, Mikrosegmentierung und Privileged Access Management. Ziel dieser zusätzlichen Sicherheitskontrollen ist es, die laterale Bewegung innerhalb von Netzwerken zu begrenzen und zu verhindern, dass Hacker, denen es gelingt, den Netzwerkperimeter zu überwinden, zu den kritischen Ressourcen einer Organisation gelangen.
Lesen Sie auch: MITRE ResilienCyCon: Sie werden gehackt – seien Sie vorbereitet
Sicherheit von Cloud-Anwendungen
CNAPP (Cloud Native Application Protection Platforms) und CASB (Cloud Access Security Broker) bieten einen umfassenden Schutz für cloudbasierte Anwendungen und Daten. CNAPP stellt Funktionen für Verschlüsselung, Zugriffskontrolle sowie Bedrohungserkennung und -reaktion bereit und erhöht damit die Sicherheit. CASB nutzen APIs und setzen Sicherheitsrichtlinien durch, die sichere Verbindungen zwischen der Cloud und dem Netzwerk der Organisation herstellen und so die sichere Übertragung sensibler Informationen gewährleisten. Die Implementierung von CNAPP und CASB hilft Unternehmen, ihre Cloud-Umgebung vor Cyberbedrohungen zu schützen und sensible Daten abzusichern.
SaaS-Anwendungen und Cloud-Plattformen sind in der Regel recht sicher. Eines der größten Risiken besteht darin, wie sicher sich Ihre Organisation über APIs und Konfigurationseinstellungen mit einem Cloud-Dienst verbindet. Das ist daher eine äußerst wichtige Praxis für die Cloud-Sicherheit.
Wenn Sie eine eigene Anwendung auf einer Cloud-Plattform entwickeln (Platform as a Service oder PaaS), kommen außerdem sichere Entwicklungspraktiken zum Einsatz.
Lesen Sie auch:
- Die 10 führenden Cloud-Sicherheitsunternehmen im Jahr 2023
- Best Practices für Cloud-Sicherheit
- Jeder fünfte öffentlich zugängliche Cloud-Speicher-Bucket legt sensible Daten offen
Sicherheit mobiler Anwendungen
Ähnlich wie Cloud-Apps bergen auch mobile Apps eigene Risiken für Unternehmen. Zusätzlich zu den üblichen Maßnahmen für andere Anwendungen sollten Unternehmen die folgenden Schritte ergreifen, um mobile Apps abzusichern:
- Software zur Verwaltung mobiler Geräte: So wie Unternehmen kontrollieren müssen, welche Cloud-Apps ihre Mitarbeiter verwenden, benötigen sie auch Verfahren und Tools zur Überwachung und Verwaltung mobiler Apps – unabhängig davon, ob diese auf vom Arbeitgeber gekauften oder gemeinsam genutzten Geräten installiert sind. Einige Unternehmen richten einen eigenen App-Store ein, der freigegebene Apps enthält, die für die berufliche Nutzung zugelassen sind. Ein umfassender Ansatz für die mobile Sicherheit ist Enterprise Mobility Management.
- Verhaltensanalyse für mobile Geräte: Ähnlich wie Lösungen zur Verhaltensanalyse von Nutzern und Entitäten (UEBA) suchen Tools zur Verhaltensanalyse mobiler Geräte nach Anzeichen dafür, dass Apps riskantes oder bösartiges Verhalten zeigen. Verdächtige Apps können anschließend markiert werden, damit die IT geeignete Maßnahmen ergreifen kann.
- Verschlüsselung: Viele Unternehmen entwickeln eigene mobile Apps. In diesem Fall müssen sie sicherstellen, dass die Apps Daten sowohl bei der Übertragung als auch im Ruhezustand verschlüsseln – genau wie bei Cloud-Apps.
- Starke Authentifizierung: Wie bei Cloud-Apps sollten die meisten mobilen Apps über Zwei-Faktor-Authentifizierung oder andere starke Authentifizierungsmaßnahmen verfügen.
- Eingeschränkte Berechtigungen: Benutzerdefinierte mobile Apps, die ein Unternehmen entwickelt, sollten nur die Berechtigungen anfordern, die für ihre ordnungsgemäße Funktion erforderlich sind. Dadurch wird das von der App ausgehende Sicherheitsrisiko reduziert und zugleich das Vertrauen der App-Nutzer gestärkt. Für alle Anwendungen, die personenbezogene Informationen von Nutzern erfassen, gelten selbstverständlich Datenschutzgesetze. Diese Gesetze und Vorschriften müssen daher eingehalten werden.
Probleme und Risiken der Anwendungssicherheit
Mit dem Aufkommen von Cloud Computing, Edge Computing, mobilen Geräten und dem Internet der Dinge (IoT) gibt es mehr Angriffsflächen als je zuvor, die Cyberkriminelle ausnutzen können. Da Unternehmen immer größere Mengen sensibler Informationen elektronisch und an immer mehr Orten speichern, sind die Folgen einer Sicherheitsverletzung schwerwiegender geworden.
Die gute Nachricht – wenn man es so nennen will – ist, dass viele dieser Probleme zeitlos zu sein scheinen. Für Unternehmen ist es wichtig, gängige IT-Sicherheitslücken und deren Vermeidung zu kennen sowie die wichtigsten Schwachstellen von Webanwendungen des OWASP zu verstehen. Anwendungen und Systeme zu patchen und zu aktualisieren ist wichtiger denn je, auch wenn es inzwischen schwieriger geworden ist, dies richtig zu tun.
Eine der wohl größten neuen Bedrohungen der vergangenen Jahre sind Risiken in der Software-Lieferkette, die durch Open-Source-Abhängigkeiten, CI/CD-Kompromittierungen und andere Bedrohungen entstehen, wenn Anwendungen auf Softwarebibliotheken und Open-Source-Komponenten angewiesen sind, um den Entwicklungsprozess zu beschleunigen. Schwachstellen in diesen Komponenten können eine Anwendung anfällig für Angriffe machen und dabei auch Partner gefährden.
Dieses Problem veranlasste US-amerikanische Cybersicherheitsbehörden dazu, Leitlinien zur Sicherheit der Software-Lieferkette für Entwickler herauszugeben. Software Bills of Materials (SBOMs) werden zunehmend zur Voraussetzung. Zahlreiche Anbieter von Anwendungssicherheit arbeiten an Lösungen, um sich besser zu schützen vor diesem Geflecht aus Abhängigkeiten.
Natürlich bleiben Malware, Ransomware, Insider-Diebstahl und mehr große Bedrohungen für Anwendungen und Daten. Ransomware-Angreifer sind so findig geworden, dass einige Cloud-Unternehmen und Dienstanbieter zu extremen Maßnahmen gegriffen haben , um sich und ihre Kunden zu schützen – und diese Maßnahmen, etwa der Schutz von Backups, sind für eine starke Sicherheit notwendig.
Distributed-Denial-of-Service-Angriffe (DDoS) bleiben eine allgegenwärtige Bedrohung für Webanwendungen, da sie Webserver mit einer Flut von Datenverkehr überlasten können. Lesen Sie unsere Artikel über das Stoppen von DDoS-Angriffen, DDoS-Prävention und Lösungen zum DDoS-Schutz mit Tipps, wie Sie Ihre Webserver während eines Angriffs am Laufen halten.
Welche Arten von Tests der Anwendungssicherheit gibt es?
In einer Welt, in der sich Bedrohungen ständig weiterentwickeln, ist es wichtig, die Sicherheit einer Anwendung regelmäßig zu bewerten, damit sie vor neuen und aufkommenden Bedrohungen geschützt bleibt. Durch das Testen der Sicherheit einer Anwendung werden deren Compliance, Vertrauenswürdigkeit und Kosteneffizienz sichergestellt. Die frühzeitige Erkennung von Schwachstellen ermöglicht es Administratoren, die notwendigen Schritte zur Eindämmung potenzieller Bedrohungen zu ergreifen. Hier sind einige Möglichkeiten, wie Unternehmen die Sicherheit ihrer Anwendungen testen können.
Automatisierte Tests nutzen Tools und Skripte, um sicherheitsbezogene Aufgaben, Prozesse und die Bewertung einer Anwendung zu automatisieren. Ziel ist es, die Effizienz und Genauigkeit von Sicherheitstests und Überwachung zu verbessern sowie den für manuelle Tests erforderlichen Zeit- und Arbeitsaufwand zu reduzieren. Obwohl Automatisierung ein wesentlicher Bestandteil eines umfassenden Sicherheitsprogramms ist, sollte sie stets mit manuellen Tests und einer Analyse durch Experten kombiniert werden, um die bestmöglichen Ergebnisse zu erzielen.
Bedrohungsmodellierung ist ein Element des Security Development Lifecycles (SDL), das dabei hilft, potenzielle Bedrohungen, Risiken und Schwachstellen einer Anwendung im Voraus zu bestimmen. Sie hilft bei der Definition von Sicherheitsanforderungen, indem ein Anwendungsdiagramm erstellt wird, das Bedrohungen identifiziert und eindämmt. Nach Abschluss dieses Zyklus wird die Bewertung der Bedrohungsmodellierung validiert und es werden die notwendigen Lösungen bereitgestellt.
Statisches Testen der Anwendungssicherheit (SAST) durchsucht jede Zeile und Anweisung, um potenzielle Fehler und Bugs im Quellcode zu finden. Nach Abschluss des Scans vergleicht das System die Ergebnisse mit einer Datenbank bekannter Schwachstellen und Sicherheitsrisiken.
Dynamisches Testen der Anwendungssicherheit (DAST) bewertet die Sicherheit von Anwendungen anhand von Echtzeitdatenverkehr und Angriffsszenarien. Dabei werden vor allem XSS-, SQL-Injection- oder Remote-Code-Execution-Schwachstellen untersucht, die von einem Angreifer ausgenutzt werden könnten.
Interaktives Testen der Anwendungssicherheit (IAST) testet die Anwendung von innen und kombiniert dabei die Vorteile der dynamischen und statischen Analyse. Dadurch soll ein umfassenderes Bild vom Sicherheitscode einer Anwendung entstehen. IAST kann auch verwendet werden, um die Sicherheit moderner Anwendungen zu bewerten, die Technologien wie Microservices und Container nutzen und mit anderen Methoden möglicherweise nur schwer zu testen sind.
Testen der Sicherheit mobiler Anwendungen (MAST) identifiziert und mindert Risiken in mobilen Anwendungen, bevor diese von Angreifern ausgenutzt werden können. Dabei werden sowohl hybride als auch native Apps getestet, um potenzielle Schwachstellen zu identifizieren und sensible Daten zu schützen.
Software Composition Analysis (SCA) umfasst die Analyse des Quellcodes einer Anwendung, um die von ihr verwendeten Komponenten von Drittanbietern zu identifizieren und deren Herkunft, Version und Lizenzinformationen zu ermitteln. Da moderne Anwendungen aus einer großen Zahl von Open-Source- und Drittanbieterkomponenten bestehen, die zu vielfältigen Sicherheitsrisiken beitragen können, kann SCA Einblicke in diese Risiken liefern und Komponenten mit hohem Risiko eindämmen.
Die 8 wichtigsten Lösungen für Anwendungssicherheit
Viele Produkte und Services für Anwendungssicherheit stehen zur Verfügung, um Unternehmen dabei zu helfen, ihre Anwendungen zu schützen. Das Angebot reicht von Scannern und Tools zur Codeanalyse über mobile Sicherheit und API-Sicherheit bis hin zu Tools für Bedrohungsmodellierung und mehr. Hier sind acht Anbieter von Lösungen für Anwendungssicherheit, die Sie in Betracht ziehen sollten:
- Acunetix
- CheckMarx
- Endor Labs
- Micro Focus Fortify
- Rapid7 InsightAppSec
- Snyk
- Synopsys
- Veracode
Fazit: Tools und Best Practices für Anwendungssicherheit
Anwendungen enthalten die wichtigsten Daten einer Organisation und sind daher ein begehrtes Ziel für Hacker. Ihr Schutz ist somit von entscheidender Bedeutung und erfordert ein umfassendes Programm aus Sicherheitskontrollen und Best Practices. Regelmäßige Risikobewertungen helfen dabei, potenzielle Sicherheitsbedrohungen und Schwachstellen zu identifizieren. Durch die Aktualisierung von Lösungen und Best Practices wird sichergestellt, dass Anwendungen vor den neuesten Sicherheitsbedrohungen geschützt sind. Investitionen in Praktiken des sicheren Entwicklungslebenszyklus (SDL) und umfassende Schulungen zu sicheren Codierungstechniken sind entscheidend, um die Sicherheit sensibler Informationen zu gewährleisten und das Risiko von Sicherheitsvorfällen zu minimieren. Die potenziellen Kosten sind zu hoch, um nicht zu handeln.
Weiterlesen: Die 10 wichtigsten Lösungen für Containersicherheit
Dies ist eine Aktualisierung eines Artikels vom 12. September 2018 von Cynthia Harvey





