Благодарим ви, че изпратихте вашето запитване! Един от членовете на нашия екип ще се свърже с вас скоро.
Благодарим ви, че направихте своята резервация! Един от членовете на нашия екип ще се свърже с вас скоро.
Продължителност 21 часa
Съдържание и теми, включени в курса
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 Schema валидация: Най-добри практики за стриктно прилагане на схемата.
- XML цифрови подписи: Внедряване на подписи за гарантиране на неотхвърляне.
- XML криптиране: Стандартни подходи за криптиране на XML съдържание.
5. Основи на Java сигурността
- Архитектура на Java сигурността: Пакетът
java.securityи архитектурата на доставчиците. - Доставчици на сигурност: Инсталиране и конфигуриране на доставчици като Bouncy Castle.
- Контрол на достъпа: Файлове с политики, разрешения и Security Manager (наследен срещу модерен).
- Управление на KeyStore: Създаване и управление на keystore и truststore за сертификати.
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. - Trust Managers: Персонализиране на проверката на доверие за частни 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 рамката.
- Препоръчителна литература: Списък с книги, документация и контролни списъци за сигурно кодиране.
Изисквания
Няма.
Отзиви от участници (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
Машинен превод