Security

PCI DSS

PCI DSS — стандарт безопасности индустрии платёжных карт, обязательный для всех, кто обрабатывает, передаёт или хранит данные банковских карт.

Что такое PCI DSS

PCI DSS расшифровывается как Payment Card Industry Data Security Standard — стандарт безопасности данных индустрии платёжных карт. Разрабатывается советом PCI SSC, который учредили Visa, Mastercard, American Express, JCB и Discover.

DSS в аббревиатуре — это просто Data Security Standard. (Стоит держать в голове, что то же сокращение в криптографии означает Digital Signature Standard — американский стандарт электронной подписи. Связи между ними нет.)

Юридический статус любопытный: PCI DSS — не закон, а требование платёжных систем, которое приходит к вам через договор с банком-эквайером. Но последствия несоблюдения вполне материальны: штрафы от платёжных систем, повышенные комиссии, а в пределе — отключение от эквайринга, то есть невозможность принимать карты вообще. В России стандарт действует так же, как везде, — через договоры с банками, и на него накладываются требования 152-ФЗ, потому что данные держателя карты одновременно являются персональными данными.

Какие данные защищает

Ключевое разделение, из которого следует вся архитектура платёжных систем:

CHD (Cardholder Data) SAD (Sensitive Authentication Data)
Что это Номер карты (PAN), имя, срок действия, сервис-код Данные магнитной полосы, CVV2/CVC2, PIN и PIN-блок
Хранить Можно, но зашифрованным Запрещено после авторизации. Всегда

Запрет на хранение SAD — абсолютный. Никаких «сохраним CVV на пару часов для повторного платежа»: нельзя даже в зашифрованном виде, даже в логах, даже в дампе памяти. Именно на этом чаще всего горят самописные интеграции — CVV случайно попадает в лог отладки API.

PAN при отображении маскируется: видны максимум первые шесть и последние четыре цифры. При хранении — шифруется, усекается, токенизируется или заменяется хешем.

12 требований

Сгруппированы в шесть областей:

  1. Защита сети.Межсетевые экраны, запрет прямого доступа из интернета к CDE.
  2. Никаких дефолтов. Пароли и настройки вендора по умолчанию меняются. Всегда.
  3. Защита хранимых данных.Шифрование, управление ключами, минимизация хранения.
  4. Шифрование в передаче.TLS для открытых сетей.
  5. Защита от вредоносного ПО. Антивирус, контроль целостности.
  6. Безопасная разработка. Патчи, безопасный код, ревью.
  7. Ограничение доступа по принципу необходимого знания — RBAC.
  8. Идентификация. Уникальный ID у каждого, MFA для административного доступа.
  9. Физическая безопасность.ЦОД, носители.
  10. Логирование и мониторинг. Журналы всех обращений к данным карт, хранение не менее года — практически это означает SIEM.
  11. Регулярное тестирование. Сканы уязвимостей, пентесты.
  12. Политика ИБ. Документы, обучение, реагирование на инциденты.

Версия 4.0 (пришла на смену 3.2.1) добавила гибкий «customized approach» — можно реализовать цель требования своим способом, обосновав эквивалентность, — и заметно ужесточила требования к MFA и аутентификации.

CDE и скоупинг

CDE (Cardholder Data Environment) — среда данных держателей карт: все системы, которые хранят, обрабатывают или передают данные карт, плюс все системы, подключённые к ним. Второе слово — самое дорогое в стандарте.

Практический вывод, определяющий бюджет: сокращайте скоуп. Сегментируйте сеть так, чтобы CDE был минимальным островом, а лучше — уберите данные карт из своей инфраструктуры вообще. Если платежи идут через платёжный шлюз, а на вашей стороне остаются только токены, объём требований падает на порядок. Это самый разумный путь для большинства интернет-магазинов: сертифицировать весь свой хостинг вместо использования готового шлюза — решение, которое почти никогда не окупается.

Уровни и проверка

Уровень мерчанта определяется числом транзакций в год: крупнейшие проходят ежегодный аудит QSA (Qualified Security Assessor) с отчётом ROC, остальные заполняют SAQ — опросный лист самооценки, вид которого зависит от схемы приёма платежей. Всем требуются ежеквартальные сканы ASV (Approved Scanning Vendor) внешнего периметра.

Связанные термины

Готовы запустить GPU-задачу?

Запустить GPU-сервер