Contact salesFree trial
Blog

Sicherheit der Anwendung

SicherheitDevOps
Teilen Sie

Die Wahrheit über Anwendungssicherheit ist, dass es nicht wirklich um Anwendungssicherheit geht. Sichere Kodierungspraktiken sind eine gute Sache - bitte bereinigen Sie Ihre Eingaben, Leute. Aber eigentlich ist das nur das kleinste Teil eines viel größeren Puzzles der Cybersicherheit.

Das grundlegende Ziel der Anwendungssicherheit besteht darin, dass Sie nicht gehackt werden wollen und dass Ihre Anwendung(en) nicht ausfallen sollen.

Leider gibt es unglaublich viele Menschen, die aus dem einen oder anderen Grund versuchen, Sie zu hacken und Ihre Systeme zum Absturz zu bringen. Und das ist nicht einmal persönlich. Es ist ihr Job. Sie werden dafür bezahlt. Und ihre Chefs wollen nicht, dass ihre Zeit unnötig vergeudet wird.

Wie jeder gute Profi automatisieren auch diese Hacker.

Man muss nicht besonders sein, um ein Ziel zu sein. Man muss nicht eine Milliarde auf der Bank haben. Und man kann sich nicht in der Menge verstecken. Computer sind schnell. Oft schneller, als wir uns intuitiv vorstellen können. Selbst wenn man etwas hinter einer Milliarde Permutationen versteckt hat, braucht ein Computer weniger als eine Sekunde, um alle auszuprobieren.

Ich liebe diesen Witz: Ein paar Touristen spazieren im Dschungel herum, als sie einen schönen, hungrig aussehenden Tiger entdecken. "Rennt um euer Leben!", ruft jemand. Und alle, bis auf einen, rennen los. Er bleibt stehen, holt Laufschuhe aus seinem Rucksack und zieht sie an. Ein anderer seiner Kameraden, der immer noch rennt, schreit ihm zu: "Bist du verrückt? Glaubst du, du kannst vor einem Tiger davonlaufen?!" - Er antwortet: "Ich muss nicht vor dem Tiger weglaufen, ich muss nur vor dir weglaufen."

Dieser Witz wurde verwendet, um den Leuten zu erklären, dass sie keine "weichen Ziele" sein sollten - man sollte sich stark genug machen, damit der hungrige Tiger zum nächsten leckeren Ziel weiterzieht.

Aber wie Sie vielleicht wissen, ist der große Killer der Wälder nicht der furchterregende Tiger. Es sind die Moskitos, die dich erwischen. Es gibt genug Ziele für all die durstigen Mücken und genug Mücken, um jeden zu stechen, der nicht bedeckt ist.

Und obwohl einige Systeme offensichtlich wichtiger sind als andere und mehr Schutz verdienen - nicht jedes Computersystem auf der Welt hat Atomwaffencodes - brauchen alle einen gewissen Schutz. Es geht nicht darum, ob man angegriffen wird, sondern wann. Und wann ist meistens die ganze Zeit und ein paar Minuten, nachdem Ihr System in Betrieb genommen wurde (und möglicherweise sogar schon vorher, dazu kommen wir noch).

Gehen wir davon aus, dass Sie ein seriöser Softwareentwickler sind und sichere Kodierungspraktiken anwenden. Sie bereinigen Ihre Eingaben, wie Ihre Eltern es Ihnen gesagt haben. Sie minimieren die Oberfläche. Sie schaffen Verteidigung in der Tiefe. Sie bauen Ihr System so auf, dass es ephemere Geheimnisse verwendet (die also offensichtlich nicht auf den Festplatten herumliegen).

Das Problem ist, dass Software allein nicht viel ausrichten kann. Oder überhaupt etwas. Um nützliche Dinge zu tun, braucht sie eigentlich viel mehr. Eine Möglichkeit, sie zu erstellen - einschließlich ihrer Abhängigkeiten. Einen Ort, um sie zu bauen. Eine Konfiguration. Manchmal mit Geheimnissen (denn während Sie nur ephemere machen - die API, die Sie verwenden, möchte vielleicht einen statischen API-Schlüssel). Zugrundeliegende Betriebssysteme mit einem Netzwerk-Stack - der hoffentlich nur das offenlegt, was er offenlegen wollte. Datenbanken. Nachrichten-Warteschlangen. Caches. Außerdem gibt es Daten. Daten, die ein Vektor sein können (Benutzernamen und Passwörter sind auch Daten).

Wenn man sich ein triviales System und die Anzahl der Codezeilen ansieht, die ausgeführt werden, könnten alle ein Sicherheitsproblem in sich bergen. Stellen wir uns eine typische Ruby on Rails-Anwendung vor:

  • Typische Rails-Anwendung: 15.443 Codezeilen.
  • Ruby on Rails: 338.728 Zeilen Code.
  • Die Standardabhängigkeiten von Ruby on Rails: 1.161.724 Zeilen Code.
  • Postgres: 1.491.985 Zeilen Code.
  • Linux: 34.279.868 Codezeilen.

