| Type: | Package |
| Title: | Offline Checks Supporting BSI 'IT-Grundschutz' Assessments |
| Version: | 0.2.1 |
| 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. |
| License: | Apache License (== 2.0) |
| Encoding: | UTF-8 |
| Language: | de |
| Depends: | R (≥ 4.1.0) |
| Imports: | jsonlite, stats |
| NeedsCompilation: | no |
| Packaged: | 2026-10-28 10:27:12 UTC; qwert123 |
| Author: | Dimitrios Geromichalos [aut, cre], RiskDataScience GmbH [cph] |
| Maintainer: | Dimitrios Geromichalos <riskdatascience@web.de> |
| Repository: | CRAN |
| Date/Publication: | 2026-11-13 16:30:09 UTC |
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")