Overview

With the increase in cybercrime and threat actors targeting web applications and software vulnerabilities as a route to exploit business, it's crucial to build security into new systems developments processes right from the start. Most successful cyber-attacks still depend on exploiting a few well-known common vulnerabilities. The Open Worldwide Application Security Project (OWASP) has recently released a valuable resource shedding light on the top 10 vulnerabilities that frequently plague large language model (LLM) applications. These vulnerabilities, such as prompt injections, data leakage, inadequate sandboxing, and unauthorized code execution, have the potential to significantly impact LLM systems and operations. This course, updated with the latest OWASP Top 10, will show you how security can be designed into, managed and maintained within a development lifecycle. Learn about the challenges of Artificial Intelligence (AI) generated software, and how to build security into AI systems at the outset.

Read more

Prerequisites

There are no specific pre-requisites for this course.

Note: This course does not cover hands-on coding. Additional courses can be found in our Application Security and Secure Coding learning pathways.

Read more

Learning Outcomes

  • Understand the main Secure Development Lifecycle (SDLC) Models, and their principal differences
  • Be able to choose which SDLC model is most appropriate in a given situation.
  • Learn how to apply secure development techniques from the initial design stage and throughout a development lifecycle
  • Understand the latest (2021) OWASP vulnerabilities and how to counter/mitigate them
  • Learn about useful system design tools
  • Discover resources to help introduce and use secure design and development best practices
  • Learn Threat Modelling methodologies and techniques
  • Understand the benefits of code review
  • Understand various testing strategies
  • Learn about encryption, securing and compromising passwords and meta data
  • Understand the challenges of AI generated software
  • Discover the benefits and pitfalls of GitHub Co-pilot
  • Understand the OWASP Top 10 for Large Language Models (LLM)
  • Learn about the future AI security challenges for Secure by Design
Read more

Course Outline

Module 1 - Secure Development Lifecycle (SDLC)

  • An overview of the main SDLC models
  • Development models
    • DevOps
    • DevSecOps
  • Configuration and source code management
    • Integrated teams
    • Securing the software environment
    • API security
  • Risk analysis tools

Module 2 - Secure By Design

  • Secure development processes
  • Threat modelling
    • Identify Assets
    • Create Architecture Overview
    • Decomposing Applications
    • Identify, Document and Rate the Threats
  • Practical Threat Modeling
    • STRIDE
    • Attack Trees
  • Risk mitigation in the Supply Chain
    • Supply Chain Mapping
    • Trust boundaries
  • Security best practice
    • Least Privilege
    • Reducing the Attack Surface
    • Input Validations
    • Defence in Depth
  • Security Patterns & Models
    • System Design Tools
    • Secure design architecture

Module 3 – Introduction to Application Security (OWASP 2021)

  • Vulnerabilities and mitigations available to any development environment
  • Attack vectors and security controls
  • OWASP Top Ten 2021
    • Broken Access Controls
      • What’s the risk?
      • Case study
      • Insecure direct objects
      • Authorisation issues
      • Indirect references
      • Function level access
      • Security trimming
      • Risky URL patterns – when not to secure by URL
      • Protecting static resources
    • Cryptographic Failures
      • What’s the risk?
      • Case study
      • Alternatives to holding data
      • Minimising the risk of encrypted data exposure data
      • Storing sensitive data
      • Machine in the middle attacks
      • Employing HSTS
    • Injection
      • What’s the risk?
      • Case study
      • Allow lists
      • Parameterisation
      • Object relational mapping (ORM)
      • Cross site scripting (XSS)
      • Payload obfuscation
      • Other injection risks
    • Insecure Design
      • What’s the risk?
      • Case study
      • Secure design
    • Security Misconfiguration
      • What’s the risk?
      • Case study
      • Insecure cloud buckets
      • Error messages
      • Handling error codes
      • Config files and sensitive data
      • Google dorks to find config files
    • Vulnerable and Outdated Components
      • What’s the risk?
      • Case study
      • Log4Shell
      • Components with known vulnerabilities
      • Identifying old frameworks and libraries
    • Identification and Authentication Failures
      • What’s the risk?
      • Case study
      • Stateless protocol
      • Persisting session state in HTTP
      • Session sates – secure by default
      • Minimising timeouts
    • Software and Data Integrity Failures
      • What’s the risk?
      • Case study
      • XML processing
      • Leveraging XXE to conduct intrusions and attacks
      • XXE prevention
      • Insecure deserialisation
      • Java object serialisation
      • Data integrity
      • Software integrity
      • Integrity controls
    • Security Logging and Monitoring Failures
      • What’s the risk?
      • Case study
      • Logging best practice
      • Security logging and monitoring failures
      • What should and shouldn’t be logged?
    • Server-Side Request Forgery (SSRF)
      • What’s the risk?
      • Case study
      • Payload injection
      • XPSA – port scanning on the server
      • Malicious attacks from the inside
      • Exploit chaining
  • OWASP Top 10 Proactive Controls
  • OWASP Application Security Verification Standard

