Einen Schlachtplan für Application Security entwickeln: Home-Alone-Edition
20. Dezember 2022
0 Min. LesezeitDie Weihnachtszeit ist perfekt, um sich einige festliche Lieblingsfilme noch einmal anzusehen! Während manche Weihnachtsfilme gar nicht kitschig genug sein können (Hallmark, wir meinen Sie), freuen sich andere jedes Jahr aufs Neue darauf, in der Filmkomödie Kevin – Allein zu Haus von 1990 mitzuerleben, wie ein achtjähriger Junge zwei tollpatschigen Ganoven das Leben schwer macht.
Es ist schon witzig, sich vorzustellen, wie ein Kind sein Zuhause ganz allein mit Spielzeugautos, einem Bügeleisen und einigen anderen Slapstick-Fallen gegen zwei Einbrecher verteidigt. Für Unternehmen ist es jedoch weitaus wahrscheinlicher, dass sie ihr Eigentum (also ihre Anwendungen) vor Angreifern schützen müssen. Die richtigen Application-Security-Maßnahmen sind vielleicht nicht so lustig wie ein Bösewicht, dessen Kopf mit einem Flammenwerfer angekokelt wird, können aber in vielerlei Hinsicht Kevin McCallisters „Schlachtplan“ ähneln.
Passend zur Weihnachtszeit stellen wir also den besten „Schlachtplan“ für Application Security vor, um Angreifer fernzuhalten.

Die „Etagen“ Ihrer Anwendung
Kevins cleverer Plan sah Fallen auf jeder Etage des Hauses vor – im Keller, im Erdgeschoss und im Obergeschoss. Im Film musste er sich für jeden Eingang und jeden Raum einen ausgeklügelten Plan ausdenken. Schließlich konnte er nicht vorhersehen, wie Harry und Marv (die Einbrecher) versuchen würden, ins Haus zu gelangen und was sie dort tun würden.
Genauso deckt ein guter Application-Security-Plan jede „Etage“ Ihrer Anwendung ab: den Quellcode, die Software-Lieferkette und die Infrastruktur.
Kevin stellte nicht nur auf jeder Etage des Hauses clevere (und ausgesprochen gemeine) Fallen auf, sondern sorgte auch dafür, dass sie miteinander verbunden waren. Marv kletterte eine mit Teer bedeckte Treppe hinauf und musste dafür seine Schuhe ausziehen. So stand er genau richtig, um auf einen Nagel zu treten (schauder!). Harry lief geradewegs in Frischhaltefolie, die mit Klebstoff beschmiert war, und stolperte dann über einen Ventilator, der ihm einen Haufen Federn entgegenblies. Die blieben prompt am Klebstoff hängen! Kevins Streiche griffen perfekt ineinander.
Wie bei Kevins Fallen müssen auch die Elemente Ihres Application-Security-Plans ineinandergreifen. Alles, was auf einer „Etage“ Ihrer Anwendung passiert, muss mit den Sicherheitsmaßnahmen auf den anderen „Etagen“ verbunden sein. Heute bedeutet das, Sicherheitsmaßnahmen miteinander zu verknüpfen – im Quellcode, sowohl proprietär als auch Open Source, sowie in Cloud-Infrastruktur und Containern. Sehen wir uns an, was die einzelnen „Etagen“ umfassen.
Etage 1: Quellcode
Der gute alte, intern entwickelte Quellcode bildet die grundlegende Ebene Ihrer Anwendung. Wird Sicherheit beim Schreiben nicht berücksichtigt, kann er Angreifern Tür und Tor öffnen.
Ihr Sicherheitsteam kann jedoch nicht überall gleichzeitig sein. Deshalb sollten Sie einige Bestandteile Ihres Schlachtplans automatisieren. So wie Kevin Stolperdrähte einsetzte, um seine Tricks automatisch auszulösen, kann Ihr Team automatisierte statische Anwendungssicherheitstests (SAST) nutzen, um unsicheren Code zu finden und zu beheben. Für die Absicherung Ihres Quellcodes sind zwei Schritte nötig: regelmäßige statische Anwendungssicherheitstests (SAST) und Schulungen Ihrer Entwickler zu bewährten Vorgehensweisen, damit sie von Anfang an sicher programmieren können.

Etage 2: Software-Lieferkette
Die zweite „Etage“ Ihrer Anwendung ist die Software-Lieferkette: Bestandteile Ihrer App, die zusammengesetzt und nicht von Grund auf neu entwickelt werden, zum Beispiel Container-Basis-Images und Open-Source-Komponenten. Für die Behebung von Sicherheitsproblemen in der Software-Lieferkette sind jedoch spezialisierte Fähigkeiten erforderlich. Sie benötigen ein Tool, das gezielt nach Schwachstellen in Containern sucht, und ein weiteres, das Risiken in Open-Source-Komponenten identifiziert. Beide Tools müssen klare Schritte zur Behebung aufzeigen, etwa die Rückkehr zur sichersten Version der jeweiligen Komponente.

Etage 3: Infrastruktur
Für einen optimalen ganzheitlichen Ansatz für Application Security müssen Sie auch die strukturellen Elemente Ihrer App berücksichtigen, etwa Ihre Cloud-Umgebung und Infrastructure as Code (IaC). Welche Cloud-Dienste nutzen Sie zur Speicherung? Sind sie mit den richtigen Berechtigungen und Zugriffskontrollen konfiguriert, oder könnten sie ein Sicherheitsrisiko für Ihre Anwendung darstellen? Und ist Ihr IaC – ähnlich wie Ihr Quellcode – sicher geschrieben?
Um die Infrastruktur Ihrer App abzusichern, ist ein kontextbezogener Ansatz erforderlich. Schließlich existiert Ihr Cloud-Ökosystem nicht im luftleeren Raum. Wie es genutzt wird, hängt vielmehr stark von Ihrem IaC ab.

Alle Teile Ihres Schlachtplans zusammenführen
Jedes dieser Tools ist für sich genommen sinnvoll – aber wir sprechen aus gutem Grund von einem „Plan“ und nicht von mehreren „Plänen“! Wenn Sie keine Strategie entwickeln, um all diese einzelnen Sicherheitsmaßnahmen aufeinander abzustimmen, entgeht Ihnen der Gesamtkontext der gefundenen Schwachstellen. Unzusammenhängende Tools erschweren außerdem die Zusammenarbeit zwischen Entwicklern, Sicherheitsexperten und Cloud-Architekten, die gemeinsam für Ihre Sicherheitsmaßnahmen verantwortlich sind.
Snyk geht diese Herausforderung mit einer zentralen Plattform für fünf verschiedene Sicherheitsbereiche an: Quellcode, Open Source, Container, Cloud und IaC. Außerdem bieten wir Schulungen für Entwickler an, damit diejenigen, die sich in all diesen Bereichen am besten auskennen – die Entwicklungsteams –, selbst aktiv werden können. Erfahren Sie mehr über unsere Developer-Security-Plattform. Aber keine Sorge: Wenn Sie eine Lesepause einlegen und stattdessen _Kevin – Allein zu Haus_ ansehen möchten, sind wir da, wenn Sie zurückkommen!

Starten Sie mit Capture the Flag
Erfahren Sie in unserem virtuellen On-Demand-Workshop für Einsteiger, wie Sie Capture-the-Flag-Herausforderungen lösen.
