Package 'bsikompendium'

Title: Offline Checks Supporting BSI 'IT-Grundschutz' Assessments
Description: Supports structured information security assessments based on the 'IT-Grundschutz' Compendium of the German Federal Office for Information Security (BSI) (2023, ISBN:978-3-8462-0906-6), including errata dated 2026-03-26, and BSI Standards 200-1, 200-2 and 200-3 (2017). Provides an indexed requirement catalogue, individually derived assessment contracts, protection needs, risk assessment and selected technical checks. Runs locally and requires qualified user assessments; it does not certify compliance. The Compendium is catalogued at <https://epflicht.ulb.uni-bonn.de/content/titleinfo/750346>.
Authors: Dimitrios Geromichalos [aut, cre], RiskDataScience GmbH [cph]
Maintainer: Dimitrios Geromichalos <[email protected]>
License: Apache License (== 2.0)
Version: 0.2.1
Built: 2026-11-13 18:30:24 UTC
Source: https://github.com/cran/bsikompendium

Help Index


Offline-Pruefungen nach BSI IT-Grundschutz

Description

Native lokale Pruefungen mit expliziten fachlichen Nutzereingaben. Quellenstand: Kompendium 2023, Errata 26.03.2026, Standards 200-1/200-2/200-3 Version 1.0. Individuelle Vertraege fuer 1835 aktive Anforderungen, 111 Bausteinmodellierungen und 83 Methodenschritte. Keine automatische Erhebung realer Massnahmen oder BSI-Zertifizierung.

Usage

anforderung(anforderung_id) 
NULL
anforderungen(baustein_id = NULL, kategorie = NULL, 
    entfallen = FALSE) 
NULL
anforderungen_fuer(baustein_ids, vorgehen, h_auswahl = NULL, 
    kernbereich = NULL) 
NULL
baustein(baustein_id) 
NULL
bausteine() 
NULL
bestimme_schutzbedarf(werte, grundwert, anpassung = NULL, 
    effekt = NULL, begruendung = "") 
NULL
bewerte_risiko(haeufigkeit, schaden, matrix) 
NULL
eingabevertrag(anforderung_id) 
NULL
gefaehrdungen(anforderung_id) 
NULL
pruefe_abweichung(anforderung_id, art, begruendung, 
    gefaehrdungsbewertungen, leitung_zustimmung = NULL, 
    alternativmassnahme = "", gleichwertig = NULL, 
    basis_ausnahme_begruendet = NULL) 
NULL
pruefe_anforderung(anforderung_id, bewertungen, anwendbar = NULL, 
    begruendung = "") 
NULL
pruefe_datensicherung(angaben) 
NULL
pruefe_http_datenschutz(angaben) 
NULL
pruefe_informationsverbund(objekte) 
NULL
pruefe_modellierung(objekte, zuordnungen, institution = NULL, 
    unterliegt_vsa = NULL) 
NULL
pruefe_passwortgebrauch(angaben) 
NULL
pruefe_risikoanalysebedarf(schutzbedarf, hinreichend_modelliert, 
    typisches_szenario) 
NULL
pruefe_risikobehandlung(option, restrisiko, akzeptierte_kategorien, 
    angaben) 
NULL
risikomatrix() 
NULL
pruefe_technische_grenzen(anforderung_id, angaben) 
NULL
fachlicher_eingabevertrag(anforderung_id) 
NULL
pruefe_fachregel(anforderung_id, angaben) 
NULL
methodenschritte() 
NULL
methodischer_eingabevertrag(schritt_id) 
NULL
pruefe_methodenschritt(schritt_id, angaben) 
NULL
pruefe_checkentscheidung(anforderung_id, angaben) 
NULL
pruefe_risikoverlauf(vorher, nachher, matrix, akzeptierte_kategorien, 
    weitere_akzeptanzkriterien, angaben) 
NULL
pruefe_checkabdeckung(vorgehen, modellierung, checks) 
NULL

Arguments

anforderung_id

Katalog-ID einer einzelnen Anforderung, etwa CON.10.A7.

baustein_id

Katalog-ID eines Bausteins, etwa CON.10; bei Filterfunktionen optional.

baustein_ids

Nichtleere Liste eindeutiger Baustein-IDs, die fachlich ausgewählt wurden.

kategorie

Optionaler Filter B (Basis), S (Standard) oder H (erhöhter Schutzbedarf).

entfallen

FALSE/False schließt entfallene Anforderungen aus; TRUE/True nimmt sie zusätzlich auf.

vorgehen

Explizite Grundschutz-Vorgehensweise: BASIS, STANDARD oder KERN.

h_auswahl

Optionale Liste ausdrücklich ausgewählter aktiver H-Anforderungen aus den angegebenen Bausteinen.

kernbereich

Bei KERN muss TRUE/True die vorherige fachliche Festlegung des Kernbereichs bestätigen.

bewertungen

