Secure Coding course designed for managers

Intra-company training

Who is the training for?

All public

Level reached

Advanced

Duration

2,00 day(s)

Language(s) of service

EN

Prerequisites

  • Understand basic concepts of security, IT security and secure coding
  • Understand Web vulnerabilities both on server and client side
  • Realize the severe consequences of unsecure buffer handling
  • Be informated about some recent vulnerabilities in development environments and frameworks
  • Learn about typical coding mistakes and how to avoid them
  • Understand security testing approaches and methodologies

Goals

The course introduces some common security concepts, gives an overview about the nature of the vulnerabilities regardless of the used programming languages and platforms, and explains how to handle the risks that apply regarding software security in the various phases of the software development lifecycle.

Without going deeply into technical details, it highlights some of the most interesting and most aching vulnerabilities in various software development technologies, and presents the challenges of security testing, along with some techniques and tools that one can apply to find any existing problems in their code.

Contents

  • Agenda
  • IT security and secure coding
    • Nature of security
    • What is risk?
    • Different aspects of IT security
    • IT security vs. secure coding
    • From vulnerabilities to botnets and cybercrime
    • Nature of security flaws
    • Reasons of difficulty
    • From an infected computer to targeted attacks
    • Cybercrime – an organized network of criminals
    • The threat landscape
  • Security challenges of various platforms – highlights –
    • Secure coding topics
  • C/C++ (native code) secure coding
    • The function calling mechanism in C/C++ on x86
    • Buffer overflow on the stack
    • Overwriting the return address
    • Exploiting stack overflow – jumping to arbitrary address
    • Exploiting stack overflow – injecting malicious code
    • Architecture level mitigation techniques (C/C++)
  • Web application security
    • OWASP Top Ten 2017 (release candidate)
    • Exercise – SQL injection
    • Typical SQL Injection attack methods
    • Blind and time-based SQL injection
    • Persistent XSS
    • Reflected XSS
    • Exercise – Cross Site Scripting
    • Insecure direct object reference (IDOR)
    • Clickjacking
    • Clickjacking
    • Protection against Clickjacking
    • Anti frame-busting – dismissing protection scripts
    • Protection against busting frame busting
    • Form tampering
    • Exercise – Form tampering
  • Java platform security
    • Secure coding issues in Java
    • The Seven Pernicious Kingdoms
    • Case study – Java Calendar vulnerability
    • The most exploited flaw in Java at the time
    • The actual mistake in java.util.Calendar – spot the bug!
    • A generic Denial of Service attack against the Java environment
    • The “2.2250738585072012e-308 bug”
    • Exercise Double Bug
  • Challenges of security testing
    • Functional testing vs. security testing
    • Security vulnerabilities
    • Prioritization – risk analysis

These courses might interest you