Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
Съдържание и теми, включени в курса
1. ИТ сигурност и сигурно програмиране
- Фундаментални принципи на сигурността: Конфиденциалност, Цялостност и Наличност (CIA) в контекста на Java приложения.
- Жизнен цикъл на сигурна софтуерна разработка (SSDLC): Интегриране на сигурността от изискванията до внедряването.
- Парадигми за сигурно програмиране: Отбрана в дълбочина, минимални привилегии и защитени по подразбиране настройки.
- Стандартни класификации на уязвимостите: Разбиране на CWE (Common Weakness Enumeration) и OWASP.
2. Сигурност на уеб приложения
- Задълбочен преглед на OWASP Top Ten: Детайлен анализ на инжекции, разбита автентикация и разкриване на чувствителни данни.
- Cross-Site Scripting (XSS): Сценарии за отразени, съхранени и DOM-базирани XSS в Java/JSP.
- Cross-Site Request Forgery (CSRF): Механизми на атака и внедряване на Anti-CSRF токени.
- Управление на сесии: Сигурност на бисквитки, фиксиране на сесия и управление на времеви лимити.
- API сигурност: Защита на REST и SOAP крайни точки от злоупотреби.
3. Сигурност на уеб услуги
- Уеб услуги срещу традиционни уеб приложения: Разлики в повърхностите на атака.
- Сигурност на транспортния слой: SSL/TLS конфигурация за Java клиенти и сървъри.
- Сигурност на съобщенията: Цялостност и конфиденциалност на ниво полезен товар.
- Стандарти за автентикация: OAuth 2.0, OpenID Connect и внедряване на JWT (JSON Web Tokens).
4. XML сигурност
- Уязвимости при парсване на XML: Предотвратяване на атаки чрез XML External Entity (XXE).
- Валидация на XML схема: Най-добри практики за стриктно налагане на схема.
- XML цифрови подписи: Внедряване на подписи за осигуряване на неотхвърляне.
- XML криптиране: Стандартни подходи за криптиране на XML съдържание.
5. Основи на Java сигурността
- Архитектура за сигурност на Java: Пакетът
java.securityи архитектура на доставчиците. - Доставчици на сигурност: Инсталиране и конфигуриране на доставчици като Bouncy Castle.
- Контрол на достъпа: Файлове с политики, разрешения и Security Manager (наследени срещу модерни).
- Управление на KeyStore: Създаване и управление на хранилища за ключове и доверени ключове за сертификати.
6. Практическа криптография
- Криптографски алгоритми: Преглед на симетрични (AES), асиметрични (RSA, ECC) и хеш (SHA-256/512) алгоритми.
- Генериране на произволни числа: Опасностите от
java.util.Randomсрещуjava.security.SecureRandom. - Управление на ключове: Стратегии за генериране, съхранение и ротация на ключове.
- Java Cryptography Architecture (JCA): Използване на класовете
Cipher,MessageDigestиMac. - Java Cryptography Extension (JCE): Разбиране на файловете с политики и юрисдикцията за неограничена сила.
7. Услуги за сигурност на Java
- SSL/TLS в Java: Използване на
SSLSocketFactoryиHttpsURLConnection. - Мениджъри на доверие: Персонализиране на проверката на доверие за частни PKI среди.
- Автентикатори: Програмна автентикация чрез
Authenticator.getDefault(). - Парсване на сертификати: Програмно четене и анализ на X.509 сертификати.
8. Java EE сигурност
- Декларативна сигурност: Контрол на достъпа, базиран на роли (RBAC), чрез
web.xmlи анотации. - Програмна сигурност: Използване на
HttpServletRequest.isUserInRole()иgetRemoteUser(). - JAAS (Java Authentication and Authorization Service): Конфигуриране на
login.confи внедряване наLoginModule-и. - Сървлет сигурност: Ограничения за сигурност, управлявани от контейнера, и методи за автентикация (FORM, BASIC, DIGEST).
9. Често срещани грешки при програмиране и уязвимости
- Несигурна десериализация: Рисковете от
ObjectInputStreamи заобикаляне на проверките за сигурност. - Инжектиране на команди: Ограничаване на уязвимостите за изпълнение на ниво ОС.
- Обхождане на пътища: Почистване на входните данни за файловата система за предотвратяване на обхождане на директории.
- Злоупотреба с рефлексия: Рискове, свързани с
java.lang.reflectи заобикаляне на контрола на достъпа. - Твърдо кодирани идентификационни данни: Идентифициране и премахване на тайни от изходния код.
- Грешки при внедряване на криптография: Използване на ECB режим, слаби ключове или статични IV-та.
10. Източници на знания
- Инструменти за статичен анализ: Използване на SonarQube, Checkmarx и Fortify за автоматизирано сканиране.
- Инструменти за динамичен анализ: Преглед на Burp Suite и OWASP ZAP.
- CVE бази данни: Как да проследяваме и реагираме на нови уязвимости в Java рамки.
- Препоръчителна литература: Списък с книги, документация и контролни списъци за сигурно програмиране.
Изисквания
Няма.
21 Часа
Отзиви от участници (4)
знанието на тренера беше много високо - той знаеше за какво говори и имаше отговорите на нашите въпроси
Adam - Fireup.PRO
Курс - Advanced Java Security
Машинен превод
Практични упражнения
Olek - Fireup.PRO
Курс - Advanced Java Security
Машинен превод
кодови упражнения
Mirek - Fireup.PRO
Курс - Advanced Java Security
Машинен превод
Отваря много неща и дава голямо разбиране за сигурността
Nolbabalo Tshotsho - Vodacom SA
Курс - Advanced Java Security
Машинен превод