Module 4 – Securing Modern Applications & AI

  • Code Review
  • Code Testing
    • Interface testing
    • Testing integration in CI/CD
  • Encryption
    • Defending encryption
    • Hashes and passwords
  • AI Security for Secure by Design
    • Challenges of AI generated software
      • Debugging and troubleshooting
      • Adaptability and customisation
    • GitHub Co-pilot
    • OWASP Top 10 for Large Language Models (LLM)
      • LLM01 – Prompt injections
      • LLM02 – Insecure output handling
      • LLM03 – Training data poisoning
      • LLM04 – Denial of service
      • LLM05 – Supply chain
      • LLN06 – Permissions issues
      • LLM07 – Data leakage
      • LLM08 – Excessive agency
      • LLM09 – Overreliance
      • LLM10 – Insecure plugins
  • Future AI security challenges
Read more

Why choose QA

Special Notices

Dates & Locations

Cyber Security learning paths

Want to boost your career in cyber security? Click on the roles below to see QA's learning pathways, specially designed to give you the skills to succeed.

Required Star = Required
Certification = Certification
Application Security
Cloud Security
Information Security Management
Security Risk
Cyber Tech Generalist
DFIR Digital Forensics & Incident Response
Industrial Controls & OT Security
NIST Pathway
OffSec
Privacy Professional
Security Auditor
Secure Coding
Cyber Blue Team
Vulnerability Assessment & Penetration Testing
Emerging Tech Security
Reverse Engineer
Security Architect

Software Engineering learning paths

Want to boost your career in software engineering? Click on the roles below to see QA's learning pathways, specially designed to give you the skills to succeed.

Required Star = Required
Certification = Certification
Front End Developer
Back End Developer Java
Back End Developer .NET
Cloud Developer AWS
Cloud Developer Azure
Application Security
Secure Coding

Secure Engineering learning paths

Want to boost your career in Secure Engineering? View QA's learning pathway below, specially designed to give you the skills to succeed.

Required Star = Required
Certification = Certification
Application Security
Secure Coding
Security Architect

Frequently asked questions

See all of our FAQs

How can I create an account on myQA.com?

There are a number of ways to create an account. If you are a self-funder, simply select the "Create account" option on the login page.

If you have been booked onto a course by your company, you will receive a confirmation email. From this email, select "Sign into myQA" and you will be taken to the "Create account" page. Complete all of the details and select "Create account".

If you have the booking number you can also go here and select the "I have a booking number" option. Enter the booking reference and your surname. If the details match, you will be taken to the "Create account" page from where you can enter your details and confirm your account.

Find more answers to frequently asked questions in our FAQs: Bookings & Cancellations page.

How do QA’s virtual classroom courses work?

Our virtual classroom courses allow you to access award-winning classroom training, without leaving your home or office. Our learning professionals are specially trained on how to interact with remote attendees and our remote labs ensure all participants can take part in hands-on exercises wherever they are.

We use the WebEx video conferencing platform by Cisco. Before you book, check that you meet the WebEx system requirements and run a test meeting (more details in the link below) to ensure the software is compatible with your firewall settings. If it doesn’t work, try adjusting your settings or contact your IT department about permitting the website.

Learn more about our Virtual Classrooms.

How do QA’s online courses work?

QA online courses, also commonly known as distance learning courses or elearning courses, take the form of interactive software designed for individual learning, but you will also have access to full support from our subject-matter experts for the duration of your course. When you book a QA online learning course you will receive immediate access to it through our e-learning platform and you can start to learn straight away, from any compatible device. Access to the online learning platform is valid for one year from the booking date.

All courses are built around case studies and presented in an engaging format, which includes storytelling elements, video, audio and humour. Every case study is supported by sample documents and a collection of Knowledge Nuggets that provide more in-depth detail on the wider processes.

Learn more about QA’s online courses.

When will I receive my joining instructions?

Joining instructions for QA courses are sent two weeks prior to the course start date, or immediately if the booking is confirmed within this timeframe. For course bookings made via QA but delivered by a third-party supplier, joining instructions are sent to attendees prior to the training course, but timescales vary depending on each supplier’s terms. Read more FAQs.

When will I receive my certificate?

Certificates of Achievement are issued at the end the course, either as a hard copy or via email. Read more here.

Contact Us

Please contact us for more information