<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE FL_Course SYSTEM "https://www.flane.de/dtd/fl_course095.dtd"><?xml-stylesheet type="text/xsl" href="https://portal.flane.ch/css/xml-course.xsl"?><course productid="36419" language="de" source="https://portal.flane.ch/swisscom/xml-course/cydrill-crwgaip" lastchanged="2025-10-29T08:40:00+01:00" parent="https://portal.flane.ch/swisscom/xml-courses"><title>Code responsibly with generative AI in Python</title><productcode>CRWGAIP</productcode><vendorcode>CY</vendorcode><vendorname>Cydrill</vendorname><fullproductcode>CY-CRWGAIP</fullproductcode><version>1.0</version><objective>&lt;ul&gt;
&lt;li&gt;Die Grundlagen der verantwortungsvollen KI verstehen&lt;/li&gt;&lt;li&gt;Vertrautmachen mit grundlegenden Konzepten der Cybersicherheit&lt;/li&gt;&lt;li&gt;Verstehen, wie Kryptographie die Sicherheit unterst&amp;uuml;tzt&lt;/li&gt;&lt;li&gt;Lernen, wie man kryptografische APIs in Python richtig verwendet&lt;/li&gt;&lt;li&gt;Verst&amp;auml;ndnis von Sicherheitsfragen bei Webanwendungen&lt;/li&gt;&lt;li&gt;Detaillierte Analyse der OWASP Top Ten Elemente&lt;/li&gt;&lt;li&gt;Die Sicherheit von Webanwendungen im Kontext von Python&lt;/li&gt;&lt;li&gt;&amp;Uuml;ber die niedrig h&amp;auml;ngenden Fr&amp;uuml;chte hinausgehen&lt;/li&gt;&lt;li&gt;Verwaltung von Schwachstellen in Komponenten von Drittanbietern&lt;/li&gt;&lt;li&gt;All dies im Kontext von GitHub Copilot&lt;/li&gt;&lt;/ul&gt;</objective><essentials>&lt;p&gt;Allgemeine Python- und Webentwicklung&lt;/p&gt;</essentials><audience>&lt;p&gt;Python-Entwickler, die Copilot oder andere GenAI-Tools verwenden&lt;/p&gt;</audience><contents>&lt;h4&gt;Tag 1&lt;/h4&gt;&lt;h4&gt;Verantwortungsbewusst kodieren mit GenAI&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;Was ist verantwortungsvolle KI?&lt;/li&gt;&lt;li&gt;Was ist Sicherheit?&lt;/li&gt;&lt;li&gt;Bedrohung und Risiko&lt;/li&gt;&lt;li&gt;Arten von Cybersicherheitsbedrohungen - die CIA-Triade&lt;/li&gt;&lt;li&gt;Folgen von unsicherer Software&lt;/li&gt;&lt;li&gt;Sicherheit und verantwortungsvolle KI in der Softwareentwicklung&lt;/li&gt;&lt;li&gt;GenAI-Werkzeuge f&amp;uuml;r die Kodierung: Copilot, Codeium und andere&lt;/li&gt;&lt;li&gt;Die OWASP Top Ten aus der Sicht von Copilot
&lt;ul&gt;
&lt;li&gt;Die OWASP Top Ten 2021
&lt;ul&gt;
&lt;li&gt;A01 - Defekte Zugangskontrolle
&lt;ul&gt;
&lt;li&gt;Grundlagen der Zugangskontrolle&lt;/li&gt;&lt;li&gt;Keine Beschr&amp;auml;nkung des URL-Zugriffs&lt;/li&gt;&lt;li&gt;Verwirrter Abgeordneter&lt;/li&gt;&lt;li&gt;Unsichere direkte Objektreferenz (IDOR)&lt;/li&gt;&lt;li&gt;Pfad&amp;uuml;berquerung&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Unsichere direkte Objektreferenz&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Verfahren zur Pfad&amp;uuml;berquerung&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Experimentieren mit der Pfadverfolgung in Copilot&lt;/li&gt;&lt;li&gt;Berechtigungsumgehung durch benutzergesteuerte Schl&amp;uuml;ssel&lt;/li&gt;&lt;li&gt;Fallbeispiel - Fern&amp;uuml;bernahme von Nexx Garagentoren und Alarmanlagen&lt;/li&gt;&lt;li&gt;Labor - Horizontale Genehmigung (Erkundung mit Copilot)&lt;/li&gt;&lt;li&gt;Hochladen von Dateien
&lt;ul&gt;
&lt;li&gt;Uneingeschr&amp;auml;nkter Datei-Upload&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Praktiken&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Uneingeschr&amp;auml;nkter Datei-Upload (Erkundung mit Copilot)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A02 - Kryptographische Ausf&amp;auml;lle
&lt;ul&gt;
&lt;li&gt;Kryptographie f&amp;uuml;r Entwickler&lt;/li&gt;&lt;li&gt;Grundlagen der Kryptographie&lt;/li&gt;&lt;li&gt;Kryptographie in Python&lt;/li&gt;&lt;li&gt;Elementare Algorithmen&lt;/li&gt;&lt;li&gt;Hashing
&lt;ul&gt;
&lt;li&gt;Grundlagen des Hashings&lt;/li&gt;&lt;li&gt;Hashing in Python&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Hashing in Python (Erkundung mit Copilot)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Erzeugung von Zufallszahlen
&lt;ul&gt;
&lt;li&gt;Pseudo-Zufallszahlengeneratoren (PRNGs)&lt;/li&gt;&lt;li&gt;Kryptografisch sichere PRNGs&lt;/li&gt;&lt;li&gt;Schwache PRNGs&lt;/li&gt;&lt;li&gt;Verwendung von Zufallszahlen&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Verwendung von Zufallszahlen in Python (Erkundung mit Copilot)&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Sichere PRNG-Verwendung in Copilot&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Schutz der Vertraulichkeit
&lt;ul&gt;
&lt;li&gt;Symmetrische Verschl&amp;uuml;sselung
&lt;ul&gt;
&lt;li&gt;Blockchiffren&lt;/li&gt;&lt;li&gt;Betriebsarten&lt;/li&gt;&lt;li&gt;Betriebsarten und IV - bew&amp;auml;hrte Verfahren&lt;/li&gt;&lt;li&gt;Symmetrische Verschl&amp;uuml;sselung in Python&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Symmetrische Verschl&amp;uuml;sselung in Python (Erkundung mit Copilot)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Asymmetrische Verschl&amp;uuml;sselung&lt;/li&gt;&lt;li&gt;Kombination von symmetrischen und asymmetrischen Algorithmen&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;h4&gt;Tag 2&lt;/h4&gt;&lt;h4&gt;Die OWASP Top Ten aus der Sicht von Copilot&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;A03 - Injektion
&lt;ul&gt;
&lt;li&gt;Injektionsprinzipien&lt;/li&gt;&lt;li&gt;Injektionsangriffe
&lt;ul&gt;
&lt;li&gt;SQL-Einschleusung
&lt;ul&gt;
&lt;li&gt;Grundlagen der SQL-Injektion&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - SQL-Injektion&lt;/li&gt;&lt;li&gt;Angriffsmethoden
&lt;ul&gt;
&lt;li&gt;Inhaltsbasierte blinde SQL-Injektion&lt;/li&gt;&lt;li&gt;Zeitbasierte blinde SQL-Injektion&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Praktiken zur SQL-Einschleusung&lt;/li&gt;&lt;li&gt;&amp;Uuml;berpr&amp;uuml;fung der Eingaben&lt;/li&gt;&lt;li&gt;Parametrisierte Abfragen&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Verwendung vorbereiteter Erkl&amp;auml;rungen&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Experimentieren mit SQL-Injection in Copilot&lt;/li&gt;&lt;li&gt;Datenbankverteidigung in der Tiefe&lt;/li&gt;&lt;li&gt;Fallstudie - SQL-Injection gegen US-Flughafensicherheit&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Code-Einspritzung
&lt;ul&gt;
&lt;li&gt;Code-Injektion &amp;uuml;ber input()&lt;/li&gt;&lt;li&gt;OS-Befehlsinjektion&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Befehlsinjektion&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Praktiken zur Injektion von OS-Befehlen&lt;/li&gt;&lt;li&gt;Vermeidung von Befehlseingaben mit den richtigen APIs&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Bew&amp;auml;hrte Praktiken der Befehlseingabe&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Experimentieren mit der Befehlsinjektion in Copilot&lt;/li&gt;&lt;li&gt;Fallstudie - Shellshock&lt;/li&gt;&lt;li&gt;Labor - Shellshock&lt;/li&gt;&lt;li&gt;Fallstudie - Befehlsinjektion in Ivanti-Sicherheitsanwendungen&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;HTML-Injektion - Cross-Site-Scripting (XSS)
&lt;ul&gt;
&lt;li&gt;Grundlagen des Cross-Site-Scripting&lt;/li&gt;&lt;li&gt;Cross-Site-Scripting-Typen
&lt;ul&gt;
&lt;li&gt;Anhaltendes Cross-Site-Scripting&lt;/li&gt;&lt;li&gt;Reflektiertes Cross-Site-Scripting&lt;/li&gt;&lt;li&gt;Client-seitiges (DOM-basiertes) Cross-Site-Scripting&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Gespeicherte XSS&lt;/li&gt;&lt;li&gt;Labor - Reflektiertes XSS&lt;/li&gt;&lt;li&gt;Fallstudie - XSS zu RCE in Teltonika-Routern&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Praktiken zum Schutz vor XSS&lt;/li&gt;&lt;li&gt;Schutzprinzipien - Flucht&lt;/li&gt;&lt;li&gt;XSS-Schutz-APIs in Python&lt;/li&gt;&lt;li&gt;XSS-Schutz in Jinja2&lt;/li&gt;&lt;li&gt;Lab - XSS fix / gespeichert (Erkundung mit Copilot)&lt;/li&gt;&lt;li&gt;Labor - XSS-Behebung / reflektiert (Erkundung mit Copilot)&lt;/li&gt;&lt;li&gt;Fallstudie - XSS-Schwachstellen in DrayTek Vigor-Routern&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A04 - Unsicheres Design
&lt;ul&gt;
&lt;li&gt;Das STRIDE-Modell der Bedrohungen&lt;/li&gt;&lt;li&gt;Sichere Gestaltungsprinzipien von Saltzer und Schroeder
&lt;ul&gt;
&lt;li&gt;Wirtschaftlichkeit des Mechanismus&lt;/li&gt;&lt;li&gt;Ausfallsichere Standardwerte&lt;/li&gt;&lt;li&gt;Vollst&amp;auml;ndige Mediation&lt;/li&gt;&lt;li&gt;Open design&lt;/li&gt;&lt;li&gt;Trennung der Privilegien&lt;/li&gt;&lt;li&gt;Geringstes Privileg&lt;/li&gt;&lt;li&gt;Am wenigsten verbreiteter Mechanismus&lt;/li&gt;&lt;li&gt;Psychologische Akzeptanz&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Client-seitige Sicherheit
&lt;ul&gt;
&lt;li&gt;Politik der gleichen Herkunft&lt;/li&gt;&lt;li&gt;Einfacher Antrag&lt;/li&gt;&lt;li&gt;Preflight-Anfrage&lt;/li&gt;&lt;li&gt;Ursprungs&amp;uuml;bergreifende Ressourcennutzung (CORS)&lt;/li&gt;&lt;li&gt;Labor - Demo zur Politik des gleichen Herkunftslandes&lt;/li&gt;&lt;li&gt;Rahmen-Sandboxing&lt;/li&gt;&lt;li&gt;Cross-Frame-Scripting-Angriffe (XFS)&lt;/li&gt;&lt;li&gt;Labor - Clickjacking&lt;/li&gt;&lt;li&gt;Clickjacking geht &amp;uuml;ber die Entf&amp;uuml;hrung eines Klicks hinaus&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Praktiken zum Schutz vor Clickjacking&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Verwendung von CSP zur Verhinderung von Clickjacking (Erkundung mit Copilot)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;

