CSSLP Domain 3:1 - Design Processes
Security Software Design - Introduction

This is the first course in Domain 3 of the CSSLP certification and covers the essential ideas, concepts, and principles that you need to take into account when building secure software.

Learning Objectives

  • Understand the main security models used for developing software in a secure way
  • Learn how to develop and implement security models
  • Understand how to manage risk and threats

Intended Audience

This course is intended for anyone looking to develop secure software as well as those studying for the CSSLP certification.


Any experience relating to information security would be advantageous, but not essential. All topics discussed are thoroughly explained and presented in a way allowing the information to be absorbed by everyone, regardless of experience within the security field.


Welcome back to the Certified Secure Software Lifecycle Professional, or the CSSLP. In this module, we will cover the essentials of those elements, ideas, concepts, and principles about what issues must be considered when embarking, that is before embarking, on a program of building secure software. Whether you're working in an agile scrum shop, a classic waterfall operation, or a DevOps continuum, will have a critical impact on the process and final product produced by your project. In fact, it is more likely that the impact will be significantly negative if they are not used to inform the functional and detailed design decisions reached in this phase, but we will cover both what to consider and why it must be. These will be much clearer.

What we see is what underlies secure software, how to become familiar with the practice of risk management through all the phases, being able to apply security concepts throughout the life cycle, understanding the various security models and how they apply, being familiar with legal and regulatory factors and their effects, and then apply the design methods to address the issues of performance and resilience. We're going to cover Attack Surface Evaluation, Threat Modeling, Code Identification and Prioritization, Risk Assessment for Code Reuse, Documentation, and then complete with Design and Architectural Technical Review.

Now for software to be secure and resilient against hackers, it must take into account certain foundational concepts of information security. We're going to ensure that it includes a discussion of confidentiality, integrity and availability. Points we've discussed in quite a lot of depth before, but in this context, they'll take on a bit different definition and dimension. We'll also talk about authentication, authorization, accountability, the management of sessions, exceptions errors, and configuration parameters and their importance.

Now the CSSLP candidate is expected to be familiar with these foundational concepts and how to apply them when designing and developing software, the topical area. They must be familiar with the principles of risk management and governance as they apply to software development. Regulatory privacy and compliance requirements that impose the need for secure software and repercussions of non-compliance must also be understood. And trusted computing concepts that can be applied in software that is built in-house or purchased are covered, and it is imperative that the candidate be familiar with their applications.

About the Author
Learning Paths

Mr. Leo has been in Information System for 38 years, and an Information Security professional for over 36 years.  He has worked internationally as a Systems Analyst/Engineer, and as a Security and Privacy Consultant.  His past employers include IBM, St. Luke’s Episcopal Hospital, Computer Sciences Corporation, and Rockwell International.  A NASA contractor for 22 years, from 1998 to 2002 he was Director of Security Engineering and Chief Security Architect for Mission Control at the Johnson Space Center.  From 2002 to 2006 Mr. Leo was the Director of Information Systems, and Chief Information Security Officer for the Managed Care Division of the University of Texas Medical Branch in Galveston, Texas.


Upon attaining his CISSP license in 1997, Mr. Leo joined ISC2 (a professional role) as Chairman of the Curriculum Development Committee, and served in this role until 2004.   During this time, he formulated and directed the effort that produced what became and remains the standard curriculum used to train CISSP candidates worldwide.  He has maintained his professional standards as a professional educator and has since trained and certified nearly 8500 CISSP candidates since 1998, and nearly 2500 in HIPAA compliance certification since 2004.  Mr. leo is an ISC2 Certified Instructor.