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:
- 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. - Bei score-neutralem
Not configuredkönnen Beschreibung und Vergleichstext dennoch eine Abweichung beziehungsweise einen erforderlichen fehlenden Wert behaupten. - 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.
- 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, BereichA1: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 QuellenAT:BO. - Projekt:
Dummy, IDproject-7cbcb7ad. - Datenspeicher: ausschließlich die kanonische lokale PostgreSQL-Datenbank
assessorauf127.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-2562d083c277c36ad357dec97a44b50323f12de8fe1875db2d7024089754397acb2. - Ausgewählter gespeicherter Vergleich:
policy-evaluation-run-84d8b95c8e7610994abb842a4de05e0e, Engine1.9.0, abgeschlossen2026-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.