The stakes for software security are high, and yet many development teams overlook it until it's too late—if they address it at all. To ensure successful implementation, it is crucial for developers to manage security and privacy issues throughout the entire software development lifecycle, rather than addressing them only after coding or during delivery preparation.
This course presents an approach for dealing with security throughout all phases of the software development lifecycle. You will identify the fundamentals of security, including the vulnerabilities and attacks that compromise it. You will also employ general strategies for addressing security risks to your software projects, as well as specific tactics for identifying and remediating those risks. Ultimately, you will acquire the skills it takes to secure all facets of a software project, beyond just the code itself.
This course is designed for any business professional involved in the software development process who desires or is required to develop highly secure software for organizational use. Candidates may be programmers, testers, architects, or any other personnel whose daily job duties involve directly building software; or, they may be project leaders, software engineers, and DevOps personnel who perform additional technical and non-technical duties as part of the overall software development lifecycle.
This course is also designed to assist candidates in preparing for the CertNexus Cyber Secure Software Developer™ (CSSD) Exam CSD-110 certification.
In this course, you will: identify fundamental security concerns in software development, leverage the secure software development lifecycle (SSDLC), define secure software requirements, design software for security, implement security protections in software, test software security, maintain security in deployed software, and prepare to defend against cyber attacks.
This course requires that you use the provided virtual machine, which includes various security tools and application environments. The course setup instructions provided in the first module of the course go into more detail about the hardware and software requirements.
As a software developer, your job can be complex and demanding. You must satisfy customers, meet business requirements and deadlines, and work cooperatively with other people on a project—all while handling the complex technical challenges of rapidly evolving development tools, programming languages, frameworks, and application programming interfaces (APIs). The complex interactions among all of the components involved in a project can be difficult to manage at times.
What's included
36 plugins
Show info about module content
36 plugins•Total 371 minutes
Data Files and Setup for This Course•20 minutes
About This Course•3 minutes
Lesson Introduction•1 minute
Topic A: Identify the Need for Software Security•1 minute
1A-1: Reading•13 minutes
1A-2: Activity•15 minutes
Topic B: Identify Factors That Undermine Software Security•1 minute
1B-1: Reading•10 minutes
1B-2: Activity•10 minutes
Topic C: Identify Fundamental Principles of Cybersecurity•1 minute
1C-1: Reading•25 minutes
1C-2: Activity•30 minutes
Topic D: Identify Common Vulnerabilities in Software•1 minute
1D-1: Reading•10 minutes
1D-2: Activity•5 minutes
1D-3: Reading•10 minutes
1D-4: Activity•5 minutes
1D-5: Reading•5 minutes
1D-6: Activity•20 minutes
1D-7: Reading•15 minutes
1D-8: Activity•10 minutes
1D-9: Reading•2 minutes
1D-10: Activity•20 minutes
Topic E: Identify Common Attacks and Exploits Against Software•1 minute
1E-1: Reading•20 minutes
1E-2: Activity•5 minutes
1E-3: Reading•13 minutes
1E-4: Activity•5 minutes
1E-5: Reading•8 minutes
1E-6: Activity•5 minutes
1E-7: Reading•15 minutes
1E-8: Activity•30 minutes
1E-9: Activity•15 minutes
1E-10: Activity•10 minutes
1E-11: Activity•10 minutes
Lesson Summary•1 minute
Leveraging the Secure Software Development Lifecycle
Module 2•5 hours to complete
Module details
Software security is not a set of individual tasks isolated from other organizational concerns. Instead, it is a repeatable process with several stages, much in the same way that software development itself follows a lifecycle. In this lesson, you'll follow and apply the stages of this lifecycle with a focus on security, ensuring your software projects are protected at a high level.
What's included
33 plugins
Show info about module content
33 plugins•Total 291 minutes
Lesson Introduction•1 minute
Topic A: Apply the Builder/Breaker Approach•1 minute
2A-1: Reading•20 minutes
2A-2: Guidelines•2 minutes
2A-3: Activity•5 minutes
Topic B: Incorporate SSDLC Practices and Methodologies•1 minute
2B-1: Reading•13 minutes
2B-2: Activity•5 minutes
2B-3: Reading•15 minutes
2B-4: Activity•5 minutes
2B-5: Reading•20 minutes
2B-6: Guidelines•5 minutes
2B-7: Activity•10 minutes
Topic C: Apply SSDLC Practices in the Use of AI•1 minute
2C-1: Reading•25 minutes
2C-2: Activity•5 minutes
2C-3: Reading•13 minutes
2C-4: Activity•5 minutes
2C-5: Reading•20 minutes
2C-6: Guidelines•3 minutes
2C-7: Activity•15 minutes
Topic D: Incorporate Governance, Risk Management, and Compliance (GRC) in the SSDLC•1 minute
2D-1: Reading•15 minutes
2D-2: Guidelines•2 minutes
2D-3: Activity•10 minutes
Topic E: Identify Key Roles in the SSDLC•1 minute
2E-1: Reading•20 minutes
2E-2: Activity•15 minutes
Topic F: Foster a Security-First Organizational Culture•1 minute
2F-1: Reading•20 minutes
2F-2: Guidelines•5 minutes
2F-3: Activity•10 minutes
Lesson Summary•1 minute
Defining Secure Software Requirements
Module 3•1 hour to complete
Module details
You've implemented different processes in the secure software development lifecycle (SSDLC), now it's time to go into depth for each phase of the lifecycle. As you know, the first phase is requirements definition and analysis. In this lesson, you'll explore some of the major sources of requirements and how best to define those requirements so that they meet your security needs.
What's included
14 plugins
Show info about module content
14 plugins•Total 89 minutes
Lesson Introduction•1 minute
Topic A: Define Compliance Requirements•1 minute
3A-1: Reading•7 minutes
3A-2: Activity•5 minutes
3A-3: Reading•30 minutes
3A-4: Activity•5 minutes
3A-5: Reading•8 minutes
3A-6: Guidelines•2 minutes
3A-7: Activity•5 minutes
Topic B: Define Security Requirements•1 minute
3B-1: Reading•2 minutes
3B-2: Guidelines•6 minutes
3B-3: Activity•15 minutes
Lesson Summary•1 minute
Designing for Security
Module 4•4 hours to complete
Module details
The process you use to design your software should reflect what is important to you, your customers, and other project stakeholders. Following this rationale, if software security is important to you, it should be an important part of your design processes. In this lesson, you'll move on to the second phase of the secure software development lifecycle (SSDLC) to incorporate security into the design of software.
What's included
18 plugins
Show info about module content
18 plugins•Total 227 minutes
Lesson Introduction•1 minute
Topic A: Apply General Principles for Secure Design•1 minute
4A-1: Reading•35 minutes
4A-2: Guidelines•2 minutes
4A-3: Activity•20 minutes
Topic B: Define the Security Architecture•1 minute
4B-1: Reading•25 minutes
4B-2: Activity•10 minutes
4B-3: Reading•35 minutes
4B-4: Guidelines•2 minutes
4B-5: Activity•5 minutes
Topic C: Conduct Threat Modeling•1 minute
4C-1: Reading•40 minutes
4C-2: Activity•10 minutes
4C-3: Reading•25 minutes
4C-4: Guidelines•3 minutes
4C-5: Activity•10 minutes
Lesson Summary•1 minute
Implementing Security Protections
Module 5•8 hours to complete
Module details
You've outlined security requirements and designed your software around security. The next phase of the secure software development lifecycle (SSDLC) is development, where you actually implement security protections through code. And, as part of a DevOps approach, you'll also implement protections that support your code and your software's runtime environments.
What's included
36 plugins
Show info about module content
36 plugins•Total 479 minutes
Lesson Introduction•1 minute
Topic A: Implement Cryptography•1 minute
5A-1: Reading•30 minutes
5A-2: Activity•30 minutes
5A-3: Activity•10 minutes
5A-4: Reading•20 minutes
5A-5: Activity•8 minutes
5A-6: Reading•18 minutes
5A-7: Guidelines•5 minutes
5A-8: Activity•15 minutes
5A-9: Activity•15 minutes
5A-10: Activity•25 minutes
5A-11: Activity•20 minutes
Topic B: Implement Application Security Parameters and Configurations•1 minute
5B-1: Reading•25 minutes
5B-2: Guidelines•3 minutes
5B-3: Activity•20 minutes
5B-4: Activity•15 minutes
Topic C: Implement Access Control•1 minute
5C-1: Reading•18 minutes
5C-2: Activity•7 minutes
5C-3: Reading•20 minutes
5C-4: Guidelines•13 minutes
5C-5: Activity•15 minutes
5C-6: Activity•20 minutes
Topic D: Protect Database Access•1 minute
5D-1: Reading•30 minutes
5D-2: Guidelines•3 minutes
5D-3: Activity•15 minutes
5D-4: Activity•20 minutes
Topic E: Implement Error Handling and Logging•1 minute
5E-1: Reading•10 minutes
5E-2: Guidelines•7 minutes
5E-3: Activity•15 minutes
5E-4: Activity•20 minutes
Lesson Summary•1 minute
Testing Software Security
Module 6•3 hours to complete
Module details
As you design and implement software throughout the entire software development lifecycle, you need to test it to ensure it will lead to a high-quality finished product that is secure and protects both users and the organization. There are various approaches to testing, several of which you'll employ in this lesson.
What's included
18 plugins
Show info about module content
18 plugins•Total 184 minutes
Lesson Introduction•1 minute
Topic A: Perform Security Tests•1 minute
6A-1: Reading•40 minutes
6A-2: Guidelines•3 minutes
6A-3: Activity•35 minutes
6A-4: Activity•20 minutes
Topic B: Analyze Software to Identify Security Issues•1 minute
6B-1: Reading•3 minutes
6B-2: Guidelines•2 minutes
6B-3: Reading•3 minutes
6B-4: Guidelines•2 minutes
6B-5: Reading•10 minutes
6B-6: Guidelines•2 minutes
6B-7: Reading•3 minutes
6B-8: Guidelines•2 minutes
6B-9: Activity•15 minutes
6B-10: Activity•40 minutes
Lesson Summary•1 minute
Maintaining Security in Deployed Software
Module 7•5 hours to complete
Module details
You've designed, developed, and tested your software. Now you must make sure it remains secure when deployed to production. And, you must ensure that security extends over time, performing fixes as needed. In this lesson, you'll engage with the final two phases of the secure software development lifecycle (SSDLC).
Topic D: Maintain Security After Deployment•1 minute
7D-1: Reading•8 minutes
7D-2: Guidelines•3 minutes
7D-3: Reading•3 minutes
7D-4: Guidelines•2 minutes
7D-5: Reading•3 minutes
7D-6: Guidelines•2 minutes
7D-7: Activity•30 minutes
7D-8: Activity•25 minutes
Topic E: Decommission Legacy Assets•1 minute
7E-1: Reading•10 minutes
7E-2: Guidelines•3 minutes
7E-3: Reading•6 minutes
7E-4: Guidelines•3 minutes
7E-5: Activity•13 minutes
Lesson Summary•1 minute
Preparing to Defend Against Cybersecurity Attacks
Module 8•3 hours to complete
Module details
As a software developer, you may not think of yourself as being on the frontlines of cybersecurity within an organization. After all, there are security practitioners whose job it is to be vigilant against active attacks. Even though you may not implement cybersecurity defenses yourself, you must still be aware of them and why they're necessary to ensure the security of the entire organization—software included. This is crucial in supporting a truly effective DevSecOps approach.
What's included
13 plugins
Show info about module content
13 plugins•Total 150 minutes
Lesson Introduction•1 minute
Topic A: Identify the Stages of the Cyber Kill Chain•1 minute
8A-1: Reading•40 minutes
8A-2: Activity•20 minutes
Topic B: Continuously Analyze the Cybersecurity Landscape•1 minute
8B-1: Reading•25 minutes
8B-2: Guidelines•3 minutes
8B-3: Activity•20 minutes
Topic C: Continuously Improve Secure-Coding Knowledge and Skills•1 minute
8C-1: Reading•20 minutes
8C-2: Guidelines•2 minutes
8C-3: Activity•15 minutes
Lesson Summary•1 minute
Completing the Course
Module 9•1 hour to complete
Module details
You'll wrap things up and then validate what you've learned in this course by taking the credential exam.
CertNexus is a vendor-neutral certification body, providing emerging technology certifications and micro-credentials for Business, Data, Development, IT, and Security professionals. CertNexus’ exams meet the most rigorous development standards possible which outlines a global framework for developing personnel certification programs to narrow the widening skills gap.
OK
Why people choose Coursera for their career
Felipe M.
Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
Jennifer J.
Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
Larry W.
Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
Chaitanya A.
"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."
When will I have access to the lectures and assignments?
To access the course materials, assignments and to earn a Certificate, you will need to purchase the Certificate experience when you enroll in a course. You can try a Free Trial instead, or apply for Financial Aid. The course may offer 'Full Course, No Certificate' instead. This option lets you see all course materials, submit required assessments, and get a final grade. This also means that you will not be able to purchase a Certificate experience.
What will I get if I purchase the Certificate?
When you purchase a Certificate you get access to all course materials, including graded assignments. Upon completing the course, your electronic Certificate will be added to your Accomplishments page - from there, you can print your Certificate or add it to your LinkedIn profile.
Is financial aid available?
Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.