Institut für Informatik III
Universität Bonn
Proseminar Grundlagen der Computersicherheit
Thema: Grundbegriffe der Computersicherheit
Leitung: Adrian Spalka
Referent: Martin Löhnertz
Termin: 24.6.1996
1. Inhaltsverzeichnis
1. Inhaltsverzeichnis
2. Überblick
3. Allgemeine Begriffe
3.1. Definition des Sicherheitsbegriffes
3.2. Verschiedene Stufen der Spezifikation
4. Ziele der Sicherheitsbestrebungen
4.1. Geheimhaltung
4.2. Integrität
4.3. Nachweisbarkeit
4.4. Verfügbarkeit
4.5. Ergonomie
5. Risikoanalyse
5.1. Bedrohungsformen und Sicherheitslücken
5.1.1. Angriffsziele und Angriffsvarianten
5.1.2. Schwachstellen
5.2. Klassifizierung von Systemtypen
5.3. Analyse des Gesamtrisikos
6. Methoden des Schutzes ("countermeasures")
6.1. Das Umfeld
6.1.1. Andere Bestandteile der Policen
6.1.1.1. Aufteilung der Verantwortlichkeiten
6.1.1.2. Ausbildung der Benutzer
6.1.2. Physikalischer Schutz
6.1.2.1. Schutz des Rechners
6.1.2.2. Datentransport
6.2. Modelle und Hilfsmittel
6.2.1. Zugriffskontrolle
6.2.2. Das Flußmodell
6.2.3. Authentifizierung
6.2.3.1. Identifikation von Personen
6.2.3.2. Identifikation anderer Computer
6.2.4. Autorisierung
6.2.4.1. Subjekte und Objekte
6.2.4.2. Kontrolle der Autorisierung
6.2.5. Präventive Beobachtung
6.2.5.1. Protokollierung
6.2.5.2. Aktive Beobachtung
6.2.5.3. Konsistenzprüfung
6.2.5.4. Probleme mit dem Datenschutz
6.2.6. Kontrolle der Ressourcen
6.2.7. Kryptographie
6.3. Folgenbegrenzung
6.3.1. Sicherheitskopien
6.3.2. Nachweismethoden
6.4. Schwachstellen der beschriebenen Methoden
6.4.1. Schutz der Sicherheitskopien und Mitschnitte
6.4.2. Notfallmechanismen
7. Anforderungen an die Systementwicklung
7.1. Bedrohungen durch fehlerhafte oder manipulierte Programme
7.1.1. Logische Bomben
7.1.2. Falltüren
7.1.3. Tunneln
7.2. Verifikation
7.2.1. Testen 16
7.2.2. Herkömmliche Verifikation
7.2.3. Beweisen
7.2.4. Der "sichere Kern"
7.3. Schutz vor nachträglicher Veränderung
7.3.1. Troianische Pferde
7.3.2. Würmer
7.3.3. Viren
7.3.4 Schutzmaßnahmen
8. Ausblick
9.Literaturverzeichnis
2. Überblick
Der vorliegende Beitrag versteht sich als Glossar und soll in erster Linie
dazu dienen, innerhalb des Proseminars eine einheitliche Terminologie zu
schaffen, die das beständige Neudefinieren von Begriffen überflüssig
machen könnte. Kapitel 3 führt zunächst einige grundlegende Begriffe ein,
die Basis für das Verständnis des folgenden sind. Primär geht es dabei um
den Sicherheitsbegriff, den Begriff der Sicherheitspolitik und die
verschiedenen Stufen auf dem Weg zur Rechnerimplementation, für die im
Rahmen der übrigen Begriffe kein sinnvoller Platz blieb.
Da sich die Sicherheitsbestrebungen nach dem Willen der Anwender zu
richten haben, folgt als nächstes in Kapitel 4 eine eingehende Diskussion
der zu erreichenden Ziele. Danach kommt eine Übersicht über die Risiken
und möglichen Angriffsmethoden, die ob deren Anzahl natürlich nur
exemplarisch sein kann, und in erster Linie darauf abzielt, eine grobe
Vorstellung von den Gegebenheiten zu schaffen.
In Kapitel 5 wird zunächst kurz auf das Umfeld eingegangen, da eine
Absicherung des Computersystems ohne Sicherung der Hardware und das
Einhalten bestimmter organisationsinterner Prozeduren illusorisch ist.
Danach wird auf die Modelle und Hilfsmittel eingegangen, die sich im Laufe
der Zeit als nützlich herausgestellt haben und die heute zumeist
verwendeten sind.
All dies muß dann seinen Niederschlag in der Methode der Systementwicklung
finden, da dies die einzige Stelle ist, an der der Informatiker zur
Sicherheit des Systems beitragen muß. Die hierzu üblichen Vorgehensweisen
werden in Kapitel 6 behandelt.
Der Ausblick befaßt sich mit der Veränderung der Anforderungen, die sich
durch die Ausweitung der globalen Vernetzung ausgehen und beinhaltet eine
(leichte) Kritik an der grundlegenden Vorgehensweise bei der Installation
sicherer Systeme.
3. Allgemeine Begriffe
3.1. Definition des Sicherheitsbegriffes
Verwendet man im Deutschen den Begriff der Sicherheit, so meint man damit
eigentlich zwei verschiedene Dinge, denen in der englischen Sprache auch
zwei Begriffe zugeordnet werden: "Safety" und "Security". "Safety", im
folgenden mit "Stabilität" bezeichnet, meint die Resistenz eines
Datenverarbeitungssystems (Computer, Mitarbeiter, Fahrzeuge etc.) gegen
"natürliche" Einflüsse, denen kein gezieltes Handeln zugrundeliegt (Feuer,
Fehleingaben etc.). "Security" hingegen bezeichnet den Schutz gegen
gezielte, geplante Angriffe auf das System, die die Existenz eines
menschlichen Angreifers voraussetzen. Die beiden Typen beeinflussen
einander natürlich: Ein Zusammenbruch durch mangelnde Stabilität eröffnet
neue Schwachstellen für einen Angreifer, und dessen Aktivität wiederum
kann die Stabilität entscheidend verringern.
Ein entscheidender Unterschied zwischen den beiden Typen liegt darin, daß
nach einem Vorfall die Wahrscheinlichkeit eines erneuten Auftretens in
Sinne von Stabilität gleich bleibt (d.h. die Vorfälle stochastisches
Verhalten zeigen), während sie im Sicherheitskontext zunimmt, da ein
einmal gefundenes Sicherheitsloch schnell bekannt und dann häufig
ausgenutzt wird.
Ein großes Problem besteht darin, eine mathematische Definition von
Sicherheit zu finden, da Sicherheit keine Eigenschaft ist, die dadurch
gegeben ist, daß sie für einzelne Komponenten eines Systems erfüllt ist.
Sowohl ein induktives als auch ein deduktives Vorgehen ("Bottom up" und
"top down") sind somit schwierig, da man eine sichere Spezifikation in ein
unsicheres System "verfeinern" kann und eine Prozedur, die zwei sichere
Unterprozeduren aufruft nicht selbst sicher sein muß. Daher wird anstatt
von "Sicherheit" häufig der Begriff "Vertrauen" ("Trust") verwendet, da
dieser quantifizierbar und daher mathematischen Operationen zugänglicher
ist (s. vgl. [SIM93]).
3.2. Verschiedene Stufen der Spezifikation
Grundlage aller Spezifikationen ist die sogenannte Sicherheitspolice (oder
Sicherheitspolitik, "Policy"). In der Literatur finden sich mehrere
verschiedene Definitionen dieses Begriffes. Die wohl allgemeinste wird in
[NRC90] gegeben: "Eine Sicherheitspolice ist eine kompakte Aussage
derjenigen, die für das System verantwortlich sind, bezüglich des Wertes
der Informationen, Verantwortlichkeiten für Schutzmechanismen und
organisatorischen Pflichten". Einige Kapitel später findet sich, mehr auf
konkrete Computeranlagen bezogen die Definition "informale Spezifikation
der Regeln, gemäß denen bestimmten Personen Zugriffsrechte auf ein
Computersystem gewährt werden, um Informationen zu lesen, zu schreiben
oder Ressourcen zu verwenden "1
. [RUS91] definiert (weniger allgemein)
eine Police als "die Menge von Regeln und Praktiken, die regulieren, wie
eine Organisation gefährdete Daten verwaltet, schützt und verteilt."
Die genauen, aus der Police abgeleiteten Anforderungen an ein
Sicherheitssystem werden zunächst natürlichsprachig in der sogenannten
"Beschreibenden Hauptspezifikation" ("Descriptive Top-Level Spefication",
DTLS) bestimmt. Insbesondere wird darin auch der zu sichernde Bereich
("security-perimeter" , "security zone") festgelegt.
Hieraus können dann sog. Sicherheitsmodelle abgeleitet werden. Diese
unterscheiden sich von der Police dadurch, daß sie sich nur noch auf die
Sicherheitsmechanismen - d.h. in erster Linie auf den Computer - beziehen
und bereits so formal sind, daß sich ein mathematischer Sicherheitsbeweis
daraus ableiten läßt. Diesen Prozeß der weiteren Verfeinerung der
Spezifikationen bezeichnet man als "Refinement".
Bei Systemen mit höheren Sicherheitsanforderungen wird zudem verlangt,
daß aus der DTLS und dem Modell eine "Formelle Hauptspezifikation"
("Formal Top-Level Specification", FTLS) erstellt wird, die dann als Basis
der Implementierung fungieren kann.
Das Endprodukt wird allgemein als "Automatische
Informationsverarbeitungsanlage" ("automated information system", AIS)
bezeichnet.
4. Ziele der Sicherheitsbestrebungen
Das Ziel jeglicher Art von Sicherheitsvorkehrungen ist es, die Existenz
einer Bedrohung ("Threat") eines Systems für den Benutzer transparent
werden zu lassen (wie z.B. das "Paging" bei der Speicherverwaltung). D.h.
der Anwender soll nicht feststellen müssen, daß ihm in irgendeiner Weise
Schaden zugefügt wurde, und - was antagonistisch zu ersterem ist - aber
auch nicht, daß er davor bewahrt wurde. Die konkreten Ziele lassen sich
daraus ableiten: Schutz vor Diebstahl (Geheimhaltung), Schutz vor
Manipulation (Integrität), keine Störung des Betriebsablaufes (Verfü
gbarkeit), keine Beeinträchtigung durch die Sicherheitsmaßnahmen
(Ergonomie); um dennoch aufgetretene Schäden zu begrenzen:
Nachweisbarkeit. Die konkreten Gewichtungen der einzelnen Gebiete sind
anwendungsspezifisch. Ein System, das ein Flugzeug steuert, bedarf eher
einer starken Verfügbarkeit (nie ausfallen), während ein System zur
Verwaltung von Forschungsdaten hin und wieder ausfallen darf, aber die
Geheimhaltung unbedingt gesichert bleiben muß.
4.1. Geheimhaltung
Unter Geheimhaltung ("Confidentiality") versteht man den Ausschluß
bestimmter Personengruppen von der Semantik einer Information. D.h.
Mitglieder dieser Gruppen dürfen durchaus Zugriff auf diese Daten haben,
solange ihnen deren Sinn verschlossen bleibt (z.B. da diese verschlüsselt
sind, oder in irrelevante Daten eingebettet wurden ("concealment
system")). Andererseits muß aber auch dafür gesorgt werden, daß ein
Angreifer nicht Informationen aus vermeintlich unwichtigen Daten (z.B.
Statistiken) erschließen kann. Im Ausmaß des Verlangens nach
Geheimhaltung äußert sich der Wert der Information. Nach diesen richten
sich aber auch der Aufwand, den ein daran interessierter Ausgeschlossener,
also ein Angreifer ("Intruder"), betreiben wird, um in Besitz der
Information zu gelangen, und somit die Kosten die entstehen, will man den
Aufwand, der zum Erlangen dieser Informationen notwendig ist, über dieses
Maß heben. Eine Möglichkeit, diese gering zu halten, ist es die
Gesamtinformation nach ihrer Wichtigkeit in Sicherheitsklassen
einzuteilen, die dann gemäß ihrem Wert geschützt werden, so daß kein
Aufwand darauf verwendet wird, unwichtige Informationen geheimzuhalten.
Diese Sicherheitsklassen können dann z.B. durch eine einfache lineare
Einteilung charakterisiert werden (unwichtig, geheim, streng geheim), aber
auch durch Inklusionsordnungen ("Forschung" + "Marketing" ist wertvoller
als "Forschung" oder "Marketing" alleine).
Die Geheimhaltung kann nochmals verschiedene Ausprägungen haben: Diese
unterscheidet man nach der Form der Reaktion auf eine Anfrage bezüglich
der spezifischen Daten: Man kann durch eine Ablehnung des Zugriffs zu
erkennen geben, daß die entsprechende Information tatsächlich existiert,
kann durch eine allgemeine Fehlermeldung keinerlei Auskunft darüber geben
oder die Existenz der Daten abstreiten.
In den Bereich der Geheimhaltung fällt aber auch der Schutz persö
nlichkeitsbezogener Daten ("Privacy"). Die diesbezüglichen Ziele sind z.B.
in den USA staatlich vorgegeben und nochmals unterteilt:2
"Offenheit": Es darf keine nicht öffentlich bekannten Computersysteme
geben, in denen Individualdaten gespeichert werden.
"individueller Zugriff, individuelle Mitbestimmung": Jeder darf alle über
ihn gespeicherten Daten einsehen, kopieren und korrigieren.
"Umfangssbeschränkung": Eine Organisation darf nur im Rahmen ihres
Bedarfes Informationen über Personen speichern.
"Beschränkung von Gebrauch und Veröffentlichung"
"Haftung": die Organisation verpflichtet sich, die allgemeinen Prinzipen
der Sicherheit anzuwenden und haftet für auftretende Mißbräuche.
4.2. Integrität
Die Integrität (Unberührtheit, "Integrity") von Daten meint, daß diese
vorher definierten Qualitätsanforderungen genügen. Im Sinne von Sicherheit
ist die Integrität einer Information ist gegeben, wenn sichergestellt
werden kann, daß diese vom ausgewiesenen Autor erzeugt wurde, und dessen
Intention entspricht. Das Ziel von Manipulationen, die die Integrität
einer Information zu beeinträchtigen versuchen, ist es, denjenigen, der
die Information empfängt, zu Handlungen zu veranlassen, die im Sinne des
Angreifers, aber nicht des Angegriffenen sind (z.B. eine Überweisung). Um
die Integrität gewährleisten zu können, werden Prüfsummen,
Einwegfunktionen und asymmetrische Verschlüsselungsverfahren verwandt.
Im Sinne von Stabilität soll verhindert werden, daß Fehleingaben oder
Übertragungsfehler die Informationen verfälschen. Hier bieten sich
fehlerkorrigierende Kodierungsverfahren (Hamming-Code o. ä.) und
Konsistenzprüfungen (s.u.) an. Somit zählen aber auch z.B. Rundungsfehler
von Fließkommaoperationen zu den Problemen, mit denen sich diese Richtung
beschäftigt. Integrität wird insbesondere dort zum Problem, wo mit
verteilten Datenbeständen gearbeitet wird, z.B. in Datenbanken mit
Mehrbenutzerbetrieb, in denen die Synchronisation gewährleistet und das
gleichzeitige Benutzen derselben Bestände unterbunden werden muß.
4.3. Nachweisbarkeit
Die obigen Überlegungen gehen immer davon aus, daß alle berechtigten
Personen im Sinne der Sicherheit zusammenarbeiten. Dies ist aber meist
nicht der Fall. Im Gegenteil geht der überwiegende Teil der Verstöße gegen
die Sicherheitspolice von autorisiertem Personal aus. Ziel ist es also,
diese Manipulationen zu entdecken, zu korrigieren und eindeutig dem
Urheber zuzuordnen, so daß dieser auf juristischem Wege dafür zur
Verantwortung gezogen werden kann ("Accountability"). Nachweisbarkeit wird
durch Beobachten der Benutzeraktivitäten erzielt (s. dort).
4.4. Verfügbarkeit
Verfügbarkeit ("Availibility") meint die Tatsache, daß berechtigten
Personen die ihnen zugänglichen Daten und Ressourcen schnell und zuverlä
ssig zur Verfügung stehen. Ist dies nicht der Fall, spricht man von
"denial of service". Dieser Wunsch ist den ersten dreien entgegengesetzt
ausgerichtet, denn ein vollkommen abgeschlossenes System, das mit
niemandem kommuniziert ist, das sicherste System überhaupt. Im Sinne von
Stabilität meint Verfügbarkeit, daß im Normalbetrieb die Anlagen eine
bestimmte, in der Police festgelegte Ausfallrate nicht überschreiten soll.
Im Sicherheitskontext meint dieser Begriff, daß nach einer erfolgten
Attacke auf das System der Normalbetrieb möglichst schnell wieder
hergestellt wird, bzw. das System erst gar nicht ausfällt.
4.5. Ergonomie
Im engen Zusammenhang mit der Verfügbarkeit ist die Ergonomie
(Benutzerfreundlichkeit, "operational ease") zu sehen. Ist das System
nicht verwendbar, da der Aufwand, der von den Benutzern für die Sicherheit
erbracht werden muß, zu hoch ist (dauert es z.B. eine Stunde eine oft
benutzte Tür zu öffnen), so werden auch vertrauenswürdige Benutzer
anfangen, die Sicherheitsmechanismen außer Kraft zu setzen (die Türe nicht
schließen). Es ist klar, daß zufällig erzeugte Passworte eine höhere
Sicherheit aufweisen als vom Benutzer gewählte. Diese haben aber den
Nachteil, daß sie meist nicht zu memorieren sind, der Benutzer sie also
irgendwann notiert und somit ein unsicherer Zustand erreicht wird, als er
mit wählbaren Passworten gegeben gewesen wäre. Daher stellt mangelnde
Ergonomie nicht nur eine Verringerung der Verfügbarkeit, sondern auch der
allgemeinen Sicherheit und Stabilität dar.
5. Risikoanalyse
Voraussetzung für eine erfolgreiche Sicherung ist es zunächst, Klarheit
darüber zu gewinnen, auf welchen Gebieten die größte Gefährdung besteht.
Diese ergibt sich sowohl aus dem jeweils möglichen Schaden, als auch aus
der Wahrscheinlichkeit seines Eintritts.
5.1. Bedrohungsformen und Sicherheitslücken
Der folgende Abschnitt zielt nicht darauf, detailliert Angriffsmö
glichkeiten und Lücken zu beschreiben. Vielmehr soll nur eine generelle
Vorstellung davon erzeugt werden, was ein Angreifer will, um die Formen
der Schutzmechanismen verständlich zu machen.
5.1.1. Angriffsziele und Angriffsvarianten
Die Ziele des Angreifers ("intruders") korrespondieren direkt mit den
Zielen der Sicherheit: Ein Unterlaufen der Geheimhaltung kann versucht
werden, indem Datenübertragungskanäle abgehört werden
("Sniffer-Attack",s.u.), indem elektromagnetische Emissionen aufgespürt
oder indem Daten herunterklassifiziert werden.
Die Verfügbarkeit kann durch den Einbau von Programmfehlern, das
Einschmuggeln von Viren oder die Zerstörung von Hardware bewirkt werden.
Um die Integrität zu unterlaufen wird häufig versucht, sich dem System als
eine andere Person zu präsentieren, also eine Scheinidentität anzunehmen.
Dieses Vorgehen wird als "Spoofing", "Masquerading" oder "Mimicricking"
bezeichnet.
Derartige Angriffe ("Attacks", "Hacking") werden häufig auch kombiniert
angewandt. Man unterscheidet zwischen "aktiven" und "passiven" Attacken.
Letztere bestehen im reinen Abhören von Datenübertragungen. Den Zustand
einer Bedrohung, ohne daß ein tatsächlicher Angriff erfolgt, bezeichnet
man als "threat". Einen erfolgreichen Angriff bezeichnet man auch als
Kompromitierung ("compromise","penetration"). Des weiteren kann der
Angreifer versuchen, den Computer als Hilfsmittel für ein sonstiges
Verbrechen zu mißbrauchen.
[HSI79] sehen als mögliche Angriffsziele: Störung (d.h. Unterbrechung ohne
Beeinträchtigung der Daten), Diebstahl (lesen oder Kopieren), Veränderung
und Zerstörung (Löschen).
5.1.2. Schwachstellen
Die Schwachstellen ("Vulnerabilities") eines Systems werden klassifiziert
nach dem Bereich, in dem sie auftreten können: physikalische Schwächen,
Medienschwächen u. ä.3
, und die Gesamtsicherheit richtet sich nach der größ
ten Schwachstelle. Das Problem ist, daß derartige Schwachstellen nicht
unbedingt innerhalb des "Perimeters" liegen müssen, sondern z.B. auch in
eng verbundenen anderen Organisationen zu finden sind. Die Kosten, die
diese für ihre Sicherheit nicht aufbringen, werden somit auf die
angeschlossenen Systeme verlagert. Bietet beispielsweise ein
Forschungsinstitut einer Universität eine enge Verbindung an, so muß es
zusätzliche Ausgaben einkalkulieren, um sich gegenüber dem oft weniger
gesicherten Universitätsnetz zu schützen.
5.2. Klassifizierung von Systemtypen
Das "dark green Book" des DoD unterscheidet verschiedene "modes of
operation"4
:
"Dedicated Mode": Jeder Benutzer, der irgendwie mit dem System Kontakt
aufnehmen kann, ist berechtigt, alle Informationen einzusehen, die in dem
System gespeichert werden, besitzt sämtliche Zugriffsrechte und muß auch
im Rahmen seines Auftrages mit all diesen Daten arbeiten.
"System High Mode": Dieser Modus unterscheidet sich von dem
vorangegangenen dadurch, daß nicht jeder Benutzer alle Daten tatsächlich
benötigt.
"Compartmented Mode": Alle Benutzer sind zwar für die höchste
Sicherheitsstufe zugelassen, haben aber nur Zugang zu den Daten, die sie
wirklich benötigen.
"Multilevel Mode": Es gibt Personen, die nicht für alle Sicherheitsklassen
zugelassen sind. Alle haben nur Zugang zu den Daten, die sie wirklich benö
tigen.
Hsiao et alt. [HSI79] klassifizieren nach:
1) "geschlossen" (identisch mit "compartment mode"): "Nur eine kleine
Anzahl von Operatoren haben direkten Zugriff auf den Rechner. " Jeder
Prozeß wird von einem Operator überwacht.
2) "offen" (ähnlich dem Multilevel Mode) im Prinzip hat jeder Zugang, muß
aber dazu persönlich ins Rechenzentrum kommen.
3.)"unbegrenzt". "Unbegrenzt" bedeutet, daß jede Person über öffentliche
Telephonleitungen Kontakt zum System aufnehmen kann und im Prinzip niemals
das Rechenzentrum betreten muß.
5.3. Analyse des Gesamtrisikos
Die normale Methode, um das Gesamtrisiko abzuschätzen, ist recht einfach:
Man multipliziert die Wahrscheinlichkeit, daß ein bestimmter Fall
eintritt, mit dem Schaden, den dies verursachen würde und bildet die
Summe über all diese Produkte (Erwartungswert). Die Erfahrung zeigt
allerdings, daß die so gewonnenen Schätzungen im allgemeinen zu positiv
sind, da das Eintreten eines Schadens häufig mehrere andere mit sich
bringt (d.h. die Wahrscheinlichkeiten nicht unabhängig sind). Dieser Wert
ist aber nicht allein entscheidend für das Ausmaß an
Sicherheitsvorkehrungen. So. z.B. wird selbst bei hohem Gesamtrisiko keine
Schutzmaßnahme getroffen werden, deren Kosten den Wert des zu schützenden
Objektes übersteigen. Des weiteren kann die Information für die
verschiedenen Beteiligten von unterschiedlichem Wert sein. Man muß hier auß
er dem Wert für den Besitzer ("keeper", Halter) und den Angreifer, auch
den Wert für den Erzeuger ("source") berücksichtigen. Hsiao et alt.
[HSI79] Unterscheiden hier zwischen
- Kritischer Arbeitsinformation z.B. Schichtpläne haben für den Besitzer
einen höheren Wert als für den Erzeuger oder Eindringling.
- Persönliche Daten haben für die Quelle höheren Wert als für den Halter
oder Eindringling
- Vorbereitende Informationen, z.B. Verkaufsvoraussagen haben für den
Eindringling einen höheren Wert als für den Besitzer oder Erzeuger, da
diese z.B. die Analyse der Daten bereits abgeschlossen haben könnten.
6. Methoden des Schutzes ("countermeasures")
6.1. Das Umfeld
Es ist natürlich nicht ausreichend, ein sicheres System zu designen, um es
dann in einer vollkommen unsicheren Umgebung einzusetzen. Es muß also dafü
r gesorgt werden, daß die Sorgfalt bei der Anwendung dem Sicherheitsniveau
der Computeranlage adäquat ist.
6.1.1. Andere Bestandteile der Policen
Die nicht rechnerbezogenen Vorschriften zur Sicherheit des Systems sind
nicht Bestandteil der "DTLS" und in den Sicherheitsmodellen nicht mehr
auf, sie sind nur in der Police festgelegt. Dies sind diejenigen Regeln,
an die sich die Benutzer des Systems zu halten haben, die aber nicht im
Rahmen der Programmierung erzwungen werden können ("administrative
security").
6.1.1.1. Aufteilung der Verantwortlichkeiten
Gegenüber den anderen Sicherheitssystemen treten im Computerbereich drei
neue Aufgabenfelder hervor, die überwiegend von Personen besetzt werden,
die nichts mit dem übrigen Firmengeschehen zu tun haben: Der
Administrator, der Operator und der Systemprogrammierer. Konnte bisher
beispielsweise ein Ingenieur, der ein Gerät erfindet, sicher sein, daß
seine Pläne in seinem Safe sicher sind, kann er das von seinem Computer
nicht mehr sagen. Er ist abhängig von den drei obengenannten.
Wie schon aus herkömmlichen Sicherheitssystemen bekannt, empfiehlt es
sich, daß nicht eine einzelne Person die unumschränkte Kontrolle über das
System erhält. Insbesondere sollten die Funktionen von Administrator,
Operator und Programmierer getrennt sein. Im Idealfall ist jede der drei
Personen nicht für die Arbeit der anderen qualifiziert (Was häufig nicht
der Fall ist, da die Karriereleiter üblicherweise vom Operator zum
Systemprogrammierer führt.).
Der kritischste Posten hierbei ist der des Systemprogrammierers, da sein Tä
tigkeitsfeld teilweise in Bereichen liegt, die nicht durch Beobachtung
(s. d.) kontrolliert werden können. Die Aktionen von Administrator und
Operator hingegen können beobachtet und die so gewonnenen Daten auf nur
beschreibbare Medien gespeichert werden, um ein Löschen unmöglich zu
machen.
Im militärischen Bereich kommt häufig noch ein "Sicherheitsoffizier"
hinzu, dessen Berufsbild allerdings in ähnlicher Form bereits vor Einfü
hrung von Computeranlagen existiert hat.
6.1.1.2. Ausbildung der Benutzer
Relativ häufig geht dem eigentlichen Angriff ein sog. "Social-Hack"
voraus, d.h. der Angreifer versucht, die Benutzter des Systems zu ungewö
hnlichen Aktionen zu verleiten, z.B. indem er am Telephon einen Anwender
simuliert, der angeblich sein Passwort vergessen hat. Andererseits muß
jeder Benutzer darauf achten, daß die Sicherheit durch ihn nicht beeinträ
chtigt wird, und mithelfen, das System zu beobachten, da eine vollkommene
Überwachung durch die Administration zumeist nicht möglich ist. Des
weiteren muß er sich der Tatsache bewußt sein, daß er Passwörter oder
systeminterne Informationen (IP-Adressen usw.) nicht an Dritte weitergeben
darf. Daher gehört eine Schulung der Angestellten zu den unbedingt
notwendigen Vorkehrungen.
6.1.2.
Physikalischer Schutz
Im Sinne von Stabilität meint "physikalischer Schutz" Maßnahmen gegen
Brand, Wasserschäden und ähnliches. Im Sinne von Sicherheit meint es die
grundlegendste Art der Zugangskontrolle:
6.1.2.1.
Schutz des Rechners
Jegliche Abschirmung des Systems wird illusorisch, wenn ein Angreifer
Zugang zur Hardware erhält und beispielsweise ganze Steckkarten einfach
austauschen kann. Hier greifen sämtliche Sicherheitsmechanismen, die seit
jeher bei Banken, Gefängnissen o.ä. verwendet werden.
Andererseits muß aber auch verhindert werden, daß die vom Rechner oder
Bildschirm ausgehende Strahlung erfaßt werden kann. Derartige rein
physikalische Informationsflüsse bezeichnet man als Emissionen
("emanations"), solche, die kritische Information tragen, als
kompromittierende Emissionen.
Ebenfalls zu den physikalischen Problemen zählt die "Remanenz" (lat.
"remanere" = Zurückbleiben) von Informationen auf vermeintlich gelöschten
Speichermedien, da z.B. häufig nur Verzeichnisse, nicht aber die Daten
selbst beseitigt werden. Das vollständige Löschen derartiger Daten (z.B.
durch Zerstörung des Mediums) bezeichnet man als "Sanitizing". Zu den
Vorkehrungen im Sinne von Stabilität zählen Sprinkleranlagen,
Spannungsfilter usw.
6.1.2.2. Datentransport
Einen sicheren Datenübertragungsweg bezeichnet man als "sicheren Kanal"
("secure channel, overt channel"), wobei mit "Kanal" jeder Weg gemeint
ist, über den zwei oder mehr Systemkomponenten kommunizieren können5
. In
den meisten Fällen kann die Sicherheit durch Verschlüsselung (s. dort) gewä
hrleistet werden. Ist aber ein expliziter physikalischer Schutz gefordert,
so wird häufig ein Kabel mit einer elektrischen Abschirmung verwendet, so
daß man einen Einschnitt nachweisen kann. Die exotischste (und wohl
sicherste) Variante besteht darin, das Kabel in ein Rohr zu legen, das man
unter hohen Druck setzt, so daß man einen Angriff mit einem Druckmesser
nachweisen kann6
. Bei Netzwerken tritt häufig das Problem auf, das sä
mtliche angeschlossene Rechner auf jede Datenübertragung zugreifen können
(da sie z.B. am selben Bus angeschlossen sind). D.h es ist keinerlei
physikalische Abschirmung eines konkreten Kanals möglich, ohne das gesamte
Netzwerk lahmzulegen.
6.2. Modelle und Hilfsmittel
Es stellt sich nun die Frage, wie die definierten Ziele erreicht werden kö
nnen. Hierzu soll zunächst auf eine Auswahl verbreiteter
Sicherheitsmodelle eingegangen werden, d.h. diejenigen, die (laut [RUS91])
im sog. "Orange Book"7
des DoD erwähnt werden. Im Anschluß daran werden
die in der Literatur angesprochenen Hilfsmittel ("Services") vorgestellt,
die die jeweiligen Modelle unterstützen.
6.2.1. Zugriffskontrolle
Das Zugriffskontrolle-Modell postuliert, an jeden Zugang ein
Kontrollsystem zu stellen, das nur autorisierten Personen Zutritt gewährt.
Hierbei bezeichnet man mit "granularity" die "Größe" der einzelnen
Objekte, die ein Kontrollsystem erhalten (z.B. Datei oder Ordner).
Derjenige der Zugriff hat, kann dann die Information zumeist beliebig,
d.h. auch an Komponenten mit geringerer Sicherheitsstufe (s. vgl. 6.2.2),
weiterleiten. Diese Eigenschaft charakterisiert eine sogenannte
"discretionary access control" (DAC). Dieses Modell ist als Teilmodell im
Flußmodell (s.u.) enthalten und wird durch den Vorgang der "Autorisierung"
umgesetzt.8
6.2.2. Das Flußmodell
Das Flußmodell geht von einer Einteilung der Verarbeitungseinheiten in
Sicherheitsklassen aus. Eine Information darf immer nur von einer
niedrigeren zu einer vergleichbar höheren Sicherheitsklasse fließen. D.h.
der Informationsfluß kann Fluß auf einem azyklischen, gerichteten Graph
modelliert werden. Die Sicherheitsklasse einer Information ergibt sich
dann aus der Klasse ("clearance") des letzten Bearbeiters. Am "oberen
Ende"9
muß es dann Einrichtungen geben, die in der Lage sind,
Informationen wieder herunterzuklassifizieren, wenn diese ihren Wert
verloren haben, diese sind jedoch nicht Bestandteil des Modells. Die
diesem zugrundeliegende Vorstellung wird auch als das "Bell-
LaPadula"-Modell10
bezeichnet. Ein solches Kontrollsystem, in dem die
Benutzer das Sicherheitslevel der ihnen zugänglichen Informationen nicht ä
ndern können, bezeichnet man als "mandatory access control". Dieses
Vorgehen richtet sich gegen das Problem der "Kontaminierung", der
"Verseuchung" niedrig klassifizierter Daten durch höher klassifizierte.11
Es ist allerdings selten möglich, den Informationsfluß nach unten
vollkommen auszuschließen. D.h. es ist meistens im
informationstheoretischen Sinne eine Übertragungsmöglichkeit gegeben, mit
der ein Sender einem Empfänger Mitteilungen machen kann. Eine solche nicht
gewünschte Verbindung nennt man verdeckten Kanal "covert channel". Es ist
letztlich ein gewöhnlicher Datenkanal, nur unterliegt er nicht den Regeln
der Police. Derartige verdeckte Kanäle können im gemeinsamen Speicher
zweier Prozesse liegen ("covert storage channel") oder durch Modulation
des Ressourcenverbrauchs (z.B. durch regelmäßige Buszugriffe) erzielt
werden ("covert timing channel"). Sogar im RSA-Signatursystem konnte ein
verdeckter Kanal aufgespürt und (prinzipiell) geschlossen werden12
: das
System sieht vor, einen Parameter zufällig zu wählen; wählt man diesen
gezielt, kann man damit Botschaften übertragen, deren Existenz nicht
nachgewiesen werden kann.
6.2.3. Authentifizierung
Unter Authentifizierung ("Authentification") versteht man die Zuordnung
von Operationen zu ihren Urhebern. Dies ist eine wesentliche Voraussetzung
sowohl für die Nachweisbarkeit, als auch für die Mechanismen der
Zugriffskontrolle.
Um die einzelnen Komponenten ("Principals") eines Systems richtig
behandeln zu können, muß zunächst deren Identität eindeutig festgestellt,
und ihnen dann der entsprechende, sie betreffende Datensatz zugeordnet
werden. Hierzu muß das System jeder Komponente zunächst einen eindeutigen
Namen zuordnen. Diese Zuordnung muß
- vollständig sein, d.h. es gibt keine unbenannten Objekte, da es
ansonsten nicht möglich ist, diesen irgendwelche Rechte einzuräumen oder
Beschränkungen aufzuerlegen.
- eindeutig sein, d.h. zwei unterschiedlichen Komponenten müssen
unterschiedliche Namen zugeordnet werden, auch wenn diese die selbe
Funktion wahrnehmen.
- sicher sein, d.h. es muß klar sein, auf Basis welcher anderer
Authentifikationen (z.B. Operator) diese zustandegekommen ist.13
Die Zuordnung von Namen zu Komponenten muß aber nicht injektiv sein. Eine
Komponente kann durchaus mehrere Namen haben; einen solchen weiteren Namen
bezeichnet man dann als Rolle. Z.B. wird im Normalfall der
Systemadministrator sowohl eine "mächtige", als auch eine "normale" Rolle
haben, wobei er durch Verwenden der "normalen" Rolle dafür sorgt, daß er
nicht versehentlich größeren Schaden anrichtet.
Das Wort "Authentifizierung" wird häufig auch benutzt, um den Prozeß des
Nachweisens der Integrität zu bezeichnen.
6.2.3.1. Identifikation von Personen
Ein Mensch kann entweder anhand äußerlicher Eigenschaften (Fingerabdrücke,
Augenhintergrund etc.,"biometrics"), oder anhand ihm übergebener
Identifikationshilfen, die sowohl materiell (Magnetkarte), als auch
immateriell sein können (Wissen um ein Passwort), identifiziert werden.
Letzteres hat den Nachteil, daß er diese Identifikationshilfen verlieren,
weitergeben und duplizieren kann, wobei es im Falle von immateriellen
Merkmalen noch nicht einmal von ihm selbst bemerkt werden muß. Hinzu
kommt, daß die Übertragung eines Passwortes von dritten beobachtet werden
kann. Dafür sind bei diesem Verfahren die Anforderungen an das Terminal
deutlich geringer.
6.2.3.2. Identifikation anderer Computer
Ist der Benutzer nicht in der Installation selbst zugegen, sondern
befindet sich an einem entfernten Terminal, oder versucht ein Computer
Kontakt zum System aufzunehmen, so muß das Terminal oder der Computer
identifiziert werden, da diese ansonsten falsche Informationen über die
Person, die sie bedient oder beauftragt hat, übermitteln oder deren
Befehle verfälschen könnten. Im Gegensatz zur Identifikation von Personen
kann hier nur die im anfragenden Rechner vorhandene Information zur Überprü
fung verwandt werden. Dafür machten es die höhere Datenübertragungsrate
und die numerischen Fähigkeiten des Computers möglich, beispielsweise das
Wissen um einen Codeschlüssel abzufragen, ohne daß dieser selbst ü
bertragen werden muß ("Challenge-Response-Verfahren). Hierzu wird vom
"Herausforderer" eine zufällige Zeichenkette generiert und an den
Kommunikationspartner geschickt. Dieser verschlüsselt diese dann mit einem
asymmetrischen Schlüssel (s. unten) und sendet das Ergebnis zurück, dies
wird dann vom Ursprungsrechner dekodiert und mit dem Ursprungstext
verglichen. Eine andere Möglichkeit stellt die "Authentifizierung durch Rü
ckruf" ("Call-Back-Authentification") dar. Hier wird die Verbindung zunä
chst abgebrochen und das anfragende System zurückgerufen. Im Fall von
"Spoofing" erhält der Angreifer also keine Verbindung, solange er nicht
in der Lage ist, den Rückruf umzuleiten.
6.2.4. Autorisierung
Nachdem nun der Teilnehmer eindeutig bestimmt ist, kann er anfangen, im
System zu arbeiten. Dieses muß nun darauf achten, daß er seine Kompetenzen
nicht überschreitet. D.h. die der Autorisierung zugrundeliegende
Vorstellung entspricht weitgehend der der Zugriffskontrolle. Hierzu müssen
Relationen zwischen aktiven und passiven Bestandteilen des Systems
hergestellt werden.
6.2.4.1. Subjekte und Objekte
Man teilt die beteiligten Einheiten, die "Principals", zunächst in eine
Gruppe von Subjekten und Objekten. Dabei kann ein "Principal" zu
verschiedenen Zeitpunkten durchaus beide Rollen einnehmen. Wird der Code
eines Programms geändert, so ist es ein Objekt. Verändert das Programm
eine Datenbank, so ist es ein Subjekt.14
Eigentlich müßte nun jedem Tupel
von Objekt, Subjekt, Operation, Zeitpunkt, verwendetem Terminal, Grund der
Anfrage etc. d.h. fast jedem Systemzustand eine Information zugeordent
werden, ob das Subjekt auf dem Opjekt die Operation ausführen darf oder
nicht.15
Die Relation wird zumeist hergestellt, indem man entweder den
Subjekten eine Menge von Rechten, oder Objekten eine Menge von Zugriffsmö
glichkeiten ("Access Control List") zuordnet. Meist ist es möglich, die
Subjekte und Objekte nochmals in Gruppen zusammenzufassen, um den Aufwand,
diese Realetionen zu ermitteln, weiter zu senken. Hsiao et alt. [HSI79]
differenzieren hier zwischen spezifischen Dokumenten (d.h. Nr. 12345),
Rollen (Bücherliste o.ä.) und funktionsbezogenen Zusammenhängen.
Meistens ist es möglich, daß ein Subjekt zeitweilig die Rechte eines
anderen übertragen bekommen kann, bzw. mit eigenen Rechten für ein anderes
eine Aufgabe ausführt16
. Dies bietet einerseits die Möglichkeit,
unterprivilegierten Benutzern eingeschränkten Zugriff auf höher
klassifizierte Daten zu gewähren, wie z.B. das Ändern des eigenen
Passwortes, das üblicherweise in einer Datei steht, auf die ein normaler
Benutzer nicht zugreifen darf. Andererseits ist es möglich vergleichbar
zu den Rollen bei Principals einzelne Programme mit geringeren Rechten
auszustatten, als sie ihr Besitzer oder Aufrufer hat. Ein solches nicht
menschliches Subjekt mit geringen Rechten bezeichnet man auch als geschü
tztes Subsystem.
Es gibt viele Möglichkeiten, auf Versuche, gegen die vorgegebenen
Relationen zu verstoßen, zu reagieren: Eine direkte Meldung an den
Operator, Verweigerung der Operation und - was in höherentwickelten
Datenbanken häufiger gegeben ist- eine Modifikation des verstoßenden
Befehls ("query modification"). D.h. z.B. daß bei Zugriffsversuchen auf
geschützte Datenbestände diejenigen Daten ausgegeben werden, deren
Einsicht im gegebenen Kontext unkritisch ist, während die anderen zurü
ckgehalten werden.
6.2.4.2. Kontrolle der Autorisierung
Derjenige Datensatz (bzw. diejenige Datenbank), in dem die Rechte, bzw.
Zugriffsmöglichkeiten gespeichert werden, ist natürlich wenigstens so
wichtig, wie die wichtigste Information des Gesamtsystems, da durch seine
Manipulation Zugriff zu dieser erlangt werden kann. Hieraus erwächst für
kleinere Anlagen die Schlußfolgerung, daß nur der Administrator Zugriff
auf diese Datei haben darf. In größeren Systemen ist dies aber unmöglich.
Hier muß der jeweilige Abteilungsleiter vom Management beauftragt und
autorisiert werden, diese Aufgabe zu übernehmen. Dies impliziert aber, daß
nun zusätzlich die einzelnen Abteilungen gegeneinander abgeschirmt werden
müssen, da z.B. gleichlautende Namen in verschiedenen Abteilungen
auftreten können. [HSI79] klassifizieren die unterschiedlichen Mö
glichkeiten, die Autorisierung vorzunehmen:
1. Zentralisiert: Eine Einzelperson oder gesonderte Abteilung übernimmt
die Steuerung.
2. Hierarchisch dezentralisiert: Rechte können von der zentrale in
Untereinheiten ausgelagert werden
3. Individuell: der Erzeuger einer Information vergibt deren
Zugriffsrechte. Diese Variante erlaubt es innerhalb der Organisation
private Daten zu speichern, auf die auch der Systemadministrator nicht
zugreifen kann.
6.2.5. Präventive Beobachtung
Es kann natürlich nicht ausreichen, ein Sicherheitssystem einmal zu
installieren, und sich dann darauf zu verlassen, daß dies einwandfrei
funktioniert. Vielmehr muß aktiv nach Angriffen gesucht werden, um die
Schwachstellen zu beseitigen, die Folgen zu begrenzen, und die Urheber zur
Verantwortung zu ziehen. Allgemein bezeichnet man das Einrichten von
Fallen, mit denen man einen Eindringling finden will, als "entrappment".
6.2.5.1. Protokollierung
Die einfachste Form von Beobachtung ist es, sämtliche Datenströme zu
duplizieren ("Auditing", "automated security monitoring"), und die so
gewonnen Daten in einen nur den Sicherheitskräften zugänglichen Bereich zu
kopieren. Somit lassen sich im Nachhinein jede Fehleingabe, aber auch
jeder Angriffsversuch feststellen und somit geeignete Gegenmaßnahmen
festlegen. Das Problem ist, daß der Umfang der so gewonnenen Datenmengen
meist viel zu groß ist, um diese effektiv nach Auffälligkeiten zu
durchsuchen, und, sollten diese gefunden werden, der Vorfall meist schon
zu lange zurückliegt. Hsiao et alt. [HSI79] führen als Funktionen den
Auditings folgende Punkte an: Aufspürung von Eindringlingen, Nachverfolgen
von Transaktionen (insbes. im finanziellen Bereich), die Verwendung von
Auditing-Daten zur Rekonstruktion verlorener Datenbestände,
Fehlerkorrektur und Abschreckung. Als Nebenprodukt erhält man häufig einen
"History-Mechanismus" wie z.B. bei der tc-Shell.
6.2.5.2. Aktive Beobachtung
Eine wesentlich aufwendigere Variante von Beobachtung ist es, einen
einzelnen Datenstrom gezielt von einem Angestellten oder Prozeß beobachten
zu lassen ("Monitoring"). Aufgrund der großen Anzahl derartiger
Verbindungen kann dies nur geschehen, wenn bereits ein konkreter Verdacht
vorliegt. Hier wird besonders darauf geachtet, daß die
Sicherheitsmechanismen nicht umgangen werden . Man kann z.B. ein
scheinbares Sicherheitsloch ("pseudo-flaw") einbauen, dessen Benutzung ü
berwacht werden kann. Eine weitere Möglichkeit besteht darin,
Abstraktionen größerer Datenflüsse, die man z.B. statistisch erhalten kann
zu beobachten, um allgemeine Tendenzen festzustellen, was außerdem auch
zur Optimierung der normalen, nicht sicherheitskritischen Betriebsabläufe
verwenden kann.
6.2.5.3. Konsistenzprüfung
Da es also unmöglich ist, alles von Menschen beobachten zu lassen, muß
also eine rechnergestützte Variante gefunden werden. Neben Versuchen mit kü
nstlicher Intelligenz17
haben werden hier insbesondere Konsistenzprüfungen
angewandt. Wird z.B. an eine unbekannte Adresse viel Geld überwiesen,
liegt der Verdacht nahe, daß eine policewidrige Handlung vorgenommen
wurde. Allerdings scheinen selbst diese Überprüfungen angesichts der
enormen Datenfluten zu aufwendig zu sein.
6.2.5.4. Probleme mit dem Datenschutz
Generell ist es so, daß der Schutz persönlicher Daten und die
Sicherheitsbestrebungen einander zuwiderlaufen. Je mehr die
Sicherheitsbeauftragten über die Benutzer wissen, desto eher können sie
abschätzen wann jemand versuchen wird, die Sicherheitsbestimmungen zu
umgehen.
Insbesondere "Auditing" ist aber dazu geeignet, jeden persönlichen Fehler
am Rechner zu registrieren und sogar zur Leistungsbewertung heranzuziehen
(wieviele Tippfehler pro Seite etc.) Im Sinne der Ergonomie ist es also
empfehlenswert, dem Benutzer anzuzeigen, daß er beobachtet wird, und ihn
zu informieren, welche Personen Zugriff auf die entsprechenden Dateien
haben. Da derartige Einrichtungen die Arbeitsfreude des Personals senken,
muß bei der Erstellung der Police also sorgfältig zwischen dem Ausmaß von
Sicherheit und Datenschutz abgewogen werden.
Des weiteren ist es so, daß bei zentraler oder hierarchisch dezentraler
Kontrolle der Autorisierung für den Angestellten keinerlei Möglichkeit
bleibt, private Daten auf dem Rechner zu verwalten. Es ist dann
beispielsweise nicht mehr möglich, daß ein Angestellter dadurch in der
Firma aufsteigt, daß er eine Idee früher als sein Vorgesetzter hatte, da
dieser dessen diesbezügliche Aufzeichnungen einsehen konnte.
6.2.6. Kontrolle der Ressourcen
Eng verbunden mit dem Problem der "Verfügbarkeit" ist das der Verteilung
der Arbeitsleistung des Systems zu sehen. So ist dafür zu sorgen, daß
untergeordnete Vorgänge die Rechnerkapazität nicht derart auslasten, daß fü
r die wichtigen Dinge nicht mehr genügend Leistung zur Verfügung steht.
Eine genaue Kontrolle der Verteilung kann zudem helfen Würmer (s. dort)
abzuwehren. Eine Kontrolle darüber ob ein gewisses Programm verwendet
wird, kann man wie eine Zugriffsberechtigung handhaben (entsprechend gibt
es unter UNIX die Rechte lesen, schreiben und ausführen). Das Ausmaß der
Benutzung läßt sich durch starre Schranken ("Quotas"), bzw. durch Vorgabe
von Verhältnismäßigkeiten18
festlegen.
6.2.7. Kryptographie
Können die Daten vor dem Zugriff eines Angreifers nicht mit ausreichender
Zuverlässigkeit gesichert werden, versucht man, diesem die darin
enthaltene Information vorzuenthalten, indem man sie verschlüsselt. D.h.
mittels eines invertierbaren Rechenverfahrens wird der Originaltext
("Plain Text") in einen Chiffretext umgewandelt, wobei das gesamte
Rechenverfahren oder ein Teil davon ("Schlüssel","Key") geheimgehalten
wird. Kann man aus dem Kodierungsverfahren das Dekodierungsverfahren
herleiten, spricht man von einem symmetrischen Verfahren, ansonsten von
einem asymmetrischen. Als eine absolut sichere Verschlüsselung bezeichnet
man in diesem Zusammenhang Verfahren, bei denen sich das Wissen des
Angreifers sowohl über den Inhalt, als auch über das Verschlü
sselungsverfahren als solches durch das Abhören der verschlüsselten Daten
nicht vergrößert.
Durch die Bestrebungen, die Verwendung von Codes zu verbieten, hat sich
zudem der Wunsch, die Tatsache der Verschlüsselung als solche zu
verbergen, entwickelt. Dies wird z.B. erreicht, indem die Daten auf Bilder
oder das Hintergrundrauschen einer Tondatei aufmoduliert werden. Diese
Verfahren werden als steganographische Verfahren bezeichnet.
6.3. Folgenbegrenzung
Nach einem erfolgreichen Angriff gilt es, zunächst den Normalbetrieb mö
glichst schnell wieder herzustellen und den Gewinn des Angreifers mö
glichst zu verringern. Dies kann z.B. dadurch geschehen, daß die gesamte
Computeranlage mehrfach vorhanden ist. Da der physikalische Schutz aber
meist gegeben ist, genügt es, sich auf die Daten zu beschränken. Bei einem
konkreten Rechner unterscheidet man zwischen "fail safe", d.h. der gesamte
Arbeitsspeicher wird gesichert, und "fail soft", d.h. nur wichtige Bestä
nde werden gerettet.
6.3.1. Sicherheitskopien
Hier unterscheidet man Systeme mit vollkommener und partieller Redundanz.
Bei vollkommener Redundanz sind alle Daten auf jedem Computer vorhanden,
und ein einzelnes Gerät kann auch dann noch betrieben werden, wenn alle
anderen ausfallen. Hier tritt allerdings das Problem auf, diese alle zu
synchronisieren. Bei partieller Redundanz werden die Sicherheitskopien
eines Rechners auf verschieden andere verteilt. Dies impliziert einerseits
weniger Verwaltungsaufwand, andererseits ist dieses System trotzdem noch
arbeitsfähig, wenn eine beschränkte Anzahl von Computern ausfällt.
6.3.2. Nachweismethoden
Die letzte verbleibende Möglichkeit ist es, den Täter zu fassen und vor
Gericht zu bringen. Hier bleibt allerdings nur noch die Möglichkeit, das
Protokoll des Auditings, Videoaufzeichnungen o.ä. zu verwenden. Können die
Aktionen einem Benutzer zugewiesen werden, ist dies meist kein Problem;
wenn nicht, d.h. wenn die Authentifizierung umgangen wurde, können
Eigenschaften wie z.B. der charakteristische Rhythmus der
Tastaturbenutzung verwandt werden. Bei vielen Organisationen haftet zudem
die Firma, die das Computersystem geliefert hat, mit.
6.4. Schwachstellen der beschriebenen Methoden
Ein Hauptproblem all dieser Verfahren ist es, daß durch ihre Anwendung
neue Schwachstellen entstehen, und daß somit das System im Wechselspiel
von Angriff und Verteidigung sozusagen einem evolutionären Prozeß
unterworfen ist, was die Entwicklungskosten extrem vergrößert.
6.4.1. Schutz der Sicherheitskopien und Mitschnitte
Häufig ist es der Fall, daß der Sicherheit der Sicherheitskopien weniger
Aufmerksamkeit geschenkt wird als der der Originale, was insbesondere im
Sinne der Geheimhaltung ein großes Risiko darstellt. Häufig lassen sich
aber auch aus den Daten des "Auditing" ganze Informationsbestände
rekonstruieren, oder sogar Möglichkeiten (z.B. Passwörter) herausfiltern,
die diversen Sicherheitsmechanismen zu umgehen. Daher müssen diese Daten
zumindest dieselbe Klassifizierung erhalten, wie die am höchsten
eingestuften auf diesem Wege angreifbaren Daten. Werden diese Kopien gelö
scht, so müssen die verwendeten Medien vollkommen zerstört werden
("sanitisizing", s. vergleichend physikal. Sicherheit).
6.4.2. Notfallmechanismen
Ein großes Problem der beschriebenen Mechanismen ist ihre mangelnde
Flexibilität in Bezug auf Notfälle. So kann es sein, daß ein Arzt auf
Daten seiner Kollegen zugreifen können muß, wenn eine Notoperation
ansteht. Es sollte also eine Möglichkeit geben, die es unter besonderen
Umständen erlauben, die Sicherheitsmechanismen abzuschwächen. Dies wird hä
ufig durch eine Schaltung im Rechnerraum ("Emergency Button") realisiert,
die dann sämtliche Zugriffssperren lahmlegt. Es sollten allerdings nach
einem solchen Vorfall alle auch nur indirekt beteiligten Parteien
automatisch (d.h. vom Computersystem) darüber informiert werden.
7. Anforderungen an die Systementwicklung
Nachdem die Anforderungen nun beschrieben worden sind, stellt sich die
Frage, welche Methoden verwandt werden müssen, um den rechnerbasierten
Teil des Sicherheitssystems so zu implementieren, daß er seiner
Spezifikation in der Police entspricht, und welche Gefahren hierbei
auftreten können.
7.1. Bedrohungen durch fehlerhafte oder manipulierte Programme
Bei den bisherigen Betrachtungen wurde immer davon ausgegangen, daß
verwandten Komponenten ihre Spezifikationen genau erfüllen. Dies ist
bereits im Hinblick auf die Stabilität nicht gegeben, da fehlerfreie
Programme kaum zu erzielen sind. Einen solchen unabsichtlich erzeugten
Programmfehler bezeichnet man als "loophole" oder "bug". Hat der
Programmierer aber die Absicht, später selber ein Angreifer zu werden,
kann er gezielt "bösartige Befehle" ("malicious code") einfügen. Beim
amerikanischen Verteidigungsministerium z.B. muß daher jeder Programmierer
auch für das Sicherheitslevel zugelassen sein, das seine Programme nachher
verwalten sollen.
Im allgemeinen hat es sich als sinnvoll herausgestellt, höhere
Programmiersprachen zur Entwicklung sicherer Systeme zu verwenden, da
diese leichter verifizierbar sind, weil weniger Programmtext benötigt wird
und der Parser des Übersetzers viele Überprüfungen automatisch vornehmen
kann. Diese sind dann allerdings anfällig gegen "Tunneln" (s. dort).
Insbesondere über die "Laufzeitbibliotheken" des Übersetzers kann
unkontrolliert bösartiger Code eingeschleppt werden. Ein weiteres Problem
ist es, daß ein System dessen Komponenten sicher sind, nicht insgesamt
sicher sein muß. Insbesondere gibt es noch kein Verfahren,
Sicherheitspolicen oder Spezifikationen zuverlässig zu kombinieren. Es
werden zu Kompromitierung von Programmen überwiegend folgende Methoden
verwandt:
7.1.1. Logische Bomben
Die sogenannten "logical bombs" sind Programmstücke, die aktiv werden,
wenn eine bestimmte Situation eintritt. Handelt es sich um einen
festgelegten Zeitpunkt, so spricht man auch von "time bombs". Diese werden
häufig von Mitarbeitern angelegt, die der Firma schaden wollen.
7.1.2. Falltüren
Diese werden teilweise auch Hintertüren genannt ("trapdoor","backdoor").
Es handelt sich um vom Programmierer hinterlassene Zugangsmöglichkeiten
zum System, häufig um Hilfsmittel, die Authentifizierung zu umgehen. Diese
werden häufig auch ohne bösartige Absicht angelegt, um später
Wartungsarbeiten leichter ausführen zu können ("maintenance hook").
7.1.3. Tunneln
Unter "Tunneling" versteht man einen Angriff auf einem niedrigeren
Abstraktionslevel (Maschinenlevel), als das System erzeugt wurde, z.B.
indem ein Fehler in dem Compiler gefunden wird, mit dem das
Sicherheitssystem erzeugt wurde, oder durch Manipulation der verwendeten
Hardware zum Zeitpunkt deren Entwicklung. Derartige Angriffe zählen zu den
"High Level Treats" und sind nur zu erwarten, wenn der Angreifer ein Staat
oder eine große Organisation ist, die über ausreichende Mittel verfügt.
7.2. Verifikation
Ist die Software erst einmal entwickelt, muß überprüft werden, daß sie den
Spezifikationen entspricht. Dies richtet sich nicht nur gegen
Programmfehler, sondern auch gegen bösartige Manipulationen. Mit
Voraussetzung für die Verifikation aber auch für die spätere Anwendung ist
es, daß sämtliche Sicherheitsmechanismen auf allen Abstraktionsebenen
sorgfältig dokumentiert werden, um eine leichtere Überprüfung und einen
sorgfältigen Umgang mit diesen möglich zu machen. Durch die Verifikation
wird die Gewißheit ("Assurance") des späteren Benutzers, daß das System
seine Funktion erfüllt, erhöht. Nach Aussage einiger Autoren19
, avanciert
diese "Gewißheit" zu einem immer wichtigeren Problem, wobei man sie
einteilt nach "Überzeugung" ("confidence"), und Auswertbarkeit
("evaluability"), d.h. der Tatsache, daß jemand das System versteht und
bewerten kann.
7.2.1. Testen
Die einfachste Form der Verifikation ist das Testen. Man simuliert die zukü
nftige Arbeitsumgebung des Computersystems und betrachtet den Test als
erfolgreich, wenn das System in jeder der simulierten Situationen korrekt
reagiert. Da man aber meistens nicht alle Situationen überprüfen kann, muß
eine Auswahl getroffen werden. Man ([NRC90]) unterscheidet hier folgende
drei Varianten:
1. zufälliges Testen ("random testing")
2. strukturelles Testen: Die Testfälle werden aus der Programmstruktur
abgeleitet, d.h. man versucht die Maschine gezielt in einen bestimmte
Zustand zu versetzen. Diese Zustände können z.B. durch "Hazard"-Analyse
bestimmt werden, d.h. durch das Analysieren von nicht erstrebenswerten
Ereignissen.
3. funktionales Testen: die einzelnen Aufgaben des Systems werden
getrennt überprüft.
7.2.2. Herkömmliche Verifikation
Unter herkömmlicher Verifikation versteht man einen nichtformellen Beweis
der Korrektheit eines Programms, der durch Annahmen über
(Scheifen-)Invarianten oder Zusicherungen ("assertions") geführt wird.
Diese Art der Programmverifikation ist in nicht sicherheitsrelevanten
Bereichen seit jeher üblich, jedoch nach Meinung der meisten Autoren nicht
ausreichend, um "sichere" Software zu produzieren.
7.2.3. Beweisen
Die einzige Möglichkeit die Korrektheit einer Implementation sicher
nachzuweisen, ist es, einen mathematischen Beweis hierfür zu führen (z.B.
nach dem Hoare-Kalkül), in dem auch die zugrundeliegende Hardware
betrachtet wird. Dies ist meistens zu aufwendig, weshalb man einzelne
Programmteile unterschiedlichen Sicherheitsklassen zuordnet, und so wenig
beweist wie nötig. Das "Bell-LaPadula" Modell verwendet hierzu ein
Übergansgschema, in dem immer nur von einem sicheren Zustand zum anderen
gewechselt werden kann. Da der Ausgangszustand sicher ist, kann die
Gesamtsicherheit somit induktiv bewiesen werden.
7.2.4. Der "sichere Kern"
Die zahlreichen Inderdependenzen zwischen den diversen Komponenten einer
AIS machen die Verifikation des Gesamtsystems zu einem sehr aufwendigen
Unterfangen Analog zu Aufteilung der Daten in Sicherheitsklassen kann man
auch bei Programmen versuchen, den Aufwand zu reduzieren, indem man die
sicherheitsrelevanten Prozeduren zusammenfaßt und gesondert beweist. Beim
verbleibenden Rest können dann weniger präzise Methoden verwandt werden.
Den so herausgelösten Bestandteil des Systems bezeichnet man auch als
"Trusted Computing Base (TCB)". Dieser sollte insbesondere
- möglichst klein sein, um eine Verifikation, oder sogar einen Beweis
seiner Korrektheit zuzulassen.
- so konstruiert sein, daß sämtliche Zugriffe auf sicherheitsrelevante
Daten von der "TCB" bemerkt werden ("reference Monitor"); d.h. Hardware
und Betriebssystem zählen größtenteils zur TCB.
- eine Manipulation der "TCB" selbst nicht möglich ist.
Auf der Hardwareseite kann man versuchen, die TCB klein zu halten, indem
man z.B. durch Verschlüsselung Kabel aus der TCB entfernt, oder
gesonderte, einfache Prozessoren einsetzt, deren einzige Funktionen die
sicherheitskritischen sind. Das Betriebssystem wird häufig in einen
Sicherheitsrelevanten Kern "kernel" und die restlichen Komponenten
aufgeteilt. Es wird meistens versucht, dafür zu sorgen, daß Applikationen
nicht zur TCB zählen müssen. Hierzu müssen Hardware und Betriebssystem Mö
glichkeiten bieten, die einzelnen Prozesse voreinander zu schützen, d.h.
Zugriffe auf die Speicherplätze oder den Code anderer Programme zu
unterbinden. Meistens muß es aber dennoch "trusted" Programme geben, wie
z.B. zur Änderung des Passwortes.
Der Benutzer muß später eine verläßliche Möglichkeit haben, mit der "TCB"
in Kontakt zu treten ("secure path"), z.B. durch eine Tastenkombination.
Ist dies nicht gegeben, kann ein anderes Programm als "TCB" auftreten oder
sich dem Kern als Benutzer präsentieren.
7.3. Schutz vor nachträglicher Veränderung
Nachträgliche Manipulation, auch "Tampering" genannt, bietet im
allgemeinen dieselben Möglichkeiten wie der Einbau bösartiger Anweisungen
zum Implementationszeitpunkt. Da es aber zumeist unmöglich ist, die
installierte Software in dem Maße zu analysieren, wie dies zum unauffä
lligen Einbau z.B. einer "Bombe" notwendig wäre, wird zumeist Programmcode
hinzugefügt, sei es als ganz neues Programm oder als eigenständiges
Unterprogramm.
7.3.1. Troianische Pferde
Als troianische Pferde bezeichnet man Programme, die vorgeben, etwas
Harmloses zu tun, die aber im Hintergrund bösartige Befehle ausführen.
Trojanische Pferde müssen von einem Benutzer oder Angreifer eingeschleppt
und zur Ausführung gebracht werden.
7.3.2. Würmer
Ein sog. "Wurm" ist ein eigenständiges Programm, das sich selbst in andere
Computersysteme übertragen kann. Der bekannteste Wurm ("Internet-Wurm")
nutzte einen Fehler im Programm "fingerd", um sich auf ca. 6000 Systeme
zu übertragen. Würmer können selbst Viren enthalten:
7.3.3. Viren
Ein Virus ist ein Programmstück, das in der Lage ist, sich in andere
Programme hineinzukopieren und diese somit in Trojanische Pferde zu
verwandeln. Ein Virus wird ausgeführt, wenn das Programm, das ihn enthält
gestartet wird, und durchsucht alle ihm zugänglichen Datenbestände nach
Programmen (bzw. anderen Bootblocks s.u.) und integriert seinen Code in
diese. Man unterscheidet Boot-Viren (Bootblock), Systemviren (Allocation
Table), Programmviren (normal), polymorphe Viren (mutierend) ,Stealth
Viren (versteckt) , Retro-Viren (Zerstörung von Antiviren- Software) und
Daten-Viren (Makros).
7.3.4 Schutzmaßnahmen
Um das System vor Viren und Trojanischen Pferden zu Schützen verwendet man
häufig Filterroutinen, die bestimmte Muster im Programmcode, die für
bekannte Viren oder Pferde charakteristisch sind, in Datenströmen aufzuspü
ren. Häufig werden diese dann durch Überschreiben20
(z.B. mit NOP)
deaktiviert, und dann wird versucht das Programm normal auszuführen. Eine
andere Möglichkeit besteht darin geschützte Subsysteme zu verwenden, da
z.B. Viren auf den Code anderer Programme zugreifen müssen um sich zu
vermehren. Ist also einem Programm verboten auf den Code eines anderen
zuzugreifen, so kann die Anwesenheit eines Virus durch Versuche gegen
diese Sperre zu verstoßen festgestellt und seine Ausbreitung verhindert
werden.
8. Ausblick
Die Einführung des Computers hat das Problem der Sicherheit stark vergröß
ert. Um einen kompletten Konstruktionsplan (z.B. eines Flugzeugs) zu
kopieren, hätte es früher vieler Arbeitsstunden mit Kopierern und
Photoapparaten bedurft, heute ist dies eine Arbeit von wenigen Minuten.
Aber im Gegensatz zu den vollkommen passiven Ordnern früherer Zeit kann
ein AIS selbst an seiner Verteidigung "mitarbeiten". Es sind zahlreiche
Methoden entwickelt worden, wie dies geschehen kann, die sich zumeist an
bereits vorher existente Verfahren anlehnen, wie Zugangsbeschränkung,
"clearance" für bestimmte Sicherheitsniveaus oder Beobachtung wie sie seit
Jahrzehnten mit Videokameras vorgenommen wird.
Ich habe allerdings den Eindruck, daß die Entwicklung von
Sicherheitseinrichtungen zumindest partiell von der falschen Seite
angegangen wurde. Man nimmt immer an, daß man die Zugriffsrechte von
Angreifern einschränkt, d.h. daß der normale Betriebsmodus derjenige ist,
in dem jeder vollen Zugriff hat. In Wirklichkeit ist es aber genau
umgekehrt. Im "normalen" Betrieb kann der Rechner die Speicherstellen, in
die von der Hardware die Daten, die von außen kommen, geschrieben werden,
vollkommen ignorieren. So ist z.B. ein Modem ein Gerät, das elektrische
Felder auf einem Stromdraht mißt. Und genauso wie man die Daten einer Meß
apparatur auswertet, werden letztendlich auch die Daten der Schnittstelle
interpretiert. Diese Interpretation liegt nun aber vollkommen in der Hand
des Benutzers. D.h. eigentlich ist nicht der Angreifer im Vorteil, der
sich den Schwachpunkt aussuchen kann, sondern der Besitzer, der die
Interpretation vollkommen kontrolliert - das Problem an dieser Vorstellung
ist natürlich, daß sie voraussetzt, daß keinerlei bösartiger Code
eingeschleppt wurde.) Die meisten Firmen wählen aber gerade den
umgekehrten Weg. Da die Verfügbarkeit für den Kunden offenbar immer
Vorrang vor der Sicherheit hat, werden viele Systeme im Zustand der
niedrigsten Sicherheit ausgeliefert21
, und der Administrator muß diese
dann nach und nach erhöhen. Es gibt allerdings in letzter Zeit
Bestrebungen diesem abzuhelfen.22
Ähnliche Veränderungen wie die Einführung des Computers wird auch die
zunehmende globale Vernetzung bewirken. Sind z.B. Daten mehrfach
redundant über die Welt verteilt vorhanden, so kann ein Angreifer
versuchen, jeweils die Bestände zu attackieren, die am wenigsten geschützt
sind. Bisher wäre dazu eine weite physikalische Reise notwendig gewesen.
Unterstützt wird er dabei von den inzwischen weit verbreiteten
Suchmaschinen, die ihm das Problem der Suche nach Adressen und
Hilfsinformationen vollkommen abnehmen, da sie eine nahezu vollständige
Tiefensuche im gesamten Netzwerk ausführen. Auch der persönliche
Datenschutz wird hierdurch gefährdet, da diverse Organisationen Daten über
Personen im Netz zur Verfügung stellen, die für sich genommen vollkommen
harmlos sind - z.B. zusammenfassende Berichte über Konferenzen- , die aber
im Zusammenhang die Erstellung eines Persönlichkeitsbildes ermöglichen.
Das bisher eher stiefmütterlich behandelte Feld der Integrität gewinnt im
Rahmen dieser Entwicklung mehr und mehr an Bedeutung. Die Wehrlosigkeit
der SMTP-Server des Internets gegen "Masquerading", das vermehrte
Aufkommen direkter bildloser Kommunikation über Rechner und insbesondere
auch die Simulation virtueller Umgebungen, in denen mehrere Menschen,
durch ihre Avatare vertreten miteinander zusammenarbeiten, verlangen, daß
insbesondere die Authentifizierung sicher durchgeführt werden kann. Dies
ist in einem geschlossenen System kein gravierendes Problem, aber sollen
beispielsweise zwei Systeme im Internet auf diese Weise kommunizieren, so
muß die Authentifizierung eines vom Fremdsystem akzeptierten Users
vorgenommen werden, ein Vorgang, der in Form der r-Befehle unter UNIX
(rsh, rlogin) bereits heute Probleme bereitet.
Die "Availibility" wird von einem indirekten zu einem direkten Problem, da
vielfach Rechenanlagen dritten zu Verfügung gestellt werden, und ein dann
eintretender "Denial of Service" unmittelbare Verluste zur Folge hat. Dies
würde durch die Einführung von Computern, deren gesamte Software im Netz
liegt, wie dies von einigen Firmen geplant wird, noch verstärkt.
Ein anderes Problem ist die unwahrscheinliche Zahl neuer Benutzer von
Computersystemen, die zwar über keinerlei geheimes Wissen oder Wissen um
Sicherheitsaspekte verfügen, aber gefährliche Operationen vornehmen wollen
(z.B. bargeldlos bezahlen). Dies bringt einerseits mit sich, daß ein Groß
teil derjenigen Aktionen, die bisher von Systemadministratoren und
Sicherheitsbeauftragten wahrgenommen wurden, ab sofort automatisiert
werden müssen. Hierzu gehören kritische Operationen, wie das Anlegen von
Subjekten, die Vergabe von Zugriffsrechten, das Auswerten von
Auditing-Informationen und ggf. sogar die Einleitung juristischer Schritte.
Andererseits kann man nicht mehr auf eine ausreichende Aufmerksamkeit oder
gar Wachsamkeit der Benutzer hoffen, da diese über das benötigte Wissen
gar nicht verfügen, und z.B. nicht registrieren, daß mehrere erfolglose
Authentifizierungsversuche unter ihrem Namen vorgenommen wurden.
Ein drittes, von der von mir bearbeiteten Literatur nur wenig beachtetes
Problem sind diejenigen Schnittstellen, die vom Rechner in die reale Welt
zurückführen. Bei allen Betrachtungen ist davon ausgegangen worden, daß
eine Korruption des Systems im Extremfall zu einem Zusammenbruch einer
Firma, bzw. zum Diebstahl einer Information führt, die von militärischer
Bedeutung ist. Menschenleben sind bei diesen beiden Vorgängen nur indirekt
gefährdet. Das Manipulieren einer Bandstraße, das Täuschen eines
elektronischen Abwehrsystems, oder die Kontrolle über einen autonomen
Robot können hingegen benutzt werden, um Personen direkten Schaden zuzufü
gen. Diese Einbrüche sind für die Systementwicklung vollkommen identisch
zu denen des ersteren Typs, ihre Auswirkungen aber sind grundverschieden,
da die ausführenden Maschinen im Gegensatz zu einem Menschen keinerlei
moralisches Empfinden kennen, und der Auslösende vollkommen unbeteiligt
bleibt, da er ggf. viele Kilometer entfernt ist.
Alles in allem kann man sagen, daß sich die Brisanz des Themas
Computersicherheit in den nächsten Jahren ebenso exponentiell erhöhen
wird, wie die Zahl der an Computernetze angeschlossenen Rechner
exponentiell wächst. Die entwickelten Verfahren sind aber zumeist
Methoden, die älteren Zeiten entstammen und Erlebnisse wie das
Durchbrechen des "Bell-LaPadula"-Modells durch "covered timing channels"
werden denjenigen, die sich mit diesem Thema beschäftigen, auch in der
Zukunft nicht erspart bleiben.
9. Literaturverzeichnis
[BAA86] Baaske, Hartmut:
Datenspeicher und Methoden der Sicherung.
Vaterstetten: 1986.
[DOD] Department of Defence (USA):
Glossary of Computer Security Terms.
National Computer Security Center
NTSC-TG_004
http://cliffie.nosc.mil/~NADOC/docprj/security/
[DOD89] Deparment of Defence (USA):
Guide To Understanding Trusted Facility Management.
National Computer Security Center
NCSC-TG-O15
Library No. S-231, 429
http://cliffie.nosc.mil/~NADOC/docprj/security/
[HSI79] Hsiao, David K., Douglas S. Kerr und Stuart E. Madnic:
Computer Security.
New York: Academic Press, 1979.
[IEE93] Zurko M.E. : "Panel: What are the Foundations of Computer
Security ?".
Computer Security Foundations Workshop VI-1993, S. 85-98.
[KYA96] Kyas,Othmar:
Sicherheit im Internet: Risikoanalyse - Strategien - Firewalls.
Bergheim: 1996.
[NRC90] National Research Council.
Computers at Risk. Kap. 1-4.
o.O. 1990.
[RUS91] Deborah Russel und G.T. Gangemini Sr. :
Computer Security Basics.
Sebastopol: 1991.
[SIM93] Simmons, Gustavus J.:
An Introduction to the Mathematics of Trust in Security Protocols
Computer Security Foundations Workshop VI-1993, S. 121-127.
1 [NRC90],S. 77
2 [HSI79]
3 s. vgl. [RUS91]
4 s. [DOD]
5 [NRC90]
6 [RUS91] S.212
7 Department of Defence Trusted Computer System Evaluation Criteria DoD
5200.28-STD
8 Nähreres findet sich daher in diesem Kapitel.
9 d.h. in den Senken des Flußes auf dem Graphen
10 (genauer gesagt ist es ein Aspekt des BLP-Modells)
11 In einem Zugriffskontrollmodell kann eine MAC z.B. durch Schranken
realistert werden, die der Benutzer bei der Einstufung der von ihm
erzegten Daten nicht überschreiten darf.
12 [SIM93]
13 s. vgl. [NRC90]
14 Das "Orange Book" verlangt hier laut [RUS91] eine strikte Trennung.
15 s. vgl. [HSI79]
16 Wie dies besipielsweise unter UNIX mit dem "suid-Bit" realisiert wird.
17 s. vgl. [NRC90]
18 wie z.B. die "nice"- Werte unter UNIX
19 Robert Morris in [IEE93]
20 z.B. das Programm "Disinfectant" auf Macintosh-Rechnern
21 So z.b. ist im Auslieferungszustand bei SUN-Rechnern ein
Wildcard-Zeichen in der datei .hostsequiv eingetragen, was jedem
verbundenen Fremdrechner vollständige Zugriffsrechte einräumt.
22 Die Firma Apple z.B. liefert seit neuem ihre Rechner mit deaktiviertem
Gast-Zugang aus, was bisher nicht der Fall war.