Prüfaspekte: Unterschied zwischen den Versionen

Aus d.hack
Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
== Anwendungszweck: ==
== Anwendungszweck ==


O.Purp_1: Der Hersteller MUSS die rechtmäßigen Zwecke der Web-Anwendung und die
[[O.Purp_1]]: Der Hersteller MUSS die rechtmäßigen Zwecke der Web-Anwendung und die
Verwendung von personenbezogenen Daten offenlegen (etwa in der Beschreibung der
Verwendung von personenbezogenen Daten offenlegen (etwa in der Beschreibung der
Nutzungsbedingungen der Web-Anwendung) und den Nutzer spätestens bei der
Nutzungsbedingungen der Web-Anwendung) und den Nutzer spätestens bei der
erstmaligen Nutzung der Anwendung darüber informieren.
erstmaligen Nutzung der Anwendung darüber informieren.


O.Purp_2: Die Web-Anwendung DARF KEINE Daten erheben und verarbeiten, die nicht dem
[[O.Purp_2]]: Die Web-Anwendung DARF KEINE Daten erheben und verarbeiten, die nicht dem
rechtmäßigen Zweck der Anwendung dienen.
rechtmäßigen Zweck der Anwendung dienen.


O.Purp_3: Die Web-Anwendung MUSS vor jeglicher Erfassung oder Verarbeitung personenbe-
[[O.Purp_3]]: Die Web-Anwendung MUSS vor jeglicher Erfassung oder Verarbeitung personenbe-
zogener aktive und eindeutige Einwilligungserklärung des Nutzers einholen.
zogener aktive und eindeutige Einwilligungserklärung des Nutzers einholen.
O.Purp_4 Daten, deren Verwendung der Nutzer nicht ausdrücklich zugestimmt hat, DÜRFEN
O.Purp_4 Daten, deren Verwendung der Nutzer nicht ausdrücklich zugestimmt hat, DÜRFEN
Zeile 15: Zeile 15:
werden.
werden.


O.Purp_5: Die Web-Anwendung MUSS ermöglichen, dass der Nutzer eine bereits erteilte
[[O.Purp_5]]: Die Web-Anwendung MUSS ermöglichen, dass der Nutzer eine bereits erteilte
Einwilligung wieder entziehen kann. Der Nutzer MUSS vor der Einwilligung über die
Einwilligung wieder entziehen kann. Der Nutzer MUSS vor der Einwilligung über die
Möglichkeit des Widerrufs und die sich daraus ergebenden Veränderungen im Verhalten
Möglichkeit des Widerrufs und die sich daraus ergebenden Veränderungen im Verhalten
der Anwendung informiert werden.
der Anwendung informiert werden.


O.Purp_6: Der Hersteller MUSS ein Verzeichnis führen, welches erkennen lässt, welche Nutzer-
[[O.Purp_6]]: Der Hersteller MUSS ein Verzeichnis führen, welches erkennen lässt, welche Nutzer-
einwilligungen vorliegen. Der nutzerspezifische Teil des Verzeichnisses MUSS für den
einwilligungen vorliegen. Der nutzerspezifische Teil des Verzeichnisses MUSS für den
Nutzer automatisiert einsehbar sein.
Nutzer automatisiert einsehbar sein.


O.Purp_7: Setzt die Web-Anwendung Frameworks und Bibliotheken von Dritten ein, SOLLEN alle
[[O.Purp_7]]: Setzt die Web-Anwendung Frameworks und Bibliotheken von Dritten ein, SOLLEN alle
verwendeten Funktionen für die rechtmäßigen Zwecke der Anwendung erforderlich
verwendeten Funktionen für die rechtmäßigen Zwecke der Anwendung erforderlich
sein. Die Anwendung SOLL anderweitige Funktionen sicher deaktivieren. Im Falle einer
sein. Die Anwendung SOLL anderweitige Funktionen sicher deaktivieren. Im Falle einer
Zeile 31: Zeile 31:
Bibliotheken steht.
Bibliotheken steht.


O.Purp_8: Sofern es nicht für den vorgesehenen primären Zweck einer Web-Anwendung
[[O.Purp_8]]: Sofern es nicht für den vorgesehenen primären Zweck einer Web-Anwendung
erforderlich ist, DÜRFEN sensible Daten NICHT mit Dritten geteilt werden. Die
erforderlich ist, DÜRFEN sensible Daten NICHT mit Dritten geteilt werden. Die
Anwendung MUSS den Nutzer über die Konsequenzen einer eventuellen Weitergabe
Anwendung MUSS den Nutzer über die Konsequenzen einer eventuellen Weitergabe
Zeile 37: Zeile 37:
(OPT-IN).
(OPT-IN).


O.Purp_9: Die Web-Anwendung DARF sensible Daten NICHT auf dem Bildschirm darstellen, außer
[[O.Purp_9]]: Die Web-Anwendung DARF sensible Daten NICHT auf dem Bildschirm darstellen, außer
dies ist für den primären Zweck der Anwendung erforderlich.
dies ist für den primären Zweck der Anwendung erforderlich.


== Architektur: ==
== Architektur ==


O.Arch_1: „Security“ MUSS ein fester Bestandteil des Softwareentwicklungs- und Lebenszyklus‘ für
[[O.Arch_1]]: „Security“ MUSS ein fester Bestandteil des Softwareentwicklungs- und Lebenszyklus‘ für
die gesamte Web-Anwendung und das Hintergrundsystem sein.
die gesamte Web-Anwendung und das Hintergrundsystem sein.


O.Arch_2: Bereits in der Designphase von Web-Anwendung und Hintergrundsystem MUSS
[[O.Arch_2]]: Bereits in der Designphase von Web-Anwendung und Hintergrundsystem MUSS
berücksichtigt werden, dass die Anwendung in der Produktivphase sensible Daten
berücksichtigt werden, dass die Anwendung in der Produktivphase sensible Daten
verarbeiten wird. Die Architektur der Anwendung MUSS dafür die sichere Erhebung,
verarbeiten wird. Die Architektur der Anwendung MUSS dafür die sichere Erhebung,
Zeile 51: Zeile 51:
Datenlebenszyklus abbilden.
Datenlebenszyklus abbilden.


O.Arch_3: Der Lebenszyklus von kryptographischem Schlüsselmaterial MUSS einer ausgearbeiteten
[[O.Arch_3]]: Der Lebenszyklus von kryptographischem Schlüsselmaterial MUSS einer ausgearbeiteten
Richtlinie folgen, die Eigenschaften wie die Zufallszahlenquelle, detaillierte Angaben zur
Richtlinie folgen, die Eigenschaften wie die Zufallszahlenquelle, detaillierte Angaben zur
Aufgabentrennung von Schlüsseln, Ablauf von Schlüsselzertifikaten,
Aufgabentrennung von Schlüsseln, Ablauf von Schlüsselzertifikaten,
Zeile 57: Zeile 57:
anerkannten Standards wie [TR02102-2] und [NIST80057] basieren.
anerkannten Standards wie [TR02102-2] und [NIST80057] basieren.


O.Arch_4: Backups und Cloud-Backups DÜRFEN KEINE sensiblen Daten im Klartext beinhalten.
[[O.Arch_4]]: Backups und Cloud-Backups DÜRFEN KEINE sensiblen Daten im Klartext beinhalten.
Die Web-Anwendung muss daher so gestaltet sein, dass sensible Daten auch durch den
Die Web-Anwendung muss daher so gestaltet sein, dass sensible Daten auch durch den
Browser nicht etwa in dessen Cache persistiert werden.
Browser nicht etwa in dessen Cache persistiert werden.


O.Arch_5: Nutzt die Web-Anwendung Frameworks oder Bibliotheken von Dritten, MUSS der
[[O.Arch_5]]: Nutzt die Web-Anwendung Frameworks oder Bibliotheken von Dritten, MUSS der
Hersteller dem Nutzer Informationen über den Nutzungsumfang und die eingesetzten
Hersteller dem Nutzer Informationen über den Nutzungsumfang und die eingesetzten
Sicherheitsmechanismen klar darstellen. Die Anwendung MUSS sicherstellen, dass diese
Sicherheitsmechanismen klar darstellen. Die Anwendung MUSS sicherstellen, dass diese
Zeile 67: Zeile 67:
sicherstellen, dass ungenutzte Funktionen durch Dritte nicht aktiviert werden können.
sicherstellen, dass ungenutzte Funktionen durch Dritte nicht aktiviert werden können.


O.Arch_6: Die Architektur der Web-Anwendung SOLL einem minimalistischen Ansatz folgen und
[[O.Arch_6]]: Die Architektur der Web-Anwendung SOLL einem minimalistischen Ansatz folgen und
mit einer serverseitig lokalisierten Verarbeitungslogik realisiert sein, d.h. es SOLLEN
mit einer serverseitig lokalisierten Verarbeitungslogik realisiert sein, d.h. es SOLLEN
keine komplexen aktiven Inhalte (Java Applets, ActiveX-Plugin, o.ä.) verwendet werden.
keine komplexen aktiven Inhalte (Java Applets, ActiveX-Plugin, o.ä.) verwendet werden.


O.Arch_7: Der Hersteller MUSS dem Nutzer eine barrierearme Möglichkeit bereitstellen, um
[[O.Arch_7]]: Der Hersteller MUSS dem Nutzer eine barrierearme Möglichkeit bereitstellen, um
Sicherheitsprobleme zu melden. Die Kommunikation SOLL über einen verschlüsselten
Sicherheitsprobleme zu melden. Die Kommunikation SOLL über einen verschlüsselten
Kanal stattfinden.
Kanal stattfinden.


