Today, the PCI Council released the final version of PCI DSS 1.2. We wrote about this upcoming release several times in the past and even had a pretty successful webinar.
The requirement document now integrates the testing procedures which solves some of the ambiguity among customers, security vendors and the QSA community. Overall though, most of the changes are minor.
In my opinion, adding the testing procedures and emphasizing some of the tests and steps that should be taken deflates one of the main controversial debate areas and simplifies section 6.6. As you know, we believe that choosing between code review and Web Application Firewall is a false dilemma. Amichai and myself were spearheading industry efforts evangelizing this idea and it looks like it has resonated well. PCI 1.2 takes the air out of the code review option and holds up a WAF as the optimal choice for addressing section 6.6.
This new section will help all Web Application Vendors demonstrate the effectiveness and operational benefits of WAFs over scanning. See the comparison below:
Below you can see a list of the changes:
- The Council makes it clear that public-facing web applications should be protected by web-application firewall (versus "an application layer firewall" in version 1.1).
- The Council makes it clear that applications need to be reviewed after any changes. Previously, this point was not part of the standard and was mentioned only in the testing procedure.
- The Council makes it clear that organizations should verify that all vulnerabilities are corrected. Previously, this point was not part of the standard and was mentioned only in the testing procedure.
- The Council makes it clear that organizations should verify that the application is re-evaluated after the corrections have been made. Previously, this point was not part of the standard and was mentioned only in the testing procedure.
- For many applications, the source code is not readily available or understood. This could be either because the application is a third-party application or because the original developers of a legacy application are no longer available to explain what they did. (in other words: without the source or application understanding, one will not be able to fix the identified problem).
- Applications (especially Web applications) change frequently so the focus of code review is a moving target with new vulnerabilities potentially being introduced at any time. In many cases, the application can change before a full review cycle has been completed.
- Attacks (again, especially Web attacks) also change frequently. Prior to three years ago, no code review would have found response splitting problematic. Then a paper describing response splitting attack techniques required developers to send the same code back to review.
- The need to correct the problems by fixing the code conflicts with the need to keep the web applications up and running. If the problems are not fixed, the organization has a liability problem.
With all that being said, organizations will have to use a Web Application Firewall as compensating control while fixing vulnerabilities. Why would anyone wait to implement a WAF and put his applications and customers at risk?
The debate is deflated. WAF it is.









Leave a comment