{
  "class": "BSI-Stand-der-Technik-Kernel",
  "controls": [
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.1",
      "parts": [
        {
          "id": "KONF.12.1.1_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "die automatische Validierung des Zertifikates"
            },
            {
              "name": "result_specification",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "einschließlich der vollständigen Zertifikatskette"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "aktivieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webbrowser SOLLTE die automatische Validierung des Zertifikates einschließlich der vollständigen Zertifikatskette aktivieren."
        },
        {
          "id": "KONF.12.1.1_gdn",
          "name": "guidance",
          "prose": "Zertifikatsprüfung (Certificate Validation) ist eine Funktion, bei der ein Browser das digitale Zertifikat einer Webseite vor dem Verbindungsaufbau verifiziert. Dabei wird sichergestellt, dass das Zertifikat von einer vertrauenswürdigen Zertifizierungsstelle (CA - Certificate Authority) ausgestellt, gültig und nicht abgelaufen oder widerrufen ist. Dabei wird die vollständige Zertifikatskette, einschließlich des Root-Zertifikates verifiziert.  Ist das Zertifikat ungültig, so wird der Aufruf der Seite blockiert. Die korrekte Implementierung dieses Prozesses kann die Vertraulichkeit und Integrität der übertragenen Daten gewährleisten und schützt vor Man-in-the-Middle-Angriffen, bei denen Angreifer versuchen, den Datenverkehr abzufangen. Zur Umsetzung dieser Anforderung können Institutionen die zentrale Konfiguration von Browsern über Gruppenrichtlinien (Group Policies) oder Mobile Device Management (MDM)-Lösungen vornehmen."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "0e183da9-8671-492b-ba81-f95ff6d90a26"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung, Phishing"
        }
      ],
      "title": "Zertifikatsprüfung"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.2",
      "parts": [
        {
          "id": "KONF.12.1.2_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "aufgerufene Inhalte anhand der von der Webseite bereitgestellten Content Security Policy"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "einschränken"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webbrowser SOLLTE aufgerufene Inhalte anhand der von der Webseite bereitgestellten Content Security Policy einschränken."
        },
        {
          "id": "KONF.12.1.2_gdn",
          "name": "guidance",
          "prose": "Eine Content Security Policy (CSP) ist ein Sicherheitsmechanismus, der es einer Webseite erlaubt, dem Webbrowser mitzuteilen, von welchen Quellen er aktive Inhalte wie Skripte oder auch passive Inhalte wie Bilder laden darf. Durch diesen als Whitelist funktionierenden Ansatz kann die Institution die Angriffsfläche ihrer Webanwendungen erheblich reduzieren. Ohne eine wirksame CSP könnten Angreifer durch Cross-Site-Scripting-Angriffe (XSS) bösartige Skripte in eine Webseite einschleusen, die dann im Browser des Nutzers ausgeführt werden und beispielsweise sensible Daten auslesen oder Aktionen im Namen des Opfers durchführen könnten. Die Aktivierung einer CSP blockiert die Ausführung von nicht vertrauenswürdigen Skripten und das Laden unerwünschter Ressourcen und schützt somit die Integrität und Vertraulichkeit der Web-Sitzung."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "65287ea4-9379-4088-adb0-774fb2b9ccbb"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Content Security Policy (CSP)"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.3",
      "parts": [
        {
          "id": "KONF.12.1.3_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "aufgerufene Inhalte anhand der von der Webseite bereitgestellten Same-Origin-Policy"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "einschränken"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webbrowser SOLLTE aufgerufene Inhalte anhand der von der Webseite bereitgestellten Same-Origin-Policy einschränken."
        },
        {
          "id": "KONF.12.1.3_gdn",
          "name": "guidance",
          "prose": "Die Same-Origin-Policy, oft auch als SOP bekannt, ist ein fundamentaler Sicherheitsmechanismus im Webbrowser, der sicherstellt, dass von einer Quelle (Origin) geladene Skripte oder Dokumente nicht mit Ressourcen einer anderen Quelle interagieren können, wobei eine Quelle durch die Kombination aus Protokoll, Hostname und Port definiert wird. Sinn und Zweck dieser strikten Trennung ist der Schutz vor Datenabfluss und unbefugten Interaktionen zwischen unterschiedlichen Webanwendungen innerhalb derselben Browsersitzung. Ohne diese Isolierung könnte eine schadhafte Webseite beispielsweise vertrauliche Informationen aus einer parallel geöffneten legitimen Anwendung, wie einem Online-Banking-Portal oder internen Firmentool, auslesen und an einen Angreifer senden. Die konsequente Durchsetzung der Same-Origin-Policy durch den Browser kann solche Cross-Site-Scripting-Angriffe (XSS) effektiv unterbinden und somit die Vertraulichkeit und Integrität der vom Nutzer verarbeiteten Daten gewährleisten."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "faaaee02-ac74-49a0-af01-4e5659ea1053"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Same-Origin-Policy"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.4",
      "parts": [
        {
          "id": "KONF.12.1.4_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "aufgerufene Inhalte anhand der von der Webseite bereitgestellten Subresource Integrity-Prüfung"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "einschränken"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webbrowser SOLLTE aufgerufene Inhalte anhand der von der Webseite bereitgestellten Subresource Integrity-Prüfung einschränken."
        },
        {
          "id": "KONF.12.1.4_gdn",
          "name": "guidance",
          "prose": "Unter Subresource Integrity (SRI), zu Deutsch etwa „Integrität von Unterressourcen“, versteht man einen Sicherheitsmechanismus von Webbrowsern, der sicherstellt, dass die vom Browser geladenen Ressourcen, wie z.B. JavaScript-Dateien oder CSS-Stylesheets, die von einem Drittanbieter (etwa einem Content Delivery Network, CDN) stammen, nicht unerwünscht manipuliert wurden. Technisch geschieht dies dadurch, dass die Webseite beim Einbinden der Ressource einen kryptografischen Hashwert (oder Digest) der erwarteten Datei als Attribut (z.B. integrity=\"...\") mitsendet. Der Webbrowser kann dann nach dem Herunterladen der Ressource diesen Hashwert neu berechnen und mit dem bereitgestellten Wert vergleichen. Dies ist notwendig, da die Institution zwar die eigene Webseite kontrolliert, aber nicht die Server Dritter, von denen oft Bibliotheken geladen werden. Der Sinn und Zweck dieser Vorschrift liegt darin, die Sicherheit der Endnutzer zu erhöhen und Risiken durch manipulierte externe Inhalte zu minimieren. Ohne diese Prüfung könnte eine kompromittierte Drittanbieter-Ressource bösen Code in die Webseite der Institution einschleusen, was zu Vorfällen wie Datendiebstahl oder der Installation von Malware auf den Geräten der Nutzer führen könnte."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "0e525ce3-95e3-4095-83f7-942eb6b09c50"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Subresource Integrity-Prüfung"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.5",
      "parts": [
        {
          "id": "KONF.12.1.5_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "aufgerufene Inhalte anhand der von der Webseite bereitgestellten  HTTP Strict Transport Security (HSTS) Richtlinie"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "einschränken"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webbrowser SOLLTE aufgerufene Inhalte anhand der von der Webseite bereitgestellten  HTTP Strict Transport Security (HSTS) Richtlinie einschränken."
        },
        {
          "id": "KONF.12.1.5_gdn",
          "name": "guidance",
          "prose": "Die HTTP Strict Transport Security (HSTS) ist ein Web-Sicherheitsmechanismus – definiert in IETF RFC 6797 – der Webbrowser zwingt, eine ausschließlich verschlüsselte Verbindung (HTTPS) mit einem Webserver zu nutzen, selbst wenn der Nutzer oder eine Anwendung versucht, über das unsichere HTTP zuzugreifen. Konkret beinhaltet die HSTS-Richtlinie (oder Policy) einen speziellen HTTP-Antwort-Header, den der Webserver an den Browser sendet, der die Dauer (max-age) festlegt, für die der Browser die Verbindung nur über HTTPS herstellen soll. Die restriktive Konfiguration von Webbrowsern in Bezug auf diese Richtlinie kann die Schutzwirkung erhöhen, da so das Risiko eines Man-in-the-Middle (MITM)-Angriffs, bei dem ein Angreifer eine unverschlüsselte Verbindung abfangen oder den Nutzer auf eine unsichere Seite umleiten könnte, deutlich reduziert wird. Eine solche Konfiguration kann die Institution vor dem ungewollten Downgrade-Angriff (Downgrade Attack) schützen, bei dem die Verbindung von HTTPS auf das unsichere HTTP erzwungen wird."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "275e3b2d-5008-48ba-8d4f-72830bc8c730"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "HTTP Strict Transport Security (HSTS)"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.6",
      "parts": [
        {
          "id": "KONF.12.1.6_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webbrowser"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "JavaScript"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "einschränken"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "KANN"
            }
          ],
          "prose": "Konfiguration für Webbrowser KANN JavaScript einschränken."
        },
        {
          "id": "KONF.12.1.6_gdn",
          "name": "guidance",
          "prose": "Schadcode in JavaScript kann unbefugt auf sensible Daten zugreifen oder die angezeigte Webseite manipulieren. Da viele Webseiten JavaScript zur Ausführung benötigen, ist die Deaktivierung von JavaScript mit erheblichen funktionalen Einschränkungen verbunden. Ein möglicher Kompromiss ist, dass Administrierende oder Nutzende Ausnahmen für einzelne Seiten hinzufügen können."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "f66bbf9d-76ba-423f-b2e5-25cc775c16c6"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "erhöht"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "5"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "JavaScript"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.7",
      "links": [
        {
          "href": "#ARCH.5.1.10",
          "rel": "related"
        }
      ],
      "parts": [
        {
          "id": "KONF.12.1.7_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webanwendungen"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "eine Filterung schädlicher Webinhalte"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "aktivieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webanwendungen SOLLTE eine Filterung schädlicher Webinhalte aktivieren."
        },
        {
          "id": "KONF.12.1.7_gdn",
          "name": "guidance",
          "prose": "Anfragen an Webanwendungen könnten dazu führen, dass diese sich anders verhalten als gewollt. Mögliche Folgen sind die unzulässige Preisgabe von Informationen, die Manipulation oder der Verlust von Daten sowie Betriebsstörungen. Typische Auslöser sind SQL Injection oder Cross-Site-Scripting. Solche potenziell schädlich wirkenden Inhalte können durch eine Web Application Firewall oder durch geeignete Eingabevalidierung in der Webanwendung gefiltert werden."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "568f6977-4f5c-44a4-92c7-1e6e09cc3631"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "3"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Filtern schädlicher Webinhalte"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.8",
      "parts": [
        {
          "id": "KONF.12.1.8_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Verzeichnisdienste"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "Duplikate im Verzeichnisbaum"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "blockieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Verzeichnisdienste SOLLTE Duplikate im Verzeichnisbaum blockieren."
        },
        {
          "id": "KONF.12.1.8_gdn",
          "name": "guidance",
          "prose": "Da jedes Zugangskonto nur einmal benötigt wird können Duplikate von Attributen wie Name oder Organisationseinheit nur als Fehler oder Angriff vorkommen. In OpenLDAP kann dies beispielsweise durch Overlays realisiert werden. Dies gilt ausschließlich für Daten von Nutzenden."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "c9194ad7-5382-4810-a5b9-d4013a28f5a5"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "3"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Duplikate im Verzeichnisbaum"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.9",
      "parts": [
        {
          "id": "KONF.12.1.9_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Dateiserver"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "Dateisystem-Journaling"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "aktivieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Dateiserver SOLLTE Dateisystem-Journaling aktivieren."
        },
        {
          "id": "KONF.12.1.9_gdn",
          "name": "guidance",
          "prose": "Beim Journaling werden Änderungen an Dateien zunächst in einem speziellen Protokoll (Journal) aufgezeichnet, bevor sie tatsächlich geschrieben werden, um Datenintegrität und Konsistenz sicherzustellen. Auf einem Dateiserver ist dies besonders wichtig, da es das Risiko von Datenverlusten bei plötzlichen Abstürzen oder Stromausfällen minimiert und eine schnelle Wiederherstellung ermöglicht."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "87ccf38b-ac1d-4e14-a599-b536321b0f75"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "1"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Journaling"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.10",
      "parts": [
        {
          "id": "KONF.12.1.10_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Webanwendungen"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "HTTP-Response-Header"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "aktivieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Webanwendungen SOLLTE HTTP-Response-Header aktivieren."
        },
        {
          "id": "KONF.12.1.10_gdn",
          "name": "guidance",
          "prose": "Hierzu können z.B. Content-Security-Policy (CSP), X-Frame-Options, X-XSS-Protection, Referrer-Policy, Permissions-Policy, HSTS und X-Content-Type-Optionen gehören."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "34bf7846-28cb-41db-bd7b-2e81bee980b3"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "3"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "HTTP-Response-Header"
    },
    {
      "class": "BSI-Stand-der-Technik-Kernel",
      "id": "KONF.12.1.11",
      "parts": [
        {
          "id": "KONF.12.1.11_stm",
          "name": "statement",
          "props": [
            {
              "name": "target_object_categories",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
              "value": "Office-Anwendungen"
            },
            {
              "name": "documentation",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
              "value": "Konfigurationshistorie"
            },
            {
              "name": "result",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
              "value": "aktive Inhalte in Office-Dateien"
            },
            {
              "name": "action_word",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
              "value": "deaktivieren"
            },
            {
              "name": "modal_verb",
              "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
              "value": "SOLLTE"
            }
          ],
          "prose": "Konfiguration für Office-Anwendungen SOLLTE aktive Inhalte in Office-Dateien deaktivieren."
        },
        {
          "id": "KONF.12.1.11_gdn",
          "name": "guidance",
          "prose": "Aktive Inhalte (Makros) in Office-Dokumenten können Schadcode enthalten oder zu nicht nachvollziehbaren Datenfehlern führen. Viele Nutzende verwenden solche Funktionen jedoch für ihre Arbeit, so dass eine generelle Sperrung mit Einschränkungen verbunden ist. Autorisierte Ausnahmen bilden daher einen guten Kompromiss bei normalen Schutzbedarf. Dies kann durch den geschützten Modus (Protected View) umgesetzt werden. Werden bestimmte Makros dennoch häufig benötigt, so können Makros mit digitaler Signatur einer anerkannten Zertifizierungsstelle oder von vertrauenswürdigen Speicherorten zugelassen werden."
        }
      ],
      "props": [
        {
          "name": "alt-identifier",
          "value": "fe822942-31a1-4961-832f-3523f7622754"
        },
        {
          "name": "sec_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
          "value": "normal-SdT"
        },
        {
          "name": "effort_level",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
          "value": "2"
        },
        {
          "name": "tags",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
          "value": "Produktbeschreibung"
        }
      ],
      "title": "Aktive Dateiinhalte"
    }
  ],
  "id": "KONF.12.1",
  "links": [
    {
      "href": "#DEV.2.6.1",
      "rel": "related"
    }
  ],
  "params": [
    {
      "id": "konf.12.1-prm1",
      "label": "einen automatisierten Mechanismus",
      "props": [
        {
          "name": "alt-identifier",
          "value": "4cf4ca7f-0b09-4777-83dc-5569c8e08f63"
        }
      ]
    }
  ],
  "parts": [
    {
      "id": "KONF.12.1_stm",
      "name": "statement",
      "props": [
        {
          "name": "target_object_categories",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/target_object_categories.csv",
          "value": "Anwendungen"
        },
        {
          "name": "documentation",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/documentation_guidelines.csv",
          "value": "Konfigurationshistorie"
        },
        {
          "name": "result",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
          "value": "die Validierung von Eingabedaten"
        },
        {
          "name": "result_specification",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/result.csv",
          "value": "durch {{einen automatisierten Mechanismus}}"
        },
        {
          "name": "action_word",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/action_words.csv",
          "value": "aktivieren"
        },
        {
          "name": "modal_verb",
          "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/modal_verbs.csv",
          "value": "SOLLTE"
        }
      ],
      "prose": "Konfiguration für Anwendungen SOLLTE die Validierung von Eingabedaten durch {{ insert: param, konf.12.1-prm1 }} aktivieren."
    },
    {
      "id": "KONF.12.1_gdn",
      "name": "guidance",
      "prose": "Eingabevalidierung (engl. input validation) ist die technische und logische Überprüfung von Daten, die von Nutzenden, Schnittstellen oder externen Quellen an eine Anwendung übergeben werden. Ziel ist es, sicherzustellen, dass nur erwartete, syntaktisch und semantisch korrekte Eingaben verarbeitet werden – beispielsweise Zahlen in einem numerischen Feld, zulässige Dateiformate bei Uploads oder inhaltlich beschränkte Steuerzeichen in Formularen. Fehlende oder unzureichende Eingabevalidierung könnte es Angreifenden ermöglichen, schadhaften Code einzuschleusen (injection attacks wie SQL Injection oder Command Injection), Geschäftslogik zu manipulieren oder Systeme über Ressourcenmissbrauch lahmzulegen. Eine saubere Validierung kann dagegen die Angriffsfläche deutlich reduzieren und die Verlässlichkeit der Anwendung erhöhen. Dabei hängt die Ausgestaltung stark vom Einsatzzweck ab: Während etwa bei einer Textverarbeitung größere Freiheiten gewährt werden können, erfordern sensible Szenarien wie SQL-Injection bei Datenbankanfragen, die Abwehr von prompt injection bei Large Language Models (LLM) oder die Verarbeitung von Zahlungsdaten sehr strikte Prüfungen. Je nach Anwendung und Risikoprofil können Plausibilitätsprüfungen, die Beschränkung der Eingabedaten auf vordefinierte Werte, Verifikationen der Daten bei einer dritten Stelle (z.B. eines Zahlungsmittels beim Zahlungsanbieter), Regular Expression Entry Patterns, oder Data Escaping als Maßnahmen sinnvoll sein."
    }
  ],
  "props": [
    {
      "name": "alt-identifier",
      "value": "4cf4ca7f-0b09-4777-83dc-5569c8e08f63"
    },
    {
      "name": "sec_level",
      "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/security_level.csv",
      "value": "normal-SdT"
    },
    {
      "name": "effort_level",
      "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/effort_level.csv",
      "value": "3"
    },
    {
      "name": "tags",
      "ns": "https://github.com/BSI-Bund/Stand-der-Technik-Bibliothek/tree/main/Dokumentation/namespaces/tags.csv",
      "value": "Produktbeschreibung"
    }
  ],
  "title": "Eingabevalidierung"
}