O.Arch_8: Das Hintergrundsystem MUSS beim Start auf die Aktualität des genutzten Web-
[[O.Arch_8]]: Das Hintergrundsystem MUSS beim Start auf die Aktualität des genutzten Web-
Browsers prüfen. Wenn die Installation eines sicherheitsrelevanten Updates noch nicht
Browsers prüfen. Wenn die Installation eines sicherheitsrelevanten Updates noch nicht
erfolgt ist, DARF das Hintergrundsystem KEINEN Zugriff auf sensible Daten
erfolgt ist, DARF das Hintergrundsystem KEINEN Zugriff auf sensible Daten
ermöglichen.
ermöglichen.


O.Arch_9: Die Web-Anwendung SOLL HTTP-Server-Header nutzen, die dem aktuellen Stand der
[[O.Arch_9]]: Die Web-Anwendung SOLL HTTP-Server-Header nutzen, die dem aktuellen Stand der
Technik entsprechen und die Sicherheit der Anwendung erhöhen. Dazu gehören unter anderem HTTP Strict Transport Security (HSTS), Content Security Policy (CSP) und
Technik entsprechen und die Sicherheit der Anwendung erhöhen. Dazu gehören unter anderem HTTP Strict Transport Security (HSTS), Content Security Policy (CSP) und
X-Frame-Options.
X-Frame-Options.


== Quellcode: ==
== Quellcode ==


O.Source_1: Die Anwendung MUSS Eingaben aus nicht vertrauenswürdigen Quellen vor deren
[[O.Source_1]]: Die Anwendung MUSS Eingaben aus nicht vertrauenswürdigen Quellen vor deren
Verwendung prüfen, um potenziell bösartige Werte vor der Verarbeitung herauszu-
Verwendung prüfen, um potenziell bösartige Werte vor der Verarbeitung herauszu-
filtern.
filtern.


O.Source_2: Die Anwendung MUSS eingehende und ausgehende Daten maskieren beziehungsweise
[[O.Source_2]]: Die Anwendung MUSS eingehende und ausgehende Daten maskieren beziehungsweise
von potenziell schadhaften Zeichen bereinigen oder deren Verarbeitung ablehnen.
von potenziell schadhaften Zeichen bereinigen oder deren Verarbeitung ablehnen.


O.Source_3: Fehlermeldungen und Benachrichtigungen DÜRFEN KEINE sensiblen Daten (z. B. User
[[O.Source_3]]: Fehlermeldungen und Benachrichtigungen DÜRFEN KEINE sensiblen Daten (z. B. User
Identifier oder Session-IDs) enthalten.
Identifier oder Session-IDs) enthalten.


O.Source_4: Potenzielle Ausnahmen im Programmablauf (Exceptions) MÜSSEN abgefangen,
[[O.Source_4]]: Potenzielle Ausnahmen im Programmablauf (Exceptions) MÜSSEN abgefangen,
kontrolliert behandelt und dokumentiert werden. Technische Fehlerbeschreibungen
kontrolliert behandelt und dokumentiert werden. Technische Fehlerbeschreibungen
(z.B. Stack Traces) DÜRFEN dem Nutzer NICHT angezeigt werden.
(z.B. Stack Traces) DÜRFEN dem Nutzer NICHT angezeigt werden.


O.Source_5: Bei Ausnahmen im Programmablauf (Exceptions), mit sicherheitskritischen Auswir-
[[O.Source_5]]: Bei Ausnahmen im Programmablauf (Exceptions), mit sicherheitskritischen Auswir-
kungen, SOLL die Web-Anwendung Zugriffe auf sensible Daten abbrechen und diese im
kungen, SOLL die Web-Anwendung Zugriffe auf sensible Daten abbrechen und diese im
Speicher sicher löschen.
Speicher sicher löschen.


O.Source_6: Alle Optionen zur Unterstützung der Entwicklung (z. B. Log-Aufrufe, Entwickler-URLs,
[[O.Source_6]]: Alle Optionen zur Unterstützung der Entwicklung (z. B. Log-Aufrufe, Entwickler-URLs, Testmethoden etc.) MÜSSEN in der Produktiv-Version mindestens deaktiviert oder
Testmethoden etc.) MÜSSEN in der Produktiv-Version mindestens deaktiviert oder
besser vollständig entfernt sein.
besser vollständig entfernt sein.


O.Source_7: Der Hersteller MUSS sicherstellen, dass keinerlei Überreste von Debug-Mechanismen in
[[O.Source_7]]: Der Hersteller MUSS sicherstellen, dass keinerlei Überreste von Debug-Mechanismen in der Produktiv-Version verbleiben.
der Produktiv-Version verbleiben.


O.Source_8: Nutzt die Web-Anwendung URL-Weiterleitungen (URL-Redirects), MUSS diese
[[O.Source_8]]: Nutzt die Web-Anwendung URL-Weiterleitungen (URL-Redirects), MUSS diese
kontrolliert erfolgen.
kontrolliert erfolgen.


O.Source_9: Die Web-Anwendung MUSS Maßnahmen vorsehen, die verhindern, dass Funktiona-
[[O.Source_9]]: Die Web-Anwendung MUSS Maßnahmen vorsehen, die verhindern, dass Funktiona-
litäten, die nicht in der Entwicklungshoheit des Herstellers liegen, in die Web-
litäten, die nicht in der Entwicklungshoheit des Herstellers liegen, in die Web-
Anwendung eingeschleust und zur Ausführung gebracht werden.
Anwendung eingeschleust und zur Ausführung gebracht werden.


O.Source_10: Sensible Daten DÜRFEN NICHT in der URL vorkommen. Die Web-Anwendung MUSS
[[O.Source_10]]: Sensible Daten DÜRFEN NICHT in der URL vorkommen. Die Web-Anwendung MUSS
solche Daten in HTTP Request Headern oder POST-Parametern verarbeiten.
solche Daten in HTTP Request Headern oder POST-Parametern verarbeiten.


== Drittanbieter-Software ==
== Drittanbieter-Software ==


O.TrdP_1: Der Hersteller MUSS eine zentrale und vollständige Liste von Abhängigkeiten durch
[[O.TrdP_1]]: Der Hersteller MUSS eine zentrale und vollständige Liste von Abhängigkeiten durch
externe Software, Bibliotheken und Frameworks führen.
externe Software, Bibliotheken und Frameworks führen.


O.TrdP_2: Externe Software, Bibliotheken und Frameworks MÜSSEN in der neusten oder der ihr
[[O.TrdP_2]]: Externe Software, Bibliotheken und Frameworks MÜSSEN in der neusten oder der ihr
vorhergehenden, verfügbaren „Stable“ -Version verwendet werden.
vorhergehenden, verfügbaren „Stable“ -Version verwendet werden.


O.TrdP_3: Externe Bibliotheken und Frameworks MÜSSEN durch den Hersteller regelmäßig auf
[[O.TrdP_3]]: Externe Bibliotheken und Frameworks MÜSSEN durch den Hersteller regelmäßig auf
Schwachstellen überprüft werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen,
Schwachstellen überprüft werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen,
das bei Bekanntwerden von Schwachstellen anhand der Kritikalität eine geduldete
das bei Bekanntwerden von Schwachstellen anhand der Kritikalität eine geduldete
Zeile 136: Zeile 134:
bei bekannten Schwachstellen NICHT eingesetzt werden.
bei bekannten Schwachstellen NICHT eingesetzt werden.


O.TrdP_4: Sicherheitsupdates für externe Bibliotheken und Frameworks MÜSSEN zeitnah zur
[[O.TrdP_4]]: Sicherheitsupdates für externe Bibliotheken und Frameworks MÜSSEN zeitnah zur
Verfügung gestellt werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen, das
Verfügung gestellt werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen, das
anhand der Kritikalität ausnutzbarer Schwachstellen die geduldete Weiternutzung für
anhand der Kritikalität ausnutzbarer Schwachstellen die geduldete Weiternutzung für
Zeile 142: Zeile 140:
angeboten werden.
angeboten werden.


O.TrdP_5: Vor der Verwendung von externen Bibliotheken und Frameworks MUSS deren Quelle
[[O.TrdP_5]]: Vor der Verwendung von externen Bibliotheken und Frameworks MUSS deren Quelle
auf Vertrauenswürdigkeit geprüft werden. Die Web-Anwendung DARF externe Libraries
auf Vertrauenswürdigkeit geprüft werden. Die Web-Anwendung DARF externe Libraries
aus nicht-vertrauenswürdigen Quellen NICHT nachladen.
aus nicht-vertrauenswürdigen Quellen NICHT nachladen.


O.TrdP_6: Über Drittanbieter-Software eingehende Daten SOLLEN validiert werden.
[[O.TrdP_6]]: Über Drittanbieter-Software eingehende Daten SOLLEN validiert werden.


O.TrdP_7: Drittanbieter-Software, die nicht länger vom Hersteller oder Entwickler gewartet wird,
[[O.TrdP_7]]: Drittanbieter-Software, die nicht länger vom Hersteller oder Entwickler gewartet wird, DARF NICHT verwendet werden.
DARF NICHT verwendet werden.


== Kryptographische Umsetzung ==
== Kryptographische Umsetzung ==


O.Cryp_1: Beim Einsatz von Verschlüsselung in der Web-Anwendung DÜRFEN KEINE fest
[[O.Cryp_1]]: Beim Einsatz von Verschlüsselung in der Web-Anwendung DÜRFEN KEINE fest
einprogrammierten geheimen, bzw. privaten Schlüssel eingesetzt werden.
einprogrammierten geheimen, bzw. privaten Schlüssel eingesetzt werden.


