Loading...

Course Description

The stakes for software security are very high, and yet many development teams deal with software security only after the code has been developed and the software is being prepared for delivery. As with any aspect of software quality, to ensure successful implementation, security and privacy issues should be managed throughout the entire software development lifecycle. This course presents an approach for dealing with security and privacy throughout the entire software development lifecycle. You will learn about vulnerabilities that undermine security, and how to identify and remediate them in your own projects. You will learn general strategies for dealing with security defects and misconfiguration, how to design software to deal with the human element in security, and how to incorporate security into all phases of development.

Course Outline

Lesson 1- Identifying the Need for Security in Your Software Projects

Topic A - Identify Security Requirements and Expectations

Topic B - Identify Factors That Undermine Software Security

Topic C - Find Vulnerabilities in Your Software

Topic D - Gather Intelligence on Vulnerabilities and Exploits

Lesson 2 - Handling Vulnerabilities

Topic A - Handle Vulnerabilities Due to Software Defects and Misconfiguration

Topic B - Handle Vulnerabilities Due to Human Factors

Topic C - Handle Vulnerabilities Due to Process Shortcomings

Lesson 3 - Designing for Security

Topic A - Apply General Principles for Secure Design

Topic B - Design Software to Counter Specific Threats

Lesson 4 - Developing Secure Code

Topic A - Follow Best Practices for Secure Coding

Topic B - Prevent Platform Vulnerabilities

Topic C - Prevent Privacy Vulnerabilities

Lesson 5. - Implementing Common Protections

Topic A - Limit Access Using Login and User Roles

Topic B - Protect Data in Transit and At Rest

Topic C - Implement Error Handling and Logging

Topic D - Protect Sensitive Data and Functions

Topic E - Protect Database Access

Lesson 6 - Testing Software Security

Topic A - Perform Security Testing

Topic B - Analyze Code to find Security Problems

Topic C - Use Automated Testing Tools to Find Security Problems

Lesson 7 - Maintaining Security in Deployed Software

Topic A - Monitor and Log Applications to Support Security

Topic B - Maintain Security after Deployment

Prerequisites

This course presents secure programming concepts that apply to many different types of software development projects. While this course uses Python, HTML, and JavaScript to demonstrate various programming concepts, you do not need to have experience in these languages to benefit from this course. However, you should have some programming experience, whether it be developing desktop, mobile, web, or cloud applications. A variety of courses covering software development that you might use to prepare for this course, such as:

  • Developing Secure Universal Windows® Platform Apps in C# and XAML 
  • Developing Secure iOS® Apps for Business
  • Developing Secure Android™ Apps for Business 
  • Python® Programming: Introduction • Python® Programming: Advanced 
  • Programming Google App Engine™ Applications in Python® 
  • HTML5 - Content Authoring with New and Advanced Features
  • SQL Querying: Fundamentals

Duration

3 Days | 6 Nights
Loading...
Enroll Now - Select a section to enroll in
Section Title
Cyber Secure Coder
Type
Instructor-Led
Days
T, Th
Time (Central Time)
5:30PM to 8:30PM
Dates
Aug 15, 2023 to Aug 31, 2023
Schedule and Location
# of Course Hours
18.0
Delivery Option
Course Fee(s)
Rate non-credit $2,995.00
Potential Discount(s)
Section Title
Cyber Secure Coder
Type
Instructor-Led
Days
M, W
Time (Central Time)
5:30PM to 8:30PM
Dates
Dec 04, 2023 to Dec 20, 2023
Schedule and Location
# of Course Hours
18.0
Delivery Option
Course Fee(s)
Rate non-credit $2,995.00
Potential Discount(s)
Required fields are indicated by .
*Academic Unit eligibility to be determined by college/university in which you are enrolled in a degree seeking program.