Applikationssicherheit

Schwachstellen in Web-Anwendungen vermeiden

| Autor / Redakteur: Mav Turner* / Stephan Augsten

So wie beim Hausbau essenzielle Leitungen verlegt werden, sollte auch bei der Software-Architektur die Sicherheit von Grund auf eingeplant werden.
So wie beim Hausbau essenzielle Leitungen verlegt werden, sollte auch bei der Software-Architektur die Sicherheit von Grund auf eingeplant werden. (Bild: Archiv)

Zweifelsohne ist es wichtig, Netzwerke, Daten und Geräte abzusichern. Ein Sicherheitsaspekt wird aber oft vernachlässigt: die Anwendungen, die auf diesen Systemen ausgeführt werden, und deren Schwachstellen. Sie können die gesamte Sicherheitsstrategie eines Unternehmens gefährden.

Die Sicherheit von Unternehmen ist und bleibt ein ständiges Gesprächsthema. Nach den aufsehenerregenden Hacking-Fällen des vergangenen Jahres wird allgegenwärtig das Worst-Case-Szenario heraufbeschworen: der Diebstahl und die Manipulation von Kunden- oder Unternehmensdaten oder geistigen Eigentums.

Die Anwendungssicherheit bleibt dabei interessanterweise oft unberücksichtigt. Auch wenn Anwendungen unser gesamtes Geschäfts- und Privatleben durchdringen, steckt die native Anwendungssicherheit noch in den Kinderschuhen. Es gibt keine Universallösung und in einer Zeit, in der große Flexibilität gefragt ist, legen einige Entwickler (sowohl intern als auch extern) mehr Wert auf eine schnelle Markteinführung als auf sichere Technologien.

Wie gehen wir also damit um? Stellen Sie sich die Anwendungssicherheit wie den Bau eines Hauses vor. Es ist sehr viel einfacher, die grundlegenden Einrichtungen – beispielsweise Stromversorgung und Abwasser – während der Bauphase von Anfang an einzuplanen, anstatt zu einem späteren Zeitpunkt alles umzubauen, um ein Badezimmer auf die andere Seite des Hauses zu verlegen.

Dasselbe Prinzip gilt für die Entwicklung von Anwendungen. Die Sicherheit der Anwendung muss bei der Entwicklung von Grund auf berücksichtigt werden und nicht nur einen Nebengedanken oder nachträglichen Zusatz darstellen. Im Kontext flexibler und innovativer Methoden bedeutet das, dass Sie sich bei jedem Schritt und jedem Entwicklungszyklus fragen sollten: „Welche Schwachstellen könnte ich ausnutzen?“

Je weiter die Entwicklungszyklen voranschreiten, desto schwieriger und kostenintensiver wird es, zurückzugehen und Fehler zu beheben, die von Anfang an vorhanden waren. Vor diesem Hintergrund finden Sie nachfolgend einige wichtige Überlegungen und Strategien für die sichere Entwicklung und Bereitstellung von Anwendungen in Unternehmen.

1. Nehmen Sie sich Zeit, um die Umgebung einzuschätzen

Im ersten Schritt sollten Sie sich ausreichend Zeit nehmen, um zu definieren, wie die Anwendungssicherheit für Sie und Ihr Unternehmen aussehen soll. So müssen Sie beispielsweise mehr Zeit und Aufwand auf die Sicherheit verwenden, wenn Ihre Organisation Steuerungssysteme für die Industrie entwickelt, als wenn Sie einfache Webanwendungen wie zum Beispiele Spiele entwickeln, durch die weder Kundendaten noch personenbezogene oder vertrauliche Daten gespeichert werden.

Folgende Fragen sollten berücksichtigt werden:

  • Welche Daten werden durch die Anwendung gespeichert?
  • Was für Daten durchlaufen die Anwendung?
  • Was ist das Worst-Case-Szenario im Falle einer Schwachstelle?
  • In welchen Situationen könnte es eintreten?
  • elcher Schaden kann entstehen, wenn Sie Opfer eines Angriffs werden und ein Hacker beispielsweise ein Abbild des gesamten Speichers erstellt oder höhere Zugriffsberechtigungen erlangt?
  • Stellen Sie sich vor, ein Mitarbeiter vergisst ein Mobilgerät im Taxi: Ist für den Zugriff auf das Netzwerk ein VPN-Kennwort erforderlich und wird dieses Kennwort im Cache gespeichert?

Denken Sie voraus und setzen Sie die richtigen Richtlinien für Ihr Unternehmen ein. Ihre Vorgehensweise hängt davon ab, durch wen und über welche Geräte auf eine Anwendung zugegriffen wird.

2. Den richtigen Grundstein legen

Der wichtigste Grundsatz beim Programmieren einer sicheren Anwendung besteht darin, die Sicherheit von Anfang an zu gewährleisten. Auch wenn es zunächst übervorsichtig erscheinen mag, erweist sich eine Strategie des „standardmäßigen Ablehnens“ während des gesamten Gestaltungsvorgangs als sinnvoll, damit die Anwendung ausreichend vor unberechtigten Zugriffen geschützt und gesperrt wird. Es ist deutlich einfacher, den Ursprung eventueller Sicherheitslücken zu ermitteln, wenn Sie Berechtigungen erst dann zuweisen, wenn sie benötigt werden.

Aus der Entwicklerperspektive sind Benutzeroberfläche und Benutzererlebnis nicht nur zentrale Aspekte der Entwicklung einer jeden Anwendung, sondern auch grundlegend für die Sicherheit. Das Ziel sollte immer darin bestehen, den Endbenutzer von Verantwortung zu befreien.

Warum? Wenn Benutzer selbst zwischen Sicherheit und Bequemlichkeit abwägen müssen, werden sie sich in den meisten Fällen für die Bequemlichkeit entscheiden – eine Entscheidung, die für ein Unternehmen fast immer falsch ist. Wenn Sie der Sicherheit den Vorrang vor der Bequemlichkeit gewähren müssen, beispielsweise wenn Benutzer bei jeder Verwendung einer Anwendung ein VPN-Kennwort eingeben müssen, sollten Sie sicherstellen, dass den Benutzern der Grund für diese Entscheidung bewusst ist.

Inhalt des Artikels:

Kommentare werden geladen....

Kommentar zu diesem Artikel

Anonym mitdiskutieren oder einloggen Anmelden

Avatar
  1. Avatar
    Avatar
    Bearbeitet von am
    Bearbeitet von am
    1. Avatar
      Avatar
      Bearbeitet von am
      Bearbeitet von am

Kommentare werden geladen....

Kommentar melden

Melden Sie diesen Kommentar, wenn dieser nicht den Richtlinien entspricht.

Kommentar Freigeben

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Freigabe entfernen

Der untenstehende Text wird an den Kommentator gesendet, falls dieser eine Email-hinterlegt hat.

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43812154 / Head Geeks Speech)