Assessor_2.0/outputs/dummy-policy-audit-2026-09-...

18 KiB

Dummy: Prüfung von Policy Analyzer gegen ASSESSOR

Prüfdatum: 18.09.2026. Auftrag: korrektes Einlesen und Zuordnen ausschließlich am freigegebenen Client Dummy prüfen. Keine Änderungen an Anwendungslogik, GPOs, Datenbank oder Bewertungen. Einordnung: Diagnose im Bereich Phase 13B; keine Implementierung und kein abgeschlossener Meilenstein.

Ergebnis

Bei den tatsächlich vorhandenen Dummy-GPO-Werten wurde keine Fehlzuordnung und kein Auslesefehler gefunden. Alle 51 Originalanweisungen aus drei GPO-Backups stimmen mit den gespeicherten Beobachtungen, den zugehörigen 50 Excel-Einstellungen und ihrer Quellenzuordnung in der Work-Projektion überein.

Das ist ausdrücklich keine uneingeschränkte Bestätigung vollständiger Policy-Analyzer-Parität. Zusätzlich wurden vier Auffälligkeiten belegt:

  1. Ein identischer Registry-Zielwert wird je nach Quelldateiformat unter zwei technischen Identitäten geführt: LdapEnforceChannelBinding, Excel-Zeile 871. Das ist eine formatübergreifende Identitätslücke, keine Vertauschung vorhandener Dummy-Werte.
  2. Bei score-neutralem Not configured können Beschreibung und Vergleichstext dennoch eine Abweichung beziehungsweise einen erforderlichen fehlenden Wert behaupten.
  3. Der gespeicherte Vergleich enthält vier Baselinepakete jeweils mit zwei Analyseversionen. Das erzeugt 1.620 zusätzliche Vergleichszeilen, aber im geprüften Dummy-Stand keine veränderten Einstellungsurteile.
  4. Fünf in Excel enthaltene Dienst-Einstellungen werden vom Baseline-Parser nicht unterstützt; betroffen sind 29 belegte Baseline-/Einstellungskombinationen. Dummy konfiguriert diese fünf Dienste nicht.

Der frühere Screenshot und andere Kundendaten sind nicht Bestandteil dieser Bewertung.

1. Prüfgrundlagen und Abgrenzung

  • Originaldatei: Output-PolAnal-Dummy.xlsx, Blatt Policy Analyzer, Bereich A1:BO953: 952 Datenzeilen, 67 Spalten.
  • Dummy-Werte: G:I; technische Adresse: D:F; Dummy-GPO-Namen und Quelldateien: AR:AS.
  • Elf Microsoft-Baselinepakete: Wert-/Options-/Typblöcke J:AP, zugehörige Quellen AT:BO.
  • Projekt: Dummy, ID project-7cbcb7ad.
  • Datenspeicher: ausschließlich die kanonische lokale PostgreSQL-Datenbank assessor auf 127.0.0.1:5432; Abfragen mit schreibgeschützter Transaktion beziehungsweise schreibgeschützter Verbindung und exaktem Dummy-Projektfilter. Gemeinsam verwendete Microsoft-Baselines wurden nur als Vergleichsquellen dieses Projekts gelesen.
  • Original-Dummy-Archiv: gpo-backups/dummy-gpo-folder-2026-07-22.zip, 23.163 Bytes; SHA-256 2d083c277c36ad357dec97a44b50323f12de8fe1875db2d7024089754397acb2.
  • Ausgewählter gespeicherter Vergleich: policy-evaluation-run-84d8b95c8e7610994abb842a4de05e0e, Engine 1.9.0, abgeschlossen 2026-09-17T13:53:44.060Z.
  • Repository-Revision bei Beginn und Abschluss: 420.

Die Prüfung umfasst importierte Backup-Konfiguration, keine tatsächlich wirksame Endgerätekonfiguration, keine GPO-Verknüpfungen oder Vererbungsreihenfolge und keine Aussage zur sachgerechten Auswahl einer Betriebssystem-/Rollenbaseline.

2. Methode

Die Prüfkette war: Excel → unverändertes Original-ZIP → unabhängig dekodierte Quelldateien → persistierte Dummy-Beobachtungen → ausgewählte Bewertung → produktive Work-/Reader-Datenprojektion.

