1. Grundprobleme von Datenschutz und Datensicherheit
1.6 Offene Systeme und Verlässlichkeit
Informationstechnik heute: Offene und verteilte Systeme
- Alles ist offen (mehr oder weniger):
- Hardware (PCs - auch als Server, Workstations)
- Betriebssysteme (UNIX, MS-Windows, MacOS)
- Netze (lokale und globale Netze)
- Die Komponenten einer Anwendung laufen nicht mehr nur auf einem Rechner –
- z. B. Client-Server-Anwendungen,
- Web-basierte Anwendungen,
- verteilte Datenbanken.
- Betriebssysteme und Anwendungen kommunizieren (plattformübergreifend)
miteinander mit verschiedenen Kommunikationsprotokollen und auf
verschiedenen Ebenen, z. B.
- TCP/IP
- FTP, HTTP, SMTP, ...
- CORBA, Java RMI, DCOM, SOAP, ...
- Grid-Compting
- Programme sind nicht mehr nur stationär auf einem Rechner installiert,
- sondern können über das Netz geladen werden (Applets, aktive
Komponenten)
- oder verteilen sich eigenständig (mobile Agenten).
- Plattform-unabhängige Softwarekonzepte –
- Java- und HTML-basierte Anwendungen.
- Systemnutzer können sich z. T. von einem beliebigen anderen
Rechner aus (»remote«) am System anmelden.
- Webserver,
- Terminalserver
- Verschiedene Rechner (unter verschiedenen Betriebssystemen) teilen sich
ein Filesystem oder erlauben transparenten Zugriff auf das FS anderer
Rechner,
- z. B. mit Hilfe von Samba, NFS, SAN (= Storage Area Networks)
-basierten Architekturen, Internet-Filesystem.
- Datenhaltung oder Backup werden zu Internet-Dienstleistern
ausgelagert.
»Das Netz ist der Rechner.«
Verschiedene Aspekte der Offenheit
Kommunikations- und Integrationsaspekt:
- Schnittstellen, Protokolle,
- Dienste, Remote-Zugriff,
- Kompatibilität, Integrierbarkeit, Austauschbarkeit von Komponenten
- Investitionsschutz!
Öffentlichkeitsaspekt:
- Öffentlichkeit der Architekturen, Mechanismen und Schnittstellen,
- Einhaltung von Standards, Kompatibilität.
- »Die Systeme sind (prinzipiell) bis zum letzten Bit bekannt.«
Sicherheitsaspekt:
- Manipulierbarkeit, Angreifbarkeit,
- Ungeschützte Datenspeicherung und -übertragung.
Offene und geschlossene Systeme
[keine exakte Definition]
- Auf jeder Ebene wird wirksam und zuverlässig verhindert,
dass Unbefugte am System manipulieren können.
- Es ist alles verboten und auch unmöglich,
was nicht ausdrücklich erlaubt ist.
- Es herrscht das Prinzip der minimalen Rechte
(`need to know').
Offenes System:
- Manipulationen werden nicht wirksam verhindert.
- Es ist alles erlaubt, was nicht ausdrücklich verboten ist,
- ... und möglich ist meistens einiges mehr.
Der kriminellen Energie werden keine nennenswerten Hindernisse in den
Weg gestellt.
Die Unterscheidung »offen« vs. »geschlossen« entspricht der Unterscheidung
- »blacklist« - hier ist explizit und abschließend aufgezählt,
was verboten ist,
- »whitelist« - hier ist explizit und abschließend aufgezählt,
was erlaubt ist.
Verteilte Systeme
Programme und Daten über mehrere Rechner verteilt.
Beispiele:
- Intranet,
- World Wide Web, Web-basierte Anwendungen und Dienste,
- Grid Computing,
- CORBA, SOAP, Microsofts ».NET«,
- Verteilte Datenbanken,
- Groupware,
- Mobile Agenten,
- elektronische Patientenakte im Krankenhaus-Informationssystem oder
Ärztenetz, elektronische Gesundheitsakte.
Probleme:
- Datenübertragung per Netz.
- Echtheit (Authentizität) der Kommunikationspartner.
- Mangelnde technische Absicherung des »Besitzes«:
- Wo stehen die Daten physikalisch?
- Je weiter die Informationen verteilt sind,
desto schwieriger wird ihr Schutz.
- Komplizierte Vertrauensbeziehungen
(Prinzip des schwächsten Gliedes).
- Beispiel: Eine VPN-Anbindung sichert die Übertragung, holt aber
die Sicherheitsprobleme des Partners ins eigene Netz.
... und noch mehr Probleme:
Mit der Verteilung der Informationsverarbeitung auf mehrere Systeme wird
auch die Sicherheits-Verantwortlichkeit verteilt und schwerer zu
überblicken.
Der Versuch, die Performanz des Gesamtsystems durch engere Kopplung der
Teilsysteme zu verbessern, führt unweigerlich zu einer Erhöhung der
Komplexität (z. B. mehr direkte Punkt-zu-Punkt-Beziehungen aus
Performanzgründen) und damit zu geringerer Verlässlichkeit.
Die Fehlerbehandlung in einem verteilten System ist sehr komplex.
Verteilte Systeme sind sehr anfällig für DoS =
»Denial-of-Service«-Attacken (Angriffe auf die Verfügbarkeit).
Leslie Lamport: A distributed system is one in which the failure of a
computer you didn't even know existed can render your own computer
unusable.
Verteilte Systeme sind sehr anfällig für die Verbreitung von
Schadprogrammen
(»Würmern«,
»Viren«,
»Trojanischen
Pferden«).
Die acht Irrtümer über verteilte Systeme
[Peter Deutsch,
Risks-23.06]
- Das Netz ist zuverlässig.
- Die Antwortzeit ist null.
- Die Bandbreite ist unendlich groß.
- Das Netz ist sicher.
- Die Topologie ändert sich nie.
- Es gibt einen einzigen Administrator.
- Die Übertragung kostet nichts.
- Das Netz ist homogen.
Siehe auch:
Sicherheitsanforderungen in offenen und verteilten Systemen
- Verschlüsselte Datenspeicherung.
- Verschlüsselte Kommunikation (Datenübertragung).
- Überprüfbare Zugriffskontrolle:
- systemweit definierte Zugriffsmatrix, Zugriffsregeln
- dezentrale Rollenzuweisung.
- Verbindlichkeit und Integrität von
- Informationserzeugung und -speicherung,
- Leistungsanforderungen an Server und Rückmeldungen,
- Kommunikationsbeziehungen.
- Abhör- und fälschungssichere wechselseitige Authentisierung von
Kommunikationspartnern (Menschen und Maschinen).
- Kontrolle der internen und externen Netzverbindungen.
- Minimierung der Vertrauensannahmen auf der Basis eines expliziten
Sicherheitsmodells.
- Sicherheitsarchitektur (z. B. auf CORBA-Basis):
- Verteilte Objekte und Dienste, die
- mit Objekten kommunizieren, die Sicherheitsdienste anbieten
- auf der Basis kryptographischer Protokolle
- Ein Server-Objekt (z. B. Datenbank) erhält von einem Client-Objekt
eine Anfrage nach einem Datensatz.
- Das Client-Objekt weist sich mit Hilfe eines kryptographischen »Credentials«
aus.
- Das Server-Objekt prüft, ob das »Credential« von einer vertrauenswürdigen
Instanz ausgestellt worden ist (TTP = Trusted Third Party Service)
und ob der Client authentisch ist.
- Das Server-Objekt fragt einen Berechtigungs-Dienst ab, ob der Client
aufgrund von Zugriffsmatrix und Rollenzuweisung
die nötigen Rechte hat (z. B. diensthabender Arzt)
- ... holt gegebenenfalls die angefragten Daten aus seinem verschlüsselten
Datenspeicher
- ... und gibt sie über eine verschlüsselte Kommunikationsverbindung heraus.
Zusammenfassung
Daten- und Informationsverarbeitung sowie Kommunikation finden heute
überwiegend in offenen, z. T. verteilten Systemen statt.
Diese Systeme sind ohne
weitere Maßnahmen zunächst völlig unsicher.
Verarbeitung und Speicherung von Daten in solchen offenen Systemen
ist mit Vorstellungen von
Verlässlichkeit nicht zu vereinbaren.
Eine wesentliche Grundlage für die Lösung dieses
Problems liegt in der Kryptologie.
Vorlesung Datenschutz und Datensicherheit.
Autoren: Klaus Pommerening, Marita Sergl, 31. März 1999;
letzte Änderung: 24. April 2007.
E-Mail an Pommerening »AT« imbei.uni-mainz.de.