Александр Поляков - руководитель направления аудита ИБ компании Digital Security, QSA.
Основной задачей стандарта, как известно, является обеспечение безопасности данных о держателях платёжных карт. И чуть ли не первым действием после решения о начале подготовки системы к соответствию, которое логично провести, - это анализ того, где эти данные в системе находятся и как передаются.
Другими словами, это можно назвать составлением матрицы данных о держателях карт с описанием тех систем, где хранятся данные о держателях платёжных карт. Подробнее о матрице данных вы можете прочитать в статье Сергея Шустикова «Подготовка к аудиту – схема сети и матрица данных о держателях карт».
Кстати, аналогичные действия рекомендуются экспертами при составлении так называемой карты персональных данных при подготовке к соответствию ФЗ-152. Данный подход более чем логичен, так как перед тем как разбираться, как защищать, следует понять, ГДЕ у нас находится то, что необходимо защищать, чтобы на следующем этапе, по возможности, уменьшить количество таких мест.
В результате составление матрицы данных значительно облегчит работу как специалистам компании, так и консультантам или аудиторам, что в итоге значительно ускорит процесс первоначального анализа системы и сэкономит драгоценное время на решение задач, связанных с подготовкой к сертификации и разработкой необходимых для достижения соответствия решений.
Как оказалось, далеко не каждая компания может с уверенностью сказать, где конкретно в их системах хранятся данные о держателях карт (PAN), и даже если у компаний имеется хоть какая-либо схема потоков данных, то на деле оказывается, что данные обнаруживаются в любых, даже самых неожиданных местах. Основные, но не единственные места, где можно обнаружить PAN - это trace, log, tlog, debug файлы СУБД, приложений и web-служб, а также файловые и почтовые сервера, рабочие станции операторов, POS –сервера и пр.
Составление матрицы данных - это первый этап выяснения мест нахождения PAN, но не последний, так как кроме известных мест всегда встречаются и неизвестные, поиск которых и позволяет увидеть реальную картину. Для облегчения работ по обнаружению данных о держателях карт Советом PCI SSC были даны регулярные выражения для поиска PAN:
Visa: ^4[0-9]{12}(?:[0-9]{3})?$
MasterCard: ^5[1-5][0-9]{14}$
Эти регулярные выражения можно ввести в любую систему поиска, к примеру, встроенную в Total Commander, и получить на выходе список файлов с PAN. После чего следует провести дополнительно проверку того, что найденная последовательность действительно является PAN по формуле mod 10.
На самом деле это только простейшие регулярные выражения, позволяющие найти PAN, в котором нет разделителей между цифрами. В случае если в качестве разделителей используются пробел или тире, то необходимо применять более сложные регулярные выражения. К примеру, приведенное ниже выражение проверяет наличие номеров кредитных карт от Visa, MasterCard и Amex как в виде строки из цифр, так и с разделителями (http://regexlib.com/REDetails.aspx?regexp_id=340)
^((4\d{3})|(5[1-5]\d{2}))(-?|\040?)(\d{4}(-?|\040?)){3}|^(3[4,7]\d{2})(-?|\040?)\d{6}(-?|\040?)\d{5}
Для тех кто предпочитает проводить данные проверки в автоматическом режиме в удобной оболочке со встроенной проверкой было разработано множество как коммерческих, так и бесплатных утилит для поиска PAN в системе.
Бесплатные утилиты:
Коммерческие утилиты:
Symantec Vontu
RSA DLP Suite (Tablus)
Vericept
Orchestria
Code Green Networks
Reconnex
Workshare
Websense
EnCase Forensic
Данная тема достаточно обширна, и описать все существующие решения не представляется возможным, поэтому рассмотрим одну из бесплатных утилит под названием Spider, которая выпущена сотрудниками университета Cornell и позволяет искать в системах такие данные, как номера кредитных карт (PAN), номера социального страхования и прочие данные.
Утилита имеет множество различных настроек, позволяющих фильтровать поиск по последней дате изменения файлов, что актуально для проведения регулярных проверок, а также позволяет добавлять директории исключения и даже сканировать EFS разделы, если к таким имеется доступ.
Совет: при использовании данной утилиты рекомендуется изменить приоритет в диспетчере задач на “ниже среднего”, так как процедура поиска достаточно ресурсоемка.
На рисунке 1 изображен пример запуска утилиты Spider на директорию D:\WORK\, где мы можем наблюдать файл tlog.txt, в котором обнаружены PAN.
Рис. 1. Утилита Spider
После использования не забудьте удалить лог файлы, созданные утилитой. Директория, в которой хранятся лог-файлы, указана во вкладке Settings->Runtime->Administrative options.
Данная утилита рассмотрена как один из возможных способов поиска PAN и приведена лишь в качестве примера. В статье были рассмотрены основные способы поиска PAN, которые можно использовать на серверах и рабочих станциях. В следующих статьях будут рассмотрены особенности поиска PAN в СУБД, а также обнаружение передачи PAN по сети.
|