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.
  • Sichere Softwareentwicklungslebenszyklen (SSDLC): Integration von Sicherheit von der Anforderungserfassung bis zum Deployment.
  • Paradigmen sicheren Codings: Defense in depth, Least Privilege und fail-safe Defaults.
  • Standardisierte Klassifizierung von Schwachstellen: Verständnis von CWE (Common Weakness Enumeration) und OWASP.

2. Webanwendungssicherheit

  • Tiefgang in die OWASP Top Ten: Detaillierte Analyse von Injection, Broken Authentication und Sensitive Data Exposure.
  • Cross-Site Scripting (XSS): Reflected, Stored- und DOM-basierte XSS-Szenarien in Java/JSP.
  • Cross-Site Request Forgery (CSRF): Angriffsmechanismen und Implementierung von Anti-CSRF-Tokens.
  • Sitzungsmanagement: Cookie-Sicherheit, Session Fixation und Timeout-Verwaltung.
  • API-Sicherheit: Absichern von REST- und SOAP-Endpoints gegen Missbrauch.

3. Sicherheit von Webdiensten

  • Webdienste vs. traditionelle Web-Apps: Unterschiede in den Angriffsflächen.
  • Transportlagensicherheit: 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

  • XML-Parsing-Schwachstellen: Verhinderung von XML External Entity (XXE)-Angriffen.
  • XML-Schema-Validierung: Best Practices für die strikte Durchsetzung von Schemata.
  • XML-Digital-Signaturen: Implementierung von Signaturen zur Sicherstellung der Nichtabbestattung.
  • XML-Verschlüsselung: Standardansätze zur Verschlüsselung von XML-Inhalten.

5. Grundlagen der Java-Sicherheit

  • Die Java-Sicherheitsarchitektur: Das java.security-Paket und die Provider-Architektur.
  • Sicherheitsprovider: 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 Kryptographie

  • Kryptografische Algorithmen: Übersicht über symmetrische (AES), asymmetrische (RSA, ECC) und Hash-Algorithmen (SHA-256/512).
  • Erzeugung von Zufallszahlen: Die Gefahren von java.util.Random im Vergleich zu java.security.SecureRandom.
  • Schlüsselverwaltung: Strategien zur Schlüsselgenerierung, -speicherung und -rotation.
  • Java Cryptography Architecture (JCA): Verwendung der Klassen Cipher, MessageDigest und Mac.
  • Java Cryptography Extension (JCE): Verständnis von Policy-Dateien und der unbegrenzten Stärke (unlimited strength).

7. Java-Sicherheitsdienste

  • SSL/TLS in Java: Verwendung von SSLSocketFactory und HttpsURLConnection.
  • Trust Managers: Anpassung der Vertrauensprüfung für private PKI-Umgebungen.
  • Authentifizierer: Programmierte Authentifizierung mit Authenticator.getDefault().
  • Zertifikatsanalyse: Programmgestützte Lese- und Analysefähigkeiten für X.509-Zertifikate.

8. Java EE-Sicherheit

  • Deklorative Sicherheit: Rollenbasierte Zugriffskontrolle (RBAC) über 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 Codierungsfehler und Schwachstellen

  • Unsichere Deserialisierung: Die Risiken von ObjectInputStream und das Umgehen von Sicherheitsprüfungen.
  • Befehlsinjection: Minderung von OS-Ebenen-Ausführungsschwachstellen.
  • Pfadtraversierung: Sanitizing von Dateisystemeingaben zur Verhinderung von Verzeichnis-Traversierung.
  • Missbrauch von Reflection: Risiken, die mit java.lang.reflect und dem Umgehen der Zugriffskontrolle verbunden sind.
  • Hartkoderte Zugangsdaten: 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-Tools: Verwendung von SonarQube, Checkmarx und Fortify für automatisiertes Scanning.
  • Dynamische Analyse-Tools: Übersicht über Burp Suite und OWASP ZAP.
  • CVE-Datenbanken: Wie man neue Schwachstellen im Java-Framework verfolgt und darauf reagiert.
  • 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