Neem contact met ons op

Cursusaanbod

1. IT-beveiliging en veilig coderen

  • Fundamentele beveiligingsprincipes: Vertrouwelijkheid, Integriteit en Beschikbaarheid (CIA) in de context van Java-applicaties.
  • Veilige Softwareontwikkelingslevenscyclus (SSDLC): Integreer beveiliging van requirements tot deploy.
  • Paradigmas voor veilig coderen: Defensie in diepte, minimaal noodzakelijke rechten en veilige standaardinstellingen.
  • Standaard classificaties van kwetsbaarheden: Begrijpen van CWE (Common Weakness Enumeration) en OWASP.

2. Beveiliging van webapplicaties

  • Diepe analyse van de OWASP Top Ten: Gedetailleerde analyse van injectie, gebroken authenticatie en blootleggen van gevoelige gegevens.
  • Cross-Site Scripting (XSS): Gereflecteerd, opgeslagen en DOM-gebaseerd XSS-scenario’s in Java/JSP.
  • Cross-Site Request Forgery (CSRF): Aanvalsmethoden en implementatie van Anti-CSRF-tokens.
  • Sessiebeheer: Cookie-beveiliging, sessievaststelling en timeout-beheer.
  • API-beveiliging: Beschermen van REST- en SOAP-eindpunten tegen misbruik.

3. Beveiliging van web services

  • Web services vs. traditionele webapps: Verschillen in aanvalsoppervlak.
  • Transportlaagbeveiliging: SSL/TLS-configuratie voor Java-clients en -servers.
  • Boodschapsbeveiliging: Integriteit en vertrouwelijkheid op payload-niveau.
  • Authenticatiestandaarden: Implementatie van OAuth 2.0, OpenID Connect en JWT (JSON Web Tokens).

4. XML-beveiliging

  • XML-parseer-kwetsbaarheden: Voorkomen van XXE-aanvallen (XML External Entity).
  • XML-schema-validatie: Best practices voor strikte schema-throughseting.
  • XML-numerieke handtekeningen: Implementatie van handtekeningen om ontkennis te voorkomen.
  • XML-versleuteling: Standaard benaderingen voor het versleutelen van XML-inhoud.

5. Fundamenten van Java-beveiliging

  • Java-beveiligingsarchitectuur: Het java.security-pakket en providerarchitectuur.
  • Beveiligingsproviders: Installeren en configureren van providers zoals Bouncy Castle.
  • Toegangsbeheer: Beleidbestanden, permissies en de Security Manager (legacy vs. modern).
  • KeyStore-beheer: Aanmaken en beheren van keystores en truststores voor certificaten.

6. Praktische cryptografie

  • Cryptografische algoritmen: Overzicht van symmetrische (AES), asymmetrische (RSA, ECC) en hash-algoritmes (SHA-256/512).
  • Willekeurige getalgeneratie: De gevaren van java.util.Random vs. java.security.SecureRandom.
  • Sleutelbeheer: Strategieën voor sleutelgeneratie, opslag en rotatie.
  • Java Cryptography Architecture (JCA): Gebruik van Cipher, MessageDigest en Mac-klassen.
  • Java Cryptography Extension (JCE): Begrijpen van beleidbestanden en unlimited strength jurisdiction.

7. Java-beveiligingsdiensten

  • SSL/TLS in Java: Gebruik van SSLSocketFactory en HttpsURLConnection.
  • Trust Managers: Afbakening van vertrouwensverificatie voor private PKI-omgevingen.
  • Authenticatoren: Programmatische authenticatie met Authenticator.getDefault().
  • Certificaatanalyse: Programmatisch lezen en analyseren van X.509-certificaten.

8. Java EE-beveiliging

  • Declaratieve beveiliging: Rolgebaseerd toegangsbeheer (RBAC) met web.xml en annotaties.
  • Programmatische beveiliging: Gebruik van HttpServletRequest.isUserInRole() en getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Configureren van login.conf en implementeren van LoginModules.
  • Servlet-beveiliging: Container-gebeheerde beveiligingsrestricties en authenticatiemethoden (FORM, BASIC, DIGEST).

9. Veelvoorkomende programmeerfouten en kwetsbaarheden

  • Onveilige serialisatie: Risico’s van ObjectInputStream en het omzeilen van beveiligingschecks.
  • Command injection: Mitigeren van OS-niveau uitvoeringskwetsbaarheden.
  • Pad-oversteek: Saniteren van bestandssysteem-ingangen om directory traversal te voorkomen.
  • Misbruik van reflectie: Risico’s van java.lang.reflect en het omzeilen van toegangscontrole.
  • Ingesloten inloggegevens: Identificeren en verwijderen van secrets uit de broncode.
  • Fouten in cryptografische implementaties: Gebruik van ECB-modus, zwakke sleutels of statische IVs.

10. Kennisbronnen

  • Statische analysetools: Gebruik van SonarQube, Checkmarx en Fortify voor geautomatiseerd scannen.
  • Dynamische analysetools: Overzicht van Burp Suite en OWASP ZAP.
  • CVE-databases: Hoe nieuwe kwetsbaarheden in het Java-framework bij te houden en hierop te reageren.
  • Aanbevolen lectuur: Lijst met boeken, documentatie en checklists voor veilig coderen.

Vereisten

Geen.

 21 Uren

Aantal deelnemers


Prijs per deelnemer

Getuigenissen (4)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën