Web Application Security for PCI DSS- Part 2 (WASEC-PD2) – Outline

Детальна програма курсу

ДЕНЬ 2

Десять найкращих за версією OWASP 2021

A01 - Порушення контролю доступу

  • Основи контролю доступу
  • Нездатність обмежити доступ до URL
  • Збитий з пантелику депутат
    • Небезпечне пряме посилання на об'єкт (IDOR)
    • Лабораторна робота - Посилання на небезпечний прямий об'єкт.
    • Обхід авторизації через керовані користувачем ключі
    • Приклад використання - Обхід авторизації у Facebook
    • Лабораторна робота – Горизонтальна авторизація.
  • Файл завантажений
    • Необмежене завантаження файлів
    • Передовий досвід
    • Лабораторна робота – необмежена завантаження файлів.
  • Підробка міжсайтових запитів (CSRF)
    • Лабораторна робота - Підробка міжсайтових запитів
    • Найкращі практики CSRF
    • Глибокий захист CSRF
    • Лабораторна робота - Захист CSRF за допомогою токенів

A02 - Збої криптографії

  • Інформаційний вплив
    • Вплив на вилучені дані та агрегування
    • Приклад використання – розкриття даних Strava
    • Витік системної інформації
      • Витік системної інформації
    • Найкращі практики розкриття інформації
  • Криптографія для розробників
    • Основи криптографії
    • Елементарні алгоритми
      • Генерація випадкових чисел
        • Генератори псевдовипадкових чисел (ДПСЧ)
        • Криптографічно стійкі ГПСЧ
        • Використання віртуальних випадкових потоків
        • Лабораторна робота – використання випадкових чисел.
        • Приклад - заморожування кредитного рахунку Equifax
    • Захист конфіденційності
      • Симетричне шифрування
      • Блокові шифри
      • Режими роботи
      • Режими роботи та IV - найкращі практики
      • Лабораторна робота – Симетричне шифрування.
    • Асиметричне шифрування
    • Комбінування симетричних та асиметричних алгоритмів

Десять найкращих за версією OWASP 2021

A03 - Упорскування

  • Принципи ін'єкції
  • Ін'єкційні атаки
  • SQL-ін'єкція
    • Основи SQL-ін'єкцій
    • Лабораторна робота - SQL-ін'єкція
    • Техніки атаки
    • Сліпа SQL-ін'єкція на основі вмісту
    • Сліпа SQL-ін'єкція на основі часу
  • Найкращі практики SQL-ін'єкцій
    • Перевірка введення
    • Параметризовані запити
    • Лабораторна робота - використання підготовлених операторів.
    • Приклад використання - злом облікових записів Fortnite
  • Використання коду
    • Впровадження команди ОС
      • Найкращі практики впровадження команд ОС
      • Приклад використання - Shellshock
      • Лабораторія - Shellshock

ДЕНЬ 3
Десять найкращих за версією OWASP 2021 року A03 - Упорскування

  • HTML-ін'єкція - міжсайтовий скриптинг (XSS)
    • Основи міжсайтового скриптингу
    • Типи міжсайтових скриптів
      • Постійні міжсайтові сценарії
      • Відбитий міжсайтовий скриптинг
      • Міжсайтовий скриптинг на стороні клієнта (на основі DOM)
    • Лабораторна робота - Збережений XSS
    • Лабораторна робота - Відображений XSS
    • Приклад використання - XSS в облікових записах Fortnite
    • Найкращі практики XSS-захисту
      • Принципи захисту - втеча
      • Лабораторна робота - XSS виправлено/збережено
      • Лабораторна робота - виправлення / відображення XSS
      • Додаткові шари захисту - глибокий захист

Десять найкращих за версією OWASP 2021

A07 - Помилки ідентифікації та аутентифікації

  • Аутентифікація
    • Основи аутентифікації
    • Багатофакторна автентифікація
    • Одноразові паролі на основі часу (TOTP)
    • Слабкі сторони автентифікації
    • Спуфінг у мережі
    • Приклад використання - обхід двофакторної аутентифікації PayPal
    • Кращі практики інтерфейсу користувача
    • Приклад - розкриття інформації в Simple Banking для Android
    • Лабораторна робота - Підбір пароля в режимі он-лайн.
  • Управління паролями
    • Управління вхідними паролями
      • Зберігання паролів облікових записів
      • Пароль у дорозі
      • Лабораторна робота. Чи достатньо просто хешування паролів?
      • Атаки за словником та брутфорс
      • Солення
      • Адаптивні хеш-функції для зберігання паролів
      • Політика паролів
        • Вимоги NIST до автентифікатора для запам'ятовуваних секретів
        • Захист пароля
        • Використання парольних фраз
      • Приклад - витік даних Ешлі Медісон
        • Атака за словником
        • Кінцева тріщина
        • Експлуатація та викладені уроки
      • Перенесення бази паролів
        • (Неправильно) обробка нульових паролів
    • Керування вихідними паролями
      • Жорстко закодовані паролі
      • Найкращі практики
      • Лабораторна робота - Жорстко закодований пароль.
      • Захист конфіденційної інформації у пам'яті
        • Проблеми захисту пам'яті

A08 - Порушення цілісності програмного забезпечення та даних

  • Цілісність підресурсів
    • Імпорт JavaScript
    • Лабораторна робота - Імпорт JavaScript.
    • Приклад - порушення даних British Airways
  • Небезпечна десеріалізація
    • Проблеми серіалізації та десеріалізації
    • Цілісність - десеріалізація ненадійних потоків
    • Цілісність - найкращі практики десеріалізації
    • Майново-орієнтоване програмування (POP)
      • Створення корисного навантаження
      • Лабораторна робота - створення корисного навантаження POP.
      • Лабораторна робота - використання корисного навантаження POP.
      • Резюме - найкращі практики POP

Тестування безпеки

  • Методи та інструменти тестування безпеки
    • Аналіз коду
      • Статичне тестування безпеки додатків (SAST)
    • Динамічний аналіз
      • Тестування безпеки під час виконання
      • Тестування на проникнення
      • Стрес-тестування
      • Інструменти динамічного аналізу
        • Динамічне тестування безпеки додатків (DAST)
        • Сканери веб-уразливостей
        • Інструменти SQL-ін'єкцій
      • Розпливання

Згортання

  • Принципи безпечного кодування
    • Принципи сталого програмування Метта Бішопа
  • І що тепер?
    • Джерела безпеки програмного забезпечення та додаткова література