&lt;h4&gt;Tag 3&lt;/h4&gt;

&lt;h4&gt;Die OWASP Top Ten aus der Sicht von Copilot&lt;/h4&gt;

&lt;ul&gt;
&lt;li&gt;A05 - Fehlkonfiguration der Sicherheit
&lt;ul&gt;
&lt;li&gt;Grunds&amp;auml;tze der Konfiguration&lt;/li&gt;&lt;li&gt;Server-Fehlkonfiguration&lt;/li&gt;&lt;li&gt;Bew&amp;auml;hrte Verfahren f&amp;uuml;r die Python-Konfiguration&lt;/li&gt;&lt;li&gt;Flask konfigurieren&lt;/li&gt;&lt;li&gt;Cookie-Sicherheit
&lt;ul&gt;
&lt;li&gt;Cookie-Attribute&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;XML-Entit&amp;auml;ten
&lt;ul&gt;
&lt;li&gt;DTD und die Entit&amp;auml;ten&lt;/li&gt;&lt;li&gt;Erweiterung der Entit&amp;auml;t&lt;/li&gt;&lt;li&gt;Angriff auf externe Entit&amp;auml;ten (XXE)&lt;/li&gt;&lt;li&gt;Einbeziehung von Dateien mit externen Stellen&lt;/li&gt;&lt;li&gt;Server-Side Request Forgery mit externen Entit&amp;auml;ten&lt;/li&gt;&lt;li&gt;Labor - Angriff einer externen Einheit&lt;/li&gt;&lt;li&gt;Verhinderung von XXE&lt;/li&gt;&lt;li&gt;Labor - Verbot der DTD&lt;/li&gt;&lt;li&gt;Fallstudie - XXE-Schwachstelle in Ivanti-Produkten&lt;/li&gt;&lt;li&gt;Labor - Experimentieren mit XXE in Copilot&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A06 - Anf&amp;auml;llige und veraltete Komponenten
&lt;ul&gt;
&lt;li&gt;Verwendung anf&amp;auml;lliger Komponenten&lt;/li&gt;&lt;li&gt;Import von nicht vertrauensw&amp;uuml;rdigen Funktionen&lt;/li&gt;&lt;li&gt;B&amp;ouml;sartige Pakete in Python&lt;/li&gt;&lt;li&gt;Fallstudie - Der Angriff auf die Lieferkette von Polyfill.io&lt;/li&gt;&lt;li&gt;Management von Schwachstellen&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Auffinden von Schwachstellen in Komponenten von Drittanbietern&lt;/li&gt;&lt;li&gt;Sicherheit von KI-generiertem Code&lt;/li&gt;&lt;li&gt;Praktische Angriffe auf Tools zur Codegenerierung&lt;/li&gt;&lt;li&gt;Abh&amp;auml;ngigkeits-Halluzination durch generative KI&lt;/li&gt;&lt;li&gt;Fallstudie - Eine Geschichte der Schw&amp;auml;chen von GitHub Copilot (bis Mitte 2024)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A07 - Fehler bei der Identifizierung und Authentifizierung
&lt;ul&gt;
&lt;li&gt;Authentifizierung
&lt;ul&gt;
&lt;li&gt;Grundlagen der Authentifizierung&lt;/li&gt;&lt;li&gt;Multi-Faktor-Authentifizierung (MFA)&lt;/li&gt;&lt;li&gt;Fallstudie - Der InfinityGauntlet-Angriff&lt;/li&gt;&lt;li&gt;Zeitbasierte Einmal-Passw&amp;ouml;rter (TOTP)&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Passwortverwaltung
&lt;ul&gt;
&lt;li&gt;Verwaltung eingehender Passw&amp;ouml;rter&lt;/li&gt;&lt;li&gt;Speichern von Kontopassw&amp;ouml;rtern&lt;/li&gt;&lt;li&gt;Passwort im Transit&lt;/li&gt;&lt;li&gt;Labor - Reicht das Hashing von Passw&amp;ouml;rtern aus?&lt;/li&gt;&lt;li&gt;W&amp;ouml;rterbuchangriffe und Brute-Forcing&lt;/li&gt;&lt;li&gt;Salzen&lt;/li&gt;&lt;li&gt;Adaptive Hash-Funktionen f&amp;uuml;r die Passwortspeicherung&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Verwendung adaptiver Hash-Funktionen in Python&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - Verwendung adaptiver Hash-Funktionen in Copilot&lt;/li&gt;&lt;li&gt;Passwort-Politik&lt;/li&gt;&lt;li&gt;NIST-Authentifikator-Anforderungen f&amp;uuml;r gespeicherte Geheimnisse&lt;/li&gt;&lt;li&gt;Migration der Passwort-Datenbank&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A08 - Fehler in der Software und Datenintegrit&amp;auml;t
&lt;ul&gt;
&lt;li&gt;Schutz der Integrit&amp;auml;t
&lt;ul&gt;
&lt;li&gt;Nachrichten-Authentifizierungs-Code (MAC)&lt;/li&gt;&lt;li&gt;HMAC-Berechnung in Python&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - MAC-Berechnung in Python&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Digitale Unterschrift
&lt;ul&gt;
&lt;li&gt;Digitale Unterschrift in Python&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Integrit&amp;auml;t der Subressource
&lt;ul&gt;
&lt;li&gt;JavaScript importieren&lt;/li&gt;&lt;li&gt;&amp;Uuml;bung - JavaScript importieren (mit Copilot erkunden)&lt;/li&gt;&lt;li&gt;Fallstudie - Die Datenschutzverletzung bei British Airways&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;A10 - Server-seitige Anforderungsf&amp;auml;lschung (SSRF)
&lt;ul&gt;
&lt;li&gt;Server-seitige Anforderungsf&amp;auml;lschung (SSRF)&lt;/li&gt;&lt;li&gt;Fallbeispiel - SSRF in Ivanti Connect Secure&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;li&gt;Einpacken
&lt;ul&gt;
&lt;li&gt;Grunds&amp;auml;tze der sicheren Kodierung&lt;/li&gt;&lt;li&gt;Grunds&amp;auml;tze der robusten Programmierung von Matt Bishop&lt;/li&gt;&lt;li&gt;Und was nun?&lt;/li&gt;&lt;li&gt;Quellen zur Softwaresicherheit und weiterf&amp;uuml;hrende Literatur&lt;/li&gt;&lt;li&gt;Python-Ressourcen&lt;/li&gt;&lt;li&gt;Verantwortungsvolle KI-Prinzipien in der Softwareentwicklung&lt;/li&gt;&lt;li&gt;Generative AI - Ressourcen und zus&amp;auml;tzliche Anleitungen&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/li&gt;&lt;/ul&gt;</contents><outline>&lt;ul&gt;
&lt;li&gt;Verantwortungsbewusst kodieren mit GenAI&lt;/li&gt;&lt;li&gt;Die OWASP Top Ten aus der Sicht von Copilot&lt;/li&gt;&lt;li&gt;Einpacken&lt;/li&gt;&lt;/ul&gt;</outline><comments>&lt;p&gt;&lt;em&gt;Dieser Text wurde automatisiert &amp;uuml;bersetzt. Um den englischen Originaltext anzuzeigen, klicken Sie bitte &lt;span class=&quot;cms-link-marked&quot;&gt;&lt;a class=&quot;fl-href-prod&quot; href=&quot;/swisscom/en/course/cydrill-crwgaip&quot;&gt;&lt;svg role=&quot;img&quot; aria-hidden=&quot;true&quot; focusable=&quot;false&quot; data-nosnippet class=&quot;cms-linkmark&quot;&gt;&lt;use xlink:href=&quot;/css/img/icnset-linkmarks.svg#linkmark&quot;&gt;&lt;/use&gt;&lt;/svg&gt;hier&lt;/a&gt;&lt;/span&gt;.&lt;/em&gt;&lt;/p&gt;</comments><objective_plain>- Die Grundlagen der verantwortungsvollen KI verstehen
- Vertrautmachen mit grundlegenden Konzepten der Cybersicherheit
- Verstehen, wie Kryptographie die Sicherheit unterstützt
- Lernen, wie man kryptografische APIs in Python richtig verwendet
- Verständnis von Sicherheitsfragen bei Webanwendungen
- Detaillierte Analyse der OWASP Top Ten Elemente
- Die Sicherheit von Webanwendungen im Kontext von Python
- Über die niedrig hängenden Früchte hinausgehen
- Verwaltung von Schwachstellen in Komponenten von Drittanbietern
- All dies im Kontext von GitHub Copilot</objective_plain><essentials_plain>Allgemeine Python- und Webentwicklung</essentials_plain><audience_plain>Python-Entwickler, die Copilot oder andere GenAI-Tools verwenden</audience_plain><contents_plain>Tag 1