O.Cryp_2: Die Anwendung MUSS auf bewährte Implementierungen zur Umsetzung krypto-
[[O.Cryp_2]]: Die Anwendung MUSS auf bewährte Implementierungen zur Umsetzung krypto-
graphischer Primitive und Protokolle zurückgreifen (vgl. [TR02102-2]).
graphischer Primitive und Protokolle zurückgreifen (vgl. [TR02102-2]).


O.Cryp_3: Die Wahl kryptographischer Primitive MUSS passend zum Anwendungsfall sein und
[[O.Cryp_3]]: Die Wahl kryptographischer Primitive MUSS passend zum Anwendungsfall sein und
dem aktuellen Stand der Technik (siehe [TR02102-1]) entsprechen.
dem aktuellen Stand der Technik (siehe [TR02102-1]) entsprechen.


O.Cryp_4: Kryptographische Schlüssel DÜRFEN NICHT für mehr als genau einen Zweck eingesetzt
[[O.Cryp_4]]: Kryptographische Schlüssel DÜRFEN NICHT für mehr als genau einen Zweck eingesetzt
werden.
werden.


O.Cryp_5: Die Stärke der kryptographischen Schlüssel MUSS dem aktuellen Stand der Technik
[[O.Cryp_5]]: Die Stärke der kryptographischen Schlüssel MUSS dem aktuellen Stand der Technik
entsprechen (siehe [TR02102-1]).
entsprechen (siehe [TR02102-1]).


== Authentifizierung ==
== Authentifizierung ==


O.Auth_1: Der Hersteller MUSS ein Konzept zur Authentifizierung (Zwei-Faktor-basiert),
[[O.Auth_1]]: Der Hersteller MUSS ein Konzept zur Authentifizierung (Zwei-Faktor-basiert),
Autorisierung (Rollenkonzept) und zum Beenden einer Anwendungssitzung
Autorisierung (Rollenkonzept) und zum Beenden einer Anwendungssitzung
dokumentieren.
dokumentieren.


O.Auth_2: Die Web-Anwendung MUSS für die Anbindung an das Hintergrundsystem eine
[[O.Auth_2]]: Die Web-Anwendung MUSS für die Anbindung an das Hintergrundsystem eine
geeignete Authentifizierung und Autorisierung unterstützen. Die effektive Durchsetzung
geeignete Authentifizierung und Autorisierung unterstützen. Die effektive Durchsetzung
dieser Mechanismen MUSS im Falle der Web-Anwendung ausschließlich im
dieser Mechanismen MUSS im Falle der Web-Anwendung ausschließlich im
Zeile 180: Zeile 177:
dass der authentifizierte Benutzer autorisiert ist auf die sensiblen Daten zuzugreifen5.
dass der authentifizierte Benutzer autorisiert ist auf die sensiblen Daten zuzugreifen5.


O.Auth_3: Jeder Authentifizierungsvorgang des Nutzers MUSS in Form einer Zwei-Faktor-
[[O.Auth_3]]: Jeder Authentifizierungsvorgang des Nutzers MUSS in Form einer Zwei-Faktor-
Authentifizierung umgesetzt werden.
Authentifizierung umgesetzt werden.


O.Auth_4: Für die Bewertung eines Authentifizierungsvorgangs SOLLEN zusätzliche Informationen
[[O.Auth_4]]: Für die Bewertung eines Authentifizierungsvorgangs SOLLEN zusätzliche Informationen
(z. B. das verwendete Endgerät, der verwendete IP-Adresse oder die Zeit des Zugriffs) mit
(z. B. das verwendete Endgerät, der verwendete IP-Adresse oder die Zeit des Zugriffs) mit
einbezogen werden.
einbezogen werden.


O.Auth_5: Dem Nutzer SOLL eine Möglichkeit gegeben werden, sich über ungewöhnliche
[[O.Auth_5]]: Dem Nutzer SOLL eine Möglichkeit gegeben werden, sich über ungewöhnliche
Anmeldevorgänge informieren zu lassen.
Anmeldevorgänge informieren zu lassen.


O.Auth_6: Die Anwendung MUSS nach einer angemessenen Zeit in der sie nicht aktiv verwendet
[[O.Auth_6]]: Die Anwendung MUSS nach einer angemessenen Zeit in der sie nicht aktiv verwendet
wurde (idle time) eine erneute Authentisierung fordern.
wurde (idle time) eine erneute Authentisierung fordern.


O.Auth_7: Die Anwendung MUSS nach einer angemessenen Zeit in der sie aktiv verwendet wurde
[[O.Auth_7]]: Die Anwendung MUSS nach einer angemessenen Zeit in der sie aktiv verwendet wurde
(active time) eine erneute Authentisierung fordern.
(active time) eine erneute Authentisierung fordern.


O.Auth_8: Die Authentisierungsdaten DÜRFEN NICHT ohne eine ausreichende Authentifizierung
[[O.Auth_8]]: Die Authentisierungsdaten DÜRFEN NICHT ohne eine ausreichende Authentifizierung
des Nutzers geändert werden.
des Nutzers geändert werden.


O.Auth_9: Bei Änderung der Zugangsparameter SOLL der Nutzer über die zuletzt hinterlegten,
[[O.Auth_9]]: Bei Änderung der Zugangsparameter SOLL der Nutzer über die zuletzt hinterlegten,
gültigen Kontaktdaten über die Änderung informiert werden. Dem Nutzer SOLL über
gültigen Kontaktdaten über die Änderung informiert werden. Dem Nutzer SOLL über
diesem Weg eine Möglichkeit geboten werden, die gemeldete Änderung zu sperren und
diesem Weg eine Möglichkeit geboten werden, die gemeldete Änderung zu sperren und
nach entsprechender Authentifizierung neue Zugangsparameter zu setzen.
nach entsprechender Authentifizierung neue Zugangsparameter zu setzen.


O.Auth_10: Der Nutzer MUSS in den Nutzungsbedingungen der Web-Anwendung auf das Restrisiko
[[O.Auth_10]]: Der Nutzer MUSS in den Nutzungsbedingungen der Web-Anwendung auf das Restrisiko
hingewiesen werden, welches mit der Speicherung der Login-Credentials im Web-
hingewiesen werden, welches mit der Speicherung der Login-Credentials im Web-
Browser oder auch einem anderen externen Programm für einen komfortableren
Browser oder auch einem anderen externen Programm für einen komfortableren
Anmeldevorgang verbunden ist.
Anmeldevorgang verbunden ist.


O.Auth_11: Für die Nutzer-Authentifizierung in der Anwendungssitzung KANN der zweite Faktor
[[O.Auth_11]]: Für die Nutzer-Authentifizierung in der Anwendungssitzung KANN der zweite Faktor
vom Hintergrundsystem-System erzeugt werden.
vom Hintergrundsystem-System erzeugt werden.


=== Authentifizierung über Passwort ===
=== Authentifizierung über Passwort ===


O.Pass_1: Bei einer Authentifizierung mittels Benutzername und Passwort MÜSSEN starke
[[O.Pass_1]]: Bei einer Authentifizierung mittels Benutzername und Passwort MÜSSEN starke
Passwortrichtlinien existieren. Diese SOLLEN sich am aktuellen Stand gängiger Best-
Passwortrichtlinien existieren. Diese SOLLEN sich am aktuellen Stand gängiger Best-
Practices orientieren.
Practices orientieren.


O.Pass_2: Für die Authentifizierung mittels Benutzername und Passwort KANN die Stärke des
[[O.Pass_2]]: Für die Authentifizierung mittels Benutzername und Passwort KANN die Stärke des
verwendeten Passworts dem Nutzer angezeigt werden. Informationen über die Stärke
verwendeten Passworts dem Nutzer angezeigt werden. Informationen über die Stärke
des gewählten Passworts DÜRFEN NICHT in der Web-Anwendung oder im
des gewählten Passworts DÜRFEN NICHT in der Web-Anwendung oder im
Hintergrundsystem persistiert werden.
Hintergrundsystem persistiert werden.


O.Pass_3: Der Nutzer MUSS die Möglichkeit haben, sein Passwort zu ändern.
[[O.Pass_3]]: Der Nutzer MUSS die Möglichkeit haben, sein Passwort zu ändern.


O.Pass_4: Das Ändern und Zurücksetzen von Passwörtern MUSS protokolliert werden
[[O.Pass_4]]: Das Ändern und Zurücksetzen von Passwörtern MUSS protokolliert werden


=== Zustandsbezogene Authentifzierungsmaßnahmen ===
=== Zustandsbezogene Authentifzierungsmaßnahmen ===


O.Sess_1: Das Session-Handling SOLL mittels sicherer Frameworks realisiert werden.
[[O.Sess_1]]: Das Session-Handling SOLL mittels sicherer Frameworks realisiert werden.


O.Sess_2: Der Session-Identifier SOLL in einem sicheren Speicherbereich liegen.
[[O.Sess_2]]: Der Session-Identifier SOLL in einem sicheren Speicherbereich liegen.


O.Sess_3: Die Anwendung MUSS es dem Nutzer ermöglichen einen oder alle zuvor ausgestellten
[[O.Sess_3]]: Die Anwendung MUSS es dem Nutzer ermöglichen einen oder alle zuvor ausgestellten
Session-Identifier ungültig zu machen.
Session-Identifier ungültig zu machen.


