Suchen

Secure Software Development Wichtige Grundlagen und Phasen der sicheren Anwendungsentwicklung

| Autor / Redakteur: Sachar Paulus / Stephan Augsten

Browser und andere Anwendungen sind mittlerweile die einfachsten Angriffsvektoren, um in ein Firmennetz vorzudringen. Vor diesem Hintergrund wird zunehmend die Forderung nach sicheren Anwendungen laut. Doch was ist Application Security eigentlich genau? Dieser Beitrag gibt einen Überblick über die verschiedenen Aspekte der sicheren Anwendungsentwicklung.

Development-Lifecycle: Die Software-Sicherheit ist von weit mehr Faktoren abhängig als der sicheren Programmierung.
Development-Lifecycle: Die Software-Sicherheit ist von weit mehr Faktoren abhängig als der sicheren Programmierung.
( Archiv: Vogel Business Media )

Geht es bei der Applikationssicherheit um den Einsatz von Hacking-Techniken, um Sicherheitslöcher zu finden? Ober vielleicht um eine sichere Software-Architektur? Oder beschreibt dieser Begriff vielleicht doch eher Techniken, die den Schutz von – eigentlich unsicheren – Anwendungen übernehmen, wie etwa Web Application Firewalls?

Applikationssicherheit umfasst zwar alle diese Aspekte, geht aber weiter. Es handelt sich um einen methodischen Aspekt der Software-Entwicklung, von Anfang an auf Sicherheit zu achten – und diese gegebenenfalls mit speziellen Tools zu ergänzen. Dieser Artikel versucht, in einer leicht verständlichen Übersicht einen Überblick über die verschiedenen Aspekte von Applikationssicherheit zu geben.

Security Requirements

Schon während der ersten Phase eines typischen Software-Projekts ist es wichtig, an Sicherheit zu denken. Die Sicherheitsanforderungen sollten explizit beim Kunden eingeholt werden, auch wenn sie scheinbar selbstverständlich erscheinen.

Dabei ist es von großem Vorteil, die Sicherheitsanforderungen explizit zu beschreiben, damit sie auch später in der Testphase validiert werden können. So können sie noch als „selbstverständlich“ abgetan werden

Vor allem im Hinblick auf Sicherheit ist es wichtig zu unterscheiden, ob eine Anforderung „funktional“ ist (also die Existenz einer bestimmten Funktionalität fordert) oder „nicht-funktional“ (wenn die Software eine bestimmte Eigenschaft haben soll). Anforderungen für Software-Sicherheit sind oft nicht-funktional und entsprechend schwer zu testen.

Seite 2: Vom Software-Design bis zum Sicherheitstest

(ID:2045772)