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.
Durata 21 ore
Schița de curs
1. Securitatea IT și codarea securizată
- Principii fundamentale de securitate: 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 deployment.
- Paradigme de codare securizată: apărare în profunzime, principiul celui mai mic privilegiu și valori 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: examinarea aprofundată a injecțiilor, autentificării defectuoase și expunerii datelor sensibile.
- Cross-Site Scripting (XSS): scenarii XSS reflectat, stocat și bazat pe DOM în Java/JSP.
- Cross-Site Request Forgery (CSRF): mecanisme de atac și implementarea token-urilor Anti-CSRF.
- Gestionarea sesiunilor: securitatea cookie-urilor, fixarea sesiunii și gestionarea timeout-urilor.
- Securitatea API-urilor: securizarea endpoint-urilor REST și SOAP împotriva abuzurilor.
3. Securitatea serviciilor web
- Servicii web vs. aplicații web tradiționale: diferențe în ceea ce privește suprafețele de atac.
- Securitatea la nivel de transport: configurarea SSL/TLS pentru clienții și serverele Java.
- Securitatea mesajelor: integritate și confidențialitate la nivel de payload.
- Standarde de autentificare: implementarea OAuth 2.0, OpenID Connect și JWT (JSON Web Tokens).
4. Securitatea XML
- Vulnerabilități de parsare XML: prevenirea atacurilor XML External Entity (XXE).
- Validarea schemei XML: bune practici pentru aplicarea strictă a schemei.
- Semnături digitale XML: implementarea semnăturilor pentru a asigura non-repudierea.
- Criptarea XML: abordări standard pentru criptarea conținutului XML.
5. Fundamentele securității Java
- Arhitectura de securitate Java: pachetul
java.securityși arhitectura providerilor. - Provideri de securitate: instalarea și configurarea providerilor precum Bouncy Castle.
- Controlul accesului: fișiere de policy, 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 aleatorii: pericolele utilizării
java.util.Randomfață dejava.security.SecureRandom. - Gestionarea cheilor: strategii de generare, stocare și rotație a cheilor.
- Java Cryptography Architecture (JCA): utilizarea claselor
Cipher,MessageDigestșiMac. - Java Cryptography Extension (JCE): înțelegerea fișierelor de policy și a jurisdicției de putere nelimitată.
7. Serviciile de securitate Java
- SSL/TLS în Java: utilizarea
SSLSocketFactoryșiHttpsURLConnection. - Trust Manageri: personalizarea verificării încrederii pentru medii 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 implementareaLoginModule-urilor. - Securitatea servlet-urilor: restricții de securitate gestionate de container și metode de autentificare (FORM, BASIC, DIGEST).
9. Erori comune de codare și vulnerabilități
- Deserializare nesigură: riscurile
ObjectInputStreamși ocolirea verificărilor de securitate. - Injecție de comenzi: atenuarea vulnerabilităților de execuție la nivel de sistem de operare.
- Path Traversal: sanitizarea intrărilor din sistemul de fișiere pentru a preveni traversarea directoarelor.
- Abuzul de reflection: riscuri 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, a cheilor slabe sau a IV-urilor 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 framework-ul Java.
- Lecturi recomandate: listă de cărți, documentație și checklist-uri de codare securizată.
Cerințe
Niciuna.
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