Registry.pol wurde unabhängig als Binärformat gelesen, einschließlich Datentyp, Nutzdaten, Datensatzposition und Byteoffset. Die INF-Dateien wurden unabhängig nach Sektion, Schlüssel, Originalwert und Zeile ausgewertet. Anschließend wurden sämtliche Dummy-Beobachtungen einzeln dagegen geprüft. Die Work-Projektion wurde im Speicher mit den produktiven Projektionsfunktionen und den Dummy-API-Daten aufgebaut; die Anwendung wurde nicht neu bewertet oder verändert. Dies ist eine Prüfung der Datenprojektion, kein zusätzlicher visueller Browser-/CSS-Test.

Verglichen wurde anhand vollständiger technischer Adressen und exakter Quellen, nicht anhand ähnlich klingender Anzeigenamen. Groß-/Kleinschreibung von Registry-Adressen und Pfadseparatoren wurden für den Adressvergleich normalisiert; Wertinhalt und Typ blieben erhalten. Principal-Sammlungen wurden als Mengen geprüft; zusätzlich wurde die ursprüngliche Quellenreihenfolge gegenüber den gespeicherten Werten kontrolliert.

Wichtig beim Excel-Vergleich: Policy Analyzer fasst Wertlisten unabhängig von GPO-/Quelldateilisten zusammen. Mehrzeilige Wert- und Quellenzellen dürfen nicht positionsweise miteinander verbunden werden. Die Wert-/Typmengen und Quellenmengen wurden daher separat verglichen; die einzelne Quellenzuordnung wurde gegen die Originaldateien geprüft.

Die Excel-Zellen wurden mit einem zweiten, unabhängigen XLSX-Leser verifiziert. Leere Zeichenfolgen wurden nicht als Zahlen oder fehlende Registry-Schlüssel interpretiert. Der erste XLSX-Importweg zeigte bei leeren Shared Strings technische Indexwerte; dessen Ergebnis wurde verworfen, nicht als Prüfgrundlage verwendet.

3. Vollständigkeit und Zuordnung der Dummy-Werte

Prüfschritt Ergebnis
GPO-Backups 3
Policy-Quelldateien 4
Originalanweisungen aus Registry.pol 4
Originalanweisungen aus Security-Template-INF 47
Originalanweisungen insgesamt 51
Exakt passende gespeicherte Beobachtungen 51 von 51
Excel-Einstellungen mit nichtleerem Datenwert 48
Zusätzlich explizite leere REG_NONE-Schlüsselanlagen 2
Unterschiedliche konfigurierte Dummy-Einstellungen 50
In Work wiedergefundene Originalbeobachtungen 51 von 51
Quellenbehaftete Work-Vergleichszeilen mit geprüfter Zuordnung 339 von 339
Falsche Werte, Typen, Quellen oder Backup-Zuordnungen 0

Geprüft wurden insbesondere Originaldatei-SHA, vollständiger Schlüssel, Wertname, Typ, Daten, Projekt-/Backup-Zuordnung und die jeweiligen INF-Zeilen beziehungsweise Registry.pol-Datensatzpositionen. Auch die in Excel angegebenen GPO-Namen wurden gegen die Originalmetadaten geprüft.

Warum 51 Anweisungen nur 50 Einstellungen ergeben

LDAPServerIntegrity in Excel-Zeile 873 wird in zwei Dummy-GPOs auf denselben DWORD-Wert 2 gesetzt: Default Domain Controllers Policy und LDqp. ASSESSOR erhält beide Quellen und kennzeichnet die identische Mehrfachkonfiguration als Duplicate. Das ist kein Konflikt und kein verlorener Datensatz. Maßgebliche Excel-Zellen: D873:I873 und AR873:AS873.

Vollständige Liste der geprüften Dummy-Einstellungen

Für jede nachfolgende Zeile sind Originalquelle, Excel, gespeicherter Wert und Work-Quellenzuordnung bestätigt. „Menge identisch“ bedeutet vollständigen SID-Mengenvergleich; keine Stichprobe.