O.Sess_4: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den Session-Identifier
[[O.Sess_4]]: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den Session-Identifier
sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive
sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive
Beenden durch den Benutzer (log-out), als auch für das automatische Beenden durch die
Beenden durch den Benutzer (log-out), als auch für das automatische Beenden durch die
Zeile 243: Zeile 240:
=== Zustandslose Authentifzierungsmaßnahmen ===
=== Zustandslose Authentifzierungsmaßnahmen ===


O.Tokn_1: Das Authentifizierungstoken MUSS in einem sicheren Speicherbereich liegen (vgl.
[[O.Tokn_1]]: Das Authentifizierungstoken MUSS in einem sicheren Speicherbereich liegen (vgl.
O.Sess_2).
O.Sess_2).


O.Tokn_2: Es DÜRFEN KEINE sensiblen Daten in ein Authentifizierungstoken eingebettet werden.
[[O.Tokn_2]]: Es DÜRFEN KEINE sensiblen Daten in ein Authentifizierungstoken eingebettet werden.


O.Tokn_3: Ein Authentifizierungstoken MUSS ausschließlich die von der Web-Anwendung
[[O.Tokn_3]]: Ein Authentifizierungstoken MUSS ausschließlich die von der Web-Anwendung
erwarteten Felder enthalten.
erwarteten Felder enthalten.


O.Tokn_4: Die Web-Anwendung MUSS es dem Nutzer ermöglichen ein oder alle zuvor ausge-
[[O.Tokn_4]]: Die Web-Anwendung MUSS es dem Nutzer ermöglichen ein oder alle zuvor ausge-
stellten Authentifizierungstoken ungültig zu machen.
stellten Authentifizierungstoken ungültig zu machen.


O.Tokn_5: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den
[[O.Tokn_5]]: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den
Authentifizierungstoken sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive Beenden durch den Benutzer (log-out), als auch für das
Authentifizierungstoken sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive Beenden durch den Benutzer (log-out), als auch für das
automatische Beenden durch die Anwendung (vgl. O.Auth_8 und O.Auth_9).
automatische Beenden durch die Anwendung (vgl. O.Auth_8 und O.Auth_9).
Zeile 260: Zeile 257:
== Datensicherheit ==
== Datensicherheit ==


O.Data_1: Die Voreinstellung der Web-Anwendung MUSS die maximale Sicherheit bieten.
[[O.Data_1]]: Die Voreinstellung der Web-Anwendung MUSS die maximale Sicherheit bieten.


O.Data_2: Exportiert der Nutzer sensible Daten unverschlüsselt MUSS der Nutzer durch die Web-
[[O.Data_2]]: Exportiert der Nutzer sensible Daten unverschlüsselt MUSS der Nutzer durch die Web-
Anwendung darauf aufmerksam gemacht werden, dass der Nutzer selbst die
Anwendung darauf aufmerksam gemacht werden, dass der Nutzer selbst die
Verantwortung für die Datensicherheit dieser exportierten Daten übernimmt.
Verantwortung für die Datensicherheit dieser exportierten Daten übernimmt.


O.Data_3: Die Web-Anwendung DARF Ressourcen, die einen Zugriff auf sensible Daten
[[O.Data_3]]: Die Web-Anwendung DARF Ressourcen, die einen Zugriff auf sensible Daten
ermöglichen, gegenüber Dritten NICHT verfügbar machen.
ermöglichen, gegenüber Dritten NICHT verfügbar machen.


O.Data_4: Alle erhobenen sensiblen Daten DÜRFEN NICHT über die Dauer ihrer jeweiligen
[[O.Data_4]]: Alle erhobenen sensiblen Daten DÜRFEN NICHT über die Dauer ihrer jeweiligen
Verwendung hinaus in der Web-Anwendung gehalten werden.
Verwendung hinaus in der Web-Anwendung gehalten werden.


O.Data_5: Die Web-Anwendung MUSS die Grundsätze der Datensparsamkeit und Zweckbindung
[[O.Data_5]]: Die Web-Anwendung MUSS die Grundsätze der Datensparsamkeit und Zweckbindung
berücksichtigen.
berücksichtigen.


O.Data_6: Die Speicherung und Verarbeitung von sensiblen Daten SOLL im Hintergrundsystem
[[O.Data_6]]: Die Speicherung und Verarbeitung von sensiblen Daten SOLL im Hintergrundsystem
erfolgen.
erfolgen.


O.Data_7: Bei der Verwendung von Aufnahmegeräten (z. B. Kamera) MÜSSEN sämtliche Metadaten
[[O.Data_7]]: Bei der Verwendung von Aufnahmegeräten (z. B. Kamera) MÜSSEN sämtliche Metadaten
mit Datenschutz-Relevanz, wie etwa Rückschlüsse auf die GPS-Koordinaten des
mit Datenschutz-Relevanz, wie etwa Rückschlüsse auf die GPS-Koordinaten des
Aufnahmeorts, eingesetzte Hardware etc., entfernt werden.
Aufnahmeorts, eingesetzte Hardware etc., entfernt werden.


O.Data_8: Bei der Erhebung von sensiblen Daten durch die Verwendung von Aufnahmegeräten (z.
[[O.Data_8]]: Bei der Erhebung von sensiblen Daten durch die Verwendung von Aufnahmegeräten (z.
B. Kamera), MUSS vorgebeugt werden, dass andere Anwendungen darauf Zugriff
B. Kamera), MUSS vorgebeugt werden, dass andere Anwendungen darauf Zugriff
erlangen könnten, etwa über eine Mediengalerie.
erlangen könnten, etwa über eine Mediengalerie.


O.Data_9: Bei der Eingabe sensibler Daten über die Tastatur SOLL die Web-Anwendung
[[O.Data_9]]: Bei der Eingabe sensibler Daten über die Tastatur SOLL die Web-Anwendung
unterbinden, dass Aufzeichnungen für Dritte erkennbar werden.
unterbinden, dass Aufzeichnungen für Dritte erkennbar werden.


O.Data_10: Sensible Daten DÜRFEN NICHT aus der Komponente, auf der sie erzeugt wurden,
[[O.Data_10]]: Sensible Daten DÜRFEN NICHT aus der Komponente, auf der sie erzeugt wurden,
exportiert werden.
exportiert werden.


O.Data_11: Durch die Web-Anwendung kann der Zugriff für Dritte und die Speicherung des
[[O.Data_11]]: Durch die Web-Anwendung kann der Zugriff für Dritte und die Speicherung des
Bildschirms (z. B. Screenshots und Anzeigen für das App-Switching) nicht unterbunden
Bildschirms (z. B. Screenshots und Anzeigen für das App-Switching) nicht unterbunden
werden. Über die Nutzungsbedingungen MUSS der Nutzer darüber informiert werden,
werden. Über die Nutzungsbedingungen MUSS der Nutzer darüber informiert werden,
Zeile 298: Zeile 295:
kompromittiert werden können.
kompromittiert werden können.


O.Data_12: Über die Nutzungsbedingungen der Web-Anwendung MUSS der Nutzer über das Risiko
[[O.Data_12]]: Über die Nutzungsbedingungen der Web-Anwendung MUSS der Nutzer über das Risiko
informiert werden, welches damit verbunden ist, dass im gesperrten Zustand des
informiert werden, welches damit verbunden ist, dass im gesperrten Zustand des
Endgeräts die Verbindung zum Hintergrundsystem weiter geöffnet bleibt, wenn der
Endgeräts die Verbindung zum Hintergrundsystem weiter geöffnet bleibt, wenn der
Nutzer sich nicht explizit ausgeloggt hat.
Nutzer sich nicht explizit ausgeloggt hat.


O.Data_13: Die Web-Anwendung SOLL sicherstellen, dass bei ihrer Beendigung alle sensiblen Daten
[[O.Data_13]]: Die Web-Anwendung SOLL sicherstellen, dass bei ihrer Beendigung alle sensiblen Daten und anwendungsspezifischen Anmeldeinformationen im Web-Browser nicht mehr
und anwendungsspezifischen Anmeldeinformationen im Web-Browser nicht mehr
zugreifbar sind. Dies schließt insbesondere Cookies und Webstorage mit ein.
zugreifbar sind. Dies schließt insbesondere Cookies und Webstorage mit ein.


O.Data_14: Die Web-Anwendung MUSS dem Nutzer die Möglichkeit geben, dass bei endgültiger
[[O.Data_14]]: Die Web-Anwendung MUSS dem Nutzer die Möglichkeit geben, dass bei endgültiger
Beendigung der Nutzung alle sensiblen Daten und anwendungsspezifischen
Beendigung der Nutzung alle sensiblen Daten und anwendungsspezifischen
Anmeldeinformationen auch im Hintergrundsystem vollständig gelöscht werden.
Anmeldeinformationen auch im Hintergrundsystem vollständig gelöscht werden.
Zeile 316: Zeile 312:
gegeben werden alle Daten auch vor Ablauf der Verweildauer vollständig zu löschen.
gegeben werden alle Daten auch vor Ablauf der Verweildauer vollständig zu löschen.


O.Data_15: Für alle Cookies, auf die nicht mittels JavaScript zugegriffen wird, MUSS das HTTP-Only-Flag verwendet werden.
[[O.Data_15]]: Für alle Cookies, auf die nicht mittels JavaScript zugegriffen wird, MUSS das HTTP-Only-Flag verwendet werden.


O.Data_16: Für alle Cookies, die sensible Daten enthalten, MUSS das Secure-Flag gesetzt sein.
[[O.Data_16]]: Für alle Cookies, die sensible Daten enthalten, MUSS das Secure-Flag gesetzt sein.