Objekt mit Kriterium-IDs aus eingabevertrag als Schlüsseln. Je Block: relevant, umgesetzt, wirksam, angemessen (bool oder unbekannt) und optionale begruendung. Alle enthaltenen Quellsätze fachlich bewerten. relevant=false verlangt eine Begründung.

anwendbar

Explizite fachliche Anwendbarkeit: TRUE/True, FALSE/False oder NULL/None. Ausschluss verlangt begruendung.

begruendung

Konkrete nichtleere fachliche Begründung bei Ausschluss, Abweichung oder Schutzbedarfsanpassung; sonst optional.

art

NICHT_RELEVANT, ALTERNATIVMASSNAHME oder RISIKOAKZEPTANZ. Der Abweichungsbefund ist keine Umsetzung der ursprünglichen Anforderung.

gefaehrdungsbewertungen

Objekt mit den IDs aus gefaehrdungen. true bestätigt je Gefährdung die fachlich begründete Nichtrelevanz, die ausreichende alternative Abdeckung beziehungsweise die dokumentierte Risikobewertung, passend zur art; false widerspricht dieser Begründung, null lässt sie offen.

leitung_zustimmung

Explizite Zustimmung der Leitung (bool oder unbekannt), bei Risikoakzeptanz erforderlich.

alternativmassnahme

Nichtleere Beschreibung der tatsächlich vorgesehenen gleichwertigen Alternative.

gleichwertig

Fachlich bestätigte Gleichwertigkeit der Alternativmaßnahme (bool oder unbekannt).

basis_ausnahme_begruendet

Bei alternativer Umsetzung einer B-Anforderung: ausdrückliche fachliche Ausnahmebegründung bestätigt (bool oder unbekannt).

werte

Nichtleere Liste relevanter Ausgangseinstufungen: NORMAL, HOCH, SEHR_HOCH oder unbekannt.

grundwert

vertraulichkeit, integritaet oder verfuegbarkeit; jede Dimension separat berechnen.

anpassung

Optionale fachlich ermittelte Zielstufe NORMAL, HOCH oder SEHR_HOCH; nur gemeinsam mit effekt und Begründung.

effekt

KUMULATION darf bekannte Einstufungen nicht senken; VERTEILUNG darf das bekannte Maximum nicht erhöhen.

schutzbedarf

Objekt mit vertraulichkeit, integritaet und verfuegbarkeit; je NORMAL, HOCH, SEHR_HOCH oder unbekannt. Fehlende Dimensionen sind unbekannt.

hinreichend_modelliert

Fachliche Aussage, ob das Zielobjekt durch die Bausteine hinreichend modelliert ist (bool oder unbekannt).

typisches_szenario

Fachliche Aussage, ob das Zielobjekt im vorgesehenen typischen Einsatzszenario betrieben wird (bool oder unbekannt).

haeufigkeit

Achsenwert der explizit gewählten Matrix oder unbekannt.

schaden

Schadensachse der explizit gewählten Matrix oder unbekannt.

matrix

Explizit BSI_200_3_BEISPIEL_2017 oder Objekt mit id, haeufigkeiten (Liste), schaeden (Liste), werte (Zeilen nach Schäden, Spalten nach Häufigkeiten). Jede Zelle: GERING, MITTEL, HOCH oder SEHR_HOCH. Beispiel ist keine allgemeine BSI-Vorgabe.

option

VERMEIDUNG, REDUKTION, TRANSFER oder AKZEPTANZ.

restrisiko

Aktuell fachlich bewertetes Restrisiko GERING, MITTEL, HOCH, SEHR_HOCH oder unbekannt; bei VERMEIDUNG nicht benötigt.

akzeptierte_kategorien

Liste der ausdrücklich organisationsseitig akzeptierten Risikokategorien; keine automatische Grenze.

angaben

Benanntes Tatsachenobjekt mit den funktionsspezifischen Feldern im Abschnitt Datenfelder. Fehlende zulässige Angaben sind unbekannt; unbekannte Feldnamen werden abgewiesen.

objekte

Nichtleere Liste mit id, typ und optional abhaengigkeiten (Liste bestehender IDs). Typ: Informationsverbund, Prozess, Information, Anwendung, IT-System, Netz, Gebäude/Raum, Kommunikationsverbindung. Keine automatische Inventarvollständigkeit.

zuordnungen

Liste mit objekt_id, baustein_id und fachlich_passend (bool oder unbekannt). Direkte Zuordnung auf Zielobjekttypen aus baustein; prozessübergreifende Bausteine gehören auf den Informationsverbund. Abhängigkeiten ersetzen keine direkte Zuordnung.

institution

Für CON.11.1: BUNDESBEHOERDE, BUNDESUNMITTELBARE_EINRICHTUNG, LANDESBEHOERDE, UNTERNEHMEN oder SONSTIGE; optional/unbekannt.

unterliegt_vsa