Verantwortungsbewusst kodieren mit GenAI


- Was ist verantwortungsvolle KI?
- Was ist Sicherheit?
- Bedrohung und Risiko
- Arten von Cybersicherheitsbedrohungen - die CIA-Triade
- Folgen von unsicherer Software
- Sicherheit und verantwortungsvolle KI in der Softwareentwicklung
- GenAI-Werkzeuge für die Kodierung: Copilot, Codeium und andere
- Die OWASP Top Ten aus der Sicht von Copilot

- Die OWASP Top Ten 2021

- A01 - Defekte Zugangskontrolle

- Grundlagen der Zugangskontrolle
- Keine Beschränkung des URL-Zugriffs
- Verwirrter Abgeordneter
- Unsichere direkte Objektreferenz (IDOR)
- Pfadüberquerung
- Übung - Unsichere direkte Objektreferenz
- Bewährte Verfahren zur Pfadüberquerung
- Übung - Experimentieren mit der Pfadverfolgung in Copilot
- Berechtigungsumgehung durch benutzergesteuerte Schlüssel
- Fallbeispiel - Fernübernahme von Nexx Garagentoren und Alarmanlagen
- Labor - Horizontale Genehmigung (Erkundung mit Copilot)
- Hochladen von Dateien

- Uneingeschränkter Datei-Upload
- Bewährte Praktiken
- Übung - Uneingeschränkter Datei-Upload (Erkundung mit Copilot)
- A02 - Kryptographische Ausfälle

