Anwendungsentwicklung Sichere Anwendungen günstiger und schneller entwickeln

Autor / Redakteur: Martin Kuppinger* / Peter Schmitz

Wer hat das Argument nicht schon mal von Entwicklern gehört: Sicherheit würde die Entwicklung verlangsamen und sei teuer. Auch stete Wiederholung macht diese Aussage nicht richtig. Denn genau das Gegenteil ist der Fall!

Anbieter zum Thema

Martin Kuppinger: "Es ist höchste Zeit, die Sicherheit von Anwendungen zu erhöhen und die Anwendungsentwicklung effizienter zu machen."
Martin Kuppinger: "Es ist höchste Zeit, die Sicherheit von Anwendungen zu erhöhen und die Anwendungsentwicklung effizienter zu machen."
(Bild: Kuppinger Cole / CC0 )

Martin Kuppinger: "Es ist höchste Zeit, die Sicherheit von Anwendungen zu erhöhen und die Anwendungsentwicklung effizienter zu machen."
Martin Kuppinger: "Es ist höchste Zeit, die Sicherheit von Anwendungen zu erhöhen und die Anwendungsentwicklung effizienter zu machen."
(Bild: Kuppinger Cole)

Es ist günstiger und schneller, sichere Anwendungen zu entwickeln als ein Mindestmaß (und oft nicht einmal das) an Sicherheitsfunktionen am Ende der Entwicklung irgendwie noch dazu zu codieren. Die Lösung dafür ist nicht neu. Das Thema Anwendungssicherheitsinfrastrukturen (Application Security Infrastructures) wird schon seit rund zehn Jahren diskutiert.

Dabei geht es darum, Services für Anwendungen bereitzustellen, über die Sicherheitsdienste wie die Verwaltung von Benutzern, die Authentifizierung, die Autorisierung, das Auditing oder die Verschlüsselung über standardisierte Dienste bereitgestellt werden.

Es geht dabei also um die Trennung zwischen einer Backend-Infrastruktur für Sicherheitsdienste und den Anwendungen, die auf solche Dienste zugreifen. Richtig gemacht, werden Anwendungen und die Sicherheitsdienste wie beispielsweise die IAM-Infrastruktur (Identity and Access Management) dadurch so entkoppelt, dass sowohl Anwendungen als auch die Infrastruktur weiterentwickelt und verändert werden können. Entscheidend ist, dass die Service-Schicht stabil bleibt. In vielen Bereichen geht das dank etablierter Standards wie LDAP, SAML v2, OAuth 2.0, XACML oder OpenAZ auch gut.

Durch eine solche Entkopplung werden, konsequent umgesetzt in einem „Adaptive, Policy-based Access Management“, viele Vorteile erreicht, unter anderem:

  • Backend-Dienste werden einheitlich genutzt. Es entstehen also beispielsweise keine isolierten Verzeichnisdienste mehr, die später aufwändig integriert werden müssen.
  • Entwickler müssen sich über die Details von Sicherheit keine Gedanken mehr machen – sie nutzen standardisierte Dienste. Damit wird die Gefahr von Fehlern und damit Sicherheitsrisiken verringert - angefangen bei Anwendungen, die selbst die Authentifizierung übernehmen und Kennwörter unverschlüsselt speichern.
  • Umstellungen beispielsweise auf stärkere Authentifizierungsmechanismen können zentral durchgeführt werden.
  • Die aufwändige (und meist vergessene) Sicherheitsauditierung von Anwendungen wird einfacher.
  • Richtlinienbasierende, adaptive Sicherheit bei Authentifizierung und Autorisierung kann zentral umgesetzt werden.

Dafür muss man einmal den Aufwand leisten, die Vorgaben zu definieren. Innerhalb von Unternehmen betrifft das die eigene Anwendungsentwicklung, die Auftragsentwicklung durch externe Anbieter, aber auch Einkaufsregeln für Standardsoftware. Wer Standardsoftware entwickelt, muss dagegen vor allem darauf achten, Standards auf breiter Basis zu unterstützen, um sich möglichst einfach in unterschiedliche Umgebungen einklinken zu können. Für die Fälle, in denen der Kunde beispielsweise ein Benutzermanagement erwartet, kann man dann immer noch über den Standard auf einen Open Source-Verzeichnisdienst wie OpenLDAP zugreifen, den man bedarfsweise mitliefert.

Natürlich muss dafür einmal ein Konzept erstellt werden. Die Schnittstellen und zu nutzenden Bibliotheken müssen definiert sein. Aber das geht und es ist viel weniger Aufwand als jedes Mal aufs Neue Sicherheit – meist mehr schlecht als recht – in Anwendungen hinein zu codieren.

Abgesehen davon ist das ja nichts Neues. Im Mainframe-Umfeld gibt es seit 1976 IBM RACF und damit nichts anderes als ein System für die Auslagerung von Sicherheitsfunktionen aus Anwendungen und faktisch damit die Umsetzung einer Anwendungssicherheitsinfrastruktur. Es ist höchste Zeit, längst vorhandene Konzepte nun Realität werden zu lassen, um die Sicherheit von Anwendungen zu erhöhen und die Anwendungsentwicklung effizienter zu machen.

* Martin Kuppinger ist Gründer des Analystenunternehmens Kuppinger Cole, das sich mit digitalen Identitäten, Identity und Access Management, GRC (Governance, Risk Management, Compliance) und Cloud Computing beschäftigt.

(ID:44394267)