O.Data_17: Für alle Formularfelder mit sensiblen Eingabedaten MUSS die Autocomplete-Funktion
[[O.Data_17]]: Für alle Formularfelder mit sensiblen Eingabedaten MUSS die Autocomplete-Funktion
abgeschaltet sein.
abgeschaltet sein.


O.Data_18: Im Browser persistierte Daten SOLLEN für weitere Hosts einer Domain unlesbar sein
[[O.Data_18]]: Im Browser persistierte Daten SOLLEN für weitere Hosts einer Domain unlesbar sein
(d.h. Vermeidung von Domain-Cookies).
(d.h. Vermeidung von Domain-Cookies).


== Kostenpflichtige Ressourcen ==
== Kostenpflichtige Ressourcen ==


O.Paid_1: Die Web-Anwendung MUSS für den Nutzer kenntlich machen, welche kostenpflichtigen
[[O.Paid_1]]: Die Web-Anwendung MUSS für den Nutzer kenntlich machen, welche kostenpflichtigen
Leistungen (z.B. Zusatzfunktionalitäten oder Premiumzugriffe) und welche
Leistungen (z.B. Zusatzfunktionalitäten oder Premiumzugriffe) und welche
kostenpflichtigen Ressourcen (z.B. SMS, Telefonate, mobile Daten) von der Anwendung
kostenpflichtigen Ressourcen (z.B. SMS, Telefonate, mobile Daten) von der Anwendung
angeboten oder verwendet werden.
angeboten oder verwendet werden.


O.Paid_2: Die Web-Anwendung MUSS vor dem Ausführen kostenpflichtiger Leistungen das
[[O.Paid_2]]: Die Web-Anwendung MUSS vor dem Ausführen kostenpflichtiger Leistungen das
Einverständnis des Nutzers einholen.
Einverständnis des Nutzers einholen.


O.Paid_3: Die Web-Anwendung MUSS vor einer Zugriffsanforderung auf kostenpflichtige
[[O.Paid_3]]: Die Web-Anwendung MUSS vor einer Zugriffsanforderung auf kostenpflichtige
Ressourcen, das Einverständnis des Nutzers einholen.
Ressourcen, das Einverständnis des Nutzers einholen.


O.Paid_4: Die Web-Anwendung KANN für den Zugriff auf häufig verwendete, kostenpflichtige
[[O.Paid_4]]: Die Web-Anwendung KANN für den Zugriff auf häufig verwendete, kostenpflichtige
Ressourcen oder kostenpflichtige Leistungen ein dauerhaftes Einverständnis des Nutzers
Ressourcen oder kostenpflichtige Leistungen ein dauerhaftes Einverständnis des Nutzers
einholen, soweit dies dem primären Zweck der Anwendung angemessen ist.
einholen, soweit dies dem primären Zweck der Anwendung angemessen ist.


O.Paid_5: Die Web-Anwendung MUSS den Nutzer in die Lage versetzen, zuvor erteilte
[[O.Paid_5]]: Die Web-Anwendung MUSS den Nutzer in die Lage versetzen, zuvor erteilte
Einverständnisse zurückzuziehen.
Einverständnisse zurückzuziehen.


O.Paid_6: Die Anwendung SOLL die Transaktionshistorie von kostenpflichtigen Leistungen im
[[O.Paid_6]]: Die Anwendung SOLL die Transaktionshistorie von kostenpflichtigen Leistungen im
Hintergrundsystem ablegen. Die Transaktionshistorie, einschließlich der Metadaten,
Hintergrundsystem ablegen. Die Transaktionshistorie, einschließlich der Metadaten,
MUSS als sensibles Datum gemäß O.Purp_8 behandelt werden.
MUSS als sensibles Datum gemäß O.Purp_8 behandelt werden.


O.Paid_7: Falls die Web-Anwendung kostenpflichtige Funktionen anbietet, MUSS der Hersteller
[[O.Paid_7]]: Falls die Web-Anwendung kostenpflichtige Funktionen anbietet, MUSS der Hersteller
ein Konzept vorlegen, welches vorbeugt, dass Dritte die Zahlungsströme zur Nutzung
ein Konzept vorlegen, welches vorbeugt, dass Dritte die Zahlungsströme zur Nutzung
von Anwendungsfunktionen zurückverfolgen können.
von Anwendungsfunktionen zurückverfolgen können.


O.Paid_8: Die Web-Anwendung MUSS dem Nutzer eine Übersicht der entstandenen Kosten
[[O.Paid_8]]: Die Web-Anwendung MUSS dem Nutzer eine Übersicht der entstandenen Kosten
anbieten. Falls die Kosten aufgrund einzelner Zugriffe erfolgt sind, MUSS die
anbieten. Falls die Kosten aufgrund einzelner Zugriffe erfolgt sind, MUSS die
Anwendung einen Überblick der Zugriffe aufführen.
Anwendung einen Überblick der Zugriffe aufführen.


O.Paid_9: Die Validierung von getätigten Bezahlvorgängen MUSS im Hintergrundsystem
[[O.Paid_9]]: Die Validierung von getätigten Bezahlvorgängen MUSS im Hintergrundsystem
vorgenommen werden.
vorgenommen werden.


O.Paid_10: Zahlverfahren von Drittanbietern MÜSSEN die Anforderungen an Drittanbieter-
[[O.Paid_10]]: Zahlverfahren von Drittanbietern MÜSSEN die Anforderungen an Drittanbieter-
Software erfüllen (vgl. Kapitel 3.1.4).
Software erfüllen (vgl. Kapitel 3.1.4).


== Netzwerkkommunikation ==
== Netzwerkkommunikation ==


O.Ntwk_1: Jegliche Netzwerkkommunikation der Web-Anwendung MUSS durchgängig mit TLS
[[O.Ntwk_1]]: Jegliche Netzwerkkommunikation der Web-Anwendung MUSS durchgängig mit TLS
verschlüsselt werden.
verschlüsselt werden.


O.Ntwk_2: Die Konfiguration der TLS-Verbindungen MUSS dem aktuellen Stand der Technik
[[O.Ntwk_2]]: Die Konfiguration der TLS-Verbindungen MUSS dem aktuellen Stand der Technik
entsprechen und aktuellen Best-Practice-Empfehlungen folgen (vgl. [TR02102-2]).
entsprechen und aktuellen Best-Practice-Empfehlungen folgen (vgl. [TR02102-2]).


O.Ntwk_3: Die Web-Anwendung MUSS die Sicherheitsfunktionalität der jeweilig verwendeten
[[O.Ntwk_3]]: Die Web-Anwendung MUSS die Sicherheitsfunktionalität der jeweilig verwendeten
Betriebssystem-Plattform mit Browser verwenden, um sichere Kommunikationskanäle
Betriebssystem-Plattform mit Browser verwenden, um sichere Kommunikationskanäle
aufzubauen.
aufzubauen.


O.Ntwk_4: Die Web-Anwendung DARF Zertifikate NICHT akzeptieren, deren Zertifikatskette dem
[[O.Ntwk_4]]: Die Web-Anwendung DARF Zertifikate NICHT akzeptieren, deren Zertifikatskette dem
Hersteller nicht vertrauenswürdig erscheint [RFC7469].
Hersteller nicht vertrauenswürdig erscheint [RFC7469].


== Plattformspezifische Interaktionen ==
== Plattformspezifische Interaktionen ==


O.Plat_1: Für die Nutzung der Web-Anwendung SOLL das Endgerät über einen aktivierten
[[O.Plat_1]]: Für die Nutzung der Web-Anwendung SOLL das Endgerät über einen aktivierten
Geräteschutz (Passwort, Mustersperre, o. ä.) verfügen. Im Fall eines nicht aktivierten
Geräteschutz (Passwort, Mustersperre, o. ä.) verfügen. Im Fall eines nicht aktivierten
Geräteschutzes MUSS der Hersteller den Nutzer über die damit verbundenen Risiken
Geräteschutzes MUSS der Hersteller den Nutzer über die damit verbundenen Risiken
aufklären.
aufklären.


O.Plat_2: Die Web-Anwendung DARF Berechtigungen, die für die Erfüllung ihres primären
[[O.Plat_2]]: Die Web-Anwendung DARF Berechtigungen, die für die Erfüllung ihres primären
Zwecks nicht notwendig sind, NICHT einfordern.
Zwecks nicht notwendig sind, NICHT einfordern.


O.Plat_3: Die Web-Anwendung MUSS den Nutzer auf den rechtmäßigen Zweck der
[[O.Plat_3]]: Die Web-Anwendung MUSS den Nutzer auf den rechtmäßigen Zweck der
anzufragenden Berechtigungen und auf die Auswirkungen hinweisen, die eintreten, falls
anzufragenden Berechtigungen und auf die Auswirkungen hinweisen, die eintreten, falls
der Nutzer diese nicht gewährt.
der Nutzer diese nicht gewährt.


O.Plat_4: Die Web-Anwendung DARF KEINE sensiblen Daten in erweiterten Meldungen oder
[[O.Plat_4]]: Die Web-Anwendung DARF KEINE sensiblen Daten in erweiterten Meldungen oder
Benachrichtigungen, die nicht vom Nutzer explizit eingeschaltet wurden (siehe O.Plat_5),
Benachrichtigungen, die nicht vom Nutzer explizit eingeschaltet wurden (siehe O.Plat_5),
anzeigen.
anzeigen.


