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 programarea sigură
- Principii fundamentale ale securității: Confidențialitate, Integritate și Disponibilitate (CIA) în contextul aplicațiilor Java.
- Ciclul de viață al dezvoltării software sigure (SSDLC): Integrarea securității de la cerințe la implementare.
- Paradigme de programare sigură: Apărare în profunzime, privilegiul minim și valorile 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 injectării, autentificării defectuoase și expunerii 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-ului.
- Securitatea API-urilor: Protejarea punctelor finale 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: Integritate și confidențialitate la nivelul sarcinii utile.
- Standardele de autentificare: Implementarea OAuth 2.0, OpenID Connect și JWT (JSON Web Tokens).
4. Securitatea XML
- Vulnerabilități ale analizării XML: Prevenirea atacurilor XML External Entity (XXE).
- Validarea schemelor XML: Cele mai bune practici pentru aplicarea strictă a schemelor.
- Semnele digitale XML: Implementarea semnăturilor pentru a asigura non-repudierea.
- 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 Managerul de Securitate (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 de criptografie Java (JCA): Utilizarea claselor
Cipher,MessageDigestșiMac. - Extensia de criptografie Java (JCE): Înțelegerea fișierelor de politică și a jurisdicției de putere 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(). - Analiza certificatelor: Citirea și analizarea 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 Servlet: Construcț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. - Injectare de comenzi: Atenuarea vulnerabilităților de execuție la nivel de sistem de operare.
- Traversare de cale: Sanitizarea intrărilor din sistemul 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 scanări automate.
- 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 programarea sigură.
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