heygrc
PCI DSS Req 8 im Code

Wissen, wer es ist, und es beweisen.

Anforderung 8 betrifft die Identifizierung von Nutzern und die Authentifizierung des Zugriffs: Jeder Nutzer hat eine eindeutige ID, der Zugriff wird authentifiziert, und für den Zugriff auf die Kartendatenumgebung ist eine Multi-Faktor-Authentifizierung erforderlich. Der Sinn ist, dass eine Aktion einer Person zugeordnet werden kann und dass ein gestohlenes Passwort allein nicht ausreicht, um Zugriff zu erhalten. Vieles davon wird in Ihrem Auth-Code und Ihrer Konfiguration festgelegt.

How it shows up in a diff

The shapes the same control failure takes.

Anforderung 8 wird geschwächt, wenn eine Änderung den Zugriff erleichtert oder die Zuordnung, wer ihn durchgeführt hat, erschwert. Die wiederkehrenden Muster:

  • MFA wird entfernt oder optional gemacht

    Eine Multi-Faktor-Prüfung für den Zugriff auf die Kartendatenumgebung wird entfernt oder hinter einem Flag versteckt, sodass ein Passwort allein wieder ausreicht.

  • Ein gemeinsames oder generisches Konto taucht auf

    Ein gemeinsames Login oder ein generisches Dienstkonto wird eingeführt, wo eine individuelle Identifizierung erforderlich ist, sodass Aktionen nicht mehr einer bestimmten Person zugeordnet werden können.

  • Starke Authentifizierung wird abgeschwächt

    Ein Pfad, der zuvor eine Multi-Faktor- oder starke Authentifizierung erforderte, wird so geändert, dass nur noch ein Passwort oder ein schwächerer Faktor akzeptiert wird.

  • Ein Authentifizierungsschritt wird umgangen

    Ein Codepfad (eine interne Route, eine Automatisierung, eine Debug-Abkürzung) erreicht sensible Funktionen, ohne durch die Authentifizierung zu gehen.

  • Standard- oder statische Anmeldedaten bleiben enthalten

    Standard-, hartcodierte oder nie rotierte Anmeldedaten bleiben bestehen, was in der Praxis einer unauthentifizierten Tür entspricht.

Worked example

MFA aus Admin-Zugriff entfernt.

Der Multi-Faktor-Schritt verlangsamt die Admins, daher wird in einer Änderung die Zweitfaktor-Prüfung beim Admin-Login entfernt, der auf die Systeme zugreift, die Kartendaten verarbeiten. Logins werden schneller, und nun reicht ein Passwort allein, um als Admin in die Kartendatenumgebung zu gelangen.

auth/admin.ts+0 -1
async function adminLogin(user, password, otp) {  if (!verifyPassword(user, password)) return deny()-  if (!verifyOtp(user, otp)) return deny()  return grantAdmin(user)}
heygrcPCI DSS Req 8

Das Entfernen der Zweitfaktor-Prüfung bedeutet, dass der Admin-Zugriff auf die Kartendatenumgebung nun nur noch ein Passwort erfordert, obwohl Anforderung 8 eine Multi-Faktor-Authentifizierung zum Schutz vorsieht. Behalten Sie den Faktor bei; wenn er zu langsam ist, verbessern Sie die Benutzerfreundlichkeit des zweiten Faktors, anstatt ihn zu entfernen.

What an auditor does with this

Authentifizierung wird an den relevanten Zugriffspfaden überprüft.

Eine PCI-Prüfung untersucht, wie der Zugriff identifiziert und authentifiziert wird, insbesondere für die Kartendatenumgebung: eindeutige IDs, Multi-Faktor-Authentifizierung wo erforderlich, keine gemeinsamen Konten, keine Standard-Anmeldedaten. Eine Änderung, die eine MFA-Prüfung entfernt, ein gemeinsames Konto hinzufügt oder die Authentifizierung umgeht, ist die konkrete Lücke dahinter, und sie ist im Diff zum Auth-Code oder zur Richtlinie sichtbar.

What this is, and is not

Eine Überprüfung, kein Identity Provider.

heygrc markiert Änderungen, die Anforderung 8 betreffen, und verweist auf die Anforderung, damit die Korrektur im Pull Request erfolgt. Es führt nicht Ihre Authentifizierung durch oder verwaltet Ihre Identitäten. Es erkennt den Moment, in dem eine Änderung die Authentifizierung des Zugriffs schwächt, im Diff.