O.Plat_5: Die Web-Anwendung KANN dem Nutzer die Optionen bieten, erweiterte Meldungen
[[O.Plat_5]]: Die Web-Anwendung KANN dem Nutzer die Optionen bieten, erweiterte Meldungen
und Benachrichtigungen zum Logging bzw. zur Fehleranalyse, ggf. auch mit sensiblen
und Benachrichtigungen zum Logging bzw. zur Fehleranalyse, ggf. auch mit sensiblen
Inhalten, anzuzeigen. Bei Werkseinstellung MUSS diese deaktiviert sein.
Inhalten, anzuzeigen. Bei Werkseinstellung MUSS diese deaktiviert sein.


O.Plat_6: Die Web-Anwendung MUSS das Ausführen von JavaScript aus Quellen außerhalb der
[[O.Plat_6]]: Die Web-Anwendung MUSS das Ausführen von JavaScript aus Quellen außerhalb der
Kontrolle des Herstellers ablehnen.
Kontrolle des Herstellers ablehnen.


O.Plat_7: Die Web-Anwendung MUSS den Nutzer über das Risiko informieren, dass ggf. nach
[[O.Plat_7]]: Die Web-Anwendung MUSS den Nutzer über das Risiko informieren, dass ggf. nach
Beendigung der Web-Anwendung nutzerspezifischen Daten im Arbeitsspeicher
Beendigung der Web-Anwendung nutzerspezifischen Daten im Arbeitsspeicher
verbleiben können.
verbleiben können.


O.Plat_8: Der Nutzer MUSS über Sicherheitsmaßnahmen informiert werden, sofern diese durch
[[O.Plat_8]]: Der Nutzer MUSS über Sicherheitsmaßnahmen informiert werden, sofern diese durch
den Nutzer umsetzbar sind.
den Nutzer umsetzbar sind.


== Resilienz ==
== Resilienz ==


O.Resi_1: Die Web-Anwendung MUSS dem Nutzer barrierearme Best-Practice-Empfehlungen
[[O.Resi_1]]: Die Web-Anwendung MUSS dem Nutzer barrierearme Best-Practice-Empfehlungen
zum sicheren Umgang mit der Anwendung und ihrer Konfiguration bereitstellen.
zum sicheren Umgang mit der Anwendung und ihrer Konfiguration bereitstellen.


O.Resi_2: Die Web-Anwendung MUSS über die Nutzungsbedingungen dem Nutzer darstellen,
[[O.Resi_2]]: Die Web-Anwendung MUSS über die Nutzungsbedingungen dem Nutzer darstellen,
welche Risiken für die Daten des Nutzers bei einer Benutzung von Geräten mit Jailbreak
welche Risiken für die Daten des Nutzers bei einer Benutzung von Geräten mit Jailbreak
oder Root-Zugriff bestehen (z. B. dass diese offengelegt werden könnten).
oder Root-Zugriff bestehen (z. B. dass diese offengelegt werden könnten).

Version vom 17. April 2024, 05:09 Uhr

Anwendungszweck

O.Purp_1: Der Hersteller MUSS die rechtmäßigen Zwecke der Web-Anwendung und die Verwendung von personenbezogenen Daten offenlegen (etwa in der Beschreibung der Nutzungsbedingungen der Web-Anwendung) und den Nutzer spätestens bei der erstmaligen Nutzung der Anwendung darüber informieren.

O.Purp_2: Die Web-Anwendung DARF KEINE Daten erheben und verarbeiten, die nicht dem rechtmäßigen Zweck der Anwendung dienen.

O.Purp_3: Die Web-Anwendung MUSS vor jeglicher Erfassung oder Verarbeitung personenbe- zogener aktive und eindeutige Einwilligungserklärung des Nutzers einholen. O.Purp_4 Daten, deren Verwendung der Nutzer nicht ausdrücklich zugestimmt hat, DÜRFEN NICHT von der Web-Anwendung oder dem Hintergrundsystem erfasst oder genutzt werden.

O.Purp_5: Die Web-Anwendung MUSS ermöglichen, dass der Nutzer eine bereits erteilte Einwilligung wieder entziehen kann. Der Nutzer MUSS vor der Einwilligung über die Möglichkeit des Widerrufs und die sich daraus ergebenden Veränderungen im Verhalten der Anwendung informiert werden.

O.Purp_6: Der Hersteller MUSS ein Verzeichnis führen, welches erkennen lässt, welche Nutzer- einwilligungen vorliegen. Der nutzerspezifische Teil des Verzeichnisses MUSS für den Nutzer automatisiert einsehbar sein.

O.Purp_7: Setzt die Web-Anwendung Frameworks und Bibliotheken von Dritten ein, SOLLEN alle verwendeten Funktionen für die rechtmäßigen Zwecke der Anwendung erforderlich sein. Die Anwendung SOLL anderweitige Funktionen sicher deaktivieren. Im Falle einer geringen Nutzung SOLL abgewogen werden, ob die Nutzung im Verhältnis zur Vergrößerung der Angriffsoberfläche durch die verwendeten Frameworks und Bibliotheken steht.

O.Purp_8: Sofern es nicht für den vorgesehenen primären Zweck einer Web-Anwendung erforderlich ist, DÜRFEN sensible Daten NICHT mit Dritten geteilt werden. Die Anwendung MUSS den Nutzer über die Konsequenzen einer eventuellen Weitergabe von Anwendungsdaten vollumfänglich informieren und sein Einverständnis einholen (OPT-IN).

O.Purp_9: Die Web-Anwendung DARF sensible Daten NICHT auf dem Bildschirm darstellen, außer dies ist für den primären Zweck der Anwendung erforderlich.

Architektur

O.Arch_1: „Security“ MUSS ein fester Bestandteil des Softwareentwicklungs- und Lebenszyklus‘ für die gesamte Web-Anwendung und das Hintergrundsystem sein.

O.Arch_2: Bereits in der Designphase von Web-Anwendung und Hintergrundsystem MUSS berücksichtigt werden, dass die Anwendung in der Produktivphase sensible Daten verarbeiten wird. Die Architektur der Anwendung MUSS dafür die sichere Erhebung, Verarbeitung, Speicherung und Löschung der sensiblen Daten in einem Datenlebenszyklus abbilden.

O.Arch_3: Der Lebenszyklus von kryptographischem Schlüsselmaterial MUSS einer ausgearbeiteten Richtlinie folgen, die Eigenschaften wie die Zufallszahlenquelle, detaillierte Angaben zur Aufgabentrennung von Schlüsseln, Ablauf von Schlüsselzertifikaten, Integritätssicherung durch Hash-Algorithmen etc., umfasst. Die Richtlinie SOLL auf anerkannten Standards wie [TR02102-2] und [NIST80057] basieren.

O.Arch_4: Backups und Cloud-Backups DÜRFEN KEINE sensiblen Daten im Klartext beinhalten. Die Web-Anwendung muss daher so gestaltet sein, dass sensible Daten auch durch den Browser nicht etwa in dessen Cache persistiert werden.

O.Arch_5: Nutzt die Web-Anwendung Frameworks oder Bibliotheken von Dritten, MUSS der Hersteller dem Nutzer Informationen über den Nutzungsumfang und die eingesetzten Sicherheitsmechanismen klar darstellen. Die Anwendung MUSS sicherstellen, dass diese Funktionen in sicherer Weise genutzt werden. Die Anwendung MUSS darüber hinaus sicherstellen, dass ungenutzte Funktionen durch Dritte nicht aktiviert werden können.

O.Arch_6: Die Architektur der Web-Anwendung SOLL einem minimalistischen Ansatz folgen und mit einer serverseitig lokalisierten Verarbeitungslogik realisiert sein, d.h. es SOLLEN keine komplexen aktiven Inhalte (Java Applets, ActiveX-Plugin, o.ä.) verwendet werden.

O.Arch_7: Der Hersteller MUSS dem Nutzer eine barrierearme Möglichkeit bereitstellen, um Sicherheitsprobleme zu melden. Die Kommunikation SOLL über einen verschlüsselten Kanal stattfinden.

O.Arch_8: Das Hintergrundsystem MUSS beim Start auf die Aktualität des genutzten Web- Browsers prüfen. Wenn die Installation eines sicherheitsrelevanten Updates noch nicht erfolgt ist, DARF das Hintergrundsystem KEINEN Zugriff auf sensible Daten ermöglichen.

O.Arch_9: Die Web-Anwendung SOLL HTTP-Server-Header nutzen, die dem aktuellen Stand der Technik entsprechen und die Sicherheit der Anwendung erhöhen. Dazu gehören unter anderem HTTP Strict Transport Security (HSTS), Content Security Policy (CSP) und X-Frame-Options.

Quellcode

O.Source_1: Die Anwendung MUSS Eingaben aus nicht vertrauenswürdigen Quellen vor deren Verwendung prüfen, um potenziell bösartige Werte vor der Verarbeitung herauszu- filtern.

O.Source_2: Die Anwendung MUSS eingehende und ausgehende Daten maskieren beziehungsweise von potenziell schadhaften Zeichen bereinigen oder deren Verarbeitung ablehnen.

O.Source_3: Fehlermeldungen und Benachrichtigungen DÜRFEN KEINE sensiblen Daten (z. B. User Identifier oder Session-IDs) enthalten.

O.Source_4: Potenzielle Ausnahmen im Programmablauf (Exceptions) MÜSSEN abgefangen, kontrolliert behandelt und dokumentiert werden. Technische Fehlerbeschreibungen (z.B. Stack Traces) DÜRFEN dem Nutzer NICHT angezeigt werden.

O.Source_5: Bei Ausnahmen im Programmablauf (Exceptions), mit sicherheitskritischen Auswir- kungen, SOLL die Web-Anwendung Zugriffe auf sensible Daten abbrechen und diese im Speicher sicher löschen.

