Wednesday, March 6, 2013

The Gift of Guidelines

by Jeremy Powell, CCTL Deputy Manager

NIAP has published several protection profiles in the past year or so that are aligned with their new vision for the Common Criteria. Unfortunately, these profiles appear to be developed in isolated silos without a coherent overarching policy on what the U.S. government wishes to see with respect to information assurance. It is imperative that an assurance policy gets established quickly lest we end up with several protection profiles each with different interpretations of what assurance means and no real argument why this is better than where we started.

As an evaluator, I read protection profiles and often puzzle over the decisions the profile authors made. Why did they reword that SFR when the change appears to be superficial? Why are attacks on entropy considered in scope but we're uninterested in examining undocumented interfaces? I am constantly fretting over what nuances I might be missing. I imagine profile authors go through the same stress. They want to mesh their profile into the framework that already exists but may not quite understand how other technical communities determined the assurance requirements for other profiles. Both authors and evaluators are left to make their own interpretations to the detriment of reproducibility and repeatability.

What's missing in protection profiles (both old and new) is a clear statement about what the assurance objectives are that should be achieved with compliant products. A consumer choosing a compliant product should have a clear view of those objectives allowing him to map them to his own objectives and identify if and to what extent the evaluation addresses them. In old style protection profiles, just one of the assurance levels defined in the Common Criteria were required without justifying it or even analyzing if another combination of assurance measures would be more appropriate for the technology and the overall objectives stated. This mistake is still being made in new profiles. Although there are plenty of objectives for functionality, there are none for assurance.

A central policy needs to be developed to describe in plain words what NIAP and its stakeholders want to accomplish. Maybe the focus is on infrastructure resilience, financial sectors, and national security. If so, then an exposition of each group's information assurance requirements should be included, expressly listing any nuances each one might have. For example, maybe infrastructure (such as energy, utility, etc.) needs to focus on availability, whereas financial and national security groups need confidentiality to be the primary goal. Writing down these assurance objectives makes our efforts more pragmatic and mission-oriented.

Next, the policy needs to specify the actual assurance requirements that profiles would claim and refine. For example, the following assurance requirements might be potential candidates:

NIAP_TST.1 -  The evaluator shall develop and execute a test plan that demonstrates that the TSF behaves as the user guidance describes.
NIAP_VAN.1 - The evaluator shall check that all publicly known exploitable vulnerabilities that violate the security objectives are mitigated or removed from the TOE.
NIAP_ENT.1 - The evaluator, with guidance from the certifying  scheme, shall analyze and determine that the TSF securely generate cryptographic material.

Each of these requirements are very broadly written, but they effectively communicate what an evaluator will do to produce the needed assurance.

Last, the policy should provide guidance on how to adapt the assurance requirement to different technologies. Take NIAP_VAN.1 for example:

NIAP_VAN.1 requires the evaluator to identify publicly known vulnerabilities that affect the TSF. When refining this assurance requirement, the profile author might consider what "publicly known" means. In some cases such as general purpose operating systems, it might be appropriate to point to general vulnerability databases like Mitre's Common Vulnerability and Exposures (CVE) database. In more niche technology areas such as special network appliances, a more specific database may be specified that matches the technology type. It also is entirely appropriate and encouraged for profile authors to iterate and refine this assurance requirement for multiple databases. A profile author may wish to add extended assurance by requiring the evaluator to check the CVE database as well as the Metasploit framework for known exploits.

I'm sure it hasn't escaped the reader that this looks an awful lot like the structure of an assurance package with CEM-like guidance. Well, that's because in a lot of ways, that's a good way to do it. However, in moving toward the vision of technology-specific protection profiles, it becomes necessary for the profile authors to provide technology-specific assurance activities as it makes little sense to require evaluators to follow a vague "attack potential calculation" when the profile developers can tailor the assurance activities to the specific technology. So, we turn the concept of the "Common Evaluation Methodology" into the "Common Profile Development Methodology."

By developing this policy (and supporting methodology), NIAP can provide a common language to discuss the needs of their stakeholders with the vendors and labs. Clearer communication will help the vendors know what their customers need, it will enable the labs to provide more objective and principled evaluations, and it will allow stakeholders to confirm that they received the assurance that they actually asked for. For now, though, both profile authors and evaluators are relegated to making decisions based on guesswork, interpretation, and inference which does not lend our efforts to repeatable and reproducible results.

No comments:

Post a Comment

Comments are moderated with the goal of reducing spam. This means that there may be a delay before your comment shows up.