Mulțumim pentru trimiterea solicitării! Un membru al echipei noastre vă va contacta în curând.
Mulțumim pentru trimiterea rezervării! Un membru al echipei noastre vă va contacta în curând.
Schița de curs
1. Securitate IT și codare securizată
- Principii fundamentale ale securității: Confidențialitate, Integritate și Disponibilitate (CIA) în contextul aplicațiilor Java.
- Ciclul de viață al dezvoltării software securizate (SSDLC): Integrarea securității de la cerințe până la implementare.
- Paradigme de codare securizată: Apărare în profunzime, privilegiu minim și setări implicite sigure.
- Clasificări standard ale vulnerabilităților: Înțelegerea CWE (Common Weakness Enumeration) și OWASP.
2. Securitatea aplicațiilor web
- Analiză detaliată a OWASP Top Ten: Injecție, Autentificare defectuoasă și Expunerea datelor sensibile.
- Cross-Site Scripting (XSS): Scenarii de XSS reflectat, stocat și bazat pe DOM în Java/JSP.
- Cross-Site Request Forgery (CSRF): Mecanisme de atac și implementarea tokenurilor Anti-CSRF.
- Gestionarea sesiunilor: Securitatea cookie-urilor, fixarea sesiunii și gestionarea timeout-urilor.
- Securitatea API-urilor: Securizarea punctelor de capăt REST și SOAP împotriva abuzului.
3. Securitatea serviciilor web
- Servicii web vs. aplicații web tradiționale: Diferențe în suprafețele de atac.
- Securitatea la nivel de transport: Configurarea SSL/TLS pentru clienți și servere Java.
- Securitatea mesajelor: Integritatea și confidențialitatea la nivelul sarcinii utile.
- Standarde de autentificare: Implementarea OAuth 2.0, OpenID Connect și JWT (JSON Web Tokens).
4. Securitatea XML
- Vulnerabilități ale analizei XML: Prevenirea atacurilor XML External Entity (XXE).
- Validarea schemelor XML: Cele mai bune practici pentru aplicarea strictă a schemelor.
- Semnături digitale XML: Implementarea semnăturilor pentru a asigura nerepudierea.
- Criptarea XML: Abordări standard pentru criptarea conținutului XML.
5. Fundamentele securității în Java
- Arhitectura de securitate Java: Pachetul
java.securityși arhitectura furnizorilor. - Furnizori de securitate: Instalarea și configurarea furnizorilor precum Bouncy Castle.
- Controlul accesului: Fișiere de politică, permisiuni și Security Manager (Legacy vs. Modern).
- Gestionarea KeyStore-urilor: Crearea și gestionarea keyStore-urilor și trustStore-urilor pentru certificate.
6. Criptografie practică
- Algoritmi criptografici: Prezentare generală a algoritmilor simetrici (AES), asimetrici (RSA, ECC) și de hashing (SHA-256/512).
- Generarea numerelor aleatoare: Pericolele lui
java.util.Randomvs.java.security.SecureRandom. - Gestionarea cheilor: Generarea, stocarea și strategiile de rotație a cheilor.
- Arhitectura criptografică Java (JCA): Utilizarea claselor
Cipher,MessageDigestșiMac. - Extensia criptografică Java (JCE): Înțelegerea fișierelor de politică și a jurisdicției de forță nelimitată.
7. Servicii de securitate Java
- SSL/TLS în Java: Utilizarea
SSLSocketFactoryșiHttpsURLConnection. - Manageri de încredere: Personalizarea verificării încrederii pentru mediile PKI private.
- Autentificatori: Autentificare programatică folosind
Authenticator.getDefault(). - Parsarea certificatelor: Citirea și analiza programatică a certificatelor X.509.
8. Securitatea Java EE
- Securitate declarativă: Controlul accesului bazat pe roluri (RBAC) folosind
web.xmlși adnotări. - Securitate programatică: Utilizarea
HttpServletRequest.isUserInRole()șigetRemoteUser(). - JAAS (Java Authentication and Authorization Service): Configurarea
login.confși implementareaLoginModules. - Securitatea servletelor: Construcții de securitate gestionate de container și metode de autentificare (FORM, BASIC, DIGEST).
9. Erori și vulnerabilități comune de codare
- Deserializare nesigură: Riscurile lui
ObjectInputStreamși ocolirea verificărilor de securitate. - Injectare de comenzi: Atenuarea vulnerabilităților de execuție la nivel de sistem de operare.
- Traversare de cale: Sanitizarea intrărilor sistemului de fișiere pentru a preveni traversarea directoarelor.
- Abuzul de reflexie: Riscurile asociate cu
java.lang.reflectși ocolirea controlului accesului. - Credențiale hardcodate: Identificarea și eliminarea secretelor din codul sursă.
- Erori de implementare a criptografiei: Utilizarea modului ECB, chei slabe sau IV-uri statice.
10. Surse de cunoștințe
- Instrumente de analiză statică: Utilizarea SonarQube, Checkmarx și Fortify pentru scanare automată.
- Instrumente de analiză dinamică: Prezentare generală a Burp Suite și OWASP ZAP.
- Baze de date CVE: Cum să urmărești și să reacționezi la noile vulnerabilități din cadrul Java.
- Lecturi recomandate: Listă de cărți, documentație și liste de verificare pentru codare securizată.
Cerințe
Niciunul.
21 Ore
Mărturii (4)
cunoștințele instrctorului erau foarte mari - el știa despre ce vorbește și avea răspunsurile la întrebările noastre
Adam - Fireup.PRO
Curs - Advanced Java Security
Tradus de catre o masina
Exerciții practice
Olek - Fireup.PRO
Curs - Advanced Java Security
Tradus de catre o masina
exerciții de codificare
Mirek - Fireup.PRO
Curs - Advanced Java Security
Tradus de catre o masina
Îl deschide foarte mult și oferă multe însight-uri cu privire la securitate
Nolbabalo Tshotsho - Vodacom SA
Curs - Advanced Java Security
Tradus de catre o masina