Einführungsvortrag zum Workshop "Computer
Scurity" an der FU Berlin
von Martin Frech
Überarbeitete
Version. Stand: 22. März 1997
Mit dem Begriff Computer-Sicherheit assoziieren viele sicherlich das Phänomen des Hackens. Im allgemeinen Sprachgebrauch bezeichnet hacken heutzutage das Tun von Personen, die Einbrüche in fremde Rechner über Datennetze verüben; entweder um zu zeigen, daß ein System nicht sicher ist (ein eher sportlicher Aspekt) oder in der kriminellen Absicht, Daten zu manipulieren, zu zerstören oder auszuspionieren.
Abgesehen davon, daß diese Verwendung des vielschichtigen Begriffs "Hacker" zu kurz greift, da sie nur eine Facette desselben betrachtet, ist der Schutz vor solchen Angriffen nur ein Teilaspekt der Computersicherheit - wenn auch der medienwirksamste. (Mehr zum Bedeutungswandel des Hacker-Begriffs findet sich in meinem Essay "Der Bedeutungswandel des Begriffs Hacker seit seiner Entstehung zu Beginn der 60er-Jahre" (pdf-File).)
Diese Einführung wird stichwortartig die gesamte Bandbreite des Themas
Computer-Sicherheit aufzeigen.
Einige Dinge die hier angesprochen werden,
sind für unsere alltägliche Praxis jedoch eher unwichtig - z.B. weil
wir keine militärischen Geheimnisse schützen müssen. Darum
werden sich auch die restlichen Veranstaltungen dieses Workshops wieder mehr mit
alltagspraktischen Dingen beschäftigen; also im wesentlichen mit den
Techniken, wie wir unsere Privatsphäre auch im Netz schützen können
(Stichwort e-Mail-Verschlüsselung), bzw. wie man Rechner, für die man
verantwortlich ist, gegen Einbrüche aus dem Netz schützen kann.
Diese selbstgewählte Beschränkungen des Workshops ist schon aus
dem Grund sinnvoll, weil wir in unseren jetzigen Zusammenhängen wohl kaum
die Möglichkeit haben, mit formal "sicheren" Computern und
Betriebssystemen zu arbeiten.
Unsere PCs und Workstations mit den
verschiedenen Betriebssystemen (seien es Unixe, MacOS oder Windows, vielleicht
abgesehen von Windows NT), sind alle unsicher; zumindest in dem Sinne wie
Sicherheit in diversen Standard-Papieren definiert wird.
Und trotzdem ist es sinnvoll, auch in unseren Zusammenhängen von Sicherheit zu sprechen und "sichere" Systeme anzustreben; eben in dem Sinne daß unser Web-Server so funktioniert wie wir das wollen oder daß unsere Mails nicht von irgendjemandem gelesen werden. Dagegen daß man seine Mails selbst versehentlich an Dritte schickt - was interessanterweise durchaus vorkommt, können aber auch unsere Sicherheitsmaßnahmen nichts ausrichten.
Das Beispiel zeigt, daß eine große Gefahr für Daten in vermeintlich sicheren Computersystemen immer von den Menschen ausgeht, die mit den Systemen arbeiten.
Nicht nur - aber auch - aus diesem Grund sollte man den Begriff Sicherheit nicht allzu wörtlich nehmen: es gibt kein sicheres Computersystem. Man sollte "Sicherheit" daher besser im Sinne von "Vertraulichkeit" verstehen ("trusted systems"): Ich kann dem System vertrauen, daß es mit einer bestimmten Wahrscheinlichkeit eine klar definierte Sicherheit bietet.
Wie auch immer - das zeigt, daß der Begriff "Computer-Sicherheit" sehr vielschichtig ist; deshalb wird er im folgenden in drei Bereiche einteilt:
Jeden dieser drei Bereiche kann man wiederum unter drei Aspekten betrachten:
Heimlichkeit / Vertraulichkeit (secrecy / confidentiality)
In einem auf diese Weise "sicheren" System bekommt niemand Daten, für die er nicht autorisiert ist.
Die Unterscheidung zwischen Heimlichkeit und Vertraulichkeit existiert, da man einen Kompromiß finden muß zwischen Kosten, Benutzerfeundlichkeit und Zweck des Systems. Kosten entstehen zum einen beim Aufbau eines entsprechenden Systems, zum anderen im laufenden Betrieb durch die Schulungen der Mitarbeiter und die - in der Logik der Betreiber solcher Systeme notwendige - Kontrolle der Mitarbeiter.
Hochsicherheitssysteme sind "heimliche" Systeme, betrieben von Regierungen, Geheimdiensten, dem Militär und Teilbereichen der Wirtschaft. Der Zugang zu diesen Systemen ist üblicherweise erst nach einer Sicherheitsüberprüfung möglich. Es gibt verschiedene Sicherheitsstufen; die sog. "clearences". Man kennt das aus den Spionageromanen. Die Rechner und die Softwares in solchen Umgebungen müssen bestimmten formalen Kriterien entsprechen (orange book) und können auch nicht beliebig eingekauft werden.
Vertraulichkeit bezieht sich eher auf den Schutz privater Informationen (Datenschutz) oder auf den Schutz sensitiver Unternehmensdaten.
Wie können Heimlichkeit und Vertraulichkeit erreicht werden?
Die Entscheidung, welche Verfahren man einsetzt, welchen Aufwand man also betreibt, ist letztlich davon abhängig, wie man seinen "Gegner" einschätzt.
Genauigkeit / Integrität / Echtheit (accuracy / integrity / authenticity)
Ein in dieser Beziehung "sicheres" Computersystem muß die Integrität der darin gespeicherten Daten erhalten - sie also vor ungewollter Veränderung schützen; sei sie böswillig oder zufällig bzw. unabsichtlich.
Unabsichtliche Veränderung kann z.B. durch fehlerhafte Software verursacht werden (etwa wenn ein Buchhaltungsprogramm falsch rechnet); zufällige Veränderungen könnten durch Einstrahlungen während einer Datenübertragung passieren.
Gegen fehlerhafte Software kann man sich schlecht im nachhinein schützen, dagegen müssen schon die Programmierer etwas tun (Qualitätskontrolle). Datenübertragungen können gesichert werden, z.B. durch Schirmung von Leitungen, die Berechnung von Prüfsummen etc.
Echtheit von Daten meint: es herrscht Gewißheit über die Herkunft der Daten. Man kann also Feststellen, wer sie eingegeben oder gesendet hat und kann aufzeichnen, wann sie gesendet und empfangen wurden.
Verfügbarkeit (availability)
Ein in diesem Sinne "sicheres" Computersystem muß seine Daten für den Nutzer verfügbar halten; Hard- und Software arbeiten fehlerfrei. Wenn nicht, muß sichergestellt sein, daß das System nach einem Fehler oder Absturz die Daten oder die Devices schnell und komplett wieder verfügbar machen kann.
Das Gegenteil von Verfügbarkeit ist die Verweigerung ("denial of service"). Das kann manchmal so störend sein wie verlorene Daten. Z.B. hat der berühmte Internet-Wurm keine Daten zerstört. Er hat nur die betroffenen Rechner so sehr beschäftigt, daß sie für die Anwender lahmgelegt waren.
Verfügbarkeit ist natürlich eine Anforderung, die jeder Computerbenutzer stellt. Daher unterscheidet man nach dem Grad der Verfügbarkeit: Wie fehlertolerant ist das System? Was passiert nach einem Stromausfall? Sind die Backups auf Bändern gesichert oder auf schnelleren Medien? Kann man bei einem Totalausfall des Systems den Betrieb nahtlos mit einem Ausweichrechenzentrum fortsetzen? usw.
Was kann man für sichere Systeme tun?
Natürlich wäre es wünschenswert, wenn bei der Planung eines entsprechenden Systems alle drei Aspekte (Vertraulichkeit, Integrität und Verfügbarkeit) gleichermaßen berücksichtigt werden könnten. Doch in der Praxis wird man je nach Anwendung abwägen und nicht alle Aspekte gleich hoch bewerten.
Bei der Analyse eines Systems sind zwei Blickrichtungen sinnvoll, einmal der Blick auf das System um festzustellen, wo es prinzipiell verwundbar ist, und zum anderen der Blick nach außen, um realistische Gefahren abzuschätzen. Nach der Analyse kann man dann entsprechende Gegenmaßnahmen (countermeassures) ergreifen.
Wo und wie ist das System prinzipiell verwundbar ("vulnerabilities")?
Welche realistischen Gefahren dem System drohen ("threats")?
Kriterien zur Entscheidung, welche Aspekte man wie hoch bewertet:
1) Grundsätzlich gilt natürlich, daß der Computer verfügbar sein soll.
Doch wie schon angesprochen muß man nicht zuletzt aus wirtschaftlichen Gründen abwägen, welcher Grad an Verfügbarkeit realisiert wird.
Zur Illustration hier ein Interview mit einem selbständigen Buchhersteller:
"Ich stelle mit meinen Computern u.a. Bücher her. Natürlich
ist es wichtig, daß das System läuft; falls einmal der Strom ausfällt
- was in den letzten drei Jahren erst einmal vorkam - ist das für mich
nicht so schlimm. Ich brauche also keine USV. Mein Risiko dabei ist, daß
die Platte crasht.
Also werde ich regelmäßig Backups anfertigen;
damit ich im Ernstfall nur die Arbeit von ein paar Stunden wiederholen muß.
Sehr
wichtig in meinem Fall ist jedoch, daß die Daten auch nach mehreren Jahren
noch vollständig vorhanden sind; wenn z.B. eine Neuauflage oder ein
Nachdruck eines Buches gemacht wird, will ich nicht das ganze Buch nochmal
machen, sondern nur die Änderungen in die vorhandenen Daten einbringen. Da
ich mich nicht darauf verlassen kann, daß die in vier Jahren vorhandene
Version von z.B. Quark XPress die Daten noch korrekt verarbeitet, werde ich das
Programm dazu archivieren.
Meine Daten sind jedoch nicht vertraulich; also
muß ich gar nicht überlegen, sie zu verschlüsseln o.ä."
In diesem Beispiel steht also eine gute Backup-Strategie im Vordergrund; sinnvollerweise auf Medien, die auch nach einer (für diese Branche) langen Zeit noch gelesen werden können; z.B. nach ISO beschriebene MODs statt magnetischer und unzuverlässiger SyQuest-Cartridges.
Für einen Netzwerkserver in einem Unternehmen sollte dagegen eine USV jedoch zur Standardausstattung gehören.
Grundsätzlich sollte man also die Verfügbarkeit soweit garantieren, daß das Funktionieren der Firma möglichst garantiert ist. Dazu kann es dann allerdings in bestimmten Fällen auch gehören, dafür zu sorgen, daß Industriespionage zumindest erschwert wird. Es scheint ja inzwischen so zu sein, daß durch die politische Sitiuation arbeitslos gewordene Geheimdienste zum Vorteil der eigenen Wirtschaft arbeiten.
2) Es sind die Anforderungen durch Gesetze zu erfüllen
Wesentlich ist hier das Datenschutzgesetz. Das ist u.a. wichtig für Arztpraxen, Rechtsanwaltskanzleien oder Behörden.
3) Anforderungen eines Auftraggebers
Eine Firma, die beispielsweise Militäraufträge bearbeitet, muß zusätzlich zu ihren eigegnen Anforderungen bestimmte Sicherheitsvorkehrungen treffen, die ihr vorgeschrieben werden.
Nach der Analyse kann man entsprechende Maßnahmen ("countermeasures") ergreifen.
Einige sind oben schon aufgeführt: regelmäßige Backups, Ausweichrechenzentren, USVs, RAID-Systeme, etc.
Wenn Anforderungen an Geheimhaltung gestellt werden, reicht es nicht mehr,
nur einen Rechner sicher zu machen oder Paßwörter zu vergeben; in
diesen Fällen wird eine "Sicherheitspolitik" verfolgt, die das
Gesamtsystem betrifft:
Hard- und Software muß den Anforderungen des "orange book" genügen, Mitarbeiter müssen
sicherheitsüberprüft sein, Informationen werden klassifiziert, neben
normalen Schlössern werden ausgefeilte Zugangskontrollsysteme verwendet ("biometric
devices" (Fingerabdrücke, Stimmen, Retina-Strukturen erkennen),
Smart-Cards, etc).
An solchen Systemen zu arbeiten, macht dann bestimmt keinen Spaß mehr.
Diese Ausführungen folgten in weiten Teilen dem Buch (das ist
gleichzeitig eine Leseempfehlung):
Russel, Deborah; Gangemi, G. T.: Computer
Security Basics. Sebastopol, CA: O'Reilly, 1992.