Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick...

27
Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner, Koch, Kuzmanovski A Gift of Fire

Transcript of Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick...

Page 1: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Können wir dem Rechner vertrauen (Kapitel 4) ?Seminar Softwaretechnik SS04Referent: Patrick MukherjeeMatr.Nr.: 181978Veranstalter: Jähnichen, Bittner, Koch, Kuzmanovski

A Gift of Fire

Page 2: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Überblick

Was kann schief gehen? Zuverlässigkeit und Sicherheit Systemfehler, Abhängigkeit, Risiko

und Fortschritt neu betrachtet Modelle und Simulationen

Page 3: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Was kann schief gehen?

„Softwarefehler verursacht Strahlungsüberdosis“

„Finanzamtcomputer verschickt Mahnungen über $68 Milliarden“

„Roboter tötet Arbeiter“ „Mann fünf mal wegen falscher Daten im FBI

Computer verhaftet“ „Hightech Gepäck System 'isst' Koffer“

Page 4: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fakten über Computerfehler

Fehlerfreie Software ist fast unmöglich.

Oft führen mehr als ein Faktor zu Fehler.

Fehler vermeidbar durch Befolgung erprobter Verfahrensweisen und Techniken.

Was kann schief gehen?

Page 5: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Verursacher von Computerproblemen: Anwender (Zu hause oder auf der Arbeit)

Unkenntnis der Grenzen der Rechner. Kein angemessenes Training. Verantwortungsloser Umgang.

Fachleute Unkenntnis von Fehlerursachen & Konsequenzen

Einkauf, Entwicklung oder administrieren komplexer Systeme.

Führungspersonal Unverständnis der Risiken bei Entscheidungen

Persönlichen, politischen, sozialen & ethischen.

Was kann schief gehen?

Page 6: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien

Probleme von Individuen:Sind meistens Benutzer, Konsumenten.Einzelschicksale.

Systemausfälle:Betreffen eine große Gruppe von Personen.Kosten sehr viel Geld.

Sicherheitskritische Anwendungen:Fehler können Personen verletzen/töten.

Was kann schief gehen?

Page 7: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Persönliche Probleme Abrechnungsfehler. Unkorrekte, unvollständige Datenbankeinträge.

Privacy Journal schätzt 25% fehlerhafte Krediteinträge. ca.11% der Haftbefehle des FBI in 80ern ungültig.

Leicht Erkennbar: häufig auftretende Berechnungsfehler.

Schwer: Datenfehler (falsche Einträge).

Datenfehler treten auch ohne Rechner auf.

Was kann schief gehen?

Page 8: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Persönliche Probleme: Gründe Große Bevölkerung. Fehler in Dateneinträgen. Information nicht aktuell. Fehlende Verantwortlichkeit für Fehler. Zu hohes Vertrauen in Daten. Kein gesunder Menschenverstand bei

automatischen Prozessen (matching).

Was kann schief gehen?

Page 9: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Systemausfälle

Kommunikationssysteme:Rundfunk und persönliche Kommunikation.

Transportsysteme:Organisation von Buchungen und Gepäck.

Handel:Lagerverwaltungssoftware.

Wirtschaft:Banken, Aktienhandel, etc..

Was kann schief gehen?

Page 10: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Systemausfälle: Gründe Zu wenig Zeit für Testen und Fehlersuche. Erhebliche Änderungen in der Spezifikation

(nach Projektstart). Zu großes Vertrauen in das System. Schlechte Projektleitung.

Fehler auch in anderen Systemkomponenten Oft erst durch zusammenwirken

Was kann schief gehen?

Page 11: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Sicherheitskritische Anwendungen Sicherheitskritische Anwendungen:

Militär, Kraftwerken, Flugzeugen, Zügen, autom.Fabriken, medizinischen Apparaten, …

Fehler führen schnell zum Tod. meiste Todesfälle in Luftfahrt und Medizin.

Wie sehr darf man sich auf Rechner verlassen? Wie weit darf die Kontrolle gehen?

Was kann schief gehen?

Page 12: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fehlerkategorien: Sich.krit. Anwendungen: Gründe

Zu hohes Vertrauen in das System. Fehlende Eingriffsmöglichkeiten. Unzureichende Testphase. Zu hohe Komplexität des Systems. Schlechtes Projektmanagement.

Was kann schief gehen?

Page 13: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Zuverlässigkeit und Sicherheit

Kleiner Tippfehler -> große Auswirkungen. Fehlerquellen in jeder Ebene:

von Design und Implementierung bis zu Systemmanagment und Benutzung).

Computer fallen aus weil:Die Aufgabe inhärent kompliziert ist.Sie schlecht erledigt wird.

Entwickler und Anwender zu sehr auf das System vertrauen.

Page 14: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Häufigste Fehlerquellen

Interaktion mit realen Geräten nicht wie erwartet Inkompatibilität zwischen Software und Hardware

oder Betriebssystem. Unaufmerksamkeit für potentielle Sicherheitsrisiken. Keine Berücksichtigung unerwarteter Eingaben. Nicht genügend Tests. Wiederverwendung von Software aus anderen

Systemen ohne angemessene Nachprüfung. Falsche Darstellung; verstecken von Problemen. ungenügendes reagieren auf gemeldete Fehler.