- Kryptographie für Entwickler
- Grundlagen der Kryptographie
- Kryptographie in Python
- Elementare Algorithmen
- Hashing

- Grundlagen des Hashings
- Hashing in Python
- Übung - Hashing in Python (Erkundung mit Copilot)
- Erzeugung von Zufallszahlen

- Pseudo-Zufallszahlengeneratoren (PRNGs)
- Kryptografisch sichere PRNGs
- Schwache PRNGs
- Verwendung von Zufallszahlen
- Übung - Verwendung von Zufallszahlen in Python (Erkundung mit Copilot)
- Übung - Sichere PRNG-Verwendung in Copilot
- Schutz der Vertraulichkeit

- Symmetrische Verschlüsselung

- Blockchiffren
- Betriebsarten
- Betriebsarten und IV - bewährte Verfahren
- Symmetrische Verschlüsselung in Python
- Übung - Symmetrische Verschlüsselung in Python (Erkundung mit Copilot)
- Asymmetrische Verschlüsselung
- Kombination von symmetrischen und asymmetrischen Algorithmen
Tag 2

Die OWASP Top Ten aus der Sicht von Copilot


- A03 - Injektion

- Injektionsprinzipien
- Injektionsangriffe

- SQL-Einschleusung

- Grundlagen der SQL-Injektion
- Übung - SQL-Injektion
- Angriffsmethoden

