Должен ли весь исходный код быть PCI-совместимым? - PullRequest
5 голосов
/ 01 июня 2011

В прошлом мы никогда не передавали, не обрабатывали и не хранили информацию о кредитных картах, так как мы делали все через PayPal, поэтому нам никогда не требовалось соответствие PCI.

Однако мы открываем новый интернет-магазин, и благодаря бесперебойной проверке, в которой информация о кредитной карте обрабатывается без перенаправления в PayPal, нам необходимо соответствие PCI.

Мы собираемся проконсультироваться с квалифицированной компанией по оценке безопасности, которая поможет нам получить и поддерживать соответствие PCI. Однако я хотел получить приличное представление о том, на что я смотрю, прежде чем консультироваться с ними, прежде чем они попытаются продать вам все услуги в доме, которые вам могут не понадобиться.

С точки зрения соответствия PCI, я понимаю, что это должно быть сделано на уровне программного и аппаратного обеспечения и соответствовать 12 + баллам. Мы работаем с Magento Professional, поскольку она имеет платежную систему, совместимую с PCI, и мы работаем с компанией веб-хостинга, совместимой с PCI (выделенный сервер). Но с точки зрения программного обеспечения, вам нужно соответствие PCI для ВСЕГО? Или просто программное обеспечение, которое передает, хранит и обрабатывает информацию о кредитной карте?

Например, согласно Magento, платежное программное обеспечение совместимо с PCI, а Magento Platform - нет. Таким образом, это позволяет вносить изменения, модификации и настройки в Magento, не влияя на соответствие PCI платежного программного обеспечения.

Другими словами, я спрашиваю, вам нужно только соответствие PCI для исходного кода / программного обеспечения, которое имеет отношение к передаче, обработке и хранению информации о кредитной карте? Эти «Квалифицированные компании по оценке безопасности» создают впечатление, что весь исходный код необходимо проверить на соответствие PCI, что невозможно!

Например, в случае с Magento, могу ли я вносить изменения и модификации в него и при этом оставаться совместимым с PCI? Пока платежный модуль не тронут, поскольку он совместим с PCI, а веб-хостинг, сервер и ОС совместимы с PCI?

Я имею в виду php, javascript, mysql, которые не имеют отношения к кредитным картам, не должны быть совместимыми, не так ли? конечно, они будут на одном сервере.

Ответы [ 2 ]

4 голосов
/ 01 июня 2011

Основной ответ заключается в том, что это зависит.В целом, только исходный код, который имеет дело (или может иметь дело) с конфиденциальными и защищенными данными PCI, должен быть PCI-совместимым.Однако это означает, что если другие области вашего кода имеют доступ к защищенным областям, вам также нужна безопасность.Например, если другая область вашего приложения будет уязвима для внедрения SQL-кода, это может поставить под угрозу ваши системы кредитных карт.Вот почему некоторые люди склоняются к соблюдению PCI для всех программ.Должна быть некоторая уверенность в том, что плохо написанное программное обеспечение может быть использовано для нарушения безопасности данных.

Я говорю, что это зависит от того, что всегда есть место для интерпретации теми, кто проводит проверку.Тем не менее, хорошая новость заключается в том, что из всех стандартов PCI кажется наиболее прямым и конкретным в отношении того, что вам нужно делать, а что нет.Вот дополнительная информация о том, что PCI говорит напрямую:

https://www.pcisecuritystandards.org/documents/infosupp_6_6_applicationfirewalls_codereviews.pdf

Основная проблема здесь заключается в том, чтобы быть уверенным, что сайт нигде не может быть использован.Если вы создадите достаточное количество «межсетевых экранов» между областями приложения (данные кредитной карты или обычный веб-сайт), это будет иметь большое значение для того, чтобы показать, что вам нужно только отсканировать некоторый код.Кроме того, как указано в приведенном выше документе, вам не нужно выполнять проверку исходного кода, чтобы быть PCI-совместимым.Однако ваше приложение должно быть тщательно протестировано, чтобы убедиться, что оно защищено от типичных уязвимостей.

1 голос
/ 01 июня 2011

Я не могу говорить с юридическими подробностями соответствия PCI, но если бы я был аудитором вашей системы, я бы очень громко кричал, если какой-нибудь несертифицированный код запускается с тем же идентификатором пользователя, что и сертифицированный код.

Я бы также внимательно посмотрел на то, какие исполняемые файлы setuid / setgid находятся в системе, что запускается как root или с повышенным capabilities(7), что может повлиять на PCI-совместимое программное обеспечение, и я бы, вероятно, потребовал обязательный контроль доступа инструменты, такие как AppArmor , SElinux , TOMOYO или SMACK , а также соответствующая конфигурация, предотвращающая вмешательствос PCI-совместимыми частями сервера ненадежными исполнительными доменами.

...