Als Hersteller einer Software sind Sie für die Sicherheit Ihrer Software verantwortlich. Wer seine Qualitätsanforderungen kennt, hat mit einem Architekturreview eine gute Grundlage für die Risikoanalyse.

Anwendungssicherheit

Als Hersteller einer Software – egal ob für interne Zwecke oder als kommerzielles Produkt – sind Sie für die Sicherheit Ihrer Software verantwortlich. Die Relevanz von Anwendungssicherheit hat in den letzten Jahren deutlich zugenommen und ist auch im Bewusstsein der Anwender und Entscheidungsträger angekommen. Und während Sicherheit im früheren ISO-Standard für Softwarequalität (ISO 9126) nur eine untergeordnete Rolle spielte, wurde es im Nachfolger ISO 25010 zu einem Hauptthema.

Zunahme von Cybercrime

Naiv ist, wer glaubt, seine Software sei kein Ziel von Angreifern, weil beispielsweise zu unbedeutend. Sofern die Anwendung vom Internet her erreichbar ist, wird sie angegriffen. Das geschieht automatisch, diverse Scanner suchen automatisiert im Internet nach potentiellen Zielen. Das Risiko eines Angriffes hängt von der Anwendung ab, oft geht es jedoch um Datendiebstahl oder Datenmanipulation und damit verbunden ein Reputationsrisiko respektive Industriespionage.

Qualitätsanforderungen und Risiken

Im bereits zitierten neuen ISO Standard 25010 sind fünf Sicherheitsaspekte aufgeführt:

1. Vertraulichkeit: Ihre Anwendung stellt sicher, dass Daten nur denjenigen Nutzern, Produkten und Systemen zugänglich sind, die die entsprechende Autorisierung haben.

2. Integrität: Ihre Anwendung verhindert den unautorisierten Zugriff respektive die Veränderung von Daten.

3. Nachweisbarkeit: Ihre Anwendung kann nachweisen, dass eine Aktion respektive ein Ereignis tatsächlich stattgefunden hat, sodass Ereignisse und Aktionen später nicht in Frage gestellt werden können.

4. Verantwortlichkeit: Ihre Anwendung kann Aktionen eines Benutzers auf diesen Benutzer zurückverfolgen.

5. Authentizität: Ihre Anwendung kann nachweisen, dass die Identität einer Person oder einer Ressource der angegebenen Identität entspricht.

Die OWASP Top 10

Nicht alle dieser fünf Sicherheitsaspekte sind für alle Anwendungen gleich wichtig. Anders sieht es bei den Sicherheitsproblemen aus, die die Organisation OWASP regelmässig veröffentlicht. OWASP steht für Open Web Application Security Project. Sie ist eine weltweite agierende Non-Profit-Organisation, die das Ziel verfolgt, die Sicherheit von Anwendungen und Diensten – nicht nur im Web – zu verbessern. Die sogenannten OWASP Top 10 sind die zehn meist verbreiteten, kritischsten Sicherheitsrisiken von Webanwendungen.

1. Injection: Ein Angreifer kann Eingabedaten so manipulieren, dass er nicht vorgesehene Kommandos ausführen oder unautorisiert auf Daten zugreifen kann.

2. Fehler in der Authentifizierung: Ein Angreifer kann die Identität anderer Benutzer übernehmen.

3. Verlust der Vertraulichkeit sensibler Daten: Angreifer können Daten auslesen oder modifizieren und mit ihnen weitere Straftaten begehen.

4. XML External Entities: Ein Angreifer kann interne Dateien oder File-Shares offenlegen oder interne Port-Scans, Remote-Code-Executions oder Denial-of-Service Angriffe ausführen.

5. Fehler in der Zugriffskontrolle: Angreifer können auf Funktionen oder Daten zuzugreifen, für die sie keine Zugriffsberechtigung haben.

6. Sicherheitsrelevante Fehlkonfigurationen: Betriebssysteme, Frameworks, Bibliotheken und Anwendungen müssen sicher konfiguriert werden und zeitnah Patches und Updates erhalten.

7. Cross-Site Scripting: Ein Angreifer kann Code im Browser eines Opfers ausführen und so Benutzersitzungen übernehmen, Seiteninhalte verändert anzeigen oder den Benutzer auf bösartige Seiten umleiten.

8. Unsichere Deserialisierung: Einem Angreifer sind Replay-Angriffe, Injections und das Erschleichen erweiterter Zugriffsrechte möglich.

9. Nutzung von Komponenten mit bekannten Schwachstellen: Applikationen und APIs, die Komponenten mit bekannten Schwachstellen nutzen, können Schutzmassnahmen unterlaufen und so Angriffe mit schwerwiegenden Auswirkungen ermöglichen.

10. Unzureichendes Logging und Monitoring: Unzureichendes Logging und Monitoring führt zusammen mit fehlender oder uneffektiver Reaktion auf Vorfälle zu andauernden oder wiederholten Angriffen.

Einige dieser Risiken lassen sich durch statische Quellcode-Analyse finden, jedoch nicht alle. Ein regelmässiges Review durch Drittpersonen ist empfohlen.

Weiteres Vorgehen

Was sind Ihre Qualitätsanforderungen an Ihre Software? Wo sind Ihre Risiken? Wir unterstützen Sie und Ihre Stakeholder bei der Analyse. Kontaktieren Sie uns für einen individuellen Workshop oder ein Architekturreview. Das A0 Poster mit dem Softwarequalität ISO Standard 25010 hilft Ihnen bei der Vorbereitung.

Termin vereinbaren

Wollen Sie mehr zum Thema Anwendungssicherheit wissen? Vereinbaren Sie mit uns ein kostenloses Beratungsgespräch, in dem wir gemeinsam herausfinden, wie wir Sie bei Ihren Herausforderungen unterstützen können.


Michael Schuler
Direkt +41 41 922 16 46
michael.schuler@xwr.ch

"Eine gute Software Architektur spart Kosten, beschleunigt die Entwicklung, stellt langfristige Wartbarkeit sicher und ist damit ein nachhaltiger Investitionsschutz."