Zuverlässigkeit und Sicherheit

Page 15: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Probleme im Umgang mit dem System: Dateneingabefehler. Unzureichend geschulte Benutzer. Fehlinterpretierte Resultate/Ausgaben. Benutzer vertraut der Software zu sehr. Ungenügende Ausfallvorsorge; keine

Backupsysteme oder -prozeduren.

Zuverlässigkeit und Sicherheit

Page 16: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Wiederverwendete Software

Erhöht oder verringert Sicherheit?

Code lief in realen System fehlerfrei. Unerwartete Zustände in neuer Umgebung

ursprüngliche und neue Spezifikation untersuchen und neu testen.

Zuverlässigkeit und Sicherheit

Page 17: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Professionelle Techniken

Befolge bewährte Softwaretechniken in jeder Entwicklungsphase.

Konstruiere gut designte Benutzerschnittstelle.

Rechne mit dem ‘Menschlichen Faktor’. Baue Redundanz ein. Integriere Selbstests an geeigneten Stellen.

Zuverlässigkeit und Sicherheit

Page 18: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Gesetze und Vorschriften

Fördern Verantwortungsbewusstsein. Minimum an Qualität garantieren. Benutzer vor Schäden bewahren. Verursachte Schäden ausgleichen.

Verteuern das Produkt. Vorschriften sind schwer zu entwerfen. Gesetzeslage (besonders in den U.S.A) nicht

eindeutig.

Zuverlässigkeit und Sicherheit

Page 19: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Selbstregulierung

Kulanz durch wirtschaftlichen Druck (guter Ruf): Kunden nicht verärgern, bestmögliche Produkte.

Versicherungsgesellschaften: untersuchen Produkt wegen Versicherungsrisiko. schlechtes Produkt muss Schäden tragen.

Qualität eines Produktes vor Kauf erkennenbar? Massenp.: Erfahrungsberichte (Medien, Web). spezielle P.: s.o. oder Ruf der Firma verlassen,

evt. früheres Produkt begutachten.

Zuverlässigkeit und Sicherheit

Page 20: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Systemfehler, Abhängigkeit, Risiko und Fortschritt neu betrachtet Wie niedrig ist eine akzeptable Fehlerrate?

Wie hoch ist die Fehlerrate ohne Computer? Fehler besser korrigieren als Quelle suchen.

Wie viel Kontrolle?Rechnerunterstützung in Flugzeugen (‚ABS‘).Pilotenfehler ausgeschaltet, neue entstanden.70-80 sank Todesrate v. 0,8/100.000 auf 0,4.1990ern Abstürze um 85% gesunken

Page 21: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Abhängigkeit

Abhängig oder dran gewöhnt? Abhängiger als von Elektrizität? Computer sind flexibel, deshalb verbreitet. Werkzeuge vereinfachen Arbeit.

Systemfehler, Abhängigkeit, Risiko und Fortschritt

Page 22: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Risiko und Fortschritt

Je größer Werkzeuge werden, desto fehleranfälliger und gefährlicher.

Risiko ist bestandteil des Lebens.

Entwicklungen entstehen oft aus Zwischenfällen.

Computertech. entwickelt sich rasant. Computer können Entscheidungen treffen.

Systemfehler, Abhängigkeit, Risiko und Fortschritt

Page 23: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Beobachtungen

Ähnliche Sicherheitsthemen auch in anderen Technologiebereichen.

Perfektion ist keine Option. 'Lernkurve' bei neuen Technologien. Risiko mit nicht computerisierte

Alternativen vergleichen.

Systemfehler, Abhängigkeit, Risiko und Fortschritt

Page 24: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Modelle und Simulationen

Helfen mit wenig Kosten Entscheidungen zu treffen.

Models sind Vereinfachungen realer Systeme.

Modelle unterscheiden sich in der Qualität. Entwickler müssen ehrlich und genau

bezüglich der Resultate sein.

Page 25: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Weshalb Modelle ungenau sind

Verzerrung der Ergebnisse aus politischen oder wirtschaftlichen Gründen.

Nicht komplettes Wissen über das modellierte System.

Daten sind lückenhaft oder unvollständig. Rechenkraft ist für alle Berechnungen nicht

ausreichend. Einige Variablen sind schwer in Werte zu fassen

Modelle und Simulationen

Page 26: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Güte eines Modelles einschätzen

Wie gut erforscht sind: Wissenschaften oder Theorien? relevante Materialeigenschaften?

Wie genau und komplett sind die Daten? Wo wurden Vereinfachung und Annahmen

getroffen? Wie nah sind Ergebnisse an realen Tests?

Simulationen ersetzen keine realen Sicherheitstests!

Modelle und Simulationen

Page 27: Können wir dem Rechner vertrauen (Kapitel 4) ? Seminar Softwaretechnik SS04 Referent: Patrick Mukherjee Matr.Nr.: 181978 Veranstalter: Jähnichen, Bittner,

Fazit

Nur durch genaue Kenntnis des Systems können wir Risiken einschätzen.

Es gibt keine risikolosen Systeme. Man sollte nicht zu sehr in Software

vertrauen. Alternativen sind oft riskanter und

unproduktiver.