Kontakt aufnehmen
 Dauer 21 Stunden

Schulungsübersicht

1. IT-Sicherheit und sicheres Coding

  • Grundlegende Sicherheitsprinzipien: Vertraulichkeit, Integrität und Verfügbarkeit (CIA) im Kontext von Java-Anwendungen.
  • Sicherer Software-Entwicklungslebenszyklus (SSDLC): Integration von Sicherheit von der Anforderungserhebung bis zur Bereitstellung.
  • Paradigmen des sicheren Codings: Defense in depth, Least Privilege und fehlertolerante Standardwerte.
  • Standardisierte Schwachstellenkategorien: Verständnis von CWE (Common Weakness Enumeration) und OWASP.

2. Webanwendungssicherheit

  • Tiefenblick in die OWASP Top Ten: Detaillierte Analyse von Injektionen, Authentifizierungsfailures und dem Offenlegen sensibler Daten.
  • Cross-Site Scripting (XSS): Szenarien für reflektiertes, gespeichertes und DOM-basiertes XSS in Java/JSP.
  • Cross-Site Request Forgery (CSRF): Angriffsmechanismen und Implementierung von Anti-CSRF-Token.
  • Sitzungsverwaltung: Cookie-Sicherheit, Session Fixation und Time-out-Verwaltung.
  • API-Sicherheit: Absicherung von REST- und SOAP-Endpunkten gegen Missbrauch.

3. Sicherheit von Web Services

  • Web Services im Vergleich zu klassischen Web-Apps: Unterschiede in den Angriffsflächen.
  • Transportlagersicherheit: SSL/TLS-Konfiguration für Java-Clients und -Server.
  • Nachrichtensicherheit: Integrität und Vertraulichkeit auf Payload-Ebene.
  • Authentifizierungsstandards: Implementierung von OAuth 2.0, OpenID Connect und JWT (JSON Web Tokens).

4. XML-Sicherheit

  • Schwachstellen beim XML-Parsing: Vermeidung von XML External Entity (XXE) Angriffen.
  • XML-Schemagültigkeitsprüfung: Best Practices für strikte Schemazwingungen.
  • XML-Digitalsignaturen: Implementierung von Signaturen zur Sicherstellung der Unverweigerbarkeit.
  • XML-Verschlüsselung: Standardansätze zur Verschlüsselung von XML-Inhalten.

5. Grundlagen der Java-Sicherheit

  • Die Java-Sicherheitsarchitektur: Das Paket java.security und die Provider-Architektur.
  • Sicherheits-Provider: Installation und Konfiguration von Providern wie Bouncy Castle.
  • Zugriffskontrolle: Policy-Dateien, Berechtigungen und der Security Manager (Legacy vs. Modern).
  • KeyStore-Verwaltung: Erstellung und Verwaltung von Keystores und Truststores für Zertifikate.

6. Praktische Kryptografie

  • Kryptografische Algorithmen: Überblick über symmetrische (AES), asymmetrische (RSA, ECC) und Hash-Algorithmen (SHA-256/512).
  • Zufallsgenerierung: Die Gefahren von java.util.Random im Vergleich zu java.security.SecureRandom.
  • Schlüsselverwaltung: Strategien für Schlüsselgenerierung, -speicherung und -rotation.
  • Java Cryptography Architecture (JCA): Nutzung der Klassen Cipher, MessageDigest und Mac.
  • Java Cryptography Extension (JCE): Verständnis von Policy-Dateien und unbegrenzter Starke Jurisdiktion.

7. Java-Sicherheitsdienste

  • SSL/TLS in Java: Verwendung von SSLSocketFactory und HttpsURLConnection.
  • Trust Manager: Anpassung der Vertrauensprüfung für private PKI-Umgebungen.
  • Authentifizierer: Programmatische Authentifizierung mittels Authenticator.getDefault().
  • Zertifikatsanalyse: Programmables Lesen und Analysieren von X.509-Zertifikaten.

8. Java EE Sicherheit

  • Deklarative Sicherheit: Rollenbasierte Zugriffskontrolle (RBAC) mittels web.xml und Annotationen.
  • Programmierte Sicherheit: Verwendung von HttpServletRequest.isUserInRole() und getRemoteUser().
  • JAAS (Java Authentication and Authorization Service): Konfiguration von login.conf und Implementierung von LoginModules.
  • Servlet-Sicherheit: Container-verwaltete Sicherheitsbeschränkungen und Authentifizierungsmethoden (FORM, BASIC, DIGEST).

9. Häufige Programmierfehler und Sicherheitslücken

  • Unsichere Deserialisierung: Risiken von ObjectInputStream und Umgehung von Sicherheitsprüfungen.
  • Command Injection: Minderung von OS-Ebenen-Ausführungs-Schwachstellen.
  • Path Traversal: Sanitisierung von Dateisystemeingaben zur Vermeidung von Directory Traversal.
  • Missbrauch von Reflection: Risiken im Zusammenhang mit java.lang.reflect und Umgehung der Zugriffskontrolle.
  • Hartkodierte Anmeldeinformationen: Identifizierung und Entfernung von Geheimnissen aus dem Quellcode.
  • Fehler bei der Kryptografie-Implementierung: Verwendung des ECB-Modus, schwacher Schlüssel oder statischer IVs.

10. Wissensquellen

  • Statische Analyse-Werkzeuge: Verwendung von SonarQube, Checkmarx und Fortify für automatische Scans.
  • Dynamische Analyse-Werkzeuge: Überblick über Burp Suite und OWASP ZAP.
  • CVE-Datenbanken: Nachverfolgung und Reaktion auf neue Sicherheitslücken im Java-Framework.
  • Empfohlene Lektüre: Liste von Büchern, Dokumentationen und Checklisten für sicheres Coding.

Voraussetzungen

Keine.

Teilnehmerzahl


Preis je Teilnehmer (exkl. USt)

Erfahrungsberichte (4)

Kommende Kurse

Verwandte Kategorien