Excel-Zeile Technischer Wert / Operation Bestätigter Dummy-Wert
400 EFSBlob REG_BINARY, vollständig bytegleich
401 EFS-Zertifikat / Blob REG_BINARY, vollständig bytegleich
402 EFS / CRLs: Schlüsselanlage REG_NONE, explizit leer
403 EFS / CTLs: Schlüsselanlage REG_NONE, explizit leer
429 RequireLogonToChangePassword 0
845 PasswordComplexity 0
846 PasswordHistorySize 24
847 ClearTextPassword 0
848 MaximumPasswordAge 37201
849 MinimumPasswordLength 5
850 MinimumPasswordAge 1
851 TicketValidateClient 1
852 MaxTicketAge 10
853 MaxServiceAge 600
854 MaxClockSkew 5
855 MaxRenewAge 7
856 LockoutBadCount 5
857 LockoutDuration 5
858 ResetLockoutCount 5
859 NoLMHash DWORD 1
873 LDAPServerIntegrity DWORD 2, zwei Originalquellen
877 RequireSignOrSeal DWORD 1
888 RequireSecuritySignature DWORD 1
889 EnableSecuritySignature DWORD 1
891 ForceLogoffWhenHourExpire 0
904 LSAAnonymousNameLookup 0
912 SeSystemTimePrivilege Menge identisch
913 SeIncreaseBasePriorityPrivilege Menge identisch
914 SeBatchLogonRight Menge identisch
918 SeIncreaseQuotaPrivilege Menge identisch
920 SeNetworkLogonRight Menge identisch
921 SeChangeNotifyPrivilege Menge identisch
922 SeDebugPrivilege Menge identisch
925 SeUndockPrivilege Menge identisch
926 SeEnableDelegationPrivilege Menge identisch
927 SeAssignPrimaryTokenPrivilege Menge identisch
928 SeCreatePagefilePrivilege Menge identisch
929 SeSystemProfilePrivilege Menge identisch
930 SeProfileSingleProcessPrivilege Menge identisch
935 SeRemoteShutdownPrivilege Menge identisch
936 SeAuditPrivilege Menge identisch
937 SeShutdownPrivilege Menge identisch
938 SeMachineAccountPrivilege Menge identisch
939 SeLoadDriverPrivilege Menge identisch
941 SeInteractiveLogonRight Menge identisch
942 SeBackupPrivilege Menge identisch
944 SeTakeOwnershipPrivilege Menge identisch
945 SeSystemEnvironmentPrivilege Menge identisch
946 SeSecurityPrivilege Menge identisch
947 SeRestorePrivilege Menge identisch

Die produktive Verdichtungsfunktion liefert für diese 50 quellenbehafteten Einstellungen: 16 Fail, 15 Pass, 19 No baseline rule, zusätzlich eine Duplicate-Markierung und keine Konfliktmarkierung. Diese Zählung bestätigt die technische Zusammenführung; sie ist keine unabhängige Freigabe der fachlichen Baseline-Auswahl.

4. Abgleich der Baseline-Seite der Excel

Alle elf referenzierten Baseline-Archive wurden gegen ihre gespeicherte Paket-SHA geprüft. Für 5.031 aktuelle Baseline-Setting-Referenzen wurde die SHA der zugrunde liegenden 122 Policy-Dateien gegen die Originalarchive verifiziert.

Baseline Belegte Nicht-Audit-Kombinationen Strikt passend Nur Optionsreihenfolge Nicht unterstützte Dienste Audit-Kombinationen passend
Microsoft 365 Apps 2512 385 385 0 0 0
Microsoft Edge 139 20 20 0 0 0
Windows 10 1809 / Server 2019 366 359 2 5 27
Windows 11 23H2 369 363 2 4 23
Windows 11 24H2 403 397 2 4 23
Windows 11 25H2 402 396 2 4 23
Windows Server 2025 360 357 2 1 30
Windows Server 2022 309 306 2 1 29
Windows 10 1607 / Server 2016 356 353 2 1 24
Windows 10 22H2 343 337 2 4 23
Windows 10 20H2 / Server 20H2 357 350 2 5 29
Summe 3.670 3.623 18 29 231

Eine Kombination bezeichnet hier eine belegte Einstellung in einem Baselinepaket, nicht jede einzelne Zelle und nicht jede enthaltene GPO-Variante.