- Inhaltsbasierte blinde SQL-Injektion
- Zeitbasierte blinde SQL-Injektion
- Bewährte Praktiken zur SQL-Einschleusung
- Überprüfung der Eingaben
- Parametrisierte Abfragen
- Übung - Verwendung vorbereiteter Erklärungen
- Übung - Experimentieren mit SQL-Injection in Copilot
- Datenbankverteidigung in der Tiefe
- Fallstudie - SQL-Injection gegen US-Flughafensicherheit
- Code-Einspritzung

- Code-Injektion über input()
- OS-Befehlsinjektion
- Übung - Befehlsinjektion
- Bewährte Praktiken zur Injektion von OS-Befehlen
- Vermeidung von Befehlseingaben mit den richtigen APIs
- Übung - Bewährte Praktiken der Befehlseingabe
- Übung - Experimentieren mit der Befehlsinjektion in Copilot
- Fallstudie - Shellshock
- Labor - Shellshock
- Fallstudie - Befehlsinjektion in Ivanti-Sicherheitsanwendungen
- HTML-Injektion - Cross-Site-Scripting (XSS)

- Grundlagen des Cross-Site-Scripting
- Cross-Site-Scripting-Typen

- Anhaltendes Cross-Site-Scripting
- Reflektiertes Cross-Site-Scripting
- Client-seitiges (DOM-basiertes) Cross-Site-Scripting
- Übung - Gespeicherte XSS
- Labor - Reflektiertes XSS
- Fallstudie - XSS zu RCE in Teltonika-Routern
- Bewährte Praktiken zum Schutz vor XSS
- Schutzprinzipien - Flucht
- XSS-Schutz-APIs in Python
- XSS-Schutz in Jinja2
- Lab - XSS fix / gespeichert (Erkundung mit Copilot)
- Labor - XSS-Behebung / reflektiert (Erkundung mit Copilot)
- Fallstudie - XSS-Schwachstellen in DrayTek Vigor-Routern
- A04 - Unsicheres Design

