TrustSoft - Graduate School on Trustworthy Software Systems

Profil

Sorry, only a German version of the profile is available.

Papers about TrustSoft:

Press releases (in German):

 

 

Zentrale Forschungsidee

Unter dem Begriff Vertrauenswürdigkeit von Software werden in der Regel verschiedene Qualitätsattribute zusammengefasst (Abb. 1): Korrektheit (engl. correctness), Zuverlässigkeit (engl. reliability), Verfügbarkeit (engl. availability), Performanz (engl. performance), Sicherheit (engl. safety und security) und Einhaltung von Datenschutzrichtlinien (engl. privacy). Wie die englische Übersetzung des deutschen Begriffs "Sicherheit" zeigt, besitzt dieser Begriff zwei verschiedene Bedeutungen: (a) im Bezug auf Angriffe (wie unerlaubtes Einsehen in Daten, Zerstörung oder Missbrauch des Systems, engl. security) und (b) die Minimierung der Risiken bei Nutzung der Software für Mensch und Umwelt (engl. safety). Wegen der Doppeldeutigkeit des deutschen Begriffes "Sicherheit" und der stärkeren Griffigkeit des englischen "Privacy" werden im folgenden, falls notwendig, die englischen Begriffe verwendet.

TrustSoft Forschungsgebaeude
Abbildung 1: Das Forschungsgebäude

Der Aspekt der Vertrauenswürdigkeit von Software-Systemen hat international an Bedeutung gewonnen, sowohl in der Forschung als auch in vielen Anwendungsgebieten. Aus den folgenden Gründen ist davon auszugehen, dass sich dieser Trend in der Zukunft weiter verstärken wird:

  1. Die Einsatzmöglichkeiten von Software erweitern sich ständig. Software-Systeme werden sich aber nur dann in vielen neuen Anwendungsgebieten etablieren können, wenn sie sich von vornherein als vertrauenswürdig demonstrieren lassen. Beispiele sind vernetzte, personalisierte Informationssysteme im Internet und eingebettete Systeme in der Automobiltechnik.
  2. Die rechtliche Praxis, Software-Systeme prinzipiell nicht nach den in den Ingenieurwissenschaften üblichen Maßstäben zu zertifizieren und Hersteller dieser Systeme weitgehend aus der Haftung zu entlassen, wird auf Dauer nicht haltbar sein. Vielmehr werden Anbieter, die eine ingenieurmäßige Zertifizierung nachweisen und die Übernahme von Haftungsverpflichtungen garantieren können, einen massiven Wettbewerbsvorteil erringen. Beispiele für die steigende Bedeutung von Software-Zertifizierung und unterstützender software-technischer Maßnahmen finden sich im Bereich von Software für öffentliche Auftraggeber [1], insbesondere in England bei vorschriebenem Einsatz formaler Methoden [2][3].