Die 32 unterschiedlichen Audit-Policy-Zeilen 813:844 umfassen 231 belegte Baseline-Kombinationen: alle stimmen hinsichtlich Erfolgs-/Fehlerflags und Quelldateien überein. Zusätzlich wurden die gespeicherten Audit-GUIDs, Flags und Quellenzeilen unmittelbar gegen die originalen audit.csv-Dateien geprüft. Die deutschen Anzeigenamen wurden mit dem lokalen, nur lesend abgefragten Audit-Unterkategorienkatalog und vier dokumentierten sprachlichen Aliaszuordnungen auf GUIDs abgebildet; es wurden keine Audit-Einstellungen des Rechners verändert.

Die 18 reinen Darstellungsunterschiede liegen in den HardenedPaths-Zeilen 507 und 508. Excel schreibt RequireIntegrity=1,RequireMutualAuthentication=1; ASSESSOR erhält RequireMutualAuthentication=1,RequireIntegrity=1. Adresse, Quellen und enthaltene Optionen sind gleich; lediglich die Reihenfolge unterscheidet sich. Das ist keine Vertauschung der Einstellung. Die Aussage bezieht sich auf diese konkrete Optionsliste und rechtfertigt keine allgemeine Sortierung beliebiger Registry-Strings.

5. Bestätigte Auffälligkeiten

A. Eine Registry-Adresse, zwei technische Identitäten

Excel-Zeile 871 führt HKLM\SYSTEM\CurrentControlSet\Services\NTDS\Parameters\LdapEnforceChannelBinding einmal. ASSESSOR führt für denselben Zielwert eine registry-value-Identität aus Registry.pol und eine security-template-Identität aus dem INF-Abschnitt Registry Values.

Ursache: policy-target-resolver.ts leitet nur registry-policy an den Registry-Resolver weiter; die INF-Identität wird danach mit eigenem Mechanismus/Sektionsschlüssel gebildet. admx-policy-catalog.ts bildet hingegen die Registry-Identität aus Scope, Zielart, Hive, vollständigem Schlüssel und Wertname.

Nachweisbarer Effekt: 948 ASSESSOR-Identitäten entsprechen 947 unterschiedlichen Excel-Adressen. Die übrigen fünf der 952 Excel-Zeilen sind die nicht unterstützten Dienste. Genau eine Adresse ist doppelt identifiziert: Zeile 871.

Für Dummy ist G871:I871 leer; alle fünf betroffenen gespeicherten Vergleiche stehen auf Not configured und haben keine Dummy-Quelle. Damit ist hier eine fehlende formatübergreifende Gleichsetzung belegt, aber kein dadurch falsch zugeordneter konfigurierter Dummy-Wert. Ein allgemeiner Gleichwertigkeitstest von INF und Registry.pol ist im Vergleichsvertrag bereits als offene Paritätsprüfung benannt.

B. Widersprüchlicher Text bei Not configured

Reproduzierbares Dummy-Beispiel: Excel-Zeile 529, ACSettingIndex unter PowerSettings-GUID 0e796bdb-100d-47d6-a2d5-f7d2daa51f51. Dummy enthält dafür keinen Wert. ASSESSOR projiziert korrekt Status = Not configured, Configured Value = Not configured und keine Quellen.

Gleichzeitig lautet Comparison beziehungsweise der Beschreibungstext Differs from every assessed baseline variant; eine Variantenbeschreibung nennt Missing required value or key, und der Remediation-Text gibt einen Sollwert an. Damit wirkt eine score-neutrale Abwesenheit sprachlich wie eine konfigurierte Fehlstellung.

Ursache: policy-observations-to-dataset.ts verwendet die Varianten-Zusammenfassung vor dem späteren Missing-Zweig. guidance.ts formuliert fehlende Werte pauschal als erforderlich. Die korrekte Abgrenzung normaler Abwesenheit ist dagegen bereits in policy-comparison-disposition.ts vorhanden.

Dies ist ein belegter Darstellungs-/Semantikfehler, kein falsch eingelesener Istwert. Explizite Schlüsselpräsenz- und Leerstring-Anforderungen sind hiervon gesondert zu behandeln; ihre dokumentierten Vergleichsregeln dürfen durch eine spätere Korrektur nicht verändert werden.

