Sicherer Developer Java (inkl. OWASP) Schulung
Dieser Kurs behandelt die Konzepte und Prinzipien des sicheren Codings mit Java anhand der Testmethodik des Open Web Application Security Project (OWASP). Das Open Web Application Security Project ist eine Online-Community, die kostenlos zugängliche Artikel, Methodologien, Dokumentationen, Tools und Technologien im Bereich der Sicherheit von Webanwendungen entwickelt.
Schulungsübersicht
- Verständnis von Webbedrohungen und Angriffvektoren
- Kennenlernen der Prinzipien sicheren Designs
- Verständnis der OWASP Top 10-Angriffe
- Verständnis der Probleme bei Authentifizierung und Autorisierung
- Maßnahmen zur Verhinderung von Cross-Site Scripting (XSS)
- Maßnahmen zur Verhinderung von Cross-Site Request Forgery (CSRF)
- Verständnis des sicheren Entwicklungszyklus
- Maßnahmen zur Verhinderung von Injectionsangriffen
- Verständnis der Schutzmechanismen in JDBC und JPA
- Verständnis der Methodologien für Penetrationstests
- Wissen, wie Java-Anwendungen gesichert werden können
Voraussetzungen
- Erfahrung mit Java
- Erfahrung in der Erstellung von Webanwendungen
Offene Schulungskurse erfordern mindestens 5 Teilnehmer.
Sicherer Developer Java (inkl. OWASP) Schulung - Buchung
Sicherer Developer Java (inkl. OWASP) Schulung - Anfrage
Sicherer Developer Java (inkl. OWASP) - Beratungsanfrage
Erfahrungsberichte (3)
Das Thema ist aktuell und ich musste mich aktualisieren
Damilano Marco - SIAP s.r.l.
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Es war sehr umfassend, die Informationen waren klar und prägnant.
Sebastian-Daniel - BRD
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Mehrere Beispiele für jedes Modul und großartiges Wissen des Trainers.
Sebastian - BRD
Kurs - Secure Developer Java (Inc OWASP)
Maschinelle Übersetzung
Kommende Kurse
Kombinierte Kurse
Netzwerksicherheit und sichere Kommunikation
21 StundenDie Implementierung einer sicheren, vernetzten Anwendung kann schwierig sein, selbst für Entwickler, die zuvor verschiedene kryptografische Bausteine (wie Verschlüsselung und digitale Signaturen) verwendet haben. Um den Teilnehmern die Rolle und Verwendung dieser kryptografischen Primitive verständlich zu machen, wird zunächst ein solides Fundament bezüglich der Hauptanforderungen an eine sichere Kommunikation gelegt – sichere Bestätigung, Integrität, Vertraulichkeit, Fernidentifikation und Anonymität – wobei auch die typischen Probleme dargestellt werden, die diese Anforderungen gefährden können, zusammen mit realweltlichen Lösungen.
Da Kryptographie ein kritischer Aspekt der Netzwerksicherheit ist, werden die wichtigsten kryptografischen Algorithmen in der symmetrischen Verschlüsselung, Hashing, asymmetrischer Kryptographie und dem Schlüsselaustausch ebenfalls behandelt. Statt einen tiefgehenden mathematischen Hintergrund zu präsentieren, werden diese Elemente aus der Perspektive eines Entwicklers diskutiert, wobei typische Use-Case-Beispiele und praktische Überlegungen zur Verwendung von Krypto, wie etwa Public-Key-Infrastrukturen (PKI), aufgezeigt werden. Sicherheitsprotokolle in vielen Bereichen der sicheren Kommunikation werden eingeführt, mit einer eingehenden Diskussion über die am weitesten verbreiteten Protokollfamilien wie IPSEC und SSL/TLS.
Typische Krypto-Schwachstellen werden sowohl im Zusammenhang mit bestimmten kryptografischen Algorithmen als auch mit kryptografischen Protokollen diskutiert, wie BEAST, CRIME, TIME, BREACH, FREAK, Logjam, Padding Oracle, Lucky Thirteen, POODLE und ähnlichen, sowie dem RSA-Timing-Angriff. In jedem Fall werden die praktischen Überlegungen und möglichen Konsequenzen für jedes Problem beschrieben, ebenfalls ohne in tiefe mathematische Details zu gehen.
Schliesslich wird, da XML-Technologie für den Datenaustausch durch vernetzte Anwendungen zentral ist, die Sicherheit von XML beschrieben. Dies umfasst die Nutzung von XML innerhalb von Webdiensten und SOAP-Nachrichten sowie Schutzmassnahmen wie XML-Signatur und XML-Verschlüsselung – ebenso wie Schwachstellen in diesen Schutzmassnahmen und xml-spezifische Sicherheitsprobleme wie XML-Injection, Angriffe auf externe Entitäten (XXE), XML-Bomben und XPath-Injection.
Teilnehmende dieser Schulung werden
- Die Grundkonzepte der Sicherheit, IT-Sicherheit und sicheren Codierung verstehen
- Die Anforderungen einer sicheren Kommunikation verstehen
- Etiketten von Netzwerkangriffen und Verteidigungsmechanismen auf verschiedenen OSI-Schichten kennenlernen
- eine praktische Vorstellung von Kryptographie erhalten
- wichtige Sicherheitsprotokolle verstehen
- Angriffe auf kryptografische Systeme der jüngsten Vergangenheit verstehen
- Informationen zu einigen neuen, entsprechenden Schwachstellen erhalten
- Sicherheitskonzepte von Webdiensten verstehen
- Quellen und weiterführende Literatur zu bewährten Praktiken des sicheren Codierens erhalten
Zielgruppe
Entwickler, Fachpersonen
Sicheres Programmieren in C/C++
21 StundenDas Schreiben von sicherem C- und C++-Code erfordert eine strenge Abwehr gegen böswillige Ausnutzung, Speicherkorruption und das Umgehen der Eingabevalidierung. Dieses Programm untersucht Schwachstellenmuster wie Pufferüberläufe, Use-after-free, ganzzahlige Überläufe und Typanomalien. Die Teilnehmer wenden sichere Programmierrichtlinien, statische Analyse-Tools und defensive Programmierungstechniken an, um Schwachstellen zu beseitigen, die Eingabebereinigung durchzusetzen und eine gegen Cyberangriffe widerstandsfähige Software zu liefern.
Erweiterte Java-Sicherheit
21 StundenAuch erfahrene Java-Programmierer beherrschen nicht automatisch sämtliche von Java angebotenen Sicherheitsdienste und sind sich ebenfalls der verschiedenen Schwachstellen, die für in Java geschriebene Webanwendungen relevant sind, oft nicht bewusst.
Der Kurs – neben der Einführung der Sicherheitskomponenten der Standard Java Edition (SE) – befasst sich mit Sicherheitsfragen der Java Enterprise Edition (JEE) und von Webdiensten. Der Diskussion spezifischer Dienste gehen Grundlagen der Kryptografie und sicherer Kommunikation voraus. Verschiedene Übungen befassen sich mit deklarativen und programmatischen Sicherheitstechniken in JEE, wobei sowohl die Sicherheitsmechanismen auf Transportebene als auch End-to-End-Sicherheit bei Webdiensten behandelt werden. Die Anwendung aller Komponenten wird durch mehrere praktische Übungen vorgestellt, bei denen die Teilnehmenden die diskutierten APIs und Tools selbst ausprobieren können.
Der Kurs durchleuchtet und erklärt zudem die häufigsten und schwerwiegendsten Programmierfehler der Java-Sprache und -Plattform sowie webbezogene Schwachstellen. Neben den typischen Fehlern, die von Java-Programmierern begangen werden, decken die vorgestellten Sicherheitslücken sowohl sprachen spezifische Probleme als auch Schwierigkeiten ab, die aus der Laufzeitumgebung resultieren. Alle Schwachstellen und die relevanten Angriffe werden anhand leicht verständlicher Übungen demonstriert, gefolgt von empfohlenen Coding-Richtlinien und möglichen Abschwächungstechniken.
Teilnehmende dieses Kurses werden
- Begriffe rund um Sicherheit, IT-Sicherheit und sicheres Programmieren verstehen
- Schadenspotenziale von Webanwendungen jenseits der OWASP Top Ten kennenlernen und wissen, wie man diesen ausweicht
- Sicherheitskonzepte von Webdiensten verstehen
- Lernen, verschiedene Sicherheitsfunktionen der Java-Entwicklungsumgebung zu nutzen
- Ein praktisches Verständnis von Kryptografie entwickeln
- Sicherheitslösungen von Java EE verstehen
- Sich über typische Programmierfehler informieren und lernen, wie man diese vermeidet
- Informationen zu einigen jüngsten Schwachstellen im Java-Framework erhalten
- Praktische Kenntnisse im Umgang mit Sicherheitstestwerkzeugen erwerben
- Quellen und weiterführende Literatur zu sicheren Programmierpraktiken erhalten
Zielgruppe
Entwickler/innen
Groovy-Programmierung
21 StundenApache Groovy ist eine dynamische Programmiersprache für die JVM (Java Virtual Machine). Zu ihren Merkmalen zählen scriptingfähige Funktionen, die Erstellung domänenspezifischer Sprachen (DSL), Metaprogrammierung zur Laufzeit und Kompilierzeit sowie funktionale Programmierung. Groovy wird häufig als Ergänzung zu Java eingesetzt.
In diesem von einem Dozenten geleiteten Live-Training lernen die Teilnehmer die Programmierung in Groovy am Beispiel der Entwicklung einer Anwendungsstruktur kennen.
Zielgruppe
- Entwickler
Kursformat
- Vortrag, Diskussion, Übungen und intensive praktische Arbeit
Groovy-Programmierung für Anfänger
14 StundenDieser vom Dozenten geleitete Live-Training in Schweiz (online oder vor Ort) richtet sich an Entwickler auf Anfängerniveau, die die Grundlagen der Groovy-Programmierung erlernen möchten.
Nach Abschluss dieses Trainings können Teilnehmer:
- Die grundlegenden Programmierkonzepte verstehen.
- Einfache Groovy-Skripte schreiben und die Kernfeatures von Groovy nutzen.
- Die grundlegenden Prinzipien der objektorientierten Programmierung mit Groovy verstehen und anwenden.
- Basics des Error-Handlings lernen, um häufige Programmierfehler und Ausnahmen in Groovy zu bewältigen.
Java-Mikrodienste
21 StundenDiese live durchgeführte Schulung in Schweiz (online oder vor Ort) richtet sich an Java-Entwickler mit mittleren Kenntnissen, die Mikrodienste-basierte Anwendungen mit Java-Frameworks wie Spring Boot und Spring Cloud entwerfen, entwickeln, bereitstellen und warten möchten.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Die Prinzipien und Vorteile der Mikrodienste-Architektur zu verstehen.
- Mikrodienste mit Java und Spring Boot zu erstellen und bereitzustellen.
- Dienstentdeckung, Konfigurationsmanagement und API-Gateways zu implementieren.
- Mikrodienste effektiv zu sichern, zu überwachen und zu skalieren.
- Mikrodienste mit Docker und Kubernetes bereitzustellen.
Microservices mit Spring Boot, Docker und Kubernetes aufbauen
21 StundenDiese live unterrichtete Schulung in Schweiz (online oder vor Ort verfügbar) richtet sich an Entwickler mit mittlerem bis fortgeschrittenem Niveau, die die Entwicklung von Microservices mittels Spring Boot, Docker und Kubernetes meistern möchten.
Nach Abschluss dieser Schulung sind die Teilnehmer in der Lage:
- Die Prinzipien der Microservice-Architektur zu verstehen.
- Produktionsreife Microservices mit Spring Boot zu erstellen.
- Die entscheidende Rolle von Docker beim Containerisieren von Microservices nachzuvollziehen.
- Kubernetes-Cluster für die Bereitstellung und Orchestrierung von Microservices zu konfigurieren.
Quarkus für Entwickler
14 StundenDiese dozentengeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Entwickler, die Quarkus nutzen möchten, um Anwendungen mit voller Java-Leistungsfähigkeit zu erstellen, zu testen und bereitzustellen – jedoch mit geringerem Ressourcenverbrauch.
Nach Abschluss dieser Schulung können die Teilnehmenden:
- die erforderliche Entwicklungsumgebung einrichten, um mit der Anwendungsentwicklung auf Quarkus zu beginnen.
- Anwendungen im nativen Modus unter Verwendung von GraalVM erstellen, kompilieren und ausführen.
- Quarkus-Tooling und -Erweiterungen für den Aufbau nativer Anwendungen mit Maven nutzen.
- Anwendungen mit Docker containerisieren, ausführen und bereitstellen.
Quarkus für Java Native und Microservice-Entwicklung
40 StundenDieser von Lehrkräften geleitete, lebende Kurs in Schweiz (online oder vor Ort) richtet sich an Entwickler und Architekten mit fortgeschrittenen bis grundlegenden Kenntnissen, die Java Native-Anwendungen und Microservices mit Quarkus unter Optimierung des Speicherverbrauchs und der Startzeit entwickeln möchten.
Am Ende dieses Kurses werden die Teilnehmer in der Lage sein:
- Hochleistungsfähige, leichte Java Native-Anwendungen mit Quarkus zu entwickeln.
- RESTful Services und Microservice-Architekturen zu erstellen und bereitzustellen.
- GraalVM für native Kompilierung zu nutzen und Startzeit sowie Speichereffizienz zu optimieren.
- Anwendungen für Kubernetes- und OpenShift-Umgebungen zu verpacken und zu containerisieren.
RabbitMQ mit Java und Spring
14 StundenDiese instruktionsgeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Softwarearchitekt*innen und Webentwickler*innen, die RabbitMQ als Messaging-Middleware nutzen und Anwendungen mit Java und Spring programmieren möchten.
Nach Abschluss dieser Schulung können Teilnehmende:
- Java und Spring mit RabbitMQ zum Erstellen von Anwendungen verwenden.
- asynchrone nachrichtengesteuerte Systeme mit RabbitMQ entwerfen.
- Warteschlangen, Topics, Exchanges und Bindings in RabbitMQ erstellen und anwenden.
Spring Boot, React und Redux
14 StundenDiese instruktionsgeleitete Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Webentwickler, die funktionale Frontend- und Backend-Webanwendungen mit Spring Boot, React und Redux erstellen möchten.
Nach Abschluss dieser Schulung können die Teilnehmer Folgendes tun:
- Frontend-Anwendungen mit React und Redux erstellen.
- RESTful-APIs mit Spring Boot entwickeln.
- Webdienste mit Spring Security und JWT-Web-Token absichern.
Spring 5
21 StundenDiese Dozenten-gestützte, live Schulung in Schweiz (online oder vor Ort) richtet sich an Java-Entwickler, die das Spring 5 Framework nutzen möchten, um unternehmenskritische Webanwendungen zu entwickeln und bereitzustellen.
Nach Abschluss dieser Schulung werden die Teilnehmer in der Lage sein:
- Spring 5 zu installieren und zu konfigurieren.
- Die neuesten Funktionen von Spring 5 zu verstehen und umzusetzen.
- Datenbanken mit einer Spring-Anwendung anzusprechen.
- Das neue reaktive Webframework WebFlow zu verwenden, um eine Anwendung reaktiv zu gestalten.
- Eine Spring-Anwendung in bestehende Java-EE-Anwendungen zu integrieren.
- Eine unternehmensreife Spring-Anwendung zu testen und bereitzustellen.
Spring-Grundlagen mit Spring Boot 3.5.5 und Java 21
14 StundenSpring ist ein umfassendes Java-Framework, das die Entwicklung von Enterprise-Anwendungen vereinfacht, indem es leistungsstarken Dependency Injection, eine modulare Architektur und optimierte Konfigurationsmöglichkeiten bietet.
Diese vom Instructor durchgeführte Live-Schulung (online oder vor Ort) richtet sich an Java-Entwickler auf Anfängerniveau, die moderne, produktionsreife Webanwendungen mit der neuesten Version des Spring Frameworks und Spring Boot 3.5.5 in Kombination mit Java 21 erstellen möchten.
Nach Abschluss dieser Schulung werden die Teilnehmer:
- Die Kernprinzipien von Spring verstehen, einschließlich IoC, DI und AOP.
- Spring-Anwendungen mittels XML, Annotationen und JavaConfig konfigurieren können.
- RESTful Services mit Spring Boot und JPA entwickeln können.
- CRUD-Operationen implementieren, Transaktionen handhaben und die Datenpersistenz verwalten können.
- Erweiterte Spring-Features wie Profiles, Exception Handling und Daten-Serialisierung nutzen können.
Kursformat
- Kurze theoretische Einführung gefolgt von umfangreichen praktischen Übungen.
- Praktische Implementierung an praxisnahen Beispielen.
- Interaktive Diskussion und angeleitetes Troubleshooting.
Möglichkeiten zur Kursanpassung
- Um eine maßgeschneiderte Schulung für diesen Kurs anzufordern, kontaktieren Sie uns bitte zur Vereinbarung.
Spring WebFlux: Reaktive Programmierung für skalierbare Webanwendungen
35 StundenSpring WebFlux ist ein Modul der reaktiven Programmierung innerhalb des Spring Frameworks, das zum Aufbau nicht-blockierender, ereignisgesteuerter Webanwendungen konzipiert ist.
Dieses von Instructoren geleitete Live-Training (online oder vor Ort) richtet sich an Java-Entwicklerinnen und -Entwickler mit Anfänger- bis fortgeschrittenem Niveau, die skalierbare und reaktionsfähige Anwendungen mit Spring WebFlux erstellen möchten.
Nach Abschluss dieses Trainings können die Teilnehmer:
- Die Grundlagen der reaktiven Programmierung mit Project Reactor verstehen.
- Nicht-blockierende RESTful-APIs mit Spring WebFlux erstellen und testen.
- WebFlux in Datenbanken und externe Dienste integrieren.
- Reaktive Muster in realen Anwendungsszenarien anwenden.
Format des Kurses
- Interaktiver Vortrag und Diskussion.
- Viel Übung und Praxis.
- Praktische Implementierung in einer Live-Lab-Umgebung.
Optionen zur Kursanpassung
- Für ein maßgeschneidertes Training zu diesem Kurs kontaktieren Sie uns bitte, um die Einzelheiten zu vereinbaren.
Spring WebFlux
14 StundenDiese instruktionsgeleitete, Live-Schulung in Schweiz (online oder vor Ort) richtet sich an Entwickler, die WebFlux nutzen möchten, um reaktive Anwendungen zu entwickeln und bereitzustellen.
Am Ende dieser Schulung werden die Teilnehmer in der Lage sein:
- Spring 5 und das WebFlux-Framework zu installieren und zu konfigurieren.
- Reaktive Anwendungen und Dienste zu entwickeln.