План на курса

Ден 1

  • ИТ сигурност и сигурно кодиране
    • Природа на сигурността
    • Термини, свързани с ИТ сигурността
    • Определение на риск
    • Различни аспекти на ИТ сигурността
    • Изисквания на различни области на приложение
    • ИТ сигурност срещу сигурно кодиране
    • От уязвимости до ботнети и киберпрестъпност
      • Природа на сигурностни недостатъци
      • Причини за трудности
      • От заразен компютър до целеви атаки
    • Класификация на сигурностни недостатъци
      • Таксономията на Landwehr
      • The Seven Pernicious Kingdoms
      • OWASP Top Ten 2013
      • OWASP Сравнение на Top Ten 2003 – 2013
  • Въведение в Microsoft® Security Development Lifecycle (SDL)
    • Дневна програма
    • Приложения под атака...
      • Еволюция на киберпрестъпността
      • Атаките се фокусират върху приложенията
      • Най-много уязвимости са в по-малките ISV приложения
    • Произход на Microsoft SDL...
      • Хронология на сигурността в Microsoft...
      • Кои приложения трябва да следват SDL?
    • Microsoft Security Development Lifecycle (SDL)
      • Microsoft Security Development Lifecycle (SDL)
      • Предвателни изисквания за SDL: Обучение по сигурност
      • Фаза Един: Изисквания
      • Фаза Две: Дизайн
      • Фаза Три: Реализация
      • Фаза Четири: Проверка
      • Фаза Пет: Издаване – План за реагиране
      • Фаза Пет: Издаване – Коначна проверка на сигурността
      • Фаза Пет: Издаване – Архивиране
      • Пост-SDL изискване: Реагиране
      • Ръководство за процеса SDL за приложения за бизнес
      • Ръководство SDL за Agile методологии
      • Сигурно разработване на софтуер изисква подобряване на процеса
  • Принципи за сигурен дизайн
    • Повърхност на атака
      • Съкращаване на повърхността на атака
      • Повърхност на атака – пример
      • Анализ на повърхността на атака
      • Съкращаване на повърхността на атака – пример
    • Принципи на сигурност
      • Принципи на сигурност
      • Разбиране на поведението и загрижеността на приложенията
    • Защита в дълбочина
      • Основен принцип на SDL: Защита в дълбочина
      • Защита в дълбочина – пример
    • Принцип на най-малките привилегии
      • Най-малки привилегии – пример
    • Сигурни по подразбиране настройки
      • Сигурни по подразбиране настройки – пример
  • Принципи за сигурна реализация
    • Дневна програма
    • Microsoft Security Development Lifecycle (SDL)
    • Основни концепции за препълване на буфера
      • Основни регистри на процесор Intel 80x86
      • Разположение на паметта
      • Механизъм за извикване на функции в C/C++ на x86
      • Локални променливи и стеков рамка
      • Препълване на стека
        • Препълване на буфера в стека
        • Упражнения – въведение
        • Упражнение BOFIntro
        • Упражнение BOFIntro – определение на разпределението на стека
        • Упражнение BOFIntro – просто експлоатация
    • Проверка на входни данни
      • Концепции за проверка на входни данни
      • Проблеми с цели числа
        • Представяне на отрицателни числа
        • Препълване на цели числа
        • Аритметично препълване – угадайте изхода!
        • Упражнение IntOverflow
        • Каква е стойността на Math.Abs(int.MinValue)?
      • Митигация на проблеми с цели числа
        • Митигация на проблеми с цели числа
        • Избягване на аритметично препълване – събиране
        • Избягване на аритметично препълване – умножение
        • Засичане на препълване с ключовата дума checked в C#
        • Упражнение – използване на ключовата дума checked в C#
        • Изключения, предизвикани от препълване в C#
      • Случайно изследване – препълване на цели числа в .NET
        • Реална уязвимост за препълване на цели числа
        • Експлоатация на уязвимостта за препълване на цели числа
      • Уязвимост за преход по път
        • Митигация на преход по път

