Pentest R120: canAccess-403 zusätzlich tamper-evident auditieren
Der Retest deckte auf, dass abgewehrte Cross-Customer-Zugriffe (canAccess*-403) nur im SecurityEvent-Monitoring-Stream landeten (ACCESS_DENIED, /api/monitoring/events) – nicht im AuditLog, wo der Pentester suchte. Der Monitoring-Stream ist zudem löschbar (DELETE /api/monitoring/events) und nicht hash-verkettet. emitAccessDenied schreibt jetzt zusätzlich einen tamper-evidenten AuditLog-Eintrag (action READ, resourceType 'AccessDenied', Sensitivity HIGH), der ein Clearen des Monitoring-Streams überlebt und über die Hash-Kette manipulationssicher ist. Gilt für alle canAccess*-403 (Contract + Customer, inkl. Vollmacht- fehlt-Fall). Kein Enum-/Schema-Change: READ + distinktiver resourceType, filterbar via searchAuditLogs. Korrigiert damit auch meine frühere ungenaue Aussage „landet im Audit" – vorher war das die falsche Tabelle. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -124,6 +124,9 @@ function determineSensitivity(resourceType: string): AuditSensitivity {
|
||||
User: 'HIGH',
|
||||
CustomerConsent: 'HIGH',
|
||||
DataDeletionRequest: 'HIGH',
|
||||
// Abgewehrter IDOR-/Cross-Boundary-Zugriffsversuch (canAccess*-403).
|
||||
// HIGH, weil ein Treffer auf gezielte Fremddaten-Enumeration hindeutet.
|
||||
AccessDenied: 'HIGH',
|
||||
// MEDIUM
|
||||
Contract: 'MEDIUM',
|
||||
Address: 'MEDIUM',
|
||||
|
||||
Reference in New Issue
Block a user