Für CON.11.1 zusätzlich bestätigte Unterstellung unter die VSA (bool oder unbekannt).

schritt_id

ID eines individuell implementierten Methodenschritts aus methodenschritte(), etwa BSI2003.RICHTLINIE; separat von Kompendium-Anforderungs-IDs.

vorher

Objekt mit haeufigkeit, schaden und eigenem bewertungsstand (KONZEPT oder UMGESETZT) für die erste Einstufung. Bereits hier dürfen Maßnahmen nur geplant sein; fehlender Ist-Bezug bleibt unbekannt.

nachher

Objekt mit haeufigkeit, schaden und eigenem bewertungsstand (KONZEPT oder UMGESETZT) nach zusätzlicher Behandlung. Bei ausgeschlossener Ursache keine Risikokategorie angeben. Bei alleiniger AKZEPTANZ und geänderten Achsen ist neubewertungsgrund als konkrete Änderung der Umstände oder Datenlage erforderlich.

weitere_akzeptanzkriterien

Sammlung mit objekte (je id und erfuellt) sowie vollstaendig. Alle zusätzlich zur Risikokategorie geltenden institutionellen Akzeptanzbedingungen konkret erfassen; ausdrücklich vollständig leere Menge nur, wenn keine weiteren Bedingungen gelten.

modellierung

Vollstaendiger Bestand konkreter Baustein-/Zielobjekt-Zuordnungen mit objekte und vollstaendig.

checks

Bestand konkreter Anforderungs-/Zielobjekt-Pruefstatus mit objekte und vollstaendig; eine Abdeckungspruefung ist keine Erfuellungspruefung.

Details

Objekte sind benannte Listen, Arrays unbenannte Listen. Logische Tatsachen sind TRUE, FALSE oder NULL; logisches NA gilt ebenfalls als unbekannt. Die vollstaendigen funktionsspezifischen Datenfelder und technischen Grenzen stehen in doc/FACHLOGIK.md und doc/API.md. fachlicher_eingabevertrag beschreibt individuell hergeleitete Felder, Massstaebe und Kriterien; pruefe_fachregel wertet diese aus. Sammlungen enthalten objekte und vollstaendig. Regelmaessigkeit verwendet entweder Kalenderdaten mit intervall_tage oder UTC-Zeitpunkte mit intervall_sekunden; eine Mischung ist ungueltig. pruefe_anforderung aggregiert aeltere Absatz-Selbstauskuenfte und ersetzt keine individuelle Fachpruefung. Ein positiver technischer Teilbefund bestaetigt nicht die ganze Anforderung. methodenschritte liefert 194 IDs: 111 BSIMODELL-Modellierungen und 83 Schritte der Standards 200-1/200-2/200-3. methodischer_eingabevertrag beschreibt die konkreten methodischen Felder; pruefe_methodenschritt wertet diese nativ aus. Modellierungserfuellung ist keine Erfuellung aller zugeordneten Anforderungen. Die Beispielsrisikomatrix ist keine universelle BSI-Vorgabe. Das Beispiel individueller_pruefablauf verarbeitet dieselbe JSON-Datei wie Python. kundenportal ist ein Legacy-Beispiel fuer Absatz-Selbstauskuenfte.

Value

Katalogfunktionen liefern Listen von IDs, Metadaten oder Eingabevertraegen. Pruefungen liefern benannte Listen mit regel_id, quellenfassung, status, anwendbarkeit, befund, begruendung und fehlende_angaben sowie diagnosespezifischen Zusatzfeldern. Individuelle Fachpruefungen enthalten bekannte_maengel und teilbefunde mit Kriterien-ID, Modalitaet und Anwendbarkeit. Fehlende individuelle Regelvertraege wuerden REGEL_UNGEKLAERT ohne Fachbefund liefern; alle aktiven Anforderungen der angegebenen Edition besitzen individuelle Vertraege. UNBEKANNT ist keine Erfuellung. Ungueltige Eingaben signalisieren die Condition bsikompendium_eingabefehler mit code EINGABE_UNGUELTIG.

References

Bundesamt fuer Sicherheit in der Informationstechnik: IT-Grundschutz-Kompendium Edition 2023, ISBN 978-3-8462-0906-6; BSI-Standards 200-1, 200-2 und 200-3. https://epflicht.ulb.uni-bonn.de/content/titleinfo/750346

Examples

bestimme_schutzbedarf(list("NORMAL", "HOCH"), "verfuegbarkeit")
bewerte_risiko("HAEUFIG", "BETRAECHTLICH", "BSI_200_3_BEISPIEL_2017")
pruefe_fachregel("ORP.3.A6", list(mitarbeitende=list(vollstaendig=TRUE,
  objekte=list(list(geschult_aufgaben=TRUE, geschult_verantwortung=FALSE)))))
length(methodenschritte())
system.file("examples", "individueller_pruefablauf.R", package="bsikompendium")
system.file("doc", "API.md", package="bsikompendium")