Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Security-Driven Software Development

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
This course empowers software developers to integrate security throughout the software development lifecycle (SDLC). In today’s rapidly evolving threat landscape, securing applications from the outset is crucial. You'll learn to identify and mitigate common security risks such as buffer overflows, SQL injection, and session hijacking. By emphasizing practical examples, this course bridges theory and real-world applications to build a “build security in” mindset. Throughout this course, you will develop the skills necessary to design secure applications by analyzing vulnerabilities and applying mitigation techniques at every stage of development. Hands-on exercises and code snippets provide valuable tools to tackle progressively advanced security challenges. Unlike other courses that focus only on theory, this course blends conceptual explanations with real-world scenarios, ensuring you can apply your learning immediately. By the end, you’ll be equipped to tackle security challenges in your own software projects. Software developers and web developers who wish to enhance their skills in secure application development will benefit from this course. A basic understanding of software development and security principles is recommended to get the most out of this content.

Syllabus

  • Security Principles
    • In this section, we explore security principles, OWASP, NIST, and software development lifecycles.
  • Designing a Secure Functional Model
    • In this section, we explore designing a secure functional model by analyzing requirements, non-functional security needs, and creating use cases for secure system behavior.
  • Designing a Secure Object Model
    • In this section, we explore secure object model design, focusing on identifying objects, creating class diagrams, and defining invariants for secure behavior.
  • Designing a Secure Dynamic Model
    • In this section, we examine object behavior, interactions, and constraints to design secure dynamic models, enhancing system security and reliability through UML diagrams and practical applications.
  • Designing a Secure System Model
    • In this section, we explore designing secure system models by implementing partitions, modeling interactions, and using UML diagrams to visualize system architecture and enhance security.
  • Threat Modeling
    • In this section, we explore threat modeling techniques like STRIDE, DREAD, and attack trees to identify and mitigate security risks in software systems through structured analysis.
  • Authentication and Authorization
    • In this section, we explore authentication and authorization, focusing on their roles in securing systems. Key concepts include SSO, OAuth, and enterprise security models, with practical implementation insights.
  • Input Validation and Sanitization
    • In this section, we explore input validation and sanitization to secure applications and prevent vulnerabilities.
  • Standard Web Application Vulnerabilities
    • In this section, we examine standard web application vulnerabilities, including injection attacks, broken authentication, and request forgery, with practical strategies for mitigation and secure development practices.
  • Database Security
    • In this section, we explore database security, including SQL injection, RBAC, encryption, and enterprise protections to ensure data safety.
  • Unit Testing
    • In this section, we cover unit testing principles, frameworks, and secure testing practices.
  • Regression Testing
    • In this section, we cover regression testing, RPA tools, and enterprise test planning to ensure software stability after code changes.
  • Integration, System, and Acceptance Testing
    • In this section, we cover integration, system, and acceptance testing to ensure software components work together reliably.
  • Software Penetration Testing
    • In this section, we cover penetration testing types, phases, tools, and reports to improve system security.

Taught by

Packt - Course Instructors

Reviews

Start your review of Security-Driven Software Development

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.