Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Inhaltsverzeichnis
INHALTSVERZEICHNIS 2
ABKÜRZUNGSVERZEICHNIS 4
ABBILDUNGSVERZEICHNIS 5
QUELLCODE-BEISPIELE 6
1. EINLEITUNG 7
2. DATENSCHUTZ UND DATENSICHERHEIT 8
2.1 Datenschutzaspekte von Klausuranmeldungen 8
2.1.1 Definition des Begriffs Datenschutz 8
2.1.2 Entwicklung des Datenschutzes 8
2.1.3 Geltungsbereiche der Datenschutzgesetze 9
2.1.4 Richtlinien für den Datenschutz 9
2.1.5 Veröffentlichung von Klausurergebnissen 10
2.2 Bedrohungsszenarien für Internetanwendungen 12
2.2.1 Definition des Begriffs Datensicherheit 12
2.2.2 Schäden durch Bedrohungen 13
2.2.3 Bedrohungsszenario SQL-Injection 14
2.2.4 Maßnahmen zum Schutz des Datenbanksystems 17
2.2.5 Maßnahmen zum Schutz von PHP MYSQL Anwendungen 18
2.2.6 Bedrohungsszenario Cross-Site Scripting 20
2.2.7 Angriffsflächen bei der Übergabe von Variablen 22
3. VORSTELLUNG DES KASIB 25
3.1 Mängel der bisherigen Lösung 25
3.2 Öffentlicher Bereich des Systems 27
3.2.1 Erstanmeldung 29
3.2.2 Anmeldung über Benutzername und Passwort 30
3.2.3 Abmeldung 32
3.2.4 Auflistung der Klausuranmeldungen 33
3.3 Verwaltungsbereich 34
3.3.1 Neue Klausur hinzufügen 36
3.3.2 Angaben eines Klausurtermins ändern 37
3.3.3 Noten zu einer Klausur eintragen 39
3.3.4 Link zu veröffentlichten Klausurergebnissen mailen 39
3.3.5 Daten exportieren 41
2
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
4. SICHERHEITSASPEKTE DES SYSTEMS 43
4.1 Überprüfung auf Einhaltung der Datenschutzbestimmungen 43
4.1.1 Erfassung der Anmeldedaten 43
4.1.2 Veröffentlichung von Prüfungsergebnissen über die Anwendung 45
4.2 Datensicherheit des KASIB 46
4.2.1 Architektur 46
4.2.2 Programmablauf und Fehlerbehandlung 47
5. VORSTELLUNG ANDERER KLAUSURANMELDESYSTEME 51
5.1 Virtuelles Prüfungsamt der Fachhochschule Bielefeld 51
5.1.1 Architektur 51
5.1.2 Öffentlicher Bereich 52
5.1.3 Verwaltungsbereich 55
5.1.4 Administrationsfunktionen 60
5.1.5 Fazit 61
5.2 FlexNow 62
5.2.1 Architektur 63
5.2.2 Öffentlicher Bereich 65
5.2.3 Verwaltungsbereich 71
5.2.4 Fazit 76
6. FAZIT UND AUSBLICK 77
7. DANKSAGUNGEN 82
8. LITERATURVERZEICHNIS 83
3
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Abkürzungsverzeichnis
BDSG – Bundesdatenschutzgesetz
CC – Carbon Copy
DBMS – Datenbank-Management-System
CMS – Content Management System
HIS – Hochschul Informations System GmbH
HISPOS – HIS Prüfungsoperationssystem
HTML – Hypertext Markup Language
HTTP – Hypertext Transfer Protokoll
KASIB – Klausuranmeldesystem des Instituts für Betriebswirtschaftslehre
LDSG – Landesdatenschutzgesetz
LIS – Lecture Information System
NdsDSG – Niedersächsisches Datenschutzgesetz
ODBC – Open Database Connectivity
PHP – Personal Homepage Tools
SQL – Standard Query Language
SSL – Secure Sockets Layer
TAN – Transaktionsnummer
URL – Uniform Ressource Locator
- 4 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Abbildungsverzeichnis
Abb 1: Zunahme der Bedrohungen durch Viren Würmer Trojaner 13
Abb 2: Beispielhaftes Eingabeformular 15
Abb 3: Definition des Datenfeldes Matrikelnummer in der Datenbank 18
Abb 4: Konfigurationseinstellungen des Apache Webservers 19
Abb 5: Ergebnis der Ausführung 21
Abb 6: Ergebnis der Ausführung 22
Abb 7: Beispielhafte Übergabe von Daten über die URL 22
Abb 8: Formular zur Klausuranmeldung im Sommersemester 2004 25
Abb 9: Dateien des öffentlichen Bereichs 27
Abb 10: Weitere Interaktionsmöglichkeiten 28
Abb 11: Anmeldeformular zur Erstanmeldung 29
Abb 12: Anmeldebestätigung 30
Abb 13: Anmeldung über Benutzername und Passwort 31
Abb 14: Auswahl der Klausuren bei Anmeldung über Benutzername und Passwort 31
Abb 15: Übersicht der Klausuren zu denen ein Nutzer aktuell angemeldet ist 33
Abb 16: Dateien des Verwaltungsbereichs 34
Abb 17: Übersicht der Verwaltungsfunktionen 35
Abb 18: Eingabeformular für eine neue Veranstaltung 36
Abb 19: Weitere Interaktionsmöglichkeiten 36
Abb 20: Auswahl des zu editierenden Klausurtermins 37
Abb 21: Übersicht geänderter Daten und informierter Personen 38
Abb 22: Formular zur Noteneingabe 39
Abb 23: Bestätigung Zustellung des Links zu den Prüfungsergebnissen 41
Abb 24: Übersicht der exportierten Daten 42
Abb 25: Anmeldeformular zur Erstanmeldung 43
Abb 26: Fehlermeldung bei unberechtigtem oder wiederholtem Zugriff 48
Abb 27 Anmeldeseite des ViPa 52
Abb 28: Leistungsübersicht 54
Abb 29: FlexNow-Architektur 63
Abb 30: Abbildung der Universitätsstruktur in FlexNow 64
Abb 31: Benutzeroberfläche für Studierende 66
Abb 32: Personalisiertes Anmeldeformular 67
Abb 33: Studentendaten 68
Abb 34: Bedeutung der verwendeten Symbole 69
Abb 35: Auswahl der Sichten auf die Daten 72
Abb 36: Automatisch generiertes Zeugnis 73
Abb 37: Formular zum Noten eintragen 75
5
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Quellcode-Beispiele
Quellcode-Beispiel 1: Quellcode eines einfachen Eingabeformulars 15
Quellcode-Beispiel 2: Quellcode des weiterverarbeitenden Skriptes 15
Quellcode-Beispiel 3: Definition des Eingabefeldes für die Matrikelnummer 18
Quellcode-Beispiel 4: Ausführung schadhaften Codes 20
Quellcode-Beispiel 5: Ausführung schadhaften Codes wird verhindert 21
Quellcode-Beispiel 6: Mailfunktion in der Datei Mailbestaetigung php 40
Quellcode-Beispiel 7: Fehlerbehandlung mittels Try-Catch 49
6
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
1. Einleitung In Zeiten knapper Haushaltsmittel sehen sich auch die Universitäten gezwungen, die vorhandenen materiellen und personellen Ressourcen optimal zu nutzen. In der Verwaltung macht sich dieser Sparzwang besonders bemerkbar. Immer mehr Aufgaben müssen durch immer weniger Personal bewältigt werden, was oft zu langen Bearbeitungszeiten führt. Durch den Einsatz moderner Informations- und Kommunikationstechnologien lassen sich einige dieser Arbeiten automatisieren. Eine Verwaltungsaufgabe, die jedes Institut an einer Universität zu leisten hat, ist die Abnahme von Prüfungsleistungen. Dieser mehrstufige Prozess wird an vielen Einrichtungen nach wie vor persönlich vom Institutssekretariat oder den Prüfern selbst koordiniert.
Das Institut für Betriebswirtschaftslehre nutzt seit einigen Jahren eine internetgestützte Klausuranmeldung, die bisher aber nur eine Behelfslösung darstellte. Ziel dieser Arbeit ist es, das bisherige Verfahren der onlinebasierten Klausuranmeldung des Instituts für Betriebswirtschaftslehre zu optimieren. Dabei müssen vor allem datenschutzrechtliche Aspekte berücksichtigt und mögliche Angriffsszenarien betrachtet werden, welche die Datensicherheit beeinträchtigen können. Diese Umfeldfaktoren werden in Kapitel 2 der Arbeit vorgestellt. Dem Leser soll aufgezeigt werden, welche äußeren Einflüsse auf die Entwicklung des KASIB 1 einwirkten.
Um nicht nur theoretisch die durch KASIB unterstützten Arbeitsabläufe abzuhandeln, wird der Funktionsumfang in Kapitel 3 ausführlich anhand von Screenshots beschrieben. Der darauf folgende Abschnitt betrachtet die entwickelte Anwendung im Kontext von Datenschutz und Datensicherheit. Es wird beleuchtet, wie Datenschutzanforderungen berücksichtigt und eine hohe Datensicherheit gewährleistet werden.
Ein Vorstellung der Anmeldesystemen anderer Universitäten im 5. Kapitel soll einen umfassenderen Einblick in den Themenbereich bieten. Dabei wird erklärt, welche unterschiedlichen Ansätze möglich sind und wie eine solche Anwendung in den Gesamtverbund der IT-Systeme einer Universität eingebunden werden kann.
Die Arbeit schließt mit einem Fazit, bei dem die gewonnenen Erkenntnisse zusammengefasst und ferner Erweiterungsmöglichkeiten der entwickelten Software aufgezeigt werden.
1 Klausur-Anmelde-System des Instituts für Betriebswirtschaftslehre
- 7 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
2. Datenschutz und Datensicherheit Datenschutz und Datensicherheit sind zwei eng korrelierende Einflussfaktoren auf die Entwicklung von Internetanwendungen. In diesem Abschnitt sollen dem Leser zunächst die Grundsätze des Datenschutzes näher gebracht werden.
Datenschutz ist ohne eine ausreichende Datensicherheit jedoch nicht zu gewährleisten, Deshalb werden in Abschnitt 2.2 weiterhin mögliche Angriffsszenarien analysiert und auf bei der Programmierung zu berücksichtigende Sicherheitsaspekte hingewiesen.
2.1 Datenschutzaspekte von Klausuranmeldungen
Da bei der Prüfungsanmeldung personenbezogene Daten verarbeitet werden, müssen bestimmte Datenschutzvorschriften beachtet werden. An eine internetgestützte Klausuranmeldung werden besondere Anforderungen gestellt. Welche Bestimmungen zu berücksichtigen sind, wird in diesem Kapitel erläutert.
2.1.1 Definition des Begriffs Datenschutz
Einleitend ist zunächst zu erläutern, was juristisch unter dem Begriff Datenschutz zu verstehen ist:
Datenschutz ist Schutz der Privatsphäre und nicht Schutz der Daten 2 .
Ziel des Datenschutzes nach §1 Bundesdatenschutzgesetz (BDSG) ist der Schutz des Einzelnen vor der Beeinträchtigung seines Persönlichkeitsrechts beim Umgang mit seinen personenbezogenen Daten. Personenbezogene Daten sind laut §3 BDSG „Einzelangaben über persönliche und sachliche Verhältnisse einer bestimmten oder bestimmbaren natürlichen Person (Betroffener)“.
2.1.2 Entwicklung des Datenschutzes
Die grundsätzlichen Aspekte des Datenschutzes fußen auf dem Verfassungsrecht. Es ist Aufgabe des Staates, durch die Gesetzgebung das in Artikel 1 und 2 des Grundgesetzes manifestierte Persönlichkeitsrecht jedes Bürgers zu bewahren.
Ausschlaggebend für den heutigen Datenschutz ist das so genannte Volkszählungsurteil vom 15.11.1983, welches den Schutz des Einzelnen gegen unbegrenzte Erhebung und Speicherung, Verwendung und Weitergabe seiner persönlichen Daten gewährleistet [Helmer 2003, S. 9]. Das Grundrecht gewährleistet dem Einzelnen, selbst über die Preisgabe seiner persönlichen Daten zu bestimmen.
2 Schutz der Daten ist Datensicherheit.
- 8 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Das BDSG basiert in seiner heutigen Form in weiten Teilen auf der EG-Datenschutzrichtlinie von 1995, welche das Ziel hatte, die verschiedenen Datenschutzbestimmungen der einzelnen EU-Mitgliedsstaaten bis Oktober 1998 zu vereinheitlichen. In Deutschland wurde diese Richtlinie endgültig erst 2001 in nationales Recht umgesetzt und das BDSG novelliert.
2.1.3 Geltungsbereiche der Datenschutzgesetze
Für die Universität Hildesheim gilt neben den allgemeinen Datenschutzregeln und dem BDSG insbesondere das niedersächsische Landesdatenschutzgesetz (NdsDSG). Allgemein lässt sich festhalten, dass das jeweilige LDSG das Datenschutz-Grundrecht für öffentliche Stellen des Landes und der Kommunen [§2 NdsDSG] regelt, während das BDSG nur für öffentliche Stellen des Bundes, nicht aber der Länder gilt [§1 BDSG]. Daneben bestehen weitere bereichsspezifische Datenschutzregelungen in anderen Gesetzen, welche die allgemeinen Regelungen in den Landesdatenschutzgesetzen verdrängen. Für Hochschulen sind dabei das Beamtengesetz und vor allem das Hochschulgesetz zu nennen.
In den meisten Hochschulen regeln interne Verordnungen die Erhebung und Verarbeitung personenbezogener Daten bei der Immatrikulation und bei der weiteren hochschulinternen Verwaltung. Darin ist u.a. festgehalten, welche Daten erhoben werden dürfen und wann diese wieder gelöscht werden müssen. Bei Verarbeitung der Matrikelnummer kann es je nach gegebenem Hochschulgesetz notwendig sein, dies in die Satzung der Hochschule aufzunehmen. Dieser Fall trifft auf die Berliner Universitäten zu, denen es nach §6 Absatz 7 des Berliner Hochschulgesetzes lediglich erlaubt ist Name, Anschrift und Geburtsdatum zu verarbeiten.
2.1.4 Richtlinien für den Datenschutz
Bei der Datenerhebung ist grundsätzlich die Prämisse der Datenvermeidung und Datensparsamkeit [§3a BDSG] zu beachten. Es sollten nur so viele personenbezogene Daten erhoben werden, wie es zur Erfüllung einer Aufgabe unbedingt nötig ist. Dabei sollte von den Möglichkeiten der Anonymisierung und Pseudonymisierung Gebrauch gemacht werden. Anonymisierung bezeichnet eine Veränderung der Daten dahingehend, dass der Personenbezug entfällt oder sich nur durch einen unverhältnismäßig hohen Aufwand wieder herstellen lässt. Pseudonymisierung beschreibt das Ersetzen des Namens oder anderer Identifikationsmerkmale durch ein bestimmtes Kennzeichen mit dem Ziel, die Bestimmung des Betroffenen auszuschließen oder wesentlich zu erschweren [Helmer 2003, S. 35]. Ein geläufiges Beispiel für eine Pseudonymisierung ist die Zuweisung einer Matrikelnummer zu einem Studierenden. Dazu ist anzumerken, dass viele vergebene Matrikelnummern meistens gewisse Rückschlüsse zulassen. An der Universität Hildesheim lässt sich über die ersten drei Ziffern jeder Matrikelnummer in etwa das Immatrikulationsjahr bestimmen, da sie blockweise vergeben werden. Für jedes Jahr wird immer ein neuer Block festgelegt, aus denen ein Algorithmus die einzelnen Matrikelnummern erzeugt 3 . Dadurch wird es Dritten
3 Diese Vergabeweise teilt das Immatrikulationsamt auf Anfrage mit.
- 9 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
erleichtert, den Bezug zwischen einer Matrikelnummer und einer bestimmten Person herzustellen, da durch die ersten drei Ziffern der Kreis der in Frage kommenden Personen schon stark eingeschränkt wird. Die Vergabe der Matrikelnummer an der Universität Hildesheim ist daher datenschutzrechtlich als bedenklich einzustufen, da laut gesetzlicher Vorgabe Dritte keine Möglichkeit erhalten sollen, von der Matrikelnummer auf die jeweilige Person zu schließen [Dix 1995].
Anstatt einer fortlaufenden Nummer, die Rückschlüsse auf das Immatrikulationsjahr zulässt, wäre ein zufällig erzeugter Schlüssel bestimmter Länge empfehlenswert. Ein solcher Schlüssel ließe keinerlei Rückschlüsse auf eine spezifische Person oder einen gewissen Personenkreis mehr zu und würde den Anforderungen des Datenschutzes in allen Fällen genügen.
Aus dem Grundrecht auf informelle Selbstbestimmung hervorgegangen ist das in §4 BDSG festgehaltene generelle Verbot der Verarbeitung personenbezogener Daten mit Erlaubnisvorbehalt. Das Recht auf informelle Selbstbestimmung darf nur im überwiegenden Allgemeininteresse eingeschränkt werden [Helmer 2003, S. 10], welches durch spezielle Rechtsvorschriften und in §28 BDSG genauer spezifiziert ist. Der Erlaubnisvorbehalt besagt, dass eine Einwilligung des Betroffenen vorliegen muss, bevor personenbezogene Daten erhoben werden dürfen. Dabei muss der Betroffene ausführlich über den Zweck der Erhebung, Verarbeitung und Nutzung informiert und auf die Folgen der Verweigerung hingewiesen werden. Abschließend muss er durch seine Unterschrift erklären, dass er die dargelegten Punkte verstanden hat. Da eine eigenhändige Unterschrift über eine internetbasierte Anwendung nicht zu leisten ist, wurde in §4a des BDSG eine Abweichung von der eigenhändig geleisteten Unterschrift „bei Vorliegen besonderer Umstände“ für zulässig erklärt [Helmer 2003, S. 42].
2.1.5 Veröffentlichung von Klausurergebnissen
An Hochschulen werden zurzeit verschiedenste Verfahren zur Bekanntgabe von Prüfungsergebnissen eingesetzt. Die Zeiten der Präsenz-Universität, in denen sich zum Semesterende noch einmal die Flure füllten und den Studierenden die Prüfungsergebnisse persönlich mitgeteilt wurden, sind vorbei. Bei den meisten Universitäten überwiegt die klassische Form der Bekanntgabe am schwarzen Brett. Dabei werden die Klausurergebnisse mit der Matrikelnummer, aber ohne den Namen der Prüfungsteilnehmer ausgehängt. Der Landesbeauftragte für den Datenschutz Rheinland-Pfalz, Rudolph, hält diese Art der Veröffentlichung für akzeptabel, da die Matrikelnummer zwar personenbeziehbar ist, das notwendige Zusatzwissen jedoch nur im Ausnahmefall und kaum aufgrund gezielter Bemühungen zu erlangen ist [Rudolph 2001].
- 10 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Dieses Modell der Veröffentlichung ist jedoch nicht ohne weiteres auf das Internet übertragbar:
„Übermittelt eine Hochschule im Internet Informationen an Studenten, die zwar nicht mit dem Namen, aber mit Matrikelnummer gekennzeichnet sind, ist dies nur im Rahmen der Einwilligung zulässig.“ [Hamm 1996]
Die universitäre Nutzung des Internets wirft vielfältige datenschutzrechtliche Fragen und Probleme auf, die oft gar nicht oder nur unbefriedigend gelöst werden können. Es zeigt sich, dass das Recht regelmäßig hinter der technischen Entwicklung hinterher hinkt. Viele wichtige Punkte sind oft noch nicht gesetzlich geregelt. Es existieren lediglich Empfehlungen verschiedener Datenschutzbeauftragter.
So sollen im Internet nur Listen mit Note – Matrikelnummer Zuordnungen veröffentlicht werden. Diese Listen sollten über Meta-Tags oder durch eine robots.txt-Datei 4 von der Indexierung durch Suchmaschinen ausgeschlossen werden. Eine weitere Sicherheitsvorkehrung wäre, die Einsicht nur nach korrekter Eingabe eines Passworts zuzulassen oder den Zugriff auf die IP-Adressen der Universität zu beschränken [Blank o.J.]. Bei letztgenanntem Verfahren wird zunächst überprüft, von welchem Rechner auf die Auflistung der Prüfungsergebnisse zugegriffen wird. Wenn es sich dabei nicht um einen Rechner der Universität handelt, zu erkennen an der weltweit einmaligen IP-Adresse, so wird der Zugriff verhindert. Aus datenschutzrechtlicher Sicht ist diese Veröffentlichungsweise der Bekanntgabe der Prüfungsergebnisse über das schwarze Brett gleichzusetzen [Rudolph 2001]. Dieses Verfahren macht aber einen großen Vorteil der Veröffentlichung im Internet wett, den uneingeschränkten Zugriff von jedem Ort der Welt.
Einige Dozenten nutzen zur Bekanntgabe von Klausurergebnissen oder anderen wichtigen Mitteilungen an eine Gruppe von Personen die Rundmail-Funktion ihres E-Mail Programms. Dabei wird oft der Fehler begangen, dass einfach alle Adressaten in das CC 5 -Feld eingetragen werden. So kann jeder Empfänger sehen, wer diese Mitteilung noch empfangen hat. Außerdem werden so die E-Mail Adressen aller Personen im gesamten Empfängerkreis bekannt gemacht. Dies zu vermeiden wird von den Datenschutzbeauftragten ausdrücklich empfohlen und kann erreicht werden, indem man alle Empfänger im BCC-Feld 6 des Mailprogramms aufführt. Das KASIB umgeht den beschriebenen Problemfall, indem es an jeden Klausurteilnehmer separat eine E-Mail sendet (siehe Abschnitt 3.3.4, Seite 39). Das unbefugte Lesen, Kopieren, Verändern und Löschen der Klausurergebnisse muss bei der Veröffentlichung im Internet verhindert werden. Die vom rheinland-pfälzischen Datenschutzbeauftragten empfohlenen Maßnahmen der verschlüsselten Übertragung und die Nutzung selbstextrahierender Archive scheinen nur sehr schwer realisierbar. Die erste
4 Eine robots.txt-Datei reglementiert die Indexierung einer Internetseite durch Suchmaschinen
5 CC = „Carbon Copy“: Alle Empfänger erhalten eine gleich lautende Kopie der Nachricht
6 BCC = „Blind Carbon Copy“: Jeder Adressat empfängt eine gleich lautende Kopie der Nachricht, ohne Kenntnis von weiteren Empfängern zu erhalten.
- 11 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Empfehlung beinhaltet einen Schlüsselaustausch und setzt auf beiden Seiten die Nutzung bestimmter Software voraus. Als Passwort für den Zugriff auf die Daten in selbstextrahierenden Archiven wird eine Kombination aus Immatrikulationsnummer und einer Zusatzinformation wie dem Geburtsdatum als ausreichend angesehen [Rudolph 2001]. Diese Vorgehensweise würde einen erheblichen Aufwand bedeuten, da für jeden Prüfungsteilnehmer ein eigenes Passwort erzeugt werden müsste und die veröffentlichende Stelle über Daten wie Matrikelnummer und Geburtsdatum verfügen muss. Weiterhin muss eine Liste erstellt werden, in der alle Zugangspasswörter gespeichert sind und die mit der Benutzereingabe abgeglichen werden muss. Beide Empfehlungen sind in ihrer dargelegten Form wegen des Aufwands kaum zu realisieren. Es zeigt sich, dass jede Lösung stets eine Abwägung zwischen einem größtmöglicher Datenschutz und einem komfortablen Zugriff erfordert.
Häufig werden Verstöße gegen den Datenschutz nicht absichtlich begangen. Wenn man die Tätigkeitsberichte der Datenschutzbeauftragten liest, stellt man fest, wie viele solcher Verstöße auf mangelnde Sorgfaltspflicht, fehlendes Wissen oder schlicht auf Bequemlichkeit des Verursachers zurück zu führen sind. Gerade im Hochschulbereich ist eine weitere Sensibilisierung der Mitarbeiter notwendig. Vielen fehlt es an grundlegenden Kenntnissen und Problembewusstsein.
2.2 Bedrohungsszenarien für Internetanwendungen
Der Begriff Datensicherheit wird heutzutage als Schlagwort in Werbeanzeigen u.a. für Anti-Viren-Software oder Firewall-Applikationen genutzt. Um genau festzulegen, in welchem Rahmen der Begriff in dieser Ausarbeitung genutzt wird, erfolgt zunächst eine genaue Definition zur Schaffung einer einheitlichen Verständnisgrundlage. Die Leser für das Thema Datensicherheit zu sensibilisieren ist Ziel des Abschnitts 2.2.2, in welchem die Folgen unzureichender Datensicherheit angesprochen werden. Abschließend erfolgt die Analyse einiger typischer Angriffszenarien auf Internetanwendungen.
2.2.1 Definition des Begriffs Datensicherheit
Datensicherheit bezeichnet die Bewahrung von Daten vor Beeinträchtigungen. Dazu zählen vor allem die Sicherstellung der Verfügbarkeit, der Integrität, der Verbindlichkeit und der Vertraulichkeit [Wikipedia 2005a]. Verfügbar sind Informationen und Kommunikationsverbindungen, wenn sie durch einen Anwender genutzt werden können. Integrität bezeichnet die unverfälschte Übermittlung von Daten zwischen zwei Kommunikationspunkten. Verbindlich sind kommunizierte Inhalte, wenn sie den jeweiligen Kommunikationspartnern einwandfrei zuzuordnen sind. Als vertraulich werden Informationen bezeichnet, die nur ausgewählten Teilnehmern bekannt sind [Winkel 2000].
- 12 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Datensicherheit kann durch die räumliche und physische Sicherung der Daten, Einsatz von fehlertoleranten Systemen und Zugriffskontrollen erreicht werden. Unter datenschutzrechtlichen Aspekten ist vor allem letztgenannter Punkt zu beachten (siehe Abschnitt 4.1.2, Seite 45ff).
2.2.2 Schäden durch Bedrohungen
Welchen Stellenwert die Datensicherheit heutzutage einnimmt, zeigt sich, wenn man die ständig zunehmende Bedrohung durch Viren, Würmer und Trojaner betrachtet. Die Grafik zeigt die Anzahl der im jeweiligen Jahr durch Viren, Würmer und Trojaner vom CERT 7 registrierten Angriffe:
Die dadurch entstehenden Schäden sind immens. So richteten die Viren Blaster, Welchia und Sobig im August 2003 in nur 12 Tagen weltweit einen Schaden von 1,63 Milliarden Euro an [futureZone 2004]. In der Bundesrepublik erreichen die Schäden durch Computer-Viren jährlich eine dreistellige Millionenhöhe, mit steigender Tendenz [BSI 2004]. Die 2003 nur bei amerikanischen Banken und Kreditkartenunternehmen durch Phishing 8 verursachten Verluste beliefen sich auf nahezu 1,2 Milliarden US-Dollar [Symantec 2004b]. Wenn man sich vor Augen hält, dass Phishing im Jahr 2003 gerade seine Anfänge nahm, offenbart sich ein ungeheueres Schadenspotential für die Wirtschaft.
7 CERT steht für Computer Emergency Response Team. Diese Organisation befasst sich mit Computersicherheit
und gibt Warnungen vor Sicherheitslücken heraus.
8 Phishing bezeichnet den Versuch, durch verschiedene Maßnahmen in den Besitz von Informationen zu
gelangen, mit der Absicht, sich finanzielle Vorteile zu verschaffen [Symantec 2004b].
- 13 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Größere Unternehmen versuchen diesem Umstand Sorge zu tragen, indem sie umfangreiche Sicherheitsvorkehrungen treffen. Die dortigen IT-Verantwortlichen sehen sich jedoch vor enorme Herausforderungen gestellt. Wöchentlich werden im Durchschnitt 48 neue Schwachstellen aufgedeckt [Symantec 2004b]. Diese müssen protokolliert und entsprechende Patches verteilt werden. Selbst wenn sie diese Aufgabe bewältigen, bleibt immer noch das Problem, dass entsprechende Patches im Durchschnitt erst nach rund sechs Tagen zur Verfügung stehen. In dieser Zeit bietet sich nur die Möglichkeit, die betroffenen Programme einzuschränken oder ganz abzuschalten. Dieses Vorgehen erscheint notwendig, wenn man berücksichtigt, dass nur im ersten Halbjahr 2004 insgesamt 1237 neue Schwachstellen in Software aufgedeckt wurden, von denen 96 Prozent als mittleres oder hohes Risiko eingestuft wurden und 70 Prozent als leicht ausnutzbar klassifiziert wurden [Symantec 2004b]. Vor welche Probleme die Sicherheitsverantwortlichen gestellt sind, zeigt folgende Untersuchung von Symantec: Bei der Analyse der Quell-IP-Adressen verschiedener Würmer wurde ermittelt, dass von über 40% der Fortune 100-Unternehmen 9 Wurmangriffe ausgingen. Das bedeutet jedoch nicht, dass diese Unternehmen direkt an den Angriffen beteiligt sind. Vielmehr sind die Angriff initiierenden Computersysteme dieser Unternehmen zuvor selbst Opfer externer Angriffe gewesen und wurden von den Angreifern nur zur weiteren Verbreitung des Schädlings missbraucht [vgl. Symantec 2004b].
2.2.3 Bedrohungsszenario SQL-Injection
Schon vor der eigentlichen Programmierung des KASIB wurden bereits im Vorfeld mögliche Sicherheitsrisiken analysiert, mit dem Ziel, diese Risiken im Laufe der Entwicklung zu minimieren. Bei Datenbankanwendungen stellt vor allem der Zugriffsprozess auf die Datensätze eine entscheidende Rolle. Viele Angriffsmethoden setzen an diesem Punkt an, da hier tief in das gesamte System eingegriffen werden kann. Ein weit verbreitetes Angriffsszenario ist die Erlangung von Zugriff auf die Datenbank über so genannte SQL-Injections (nach [1&1 Internet AG 2004], [Friedl 2005], [Kiesel 2003], [Wikipedia 2005b]). Sollen Benutzereingaben in einer Datenbank gespeichert werden, dann werden diese meist aus Formularfeldern ausgelesen und die ermittelten Werte werden an das Programm übergeben. Dieses baut intern eine Verbindung zur Datenbank auf und fügt die zwischengespeicherten Daten in die Datenbank ein.
9 Die laut dem Fortune-Magazin 100 größten Unternehmen der USA.
- 14 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Das folgende kurze Beispielprogramm soll diese einzelnen Vorgänge verdeutlichen:
Im Form-Tag (Zeile 10) wird zunächst festgelegt, an welche Datei die in den Eingabefeldern
benutzername und passwort eingetragenen Daten weitergeleitet werden sollen. Die
angegebene Datei SQL_Injection_Abfrage.php übernimmt die Werte daraufhin und
verarbeitet sie:
Dazu wird zunächst angegeben, auf welcher Datenbank die Operationen ausgeführt werden
(Zeile 3). Danach werden alle Daten einer Person aus der Tabelle Kundendaten ermittelt, die
unter dem zuvor im Eingabeformular eingegebenen Benutzernamen
$_POST[benutzername] mit zugehörigem Passwort $_POST[passwort] eingetragen
- 15 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
sind (Zeile 6). Abschließend wird die Anfrage auf die Datenbank ausgeführt (Zeile 9). Für den beispielhaften Benutzernamen Meier mit dem Passwort geheim sähe die generierte Datenbankanfrage wie folgt aus:
SELECT * FROM kundendaten WHERE benutzername='Meier' AND passwort='geheim'
In der Datei SQL_Injection_Abfrage.php werden die eingegebenen Daten in einfachen Anführungszeichen in die Anfrage übernommen. Die Eingabedaten werden so durch das Programm als Strings interpretiert. Wenn nun in den benutzerveränderbaren Eingabedaten ebenfalls einfache Anführungszeichen enthalten sind und diese nicht vom Programm maskiert werden, kann dies wesentliche Auswirkungen auf die Datenbankanfrage haben. Angenommen ein Angreifer möchte die Daten des Benutzers Meier ermitteln, ist aber nicht in Besitz des Passwortes. Die Eingabe von Meier als Benutzername und „’ OR 1=1“ als Passwort kann schon zum Erfolg führen. Ein Blick auf die Umsetzung der Anfrage offenbart Erstaunliches:
SELECT * FROM kundendaten WHERE benutzername='Meier' AND passwort='' OR 1=1
Durch das im Feld Passwort eingegebene einfache Anführungszeichen läuft die Kontrolle der Übereinstimmung von Benutzername und Passwort darauf hinaus, dass überprüft wird, ob das Passwort des Benutzers Meier leer ist (passwort='') oder ob die Bedingung 1=1 zutrifft. Da beide Bedingungen oder-verknüpft sind, genügt es, wenn eine der beiden Bedingungen zutrifft. Dies ist für den Ausdruck 1=1 immer der Fall. Auf diese Weise wurde der Passwortschutz umgangen und der Angreifer kann sogar nicht nur auf alle Daten des Benutzers Meier zugreifen, sondern kann Einsicht in die Einträge aller Kunden erlangen. Es wird gar nicht erst überprüft, ob ein Benutzer namens „Meier“ überhaupt existiert, da der Ausdruck OR 1=1 die gesamte Where-Klausel als erfüllt kennzeichnet.
Neben der Ausspähung von Daten sind noch weit folgenschwerere Angriffe möglich. Die Eingabe von ' OR 1=1; drop table kundendaten-- als Passwort würde zu folgender Umsetzung durch das DBMS führen:
SELECT * FROM kundendaten WHERE benutzername='Meier' AND passwort='' OR 1=1; drop table kundendaten--
Hierzeigt sich eine weitere, sehr leicht auszunutzende Schwachstelle. SQL lässt mehrere Abfragen nacheinander zu. So wird durch die Einschleusung des gezeigten Codes in das SQL-Statement erst eine vollkommen harmlose Abfrage ausgeführt und im Folgenden die Löschung einer kompletten Tabelle hervorgerufen.
- 16 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
Die beschriebenen Angriffszenarien sind bei nahezu jeder SQL-basierten Datenbank möglich. Einige Datenbanken bieten weitere Funktionalitäten, welche wiederum spezielle Angriffe ermöglichen. Eine solche Schwachstelle ist gegeben, wenn das Datenbanksystem eine Shell zu Administrationszwecken zur Verfügung stellt. Ist der Zugriff auf diese Shell nicht anständig geschützt, so kann ein Angreifer mit Leichtigkeit Zugriff auf das System erlangen. Falls die Kommandos „Select … into Outfile“ oder „Select … into Dumpfile“ unterstützt werden, können durch gezielte Manipulationen sogar Dateien auf dem Dateisystem des Datenbankservers abgelegt werden. Im weiteren Verlauf könnte dann beliebiger Code ausgeführt werden, um das System vollständig zu kompromittieren. Die dazu notwendigen Eingriffe sind jedoch schon weitaus komplexer, als die zuvor dargestellten Manipulationen der SQL-Statements und werden daher an dieser Stelle nicht weiter analysiert. Weiterführende Informationen zu SQL-Injections finden sich zum Beispiel in [Friedl 2005]. Dort wird erläutert, mit welchen Methoden man zunächst die richtigen Spaltennamen in einer Tabelle und den Tabellennamen ermitteln kann, um im weiteren Verlauf einen eigenen Nutzer in das System einzutragen. Ziel des aufgezeigten Angriffszenarios ist es, sich später das Passwort des Administrators per E-Mail zuschicken zu lassen.
2.2.4 Maßnahmen zum Schutz des Datenbanksystems
Es hat sich gezeigt, dass diverse Sicherheitsvorkehrungen zum Schutz der Datenbank unverzichtbar sind. In Anlehnung an das KASIB soll im Folgenden aufgezeigten werden, welche Maßnahmen dafür in Frage kommen.
Grundsätzlich sollten, wie bei der Arbeit mit einem Betriebssystem, auch bei der Nutzung von Datenbanken stets Benutzer mit unterschiedlichen Zugriffsrechten angelegt werden. Bei Datenbanken wird unterschieden zwischen Zugriffsrechten lesender, ändernder, löschender und einfügender Art. Grundsätzlich sollte man Rechte immer so sparsam wie möglich vergeben. Insbesondere das Recht zur Weitergabe von Rechten an andere (GRANT TO) sollte sehr sorgfältig gehandhabt werden [BSI 2003]. Durch geschickte Rechtevergabe können Angreifer leicht in die Schranken gewiesen werden. Auch wenn es ihnen gelingt, in das System einzudringen, so haben sie wegen der eingesetzten Sicherheitsmechanismen nur sehr limitierte Möglichkeiten einen Schaden anzurichten. Sie haben zwar die Kontrolle über die Anwendung gewonnen, diese läuft bestenfalls jedoch nur mit eingeschränkten Rechten, was die Aktionsmöglichkeiten begrenzt. Gerade bei der Anwendung internetbasierter Hilfsprogramme zur Datenbankverwaltung wie PHPMyAdmin sind diese Vorsichtsmaßnahmen unbedingt zu beachten. Die Standard-Installation des Programms legt automatisch einen Nutzer root ohne Passwort, aber mit vollen Administratorenrechten an [Hahne 2003, S. 220]. Diese Konfiguration ist sicherheitstechnisch höchst kritisch und sollte umgehend durch die Vergabe geeigneter Benutzerrechte korrigiert werden (siehe dazu [Kofler 2001]). Es empfiehlt sich weiterhin, den Zugriff auf solche Programme zusätzlich passwortgesichert zu gestalten (siehe dazu [Hahne 2003, S. 223ff]).
- 17 -
Bachelor-Abschlussarbeit im Studiengang IMIT Marcel Minke
2.2.5 Maßnahmen zum Schutz von PHP/ MYSQL -Anwendungen
Einige der aufgezeigten Angriffsszenarien basieren auf umfassenden Beeinflussungen der SQL-Statements. Die Einschleusung von bösartigem Code kann sehr leicht dadurch eingedämmt werden, dass man die Länge der möglichen Zeichen im Eingabefeld beschränkt. Es sollte schon zu Beginn der Entwicklungsphase analysiert werden, welche Daten später durch das Programm verarbeitet werden. Im gegebenen Szenario der onlinegestützten Klausuranmeldung wird beispielsweise die Matrikelnummer der Studierenden erfasst. Eine solche Matrikelnummer besteht an der Universität Hildesheim stets aus sechs Zahlen. Aufgrund dieser Kenntnis sollte das Eingabefeld auf sechs Ziffern beschränkt werden und in der Datenbank als Datentyp Integer angegeben werden:
Wie durch die Hervorhebungen aufgezeigt, sollte die maximale Länge des Eingabefeldes stets der in der Datenbank definierten Größe des Datensatzes entsprechen. Auf diese Weise lassen sich größere Manipulationen auf sehr einfache Art und Weise verhindern. Ein Angreifer ist wegen der beschränkten Eingabelänge nicht in der Lage, längere Zeichenketten unterzubringen und umfangreiche Angriffe zu starten.
Wie in Abschnitt 2.2.3, Seite 14ff erläutert, müssen benutzerveränderbare Eingaben vor Ausführung der Datenbankoperationen auf mögliche ungültige Zeichen überprüft werden. Dazu bieten sich zwei verschiedene Ansätze. Die Skriptsprache PHP besitzt zur Maskierung von Eingabedaten die beiden Methoden:
1. string mysql_escape_string ( string unescaped_string )
2. string mysql_real_escape_string ( string unescaped_string [, resource Ergebnis-Kennung] )
Beide Funktionen arbeiten identisch, Letztere verarbeitet jedoch zusätzlich optional eine Verbindungs-Kennung [PHP Group 2003a, PHP Group 2003b]. Diese Vorgehensweise erfordert eine Menge sorgfältiger Zusatzarbeit des Programmierers, da er jede Benutzereingabe durch die genannten Funktionen überprüfen muss. SQL-Injections sind
- 18 -
Quote paper:
Marcel Minke, 2005, Entwurf und Implementierung eines Online-Klausuranmeldesystems unter besonderer Berücksichtigung datenschutzrechtlicher Aspekte, Munich, GRIN Publishing GmbH
This text can be quoted and accessed from this url:
Embed
DOI
ArcView 8.x - ArcGIS Software von ESRI
Geography / Earth Science - Economic Geography
Scholary Paper (Seminar), 14 Pages
Methoden und Werkzeuge zur Geschäftsprozess-Optimierung
Computer Science - Commercial Information Technology
Termpaper, 22 Pages
Sicherheitsmanagement für Corporate Networks - Organisatorische Implem...
Computer Science - Commercial Information Technology
Diploma Thesis, 91 Pages
Entwicklung einer Online-Shopping-Lösung auf der Basis von PHP und MyS...
Computer Science - Internet, New Technologies
Diploma Thesis, 100 Pages
Marcel Minke has published the text Entwurf und Implementierung eines Online-Klausuranmeldesystems unter besonderer Berücksichtigung datenschutzrechtlicher Aspekte
Marcel Minke has uploaded a new text
Entwicklung neuartiger Zementfließestriche für den Wohnungsbau unter b...
Wolfgang Brameshuber, Carsten Bohnemann
Medea - Entwurf und Implementierung eines objektorientierten Framework...
Stefan Etschberger
Energieoptimiertes Bauen. Energetische Gesamtanalyse, Bewertung und Ve...
Bert Oschatz, Martin Knorr, Joachim Seifert, Andrea Meinzenbach
Das Beziehungsgeflecht Wirtschaftsprüfung und Controlling unter Berück...
Explorative Kurz-Studie
Andreas Brüheim, Robin Ringhardt
0 comments