Die Texte in diesem Artikel wurden teilweise mit Hilfe künstlicher Intelligenz erarbeitet und von uns korrigiert und überarbeitet. Für die Generierung wurden folgende Dienste verwendet:
Wie wir maschinelles Lernen bei der Erstellung unserer Artikel einsetzenEinführung
Cybersicherheit - ein häufig verwendetes Wort mit vielen Anwendungen. Ob es um den Schutz sensibler Daten, die Wahrung der Privatsphäre oder die nationale Sicherheit geht, Cybersicherheit ist eine notwendige Kompetenz für viele Unternehmen und Softwareentwickler aller Art und Bildung. Andernfalls können die Folgen verheerend sein:
So wurde am Uniklinikum in Frankfurt am 6. Oktober ein unberechtigter Zugriff entdeckt. Einen Tag später musste das Klinikum aus Sicherheitsgründen vom Internet getrennt werden. Die Auswirkungen auf die IT waren immens, allerdings wurden keine Daten verschlüsselt oder abgefangen und die Patientenversorgung konnte weiterlaufen. Anfang 2023 gab es bei der Stadtverwaltung Rodgau (Kreis Offenbach) einen kompletten Systemausfall wegen eines Hackerangriffs. 1
Nach Zählungen des Bundeskriminalamtes wurden allein im Jahr 2022 mindestens über 130.000 Fälle von Cyberkriminalität aufgedeckt.1
Auch wenn es in einer Welt, in der das Internet und die dort verfügbaren Dienste immer wichtiger werden, (fast) unmöglich ist, jedes System absolut sicher zu machen, so ist es doch möglich, es Angreifern so schwer wie möglich zu machen. Dies führt dazu, dass ein Angriff entweder gar nicht erst zustande kommt oder sehr viel Zeit und Ressourcen verbraucht - und damit das Ziel für weitere Angriffe unattraktiv wird. In diesem Zusammenhang möchten wir heute auf das Open Worldwide Application Security Program eingehen, das kostenlos Informationen zum Thema Cybersicherheit veröffentlicht, Datenbanken pflegt und Werkzeuge zur Verbesserung der Sicherheit zur Verfügung stellt. 2 Dabei konzentrieren wir uns auf die wichtigsten und hilfreichsten Methoden bzw. Tools, die das Open Worldwide Application Security Program zur Verfügung stellt.
Im Folgenden wird die Abkürzung “OWASP” anstelle von “Open Worldwide Application Security Program” verwendet.
Validität der Informationen
Bevor wir in die einzelnen Details von OWASP blicken wollen, wollen wir hier im speziellen noch einmal die wichtigsten Punkte ansprechen, welche auch durch OWASP auf ihrer Webseite bezüglich der Validität der Informationen bereitstellt:
OWASP liefert keine Garantie für die Validität der Informationen, welche durch das Portal oder Tools bereitgestellt werden.
In der weiteren Beschreibung hierzu bezieht sich OWASP auf die Möglichkeit, dass theoretisch jeder die Datenbanken anpassen kann, welcher Zugriff auf einen Browser hat. Trotz dieser Tatsache beruft sich OWASP allerdings auch darauf, dass viele der Informationen dort korrekt sein werden.
Nur weil alle Personen eine spezifische Informationsquelle beliebig verändern können, bedeutet nicht zwangsläufig dass diese fehlerhafte Informationen enhält. Wir können dies mit der beliebten Online-Plattform Wikipedia vergleichen, welches theoretisch auch beliebigen Nutzern Zugriff auf die Inhalte gibt und diese bearbeitbar macht. Trotz allem beweist sich Wikipedia wieder und wieder als verlässliche Quelle - zumindest in vielen Bereichen. 3 4 5
Anmerkung des Autors: Es ist wahrscheinlicher, dass OWASP Informationen nicht enthält. Diese Zero-Day Exploits sind häufig der Allgemeinheit nicht bekannt und werden erst nach ihrer Entdeckung an einem bereits aktiven System bereinigt.
Alles in allem kann niemand eine Garantie für die Korrektheit und vor allem Vollständigkeit der Daten von OWASP geben - aber diese sind ein guter Anhaltspunkt für Verbesserungen an Systemen, vor allem auch weil (abhängig von der Sicherheitslücke) diese mehrfach gemeldet worden sein können.
Top Ten
Eines der bekanntesten Projekte von OWASP sind die sogenannten “OWASP Top Ten”. Dabei handelt es sich um eine Reihe von Sicherheitslücken, die die Organisation in den letzten Jahren als die problematischsten identifiziert hat. Diese werden von OWASP als “Standard Awareness Document” veröffentlicht, mit dem Ziel, Entwicklern weltweit die Möglichkeit zu geben, die am häufigsten auftretenden Probleme zu identifizieren und bereits bei der Erstellung neuer Projekte in die Sicherheitsarchitektur zu integrieren. 6 7
Die letzte Version der OWASP Top Ten wurde am 06.01.2024 veröffentlicht 6. Die Ergebnisse sind somit relativ aktuell.
Mobile Application Security
Das OWASP-Flaggschiffprojekt Mobile Application Security stellt verschiedene Methoden zur Verfügung, die Unternehmen und Entwickler bei der Entwicklung sicherer mobiler Anwendungen unterstützen. Dazu gehören beispielsweise der Mobile Application Security Verification Standard oder der Mobile Application Security Testing Guide, die detaillierte Anleitungen und Empfehlungen für sichere Anwendungen geben. Ebenfalls enthalten ist eine Checkliste von Eigenschaften und Fähigkeiten, die eine sichere Anwendung in diesem Bereich erfüllen sollte. 8 9
Beide Leitfäden konzentrieren sich auf die folgenden acht Bereiche einer mobilen Anwendung:
- Storage
- Cryptography
- Authentication
- Networking
- Platform
- Code
- Resilience
- Privacy
Die Organisation listet auf ihrer Website eine Reihe von Institutionen auf, die OWASP Mobile Application Security einsetzen. 9 Hier einige Beispiele:
- National Institute of Standards and Technology - U.S. Department of Commerce
- Bundesamt für Sicherheit in der Informationstechnik
- ioXt - Internet of secure things
- und eine Reihe weiterer Akteure.
https://owasp.org/www-project-samm/
ModSecurity Core Ruleset
Bisher haben wir uns viel mit theoretischen Problemen beschäftigt, die vor allem in der Entwurfsphase einer Software relevant sein können. Mit dem ModSecurity Core Ruleset geht OWASP etwas tiefer in die Aspekte einer Software, die Web Application Firewalls verwendet, um Benutzer und Dienstanbieter vor Angriffen über HTTP zu schützen. 10 Dabei versucht die Organisation Regeln für Web Application Firewalls bereitzustellen, die vor einer Reihe von möglichen Angriffen schützen sollen. Besonderes Augenmerk wird dabei auf die OWASP Top Ten gelegt, die entsprechend häufig auftreten. Dieses Regelwerk wurde in Zusammenarbeit mit netnea entwickelt und kann (wie alle anderen Produkte von OWASP) von jedermann frei verwendet werden. 11
Weitere Informationen zu diesem Thema können hier, hier und hier gefunden werden.
Dependency Track
Eine oft unterschätzte Quelle von Sicherheitslücken sind externe Bibliotheken, die in Projekte eingebunden werden. Dies liegt daran, dass kaum noch ein Softwareunternehmen wirklich auf externen Code verzichten kann, da dieser oft auch eine große Kostenersparnis darstellt. Allerdings ist der Code für die Nutzer der Bibliotheken nicht unbedingt einsehbar - oder eine Bibliothek ist Open Source und damit sowohl für Entwickler als auch für Angreifer einsehbar.
Gerade bei Open-Source-Projekten ist der Überblick über Schwachstellen sehr schwierig. Zum einen ändert sich die Codebasis (je nach Projekt) sehr schnell, was eine Analyse erschwert oder unmöglich macht. Zum anderen wird es für Angreifer zum Teil auch schwieriger, Schadcode einzuschleusen, da so viele Personen mit dem Code arbeiten. Ein Einsatz sollte hier von Fall zu Fall abgewogen werden, vor allem in Abhängigkeit von der Funktionalität, die eine solche Bibliothek bietet, und dem Aufwand an Zeit und Geld, den eine selbst programmierte Lösung dafür erfordern würde.
Um Bibliotheken mit Schwachstellen in Projekten möglichst effizient zu identifizieren - und damit die Schwachstellen möglichst schnell zu schließen - bietet OWASP einen Dependency Checker an. Dieser analysiert automatisiert ein gegebenes Projekt, um alle Abhängigkeiten mit den entsprechenden Versionsnummern zu erhalten. Anschließend wird eine öffentlich zugängliche Datenbank nach zugehörigen Sicherheitslücken durchsucht. Alle Ergebnisse (sofern nicht vom Entwickler eingeschränkt) werden anschließend vom Dependency Checker ausgegeben.
Solche Dependency Checker eignen sich vor allem für den Einsatz in CI/CD-Pipelines. Hier kann bei jeder Änderung von Abhängigkeiten geprüft werden, welche Schwachstellen in einer Datenbank dazu bekannt sind, bevor ein Angreifer in der Praxis über eine (bereits bekannte) Schwachstelle Schaden anrichten kann. Eine Version des Dependecy Checkers als GitHub Action ist beispielsweise hier zu finden.
Um dies zu veranschaulichen, nehmen wir an, dass wir ein Projekt mit einer bösartigen Abhängigkeit haben, die es uns erlaubt, auf die Daten unseres Remote Servers zuzugreifen. Wenn eine solche Abhängigkeit die Eingabedaten nicht sauber filtert, kann es passieren, dass ein Angreifer auf Bereiche des Remote Servers zugreifen kann, auf die er keinen Zugriff haben sollte. Eine Ausgabe des Dependency Checkers könnte dann auf einen solchen Link verweisen:
Dieser Link führt uns zur “Common Weakness Enumeration”, einer Datenbank für Schwachstellen. Der Inhalt dieser Webseite würde uns nun sagen, dass ein Angreifer durch die Verwendung von bösartigem Inhalt auf Speicherbereiche zugreifen könnte, die höher in der Festplattenstruktur liegen. Sollte dies geschehen, könnte der Angreifer potenziell Zugang zu sensiblen Informationen, Passwörtern, Benutzernamen oder anderen Arten von Informationen erhalten, die nicht für die Augen von Außenstehenden bestimmt sind.
TL;DR
Cybersicherheit ist ein Thema, das unserer Meinung nach stark unterschätzt wird. Cybersicherheit hat das Potenzial, die gesamte Reputation eines Unternehmens zu zerstören - aber nur, wenn sie ignoriert wird. Absolute Sicherheit ist in der Praxis nicht zu erreichen, dennoch ist es sinnvoll, die eigene Soft- und Hardware-Infrastruktur vor böswilligen oder unberechtigten Zugriffen zu schützen. OWASP bietet hierfür eine Basis, die sich in vielen Bereichen bewährt hat. Wir empfehlen einen Blick in die Ressourcen von OWASP, um anschließend Sicherheitslücken in Softwareprojekten besser identifizieren zu können.