This topic has started to come up again as we go through PA-DSS research on applications and find that the listings contain operating systems that are at or past end of life (EOL).
The example below is only one of many listings in the PA-DSS database maintained by the PCI SSC that has this condition. Unfortunately, when you export the PA-DSS database, it does not include the platform and version number information fields, so we have limited ability to audit what the database actually contains in this regard unless we encounter it as we have with this application.
As this listing shows, this application is still acceptable for new deployments for Windows XP SP3 and IBM System i AS/400 6.1. Thanks to all of the media reports this past year, we should all be aware that the standard desktop version of Windows XP has past EOL. V6.1 of IBM i5/OS will reach EOL on September 30, 2015, so it has a very short lifespan for this entry.
So what is going on? As near as I can tell, this is a breakdown in the PA-DSS validation process involving the Council and the vendors.
The way the process is supposed to work is that the vendor is supposed to re-validate their application annually or whenever any of the following occur:
- All or three or more PA-DSS Requirements/sub-Requirements are affected, not including Requirements 13 (maintain an implementation guide) and 14 (have a training program for employees, customers, resellers and integrators);
- The Payment Application’s functionality or half or more of its code-base is changed; or
- Addition of tested platform/operating system to include on the List of Validated Payment Applications.
In order to re-validate, the vendor will incur a cost both to have the application reassessed by their PA-QSA and then have the application listed or existing listing updated on the PCI SSC Web site in the PA-DSS database.
However, what this does point out is a flaw in the process at the Council’s end. One would think that the Council should have removed Windows XP from this entry when the revalidation was posted since XP was long past EOL.
This also points to a flaw on the vendors’ part – PA-DSS validating applications on too few platforms when they initially validate or re-validate those applications. I get that PA-DSS validation is not inexpensive both from the assessment process as well as registering the applications with the PCI SSC. However this is not the time or place to cut costs particularly if your application runs on Windows. Microsoft introduces a new version of Windows and the application vendor does not PA-DSS validate the application for the new version of Windows.
Continuing on with our example, VeriFone re-validated their PAYware Transact probably on or around November 11, 2014 based on the current Revalidation Date of November 11, 2015. That date is well after the XP EOL date back in April 2014, so why did the vendor not re-validate their solution for a newer version of Windows? My guess having been involved with these re-validations is that the vendor wanted to re-validate their listing for i5/OS v6.1, not Windows XP. I would additionally assume that VeriFone is validating a new version of PAYware Transact for Windows 7/8 and possibly i5/OS v7. As a result, for VeriFone there is no reason to validate v3.2.4 for the newer Windows versions.
Vendors seem to forget that if their application runs on Windows 7 or 8 64-bit, it will likely be run by some customers on the Windows Server versions as well and vice versa. I have seen this happen most often with vendor sales people who want to close the sale and know that the application will run on any recent version of Windows even though it was not necessarily PA-DSS validated for those versions of Windows.
This leads to what we can face as QSAs when dealing with PA-DSS validated applications. The first are the clients that insist because Windows XP is still listed for PAYware Transact on the PCI SSC PA-DSS database, that they are allowed to continue running Windows XP like they always have done with the application. While the PCI DSS does not prohibit the running of EOL operating systems, anyone doing so must have compensating controls implemented to mitigate the risks of running that EOL OS. It is those compensating controls that send most clients over the edge because they are typically very onerous to implement and maintain if such compensating controls can even be developed.
The more common condition is all of you running PAYware Transact on Windows 7/8, Windows Server 2008/2012 or even i5/OS v7. Unfortunately, you are not running this application in the PA-DSS validated environment as listed in the PCI SSC PA-DSS validated applications database. Since it was never tested on those platforms for validation, the rules state that your QSA cannot rely on the PA-DSS validation for the application. As a result, a QSA will need to test the application to ensure it is secure just as they would any application that is not PA-DSS validated. We encounter this most often with Windows, but are starting to encounter this more and more with Linux variants as well.
But where it really gets messy and nasty is when a QSA assesses a PA-DSS validated application running in such an environment and the QSA finds one or more issues with the application that indicate it should never have been PA-DSS validated. When that does happen, it is the QSA’s client’s responsibility to contact the PCI SCC with their concerns and evidence of the issues related to questioning the PA-DSS validation.
So what would I like to see from this discussion?
- The PCI SSC needs to do more with their PA-DSS validation database so that EOL OS environments get removed from listings or at least flagged as EOL on the “Acceptable for New Deployments”.
- If a PA-DSS validated application comes under scrutiny for possibly not complying with the PA-DSS, the listing should be flagged as “Under Review” and treated similar to how the Council treats QSACs that are “In Remediation”. Implementations could proceed but the issues under review must be disclosed to customers and their QSAs/ISAs so that they can be assessed and compensating controls put into place.
- Vendors need to validate their applications for all operating systems, not just the ones that were around when it was originally validated if it is to remain under the “Acceptable for New Deployments” category.
- Vendors need to validate their applications for all operating systems that they support; not just one version of Windows and/or one version of Linux.
- If operating system is not an issue that influences the security of the application if the OS is properly configured, then the PCI SSC should consider some sort of indication that any current version of an OS is acceptable versus only the versions tested.