Съдържание и теми, включени в курса
I. Въведение в сигурното програмиране и сигурността на уеб приложенията
1. Съвременен пейзаж на заплахите за уеб приложения
- Често срещани вектори за атаки срещу уеб приложения
- Рискове за сигурността в съвременните ASP.NET приложения
- Ролята на сигурното програмиране в разработката на софтуер
- Въведение във фондацията OWASP и нейните ресурси
2. Принципи за сигурна разработка на софтуер
- Сигурност чрез дизайн
- Защита в дълбочина
- Минимални привилегии
- Сигурен отказ при грешка
- Сигурни настройки по подразбиране
- Основи на моделирането на заплахи
II. Цикъл на сигурна разработка (SDL)
1. Цикъл на сигурна разработка на софтуер
- Сигурност през целия цикъл на разработка
- Изисквания за сигурност
- Сигурна архитектура и дизайн
- Практики за сигурно програмиране
- Тестване и валидиране на сигурността
- Сигурно внедряване и поддръжка
2. Оценка на риска и моделиране на заплахи
- Идентифициране на активи и заплахи
- Анализ на повърхността за атаки
- Преглед на STRIDE
- Приоритизиране на рисковете за сигурността
III. OWASP Топ 10 за ASP.NET приложения
1. Разбиране на OWASP Топ 10
- Нарушен контрол на достъпа
- Криптографски провали
- Инжекции
- Несигурен дизайн
- Грешна конфигурация на сигурността
- Уязвими и остарели компоненти
- Провали в идентификацията и автентикацията
- Провали в целостта на софтуера и данните
- Провали в регистрирането и мониторинга на сигурността
- Подправяне на заявки от страна на сървъра (SSRF)
2. Прилагане на препоръките на OWASP
- Техники за сигурно програмиране
- Превантивни контроли
- Практики за сигурна конфигурация
- Примери от реалния свят и демонстрации
IV. Сигурност на автентикацията и авторизацията
1. Основи на автентикацията
- Механизми за автентикация в ASP.NET
- Сигурност на паролите
- Многофакторна автентикация
- Управление на сесиите
- Управление на идентичността
2. Авторизация и контрол на достъпа
- Авторизация, базирана на роли
- Авторизация, базирана на клеймове
- Авторизация, базирана на политики
- Предотвратяване на ескалация на привилегии
- Защита на чувствителни ресурси
V. Предотвратяване на инжекционни атаки
1. Уязвимости от инжекции
- SQL инжекция
- Командна инжекция
- LDAP инжекция
- XML инжекция
- Преглед на NoSQL инжекциите
2. Техники за сигурно програмиране
- Параметризирани заявки
- Валидиране на входните данни
- Кодиране на изходните данни
- Съображения за сигурност при ORM
- Безопасни практики за достъп до бази данни
VI. Предотвратяване на междусайтово скриптиране (XSS)
1. Разбиране на XSS
- Съхранен XSS
- Отразен XSS
- DOM-базиран XSS
- Сценарии за атаки
2. Предотвратяване на XSS
- Кодиране на изходните данни
- Валидиране на входните данни
- Политика за сигурност на съдържанието (CSP)
- Сигурно обработване на HTML и JavaScript
- Функции за сигурност на ASP.NET за предотвратяване на XSS
VII. Предотвратяване на междусайтово подправяне на заявки (CSRF)
1. Разбиране на CSRF
- Как работят CSRF атаките
- Често срещани сценарии за атаки
- Въздействие върху бизнеса
2. Защита от CSRF
- Токени против подправяне
- SameSite бисквитки
- Сигурно управление на сесиите
- Механизми на ASP.NET против подправяне
VIII. Сигурна конфигурация на ASP.NET приложения
1. Функции за сигурност на ASP.NET
- Сигурност на конфигурацията
- Сигурни HTTP заглавия
- Конфигурация на HTTPS и TLS
- Управление на тайни
- Сигурно обработване на грешки
2. Защита на чувствителни данни
- API за защита на данните
- Сигурно съхранение на идентификационни данни
- Основи на криптирането
- Управление на ключове
IX. Валидиране на входните данни и сигурно обработване на данни
1. Валидиране на потребителски вход
- Бял списък срещу черен списък
- Сървърно валидиране
- Съображения за клиентско валидиране
- Сигурност при качване на файлове
2. Сигурна обработка на данни
- Сигурност при сериализацията
- Рискове при десериализацията
- Целост на данните
- Практики за сигурно регистриране
X. Тестване за проникване и проверка на сигурността
1. Методология за тестване за проникване
- Планиране на оценки на сигурността
- Идентифициране на уязвимости
- Концепции за експлоатация
- Докладване на констатации
2. Техники за тестване на сигурността
- Статично тестване на сигурността на приложения (SAST)
- Динамично тестване на сигурността на приложения (DAST)
- Интерактивно тестване на сигурността на приложения (IAST)
- Анализ на зависимостите и компонентите
- Ръчен преглед на кода
XI. Защита на ASP.NET приложенията
1. Прилагане на практики за сигурно програмиране
- Сигурно внедряване на автентикация
- Сигурно внедряване на авторизация
- Сигурност на сесиите
- Обработка на изключения
- Регистриране и мониторинг
- Съображения за сигурно внедряване
2. Най-добри практики за сигурност
- Стандарти за сигурно програмиране
- Управление на зависимостите
- Управление на кръпките
- Непрекъснато подобряване на сигурността
XII. Практически семинар по сигурност
1. Идентифициране и експлоатиране на често срещани уязвимости
- Анализ на несигурен ASP.NET код
- Идентифициране на уязвимости от OWASP Топ 10
- Разбиране на техниките за атаки
- Оценка на сигурността на приложенията
2. Отстраняване на проблеми със сигурността
- Прилагане на корекции за сигурно програмиране
- Валидиране на смекчаващите мерки
- Тестване на коригирани приложения
- Упражнение за преглед на сигурен код
XIII. Обобщение и преглед на курса
1. Преглед на ключовите концепции
- Принципи за сигурен дизайн
- Стратегии за смекчаване на OWASP Топ 10
- Функции за сигурност на ASP.NET
- Цикъл на сигурна разработка
2. Финална дискусия
- Най-добри практики за сигурно програмиране
- Вграждане на сигурността в екипите за разработка
- Допълнителни ресурси и инструменти на OWASP
- Въпроси и отговори и следващи стъпки
Изисквания
Опит с ASP.NET
Опит в създаването на уеб приложения
Отзиви от участници (5)
Познаване на различните видове небезопасни поведения.
Zhongqi
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод
Учебната сесия с Реймънд беше изключителна. Той беше много добър и внимателен към всички мои нужди за обучение.
Joshua
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод
Високият ниво на знанията на инструктора означаваше, че получихме много добър преглед на разглежданите теми.
Dafydd - TATA Steel
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод
референзни връзки
Abraham Gonzalez - ATEB Servicios
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод
Познанията на тренера по темата бяха отлични, и начинът, по който сесиите бяха организирани така, че публиката да може да следи демонстрациите, изключително допомогна за усвояването на тази информация, в сравнение с просто седене и слушане.
Jack Allan - RSM UK Management Ltd.
Курс - Secure Developer .NET (Inc OWASP)
Машинен превод