The CSSLP™ Prep Guide: Mastering the Certified Secure Software Lifecycle Professional
by Ronald L. Krutz, Alexander J. Fry
Chapter 2. Secure Software Requirements
The requirements for secure software are concerned with nonfunctional issues such as minimizing or eliminating vulnerabilities and ensuring that the software will perform as required, even under attack. This goal is distinct from security functionality in software, which addresses areas that derive from the information security policy, such as identification, authentication, and authorization.
Software requirements engineering is the process of determining customer software expectations and needs and is conducted before the software design phase. The requirements have to be unambiguous, correct, quantifiable, and detailed.
Karen Goertzel, Theodore Winograd, and their contributors in "Enhancing the Development Life Cycle to Produce Secure Software"[19] from the United States Department of Defense Data and Analysis Center for Software (DACS) state that all software shares the following three security needs:
It must be dependable under anticipated operating conditions, and remain dependable under hostile operating conditions.
It must be trustworthy in its own behavior, and in its inability to be compromised by an attacker through exploitation of vulnerabilities or insertion of malicious code.
It must be resilient enough to recover quickly to full operational capability with a minimum of damage to itself, the resources and data it handles, and the external components with which it interacts.
In this chapter, the considerations for software being secure ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access