Cisco products must meet two types of product security requirements:
The Product Security Baseline (PSB) requirements define the security-related functionality, development process, and documentation expectations for all Cisco products.
The PSB focuses on important security aspects such as credential and key management, cryptography standards, antispoofing capabilities, integrity and tamper protection, and session/data/stream management and administration.
The PSB also characterizes the minimum requirements for resilience and robustness, sensitive data disposal, and logging and documentation of services and protocols.
Some markets and industries, such as finance, government, and medical, place additional security requirements on Cisco customers. These requirements typically exceed the Cisco baseline, and we strive to meet or surpass them.
Many Cisco products incorporate third-party software, both commercial and open source. Consequently, Cisco products and customers are affected when vulnerabilities are found in third-party software.
To minimize the impact to you, our customers, we use two integrated tools to help us gain visibility into third-party software security threats:
A poor product design can open the way to vulnerabilities. At Cisco, our "secure design" approach requires two types of considerations:
Designing with Security in Mind is an ongoing commitment to personal and professional improvement through:
We also reduce design-based vulnerabilities by considering known threats and attacks. With threat modeling, we:
Veteran developers know that coding and implementation errors can create security vulnerabilities. While this knowledge comes with experience and training, Cisco requests that developers at all levels follow some best practices to help ensure threat-resistant code:
An essential element of secure coding is well-documented and enforceable coding standards. Our coding standards encourage programmers to follow a uniform set of rules and guidelines determined by the requirements of the project and organization.
A set of key security checkers maximize efficacy and reduce false positives of the Static Analysis tools in finding:
All Cisco development teams are expected to deploy these security checkers, review any warnings that are generated, and fix high-priority issues.
Vulnerability testing helps ensure that all Cisco products are tested consistently for security defects. First, we develop test cases for:
Then, three regiments of Cisco SDL Vulnerability Testing evaluate the ability of a product to withstand probes and attacks:
We use of a variety of security tools from multiple sources to execute an effective security test plan. Our Security Test Package combines them all into a single, easy-to-install collection of tools. This helps us to test for security defects in a consistent and repeatable manner.