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. 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, privilegiu minim ș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: analiza amănunțită 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 politici, permisiuni și Security Manager (legacy vs. modern).
- Gestionarea KeyStore: 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.Randomvs.java.security.SecureRandom. - Gestionarea cheilor: strategii de generare, stocare și rotație a cheilor.
- Arhitectura criptografică Java (JCA): utilizarea claselor
Cipher,MessageDigestșiMac. - Extensia criptografică Java (JCE): înțelegerea fișierelor de politici și a jurisdicției de putere nelimitată.
7. Serviciile de securitate Java
- SSL/TLS în Java: utilizarea
SSLSocketFactoryșiHttpsURLConnection. - Trust Managers: 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: constrângeri de securitate gestionate de container și metode de autentificare (FORM, BASIC, DIGEST).
9. Erori de codare și vulnerabilități comune
- 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.
- Traversarea căilor: sanitizarea intrărilor din sistemul de fișiere pentru a preveni directory traversal.
- Abuzul reflecției: 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, a cheilor slabe sau a vectorilor de inițializare statici.
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 ale framework-ului Java.
- Lecturi recomandate: listă de cărți, documentație și checklist-uri de codare securizată.
Cerințe
Niciuna.
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