C. Doppelte Baseline-Analysegenerationen im gespeicherten Lauf

Der aktuelle gespeicherte Dummy-Lauf referenziert 15 Analysen zu elf Paketen. Vier Pakete sind gleichzeitig mit Analyzer 1.2.0 und 1.3.0 enthalten, jeweils mit identischer Baseline-ID und identischer Paket-SHA.

Paket Redundante Vergleiche
Windows 11 23H2 388
Windows 11 24H2 422
Windows 11 25H2 421
Windows Server 2025 389
Summe 1.620

Die paarweise Prüfung ergab null Unterschiede bei technischem Ziel, Ist-/Sollwerten, Klassifikation und Quellen. Eine ausschließlich im Speicher vorgenommene Bereinigung würde die Bewertungszeilen von 5.492 auf 3.872 und die Work-Vergleichszeilen von 5.511 auf 3.891 reduzieren. Alle 948 verdichteten Einstellungsurteile bleiben dabei unverändert.

Die laufende Status-API meldet dafür bereits evaluationUpdates, Grund baseline-analysis, mit elf Zielanalysen. Work zeigt den gespeicherten Lauf, bereinigt dessen innere historischen Referenzen aber nicht beim Lesen. Es wurde kein neuer Bewertungslauf gestartet.

D. Nicht unterstützte Dienst-Einstellungen

Excel-Zeilen 949 bis 953 enthalten AppIDSvc, XboxGipSvc, XblAuthManager, XboxNetApiSvc und XblGameSave aus dem INF-Abschnitt Service General Setting. Insgesamt sind 29 Baseline-/Einstellungskombinationen belegt und in den Original-INF-Dateien vorhanden.

security-template-parser.ts unterstützt nur System Access, Kerberos Policy, Privilege Rights und Registry Values. Andere Abschnitte werden mit gpo-security-template-section-unsupported diagnostiziert und nicht als vergleichbare Settings ausgegeben.

Das ist eine echte Abdeckungslücke gegenüber Excel, aber keine falsche Zuordnung. G949:I953 ist für Dummy leer: Es ging dadurch kein in Dummy konfigurierter Dienstwert verloren. Die Diagnose erlaubt keine Aussage, dass nicht unterstützte Konfiguration allgemein fehlerfrei bewertet würde.

6. Integrität und mögliche nächste Schritte

Die Datenbankrevision blieb 420; keine Re-Evaluation, kein Import und keine Änderung der Original-GPO-Dateien wurden ausgeführt. Vorhandene Änderungen im Arbeitsverzeichnis blieben unangetastet. Die 25 temporären Datenbankauszüge, Originalkopien und Prüfscripte wurden anschließend entfernt; erhalten bleibt dieser Bericht. Die Originale sind unverändert verfügbar; die temporären Kopien wurden nicht als dauerhafte Prüfartefakte aufbewahrt.

Der erste XLSX-Snapshot hatte SHA-256 b3349781e8c7555ac2edcf5ecec9bd9b15c999e5213ca9112c7069643c7cf308; beim abschließenden Gegenlesen hatte der Dateicontainer SHA-256 4001bc5c6347c28b5677ed9235c2d015305aea5b95ccd12b6b917d20440076fb. Der erneute vollständige Zellvergleich ergab null geänderte Zellinhalte. Im ZIP wurden zusätzliche Custom-XML-/Dokumentmetadaten und geänderte Paketbeziehungen festgestellt; die Tabellenbestandteile blieben identisch. ASSESSOR und diese Prüfung haben die Arbeitsmappe nicht beschrieben.

Sinnvolle, separat zu beauftragende Änderungen sind: erstens die formatübergreifende Registry-Identität mit synthetischem INF-/Registry.pol-End-to-End-Test schließen; zweitens Not-configured-Beschreibung und Remediation konsistent zum autoritativen Status machen; drittens veraltete Baseline-Analysegenerationen über den vorgesehenen Updatepfad behandeln. Die Unterstützung der Dienstsektion ist eine eigene Parsererweiterung. Keine dieser Änderungen wurde im Rahmen dieser Diagnose umgesetzt.