- Das STRIDE-Modell der Bedrohungen
- Sichere Gestaltungsprinzipien von Saltzer und Schroeder

- Wirtschaftlichkeit des Mechanismus
- Ausfallsichere Standardwerte
- Vollständige Mediation
- Open design
- Trennung der Privilegien
- Geringstes Privileg
- Am wenigsten verbreiteter Mechanismus
- Psychologische Akzeptanz
- Client-seitige Sicherheit

- Politik der gleichen Herkunft
- Einfacher Antrag
- Preflight-Anfrage
- Ursprungsübergreifende Ressourcennutzung (CORS)
- Labor - Demo zur Politik des gleichen Herkunftslandes
- Rahmen-Sandboxing
- Cross-Frame-Scripting-Angriffe (XFS)
- Labor - Clickjacking
- Clickjacking geht über die Entführung eines Klicks hinaus
- Bewährte Praktiken zum Schutz vor Clickjacking
- Übung - Verwendung von CSP zur Verhinderung von Clickjacking (Erkundung mit Copilot)


Tag 3



Die OWASP Top Ten aus der Sicht von Copilot




- A05 - Fehlkonfiguration der Sicherheit

- Grundsätze der Konfiguration
- Server-Fehlkonfiguration
- Bewährte Verfahren für die Python-Konfiguration
- Flask konfigurieren
- Cookie-Sicherheit

