CONTACT ONS

Cursusaanbod

1. IT-beveiliging en veilig programmeren

  • Grondprincipes van beveiliging: Vertrouwelijkheid, integriteit en beschikbaarheid (CIA) in de context van Java-applicaties.
  • Beveiligde softwareontwikkelingscyclus (SSDLC): Beveiliging integreren vanaf het ontwerpproces tot aan implementatie.
  • Programmeerprincipes voor beveiliging: Defensieve programmeerpraktijken, het 'least privilege'-beginsel en veilige standaardinstellingen.
  • Classificaties van kwetsbaarheden: Kennismaking met CWE (Common Weakness Enumeration) en OWASP.

2. Beveiliging van webapplicaties

  • Uitgebreide analyse van de OWASP Top Ten: Specifieke aandacht voor injectie-aanvallen, foutieve authenticatie en blootstelling van gevoelige data.
  • Cross-Site Scripting (XSS): Voorbeelden en risico’s van gereflecteerde, opgeslagen en DOM-gebaseerde XSS in Java/JSP.
  • Cross-Site Request Forgery (CSRF): Aanvalstechnieken en implementatie van anti-CSRF-tokens.
  • Gebruikerssessies beheren: Beveiliging van cookies, bescherming tegen sessiefixatie en juiste timeout-configuraties.
  • API-beveiliging: Hoe REST- en SOAP-eindpunten te beschermen tegen misbruik.

3. Beveiliging van webservices

  • Webservices versus traditionele webapplicaties: Verschillen in kwetsbaarheden en aanvalsmogelijkheden.
  • Transportlaagbeveiliging: Configuratie van SSL/TLS voor Java-clients en -servers.
  • Boodschapbeveiliging: Waarborging van integriteit en vertrouwelijkheid op payload-niveau.
  • Authenticatiestandaarden: Toepassing van OAuth 2.0, OpenID Connect en JWT (JSON Web Tokens).

4. Beveiliging van XML

  • Risico’s bij XML-parsing: Het voorkomen van XXE-aanvallen.
  • Geldige validatie van XML-schema’s: Best practices voor strikte schema-afdwinging.
  • Digitale handtekeningen in XML: Hoe digitale handtekeningen toe te passen om non-repudiatie te bewerkstelligen.
  • XML-codering: Voorbeelden van manieren om XML-inhoud veilig te versleutelen.

5. Grondbeginselen van Java-beveiliging

  • De beveiligingsarchitectuur van Java: Het java.security-pakket en het provider-systeem.
  • Beveiligingsproviders instellen: Bijvoorbeeld de installatie en configuratie van Bouncy Castle.
  • Toegangscontrolemechanismen: Policy-bestanden, permissies en de rol van de Security Manager (vroegere en huidige methodes).
  • Beheer van keystores en truststores: Hoe certificaten op te slaan en te beheren.

6. Praktische cryptografie

  • Cryptografische algoritmen: Overzicht van symmetrische (AES), asymmetrische (RSA, ECC) en hash-functies (SHA-256/512).
  • Random getalgeneratie: Waarom java.util.Random gevaarlijk kan zijn en wanneer java.security.SecureRandom te verkiezen is.
  • Sleutelbeheer: Hoe cryptografische sleutels te genereren, op te slaan en regelmatig te vervangen.
  • Java Cryptography Architecture (JCA): Praktijkgebruik van klassen zoals Cipher, MessageDigest en Mac.
  • Java Cryptography Extension (JCE): Wat te weten valt over policy-bestanden en onbeperkte cryptografische mogelijkheden.

7. Java-beveiligingsdiensten

  • SSL/TLS in Java: Implementatie van SSLSocketFactory en HttpsURLConnection.
  • Vertrouwensbeheer: Aanpassing van vertrouwingsinstellingen voor gesloten PKI-omgevingen.
  • Authenticatieprogrammering: Gebruik van Authenticator.getDefault() om gebruikersidentiteit vast te stellen.
  • Certificaatanalyse: Hoe X.509-certificaten programmatisch te lezen en te evalueren.

8. Beveiliging in Java EE

  • Declaratieve beveiliging: Rolgebaseerde toegangscontrole via web.xml en annotaties.
  • Programmatische beveiliging: Controleren van gebruikersrechten met behulp van HttpServletRequest.isUserInRole() en getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Configuratie van login.conf en implementatie van eigen LoginModule-klassen.
  • Servlet-beveiliging: Beheer van authenticatiemechanismen zoals FORM, BASIC en DIGEST.

9. Veelgemaakte programmeerfouten en beveiligingsproblemen

  • Ongeschikte deserialisatie: Risico’s van gebruik van ObjectInputStream zonder voldoende controles.
  • Command Injection: Hoe OS-gerichte aanvallen te voorkomen bij uitvoering van externe commando's.
  • Padtraversal-aanvallen: Het valideren van bestandsinvoer om directory-traversal te vermijden.
  • Reflectie-uitbuiting: Risico’s bij gebruik van java.lang.reflect en het omzeilen van toegangsbeperkingen.
  • Gekodeerde wachtwoorden in bronbestanden: Hoe dergelijke gevoelige gegevens te detecteren en te verwijderen.
  • Foutieve cryptografische implementatie: Gebruik van zwakke encryptiemethoden, foute encryptie-mode of onvoldoende willekeurige waarden.

10. Verdiepingsbronnen en hulpmiddelen

  • Statische analyse-tools: SonarQube, Checkmarx en Fortify voor geautomatiseerde beveiligingsscans.
  • Dynamische analysetools: Introductie tot Burp Suite en OWASP ZAP.
  • CVE-databases: Hoe recente kwetsbaarheden in het Java-framework te volgen en aan te pakken.
  • Aanbevolen leesmateriaal: Boeken, documentatie en checklists voor veilig programmeerpraktijken.

Vereisten

Geen voorafgaande kennis vereist.

 21 Uren

Aangepaste bedrijfsopleiding

Opleidingsoplossingen ontworpen exclusief voor bedrijven.

  • Aangepaste inhoud: We passen de syllabus en praktijkopdrachten aan naar de echte doelen en behoeften van uw project.
  • Voor flexibel schema: Datums en tijden aangepast aan het rooster van uw team.
  • Formaat: Online (live), In-company (bij uw kantoren) of Hybride.
Investering

Prijs per privégroep, online live training, startend vanaf 4800 € + BTW*

Neem contact met ons op voor een exacte offerte en om onze laatste promoties te horen

Reviews (4)

Voorlopige Aankomende Cursussen

Gerelateerde categorieën