Skip to main content

Einstieg in die Anwendungssicherheit

Lernziele

Nachdem Sie diese Lektion abgeschlossen haben, sind Sie in der Lage, die folgenden Aufgaben auszuführen:

  • Beschreiben, was eine Anwendung ist
  • Definieren von Anwendungssicherheit und ihrer Rolle hinsichtlich der Anwendungsentwicklung

Was ist eine Anwendung?

Wenn Sie jemals einen Computer benutzt haben, haben Sie auch eine Anwendung verwendet. Eine Anwendung ist definiert als ein Computersoftwarepaket, das eine oder mehrere Aufgaben ausführt und die direkte Benutzerinteraktion ermöglicht. Doch was heißt das genau? Um dies herauszufinden, sehen wir uns nun einige Beispiele zu Anwendungen und ihrer Verwendung an.

Es gibt viele verschiedene Arten von Anwendungen, z. B. Datenbankprogramme, Webbrowser, E-Mail-Clients, Tabellenkalkulationen, Mediaplayer, Textverarbeitungsprogramme und Bild-/Fotobearbeitungssoftware u.v.m. Jedes dieser Softwarepakete ermöglicht dem Benutzer die direkte Interaktion mit der Anwendung. Wenn Sie beispielsweise eine Textverarbeitungssoftware verwenden, interagieren Sie direkt mit der Anwendung, wenn Sie Text eingeben, löschen oder kopieren und einfügen. Sie interagieren auch auf verschiedene Art und Weise mit Anwendungen – sei es auf einem Computer mit einem Fotobearbeitungsprogramm wie Photoshop, mit einer mobilen Anwendung auf Ihrem Smartphone oder mit einer webbasierten Banking-Anwendung für Geschäftstransaktionen. Das ist eigentlich recht einfach, oder? 

Entwickler haben zwei Möglichkeiten, Anwendungen zu erstellen. Sie entwickeln eigenen Code, der außerhalb des Unternehmens nicht weitergegeben wird, oder sie entwickeln Code im Rahmen von Open-Source-Projekten, die Entwickler öffentlich und gemeinschaftlich zusammen entwerfen und entwickeln. 

Bei Open-Source-Anwendungen sind Entwickler dazu berechtigt, die Software zu nutzen, zu untersuchen und zu verändern, so dass sie für ein breites Spektrum von Anwendungsfällen angepasst und eingesetzt werden kann. Es gibt eine ganze Community, die sich der Entwicklung von Open-Source-Projekten widmet. Wenn Sie daran interessiert sind, Ingenieur für Anwendungssicherheit zu werden, ist die Mitarbeit an Open-Source-Projekten eine gute Möglichkeit, praktische Erfahrung in der Anwendungsentwicklung und -sicherheit zu sammeln und gleichzeitig die eigenen Fähigkeiten zu verbessern und unter Beweis zu stellen. Sie verbessern dadurch Ihr Verständnis für die Entwicklung und Funktionsweise von Anwendungen sowie für die Rolle von Anwendungssicherheit im Programmier- und Softwareentwicklungszyklus.

Die Rolle von Anwendungssicherheit

Im Technologiestapel eines Unternehmens ist die Anwendungsschicht die Schicht, die dem Benutzer am nächsten ist. Sie ermöglicht die Interaktion mit dem Benutzer und bietet Eindringlingen daher die größte Angriffsfläche. Aus diesem Grund lassen sich relativ viele Sicherheitsverletzungen auf Schwachstellen in Anwendungen zurückführen. 

Anwendungen können auch wahre Fundgruben für persönliche Daten sein, die Angreifer gerne stehlen, manipulieren oder zerstören würden, einschließlich personenbezogener Daten wie Namen, nationale Identifikationsdaten (wie Sozialversicherungsnummern) und E-Mail-Adressen. Der Schutz von Anwendungen ist daher ein ganz wesentlicher Bestandteil der Cybersicherheit, um die Risiken von Datenverlusten und den daraus resultierenden negativen Folgen wie Kosten, Rufschädigung, Datenschutzverletzung oder rechtliche Konsequenzen für ein Unternehmen und seine Kunden zu minimieren. 

Anwendungssicherheitsingenieure müssen sich in die Herangehensweise von Angreifern hineindenken, um zu verstehen, wie eine Anwendung missbraucht werden könnte. Gleichzeitig müssen sie sicherstellen, dass die Eingaben legitimer Benutzer auf Malware geprüft, validiert und von der Anwendung sicher verarbeitet werden. 

