Web Application Security – Erklärung, Startegien, Architektur

Web App Secrutiy Hacking Series Ethical Hacking Steffen Lippke

Was ist eine sichere Anwendung?

Eine Anwendung mit Passwort-Schutz…

Ne.

Hinter „sicheren“ Web Applikation steckt mehr als nur ein Passwort-Schutz.

Dieser umfassende, 3-teilige Guide soll Dir einen …

  1. Einblick in die Web Application Security
  2. 4 grundlegende Bausteine von Web Application Security
  3. Ein Praxis-Beispiel von Web Application Security mit SAML

… geben. Beginnen wir!

Gravierender Unterschied Web App und lokale Installation

Die frühen Computer-Pioniere haben Ihren Computer mit stapelweise Floppy-Disk gefüttert, um ein neues Computer-Programm auf Ihren Rechner zu installieren.

Heute öffnen wir den Browser, rufen eine Webseite auf und können in wenigen Sekunden mit einer neuen Anwendung arbeiten. Web Anwendung könne heute alles von der trockenen Buchhaltungssoftware bis zum grafisch-aufwendigen 3D-Game.

Vergleich der Sicherheit lokale Anwendung vs. Web App

Lokale Anwendungen sind von der Tendenz sicherer als Web Apps, weil Dein PC diese (zum großenteils / nur) Deinem PC ausführt. Viele Webanwendungen müssen Daten und Befehle über das „unsichere“ Internet, damit der Nutzer die Anwendungen verwenden kann. Weil Hacker die Nachrichten über das Internet stoppen, manipulieren und abhören können, müssen die Entwickler mit vielen Sicherheits-Herausforderungen kämpfen

Was ist Web Application Security und warum soll ich mich damit beschäftigen?

Web Application Security – Simple Erklärung als Metapher

Damit Du das Thema „Web Application Security“ einfach verstehen kannst, nutze ich eine Metapher (Verbildlichung / Vergleich), um Web App Sicherheit zu erklären:

Eine unsichere Web Application ist wie ein ausgeliefertes, neues Auto mit 500 PS, bei dem Schrauber der Bremsschlauch zu locker angeschlossen haben. Dieser Fehler ist nicht sofort ersichtlich. Das Auto fährt schnell und lässt sich gut lenken. Nur wenn der Schlauch etwas bewegt wird, kann er abfallen.

Ein Hacker ist eine (böser) Automechaniker, der den Produktionsfehler (durch Probieren) kennt. Eines Nachts besucht der Hacker den Kunden, der gerade sein neues Auto gekauft hat. Mit minimalen Bewegungen kann der Hacker der Bremsschlauch noch weiter lockern. Bei der nächsten Fahrt seines Opfers bei Tempo 130, fällt der Bremsschlauch ab und das Opfer rauscht den Berg hinab. Die Polizei vermutet bei der Bergung des Autowracks, dass der Autobauer unvorsichtig gewesen ist.

Eine sichere Web Application ist ein Qualitäts-Auto, welches 43 Qualitäts- und Sicherheitstest bestehen musste und die zertifizierte Schrauber nach 65 Qualitätsstandards und ISO-Normen gebaut haben, bevor der Kunde das Auto erhalten hat. Wenn ein Auto-Teil nicht 100 % funktionstüchtig (z. B. der linke Außenspiegel) ist, kann der Kunde das Auto nicht einmal starten. Das Auto meldet den Schaden sofort an den Autobauer und eine zertifizierte Werkstatt, um den Schaden zu reparieren. Der Autobauer prüft alle Modelle dieser Serie.

2 Gründe, warum sichere Web Applications ein Muss sind!

Wieso soll mein Team / ich sicher programmieren, um gute und sichere Web Applications zu entwickeln?

Zwei große Argumente sprechen dafür, sicher zu programmieren:

1. Schütze Deine Kunden!

Ein Kunde bricht nicht in Jubelschreie aus, wenn er sieht, dass seine Daten im Netz gegen seinen Willen veröffentlicht wurde. Ein Databreaches bei Deinem Unternehmen lösen weitere Hacks aus und motivieren Hacker weiterzumachen.

