План на курса
Основите на киберсигурността и сигурното кодиране
- Основни концепции за моделиране на заплахи: STRIDE, повърхности на атака и вектори за повишаване на привилегиите
- Интегриране в сигурния жизнен цикъл на разработката на софтуер: отместване наляво, прегледи на дизайна, осведомени за заплахи, и защита в дълбочина
- Принцип на най-малките привилегии, защита чрез договор и конфигурации по подразбиране, безопасни по подразбиране
- Работилница: Съпоставяне на .NET микроуслугба към модел на заплахи и идентифициране на архитектурни контроли
Сигурност на уеб приложенията в ASP.NET
- Конвейерът на заявки в ASP.NET, редът на изпълнение на middleware и точките за прекъсване на филтри
- Рискове на протокола HTTP: инжектиране на заглавки, прихващане на заявки и неправилни конфигурации на CORS
- Управление на сесии, съхранение на състояние и най-добри практики за сигурност на бисквитки
- Сигурни далечни процедури и модели за консумация на външни API-та
- Лаборатория: Използване на уязвимост и прилагане на корекция на уязвим низ на middleware в примерен ASP.NET апликации
Архитектура на сигурността .NET и вградени услуги
- Модел за сигурност на CLR: доказателства, разрешения и еволюцията на CAS (Code Access Security)
- ASP.NET Core Identity, схеми за аутентикация и сигурност на токени (JWT, OAuth2, OpenID Connect)
- Data Protection API: криптиране, ротация на ключове и сигурна сериализация на данни
- Криптографски примитиви в .NET: RNG, хеширане, симетрично/асиметрично криптиране и валидация на подписа
- Лаборатория: Внедряване на издаване на сигурни токени, ротация на ключове и защита на данни през границата на микроуслугба
Общи грешки при кодиране, уязвимости и мерки за противодействие
- Атаки за десериализация, манипулация на ViewState и капани с край на низ и презапълване в .NET
- Конфигурационен дрейф: web.config/appsettings.json, излагане на променливи на средата и управление на секрети
- Вектори за инжектиране: SQL, команда, XSS и LDAP в достъпа до данни и маршрутизирането в C#
- Небезопасни стойности по подразбиране, хардкодиране и неправилна обработка на грешки, водещи до изтичане на информация
- Лаборатория: Обратна инженерия на уязвим модул на .NET, прилагане на сигурни модели и валидиране на корекциите със статични/динамични анализатори
Тестване на сигурността, валидацията и непрекъснатото подобряване
- Статично тестване за сигурност на приложенията (SAST): Roslyn анализатори, Security Code Scan и интеграция в CI/CD
- Динамично тестване за сигурност на приложенията (DAST): OWASP ZAP, работни потоци на Burp Suite и автоматизирано сканиране
- Защита по време на изпълнение: Application Guardrails, практики за безопасност на паметта и сигурно регистриране/аудит
- Управление на пакове, проследяване на зависимости и реагиране на съобщения за сигурност на .NET/ASP.NET
- Лаборатория: Създаване на врата за сигурност при предварително предаване и пайплайн за .NET решение
Източници на знания и екосистема за сигурно развитие
- Официалните насоки на Microsoft за сигурност, документация за сигурността на .NET и препратки за укрепване на ASP.NET
- Бази данни за CVE, източници на съобщения и работни потоци за отговорно разкриване за зависими от отворения код
- Екосистеми на сигурни библиотеки: PGP, крипто операции, скелети за аутентикация и съответстваща криптография
- Създаване на вътрешни стандарти за сигурно кодиране, развитие на разработчици и програми за защитни шампиони
- Работилница: Създаване на персонализиран набор за сигурно развитие и установяване на практики за непрекъснат мониторинг
Изисквания
- Твърди работни познания по програмирането C# и основите на фреймуърка .NET
- Познанство с уеб разработката в ASP.NET (Razor Pages, MVC или Minimal APIs)
- Разбиране на основите на HTTP, маршрутизирането и концепциите за уеб сървъри
- Няма нужда от предходна сертификация по сигурност, но се очаква опит в производствено кодиране
Отзиви от потребители (5)
Много добре е да се разбере как хакер би анализирал сайтовете за слабости и инструментите, които може да използва.
Roger - OTT Mobile
Курс - .NET, C# and ASP.NET Security Development
Машинен превод
шегулите приказки. Обичам сесията от първите 2 дни поради лабораторните упражнения.
Kevin Galacgac - Human Edge Software Philippines, Inc.
Курс - .NET, C# and ASP.NET Security Development
Машинен превод
Тренерът наистина се свързва с нас и се уверява, че никой да не остане извън текущата тема. Обяснява добре всеки аспект и дава примери, които са лесни за разбиране.
Edgarico Llaneta - Human Edge Software Philippines, Inc.
Курс - .NET, C# and ASP.NET Security Development
Машинен превод
Практическото обучение и примерите.
Lord-Sam Lamparero - Human Edge Software Philippines, Inc.
Курс - .NET, C# and ASP.NET Security Development
Машинен превод
I was benefit from the exercises (SQL injection, XSS, CRSF. .).
David Lemoine - Statistical Solutions
Курс - .NET, C# and ASP.NET Security Development
Машинен превод