O.Source_6: Alle Optionen zur Unterstützung der Entwicklung (z. B. Log-Aufrufe, Entwickler-URLs, Testmethoden etc.) MÜSSEN in der Produktiv-Version mindestens deaktiviert oder besser vollständig entfernt sein.

O.Source_7: Der Hersteller MUSS sicherstellen, dass keinerlei Überreste von Debug-Mechanismen in der Produktiv-Version verbleiben.

O.Source_8: Nutzt die Web-Anwendung URL-Weiterleitungen (URL-Redirects), MUSS diese kontrolliert erfolgen.

O.Source_9: Die Web-Anwendung MUSS Maßnahmen vorsehen, die verhindern, dass Funktiona- litäten, die nicht in der Entwicklungshoheit des Herstellers liegen, in die Web- Anwendung eingeschleust und zur Ausführung gebracht werden.

O.Source_10: Sensible Daten DÜRFEN NICHT in der URL vorkommen. Die Web-Anwendung MUSS solche Daten in HTTP Request Headern oder POST-Parametern verarbeiten.

Drittanbieter-Software

O.TrdP_1: Der Hersteller MUSS eine zentrale und vollständige Liste von Abhängigkeiten durch externe Software, Bibliotheken und Frameworks führen.

O.TrdP_2: Externe Software, Bibliotheken und Frameworks MÜSSEN in der neusten oder der ihr vorhergehenden, verfügbaren „Stable“ -Version verwendet werden.

O.TrdP_3: Externe Bibliotheken und Frameworks MÜSSEN durch den Hersteller regelmäßig auf Schwachstellen überprüft werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen, das bei Bekanntwerden von Schwachstellen anhand der Kritikalität eine geduldete Weiternutzung für die Anwendung festlegt. Nachdem die Übergangsfrist (Grace Period) abgelaufen ist, DÜRFEN die betroffenen Funktionen aus Bibliotheken und Frameworks bei bekannten Schwachstellen NICHT eingesetzt werden.

O.TrdP_4: Sicherheitsupdates für externe Bibliotheken und Frameworks MÜSSEN zeitnah zur Verfügung gestellt werden. Der Hersteller MUSS ein Sicherheitskonzept vorlegen, das anhand der Kritikalität ausnutzbarer Schwachstellen die geduldete Weiternutzung für die Web-Anwendung, bzw. das Hintergrundsystem festlegt. Nachdem die Übergangsfrist (Grace Period) abgelaufen ist, DARF die Web-Anwendung NICHT mehr zur Benutzung angeboten werden.

O.TrdP_5: Vor der Verwendung von externen Bibliotheken und Frameworks MUSS deren Quelle auf Vertrauenswürdigkeit geprüft werden. Die Web-Anwendung DARF externe Libraries aus nicht-vertrauenswürdigen Quellen NICHT nachladen.

O.TrdP_6: Über Drittanbieter-Software eingehende Daten SOLLEN validiert werden.

O.TrdP_7: Drittanbieter-Software, die nicht länger vom Hersteller oder Entwickler gewartet wird, DARF NICHT verwendet werden.

Kryptographische Umsetzung

O.Cryp_1: Beim Einsatz von Verschlüsselung in der Web-Anwendung DÜRFEN KEINE fest einprogrammierten geheimen, bzw. privaten Schlüssel eingesetzt werden.

O.Cryp_2: Die Anwendung MUSS auf bewährte Implementierungen zur Umsetzung krypto- graphischer Primitive und Protokolle zurückgreifen (vgl. [TR02102-2]).

O.Cryp_3: Die Wahl kryptographischer Primitive MUSS passend zum Anwendungsfall sein und dem aktuellen Stand der Technik (siehe [TR02102-1]) entsprechen.

O.Cryp_4: Kryptographische Schlüssel DÜRFEN NICHT für mehr als genau einen Zweck eingesetzt werden.

O.Cryp_5: Die Stärke der kryptographischen Schlüssel MUSS dem aktuellen Stand der Technik entsprechen (siehe [TR02102-1]).

Authentifizierung

O.Auth_1: Der Hersteller MUSS ein Konzept zur Authentifizierung (Zwei-Faktor-basiert), Autorisierung (Rollenkonzept) und zum Beenden einer Anwendungssitzung dokumentieren.

O.Auth_2: Die Web-Anwendung MUSS für die Anbindung an das Hintergrundsystem eine geeignete Authentifizierung und Autorisierung unterstützen. Die effektive Durchsetzung dieser Mechanismen MUSS im Falle der Web-Anwendung ausschließlich im Hintergrundsystem erfolgen. Insbesondere stellt der Autorisierungsmechanismus sicher, dass der authentifizierte Benutzer autorisiert ist auf die sensiblen Daten zuzugreifen5.

O.Auth_3: Jeder Authentifizierungsvorgang des Nutzers MUSS in Form einer Zwei-Faktor- Authentifizierung umgesetzt werden.

O.Auth_4: Für die Bewertung eines Authentifizierungsvorgangs SOLLEN zusätzliche Informationen (z. B. das verwendete Endgerät, der verwendete IP-Adresse oder die Zeit des Zugriffs) mit einbezogen werden.

O.Auth_5: Dem Nutzer SOLL eine Möglichkeit gegeben werden, sich über ungewöhnliche Anmeldevorgänge informieren zu lassen.

O.Auth_6: Die Anwendung MUSS nach einer angemessenen Zeit in der sie nicht aktiv verwendet wurde (idle time) eine erneute Authentisierung fordern.

O.Auth_7: Die Anwendung MUSS nach einer angemessenen Zeit in der sie aktiv verwendet wurde (active time) eine erneute Authentisierung fordern.

O.Auth_8: Die Authentisierungsdaten DÜRFEN NICHT ohne eine ausreichende Authentifizierung des Nutzers geändert werden.

O.Auth_9: Bei Änderung der Zugangsparameter SOLL der Nutzer über die zuletzt hinterlegten, gültigen Kontaktdaten über die Änderung informiert werden. Dem Nutzer SOLL über diesem Weg eine Möglichkeit geboten werden, die gemeldete Änderung zu sperren und nach entsprechender Authentifizierung neue Zugangsparameter zu setzen.

O.Auth_10: Der Nutzer MUSS in den Nutzungsbedingungen der Web-Anwendung auf das Restrisiko hingewiesen werden, welches mit der Speicherung der Login-Credentials im Web- Browser oder auch einem anderen externen Programm für einen komfortableren Anmeldevorgang verbunden ist.

O.Auth_11: Für die Nutzer-Authentifizierung in der Anwendungssitzung KANN der zweite Faktor vom Hintergrundsystem-System erzeugt werden.

Authentifizierung über Passwort

O.Pass_1: Bei einer Authentifizierung mittels Benutzername und Passwort MÜSSEN starke Passwortrichtlinien existieren. Diese SOLLEN sich am aktuellen Stand gängiger Best- Practices orientieren.

O.Pass_2: Für die Authentifizierung mittels Benutzername und Passwort KANN die Stärke des verwendeten Passworts dem Nutzer angezeigt werden. Informationen über die Stärke des gewählten Passworts DÜRFEN NICHT in der Web-Anwendung oder im Hintergrundsystem persistiert werden.

O.Pass_3: Der Nutzer MUSS die Möglichkeit haben, sein Passwort zu ändern.

O.Pass_4: Das Ändern und Zurücksetzen von Passwörtern MUSS protokolliert werden

Zustandsbezogene Authentifzierungsmaßnahmen

O.Sess_1: Das Session-Handling SOLL mittels sicherer Frameworks realisiert werden.

O.Sess_2: Der Session-Identifier SOLL in einem sicheren Speicherbereich liegen.

O.Sess_3: Die Anwendung MUSS es dem Nutzer ermöglichen einen oder alle zuvor ausgestellten Session-Identifier ungültig zu machen.

O.Sess_4: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den Session-Identifier sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive Beenden durch den Benutzer (log-out), als auch für das automatische Beenden durch die Anwendung (vgl. O.Auth_6 und O.Auth_7).

Zustandslose Authentifzierungsmaßnahmen

O.Tokn_1: Das Authentifizierungstoken MUSS in einem sicheren Speicherbereich liegen (vgl. O.Sess_2).

O.Tokn_2: Es DÜRFEN KEINE sensiblen Daten in ein Authentifizierungstoken eingebettet werden.

O.Tokn_3: Ein Authentifizierungstoken MUSS ausschließlich die von der Web-Anwendung erwarteten Felder enthalten.

O.Tokn_4: Die Web-Anwendung MUSS es dem Nutzer ermöglichen ein oder alle zuvor ausge- stellten Authentifizierungstoken ungültig zu machen.

O.Tokn_5: Wird eine Anwendungssitzung beendet, MUSS die Anwendung den Authentifizierungstoken sicher löschen und das Hintergrundsystem informieren. Dies gilt sowohl für das aktive Beenden durch den Benutzer (log-out), als auch für das automatische Beenden durch die Anwendung (vgl. O.Auth_8 und O.Auth_9).

Datensicherheit

O.Data_1: Die Voreinstellung der Web-Anwendung MUSS die maximale Sicherheit bieten.

O.Data_2: Exportiert der Nutzer sensible Daten unverschlüsselt MUSS der Nutzer durch die Web- Anwendung darauf aufmerksam gemacht werden, dass der Nutzer selbst die Verantwortung für die Datensicherheit dieser exportierten Daten übernimmt.

