Skip to content
Informatik · Klasse 12

Ideen für aktives Lernen

Datensicherheit und SQL-Injections

Aktives Lernen funktioniert hier besonders gut, weil die Schülerinnen und Schüler die Auswirkungen von SQL-Injections direkt erleben müssen. Durch praktische Simulationen wird aus abstrakten Warnungen greifbare Gefahr. Gleichzeitig verstehen sie sofort, warum Sicherheitsmaßnahmen wie Prepared Statements nicht nur Theorie sind, sondern konkrete Probleme lösen.

KMK BildungsstandardsKMK: Sekundarstufe II - Problemlösen und HandelnKMK: Sekundarstufe II - Beurteilen und Bewerten
30–50 Min.Partnerarbeit → Ganze Klasse4 Aktivitäten

Aktivität 01

Planspiel45 Min. · Kleingruppen

Planspiel: SQL-Injection-Angriff

Schüler erhalten vulnerablen PHP-Code mit einer einfachen Login-Form. In Gruppen injizieren sie bösartige SQL-Befehle wie ' OR 1=1 --, um unbefugten Zugriff zu demonstrieren. Anschließend diskutieren sie die Konsequenzen und notieren Beobachtungen.

Wie können technische Konzepte wie Anonymisierung den Datenschutz unterstützen?

ModerationstippLegen Sie für die Simulation klare Rollen fest: eine Gruppe übernimmt die Rolle der Angreifer mit vorbereiteten Eingaben, die andere verteidigt mit vorbereiteten Abfragen, um die Dynamik zu verstärken.

Worauf zu achten istDie Schüler erhalten ein kurzes Code-Snippet mit einer potenziellen SQL-Injection-Schwachstelle. Sie sollen in einem Satz erklären, wie der Angriff funktioniert und in einem weiteren Satz eine Maßnahme zur Behebung vorschlagen.

AnwendenAnalysierenBewertenErschaffenSozialbewusstseinEntscheidungsfähigkeit
Komplette Unterrichtsstunde erstellen

Aktivität 02

Escape Room30 Min. · Partnerarbeit

Coding-Challenge: Prepared Statements

Paare implementieren eine sichere Suchfunktion in Python mit sqlite3 und Prepared Statements. Sie testen mit manipulierten Inputs und vergleichen Erfolgsraten mit unsicherem Code. Abschließend präsentieren sie ihren Code.

Analysieren Sie den Mechanismus einer SQL-Injection und ihre potenziellen Auswirkungen.

ModerationstippFordern Sie die Schüler während der Coding-Challenge auf, ihre Lösung schrittweise zu kommentieren, um das Verständnis für den Unterschied zwischen direkter und parametrisierter Abfrage zu vertiefen.

Worauf zu achten istStellen Sie den Schülern folgende Fragen: 'Was ist der Hauptunterschied zwischen einer direkten SQL-Abfrage und einer parametrisierten Abfrage in Bezug auf Sicherheit?' und 'Nennen Sie zwei Gründe, warum Input-Validierung wichtig ist.'

ErinnernAnwendenAnalysierenBeziehungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 03

Fallstudienanalyse50 Min. · Kleingruppen

Fallstudienanalyse: Reales Datenleck

Die Klasse analysiert ein echtes SQL-Injection-Beispiel wie den Equifax-Hack. In Kleingruppen identifizieren sie Schwachstellen, schlagen Präventionsmaßnahmen vor und erstellen eine Risiko-Matrix.

Entwickeln Sie Strategien zur Prävention von SQL-Injections durch saubere Programmierung.

ModerationstippNutzen Sie im Workshop zur Input-Validierung echte Formulare aus dem Schulnetzwerk als Beispiel, um die Relevanz für den Alltag zu verdeutlichen und die Motivation zu steigern.

