Cyberangriffe nehmen besonders bei kleinen und mittleren Unternehmen (KMUs) zu. Einem Bericht zufolge sind 70 % der KMU bereits Opfer eines Angriffs geworden.
Viele kleine und mittlere Unternehmen sind auf die Zunahme bei Sicherheitsbedrohungen nicht vorbereitet – und 45 % dieser Unternehmen sagen selbst, dass sie nicht über ausreichende Schutzmaßnahmen vor Cyberangriffen verfügen. In diesem Artikel soll es um einen potenziellen Schwachpunkt gehen: Angriffsflächen in Software-Anwendungen.
Um ihre Risiken zu minimieren und die Cybersicherheit zu verbessern, können KMUs potenzielle Schwachstellen aufdecken und einen Plan dazu implementieren, wie sie mit diesen Angriffsflächen umgehen wollen. Auf diese Weise schützen letztendlich sie auch vertrauliche Kundendaten sowie andere wertvolle Ressourcen vor Cyberangriffen.
Die Angriffsfläche von Software-Anwendungen
Die Angriffsfläche ist die Summe aller potenziellen Sicherheitsrisiken in der Software-Umgebung eines Unternehmens. Anders ausgedrückt: Sie ist die Gesamtheit aller potenziellen (bekannten und unbekannten) Schwachstellen und Kontrollen in allen Hardware-, Software- und Netzwerkkomponenten.
Angriffsflächen lassen sich in drei Grundarten einteilen:
- Digitale Angriffsfläche: Die digitale Angriffsfläche umfasst das gesamte Netzwerk und die Software-Umgebung eines Unternehmens, einschließlich Anwendungen, Code, Ports sowie andere Eintritts- und Austrittspunkte.
- Physische Angriffsfläche: Die physische Angriffsfläche besteht aus allen Endgeräten eines Unternehmens: Desktop-Rechner, Laptops, mobile Geräte und USB-Ports.
- Social-Engineering-Angriffsfläche: Social-Engineering-Angriffe nutzen menschliche Schwächen aus. Am häufigsten werden Unternehmen mit Spearphishing, Pretexting und anderen Manipulationstechniken angegriffen, mit denen die Mitarbeiter dazu gebracht werden sollen, vertrauliche Informationen herauszugeben.
Unternehmen sollten auf jeden Fall alle potenziellen Schwachstellen kennen. Hier soll es jedoch um die Angriffsfläche von Software-Anwendungen gehen. Dazu gehören alle möglichen Funktionen im Code einer Software-Umgebung, die durch nicht autorisierte Benutzer oder Malware ausgenutzt werden können.
Identifizieren der Angriffsfläche einer Anwendung
Um die Angriffsfläche einer Anwendung zu identifizieren, müssen alle Funktionen erfasst werden, die überprüft und auf Schwachstellen untersucht werden sollen. Dies schließt alle Eintritts- und Austrittspunkte im Quellcode einer Anwendung ein. Je größer die Angriffsfläche einer Software-Anwendung, desto leichter ist es für Angreifer oder Malware, auf den angegriffenen Rechner zuzugreifen und darauf Code auszuführen.
Implementieren von Angriffsflächenverwaltung
Durch die Angriffsflächenverwaltung für Software-Anwendungen können Sie Schwächen in einem System erkennen und die Zahl der ausnutzbaren Schwachstellen verringern. Und durch die Analyse der Angriffsfläche werden Entwickler und Sicherheitsexperten auf alle Risiken in einer Anwendung aufmerksam gemacht. Das Wissen um diese Schwachstellen stellt den ersten Schritt zur Minimierung von Risiken dar.
Letztendlich kann die Angriffsflächenanalyse dazu dienen, mit Kernkonzepten wie Netzwerksegmentierung und ähnlichen Strategien sogenannte Zero-Trust-Sicherheit zu implementieren.
2022 CrowdStrike Global Threat Report
Laden Sie den Global Threat Report 2022 herunter, um sich über die Trends zu informieren, die unsere Teams im letzten Jahr mit Blick auf die sich ständig weiterentwickelnden Taktiken, Techniken und Prozeduren von Angreifern beobachtet haben.
Jetzt herunterladenPrimäre Angriffsflächen
Da Unternehmen häufig neue Komponenten wie Webseiten, Cloud-Anwendungen und Mobilgeräte-Apps, Hosts und anderes hinzufügen, verändern sich Angriffsflächen ständig. In der Regel bleiben die Arten von Schwachstellen jedoch gleich.
Aufspüren von Software-Schwachstellen
Der erste Schritt zur Verbesserung der Cybersicherheit ist die Erstellung eines Angriffsflächenmodells, das die anfälligsten Punkte einer bestimmten Software-Anwendung aufdeckt, die sich je nach Unternehmen erheblich unterscheiden.
Auf die folgenden Software-Schwachstellen sollten Sie besonders achten:
- Probleme bei der Zugriffskontrolle: Die Zugriffskontrolle wird erschwert, wenn Mitarbeiter mit verschiedenen Methoden auf das System zugreifen (z. B. im Büro und im Homeoffice). Häufig müssen Software-Entwickler dann an mehreren Stellen im Code Regeln einfügen. Dies führt zu Fehlern, die leicht entdeckt und ausgenutzt werden können. Wenn Hacker die Schwachstellen in der Zugriffskontrolle angreifen, können sie Inhalte ändern oder löschen und die Administration übernehmen.
- Injektionsfehler: Injektionsfehler sind beispielsweise SQL-Anweisungen an das Betriebssystem und Backend-Datenbanken. Meist werden bei Injektionsangriffen Eingabefelder ins Visier genommen, die mit Datenbanken und Verzeichnissen kommunizieren. Häufig fehlt den Feldern ein Eingabefilter, was sie für Angriffe anfällig macht.
- Authentifizierungsprobleme: Wenn die Anwendungsfunktionen zur Sitzungsverwaltung und Authentifizierung nicht ordnungsgemäß implementiert wurden, können Angreifer ebenso wie die von ihnen attackierten Benutzer auf ein System zugreifen und anschließend unter anderem Schlüssel und Kennwörter kompromittieren.
- Probleme mit XML und externen Entitäten: Eine falsche Konfiguration der XML-Parser, die XML-Eingaben mit Referenzen auf externe Entitäten verarbeiten, kann zu Problemen wie veröffentlichten vertraulichen Informationen sowie DOS-Angriffen (Denial-of-Service) führen.
- Kundenspezifische APIs: APIs können die Sicherheit durch fehlerhafte Benutzerauthentifizierungen, fehlerhafte Autorisierung auf Objektebene, massive Datenlecks und andere Probleme beeinträchtigen.
- Webformulare: Webformulare bieten mehr Möglichkeiten, Daten direkt an einen Server zu senden. Eine häufige Webformular-Bedrohung sind XSS-Angriffe (Cross-Site Scripting), bei denen Angreifer die Browser der Benutzer dazu bringen, ein schädliches Skript auszuführen. Eine weitere Angriffsart sind Cross-Site-Request-Forgery-Angriffe, bei denen die Benutzer dazu gebracht werden, ungewollt Anfragen zu versenden.
- Abwärtskompatibilität: Je mehr Versionen es von einer Software gibt, desto eher schleichen sich Schwachstellen ein.
Identifizieren wichtiger primärer Angriffsflächen
In der Regel sind Remote-Eintritts- und Austrittspunkte die primären Angriffsflächen in Software-Anwendungen. Darunter fallen Schnittstellen mit externen Systemen und dem Internet, besonders dort, wo anonyme Systemzugriffe möglich sind:
- Autonome Systemnummern (ASNs)
- IP-Adressen und IP-Adressblöcke
- SSL-Zertifikate und Attribution
- WHOIS-Datensätze, Kontakte und Verlauf
- TCP/IP-Ports
- Public Cloud und Private Cloud
- Domänen und Subdomänen
- Webserver-Dienste wie E-Mails und Datenbanken
Angriffsfläche und Angriffsvektoren im Vergleich
Um korrekte Bedrohungsanalysen durchführen zu können, sollten Sie den Unterschied zwischen der Angriffsfläche und Angriffsvektoren kennen, da Sie dieses Wissen benötigen, um einen Plan zur Angriffsflächenverwaltung zu entwickeln und sich vor Cyberangriffen schützen zu können.
Definition von Angriffsvektoren
Als Angriffsvektoren werden alle Methoden bezeichnet, mit denen sich nicht autorisierte Benutzer Zugang zu Daten verschaffen können. Die erfolgreiche Ausnutzung von Angriffsvektoren durch böswillige Akteure kann zu Datenkompromittierungen oder schlimmeren Folgen führen.
Angriffsvektoren lassen sich in zwei Kategorien einteilen: passive und aktive Angriffe.
Passive Angriffsvektoren sind Wege, über die Angreifer Zugang zum System erlangen, ohne die Systemressourcen zu beeinträchtigen. Darunter fallen Abhörtechniken wie Sitzungsübernahmen, Port-Scans oder Analysen des Datenverkehrs.
Bei aktiven Angriffsvektoren wird der Betrieb eines Systems beeinflusst, z. B. durch Ransomware, Phishing-Angriffe und DDoS-Angriffe (Distributed Denial-of-Service).
Der Unterschied zwischen Angriffsfläche und Angriffsvektoren
Einfach ausgedrückt ist die Angriffsfläche die Summe aller Punkte, die ein böswilliger Akteur in einer Anwendung (oder weiter gefasst: in einem System) ausnutzen kann. Ein Angriffsvektor ist die Methode, mit der ein böswilliger Akteur einen dieser Punkte ausnutzt.
Durch die Identifizierung der Angriffsfläche entsteht ein umfassender Überblick über alle potenziellen Schwachstellen einer Software-Anwendung. Die Analyse einzelner Angriffsvektoren liefert dem Sicherheitsteam Informationen darüber, wo Lücken bestehen und beseitigt werden müssen.
Identifizieren von Angriffsflächen und Angriffsvektoren
Die digitale Angriffsfläche besteht aus bekannten und unbekannten Faktoren. Bekannte Faktoren sind Ressourcen, die die Entwickler kennen und überwachen, z. B. Subdomänen und allgemeine Sicherheitsprozesse.
Unbekannte Faktoren – auch Schatten-IT-Ressourcen genannt – sind nicht genehmigte Anwendungen und Geräte, die mit dem Unternehmensnetzwerk verbunden sind. Dies sind zum Beispiel physische Geräte wie Smartphones und Tablets der Benutzer, aber auch Messaging-Apps sowie Apps, die die Cloud-Speicherung ermöglichen oder die Effizienz der Arbeitsabläufe verbessern. Da diese Ressourcen nicht offiziell von der IT-Abteilung überprüft und genehmigt wurden, werden sie von Entwicklern bei Sicherheitsfragen nicht berücksichtigt und können somit das System anfällig machen.
Angriffsflächenverwaltung spielt eine wichtige Rolle für Unternehmen, da damit alle Faktoren in der Angriffsfläche – bekannte und unbekannte – aufgedeckt werden.
E-BOOK: REDUCING THE ATTACK SURFACE
Public Cloud-Services sind zu einer unverzichtbaren Komponente für die langfristigen strategischen Wachstumspläne der meisten Unternehmen geworden. Mit diesen fünf Maßnahmen können Unternehmen die Sicherheit in Multi-Cloud-Umgebungen verbessern.
Jetzt herunterladenVerwaltung physischer und digitaler Angriffsflächen
Um die Angriffsfläche zu verringern, müssen Sie zunächst wissen, woraus sie besteht. Bei der Analyse der Angriffsfläche werden alle bekannten und unbekannten Faktoren aufgedeckt, die potenzielle Schwachstellen in der Software-Umgebung eines Unternehmens darstellen.
Ein Grundsatz sollte dabei beachtet werden: Beim Thema Sicherheit ist es immer leichter, proaktive Abwehrmaßnahmen zum Schutz vor potenziellen Angriffen zu ergreifen, als Schäden im Nachhinein beseitigen zu müssen.
Reduzieren der Angriffsfläche
Gehen Sie beim Reduzieren der Angriffsfläche systematisch vor und beginnen Sie mit den grundlegendsten Sicherheitsmaßnahmen. Ein Beispiel: Offene TCP/IP-Ports sind eine Schwachstelle. Die Zahl der zugänglichen TCP/IP-Ports sollte daher durch eine Firewall beschränkt werden. Installieren Sie relevante Sicherheitsupdates sowie Patches und nutzen Sie Verschlüsselung mit HTTPS- und SSL-Zertifikaten.
Doch es gibt noch andere Maßnahmen, die Sie abhängig von der zu schützenden Software-Umgebung treffen können.
Dazu gehört zum Beispiel die Reduzierung von unsicherem Code. In jedem Code stecken Schwachstellen, die ausgenutzt werden könnten – je größer die Menge an Code, desto höher das Fehlerpotenzial. Unternehmen können also ihre Angriffsfläche verringern, wenn sie den Code reduzieren. Wenn Sie Ihre Software-Anwendungen im Laufe der Zeit verbessern und immer neue Funktionen hinzufügen, erhalten meist auch wichtige Module neue Funktionalitäten. Verbergen Sie ungenutzte Parameter, um böswilligen Akteuren keine Angriffsfläche zu bieten. Und wenn Sie einen Parameter nicht nutzen, stellt sich die Frage, ob er nicht gleich entfernt werden sollte. Prüfen Sie dazu jedes Modul sorgfältig auf ungenutzten Code.
Analog dazu können auch Gefahren von Drittanbieter-Anwendungen ausgehen, denn ihr frei verfügbarer Quellcode vergrößert die Angriffsfläche. Wenn Sie Drittanbieter-Anwendungen nutzen, sollten Sie den entsprechenden Code genauestens prüfen und testen. Um diesen Code zu schützen, können Sie die Anwendungen auch umbenennen oder auf andere Weise verschleiern.
Minimieren potenzieller Eintrittspunkte
Sie sollten ebenfalls sorgfältig prüfen, auf welche Funktionen nicht autorisierte Benutzer zugreifen können. Da Ihr Code beispielsweise durch Online-Demos einsehbar ist, sollten Sie den Zugriff auf Kunden und registrierte Benutzer beschränken. Beschränken Sie zudem, wer auf Administrations- oder Content-Management-Module sowie Intranet- bzw. Extranet-Module zugreifen kann. Erzwingen Sie IP-Adress-Beschränkungen, nutzen Sie verborgene Ports sowie Client-Zertifikate und verlegen Sie Administrationsmodule an einen anderen Standort.
Außerdem sollten Sie die folgenden Maßnahmen erwägen, um den Zugriff auf Eintrittspunkte zu beschränken:
- Validierung und Bereinigung von Webformular-Eingaben zum Schutz vor Angriffen mit SQL-Injektion
- Erfassung nur benötigter Daten und Anonymisierung dieser Daten (sofern möglich)
- Gewährleistung sicherer Datei-Uploads durch Einschränkung und Validierung von Dateitypen sowie Festlegung, dass nur authentifizierte Benutzer Dateien hochladen dürfen
- Verbesserung der Cloud-Sicherheit mit einer Lösung für Cloud-Workload-Schutz, die Schutz vor Datenkompromittierung für Workloads, Container und Kubernetes bietet
Abschalten unnötiger Funktionen
In aller Regel kommen neue digitale Ressourcen wie Server und Betriebssysteme unkonfiguriert bei Ihnen an. Standardmäßig sind alle Anwendungsdienste aktiv und alle Ports offen. Zudem sind die Anwendungen und Ports nicht auf dem neuesten Stand und können daher Schwachstellen aufweisen. Diese digitalen Ressourcen sollten daher im Rahmen des Sicherheitsprozesses überprüft und unnötige Anwendungen, Funktionen und Dienste deaktiviert werden. Auch hier gilt: Je kleiner die Angriffsfläche, desto unwahrscheinlicher ist es, dass ein böswilliger Akteur Fuß fassen kann.
Weitere Informationen dazu, wie Sie Ihr Unternehmen vor Cyberangriffen schützen können, finden Sie in unserer Datenbank Basiswissen Cybersecurity. Sie können sich natürlich auch direkt an CrowdStrike wenden, um Ihre Cybersicherheit zu verbessern.