O.Data_3: Die Web-Anwendung DARF Ressourcen, die einen Zugriff auf sensible Daten ermöglichen, gegenüber Dritten NICHT verfügbar machen.

O.Data_4: Alle erhobenen sensiblen Daten DÜRFEN NICHT über die Dauer ihrer jeweiligen Verwendung hinaus in der Web-Anwendung gehalten werden.

O.Data_5: Die Web-Anwendung MUSS die Grundsätze der Datensparsamkeit und Zweckbindung berücksichtigen.

O.Data_6: Die Speicherung und Verarbeitung von sensiblen Daten SOLL im Hintergrundsystem erfolgen.

O.Data_7: Bei der Verwendung von Aufnahmegeräten (z. B. Kamera) MÜSSEN sämtliche Metadaten mit Datenschutz-Relevanz, wie etwa Rückschlüsse auf die GPS-Koordinaten des Aufnahmeorts, eingesetzte Hardware etc., entfernt werden.

O.Data_8: Bei der Erhebung von sensiblen Daten durch die Verwendung von Aufnahmegeräten (z. B. Kamera), MUSS vorgebeugt werden, dass andere Anwendungen darauf Zugriff erlangen könnten, etwa über eine Mediengalerie.

O.Data_9: Bei der Eingabe sensibler Daten über die Tastatur SOLL die Web-Anwendung unterbinden, dass Aufzeichnungen für Dritte erkennbar werden.

O.Data_10: Sensible Daten DÜRFEN NICHT aus der Komponente, auf der sie erzeugt wurden, exportiert werden.

O.Data_11: Durch die Web-Anwendung kann der Zugriff für Dritte und die Speicherung des Bildschirms (z. B. Screenshots und Anzeigen für das App-Switching) nicht unterbunden werden. Über die Nutzungsbedingungen MUSS der Nutzer darüber informiert werden, dass sensible Daten über Screenshots oder Anzeigen für das App-Switching kompromittiert werden können.

O.Data_12: Über die Nutzungsbedingungen der Web-Anwendung MUSS der Nutzer über das Risiko informiert werden, welches damit verbunden ist, dass im gesperrten Zustand des Endgeräts die Verbindung zum Hintergrundsystem weiter geöffnet bleibt, wenn der Nutzer sich nicht explizit ausgeloggt hat.

O.Data_13: Die Web-Anwendung SOLL sicherstellen, dass bei ihrer Beendigung alle sensiblen Daten und anwendungsspezifischen Anmeldeinformationen im Web-Browser nicht mehr zugreifbar sind. Dies schließt insbesondere Cookies und Webstorage mit ein.

O.Data_14: Die Web-Anwendung MUSS dem Nutzer die Möglichkeit geben, dass bei endgültiger Beendigung der Nutzung alle sensiblen Daten und anwendungsspezifischen Anmeldeinformationen auch im Hintergrundsystem vollständig gelöscht werden. Entscheidet sich der Nutzer, die Daten im Hintergrundsystem nicht zu löschen, MUSS eine für den primären Zweck angemessene maximale Verweildauer definiert sein. Der Nutzer MUSS über die Verweildauer informiert werden. Nach Ablauf der maximalen Verweildauer MÜSSEN alle sensiblen Daten und anwendungsspezifischen Anmeldeinformationen vollständig gelöscht werden. Dem Nutzer MUSS die Möglichkeit gegeben werden alle Daten auch vor Ablauf der Verweildauer vollständig zu löschen.

O.Data_15: Für alle Cookies, auf die nicht mittels JavaScript zugegriffen wird, MUSS das HTTP-Only-Flag verwendet werden.

O.Data_16: Für alle Cookies, die sensible Daten enthalten, MUSS das Secure-Flag gesetzt sein.

O.Data_17: Für alle Formularfelder mit sensiblen Eingabedaten MUSS die Autocomplete-Funktion abgeschaltet sein.

O.Data_18: Im Browser persistierte Daten SOLLEN für weitere Hosts einer Domain unlesbar sein (d.h. Vermeidung von Domain-Cookies).

Kostenpflichtige Ressourcen

O.Paid_1: Die Web-Anwendung MUSS für den Nutzer kenntlich machen, welche kostenpflichtigen Leistungen (z.B. Zusatzfunktionalitäten oder Premiumzugriffe) und welche kostenpflichtigen Ressourcen (z.B. SMS, Telefonate, mobile Daten) von der Anwendung angeboten oder verwendet werden.

O.Paid_2: Die Web-Anwendung MUSS vor dem Ausführen kostenpflichtiger Leistungen das Einverständnis des Nutzers einholen.

O.Paid_3: Die Web-Anwendung MUSS vor einer Zugriffsanforderung auf kostenpflichtige Ressourcen, das Einverständnis des Nutzers einholen.

O.Paid_4: Die Web-Anwendung KANN für den Zugriff auf häufig verwendete, kostenpflichtige Ressourcen oder kostenpflichtige Leistungen ein dauerhaftes Einverständnis des Nutzers einholen, soweit dies dem primären Zweck der Anwendung angemessen ist.

O.Paid_5: Die Web-Anwendung MUSS den Nutzer in die Lage versetzen, zuvor erteilte Einverständnisse zurückzuziehen.

O.Paid_6: Die Anwendung SOLL die Transaktionshistorie von kostenpflichtigen Leistungen im Hintergrundsystem ablegen. Die Transaktionshistorie, einschließlich der Metadaten, MUSS als sensibles Datum gemäß O.Purp_8 behandelt werden.

O.Paid_7: Falls die Web-Anwendung kostenpflichtige Funktionen anbietet, MUSS der Hersteller ein Konzept vorlegen, welches vorbeugt, dass Dritte die Zahlungsströme zur Nutzung von Anwendungsfunktionen zurückverfolgen können.

O.Paid_8: Die Web-Anwendung MUSS dem Nutzer eine Übersicht der entstandenen Kosten anbieten. Falls die Kosten aufgrund einzelner Zugriffe erfolgt sind, MUSS die Anwendung einen Überblick der Zugriffe aufführen.

O.Paid_9: Die Validierung von getätigten Bezahlvorgängen MUSS im Hintergrundsystem vorgenommen werden.

O.Paid_10: Zahlverfahren von Drittanbietern MÜSSEN die Anforderungen an Drittanbieter- Software erfüllen (vgl. Kapitel 3.1.4).

Netzwerkkommunikation

O.Ntwk_1: Jegliche Netzwerkkommunikation der Web-Anwendung MUSS durchgängig mit TLS verschlüsselt werden.

O.Ntwk_2: Die Konfiguration der TLS-Verbindungen MUSS dem aktuellen Stand der Technik entsprechen und aktuellen Best-Practice-Empfehlungen folgen (vgl. [TR02102-2]).

O.Ntwk_3: Die Web-Anwendung MUSS die Sicherheitsfunktionalität der jeweilig verwendeten Betriebssystem-Plattform mit Browser verwenden, um sichere Kommunikationskanäle aufzubauen.

O.Ntwk_4: Die Web-Anwendung DARF Zertifikate NICHT akzeptieren, deren Zertifikatskette dem Hersteller nicht vertrauenswürdig erscheint [RFC7469].

Plattformspezifische Interaktionen

O.Plat_1: Für die Nutzung der Web-Anwendung SOLL das Endgerät über einen aktivierten Geräteschutz (Passwort, Mustersperre, o. ä.) verfügen. Im Fall eines nicht aktivierten Geräteschutzes MUSS der Hersteller den Nutzer über die damit verbundenen Risiken aufklären.

O.Plat_2: Die Web-Anwendung DARF Berechtigungen, die für die Erfüllung ihres primären Zwecks nicht notwendig sind, NICHT einfordern.

O.Plat_3: Die Web-Anwendung MUSS den Nutzer auf den rechtmäßigen Zweck der anzufragenden Berechtigungen und auf die Auswirkungen hinweisen, die eintreten, falls der Nutzer diese nicht gewährt.

O.Plat_4: Die Web-Anwendung DARF KEINE sensiblen Daten in erweiterten Meldungen oder Benachrichtigungen, die nicht vom Nutzer explizit eingeschaltet wurden (siehe O.Plat_5), anzeigen.

O.Plat_5: Die Web-Anwendung KANN dem Nutzer die Optionen bieten, erweiterte Meldungen und Benachrichtigungen zum Logging bzw. zur Fehleranalyse, ggf. auch mit sensiblen Inhalten, anzuzeigen. Bei Werkseinstellung MUSS diese deaktiviert sein.

O.Plat_6: Die Web-Anwendung MUSS das Ausführen von JavaScript aus Quellen außerhalb der Kontrolle des Herstellers ablehnen.

O.Plat_7: Die Web-Anwendung MUSS den Nutzer über das Risiko informieren, dass ggf. nach Beendigung der Web-Anwendung nutzerspezifischen Daten im Arbeitsspeicher verbleiben können.

O.Plat_8: Der Nutzer MUSS über Sicherheitsmaßnahmen informiert werden, sofern diese durch den Nutzer umsetzbar sind.

Resilienz

O.Resi_1: Die Web-Anwendung MUSS dem Nutzer barrierearme Best-Practice-Empfehlungen zum sicheren Umgang mit der Anwendung und ihrer Konfiguration bereitstellen.

O.Resi_2: Die Web-Anwendung MUSS über die Nutzungsbedingungen dem Nutzer darstellen, welche Risiken für die Daten des Nutzers bei einer Benutzung von Geräten mit Jailbreak oder Root-Zugriff bestehen (z. B. dass diese offengelegt werden könnten).