Vielen Dank für die Zusendung Ihrer Anfrage! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Vielen Dank, dass Sie Ihre Buchung abgeschickt haben! Eines unserer Teammitglieder wird Sie in Kürze kontaktieren.
Schulungsübersicht
1. IT-Sicherheit und sicheres Programmieren
- Grundlegende Sicherheitsprinzipien: Vertraulichkeit, Integrität sowie Verfügbarkeit (CIA) im Kontext von Java-Anwendungen.
- Sicherer Software-Entwicklungszyklus (SSDLC): Integration von Sicherheit vom Anforderungsmanagement bis zur Implementierung.
- Sicherheitsorientierte Programmieransätze: Verteidigung in Tiefenstufen, Prinzip der geringsten Rechte sowie sichere Standardeinstellungen.
- Standardisierte Schwachstelleneinteilung: Einführung in CWE (Common Weakness Enumeration) und OWASP.
2. Sicherheit von Webanwendungen
- Tiefergehende Betrachtung der OWASP Top Ten: Detaillierte Analyse zu Injection-Angriffen, fehlerhafter Authentifizierung sowie Offenlegung sensibler Daten.
- Cross-Site Scripting (XSS): Untersuchung von reflektiertem, gespeichertem und DOM-basiertem XSS in Java bzw. JSP-Anwendungen.
- Cross-Site Request Forgery (CSRF): Funktionsweise solcher Angriffe sowie Umsetzung von Anti-CSRF-Token.
- Sitzungsmanagement: Sicherheit von Cookies, Prävention von Sitzungsfixierung und korrekte Timeout-Einstellungen.
- API-Sicherheit: Schutz von REST- sowie SOAP-Endpunkten vor Missbrauch.
3. Sicherheit von Webservices
- Webservices vs. klassische Webanwendungen: Abweichungen hinsichtlich potenzieller Angriffsvektoren.
- Transportverschlüsselung: Einrichtung von SSL/TLS für Java-Clients und -Server.
- Nachrichtenverschlüsselung: Gewährleistung der Integrität sowie Vertraulichkeit auf Ebene des Inhalts.
- Authentifizierungsstandards: Nutzung von OAuth 2.0, OpenID Connect und JWT (JSON Web Tokens).
4. XML-Sicherheit
- Schwachstellen beim XML-Parsing: Schutz vor Angriffen durch externe Entitäten (XXE).
- Strikte XML-Schema-Validierung: Empfohlene Methoden zur Durchsetzung strikter Schema-Vorgaben.
- Digitale Signaturen für XML: Umsetzung von Signaturen zum Nachweis der Unabänderlichkeit.
- Verschlüsselung von XML-Inhalten: Gängige Verfahren zur Absicherung solcher Daten.
5. Grundlagen der Java-Sicherheit
- Architektur der Java-Sicherheit: Das Paket
java.securitysowie das Konzept von Sicherheitsanbietern. - Sicherheitsanbieter installieren und konfigurieren: Z. B. Nutzung des Bouncy Castle-Moduls.
- Zugriffskontrolle: Konfiguration von Policies, Berechtigungen sowie Vergleich klassischer und moderner Sicherheitsmechanismen.
- Verwaltung von KeyStores: Erstellung sowie Pflege von Zertifikats- und Vertrauensspeichern.
6. Praktische Kryptographie
- Kryptographische Algorithmen: Überblick über symmetrische (z. B. AES), asymmetrische (RSA, ECC) und Hash-Algorithmen (SHA-256/512).
- Erzeugung zufälliger Zahlen: Gefahren bei Nutzung von
java.util.Randomim Vergleich zujava.security.SecureRandom. - Schlüsselmanagement: Erstellung, Speicherung sowie regelmäßige Rotation von Schlüsseln.
- Java Cryptography Architecture (JCA): Nutzung der Klassen
Cipher,MessageDigestundMac. - Java Cryptography Extension (JCE): Erklärung von Richtlinien-Dateien sowie länderspezifischen Beschränkungen.
7. Java-Sicherheitsdienste
- SSL/TLS in Java: Einsatz von
SSLSocketFactorysowieHttpsURLConnection. - Vertrauensmanager konfigurieren: Individualisierung der Verifizierungsmechanismen in privaten PKI-Umgebungen.
- Authentifizierung programmatisch steuern: Nutzung von
Authenticator.getDefault(). - Zertifikate verarbeiten: Programmgestütztes Auslesen und Analysieren von X.509-Zertifikaten.
8. Java EE-Sicherheit
- Deklarative Sicherheit einrichten: Rollenbasierte Zugriffskontrolle mittels
web.xmlund Annotationen. - Programmatische Sicherheitsverwaltung: Abfragen nach Nutzerrollen mit
HttpServletRequest.isUserInRole()bzw. Identifikation pergetRemoteUser(). - Einrichtung von JAAS (Java Authentication and Authorization Service): Konfiguration von
login.confund eigene Implementierungen mittelsLoginModule. - Sicherheitsvorgaben für Servlets festlegen: Definierung von Zugangsbedingungen sowie Authentifizierungsarten (FORM, BASIC, DIGEST).
9. Häufige Programmierfehler und Schwachstellen
- Insecure Deserialization: Gefahren beim Umgang mit
ObjectInputStreamsowie Risiken bei Umgehung von Sicherheitsprüfungen. - Befehlsinjektion verhindern: Schutz vor Ausführung unbefugter OS-Befehle.
- Sichere Verarbeitung von Dateipfaden: Vorbeugung gegen Directory-Traversal-Angriffe.
- Missbräuchliche Nutzung der Reflection-API: Risiken bei
java.lang.reflectund Umgehung bestehender Zugriffsrestriktionen. - Sichere Handhabung vertraulicher Daten: Identifikation sowie Entfernung fester Kennwörter aus dem Quellcode.
- Typische Fehler bei der Kryptographie-Anwendung: Vermeidung von schwachen Verschlüsselungsmodi, unzureichenden Schlüsseln oder statischen Initialisierungsvektoren.
10. Ressourcen zum Sicherheitswissen
- Statische Analysewerkzeuge: Nutzung von SonarQube, Checkmarx und Fortify zur automatisierten Fehlersuche.
- Dynamische Analysetools: Einführung in Burp Suite sowie OWASP ZAP.
- CVE-Datenbanken nutzen: Informationsbeschaffung zu neuen Schwachstellen im Java-Umfeld und deren Reaktionsmaßnahmen.
- Empfohlene Literaturliste: Bücher, offizielle Dokumentation sowie Checklisten für sicheres Programmieren.
Voraussetzungen
Keine Voraussetzungen.
21 Stunden
Erfahrungsberichte (4)
Das Wissen des Trainers war sehr hoch – er wusste, worüber er sprach, und konnte unsere Fragen beantworten.
Adam - Fireup.PRO
Kurs - Advanced Java Security
Maschinelle Übersetzung
Praktische Übungen
Olek - Fireup.PRO
Kurs - Advanced Java Security
Maschinelle Übersetzung
Codierübungen
Mirek - Fireup.PRO
Kurs - Advanced Java Security
Maschinelle Übersetzung
Es öffnet sich weit und bietet viele Einblicke in die Sicherheit
Nolbabalo Tshotsho - Vodacom SA
Kurs - Advanced Java Security
Maschinelle Übersetzung