- Cookie-Attribute
- XML-Entitäten

- DTD und die Entitäten
- Erweiterung der Entität
- Angriff auf externe Entitäten (XXE)
- Einbeziehung von Dateien mit externen Stellen
- Server-Side Request Forgery mit externen Entitäten
- Labor - Angriff einer externen Einheit
- Verhinderung von XXE
- Labor - Verbot der DTD
- Fallstudie - XXE-Schwachstelle in Ivanti-Produkten
- Labor - Experimentieren mit XXE in Copilot
- A06 - Anfällige und veraltete Komponenten

- Verwendung anfälliger Komponenten
- Import von nicht vertrauenswürdigen Funktionen
- Bösartige Pakete in Python
- Fallstudie - Der Angriff auf die Lieferkette von Polyfill.io
- Management von Schwachstellen
- Übung - Auffinden von Schwachstellen in Komponenten von Drittanbietern
- Sicherheit von KI-generiertem Code
- Praktische Angriffe auf Tools zur Codegenerierung
- Abhängigkeits-Halluzination durch generative KI
- Fallstudie - Eine Geschichte der Schwächen von GitHub Copilot (bis Mitte 2024)
- A07 - Fehler bei der Identifizierung und Authentifizierung

- Authentifizierung

- Grundlagen der Authentifizierung
- Multi-Faktor-Authentifizierung (MFA)
- Fallstudie - Der InfinityGauntlet-Angriff
- Zeitbasierte Einmal-Passwörter (TOTP)
- Passwortverwaltung

