所有源代码是否都需要PCI兼容?

时间:2011-05-31 23:39:52

标签: pci-compliance

我们过去从未传输,处理或存储信用卡信息,因为我们通过PayPal完成所有工作,因此我们永远不需要符合PCI标准。

然而,我们正在推出一个新的在线商店,通过无缝结账处理信用卡信息而无需重定向到PayPal,我们现在需要PCI合规。

我们将咨询合格的安全评估公司,以指导我们获得并保持PCI合规性。但是,在他们试图向你出售你可能不需要的所有服务之前,我想在咨询之前对我正在看的东西有一个不错的想法。

就PCI合规性而言,我理解它需要在软件和硬件级别上完成并满足12点+所需。我们将与Magento Professional合作,因为它具有PCI兼容支付系统,我们将与PCI兼容的网络托管公司(专用服务器)合作。但就软件而言,您是否需要在所有方面遵守PCI?或者只是传输,存储和处理信用卡信息的软件?

例如,据Magento称,支付软件符合PCI标准,而Magento平台则不符合PCI标准。因此,这允许您对Magento进行更改,修改和自定义,而不会影响支付软件的PCI合规性。

换句话说,我问,您是否只需要处理传输,处理和存储信用卡信息的源代码/软件的PCI合规性?这些“合格的安全评估公司”给人的印象是,所有源代码都需要检查PCI合规性,这是不可能的!

例如,在Magento的情况下,我可以对其进行更改和修改并仍然符合PCI标准吗?只要支付模块不受影响,因为它符合PCI标准,并且网络托管,服务器和操作系统符合PCI标准?

我的意思是不处理信用卡的php,javascript,mysql东西不需要兼容吗?他们当然会在同一台服务器上。

2 个答案:

答案 0 :(得分:4)

基本答案取决于它。通常,只有处理(或可以处理)PCI敏感和受保护数据的源代码才需要符合PCI标准。但是,这意味着如果代码的其他区域可以访问安全区域,那么您也需要安全性。例如,如果您的应用程序的另一个区域容易受到SQL注入攻击,则可能会损害您的信用卡系统。这就是为什么有些人会倾向于所有软件的PCI合规性。必须保证可以利用写得不好的软件来破坏数据的安全性。

我说这取决于因为进行检查的人总有一些解释空间。然而,好消息是在所有标准中,PCI似乎是最直接和具体的,你需要做什么和不能做什么。以下是有关PCI直接说明的更多信息:

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

这里的基本问题是确保网站无法在任何地方被利用。如果您在应用程序区域(信用卡数据与普通网站)之间建立了足够的“防火墙”,那么它将显示您只需要扫描一些代码。此外,如上述文档所述,您无需进行源代码审查即可符合PCI标准。但是,您的应用程序需要进行广泛测试,以确保它不受典型漏洞的影响。

答案 1 :(得分:1)

我无法谈及PCI合规性的法律细节,但如果我是您系统的审核员,如果任何非认证代码与运行认证代码的用户ID相同,我会大声说话。

我还会仔细查看系统上的setuid / setgid可执行文件,运行为root或提升capabilities(7)的可执行文件可能会影响PCI兼容软件,我会可能需要mandatory access controlAppArmorSElinuxTOMOYOSMACK工具,以及防止篡改PCI兼容部分的适当配置服务器由不受信任的执行域。