Angewandte IT-Sicherheit

Angewandte IT-Sicherheit Vorlesung im Wintersemester 2004/2005 Universität Mannheim Prof. Dr. Felix Freiling Teil 2: Terminologie 1 Ankündigungen •...
Author: Meike Förstner
4 downloads 2 Views 380KB Size
Angewandte IT-Sicherheit Vorlesung im Wintersemester 2004/2005 Universität Mannheim

Prof. Dr. Felix Freiling Teil 2: Terminologie 1

Ankündigungen • •

Bedarf an Formalia? Testwähler für DFG-Online-Wahlsystem gesucht •

Usability und Belastungstest

2

Übersicht • •

gemeinsamer sprachlicher Bezugsrahmen zunächst: klassische Fehlertoleranzterminologie •



gemeinschaftliche Anstrengung vieler führenden Köpfe, damals einer von mehreren Vorschlägen

anschließend: klassische Sicherheitsterminologie • • •

ITSEC Standard (1991) Gollmann: Computer Security Anderson: Security Engineering

3

Die Fehlertoleranz-Terminologie •

Jean-Claude Laprie (ed.): Dependability: Basic Concepts and Terminology. Springer, 1992. • •



Terminologievorschlag mit Übersetzungen, Glossar und Querverweisen in Englisch, Französisch, Deutsch, Italienisch und Japanisch! Entstanden im Kontext fehlertoleranter Systeme (Luft-/Raumfahrt, Kraftwerke, Eisenbahn, Prozeßsteuerung)

Letzte Aktualisierung: •



Algiridas Avizienis, Jean-Claude Laprie, Brian Randell, Carl Landwehr: Basic Concepts and Taxonomy of Dependable and Secure Computing. IEEE Transactions on Dependable and Secure Computing, 1(1), 2004. Kopie auf der Webseite zur Vorlesung

4

Verlässlichkeit (Dependability) •

Warnung: im Buch von 1992 wird der zentrale Begriff dependability mit Zuverlässigkeit übersetzt. • • •



Zuverlässigkeit ursprünglich in der Bedeutung von reliability "Mit diesem Bericht kann vielleicht eine erneute Begriffserweiterung initiiert werden..." (Laprie, S. 100) ... hat sich nicht bewahrheitet.

In dieser Vorlesung gilt: Dependability = Verlässlichkeit



Manche DIN-Norm (z.B. 40041/12.90) verwendet noch den Begriff Zuverlässigkeit in erweiterter Form •

also Vorsicht!

5

Verlässlichkeit (Dependability) •

Erste Definition, Fokus auf Rechtfertigung von Vertrauen: •

Verlässlichkeit ist die Fähigkeit eines Systems, einen Dienst zu erbringen, dem man gerechtfertigterweise vertrauen kann.



Avizienis et al., S. 13: Dependability is the ability to deliver a service that can justifiably be trusted.



Zweite, äquivalente Definition, liefert ein Kriterium, ob ein System verlässlich ist oder nicht: •

Verlässlichkeit ist die Fähigkeit eines Systems, Dienstausfälle zu vermeiden, die inakzeptabel häufig oder schwer sind.



Avizienis et al., S.13: Dependability is the ability to avoid service failures that are more frequent and more severe than is acceptable.

6

System als Komposition von Systemen •

System = Komposition von Systemen • •

Rekursion endet bei gewählter Abstraktions-/Implementierungsstufe (atomares System) System vs. Umgebung (environment)

7

Dienst und Funktion •

Funktion = das, was das System machen soll



Spezifikation = Beschreibung der Funktion



Verhalten = das, was das System macht •

Formalisiert als Sequenz von Zuständen des Systems

• •

Externer Zustand = Zustand der Schnittstelle Interner Zustand = Rest des Zustandes, der von außen nicht beobachtbar ist



Dienst = Verhalten gegenüber benachbarten Systemen (z.B. Benutzer) an der Dienstschnittstelle (Interface)

8

Das System im Kontext • •

Spezifikation, System Kenngrößen, Beeinträchtigungen, Mittel der Verlässlichkeit

9

Beispiele •

Desktop-PC (Hardware, Software, Hersteller, Benutzer)



Rechnernetz (Rechner, Netzwerkkarten, Kabel, ...)

10

Struktur •

Struktur = das, was dazu führt, dass das System das macht, was es macht. •

Struktur ist die "innere Verschaltung" der Komponenten • •



feste Verschaltung (wie in Hardware) dynamische Verschaltung (Software)

... der Algorithmus auf der gewählten Abstraktionsebene

11

Gefährdungen der Verlässlichkeit •

Das System erbringt einen korrekten Dienst, wenn sein Verhalten der Spezifikation entspricht



Dienstausfall (failure) = System erbringt nicht mehr einen korrekten Dienst



Fehlerzustand (error) = Teil des Systemzustandes, der vom korrekten Zustand abweicht



Fehlerursache (fault) = (vermutete) Ursache des Fehlerzustandes

12

Fehlerursachen (faults) •

Umfangreiche Klassifikation nach verschiedenen Kriterien: •

Phase of creation: Phase der Entstehung (Entwurfsfehler bzw. Betriebsfehler) System boundaries: Entstehungsort bzgl. der Systemgrenzen:

• • •



interne Fehler (Teil des Systemzustandes, z.B. Rechenfehler) externe Fehler (Beeinflussung durch Umgebung, z.B. elektromagnetische Strahlung, Temperatur)

