Съдържание и теми, включени в курса
Основи на ИТ сигурността и сигурното кодиране
- Основи на моделирането на заплахи: STRIDE, повърхности за атака и вектори за ескалация на привилегии
- Интеграция на сигурен SDLC: изместване наляво, прегледи на дизайна с осъзнаване на заплахите и защита в дълбочина
- Принцип на най-малките привилегии, защита чрез договор и сигурни конфигурации по подразбиране
- Работилница: Съпоставяне на .NET микроуслуга с модел на заплахи и идентифициране на архитектурни контроли
Сигурност на уеб приложения в ASP.NET
- Конвейер на заявки в ASP.NET, ред на изпълнение на междинния софтуер и точки на прихващане на филтри
- Рискове на HTTP протокола: инжектиране на хедъри, контрабанда на заявки и грешни конфигурации на CORS
- Управление на сесии, запазване на състоянието и най-добри практики за сигурност на бисквитките
- Сигурни извиквания на отдалечени процедури и модели за консумация на външни API-та
- Лабораторно упражнение: Експлоатиране и коригиране на уязвима верига на междинния софтуер в примерно ASP.NET приложение
Архитектура на сигурността на .NET и вградени услуги
- Модел на сигурност на CLR: доказателства, разрешения и еволюция на CAS (Code Access Security)
- ASP.NET Core Identity, схеми за автентикация и сигурност, базирана на токени (JWT, OAuth2, OpenID Connect)
- 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
Машинен превод