In Zeiten des "Web 2.0" ist es für Unternehmen und öffentlichen Einrichtungen immer einfacher geworden, große Mengen privater oder anderweitig sensibler Daten anzusammeln. Bekannte Beispiele für solche Datensammlungen sind die gerade enorm wachsenden sozialen Netzwerke wie facebook oder Dienstleistungsangebote wie Google Documents. Zusätzlich lagern viele Unternehmen ihre Daten in das Netz aus und beauftragen Dienstleister mit darauf aufbauenden Geschäftsprozessen.
Viele dieser zentral gespeicherten Daten sind also einem großen Personenkreis zugänglich. Der Schutz der Daten erhält daher einen immer höheren Stellenwert. Die Daten praktisch unter Verschluss zu halten ist allerdings keine Lösung. Ohne Zugriffsmöglichkeit sind Anwendungen (z.B. ein soziales Netzwerk) nicht umsetzbar. Der Zugriff muss also auf geregelte Art und Weise erfolgen können.
Eine zentrale Eigenschaft solcher Systeme ist die genau kontrollierte Zugriffsmöglichkeit der einzelnen Benutzer auf den gemeinsamen Datenbestand. Ein weit verbreiteter Ansatz ist hier die Nutzung eines rollenbasierten Systems, wie es z.B. in allen gängigen Foren oder Wikis zum Einsatz kommt (Role Based Access Control (RBAC)). In staatlichen Einrichtungen wird vielfach auch das Bell-LaPadula-Modell als Möglichkeit von aufeinander aufbauenden Freigabestufen eingesetzt.
Die beiden genannten Ansätze verhindern den Fluss der Daten nach unten in der Hierarchie. Daher werden sie auch als multi-level-security bezeichnet. Oftmals ist es auch notwendig, den Fluss von Daten auf einer Hierarchieebene zu unterbinden. Dies ist mit den genannten Ansätzen nicht möglich.
Für eine horizontal ausgerichtete Zugriffskontrolle (multilaterale Sicherheit), welche den Fluss der Daten auch auf einer Hierarchieebene kontrolliert, sind mehrere Ansätze denkbar. Ein aus dem Bereich der Nachrichtendienste stammendes Konzept, welches dort seit Jahren zur Anwendung kommt, ist die Kompartmentalisierung der Daten. Auch für
den Bereich des Internets sind Anwendungsfälle denkbar, die dieses Konzept nutzbringend einsetzen können.
Diese Arbeit untersucht am Beispiel eines Projektmanagement-Systems die Integration eines Kompartmentalisierungsmoduls. Es wird ein Projektmanagement-System entwickelt und das Kompartmentalisierungsmodul integriert. Anschließend wird das entstandene Gesamtsystem getestet und bewertet.
Inhaltsverzeichnis
1 Einleitung
1.1 Szenario
1.2 Zielsetzung und Anforderungen
1.3 Vorgehensweise
1.4 Gliederung der Arbeit
2 Grundlagen
2.1 Gängige Konzepte zur Umsetzung von Web-Anwendungen
2.2 Informationssicherheit im Umfeld des Internets
2.2.1 Notwendigkeit von Informationssicherheit
2.2.2 Rollenbasierte Zugriffskontrolle und das Bell-LaPadula-Modell
2.2.3 Versteckte Kanäle
2.2.4 Mehrfache Instanziierung
2.3 Kompartmentalisierung
2.3.1 Die Umsetzung der Kompartmentalisierung in der Anwendung Plusquam
2.4 Fazit
3 Kompartmentalisierung für das Bugtracking
3.1 Projektmanagement und Bugtracking
3.1.1 Benutzerverwaltung
3.1.2 Projektverwaltung
3.1.3 Tickets
3.2 yats - Yet Another Ticketing System
3.2.1 Entwurf und Abbildung der Datenbank
3.2.1.1 Klassenübergreifende Attribute
3.2.1.2 Die Klasse Project
3.2.1.3 Die Klasse Issue
3.2.1.4 Die Klasse User und ihr beigeordnete Klassen
3.2.1.5 Die Klasse Enumeration
3.2.1.6 Die Klasse Tracker
3.2.1.7 Die Klasse Role
3.2.2 Abbildung der Anwendungslogik
3.2.2.1 Allgemeines
3.2.2.2 Benutzerverwaltung
3.2.2.3 Projektverwaltung
3.2.2.4 Tickets
3.2.2.5 Umsetzung einer Suchfunktion
3.3 Integration der Kompartmentalisierung in den Bugtracker
3.3.1 Vorbereitung des yats-Entwurfes zur Integration
3.3.1.1 Bereitstellung eines Mechanismus’ zur Authentifizierung
3.3.1.2 Bereitstellung eines Modells für Benutzerrollen
3.3.1.3 Anpassung der Modelle und Controller
3.3.1.4 Das Berechtigungsmodell für yats
3.3.2 Bestimmung der Modelle zur Formung eines Kompartments
3.3.3 Umsetzung der Kompartmentalisierung in yats
3.3.4 Entwicklung einer Policy zur Synchronisierung
3.4 Fazit
4 Evaluation
4.1 Vorgehen bei den automatisierten Tests
4.2 Entwicklung der Testdaten
4.2.1 Testdaten für Benutzer
4.2.2 Testdaten für Projekte und deren Mitglieder
4.2.3 Testdaten für Tickets
4.3 Hilfsmethoden für alle Testfälle
4.4 Testfälle für die Kompartmentalisierung in den Modellen
4.5 Test der Anwendungslogik
4.6 Test des SynchronizationController
4.7 Test der Synchronisierung
4.8 Bewertung der Synchronisierungs-Funktion
4.8.1 Synchronisierung über Benutzer-Berechtigungen
4.8.2 Konfliktlösungsstrategien
4.9 Abgrenzung zu verwandten Arbeiten
4.10 Fazit
5 Ergebnis und Ausblick
A Installation von yats
A.1 Systemvoraussetzungen
A.2 Einrichten einer yats-Instanz
B Das Berechtigungsmodell für yats
Zielsetzung und thematische Schwerpunkte
Die vorliegende Arbeit untersucht die Integration von Kompartmentalisierungs-Techniken in Web-Anwendungen, um kollaboratives Arbeiten auf einem gemeinsamen Datenbestand zu ermöglichen, während gleichzeitig streng kontrollierte Zugriffsebenen gewahrt bleiben. Ziel ist es, ein bestehendes Sicherheitskonzept in ein Projektmanagement-System zu implementieren und dessen Praxistauglichkeit sowie Sicherheit zu evaluieren.
- Grundlagen der Informationssicherheit und Zugriffskontrolle im Internet
- Konzeption und Entwicklung eines beispielhaften Bugtracking-Systems (yats)
- Integration von Kompartmentalisierungs-Modulen in bestehende Web-Architekturen
- Entwicklung von Policies zur Synchronisierung zwischen abgetrennten Datenbereichen
- Evaluation der Sicherheit und Konfliktlösungsstrategien mittels automatisierter Tests
Auszug aus dem Buch
3.3.1.4 Das Berechtigungsmodell für yats
Die in Abschnitt 3.2.2 behandelten Anwendungsfälle und Anforderungen an die Controller identifizieren die folgenden Benutzergruppen bzw. -rollen:
• Administrator
• Benutzer
• Projektleiter
• Projektmitglied
• Verantwortlicher für Ticket
• nicht angemeldet / Gast
Dabei kommen der Rolle „Projektmitglied“ erst einmal keine gesonderten Berechtigungen zu. Diese ergeben sich eher indirekt aus der Tatsache, dass nur Projektmitglieder als verantwortliche Personen für ein Ticket eingetragen werden können.
Die fünf übrigen Benutzerrollen ergeben in Verbindung mit den oben behandelten Anwendungsfällen das in Tabelle 3.1 gezeigte Berechtigungsmodell. Dieses muss dann mittels der DSL für declarative_authorization formuliert und in die Anwendung eingebunden werden. Die Berechtigungen für die in der Tabelle aufgeführte Rolle des „Verantwortlichen für Ticket“ können dabei zusammen mit der Rolle des „Benutzers“ formuliert werden. Die Rolle „Projektleiter“ und ihre Berechtigungen würden dabei wie folgt übersetzt:
Zusammenfassung der Kapitel
1 Einleitung: Diese Einleitung führt in das Szenario der Datenkompartmentalisierung für Web-Anwendungen ein, definiert die Problemstellung der Zugriffskontrolle und beschreibt die Zielsetzung der Arbeit.
2 Grundlagen: Das Kapitel erläutert Konzepte wie das MVC-Modell, Informationssicherheit im Internet und das Konzept der Kompartmentalisierung sowie die mehrfache Instanziierung von Datensätzen.
3 Kompartmentalisierung für das Bugtracking: Hier erfolgt der Entwurf und die Implementierung des beispielhaften Bugtrackers "yats" sowie die schrittweise Integration des Kompartmentalisierungs-Moduls inklusive der Definition einer Policy.
4 Evaluation: Dieser Abschnitt bewertet das entwickelte Gesamtsystem anhand automatisierter Tests, prüft die Synchronisierungs-Funktionen und grenzt die Arbeit von anderen Sicherheitsansätzen ab.
5 Ergebnis und Ausblick: Das Fazit fasst die erreichten Ergebnisse zusammen und gibt Anregungen für zukünftige Entwicklungen, insbesondere hinsichtlich erweiterter Konfliktlösungsstrategien.
Schlüsselwörter
Kompartmentalisierung, Web-Anwendungen, Informationssicherheit, Projektmanagement, Bugtracking, yats, Zugriffskontrolle, Synchronisierung, Datensicherheit, Polyinstanziierung, Rollenbasierte Zugriffskontrolle, Softwareentwicklung, Ruby on Rails, declarative_authorization, Konfliktlösung.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit behandelt die Implementierung eines Sicherheitsmodells in Web-Anwendungen, das Daten in sogenannte Kompartments trennt, um kollaboratives Arbeiten bei gleichzeitiger Zugriffsbeschränkung zu ermöglichen.
Was sind die zentralen Themenfelder?
Die Schwerpunkte liegen auf der Informationssicherheit, der rollenbasierten Zugriffskontrolle, der Kompartmentalisierung von Datenbanken und der Synchronisierung von Datenreplikaten.
Was ist das primäre Ziel der Arbeit?
Das Hauptziel besteht darin aufzuzeigen, dass eine Web-Anwendung durch Kompartmentalisierungs-Techniken so erweitert werden kann, dass sie sicher in Umgebungen mit konkurrierenden Dienstleistern eingesetzt werden kann.
Welche wissenschaftliche Methode wird verwendet?
Es wird ein anwendungszentrierter Ansatz gewählt, bei dem zunächst ein Prototyp (yats) entwickelt, integriert und anschließend durch eine Vielzahl automatisierter Unit- und Functional-Tests evaluiert wird.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil widmet sich dem Entwurf der Datenbankmodelle und der Anwendungslogik, der Einbindung von Autorisierungs-Plugins sowie der technischen Realisierung des Kompartmentalisierungs-Moduls und der dazugehörigen Synchronisierungs-Policy.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die Arbeit ist maßgeblich durch Begriffe wie Kompartmentalisierung, Zugriffskontrolle, Synchronisierung, Datensicherheit und Software-Architektur geprägt.
Warum wurde das Projekt "yats" von Grund auf neu entwickelt?
Um den Anpassungsaufwand bei der Integration des Kompartmentalisierungs-Moduls gering zu halten, wurde eine schlanke Anwendung gewählt, statt ein hochkomplexes bestehendes System wie Redmine anzupassen.
Welche Rolle spielt die "Policy" bei der Synchronisierung?
Die Policy legt verbindlich fest, wie bei Konflikten während der Synchronisierung zwischen Kompartments zu verfahren ist, etwa ob lokale Daten überschrieben werden oder eine manuelle Konfliktlösung notwendig ist.
- Quote paper
- Torsten Kohlmann (Author), 2010, Kompartmentalisierung in Web-Anwendungen am Beispiel eines Projektmanagement-Systems, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/179636