{"course":{"productid":36420,"modality":1,"active":true,"language":"de","title":"Code responsibly with generative AI in C# (desktop applications)","productcode":"CRWGAIC","vendorcode":"CY","vendorname":"Cydrill","fullproductcode":"CY-CRWGAIC","courseware":{"has_ekit":false,"has_printkit":true,"language":""},"url":"https:\/\/portal.flane.ch\/course\/cydrill-crwgaic","objective":"<ul>\n<li>Das Wesentliche der verantwortungsvollen KI verstehen<\/li><li>Vertrautmachen mit grundlegenden Konzepten der Cybersicherheit<\/li><li>Ans&auml;tze und Grunds&auml;tze der Eingabevalidierung<\/li><li>Ermittlung von Schwachstellen und deren Folgen<\/li><li>Lernen Sie die besten Sicherheitspraktiken in C#<\/li><li>Korrekte Implementierung verschiedener Sicherheitsmerkmale<\/li><li>Verwaltung von Schwachstellen in Komponenten von Drittanbietern<\/li><li>Verstehen, wie Kryptographie die Sicherheit unterst&uuml;tzt<\/li><li>Lernen, wie man kryptografische APIs in C# richtig verwendet<\/li><li>All dies im Kontext von GitHub Copilot<\/li><\/ul><h4><\/h4>\n<h4><\/h4>","essentials":"<p>Allgemeine C#-Entwicklung<\/p>","audience":"<p>C#-Entwickler, die Copilot oder andere GenAI-Tools verwenden<\/p>","contents":"<h4>Tag 1<\/h4><h4>Verantwortungsbewusst kodieren mit GenAI<\/h4><ul>\n<li>Was ist verantwortungsvolle KI?<\/li><li>Was ist Sicherheit?<\/li><li>Bedrohung und Risiko<\/li><li>Arten von Cybersicherheitsbedrohungen - die CIA-Triade<\/li><li>Folgen von unsicherer Software<\/li><li>Sicherheit und verantwortungsvolle KI in der Softwareentwicklung<\/li><li>GenAI-Werkzeuge f&uuml;r die Kodierung: Copilot, Codeium und andere<\/li><li>&Uuml;berpr&uuml;fung der Eingaben\n<ul>\n<li>Input-Validierungsprinzipien<\/li><li>Denylisten und Zulassungslisten<\/li><li>Was zu validieren ist - die Angriffsfl&auml;che<\/li><li>Wo soll validiert werden - Verteidigung in der Tiefe<\/li><li>Wann validieren - Validierung vs. Umwandlung<\/li><\/ul><\/li><li>Einspritzung\n<ul>\n<li>Code-Einspritzung<\/li><li>OS-Befehlsinjektion<\/li><li>&Uuml;bung - Befehlsinjektion<\/li><li>Bew&auml;hrte Praktiken zur Injektion von OS-Befehlen<\/li><li>Vermeidung von Befehlseingaben mit den richtigen APIs<\/li><li>&Uuml;bung - Bew&auml;hrte Praktiken der Befehlsinjektion<\/li><li>&Uuml;bung - Experimentieren mit der Befehlsinjektion in Copilot<\/li><li>Fallstudie - Befehlsinjektion in Ruckus<\/li><\/ul><\/li><li>Probleme im Umgang mit Ganzzahlen\n<ul>\n<li>Darstellung von Zahlen mit Vorzeichen<\/li><li>Integer-Visualisierung<\/li><li>Integer-&Uuml;berlauf<\/li><li>Labor - Integer-&Uuml;berlauf<\/li><li>Verwirrung mit Vorzeichen \/ ohne Vorzeichen<\/li><li>Fallstudie - Die Stockholmer B&ouml;rse<\/li><li>Labor - Verwechslung mit Vorzeichen \/ ohne Vorzeichen<\/li><li>Labor - Experimentieren mit vorzeichenlosen\/vorzeichenbehafteten Verwechslungen in Copilot<\/li><li>Ganzzahlige Trunkierung<\/li><li>Bew&auml;hrte Praktiken<\/li><li>Upcasting<\/li><li>Pr&uuml;fung der Vorbedingungen<\/li><li>Pr&uuml;fung nach der Bedingung<\/li><li>Integer-Verarbeitung in C#<\/li><li>Labor - Kontrollierte Arithmetik<\/li><li>&Uuml;bung - Experimentieren mit Integer-&Uuml;berlauf in Copilot<\/li><\/ul><\/li><li>Dateien und Datenstr&ouml;me\n<ul>\n<li>Pfad&uuml;berquerung<\/li><li>&Uuml;bung - Pfad&uuml;berquerung<\/li><li>Zus&auml;tzliche Herausforderungen in Windows<\/li><li>Fallstudie - Dateispoofing in WinRAR<\/li><li>Bew&auml;hrte Verfahren zur Pfad&uuml;berquerung<\/li><li>Labor - Kanonisierung von Pfaden<\/li><li>&Uuml;bung - Experimentieren mit der Pfadverfolgung in Copilot<\/li><\/ul><\/li><\/ul><h4>Tag 2<\/h4><h4>&Uuml;berpr&uuml;fung der Eingaben<\/h4><ul>\n<li>Unsichere Reflexion\n<ul>\n<li>Reflexion ohne Validierung<\/li><li>Labor - Unsichere Reflexion<\/li><li>&Uuml;bung - Experimentieren mit unsicherer Reflexion in Copilot<\/li><\/ul><\/li><li>Unsicherer nativer Code\n<ul>\n<li>Abh&auml;ngigkeit von nativem Code<\/li><li>&Uuml;bung - Unsicherer nativer Code<\/li><li>Bew&auml;hrte Praktiken f&uuml;r den Umgang mit nativem Code<\/li><\/ul><\/li><li>Sicherheitsmerkmale\n<ul>\n<li>Authentifizierung\n<ul>\n<li>Grundlagen der Authentifizierung<\/li><li>Multi-Faktor-Authentifizierung (MFA)<\/li><li>Fallstudie - Der InfinityGauntlet-Angriff<\/li><li>Zeitbasierte Einmal-Passw&ouml;rter (TOTP)<\/li><\/ul><\/li><li>Passwortverwaltung\n<ul>\n<li>Verwaltung eingehender Passw&ouml;rter<\/li><li>Speichern von Kontopassw&ouml;rtern<\/li><li>Passwort im Transit<\/li><li>Labor - Reicht das Hashing von Passw&ouml;rtern aus?<\/li><li>W&ouml;rterbuchangriffe und Brute-Forcing<\/li><li>Salzen<\/li><li>Adaptive Hash-Funktionen f&uuml;r die Passwortspeicherung<\/li><li>&Uuml;bung - Verwendung adaptiver Hash-Funktionen in C#<\/li><li>&Uuml;bung - Verwendung adaptiver Hash-Funktionen in Copilot<\/li><li>Fallstudie - Fehlende Authentifizierung und Klartext-Passwortspeicherung bei Veeam<\/li><li>Passwort-Politik<\/li><li>NIST-Authentifikator-Anforderungen f&uuml;r gespeicherte Geheimnisse<\/li><li>Migration der Passwort-Datenbank<\/li><li>Fest kodierte Passw&ouml;rter<\/li><li>Bew&auml;hrte Praktiken<\/li><li>Labor - Hartkodiertes Passwort<\/li><\/ul><\/li><li>Schutz sensibler Informationen im Speicher\n<ul>\n<li>Herausforderungen beim Schutz der Erinnerung<\/li><li>Fallstudie - Diebstahl geheimer Microsoft-Schl&uuml;ssel &uuml;ber Dump-Dateien<\/li><li>Speicherung sensibler Daten im Speicher<\/li><li>Fallstudie - KeePass-Passwortleck &uuml;ber Zeichenketten<\/li><\/ul><\/li><li>Informationsexposition\n<ul>\n<li>Offenlegung durch extrahierte Daten und Aggregation<\/li><li>Fallstudie - Strava-Datenexposition<\/li><\/ul><\/li><li>Sicherheit der Plattform\n<ul>\n<li>Sicherheit der .NET-Plattform<\/li><li>Schutz von .NET-Code und -Anwendungen<\/li><li>Unterzeichnung des Codes<\/li><\/ul><\/li><li>Denial of Service\n<ul>\n<li>&Uuml;berschwemmungen<\/li><li>Ersch&ouml;pfung der Ressourcen<\/li><li>Fragen der algorithmischen Komplexit&auml;t<\/li><li>Denial of Service mit regul&auml;ren Ausdr&uuml;cken (ReDoS)<\/li><li>Labor - ReDoS<\/li><li>Labor - Experimentieren mit ReDoS in Copilot<\/li><li>Der Umgang mit ReDoS<\/li><\/ul><\/li><li>Verwendung anf&auml;lliger Komponenten\n<ul>\n<li>Fallstudie - Der Angriff auf die Lieferkette von Polyfill.io<\/li><li>Management von Schwachstellen<\/li><li>&Uuml;bung - Auffinden von Schwachstellen in Komponenten von Drittanbietern<\/li><\/ul><\/li><li>Sicherheit von KI-generiertem Code\n<ul>\n<li>Praktische Angriffe auf Tools zur Codegenerierung<\/li><li>Abh&auml;ngigkeits-Halluzination durch generative KI<\/li><li>Fallstudie - Eine Geschichte der Schw&auml;chen von GitHub Copilot (bis Mitte 2024)<\/li><\/ul><\/li><\/ul>\n\n<h4>Tag 3<\/h4>\n\n<h4>Kryptographie f&uuml;r Entwickler<\/h4>\n\n<ul>\n<li>Grundlagen der Kryptographie<\/li><li>Krypto-APIs in C#<\/li><li>Elementare Algorithmen<\/li><li>Hashing\n<ul>\n<li>Grundlagen des Hashings<\/li><li>Hashing in C#<\/li><li>&Uuml;bung - Hashing in C# (Erkundung mit Copilot)<\/li><\/ul><\/li><li>Erzeugung von Zufallszahlen\n<ul>\n<li>Pseudo-Zufallszahlengeneratoren (PRNGs)<\/li><li>Kryptografisch sichere PRNGs<\/li><li>Schwache und starke PRNGs<\/li><li>Verwendung von Zufallszahlen in C#<\/li><li>&Uuml;bung - Verwendung von Zufallszahlen in C# (Erkundung mit Copilot)<\/li><li>Fallstudie - Equifax-Kontosperrung<\/li><\/ul><\/li><li>Schutz der Vertraulichkeit\n<ul>\n<li>Symmetrische Verschl&uuml;sselung\n<ul>\n<li>Blockchiffren<\/li><li>Betriebsarten<\/li><li>Betriebsarten und IV - bew&auml;hrte Verfahren<\/li><li>Symmetrische Verschl&uuml;sselung in C#<\/li><li>Symmetrische Verschl&uuml;sselung in C# mit Streams<\/li><li>&Uuml;bung - Symmetrische Verschl&uuml;sselung in C# (Erkundung mit Copilot)<\/li><li>Fallstudie - Padding-Orakel in RCE gegen Citrix ShareFile verwendet<\/li><\/ul><\/li><li>Asymmetrische Verschl&uuml;sselung\n<ul>\n<li>Der RSA-Algorithmus<\/li><li>RSA in C#<\/li><li>Kombination von symmetrischen und asymmetrischen Algorithmen<\/li><\/ul><\/li><li>Schl&uuml;sselaustausch und Vereinbarung\n<ul>\n<li>Austausch von Schl&uuml;sseln<\/li><li>Diffie-Hellman-Schl&uuml;sselvereinbarungsalgorithmus<\/li><li>Die wichtigsten Fallstricke beim Austausch und bew&auml;hrte Verfahren<\/li><\/ul><\/li><\/ul><\/li><li>Schutz der Integrit&auml;t\n<ul>\n<li>Nachrichten-Authentifizierungs-Code (MAC)<\/li><li>HMAC-Berechnung in C#<\/li><li>&Uuml;bung - MAC-Berechnung in C#<\/li><li>Digitale Unterschrift\n<ul>\n<li>Digitale Unterschrift mit RSA<\/li><li>Elliptische Kurven Kryptographie<\/li><li>ECC-Grundlagen<\/li><li>Digitale Unterschrift mit ECC<\/li><li>Digitale Unterschrift in C#<\/li><li>&Uuml;bung - Digitale Signatur mit ECDSA in C#<\/li><\/ul><\/li><\/ul><\/li><li>H&auml;ufige Sicherheitsl&uuml;cken in Software\n<ul>\n<li>Code quality\n<ul>\n<li>Codequalit&auml;t und Sicherheit<\/li><\/ul><\/li><li>Umgang mit Daten\n<ul>\n<li>Initialisierung und Bereinigung<\/li><li>Initialisierungszyklen der Klasse<\/li><li>&Uuml;bung - Initialisierungszyklen (Erkundung mit Copilot)<\/li><\/ul><\/li><li>Fallstricke der objektorientierten Programmierung\n<ul>\n<li>Vererbung und Overriding<\/li><li>Ver&auml;nderlichkeit<\/li><li>Lab - Ver&auml;nderbares Objekt (Erkundung mit Copilot)<\/li><\/ul><\/li><li>Serialisierung\n<ul>\n<li>Herausforderungen bei Serialisierung und Deserialisierung<\/li><li>Integrit&auml;t - Deserialisierung nicht vertrauensw&uuml;rdiger Datenstr&ouml;me<\/li><li>Integrit&auml;t - bew&auml;hrte Verfahren zur Deserialisierung<\/li><li>Vorausschauende Deserialisierung<\/li><li>Eigenschaftsorientiertes Programmieren (POP)<\/li><li>Erstellen einer POP-Nutzlast<\/li><li>&Uuml;bung - Erstellen einer POP-Nutzlast<\/li><li>&Uuml;bung - Verwendung der POP-Nutzlast<\/li><li>Fallstudie - Deserialisierung RCE in Veeam<\/li><\/ul><\/li><\/ul><\/li><li>Einpacken\n<ul>\n<li>Grunds&auml;tze der sicheren Kodierung<\/li><li>Grunds&auml;tze der robusten Programmierung von Matt Bishop<\/li><li>Sichere Gestaltungsprinzipien von Saltzer und Schroeder<\/li><li>Und was nun?<\/li><li>Quellen zur Softwaresicherheit und weiterf&uuml;hrende Literatur<\/li><li>.NET- und C#-Ressourcen<\/li><li>Verantwortungsvolle KI-Prinzipien in der Softwareentwicklung<\/li><li>Generative AI - Ressourcen und zus&auml;tzliche Anleitungen<\/li><\/ul><\/li><\/ul><\/li><\/ul>","comments":"<p><em>Dieser Text wurde automatisiert &uuml;bersetzt. Um den englischen Originaltext anzuzeigen, klicken Sie bitte <span class=\"cms-link-marked\"><a class=\"fl-href-prod\" href=\"\/swisscom\/en\/course\/cydrill-crwgaic\"><svg role=\"img\" aria-hidden=\"true\" focusable=\"false\" data-nosnippet class=\"cms-linkmark\"><use xlink:href=\"\/css\/img\/icnset-linkmarks.svg#linkmark\"><\/use><\/svg>hier<\/a><\/span>.<\/em><\/p>","summary":"<p>Generative KI ver&auml;ndert die Softwarebranche. Mit Tools wie GitHub Copilot und Codeium k&ouml;nnen Entwickler ein noch nie dagewesenes Mass an Effizienz erreichen. Dies ist ein spannender Fortschritt, der aber auch wichtige Bedenken aufwirft und die Beteiligten dazu anh&auml;lt, diese Technologien mit Vorsicht zu geniessen. Den aktuellen KI-Tools mangelt es oft an einem nuancierten Verst&auml;ndnis, das notwendig ist, um subtile, aber kritische Aspekte der Softwareentwicklung anzugehen, insbesondere im Bereich der Sicherheit.<\/p>\n<p>Dieser Kurs bietet einen umfassenden Einblick in den verantwortungsvollen Einsatz von generativer KI in der Programmierung. Die Teilnehmer befassen sich mit Themen der Softwareentwicklung, die am ehesten durch den unvorsichtigen Einsatz von generativer KI beeintr&auml;chtigt werden k&ouml;nnen, darunter Authentifizierung, Autorisierung und Kryptografie. Der Lehrplan umfasst auch eine Analyse der Art und Weise, wie KI-Tools wie Copilot sichere Kodierungspraktiken im Zusammenhang mit den wichtigsten Schwachstellen der OWASP Top Ten, wie z. B. Path Traversal, SQL Injection oder Cross-Site Scripting, handhaben.<\/p>\n<p>Durch praktisches Lernen und Experimentieren erhalten die Teilnehmer ein solides Verst&auml;ndnis sowohl der St&auml;rken als auch der Grenzen der KI-gest&uuml;tzten Entwicklung. Dar&uuml;ber hinaus zeigen Fallstudien zu realen Vorf&auml;llen die Folgen von unsicherem Code und verdeutlichen die doppelte Natur der generativen KI als Ressource und potenzielles Risiko.<\/p>\n<p>Am Ende des Kurses werden die Entwickler mit dem Wissen und den F&auml;higkeiten ausgestattet sein, KI-Tools verantwortungsvoll in den Lebenszyklus der Softwareentwicklung zu integrieren und die Effizienz zu steigern, ohne die Sicherheit oder die Produktqualit&auml;t zu beeintr&auml;chtigen.<\/p>","objective_plain":"- Das Wesentliche der verantwortungsvollen KI verstehen\n- Vertrautmachen mit grundlegenden Konzepten der Cybersicherheit\n- Ans\u00e4tze und Grunds\u00e4tze der Eingabevalidierung\n- Ermittlung von Schwachstellen und deren Folgen\n- Lernen Sie die besten Sicherheitspraktiken in C#\n- Korrekte Implementierung verschiedener Sicherheitsmerkmale\n- Verwaltung von Schwachstellen in Komponenten von Drittanbietern\n- Verstehen, wie Kryptographie die Sicherheit unterst\u00fctzt\n- Lernen, wie man kryptografische APIs in C# richtig verwendet\n- All dies im Kontext von GitHub Copilot","essentials_plain":"Allgemeine C#-Entwicklung","audience_plain":"C#-Entwickler, die Copilot oder andere GenAI-Tools verwenden","contents_plain":"Tag 1\n\nVerantwortungsbewusst kodieren mit GenAI\n\n\n- Was ist verantwortungsvolle KI?\n- Was ist Sicherheit?\n- Bedrohung und Risiko\n- Arten von Cybersicherheitsbedrohungen - die CIA-Triade\n- Folgen von unsicherer Software\n- Sicherheit und verantwortungsvolle KI in der Softwareentwicklung\n- GenAI-Werkzeuge f\u00fcr die Kodierung: Copilot, Codeium und andere\n- \u00dcberpr\u00fcfung der Eingaben\n\n- Input-Validierungsprinzipien\n- Denylisten und Zulassungslisten\n- Was zu validieren ist - die Angriffsfl\u00e4che\n- Wo soll validiert werden - Verteidigung in der Tiefe\n- Wann validieren - Validierung vs. Umwandlung\n- Einspritzung\n\n- Code-Einspritzung\n- OS-Befehlsinjektion\n- \u00dcbung - Befehlsinjektion\n- Bew\u00e4hrte Praktiken zur Injektion von OS-Befehlen\n- Vermeidung von Befehlseingaben mit den richtigen APIs\n- \u00dcbung - Bew\u00e4hrte Praktiken der Befehlsinjektion\n- \u00dcbung - Experimentieren mit der Befehlsinjektion in Copilot\n- Fallstudie - Befehlsinjektion in Ruckus\n- Probleme im Umgang mit Ganzzahlen\n\n- Darstellung von Zahlen mit Vorzeichen\n- Integer-Visualisierung\n- Integer-\u00dcberlauf\n- Labor - Integer-\u00dcberlauf\n- Verwirrung mit Vorzeichen \/ ohne Vorzeichen\n- Fallstudie - Die Stockholmer B\u00f6rse\n- Labor - Verwechslung mit Vorzeichen \/ ohne Vorzeichen\n- Labor - Experimentieren mit vorzeichenlosen\/vorzeichenbehafteten Verwechslungen in Copilot\n- Ganzzahlige Trunkierung\n- Bew\u00e4hrte Praktiken\n- Upcasting\n- Pr\u00fcfung der Vorbedingungen\n- Pr\u00fcfung nach der Bedingung\n- Integer-Verarbeitung in C#\n- Labor - Kontrollierte Arithmetik\n- \u00dcbung - Experimentieren mit Integer-\u00dcberlauf in Copilot\n- Dateien und Datenstr\u00f6me\n\n- Pfad\u00fcberquerung\n- \u00dcbung - Pfad\u00fcberquerung\n- Zus\u00e4tzliche Herausforderungen in Windows\n- Fallstudie - Dateispoofing in WinRAR\n- Bew\u00e4hrte Verfahren zur Pfad\u00fcberquerung\n- Labor - Kanonisierung von Pfaden\n- \u00dcbung - Experimentieren mit der Pfadverfolgung in Copilot\nTag 2\n\n\u00dcberpr\u00fcfung der Eingaben\n\n\n- Unsichere Reflexion\n\n- Reflexion ohne Validierung\n- Labor - Unsichere Reflexion\n- \u00dcbung - Experimentieren mit unsicherer Reflexion in Copilot\n- Unsicherer nativer Code\n\n- Abh\u00e4ngigkeit von nativem Code\n- \u00dcbung - Unsicherer nativer Code\n- Bew\u00e4hrte Praktiken f\u00fcr den Umgang mit nativem Code\n- Sicherheitsmerkmale\n\n- Authentifizierung\n\n- Grundlagen der Authentifizierung\n- Multi-Faktor-Authentifizierung (MFA)\n- Fallstudie - Der InfinityGauntlet-Angriff\n- Zeitbasierte Einmal-Passw\u00f6rter (TOTP)\n- Passwortverwaltung\n\n- Verwaltung eingehender Passw\u00f6rter\n- Speichern von Kontopassw\u00f6rtern\n- Passwort im Transit\n- Labor - Reicht das Hashing von Passw\u00f6rtern aus?\n- W\u00f6rterbuchangriffe und Brute-Forcing\n- Salzen\n- Adaptive Hash-Funktionen f\u00fcr die Passwortspeicherung\n- \u00dcbung - Verwendung adaptiver Hash-Funktionen in C#\n- \u00dcbung - Verwendung adaptiver Hash-Funktionen in Copilot\n- Fallstudie - Fehlende Authentifizierung und Klartext-Passwortspeicherung bei Veeam\n- Passwort-Politik\n- NIST-Authentifikator-Anforderungen f\u00fcr gespeicherte Geheimnisse\n- Migration der Passwort-Datenbank\n- Fest kodierte Passw\u00f6rter\n- Bew\u00e4hrte Praktiken\n- Labor - Hartkodiertes Passwort\n- Schutz sensibler Informationen im Speicher\n\n- Herausforderungen beim Schutz der Erinnerung\n- Fallstudie - Diebstahl geheimer Microsoft-Schl\u00fcssel \u00fcber Dump-Dateien\n- Speicherung sensibler Daten im Speicher\n- Fallstudie - KeePass-Passwortleck \u00fcber Zeichenketten\n- Informationsexposition\n\n- Offenlegung durch extrahierte Daten und Aggregation\n- Fallstudie - Strava-Datenexposition\n- Sicherheit der Plattform\n\n- Sicherheit der .NET-Plattform\n- Schutz von .NET-Code und -Anwendungen\n- Unterzeichnung des Codes\n- Denial of Service\n\n- \u00dcberschwemmungen\n- Ersch\u00f6pfung der Ressourcen\n- Fragen der algorithmischen Komplexit\u00e4t\n- Denial of Service mit regul\u00e4ren Ausdr\u00fccken (ReDoS)\n- Labor - ReDoS\n- Labor - Experimentieren mit ReDoS in Copilot\n- Der Umgang mit ReDoS\n- Verwendung anf\u00e4lliger Komponenten\n\n- Fallstudie - Der Angriff auf die Lieferkette von Polyfill.io\n- Management von Schwachstellen\n- \u00dcbung - Auffinden von Schwachstellen in Komponenten von Drittanbietern\n- Sicherheit von KI-generiertem Code\n\n- Praktische Angriffe auf Tools zur Codegenerierung\n- Abh\u00e4ngigkeits-Halluzination durch generative KI\n- Fallstudie - Eine Geschichte der Schw\u00e4chen von GitHub Copilot (bis Mitte 2024)\n\n\nTag 3\n\n\n\nKryptographie f\u00fcr Entwickler\n\n\n\n\n- Grundlagen der Kryptographie\n- Krypto-APIs in C#\n- Elementare Algorithmen\n- Hashing\n\n- Grundlagen des Hashings\n- Hashing in C#\n- \u00dcbung - Hashing in C# (Erkundung mit Copilot)\n- Erzeugung von Zufallszahlen\n\n- Pseudo-Zufallszahlengeneratoren (PRNGs)\n- Kryptografisch sichere PRNGs\n- Schwache und starke PRNGs\n- Verwendung von Zufallszahlen in C#\n- \u00dcbung - Verwendung von Zufallszahlen in C# (Erkundung mit Copilot)\n- Fallstudie - Equifax-Kontosperrung\n- Schutz der Vertraulichkeit\n\n- Symmetrische Verschl\u00fcsselung\n\n- Blockchiffren\n- Betriebsarten\n- Betriebsarten und IV - bew\u00e4hrte Verfahren\n- Symmetrische Verschl\u00fcsselung in C#\n- Symmetrische Verschl\u00fcsselung in C# mit Streams\n- \u00dcbung - Symmetrische Verschl\u00fcsselung in C# (Erkundung mit Copilot)\n- Fallstudie - Padding-Orakel in RCE gegen Citrix ShareFile verwendet\n- Asymmetrische Verschl\u00fcsselung\n\n- Der RSA-Algorithmus\n- RSA in C#\n- Kombination von symmetrischen und asymmetrischen Algorithmen\n- Schl\u00fcsselaustausch und Vereinbarung\n\n- Austausch von Schl\u00fcsseln\n- Diffie-Hellman-Schl\u00fcsselvereinbarungsalgorithmus\n- Die wichtigsten Fallstricke beim Austausch und bew\u00e4hrte Verfahren\n- Schutz der Integrit\u00e4t\n\n- Nachrichten-Authentifizierungs-Code (MAC)\n- HMAC-Berechnung in C#\n- \u00dcbung - MAC-Berechnung in C#\n- Digitale Unterschrift\n\n- Digitale Unterschrift mit RSA\n- Elliptische Kurven Kryptographie\n- ECC-Grundlagen\n- Digitale Unterschrift mit ECC\n- Digitale Unterschrift in C#\n- \u00dcbung - Digitale Signatur mit ECDSA in C#\n- H\u00e4ufige Sicherheitsl\u00fccken in Software\n\n- Code quality\n\n- Codequalit\u00e4t und Sicherheit\n- Umgang mit Daten\n\n- Initialisierung und Bereinigung\n- Initialisierungszyklen der Klasse\n- \u00dcbung - Initialisierungszyklen (Erkundung mit Copilot)\n- Fallstricke der objektorientierten Programmierung\n\n- Vererbung und Overriding\n- Ver\u00e4nderlichkeit\n- Lab - Ver\u00e4nderbares Objekt (Erkundung mit Copilot)\n- Serialisierung\n\n- Herausforderungen bei Serialisierung und Deserialisierung\n- Integrit\u00e4t - Deserialisierung nicht vertrauensw\u00fcrdiger Datenstr\u00f6me\n- Integrit\u00e4t - bew\u00e4hrte Verfahren zur Deserialisierung\n- Vorausschauende Deserialisierung\n- Eigenschaftsorientiertes Programmieren (POP)\n- Erstellen einer POP-Nutzlast\n- \u00dcbung - Erstellen einer POP-Nutzlast\n- \u00dcbung - Verwendung der POP-Nutzlast\n- Fallstudie - Deserialisierung RCE in Veeam\n- Einpacken\n\n- Grunds\u00e4tze der sicheren Kodierung\n- Grunds\u00e4tze der robusten Programmierung von Matt Bishop\n- Sichere Gestaltungsprinzipien von Saltzer und Schroeder\n- Und was nun?\n- Quellen zur Softwaresicherheit und weiterf\u00fchrende Literatur\n- .NET- und C#-Ressourcen\n- Verantwortungsvolle KI-Prinzipien in der Softwareentwicklung\n- Generative AI - Ressourcen und zus\u00e4tzliche Anleitungen","comments_plain":"Dieser Text wurde automatisiert \u00fcbersetzt. Um den englischen Originaltext anzuzeigen, klicken Sie bitte hier.","summary_plain":"Generative KI ver\u00e4ndert die Softwarebranche. Mit Tools wie GitHub Copilot und Codeium k\u00f6nnen Entwickler ein noch nie dagewesenes Mass an Effizienz erreichen. Dies ist ein spannender Fortschritt, der aber auch wichtige Bedenken aufwirft und die Beteiligten dazu anh\u00e4lt, diese Technologien mit Vorsicht zu geniessen. Den aktuellen KI-Tools mangelt es oft an einem nuancierten Verst\u00e4ndnis, das notwendig ist, um subtile, aber kritische Aspekte der Softwareentwicklung anzugehen, insbesondere im Bereich der Sicherheit.\n\nDieser Kurs bietet einen umfassenden Einblick in den verantwortungsvollen Einsatz von generativer KI in der Programmierung. Die Teilnehmer befassen sich mit Themen der Softwareentwicklung, die am ehesten durch den unvorsichtigen Einsatz von generativer KI beeintr\u00e4chtigt werden k\u00f6nnen, darunter Authentifizierung, Autorisierung und Kryptografie. Der Lehrplan umfasst auch eine Analyse der Art und Weise, wie KI-Tools wie Copilot sichere Kodierungspraktiken im Zusammenhang mit den wichtigsten Schwachstellen der OWASP Top Ten, wie z. B. Path Traversal, SQL Injection oder Cross-Site Scripting, handhaben.\n\nDurch praktisches Lernen und Experimentieren erhalten die Teilnehmer ein solides Verst\u00e4ndnis sowohl der St\u00e4rken als auch der Grenzen der KI-gest\u00fctzten Entwicklung. Dar\u00fcber hinaus zeigen Fallstudien zu realen Vorf\u00e4llen die Folgen von unsicherem Code und verdeutlichen die doppelte Natur der generativen KI als Ressource und potenzielles Risiko.\n\nAm Ende des Kurses werden die Entwickler mit dem Wissen und den F\u00e4higkeiten ausgestattet sein, KI-Tools verantwortungsvoll in den Lebenszyklus der Softwareentwicklung zu integrieren und die Effizienz zu steigern, ohne die Sicherheit oder die Produktqualit\u00e4t zu beeintr\u00e4chtigen.","version":"1.0","duration":{"unit":"d","value":3,"formatted":"3 Tage"},"pricelist":{"List Price":{"DE":{"country":"DE","currency":"EUR","taxrate":19,"price":2250},"SI":{"country":"SI","currency":"EUR","taxrate":20,"price":2250},"AT":{"country":"AT","currency":"EUR","taxrate":20,"price":2250},"SE":{"country":"SE","currency":"EUR","taxrate":25,"price":2250},"CH":{"country":"CH","currency":"CHF","taxrate":8.1,"price":2250}}},"lastchanged":"2025-10-29T08:41:21+01:00","parenturl":"https:\/\/portal.flane.ch\/swisscom\/json-courses","nexturl_course_schedule":"https:\/\/portal.flane.ch\/swisscom\/json-course-schedule\/36420","source_lang":"de","source":"https:\/\/portal.flane.ch\/swisscom\/json-course\/cydrill-crwgaic"}}