Ден 2

  • Принципи за сигурна реализация
    • Инжекция
      • Типични методи за атака чрез SQL инжекция
      • Слепи и време-основени SQL инжекции
      • Методи за защита от SQL инжекция
      • Инжекция на команда
    • Сломена аутентификация - управление на пароли
      • Упражнение – Слабости на хешираните пароли
      • Управление и съхранение на пароли
      • Специални хеш алгоритми за съхранение на пароли
    • Кръстосан скриптинг (XSS)
      • Кръстосан скриптинг (XSS)
      • CSS инжекция
      • Експлоатация: инжекция през други HTML тагове
      • Предотвратяване на XSS
    • Липса на функционален контрол на достъп
      • Филтриране на качването на файлове
    • Практична криптография
      • Осигуряване на конфиденциалност с симетрична криптография
      • Алгоритми за симетрично шифрование
      • Блокови шифри – режими на работа
      • Хеш или съобщение за дигестиране
      • Хеш алгоритми
      • Код за аутентичност на съобщението (MAC)
      • Осигуряване на целостност и аутентичност с симетричен ключ
      • Осигуряване на конфиденциалност с асиметрично шифрование
      • Правило на палца – притежание на частен ключ
      • Типични грешки в управлението на пароли
      • Упражнение – Хардкоднати пароли
      • Заключение
  • Принципи за сигурна проверка
    • Функционално тестване срещу сигурностно тестване
    • Сигурностни уязвимости
    • Приоритизиране
    • Сигурностно тестване в SDLC
    • Стъпки за планиране на тестове (анализ на риск)
    • Определяне на обхвата и събиране на информация
      • Заинтересовани страни
      • Активи
      • Повърхността на атака
      • Сигурностни цели за тестване
    • Моделиране на заплахи
      • Моделиране на заплахи
      • Профили на атакуващи
      • Моделиране на заплахи, базирано на дървета за атаки
      • Моделиране на заплахи, базирано на случаи за злоупотреба/злоупотреба
      • Случаи за злоупотреба/злоупотреба – пример за прост онлайн магазин
      • Подход STRIDE по елемент за моделиране на заплахи – MS SDL
      • Определяне на сигурностни цели
      • Диаграмиране – пример за елементи на DFD
      • Диаграма за поток на данни – пример
      • Преброяване на заплахи – STRIDE на MS SDL и елементи на DFD
      • Анализ на риск – класификация на заплахи
      • Модел за оценка на заплахи/риск DREAD
    • Техники и инструменти за сигурностно тестване
      • Общи подходи за тестване
      • Техники за различни стъпки в SDLC
    • Преглед на код
      • Преглед на код за сигурност на софтуера
      • Анализ на оцветяване
      • Хеуристики
    • Статичен анализ на код
      • Статичен анализ на код
      • Статичен анализ на код
      • Упражнение – Използване на инструменти за статичен анализ на код
    • Тестване на реализацията
      • Ръчно извънредно верифициране
      • Ръчно срещу автоматизиран сигурностен тест
      • Пенетрационен тест
      • Стрес тестове
    • Фъзване
      • Автоматизиран сигурностен тест - фъзване
      • Изходи на фъзването
    • Сканиращи на уязвимости в уеб
      • Упражнение – Използване на сканиращи на уязвимости
    • Проверка и закрепване на средата
      • Обща система за оценка на уязвимости – CVSS
      • Сканиращи на уязвимости
      • Публични бази данни
    • Случайно изследване – Обход на форма за аутентификация
      • Уязвимост за терминиране с NULL байт
      • Уязвимостта за обход на формата за аутентификация в кода
      • Експлоатация на обхода на формата за аутентификация
  • Източници на знания
    • Източници за сигурно кодиране – стартов набор
    • Бази данни на уязвимости
    • .NET указания за сигурно кодиране в MSDN
    • .NET листовки за сигурно кодиране
    • Рекомендувани книги – .NET и ASP.NET
 14 Часа

Брой участници


Цена за участник

Oтзиви от потребители (5)

Предстоящи Курсове

Свързани Kатегории