Anwendungssicherheitsingenieure konzentrieren sich auf den Schutz von Anwendungen, um Angreifer daran zu hindern, Zugriff auf sensible Daten zu erhalten. Da es viel einfacher und kostengünstiger ist, Sicherheitsmängel und Schwachstellen in den frühen Phasen der Softwareentwicklung zu finden, sollten Anwendungssicherheitsingenieure die Sicherheitsanforderungen ermitteln, bevor die Design- oder Entwicklungsarbeit beginnt.

Ein Ingenieur schaut durch eine Lupe auf einen Käfer auf einem LaptopAnwendungssicherheitsingenieure arbeiten mit Entwicklungsteams und Geschäftseinheiten zusammen, um sichere Anwendungen zu entwerfen, zu erstellen, zu dokumentieren, zu programmieren, zu testen, bereitzustellen und zu warten. Der Prozess, bei dem Anwendungen entworfen und erstellt werden, wird als Softwareentwicklungszyklus bezeichnet. Anwendungsentwickler sind für die Prozessschritte Dokumentation und Programmierung (Kodierung) zuständig. Sie schreiben den Quellcode, der dafür sorgt, dass eine Anwendung die gewünschten Aufgaben ausführt. Anwendungssicherheitsingenieure arbeiten während des gesamten Softwareentwicklungszyklus mit Anwendungsentwicklern und anderen Beteiligten zusammen, um Anwendungen zu schützen, indem sie sicherheitsrelevante Schwachstellen in Anwendungen diagnostizieren, dokumentieren und beheben.

In der Regel besteht das Hauptziel eines Anwendungsentwicklers darin, so schnell wie möglich funktionierenden Code zu erstellen, um die Geschäftsanforderungen zu erfüllen. Das Schreiben von sicherem Code tritt dabei oftmals eher in der Hintergrund. Hier können Anwendungssicherheitsingenieure viel bewirken, indem sie Sicherheit in den Entwicklungsprozess einbauen, damit sensible Daten geschützt bleiben. Dabei stellen sie sicher, dass eine Anwendung drei wichtige Kriterien erfüllt: Vertraulichkeit, Integrität und Verfügbarkeit. 

Anwendungssicherheitsingenieure helfen Entwicklern beispielsweise dabei, die Anwendung so zu entwerfen und bereitzustellen, dass eine ordnungsgemäße Authentifizierung erforderlich ist (um die Vertraulichkeit der Daten zu schützen), sensible Informationen sicher übertragen werden, damit sie nicht verändert werden können (Integrität), und gewährleistet ist, dass Benutzer auf ihre Daten zugreifen können (Verfügbarkeit). 

Anwendungssicherheitsingenieure sind oftmals in ein Anwendungsentwicklungsteam eingebunden und stehen Designern und Entwicklern beratend zur Seite. Sie stellen sicher, dass die Anwendungsanforderungen Sicherheitsaspekte beinhalten, schlagen in der Entwurfsphase sichere Authentifizierungsprotokolle vor, führen Code-Reviews durch, um gängige Sicherheitsschwachstellen aufzudecken, testen Anwendungen vor der Bereitstellung und geben Empfehlungen zu Zeitpunkt und Methoden für die Behebung von Sicherheitslücken (Patches).

In dieser Einheit haben Sie erfahren, was eine Anwendung ist und wie die Unternehmensfunktionen Anwendungsentwicklung und Sicherheit in der Praxis zusammenarbeiten. In der nächsten Einheit befassen wir uns mit den geschäftlichen Auswirkungen von Anwendungssicherheit, den für Anwendungssicherheitsingenieure erforderlichen Fertigkeiten und gängigen Anwendungssicherheitsszenarien.

Ressourcen

Lernen Sie weiter kostenlos!
Registrieren Sie sich für einen Account, um fortzufahren.
Was ist für Sie drin?
  • Holen Sie sich personalisierte Empfehlungen für Ihre Karriereplanung
  • Erproben Sie Ihre Fähigkeiten mithilfe praktischer Aufgaben und Quizze
  • Verfolgen Sie Ihre Fortschritte nach und teilen Sie sie mit Arbeitgebern
  • Nutzen Sie Mentoren und Karrierechancen