Python Desktop Application Security
computer Online: Zoom 19 Oct 2026 until 21 Oct 2026 |
computer Online: Zoom 7 Dec 2026 until 9 Dec 2026 |
placeKöln 8 Mar 2027 until 10 Mar 2027 |
computer Online: Zoom 8 Mar 2027 until 10 Mar 2027 |
placeKöln 12 May 2027 until 14 May 2027 |
computer Online: Zoom 12 May 2027 until 14 May 2027 |
placeKöln 2 Aug 2027 until 4 Aug 2027 |
computer Online: Zoom 2 Aug 2027 until 4 Aug 2027 |
placeKöln 4 Oct 2027 until 6 Oct 2027 |
computer Online: Zoom 4 Oct 2027 until 6 Oct 2027 |
Schulungen der Extraklasse ✔ Durchführungsgarantie ✔ Trainer aus der Praxis ✔ Kostenfreies Storno ✔ 3=2 Kostenfreie Teilnahme für den Dritten ✔ Persönliche Lernumgebung ✔ Kleine Lerngruppen
Seminarziel
Nach Abschluss des Seminars sind die Teilnehmenden in der Lage, Sicherheitsrisiken in Python-Desktop-Anwendungen strukturiert zu analysieren und wirksame Schutzmaßnahmen umzusetzen. Sie können typische Schwachstellen in Eingabeverarbeitung, Datei- und Prozesszugriff, lokaler Datenspeicherung,Authentifizierung, Kryptographie und Software-Lieferkette erkennen, bewerten und priorisiert beheben.Darüber hinaus verstehen sie, wie sichere Desktop-Anwendungen nicht nur im Code, sondern auch in Build, Packaging, Deployment, Update-Prozess und Betrieb abgesichert werden. Das Seminar versetzt die Teilnehmenden in die Lage, eigene Python-Clients sicherer zu entwerfen, vorhandene Anwendungen…
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
Schulungen der Extraklasse ✔ Durchführungsgarantie ✔ Trainer aus der Praxis ✔ Kostenfreies Storno ✔ 3=2 Kostenfreie Teilnahme für den Dritten ✔ Persönliche Lernumgebung ✔ Kleine Lerngruppen
Seminarziel
Nach Abschluss des Seminars sind die Teilnehmenden in der Lage, Sicherheitsrisiken in Python-Desktop-Anwendungen strukturiert zu analysieren und wirksame Schutzmaßnahmen umzusetzen. Sie können typische Schwachstellen in Eingabeverarbeitung, Datei- und Prozesszugriff, lokaler Datenspeicherung,Authentifizierung, Kryptographie und Software-Lieferkette erkennen, bewerten und priorisiert beheben.Darüber hinaus verstehen sie, wie sichere Desktop-Anwendungen nicht nur im Code, sondern auch in Build, Packaging, Deployment, Update-Prozess und Betrieb abgesichert werden. Das Seminar versetzt die Teilnehmenden in die Lage, eigene Python-Clients sicherer zu entwerfen, vorhandene Anwendungen gezielt zu härten und Sicherheitsanforderungen frühzeitig in Entwicklungsprozesse zu integrieren.
Inhalt
- Sicherheitsgrundlagen für Python-Desktop-Anwendungen
- Schutzziele: Vertraulichkeit, Integrität, Verfügbarkeit, Nachvollziehbarkeit
- Bedrohungsmodell für Desktop-Software
- Typische Angreifer, Angriffspfade und Missbrauchsszenarien
- Unterschiede zwischen Desktop-, Web- und Backend-Sicherheit
- Angriffsfläche einer Desktop-Anwendung systematisch
erfassen
- GUI-Eingaben, Dateiauswahl, Drag-and-drop, Clipboard und Importfunktionen
- Konfigurationsdateien, temporäre Dateien, Logs, lokale Datenbanken und Caches
- Betriebssystemnahe Schnittstellen, Umgebungsvariablen und Benutzerrechte
- Externe Programme, Shell-Aufrufe, URLs, Deep Links und Interprozesskommunikation
- Sichere Eingabeverarbeitung
- Validierung, Normalisierung und Canonicalization
- Positivlisten, strukturelle Validierung und fachliche Validierung
- Typische Fehler bei Regex, Parsing und Datentransformation
- Grenzen reiner Validierung und Zusammenspiel mit weiteren Schutzmaßnahmen
- Praxisübung: Eingaben und Dateipfade absichern
- Analyse einer absichtlich verwundbaren Python-Anwendung
- Absicherung von Benutzereingaben und Dateipfaden
- Nachvollziehbare Gegenüberstellung: unsicheres Muster und robuste Umsetzung
- Dateisystem- und Ressourcen-Sicherheit
- Path Traversal, unsichere Dateinamen, Verzeichniswechsel und symbolische Links
- Temporäre Dateien, Dateirechte, Race Conditions und TOCTTOU-Probleme
- Risiken bei Archiv- und Dokumentverarbeitung
- Sichere Ablage und Trennung von Benutzerdaten, Konfiguration und Secrets
- Prozess- und Betriebssystem-Interaktion
- Risiken durch subprocess, Shell=True, Kommandoverkettung und Parameterübergabe
- Sichere Nutzung systemnaher APIs statt Shell-Aufrufen
- Umgang mit externen Tools und Rückgabewerten
- Plattformunterschiede zwischen Windows und Linux
- Unsichere Python-Mechanismen und riskante Sprachmerkmale
- exec, eval, compile und dynamische Importe
- pickle, unsafe Deserialisierung und unsichere Objekt-Rekonstruktion
- Module Hijacking, Suchpfade und unbeabsichtigte Modulüberschattung
- Gefahren durch Monkey Patching und unkontrollierte Erweiterungspunkte
- Praxisübung: Unsichere Python-Konstrukte erkennen und
ersetzen
- Entfernung dynamischer Codeausführung
- Austausch unsicherer Deserialisierung gegen sichere Formate und Parser
- Absicherung von Import- und Plugin-Mechanismen
- Authentifizierung und Sitzungsdaten in Desktop-Clients
- Welche Authentifizierung in den Client gehört und welche nicht
- Lokale Passwortspeicherung vermeiden
- Sichere Behandlung von Tokens, API-Schlüsseln und Sitzungsdaten
- MFA-Einbindung aus Sicht des Desktop-Clients
- Geheimnisverwaltung und Schutz sensibler Daten
- Grenzen lokaler Verschlüsselung bei Client-Software
- Betriebssystemnahe Secret Stores: z. B. DPAPI, Keychain, libsecret
- Speicherabbilder, Crash Dumps, Paging und Speicherreste
- Reduktion unnötiger Geheimnisse im Client
- Kryptographie in Python richtig einsetzen
- Sichere Zufallszahlen und kryptographisch geeignete Quellen
- Hashing, Passwort-Hashing und Integritätsschutz
- Symmetrische Verschlüsselung, AEAD und Nonce-Regeln
- Asymmetrische Verfahren, Schlüsselaustausch und Signaturen
- Häufige Fehlanwendungen und Scheinsicherheit im Desktop-Kontext
- Praxisübung: Sichere Nutzung von Kryptographie
- Zufallszahlen, Hashing und AEAD korrekt einsetzen
- Typische Implementierungsfehler identifizieren und korrigieren
- Bewertung: Was kryptographisch sinnvoll im Client lösbar ist und was nicht
- Sichere Netzwerkkommunikation
- TLS-Prüfung, Zertifikatsvalidierung und Fehlkonfigurationen
- Risiken bei deaktivierter Prüfung und unsicheren Test-Setups
- Umgang mit Proxies, Unternehmensnetzen und Zertifikatsketten
- Sichere API-Kommunikation aus Desktop-Anwendungen
- Sichere Update-Mechanismen
- Warum Auto-Update ein kritischer Sicherheitsbereich ist
- Signierung, Vertrauensanker und Integritätsprüfung
- Schutz gegen manipulierte Update-Quellen und Rollback-Angriffe
- Trennung von Release-, Test- und internen Kanälen
- Supply Chain Security und Build-Sicherheit
- Risiken durch abhängige Pakete und transitive Dependencies
- Typosquatting, Dependency Confusion und kompromittierte Updates
- Lockfiles, Hash-Pinning, SBOM und reproduzierbare Builds
- Sicherheitsprüfungen in CI/CD für Python-Projekte
- Praxisübung: Abhängigkeiten und Build-Prozess härten
- Analyse eines Python-Projekts auf riskante Abhängigkeiten
- Einbau technischer Kontrollpunkte in den Build-Prozess
- Bewertung von Maßnahmen nach Wirksamkeit und Umsetzbarkeit
- Native Erweiterungen und unsicherer Fremdcode
- Sicherheitsfolgen von ctypes, C-Extensions und eingebundenen Bibliotheken
- Speicherfehler außerhalb des Python-Schutzmodells
- Vertrauensgrenzen zwischen Python-Code und nativen Komponenten
- Strategien zur Reduktion und Kontrolle nativer Risiken
- Logging, Fehlerbehandlung und Information Exposure
- Vermeidung sensibler Daten in Logs, Tracebacks und Fehlermeldungen
- Sichere Fehlerbehandlung ohne Informationsabfluss
- Datenschutzgerechte Telemetrie und Diagnosedaten
- Trennung zwischen Entwicklerdiagnose und produktivem Verhalten
- Härtung von Packaging und Auslieferung
- Sicherheitsaspekte bei PyInstaller, Embedding und Distribution
- Code Signing und Vertrauenskette bei Releases
- Schutz gegen manipulierte Artefakte und inoffizielle Builds
- Sichere Verteilung interner Desktop-Anwendungen
- Prüfprozess und Sicherheitsqualität im
Entwicklungsalltag
- Security Checklisten für Architektur, Code Review und Release
- Statische und dynamische Prüfungen für Python-Projekte
- Sicherheitsrelevante Tests mit vertretbarem Aufwand etablieren
- Priorisierung von Findings nach Risiko und Ausnutzbarkeit
- Praxisworkshop: Härtung einer Python-Desktop-Anwendung
- Gemeinsame Analyse einer Beispielanwendung mit mehreren Schwachstellen
- Schrittweise Umsetzung technischer Schutzmaßnahmen
- Ableitung eines praxistauglichen Härtungsplans für eigene Projekte
- Best Practices und Transfer in die Praxis
- Sicherheitsprinzipien für robuste Desktop-Software
- Typische Architekturentscheidungen und ihre Sicherheitsfolgen
- Leitlinien für neue und bestehende Python-Anwendungen
- Nächste Schritte für Team, Projekt und Organisation
There are no frequently asked questions yet. If you have any more questions or need help, contact our customer service.