Im Forschungsprogramm des Graduiertenkollegs soll insbesondere der Ansatz der komponentenbasierten Software-Entwicklung weiterentwickelt werden. Dabei wird der Begriff der Komponentenbasierung bewusst paradigmatisch weit gefasst, d.h., darunter verstehen wir hier neben der Komposition von Software aus bestehenden Software-Komponenten auch Verfahren zum kompositionellen Schließen sowie analytische Vorhersagemodelle für Qualitätseigenschaften, die ausnutzen, dass Komponenten reichhaltige Schnittstellen (engl. "rich interfaces") besitzen, die ihre Qualitätseigenschaften spezifizieren. Ein wesentlicher Vorteil dieses Ansatzes besteht auch darin, dass komplexe Software-Systeme so schrittweise aus Komponenten konstruiert und bewertet werden können. Komponenten können rekursiv wieder aus Komponenten bestehen. Ebenso gehören zur Komponentenbasierung auch juristische Fragen des Haftungsanspruches bei Software, die aus Komponenten evtl. verschiedener Hersteller gefertigt wird und daraus sich ergebende spezifische Anforderungen an die Zertifizierung von Komponenten und komponentenbasierter Systeme.

  • Innovative Fragestellungen

    Das Innovationspotenzial des beantragten Graduiertenkollegs besteht in seiner umfassenden Behandlung von Vertrauenswürdigkeit. Dabei bezieht sich das Attribut umfassend auf (a) die Behandlung aller relevanten Qualitätsattribute, (b) die durchgängige Behandlung aller Abstraktionsniveaus von Einzel-Software-Komponenten bis zum Gesamtsystem und (c) die gemeinsame Bearbeitung juristischer und informatischer Fragestellungen. Allerdings wird sich auf Software-Entwurfsverfahren konzentriert.

    Viele Qualitätsattribute verhalten sich bei Software antagonistisch: beispielsweise wirkt sich eine Optimierung der Security oft negativ auf die Performanz aus, ebenso wie eine Erhöhung der Performanz die Datensicherheit senken kann. Gerade dieser antagonistische Zusammenhang von Qualitätsattributen erfordert eine umfassende und gemeinschaftliche Behandlung aller für Vertrauenswürdigkeit notwendigen Qualitätsattribute, da die bisherige zumeist isolierte Betrachtung von einzelnen Qualitätsattributen der Komplexität der in der Praxis auftretenden Entwurfsentscheidungen (die fast immer mehrere Qualitätsattribute betreffen) nicht gerecht wird. Gerade durch die Betrachtung mehrerer Qualitätsattribute als multidimensionales Optimierungsproblem entstehen innovative wissenschaftliche Fragestellungen.

    Eine besondere Innovationskraft entsteht durch die gemeinsame Forschung von Juristen und Informatikern in interdisziplinären Vorhaben. Es ergeben sich starke Synergieeffekte zwischen juristischen Fragestellungen und Informatik-Forschungsfeldern. Zum einen können Informatiker Modelle, Methoden und Werkzeuge zur Systemspezifikation und -analyse bereitstellen, die genau die Information verfügbar machen, die zur juristischen Beurteilung von Zertifizierungs- oder Haftungsfragen benötigt werden. Zum anderen sollten sich juristische Vorgaben an der zur Verfügung stehenden Information und der Durchführbarkeit von Verfahren orientieren. Neuartig am Forschungsprogramm des Graduiertenkollegs ist besonders die gemeinsame Arbeit mit der Rechtsinformatik an einem informatisch derartig umfassenden Begriff der Vertrauenswürdigkeit.

    Die im Forschungsprogramm eingesetzten wissenschaftlichen Methoden hängen naturgemäß von den betrachteten Qualitätsattributen von Vertrauenswürdigkeit ab. So wird Korrektheit durch mathematische Beweise nachgewiesen [4], quantifizierbare Qualitätsattribute, wie Verfügbarkeit oder Performanz, benötigen analytische Vorhersagemodelle, die einer zusätzlichen Validierung und Kalibrierung durch empirische Untersuchungen bedürfen ([5], pp. 179). Allgemein sollte der Fortschritt neuer Modelle und Prozesse im Software Engineering durch Fallstudien und kontrollierte Experimente empirisch nachgewiesen werden [6].

    Der Begriff der "vertrauenswürdigen" Rechenanlagen (engl. "Trusted Computer Systems") wird 1981 erstmals von Tasker verwendet [7] in Bezug auf Security und Privacy. Vertrauen (engl. "Trust") in Bezug auf Software wurde 1984 von Thompson bei Source-Code Analysen diskutiert [8]. Vertrauenswürdigkeit wird hier allgemeiner als die Eigenschaft des Codes aufgefasst, nichts anderes auszuführen, als das, was von ihm erwartet wird. In [9] werden code-basierte Datenfluss-Analysen für die Vertrauenswürdigkeit von Daten eingeführt.

    Im Internet-Zeitalter wird der Begriff Vertrauenswürdigkeit in Bezug auf e-Commerce präzisiert und teilweise weiter gefasst: funktionale Korrektheit, ebenso wie Zuverlässigkeit und Verfügbarkeit spielen eine Rolle [10][11]. Dem gegenüber steht weiterhin auch die engere Verwendung des Begriffs der Vertrauenswürdigkeit in Bezug auf Security und Privacy [12][13].

    Bestehende Initiativen und Projekte im Bereich vertrauenswürdiger Systeme zeigen die stark wachsende Bedeutung dieses Gebiets. Im Gegensatz zum beschriebenen Forschungsprogramm beziehen sich viele Arbeitsgruppen auf bestimmte einzelne Faktoren, Qualitätsattribute oder Artefakte. Beispielsweise stehen bei [14] ausschließlich subjektive und soziale Faktoren im Vordergrund. Dem Graduiertenkolleg stehen thematisch die Projekte am nächsten, die formale und technische Faktoren für Vertrauenswürdigkeit betrachten. Diese Projekte konzentrieren sich entweder auf bestimmte Phasen (z.B. Komponentenkonstruktion [15], kompositionelle Vorhersagemodelle für Qualitätsattribute wie z.B. Zuverlässigkeit [16]), oder es werden lediglich einzelne Qualitätsattribute, wie Performanz und Verfügbarkeit [17]) betrachtet. Andere Ansätze betrachten ausschließlich bestimmte Artefakte (z.B. Agenten [18]) oder Subsysteme (z.B. User Interfaces [19]). Nochmals interessanter ist jedoch im Zusammenhang mit diesem Graduiertenkolleg ein breiter Begriff der Vertrauenswürdigkeit von Software-Komponenten [20][21], der explizit neben Security und Privacy auch Korrektheit und Zuverlässigkeit einschließt.

    Die augenblickliche Debatte um "trustworthy computing", die im wesentlichen von Microsofts "Trusted Computing Platform Alliance" [22] bzw. Sun Microsystems "Liberty Alliance" [23] geprägt sind, stellt primär die Dimensionen Security und Privacy in den Vordergrund. Dies hat sich auch durch die nachfolgende Gründung der "Trusted Computing Group" aus der TCPA nicht geändert. Vertrauenswürdigkeit wird in diesem Antrag ähnlich wie "Verlässlichkeit" (engl. dependability) als multidimensionaler Begriff verstanden. Dependability umfasst i.d.R. die Dimensionen Verfügbarkeit, Zuverlässigkeit, Safety und Security ([24], p. 354). Daher stellt Vertrauenswürdigkeit eine Erweiterung von Dependability um die Dimensionen Korrektheit, Performance und Privacy dar. Gerade im Bereich sicherheitskritischer eingebetteter Systeme wurden die o.a. Dimensionen von Dependabilty umfangreich untersucht [25][26][27][28][29][30][31]. Allerdings steht eine Integration dieser Ergebnisse (die oft nur einzelne Dimensionen isoliert betrachten) mit Software-Entwurfstechniken noch aus. Erste Ansätze (z.B. im Bereich Fehlerbehandlung [32] sind wegen der Einbettung von Dependability innerhalb der Vertrauenswürdigkeit von Bedeutung. Aufgrund dieser Einbettung sind auch Herausforderungen beider Gebiete ähnlich [33], wie z.B. das kompositionelle Schließen von Eigenschaften eingesetzter Einzelkomponenten auf globale System-Eigenschaften oder der Entwurf, Zertifizierung solcher Systeme [34] und die Verifikation selbst-stabilisierender Architekturen [35].

    Das Forschungsprogramm des SFB/Transregio AVACS fokussiert auf die Weiterentwicklung algorithmischer Verfahren zum Nachweis der Korrektheit komplexer sicherheitskritischer, eingebetteter Systeme. Das Graduiertenkolleg ergänzt und komplementiert diese Forschungen, da es methodisch und inhaltlich deutlich weiter gefasst ist als der SFB. Im Graduiertenkolleg wird umfassend Vertrauenswürdigkeit betrachtet, und es werden software-technische und juristische Fragestellungen miteinbezogen. Sofern einzelne Vorhaben sich mit Verifikationsfragen auseinandersetzen, werden der Bezug und die Abgrenzung zu AVACS deutlich gemacht.

Literatur

[1] W. DRÖSCHEL, W. HEUSER, R. MIDDELHOFF (Herausgeber): Inkrementelle und objektorientierte Vorgehensweisen mit dem VModell 97. Oldenbourg Verlag, München, 1998.

[2] BROWN, M. J. D.: Rationale for the Development of the UK Defence Standards for Safety-Critical Computer Software. In: Compass '90: 5th Annual Conference on Computer Assurance, Seiten 144-150, Gaithersburg, Maryland, 1990. National Institute of Standards and Technology.

[3] DEF-STAN-00-55: The Procurement of Safety Critical Software in Defence Equipment: Part 1 Requirements & Part 2: Guidance. Nummer 00-55. UK Ministry of Defence, Kentigern House, 65 Brown Street, Glasgow G2 8EX, UK, 1991.

[4] APT, K.-R. und E.-R. OLDEROG: Verification of Sequential and Concurrent Programs. Springer-Verlag, 2. Auflage, 1997.

[5] HAVERKORT,BOUDEWIJN R., RAYMOND MARIE, GERARDO RUBINO und KISHOR S. TRIVEDI: Performability Modelling : Techniques and Tools. Wiley & Sons, New York, NY, USA, 2001.

[6] TICHY, W.: Should Computer Scientist Experiment More? - 16 Reasons to Avoid Experimentation. IEEE Computer, 31(5):32-40, 1998.

[7] TASKER, P. S.: Trusted Computer Systems. In: Proceedings of the 1981 Symposium on Security and Privacy (SSP '81), Seiten 99-100, Los Alamitos, Ca., USA, April 1990. IEEE Computer Society Press.

[8] THOMPSON, KEN: Reflections on Trusting Trust. CACM, 27(8):761-763, August 1984. Turing Award lecture.

[9] ØRBÆK, PETER: Trust and Dependence Analysis. Doktorarbeit, Dept. of Computer Science, Univ. of Aarhus, 1997. BRICS ReportDS972.

[10] ROSENBLOOM, ANDREW: Trusting technology: introduction. Commun. ACM, 43(12):31-32, 2000.

[11] BALDWIN, ADRIAN, YOLANTA BERES, MARCO CASASSA MONT und SIMON SHIU: Trust Services: A Trust Infrastructure for E-Commerce. Technischer Bericht HPL-2001-198, Hewlett Packard Laboratories, August 2001.

[12] SCHNEIDER, FRED B. (Herausgeber): Trust in Cyberspace. National Academy Press, 1998. Committee on Information Systems Trustworthiness, Computer Science and Telecommunications Board, Commission on Physical Sciences, Mathematics, and Applications, National Research Council.

[13] LEHTI, ILARI und PEKKA NIKANDER: Certifying Trust. Lecture Notes in Computer Science, 1431:83-98, 1998.

[14] LUO, W. und M. NAJDAW I: Trust-building measures: a review of consumer health portals. Commun. ACM, 47(1):108-113, 2004.

[15] MEYER, BERTRAND: Towards practical proofs of class correctness. In: Proceedings of 3rd International Conference on Formal Specification and Development in Z and B (ZN 2003), Band 2651, Seiten 359-387. Springer, Juni 2003.

[16] REUSSNER, R. H., H. W. SCHMIDT und I. H. POERNOMO: Reliability prediction for component-based software architectures. Journal of Systems and Software, 66(3):241-252, 15 June 2003.

[17] VOAS, J.: Why is it so hard to predict software system trustworthiness from software component trustworthiness? In: The 20th IEEE Symposium on Reliable Distributed Systems (SRDS '01), Seiten 179-181, Washington - Brussels - Tokyo, Oktober 2001. IEEE.

[18] URL: http://research.ecs.soton.ac.uk/projects/TSAS.html. Letzter Zugriff am: 01.02.2004.

[19] MARSH, STEPHEN und JOHN MEECH: Trust in design. In: CHI '00 extended abstracts on Human factors in computing systems, Seiten 45-46. ACM Press, 2000.

[20] MEYER, B., C. MINGINS und H. SCHMIDT: Object Technology: Providing Trusted Components to the Industry. Computer, 31(5):104-105, Mai 1998.

[21] MEYER, BERTRAND: The grand challenge of Trusted Components. In: Proceedings of the 25th International Conference on Software Engineering (ICSE-03), Seiten 660-667, Piscataway, NJ, Mai 3-10 2003. IEEE Computer Society.

[22] URL: http://www.trustedcomputing.org/. Letzter Zugriff am: 01.02.2004.

[23] URL: http://www.projectliberty.org/. Letzter Zugriff am: 01.02.2004.

[24] SOMMERVILLE, IAN: Software Engineering. Addison-Wesley, 6. Auflage, 2001.

[25] LAPRIE, J. C. (Herausgeber): Dependability: Basic Concepts and Terminology. Springer-Verlag, 1991.

[26] LEVESON, N. G.: SAFEWARE: System Safety and Computers. Addison-Wesley Publishing Company, 1995.

[27] RUSHBY, J.: Formal Specification and Verification for Critical Systems: Tools, Achievements, and Prospects. In: WALTER, C. J., M. M. HUGUE und NEERAJ SURI (Herausgeber): Advances in Ultra-Dependable Distributed Systems. IEEE Computer Society, 10662 Los Vaqueros Circle, Los Alamitos, CA 90720, Januar 1995.

[28] LYU, MICHAEL R. (Herausgeber): Handbook of Software Engineering Reliability. McGraw-Hill, New York, 1996.

[29] STOREY, N.: Safety Critical Computer Systems. Addison-Wesley, 1996.

[30] MUSA, JOHN D.: Software Reliability Engineering. McGraw-Hill Osborne Media, 1998.

[31] LITTLEWOOD, BEV und LORENZO STRIGINI: Software reliability and dependability: a roadmap. In: Proceedings of the conference on The future of Software engineering, Seiten 175-188. ACM Press, 2000.

[32] ROMANOVSKY, ALEXANDER: Advances in exception handling techniques, Band 2022 der Reihe Lecture Notes in Computer Science. Springer-Verlag Inc., New York, NY, USA, 2001.

[33] SONNECK, G., E. SCHOITSCH und L. STRIGINI: A Holistic View on the Dependability of Software-Intensive Systems. In: Proc. 17th International Computer Safety, Reliability and Security Conference - SAFECOMP '98, Seiten 369-379, 1998.

[34] VOAS, J.: Certifying Software for High-Assurance Environments. IEEE Software, 16(4):48-54, Juli / August 1999.

[35] URL: http://www.cs.ukc.ac.uk/wads. Letzter Zugriff am: 01.02.2004.