0Pricing
Cyber Security Academy · Lektion

Techniken für sichere Code-Reviews

Erkennen Sie in Code-Reviews Sicherheitsprobleme wie Datenflüsse, Vertrauensgrenzen, gefährliche APIs und fehlende Schutzmaßnahmen.

Techniken für sichere Code-Reviews ist eine kostenlose Cyber Security Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Cyber Security Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Ziel einer sicheren Codeprüfung

Eine sichere Codeprüfung identifiziert Sicherheitslücken im Quellcode vor der Bereitstellung. Im Gegensatz zu einer funktionalen Codeprüfung konzentriert sie sich auf Vertrauensgrenzen, Datenflüsse, gefährliche APIs, fehlende Kontrollen und Fehler in der Sicherheitslogik – nicht auf Korrektheit oder Stil.

Manuelle und automatisierte Prüfung

Automatisierte SAST-Tools (Semgrep, SonarQube, CodeQL) erkennen bekannte Muster schnell, übersehen jedoch Schwachstellen in der Geschäftslogik, komplexe Schwachstellen über mehrere Komponenten hinweg und kontextabhängige Probleme. Eine manuelle Prüfung erkennt, was die Automatisierung übersieht. Beide Ansätze sind erforderlich.

Analyse der Einstiegspunkte

Beginnen Sie die Sicherheitsprüfung damit, alle Einstiegspunkte zu erfassen: HTTP-Endpunkte, Handler für Nachrichtenwarteschlangen, Datei-Uploads, geplante Jobs, Webhooks und CLI-Argumente. Jeder Einstiegspunkt, der externe Daten akzeptiert, ist ein potenzieller Injection-Punkt und erfordert eine sorgfältige Prüfung.

Datenflüsse nachverfolgen

Verfolgen Sie benutzergesteuerte Daten von ihrem Einstiegspunkt durch die Anwendung bis zu ihrer endgültigen Verwendung. Erreichen sie eine Datenbankabfrage? Einen Shell-Befehl? Ein HTML-Template? Einen API-Aufruf? Verfolgen Sie den Datenfluss und prüfen Sie jede Transformation und jeden Bereinigungsschritt.

Analyse von Vertrauensgrenzen

Sicherheitsentscheidungen werden an Vertrauensgrenzen getroffen – dort, wo Daten von einem weniger vertrauenswürdigen Kontext (HTTP-Anfrage) in einen stärker vertrauenswürdigen Kontext (Datenbank, Betriebssystem) gelangen. Bei jeder Überschreitung einer Vertrauensgrenze müssen die Daten validiert, bereinigt oder autorisiert werden.

Checkliste für gefährliche APIs

Markieren Sie die Verwendung von: eval(), exec(), system(), shell_exec(), innerHTML, dangerouslySetInnerHTML, deserialize(), pickle.loads(), Runtime.exec(), ProcessBuilder, XML-Parsern ohne deaktivierte Entity-Erweiterung sowie kryptografischen Primitive, die direkt statt über High-Level-APIs verwendet werden.

Prüfung von Authentifizierung und Autorisierung

Prüfen Sie: Ist jeder sensible Endpunkt durch Authentifizierung geschützt? Wird die Autorisierung serverseitig für jede Aktion geprüft? Kann ein Benutzer auf die Daten eines anderen Benutzers zugreifen, indem er einen ID-Parameter ändert (IDOR)? Sind sensible Vorgänge gegen CSRF geschützt?

Prüfung der Fehlerbehandlung

Achten Sie auf catch-Blöcke, die Ausnahmen stillschweigend verschlucken. Prüfen Sie, dass für Benutzer angezeigte Fehlermeldungen keine internen Pfade, Stacktraces oder die Struktur der Datenbank offenlegen. Stellen Sie sicher, dass Sicherheitsausnahmen (AuthenticationException) protokolliert und nicht stillschweigend ignoriert werden.

Prüfung der Kryptografie

Markieren Sie: MD5 oder SHA-1 zum Hashing von Passwörtern (verwenden Sie bcrypt/Argon2), fest einprogrammierte symmetrische Schlüssel oder IVs, Verschlüsselung im ECB-Modus (verwenden Sie GCM oder CBC mit HMAC), eigene Implementierungen kryptografischer Verfahren und Zufallszahlengeneratoren, die nicht kryptografisch sicher sind.

Prüfung von Abhängigkeiten und Konfiguration

Prüfen Sie package.json/pom.xml auf veraltete Abhängigkeiten. Überprüfen Sie die Anwendungskonfiguration auf aktivierten Debug-Modus in der Produktion, ausführliche Fehlerseiten, Zugangsdaten von Administratorkonten in Konfigurationsdateien und fehlende Sicherheits-Header (HSTS, CSP, X-Frame-Options).

Werkzeuge: Semgrep und CodeQL

Semgrep-Regeln gleichen Syntaxmuster mit semantischem Bewusstsein ab. Schreiben Sie benutzerdefinierte Regeln für die spezifischen Muster Ihrer Codebasis. CodeQL behandelt Code als Daten – schreiben Sie Abfragen über den AST, um Datenflüsse von Quellen zu Senken über Dateien und Funktionsaufrufe hinweg zu finden.

Wissensprüfung

Was ist eine IDOR-Schwachstelle, und wo würden Sie in einer Codeprüfung danach suchen?

Zusammenfassung

Eine effektive sichere Codeprüfung kombiniert die Erfassung von Einstiegspunkten, die Nachverfolgung von Datenflüssen, die Analyse von Vertrauensgrenzen, die Erkennung gefährlicher APIs und automatisierte SAST-Tools. Sie findet Sicherheitsprobleme, die bei einer funktionalen Prüfung übersehen werden, insbesondere Fehler in der Geschäftslogik und subtile Lücken bei der Autorisierung.

Häufig gestellte Fragen

Ist die Lektion „Techniken für sichere Code-Reviews“ kostenlos?

Ja — der vollständige Text von „Techniken für sichere Code-Reviews“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Cyber Security Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Cyber Security Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Techniken für sichere Code-Reviews“?

Erkennen Sie in Code-Reviews Sicherheitsprobleme wie Datenflüsse, Vertrauensgrenzen, gefährliche APIs und fehlende Schutzmaßnahmen. Du übst Cyber Security Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Cyber Security Academy zu starten?

Keine Vorkenntnisse erforderlich. Cyber Security Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Techniken für sichere Code-Reviews“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Cyber Security Academy-Lektion Code schreiben und ausführen?

Ja. Jede Cyber Security Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Eingabevalidierung und Ausgabekodierung
  2. Sicheres Abhängigkeitsmanagement
  3. OWASP ASVS: Standard zur Überprüfung der Anwendungssicherheit
  4. Techniken für sichere Code-Reviews
← Zurück zu Cyber Security Academy