Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
План на курса
Ден 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)
Множество примери за всеки модул и отлично познаване на обучителя.
Sebastian - BRD
Курс - Secure Developer Java (Inc OWASP)
Машинен превод
Module3 Атаки и експлойти на приложения, XSS, SQL инжектиране Module4 Атаки и експлойти на сървъри, DOS, BOF
Tshifhiwa - Vodacom
Курс - How to Write Secure Code
Машинен превод
Обща информация за курса
Paulo Gouveia - EID
Курс - C/C++ Secure Coding
Машинен превод
Компетентността на треньора беше изключителна, а начинът на организиране на сесиите, за да следват аудиторията демонстрациите, помогна да се закрепи знанието, вместо просто да седи и слуша.
Jack Allan - RSM UK Management Ltd.
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод
Нищо не беше перфектно.
Zola Madolo - Vodacom
Курс - Android Security
Машинен превод