Hacks im Allgemeinen verunsichern die Nutzer. Das kann so weit gehen, dass diese alle digitale Produkte ablehnen und gegen IT-Konzerne über die Politik (berechtigterweise) vorgehen. Nicht-IT-Geeks, also für alle die WhatsApp und E-Mails das tägliche Brot sind, müssen den IT-Konzernen vertrauen, weil sie nicht Themen wie Verschlüsselung, Backups und Data Center kennen.

Selbst eine IT-Geek weiß nicht wirklich, ob das IT-Unternehmen wirklich die IT-Sicherheitsstandards korrekt umgesetzt hat.

2. Schütze Deinen Ruf und Reputation!

  • Unternehmensgeheimnisse
  • Patente für technische Entwicklungen
  • Strategien der Unternehmensführung
  • Bald veröffentlichte Quartalsberichte
  • Einblick in Geschäfte mit Partner
  • interne Korruption und kriminelle Handlungen

… sind alles Dinge, die kein Unternehmen unfreiwillig preisgibt.

Ohne IT-Sicherheit funktioniert das nicht. Wenn ein Hacker oder Kontrahent an solche Daten kommt, diese veröffentlicht oder den Wissensvorsprung ausnutzt, dann kann das den Ruf/Überleben des Unternehmens kosten.

Eine unsichere Web Application ist vergleichbar mit einem Auto, bei dem der lockere Bremsschlauch nach 10.000 km abfällt.

Mit unserem Montags-Auto…

  • Die Nutzer fahren sich an die Wand (Veröffentlichung von sehr privaten Fotos)
  • Die Unternehmen fahren sich an die Wand (Keiner möchte die Dienstleistung oder Produkt kaufen)

Sicher programmieren: Pro + Contra

Bei einer sicheren Programmierung müssen Web-Applications-Entwickler und –Architekten (Planer) Regeln beachten.

Die IT-Sicherheit ist wie ein zwei-schneidiges Schwert:

Entweder Du vernachlässigt die IT-Sicherheit und beendest schnell die Entwicklung oder Du baust zusätzlich die aktuellen Sicherheitsstandards ein.

Ein PLUS an Sicherheit bedeutet weniger Komfort für den Nutzer, mehr Sicherheitsbarrieren, weniger Freude bei der Nutzung.

Ein MINUS an Sicherheit bedeutet einfachere Bedienung, hoher Komfort und deshalb mehr zufriedenere Kunden.

Ein Databreach bei Dir kann heute, morgen, in 10 Tagen oder 5 Jahren passieren.  Im schlimmsten Fall muss Dein Unternehmen Konkurs anmelden.

Mache UNsichere zu SICHERE Web Apps

Jeder kann eine UNsichere Anwendung zu eine SICHERE Anwendung verändern.

Eine gravierende Änderung, damit Du die Web Application Security steigen kannst, ist teuer. Um mehr Sicherheit zu ermöglichen, muss die Programmieren bei vielen unsicheren Anwendungen die Architektur verändern.

Lange Ausfallzeiten kosten Geld.

Gute Entwickler kosten Geld.

Ein gutes Sicherheitskonzept von Architekten und Cybersecurity-„Wesen“ kosten Geld.

Langfristige rechnet sich der Mehraufwand.,

Beginne heute doch mit der Version 2.0 Deiner Anwendung:

  • Entwickle eine sichere Architektur
  • Verwende dem neuesten Technologie-Stack aufziehen: Kubernetes, Single Sign On, Blockchain, neuronale Netzen und hippen NoSQL-Datenbanken wie MongoDB
  • Schule Dich und Deine Programmierer in Sicherheitsfragen

Interessenkonflikt Programmierung

Features vs. Web Application Security

Aus Sicht der Leitung sind die schnelle Vervollständigung der Features sinnvoll

Man weiß nicht genau, wann man fertig ist

Genügend vor Dritten getestet?

Können Hacker Fehler ausnutzen?

Sind die Standard-Sicherheits-Module implementiert?

 

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert


Jeden Monat teile ich mit Mitgliedern
4 neue praxisnahe Tutorials (je 1000+ Wörter).


Trage Deine Mail, damit Du
Deine Coding + Hacking Skills erweitern kannst!

Die Webseite nutzt nur technisch notwendige Cookies.