Phenomenological cause: phänomenologische Ursache: •



physikalische Fehler oder menschliche Fehler

Dimension: Dimension (wirken sich aus auf Software oder Hardware) Objective: Motivation (bösartig, nicht-bösartig) Intent: Absicht (absichtlich oder unabsichtlich) Capability: Zufall (zufällig oder als Resultat von Inkompetenz) Persistence: Dauer:

• • • • • •

permanente Fehler temporäre Fehler (Anwesenheit von einer punktuellen Bedingung abhängig) 13

Klassifikation

Avizienis et al., S. 16, Abb. 5 (a),

14

Baumdarstellung und Basisklassen

Avizienis et al., S. 16, Abb. 5(b)

15

Bösartige Fehlerursachen (malicious faults) •

Bösartige, menschliche Fehlerursachen •



sind immer absichtlich

Zwei Klassen: •

Bösartige logische Fehler (malicious logic faults) • •



Entwicklungsfehler (Trojanisches Pferd, logische Bomben, Hintertüren) Betriebsfehler (Viren, Würmer, Zombies, etc.)

Einbruchsversuche (intrusion attempts) • •

Externer Betriebsfehler Benötigt einen internen, permanenten, SoftwareEntwicklungsfehler (Schwachstelle)

16

Transiente und Intermittierende Fehler •

Transienter Fehler (transient fault) •



temporärer externer Fehler, der durch die physikalische Umgebung hervorgerufen wird

Intermittierender Fehler (intermittent fault) • •

temporärer interner Fehler zumeist hervorgerufen durch die Anwesenheit selten auftretender Bedingungen • • •



inhaltsabhängige Fehler bei Halbleiterspeichern Effekte von Temperaturveränderungen übermäßige Systembelastung und daraus resulierende Synchronisationsprobleme

eigentlich: permanente Fehler, die schwer zu reproduzieren sind.

17

Fehlerzustand (error) •

Ein Fehlerzustand ist verantwortlich für einen folgenden Ausfall Ein Fehlerzustand muss nicht notwendigerweise zu einem Ausfall führen

• •

Systemaufbau kann Redundanzen enthalten • •



beabsichtigt (Fehlertoleranzverfahren) unbeabsichtigt (es gibt kaum Systeme ohne Redundanz)

Systemaktivität kann Fehlerzustand überschreiben bevor er zum Ausfall führt Ausfall ist abhängig von der Spezifikation

• •

Manche Benutzer sehen eine Unannehmlichkeit nicht als Ausfall (unterschiedliche Geduld, etc.)

18

Ausfall (failure) •

Ein Ausfall passiert dann, wenn das System nicht seine Spezifikation erfüllt Zwei Arten von Ausfällen je nach Ausfallbereich:

• • •



Werte-Ausfälle (value failures) Die Werte der bereitgestellten Leistung stimmen nicht mit der Spezifikation überein Zeit-Ausfälle (timing failures) Das Zeitverhalten der bereitgestellten Leistung stimmt nicht mit der Spezifikation überein

Man kann spezifische Ausfallarten unterscheiden: • • • •

verfrühte/verspätete Zeit-Ausfälle Stillstand-Ausfälle (bei konstantem Wert) Auslassungsausfälle (omission) permanenter Auslassungsausfall (= Total-Ausfall)

19

Schweregrad (severity) •

Unterscheidung eines Ausfalls nach Kritikalität: • • •



Kritikalität = schlimmstmögliche Auswirkungen eines Unfalls des Systems kritischer Ausfall = Auswirkungen auf die Umgebung sind erheblich größer als der Nutzen, der durch die Leistungserbringung erreicht wird. unkritischer Ausfall

kritischer Ausfall in der Regel.: • •

Verlust an Menschenleben, dauerhafte Kontamination der Umgebung, großer Wertverlust (Feuer, Explosion) lange Zeitdauer, bevor das System wieder in Betrieb gehen kann (Untersuchungskommissionen usw.)

20

Kritikalitätsniveaus aus der Luftfahrt •

kritisch Funktionen, deren Ausfall die Fortführung des sicheren Fluges und die Landung verhindern würden



wichtig Funktionen, deren Ausfall die Fähigkeiten des Flugzeuges/der Mannschaft reduziert, mit ungünstigen Flugbedingungen fertig zu werden



nicht-wichtig Funktionen, deren Ausfall keine signifikante Verringerung der Fähigkeiten des Flugzeuges oder der Mannschaft bedeutet 21

Fail-Stop/Fail-Safe •

Ein Fail-Stop-System ist ein System mit nur Auslassungsausfällen • •



keine Werte-Ausfälle, aber Auslassungen Anwendungsgebiete?

Ein Fail-Safe-System ist ein System mit ausschließlich unkritischen Ausfällen •

Anwendungsgebiete?

22

Fehlerpathologie •

Fehlerursache (fault) kann führen zu Fehlerzustand (error) • •



Fehlerzustand kann latent (unentdeckt) oder erkannt sein Fehlerzustände können propagieren

Ein Ausfall (failure) tritt auf, wenn Fehlerzustand die Schnittstelle durchdringt, an der das System seine Leistung erbringt

23

Beispiele Avizienis et al., S. 21, Abb. 11 •

Programmierfehler



Kurzschluss in einem integrierten Schaltkreis



elektromagnetische Strahlung



falsche Maschinenbenutzung durch Bediener

24