Kom i kontakt

Kursplan

1. IT-säkerhet och säker koding

  • Grundläggande säkerhetsprinciper: Sekretess, integritet och tillgänglighet (CIA) i sammanhanget av Java-applikationer.
  • Säker mjukvarulivscykel (SSDLC): Integrera säkerhet från krav till implementering.
  • Paradigmen för säker koding: Defense in depth, minst privilegier och fail-safe standardinställningar.
  • Standardiserad klassificering 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 Injection, Broken Authentication och Sensitive Data Exposure.
  • Cross-Site Scripting (XSS): Scenarier för Reflected, Stored och DOM-baserad XSS i Java/JSP.
  • Cross-Site Request Forgery (CSRF): Attackmekanismer och implementering av Anti-CSRF-tokens.
  • Sessionhantering: Cookie-säkerhet, session fixering och timeout-hantering.
  • API-säkerhet: Säkra REST- och SOAP-endpoints mot missbruk.

3. Säkerhet för webbtjänster

  • Webbtjänster vs. traditionella webbappar: Skillnader i angreppsytor.
  • Transportlagessäkerhet: SSL/TLS-konfiguration för Java-klienter och servrar.
  • Meddelandesäkerhet: Integritet och sekretess på payload-nivå.
  • Autentiseringsstandarder: Implementering av OAuth 2.0, OpenID Connect och JWT (JSON Web Tokens).

4. XML-säkerhet

  • Sårbarheter i XML-parsning: Förhindra XML External Entity (XXE)-attacker.
  • XML-schemavalidering: Bästa praxis för strikt schematillämpning.
  • XML-digitala signaturer: Implementera signaturer för att säkerställa oundersägbarhet.
  • XML-kryptering: Standardmetoder för att kryptera XML-innehåll.

5. Grunden för Java-säkerhet

  • Javas säkerhetsarkitektur: java.security-paketet och arkitekturen för tillhandahållare.
  • Säkerhetstillhandahållare: Installera och konfigurera tillhandahållare som Bouncy Castle.
  • Åtkomstkontroll: Policyfiler, Behörigheter och Security Manager (Legacy vs. Modern).
  • KeyStore-hantering: Skapa och hantera keystores och truststores för certifikat.

6. Praktisk kryptografi

  • Kryptografiska algoritmer: Översikt över symmetriska (AES), asymmetriska (RSA, ECC) och hashfunktioner (SHA-256/512).
  • Slumptalsgenerering: Farorna med java.util.Random vs. java.security.SecureRandom.
  • Nyckelhantering: Strategier för nyckelgenerering, lagring och rotation.
  • Java Cryptography Architecture (JCA): Använda Cipher, MessageDigest och Mac-klasser.
  • Java Cryptography Extension (JCE): Förstå policyfiler och oobegränsad styrka jurisdiktion.

7. Javas säkerhetstjänster

  • SSL/TLS i Java: Använda SSLSocketFactory och HttpsURLConnection.
  • Trust Managers: Anpassa trust-verifiering för privata PKI-miljöer.
  • Authentisera: Programmatisk autentisering med Authenticator.getDefault().
  • Certifikatstolkning: Läs och analysera X.509-certifikat programmatiskt.

8. Java EE-säkerhet

  • Deklarativ säkerhet: Rollenbaserad åtkomstkontroll (RBAC) med web.xml och annoteringar.
  • Programmatisk säkerhet: Använda HttpServletRequest.isUserInRole() och getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Konfigurera login.conf och implementera LoginModule:er.
  • Servlet-säkerhet: Containerhanterade säkerhetsbegränsningar och autentiseringsmetoder (FORM, BASIC, DIGEST).

9. Vanliga kodingsfel och sårbarheter

  • Osäker deserialisering: Riskerna med ObjectInputStream och kringgående av säkerhetsskontroller.
  • Command Injection: Minimera OS-nivåns exekverings sårbarheter.
  • Path Traversal: Sanitera filsystemsinmatningar för att förhindra kataloggenomgång.
  • Reflection Abuse: Risker förknippade med java.lang.reflect och kringgående av åtkomstkontroll.
  • Hårdkodade inloggningsuppgifter: Identifiera och ta bort hemligheter från källkoden.
  • Felaktig implementering av kryptografi: Användning av ECB-läge, svaga nycklar eller statiska IV:er.

10. Källor för kunskap

  • Statistiska analysverktyg: Använd SonarQube, Checkmarx och Fortify för automatisk 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 klistersidor för säker koding.

Krav

Inga.

 21 Timmar

Antal deltagare


Pris per deltagare

Vittnesmål (4)

Kommande Kurser

Relaterade Kategorier