- Verwaltung eingehender Passwörter
- Speichern von Kontopasswörtern
- Passwort im Transit
- Labor - Reicht das Hashing von Passwörtern aus?
- Wörterbuchangriffe und Brute-Forcing
- Salzen
- Adaptive Hash-Funktionen für die Passwortspeicherung
- Übung - Verwendung adaptiver Hash-Funktionen in Python
- Übung - Verwendung adaptiver Hash-Funktionen in Copilot
- Passwort-Politik
- NIST-Authentifikator-Anforderungen für gespeicherte Geheimnisse
- Migration der Passwort-Datenbank
- A08 - Fehler in der Software und Datenintegrität

- Schutz der Integrität

- Nachrichten-Authentifizierungs-Code (MAC)
- HMAC-Berechnung in Python
- Übung - MAC-Berechnung in Python
- Digitale Unterschrift

- Digitale Unterschrift in Python
- Integrität der Subressource

- JavaScript importieren
- Übung - JavaScript importieren (mit Copilot erkunden)
- Fallstudie - Die Datenschutzverletzung bei British Airways
- A10 - Server-seitige Anforderungsfälschung (SSRF)

- Server-seitige Anforderungsfälschung (SSRF)
- Fallbeispiel - SSRF in Ivanti Connect Secure
- Einpacken

- Grundsätze der sicheren Kodierung
- Grundsätze der robusten Programmierung von Matt Bishop
- Und was nun?
- Quellen zur Softwaresicherheit und weiterführende Literatur
- Python-Ressourcen
- Verantwortungsvolle KI-Prinzipien in der Softwareentwicklung
- Generative AI - Ressourcen und zusätzliche Anleitungen</contents_plain><outline_plain>- Verantwortungsbewusst kodieren mit GenAI
- Die OWASP Top Ten aus der Sicht von Copilot
- Einpacken</outline_plain><comments_plain>Dieser Text wurde automatisiert übersetzt. Um den englischen Originaltext anzuzeigen, klicken Sie bitte hier.</comments_plain><duration unit="d" days="3">3 Tage</duration><pricelist><price country="DE" currency="EUR">2250.00</price><price country="SI" currency="EUR">2250.00</price><price country="AT" currency="EUR">2250.00</price><price country="SE" currency="EUR">2250.00</price><price country="CH" currency="CHF">2250.00</price></pricelist><miles/></course>