← Zurück zu den Projekten

Cybersecurity-Projekt · Application Security

Secure Coding & Application Security

Fünf Application-Security-Fallstudien mit Vergleich verwundbarer, remediated und erneut getesteter Implementierungen in C, Java, PHP und Python.

Akademisches / Secure-Coding-Projekt

Kontext & Umfang

Dieses Projekt verwendet kontrollierte verwundbare Beispiele zur Untersuchung typischer Application-Security-Schwachstellen und ihrer Remediation. Der Schwerpunkt liegt auf defensivem Secure Coding: Schwachstelle verstehen, Implementierung korrigieren und den Security Control anschließend validieren.

Ziel

Demonstrieren, wie typische Application-Security-Schwachstellen auf Implementierungsebene entstehen, geeignete defensive Kontrollen anwenden und die Wirksamkeit der Remediation durch Re-Testing überprüfen.

Secure-Development-Ansatz

  • Absichtlich verwundbare Beispiele für typische Software-Security-Schwachstellen in kontrollierten Projektumgebungen erstellt.
  • Security-Auswirkungen und Ursachen der jeweiligen Implementierungen analysiert.
  • Das C-Buffer-Overflow-Beispiel durch begrenzte Speicheroperationen remediated.
  • SQL Injection in Java durch parametrisierte Datenbankabfragen remediated.
  • Reflected XSS in PHP durch kontextbezogenes Output Encoding remediated.
  • Hardcoded Credentials in Python durch externe Secret-Konfiguration entfernt.
  • Unsichere Java-Objektdeserialisierung durch restriktivere Objektverarbeitung abgesichert.
  • Die remediated Implementierungen erneut getestet, um die Wirksamkeit der Security Controls zu validieren.

Fallstudien

  • Buffer Overflow — C: unsichere Speicherverarbeitung mit einer begrenzten Implementierung verglichen.
  • SQL Injection — Java: Risiko unsicherer Query-Konstruktion demonstriert und parametrisierte Queries eingesetzt.
  • Reflected XSS — PHP: unsichere reflektierte Ausgabe demonstriert und kontextbezogenes Encoding angewendet.
  • Hardcoded Credentials — Python: Risiko eingebetteter Secrets untersucht und Konfiguration aus dem Source Code ausgelagert.
  • Insecure Deserialization — Java: unsichere Objektdeserialisierung untersucht und restriktivere Verarbeitungskontrollen eingesetzt.
  • Jede Fallstudie folgt dem Ablauf Schwachstelle → Remediation → Re-Test, statt verwundbaren Code als Endergebnis darzustellen.

Remediation-Evidenz

Ausgewählte Vulnerable-vs.-Remediated-Beispiele zur Darstellung des Projektablaufs: identifizieren, testen, beheben und erneut testen.

Kontrollierter Test einer verwundbaren C-Buffer-Overflow-Implementierung
Kontrollierter Test der verwundbaren Buffer-Handling-Implementierung.
Remediated C-Buffer-Handling-Implementierung nach der Security-Korrektur
Remediated Implementierung mit sichereren begrenzten Speicheroperationen.
Kontrollierter SQL-Injection-Test der verwundbaren Java-Implementierung
Kontrollierte Validierung unsicherer SQL-Query-Konstruktion in der verwundbaren Implementierung.
SQL-Injection-Remediation mit parametrisierten Java-Datenbankabfragen
Remediated Implementierung mit parametrisierten Queries und anschließendem Security Re-Test.

Security-Grenze

Die verwundbaren Beispiele dienen ausschließlich kontrollierter Security-Ausbildung, Analyse, Remediation und Validierung. Das Portfolio betont defensive Coding-Praktiken und stellt verwundbare Implementierungen nicht als produktionsreife Software dar.

Security-Relevanz

Das Projekt demonstriert Secure-Development-Denken in den Bereichen Memory Safety, Datenbankzugriff, Web-Output-Verarbeitung, Credential Management, Object Deserialization, Vulnerability Analysis, Remediation Design und Security Re-Testing.