Das kleine grüne Quadrat ist Ihr Code. In einem echten Bild würden Sie es nicht sehen können. Das ist ohne SystemD: Rechnen Sie allein dafür 1,3 Mio. Zeilen hinzu. Und das ist ohne eine Distribution. Ohne openssl usw. - und bevor wir all den anderen Code betrachten, der in der Schleife für die Bereitstellung und Ausführung Ihrer Anwendung sein wird. Ihr Observability-Stack. Ihr Orchestrierungs-Tooling.

Quelle: https: //xkcd.com/2347/

Wissen Sie, XKCD 2347 ... dies ist in gewisser Weise eine ähnliche Situation - nur andersherum. Und wenn wir beide Bilder miteinander verbinden - die Wahrheit ist, dass der größte Teil der Anwendung nicht von Ihnen geschrieben wurde - wird sie irgendwo einen Mangel haben. Und selbst das ist eine Art statische Sicht der Dinge. Die tatsächliche Oberfläche ist anders.

Der Mensch ist das schwächste Glied

Die sicherste Software kann durch den Fehler einer einzelnen Person oder durch einen erfolgreichen Social Engineering-Angriff untergraben werden. Die Aufklärung der Benutzer über bewährte Sicherheitspraktiken ist genauso wichtig, wenn nicht sogar wichtiger, als die in der Software eingebauten Sicherheitsfunktionen.

Die Infrastruktur ist wichtig

Selbst wenn eine Anwendung sicher ist, muss auch die Infrastruktur, auf der sie läuft, sicher sein. Dazu gehören die Server, das Netzwerk und sogar die physischen Einrichtungen, in denen die Hardware untergebracht ist. Ein Verstoß in einem dieser Bereiche kann die Anwendungssicherheit untergraben.

Ganzheitliches Sicherheitskonzept

Eine wirklich sichere Umgebung berücksichtigt nicht nur die Anwendungssicherheit, sondern auch die Netzwerksicherheit, die Sicherheit der Endgeräte, die Identitäts- und Zugriffsverwaltung, die Datensicherheit und vieles mehr. Sie alle arbeiten zusammen.

Es geht um Risikomanagement

Absolute Sicherheit ist unmöglich. Es geht darum, Risiken zu verstehen, Prioritäten zu setzen und sie effektiv zu verwalten. Dazu gehören regelmäßige Sicherheitsbewertungen, Überwachung und ein proaktiver Ansatz für potenzielle Schwachstellen.

Kontinuierlicher Prozess

Sicherheit ist keine einmalige Sache. Jeden Tag werden neue Schwachstellen entdeckt, und die Bedrohungsakteure entwickeln ihre Techniken ständig weiter. Regelmäßige Updates, Patches und Überwachung sind unerlässlich, um sicherzustellen, dass die Sicherheitsmaßnahmen immer auf dem neuesten Stand sind.

Berücksichtigung der Privatsphäre

Eine sichere Anwendung respektiert auch die Privatsphäre der Benutzer. Manchmal können die Grenzen zwischen Sicherheit und Datenschutz verschwimmen. So kann die Sammlung von Benutzerdaten zwar die Sicherheitsmaßnahmen verbessern, aber auch die Rechte der Benutzer auf Privatsphäre verletzen.

Einhaltung von Vorschriften und Bestimmungen

Zur Anwendungssicherheit gehört auch die Einhaltung verschiedener Vorschriften und Standards, die je nach Branche und Region unterschiedlich sein können. Dazu gehören GDPR für den Datenschutz, PCI DSS für die Sicherheit von Zahlungskarten, HIPAA für Gesundheitsdaten und vieles mehr.

Risiken von Anbietern und Drittanbietern

Eine Anwendung kann sicher sein, aber wenn sie mit Drittanbieterdiensten oder -anbietern integriert ist , die nicht sicher sind, wird das gesamte System angreifbar. Das bedeutet, dass zur Sicherung einer Anwendung auch sichergestellt werden muss, dass alle ihre Verbindungen und Integrationen sicher sind.

Die harte Realität ist, dass dieses Geflecht aus Risiken und Bedenken bei der modernen Anwendungsbereitstellung weitgehend unvermeidbar ist. Wir können nicht in allen Bereichen Experten sein und auch nicht alle Teile überwachen, die sich ständig um uns herum verändern.

Letztendlich sind wir umso besser dran, je früher wir dies akzeptieren, und die Wahl einer sicherheitsorientierten Cloud-Anwendungsplattform wie Upsun macht dies sehr viel einfacher. Upsun bietet Expertise bei der Sicherung der Infrastruktur, verlässt sich auf explizite Definitionen, um die Zugriffskontrolle zu definieren, und verwaltet die Dienste kontinuierlich im Hintergrund, um die Risiken zu mindern und selbst für die sensibelsten Daten stets konform zu bleiben.

Den Code zu schützen, den Sie nicht selbst schreiben, ist schwierig - aus vielen verschiedenen Gründen. Lernen Sie, was Sie können, und halten Sie sich und Ihr Team so gut wie möglich über bewährte Verfahren auf dem Laufenden. Akzeptieren Sie ansonsten, dass wir nicht alle Experten sein können, kontrollieren Sie das, was Sie können, so streng wie möglich, und ziehen Sie in Betracht, dass ein Experte wie Upsun Ihre Geheimwaffe sein könnte, wenn es um Infrastruktur und DevOps geht.

Ihr größtes Werk
steht vor der Tür

Kostenloser Test
Discord
© 2025 Platform.sh. All rights reserved.