1. Grundprobleme von Datenschutz und Datensicherheit
Sicherheitsprobleme in Standard-Software
(COTS = Commercial Off-the-Shelf)
Beispiele
- Datenmüll in der Textverarbeitung
- Ausführbare Inhalte in Dokumenten:
- Makros und Makroviren,
- ASCII- und Postscript-Bomben
- auch PDF ist gefährdet,
- Aktive Inhalte im WWW.
Versand von gelöschten Passagen, Müll und Macro-Viren per Diskette,
ftp oder Multimedia-Mail (MIME), Verbreitung über das WWW.<
- Immer wieder schwacher Passwortschutz ...
- ... oder vermeintlicher Passwortschutz, siehe
»Cut and
paste defeats Excel's password protection«.
- Schwache Verschlüsselungsverfahren,
z. B. Lotus Notes mit Hinterlegung von Schlüsselbits (CliNet, auch noch
nach dem Fall des US-Exportverbots).
- Netmeeting erzwingt Öffnung des Firewalls.
- T-Online und AOL umgehen XP-Firewall.
- Sicherheitslücken und ungenügende Voreinstellung in
Betriebssystemen (Windows 95/98, NT, Unix).
Die meisten Computernutzer und viele Administratoren sind Laien.
Sie ändern niemals die Voreinstellungen.
- Die UPnP-Schnittstelle (Universal Plug and Play)
in Windows XP, die auch einen Netzdienst anbietet
und ein Riesensicherheitsloch aufmachte
[Heise,
21.12.2001]
[CERT Advisory
CA-2001-37]. Die als erste Notmaßnahme empfohlene Deaktivierung
des Dienstes setzte den Sound-Chip außer Gefecht. Was hat ein
Internetdienst mit lokalen Geräten zu tun?
- Sicherheitsprobleme mit World-Wide-Web-Software
(ausführbare Inhalte, Browser, Server).
- Immer wieder Sicherheitslücken, selbst in »Sicherheitsprodukten«
(Antivirenprogramme, Firewalls, Verschlüsselungssoftware, ...).
- Datenschutzmängel bei SAP
[siehe 14. Tätigkeitsbericht
des Hamburgischen Datenschutzbeauftragten].
Beware of mechanisms that offer automatic upgrades, no matter
how convenient they may seem.
[P. G. Neumann, Risks-21.83]
Office-Dokumente und Datenaustausch
- Makro-Viren.
- Mangelhafte Trennung zwischen Programm und Daten.
- Versteckte Informationen in Dokumenten,
- lokale Konfiguration,
- frühere Bearbeiter.
- Vieles andere je nach Version und Einstellungen.
- Dokumente zum Datenaustausch nicht geeignet.
[»Peinliches
Irak-Dossier im Word-Format«, Heise, 04.07.2003]
- MS-Utility zum Löschen (als Makro (!), nur ab XP).
- Empfehlung für den Datenaustausch:
- Wenn möglich: reiner Text.
- Wenn formatiert: RTF aus WordPad oder PDF
[Erzeugung: generischer PS-Drucker + ghostscript].
- E-Mail:
- Wenn möglich: reiner Text.
- Möglichst keine Anlagen.
- HTML-Mail vermeiden.
Verschlüsselung in Standardsoftware?
Zitat aus dem Handbuch des Verschlüsselungsprogramms PGP:
»Es gibt eine Firma namens AccessData, die für $185 ein Programmpaket
vertreibt, das die eingebauten Verschlüsselungsverfahren von WordPerfect,
Lotus 1-2-3, MS Excel, Symphony, Quattro Pro, Paradox und MS Word knackt.
- Der Autor sagte, man brauche nur den Bruchteil einer Sekunde zum Knacken,
aber er habe einige Verzögerungsschleifen eingebaut, damit es für
den Kunden nicht zu leicht aussieht.«
Das Zitat ist zwar schon etwas älter, die Situation aber unverändert.
Siehe auch http://www.crak.com.
Gründe für die Mängel
- Konzeptionelle Schwächen.
- Offenheit der Systeme und der Netze,
- nicht vorhandene oder naive Sicherheitsmodelle, fehlende Risikoanalyse,
- naives Missverständnis des grundlegenden Unterschieds
zwischen einer funktionalen Spezifikation und einer
Sicherheitsspezifikation,
- Funktion: »Programming a computer« - es läuft.
- Zuverlässigkeit: »Programming Murphy's computer« (Schneier) -
es läuft auch bei Fehlersituationen.
- Verlässlichkeit: »Programming Satan's computer« (Anderson) -
es läuft auch in feindlicher Umgebung.
Anwendungen müssen nicht nur laufen, sie müssen auch in
Fehlersituationen und in feindlicher Umgebung zuverlässig laufen.
- Schlechtes Prinzip: Reparieren statt Vermeiden.
Werden von 100 Löchern im Eimer 99 zugeklebt, läuft das Wasser
immer noch heraus.
- Achtung: Ein zertifiziertes System muss nach jeder
Änderung an einer Komponente neu abgenommen werden!
- - statt dessen »penetrate and patch« (Entfernung von Nadeln
aus dem Heuhaufen statt Vermeidung),
- unzureichende Abgrenzung von Sicherheitsbereichen,
z. B. Manipulation des Betriebssystem-Kerns bei Treiber-Updates
in MS-Windows und Linux,
- unzureichende Unterscheidung zwischen Lese- und Ausführungsrechten,
- unzureichende Unterscheidung zwischen Daten und Funktionen,
- keine sichere Rückfallposition -
Sicherheit braucht Redundanz! -
- kryptographischer Analphabetismus,
- keine (oder nur eine karikaturenhafte) Authentisierung von Software.
Trügerische Sicherheit durch Vernebelungstaktik (`Security by Obscurity') -
- Verschweigen von Sicherheitsproblemen
- ... und (symbolisches) Erschießen des Überbringers der schlechten
Nachricht,
- typisches Beispiel: Empfehlung, die Administratorkennung umzubenennen,
- ungenügender Schutz für Passwörter,
- schwache Verschlüsselungsalgorithmen.
Ungeeignetes Benutzermodell (oder gar keins?) -
- Aushebeln der Benutzerkontrolle,
Entmündigung des Benutzers an Stellen, wo er leicht selbst
entscheiden könnte,
[Smart Tags, Groß- und Kleinschreibung von Dateinamen, Autokorrektur,
...].
- Überforderung des Benutzers mit Entscheidungen, deren Tragweite
er mit den angebotenen Informationen er nicht beherrschen kann
[Beispiel],
Es ist schon eine Sicherheitslücke, wenn der Nutzer die Auswirkung
seiner Einstellungen nicht versteht.
- kein Gefahrenbewusstsein für unkontrollierte Programmausführung,
Beispiel: Virenscanner-Update über ActiveX
[Risks-21.86];
siehe auch
Crypto-Gram
Januar 2002 (ganz am Ende).
- verdeckte Informationspreisgabe.
Mangelhafte Softwareentwicklung -
- fehlende kommerzielle Motivation, Unlust, z. T. auch Verunsicherung,
der Softwarefirmen in Bezug auf Sicherheitstechnik,
- schlampige Programmierung,
- ... und immer wieder echte Programmierfehler; 85% der 1996 gefundenen
Sicherheitslücken beruhen auf drei Programmierfehlern:
- fehlende Eingabe-Überfrüfung,
- Ermöglichung von Puffer-Überläufen,
- fehlende Typ-Überprüfung,
siehe hier,
- unsaubere Speicherverwaltung (z. B. kein Löschen bei
Speicherfreigabe, kein Abfangen von Überläufen),
- Blähware (`bloatware') - aufgeblähte Programme mit megabyteweise
totem Code, Dokumente mit umfangreichem Datenmüll,
[siehe auch
Risks-20.35,
36,
37,
38]
- Bei fast allen gegenwärtigen UNIX-Varianten: Betriebssystem-Kern
aufgebläht - im Gegensatz zur Philosophie des »kleinen,
verlässlichen Kerns«.
- Bei Windows-NT/2000/XP noch viel aufgeblähter: Sogar Druckertreiber
im Kern - Neu heruntergeladener Treiber kann Trojanisches Pferd
im Kern installieren!
- Aktuelles Beispiel: Aufhängen des Login-Panels bei XP,
weil offenbar ein Gerät nicht gefunden wurde.
- Kryptographischer Analphabetismus bei Entwicklern.
- Mangelhafte Qualitätssicherung,
- Missbrauch der Benutzer als Beta-Tester, Reifen der Software beim Kunden
(»Bananenprinzip«);
typisch: Windows XP sendet nach einem Absturz einen Speicherdump
an Microsoft.
- Marktdruck, Erster zu sein (`Software Engineering meets Internet Time'),
- Marktdruck, die meisten Funktionen anzubieten (»Featuritis«).
- Das Schlechtere siegt – »Worse is better«.
- Beispiele: C vs. Pascal, MS-Windows vs. OS/2,
C++ vs. Objective-C, MS-Windows vs. NeXTstep,
Intel vs. Motorola, ...
- Grund: Es ist schneller am Markt.
- Das sorgfältige, solide, sichere Design braucht länger,
ist weniger flexibel und kostet mehr.
- Kollektiver Irrtum ist leichter zu tragen (S. J. Lec).
- Lieber die gleichen Fehler machen wie die Konkurrenz –
originelle Fehler können den Job kosten!
»Testing and verification is a very time consuming process and from a
marketing standpoint it is far better to get people using your product than
to spend time testing it.« [Bill Stackpole, Firewalls-List, 22 Jun 1999]
Lizenzvereinbarungen, die die volle Verantwortung für Produktfehler dem
Kunden aufbürden.
Hybris (Größenwahn).
Siehe auch die Artikel von Peter Gutmann:
und von Marcus Ranum:
Sicherheit ist schwer, auch für Experten.
- Techniker tendieren dazu, Fehler als Einzelfälle zu betrachten
[Rössing].
- Es gibt tausend Möglichkeiten, es »falsch« zu machen, aber oft nur eine,
es »richtig« zu machen. (Fragilität der Sicherheit)
- Nur eine Analyse des Gesamtsystems bis in jedes Detail, möglichst
durch mehrere unabhängige Experten, kann »ausreichende« Verlässlichkeit
bescheinigen.
- Denken aus der Sicht des Gegners können wenige.
Sicherheitsfachleute brauchen ein hohes Maß an professioneller
Paranoia!
Die Grundthese dieser Vorlesung
Verlässlichkeit, insbesondere informationstechnische Sicherheit,
lässt sich erreichen, durch
- Professionalierung in IT-Sicherheit,
- geeignete organisatorische Gestaltung der Umgebungsbedingungen der IT,
- »ordnungsgemäße Datenverarbeitung«, SOPs, Good Practice,
- sorgfältige Planung und Konfiguration,
- insbesondere ein explizites Sicherheitsmodell,
- sorgfältiges Design von Anwendungen und Verwendung starker Mechanismen
auf allen Ebenen.
Überkomplexe Systeme sind niemals auch nur annähernd sicher.
- Komplexität ist der Hauptfeind der Sicherheit.
- Komplexe Systeme sind unsicher, teuer, nicht beherrschbar.
[Technokratische Größenwahnprojekte, »Hype Tech«, Beispiel: Toll Collect, vgl.
Risks-23.37
und
Telepolis]
Sichere (und erfolgreiche) Systeme sind klein und einfach.
- KISS-Prinzip: »Keep It Small and Simple.«
Vorlesung Datenschutz und Datensicherheit.
Autoren: Klaus Pommerening, Marita Sergl, 31. März 1999;
letzte Änderung: 1. Mai 2007.
E-Mail an
Pommerening »AT« imbe.uni-mainz.de.