Kom i kontakt

Kursplan

1. IT-säkerhet och säker kodspråk

  • Fundamentala säkerhetsprinciper: Konfidentialitet, integritet och tillgänglighet (CIA) i samband med Java-applikationer.
  • Säker livscykel för mjukvaruutveckling (SSDLC): Integrering av säkerhet från kravspecifikation till leverans.
  • Parametrar för säker kodspråk: Försvar i djupet, minst tillstånd och misslyckadesäker standard.
  • Standardklassificering av sårbarheter: Förståelse av CWE (Common Weakness Enumeration) och OWASP.

2. Säkerhet för webbapplikationer

  • Djupdykning i OWASP Top Ten: Detaljerad analys av insprutning, trasig autentisering och exponering av känslig data.
  • Cross-Site Scripting (XSS): Reflekterade, lagrade och DOM-baserade XSS-scenarier i Java/JSP.
  • Cross-Site Request Forgery (CSRF): Angreppsmekanismer och implementering av Anti-CSRF-token.
  • Sessionshantering: Cookie-säkerhet, sessionsfixering och hantering av tidsbegränsningar.
  • API-säkerhet: Säkerhet för REST- och SOAP-slutpunkter mot missbruk.

3. Säkerhet för webbtjänster

  • Webbtjänster jämfört med traditionella webbappar: Skillnader i anfallsytor.
  • Transportsäkerhet: SSL/TLS-konfiguration för Java-klienter och servrar.
  • Mediesäkerhet: Integritet och konfidentialitet på innehållsnivå.
  • Autentiseringsstandarder: Implementering av OAuth 2.0, OpenID Connect och JWT (JSON Web Tokens).

4. XML-säkerhet

  • Sårbarheter vid XML-läsning: Förebyggande av XML External Entity (XXE)-attacker.
  • Validering av XML-schema: Bästa praxis för strikt schemahantning.
  • Digitala XML-signaturer: Implementering av signaturer för att säkerställa avnektion.
  • XML-kryptering: Standardmetoder för att kryptera XML-innehåll.

5. Grunderna i Java-säkerhet

  • Java:s säkerhetsarkitektur: Paketet java.security och leverantörsarkitekturen.
  • Säkerhetsleverantörer: Installering och konfiguration av leverantörer som Bouncy Castle.
  • Tillgångskontroll: Policyfiler, behörigheter och Security Manager (Legacy vs. Modern).
  • Hantering av KeyStore: Skapa och hantera keystores och truststores för certifikat.

6. Praktisk kryptografi

  • Kryptografiska algoritmer: Översikt över symmetriska (AES), asymmetriska (RSA, ECC) och hash-algoritmer (SHA-256/512).
  • Slumptalsgenerering: Farorna med java.util.Random jämfört med java.security.SecureRandom.
  • Nyckelhantering: Strategi för nyckelgenerering, lagring och rotation.
  • Java Cryptography Architecture (JCA): Användning av klasserna Cipher, MessageDigest och Mac.
  • Java Cryptography Extension (JCE): Förståelse av policyfiler och begränsningsfri styrka.

7. Java:s säkerhetstjänster

  • SSL/TLS i Java: Användning av SSLSocketFactory och HttpsURLConnection.
  • Trust Managers: Anpassning av tillitsverifiering för privata PKI-miljöer.
  • Authenticators: Programmatisk autentisering med Authenticator.getDefault().
  • Certifikatparsning: Läsning och analys av X.509-certifikat programmatiskt.

8. Java EE-säkerhet

  • Deklarativ säkerhet: Rollbaserad åtkomstkontroll (RBAC) med hjälp av web.xml och anteckningar.
  • Programmatisk säkerhet: Användning av HttpServletRequest.isUserInRole() och getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Konfiguration av login.conf och implementering av LoginModules.
  • Servlet-säkerhet: Container-styrd säkerhetsbegränsning och autentiseringsmetoder (FORM, BASIC, DIGEST).

9. Vanliga kodningsfel och sårbarheter

  • Osäker deserialisering: Riskerna med ObjectInputStream och kringgående av säkerhetskontroller.
  • Kommandoinsprutning: Begränsning av sårbarheter för körning på operativsystemnivå.
  • Sökvägstraversal: Sanitering av filsysteminput för att förhindra mapp-traversal.
  • Missbruk av reflection: Risker kopplade till java.lang.reflect och kringgående av åtkomstkontroll.
  • Hårdkodade autentiseringsuppgifter: Identifiering och borttagning av sekretesser från källkod.
  • Fel vid implementering av kryptografi: Användning av ECB-läge, svaga nycklar eller statiska IV:er.

10. Kunskapskällor

  • Statiska analysverktyg: Användning av SonarQube, Checkmarx och Fortify för automatiserad skanning.
  • Dynamiska analysverktyg: Översikt över Burp Suite och OWASP ZAP.
  • CVE-databaser: Hur man spårar och reagerar på nya sårbarheter i Java-ramverket.
  • Rekommenderad läsning: Lista över böcker, dokumentation och kontrolllistor för säker kodspråk.

Krav

Inga.

 21 Timmar

Antal deltagare


Pris per deltagare

Vittnesmål (4)

Kommande Kurser

Relaterade Kategorier