Worauf zu achten istLeiten Sie eine Diskussion mit der Frage: 'Welche ethischen Verantwortung tragen Entwickler, wenn sie wissen, dass ihre Software anfällig für Angriffe wie SQL-Injection sein könnte? Diskutieren Sie die Konsequenzen für das Unternehmen und die Nutzer.'

AnalysierenBewertenErschaffenEntscheidungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Aktivität 04

Escape Room35 Min. · Einzelarbeit

Input-Validierung: Entwickler-Workshop

Individuell validieren Schüler Benutzereingaben mit Regex und Escaping-Funktionen. Gemeinsam testen sie gegenseitig und bewerten die Robustheit in einer Peer-Review-Runde.

Wie können technische Konzepte wie Anonymisierung den Datenschutz unterstützen?

Worauf zu achten istDie Schüler erhalten ein kurzes Code-Snippet mit einer potenziellen SQL-Injection-Schwachstelle. Sie sollen in einem Satz erklären, wie der Angriff funktioniert und in einem weiteren Satz eine Maßnahme zur Behebung vorschlagen.

ErinnernAnwendenAnalysierenBeziehungsfähigkeitSelbststeuerung
Komplette Unterrichtsstunde erstellen

Vorlagen

Vorlagen, die zu diesen Informatik-Aktivitäten passen

Nutzen, bearbeiten, drucken oder teilen.

Einige Hinweise zum Unterrichten dieser Einheit

Erfahrene Lehrkräfte beginnen mit einer kurzen Demonstration eines einfachen Angriffs, um die Neugier zu wecken, bevor sie in die technischen Details gehen. Wichtig ist, die Balance zwischen Theorie und Praxis zu halten: Zu viel Frontalunterricht erstickt die aktive Auseinandersetzung, zu wenig Struktur führt zu Frustration. Forschung zeigt, dass Schüler besonders nachhaltig lernen, wenn sie selbst scheitern und die Fehlerquellen analysieren – daher sollten die Aktivitäten Raum für Reflexion und Iteration bieten.

Am Ende sollen die Lernenden nicht nur definieren können, was eine SQL-Injection ist, sondern auch erklären, wie sie technisch funktioniert und mit welchen Mitteln sie verhindert werden kann. Erfolg zeigt sich in der Fähigkeit, Code-Snippets sicher zu schreiben und reale Sicherheitsrisiken zu erkennen und zu kommunizieren.


Vorsicht vor diesen Fehlvorstellungen

  • Während der Simulation eines SQL-Injection-Angriffs könnte der Eindruck entstehen, dass nur komplexe Angriffe gefährlich sind.

    Nutzen Sie die Simulation, um gezielt einfache Eingaben wie ' OR '1'='1 zu testen und zeigen Sie auf, wie bereits ein solch trivialer Angriff alle Datensätze zurückgibt. Die Schüler sollen erkennen, dass Schwachstellen oft in unscheinbaren Formularfeldern liegen.

  • Während der Case Study zum realen Datenleck könnte die Annahme entstehen, Anonymisierung mache Daten vollständig unangreifbar.

    Verwenden Sie die Fallstudie, um auf die Grenzen der Anonymisierung hinzuweisen: Zeigen Sie, wie die Kombination weniger öffentlicher Daten (z.B. Geburtsdatum, Postleitzahl) mit anonymisierten Datensätzen eine Re-Identifikation ermöglicht. Die Schüler sollen hybride Schutzstrategien entwickeln.

  • Während der Coding-Challenge zu Prepared Statements könnte der Glaube entstehen, lange Passwörter allein reichen aus, um SQL-Injections zu verhindern.

    Lassen Sie die Schüler während der Challenge bewusst ein Passwort aus einer SQL-Injection extrahieren, um zu demonstrieren, dass Authentifizierung und Abfragensicherheit getrennt betrachtet werden müssen. Die parametrisierte Abfrage ist der Schlüssel, nicht die Passwortlänge.


In dieser Übersicht verwendete Methoden