Ta kontakt

Kursplan

1. IT-sikkerhet og secure coding

  • Grunnleggende sikkerhetsprinsipper: Konfidensialitet, integritet og tilgjengelighet (CIA) i sammenheng med Java-applikasjoner.
  • Sikker programvareutviklingssyklus (SSDLC): Integrere sikkerhet fra krav til distribusjon.
  • Sikker kodingsparadigmer: Defense in depth, prinsippet om minst tillatelse og feilsikre standardverdier.
  • Standard klassifisering av sårbarheter: Forståelse av CWE (Common Weakness Enumeration) og OWASP.

2. Sikkerhet for webapplikasjoner

  • Dypere innblikk i OWASP Top Ten: Detaljert analyse av Injection, Broken Authentication og eksponering av sensitiv data.
  • Cross-Site Scripting (XSS): Reflekterte, lagrede og DOM-baserte XSS-scenarier i Java/JSP.
  • Cross-Site Request Forgery (CSRF): Angrepsmekanismer og implementering av Anti-CSRF-tokener.
  • Sesjonsadministrasjon: Sikkerhet for informasjonskapsler, sessjonsfixing og håndtering av tidsavslag.
  • API-sikkerhet: Sikre REST- og SOAP-endepunkter mot misbruk.

3. Sikkerhet for webtjenester

  • Webtjenester vs. tradisjonelle webapper: Forskjeller i angrepsflater.
  • Transportlagsikkerhet: SSL/TLS-konfigurasjon for Java-klienter og servere.
  • Meldingssikkerhet: Integritet og konfidensialitet på payload-nivå.
  • Autentiseringsstandarder: Implementering av OAuth 2.0, OpenID Connect og JWT (JSON Web Tokens).

4. XML-sikkerhet

  • XML-parsersårbarheter: Forhindre XML External Entity (XXE)-angrep.
  • XML-skjematvalidering: Best practices for streng skjematoppfølging.
  • XML-digitale signaturer: Implementere signaturer for å sikre ikke-begjæring.
  • XML-kryptering: Standard tilnærminger til kryptering av XML-innhold.

5. Grunnleggende Java-sikkerhet

  • Java-sikkerhetsarkitekturen: java.security-pakken og leverandørens arkitektur.
  • Sikkerhetsleverandører: Installasjon og konfigurasjon av leverandører som Bouncy Castle.
  • Tilgangskontroll: Politifiler, tillatelser og Security Manager (Legacy vs. Moderne).
  • KeyStore-håndtering: Opprette og administrere keystores og truststores for sertifikater.

6. Praktisk kryptografi

  • Kryptografiske algoritmer: Oversikt over symmetriske (AES), asymmetriske (RSA, ECC) og hashing-algoritmer (SHA-256/512).
  • Tilfeldig tallgenerering: Farene ved java.util.Random vs. java.security.SecureRandom.
  • Nøkelhåndtering: Strategier for nøkkelgenerering, lagring og rotering.
  • Java Cryptography Architecture (JCA): Bruke Cipher, MessageDigest og Mac-klasser.
  • Java Cryptography Extension (JCE): Forståelse av politifiler og ubegrenset styrke-jurisdiksjon.

7. Java-sikkerhetstjenester

  • SSL/TLS i Java: Bruke SSLSocketFactory og HttpsURLConnection.
  • Trust Managers: Tilpasser tillitssjekker for private PKI-miljøer.
  • Authenticators: Programmeringsbasert autentisering ved hjelp av Authenticator.getDefault().
  • Sertifikatparsning: Lese og analysere X.509-sertifikater programmeringsbasert.

8. Java EE-sikkerhet

  • Deklarativ sikkerhet: Rollebasert tilgangskontroll (RBAC) ved hjelp av web.xml og annotasjoner.
  • Programmeringssikkerhet: Bruke HttpServletRequest.isUserInRole() og getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Konfigurere login.conf og implementere LoginModules.
  • Servlet-sikkerhet: Container-styrt sikkerhetsbegrensninger og autentiseringsmetoder (FORM, BASIC, DIGEST).

9. Vanlige kodingsfeil og sårbarheter

  • Usikker deserialisering: Risikoen ved ObjectInputStream og omgåelse av sikkerhetssjekker.
  • Kommandoinjeksjon: Avbøte sårbarheter for OS-nivå kjøring.
  • Sti-traversal: Sanitere filsysteminputter for å forhindre mappe-traversering.
  • Refleksjonsmisbruk: Risikoen knyttet til java.lang.reflect og omgåelse av tilgangskontroll.
  • Hårdkodede legitimasjon: Identifisere og fjerne hemmeligheter fra kildekode.
  • Feil i krypteringsimplementering: Bruke ECB-modus, svake nøkler eller statiske IVs.

10. Kunnskapskilder

  • Statisk analyseverktøy: Bruke SonarQube, Checkmarx og Fortify for automatisert scanning.
  • Dynamisk analyseverktøy: Oversikt over Burp Suite og OWASP ZAP.
  • CVE-databaser: Hvordan spore og reagere på nye Java-rammeverk-sårbarheter.
  • Anbefalte lesninger: Liste over bøker, dokumentasjon og secure coding-sjekklister.

Krav

Ingen.

 21 Timer

Antall deltakere


Pris per deltaker

Referanser (4)

Kommende kurs

Relaterte kategorier