Here is a point of confusion that even I do not completely understand. Mainly because I do not understand why there is any confusion to begin with. I am writing about this because the PCI SSC and the card brands need to provide guidance on what applies in regards to credit card terminals and PCI compliance. The credit card terminal industry also needs to wake up and get on board with security before they end up in the PCI compliance dog house.
There seems to be a huge disconnect between the various standards and how they apply to credit card terminals. In a thread on the SPSP Forum, there have been discussions regarding the fact that credit card terminals are required to meet the PCI DSS standard. Yet I have seen terminals that store primary account numbers (PAN) unencrypted and violate other PCI DSS and PA-DSS requirements. If you ask the terminal vendors, they claim that the only standard they need to worry about is the PCI PTS. Hello?
Requirement 3.4 of the PCI DSS is the most troubling of the lot, the storing of PANs unencrypted. I have seen numerous terminals that store PANs unencrypted. Press the vendors on this issue and they come back with the following.
- The PANs can only be displayed one at a time.
- You have to be in administration mode to view the PANs.
- The PANs cannot be printed out.
- The PANs are stored in memory, not on a hard drive.
- The PANs are cleared when the end-of-day (EOD) process is run.
In a couple of instances of which I am aware, the terminal vendor has told everyone that the terminals that are storing PANs will be fixed by August 2010, but not sooner.
Okay. So you will rely on a compensating control to meet requirement 3.4. In my opinion, none of those aforementioned bullets are sufficient to meet the requirements of a compensating control. Big deal that the PANs can only be displayed one at a time. The fact that you need to be in administrative mode is nothing, as most of these devices only have two modes, end user and administrative. And to run EOD or do anything else, you need to be in administrative mode. Storage is storage, memory or otherwise. Logging of access to these devices is not available. None of these conditions rise to going above and beyond, so a compensating control is not even possible.
Then there is compliance with the PA-DSS. This is a really sore spot with terminal vendors. They claim that the PA-DSS does not apply to them and point to the following on page vii of the PA-DSS standard.
“Hardware terminals with resident payment applications (also called dumb POS terminals or standalone POS terminals) do not need to undergo a PA-DSS review if all of the following are true:
- The terminal has no connections to any of the merchant’s systems or networks;
- The terminal connects only to the acquirer or processor;
- The payment application vendor provides secure remote 1) updates, 2) troubleshooting, 3) access and 4) maintenance; and
- The following are never stored after authorization: the full contents of any track from the magnetic stripe (that is on the back of a card, in a chip, or elsewhere), card-validation code or value (three- or four-digit number printed on front or back of payment card), PIN or encrypted PIN block.”
First, I do not believe there is such a thing as a “dumb” credit card terminal any more. They all have memory and software and, in most cases, have complete software development kits for application development using languages such as Java, C++ and the like. In some cases, these terminals are as powerful as a netbook. Yet, somehow the PCI SSC and the card brands have missed this point.
Most of these devices have only one ‘secure’ account. And that account is shared with every support person around. Anyone remember PCI DSS requirement 8.5.8 regarding shared accounts? Whoops!
Then there is that first bullet regarding the terminal having NO connection to any of the merchant’s systems or networks is where I run into the most problems. We see a lot of these credit card terminals with serial or USB connections to POS solutions. In most cases, the terminals are only retrieving the amount of the purchase from the POS solution and telling the POS solution that the transaction has been approved or declined. But there are also a lot of instances where the data flows from the terminal through the POS to and from the processor. That does not include the number of terminals that are connected to LANs for access to the processor.
The “rub” in all of this is that the software that drives these terminals is the same regardless of whether they connect to a POS solution or network. Talk to any software engineer from any terminal vendor and they will tell you that the underlying software for each family of terminals is the same, regardless of the options used or installed. So, if the terminals are not connected to a POS system we can ignore the fact that these terminals are not PA-DSS compliant. But if the terminals are connected to the POS, then all of a sudden, they need to be PA-DSS complaint. What kind of nonsense is that? In my opinion, they need to comply with the PA-DSS regardless as this is cardholder data processing software.
So, where are we in all of this?
Is the software application in the terminal PA-DSS certified? No!
Is it supposed to be certified? Yes!
And the vendors’ responses? You are misinterpreting the standard.
Pardon? Exactly where have I misinterpreted the standard?
It’s BS like this that allow people to point at the PCI standards and say they are inconsistent and stupid. Well, I hate to say it, but in this situation, it is inconsistent and a bit stupid. All of you at the PCI SSC, the card brands and terminal vendors – get a clue before this becomes the next big exposure point.