Präsentation herunterladen
Die Präsentation wird geladen. Bitte warten
Veröffentlicht von:Fulco Egbert Geändert vor über 10 Jahren
1
Sichere Softwarekomponenten AG Heiß Universität Paderborn
2
Motivation zKomplexe Software ySoftware ist zunehmend aus Komponenten aufgebaut, bzw. durch Komponenten erweiterbar. yKomponenten werden von Drittherstellern produziert. yDer Benutzer ist überfordert mit der Entscheidung, ob eine Komponente vertrauenswürdig ist. zProbleme: yKomponenten können Fehler enthalten. yKomponenten können böswillig sein.
3
Motivation zFehlerhafte Komponenten können z.B. ydas Programm abstürzen lassen, yunbeschränkt Ressourcen anfordern, yIn Endlosschleifen laufen
4
Motivation zBöswillige Komponenten könnten z.B. yabsichtlich Fehler verursachen, yFremddaten manipulieren, yandere Komponenten ausspionieren.
5
Gestaltungsparameter zVerschiedene Komponenten in einer VM yFunktionsaufrufe sind 60 bis 180 mal schneller als Kontextwechsel yReferenzen zu übergeben ist erheblich schneller als Kopien zu erzeugen yObjektserialisierung ist langsam
6
Gestaltungsparameter zAber: yRessourcenverbrauch muss eindeutig zugeordnet werden können. yFunktionsaufruf bedeutet, die Kontrolle über den Thread an andere Komponente zu übergeben. yFehler in einer Komponente soll nicht notwendigerweise Programm oder VM beenden.
7
RMI (Sun) zGetrennte VMs yKompletter Schutz yReferenzen können nicht ausgetauscht werden yObjekte werden immer kopiert ykomplizierter zu programmieren ylangsam, schlecht geeignet für feingranulare Kommunikation
8
Kaffe OS (Transvirtual) zGetrennte Heaps yJeder Thread führt nur Code einer Komponente aus ySpeicherverbrauch kann eindeutig zugeordnet werden ylangsame Prozesskommunikation über Shared Memory Areas yKommunikation nur mit vordefinierten Typen ykeine direkten Funktionsaufrufe
9
J Kernel (Cornell) zCapabilities, Protection Domains yKomponenten operieren in separaten Domänen yTrennung zwischen lokalen und geteilten Objekten yCapabilities repräsentieren Daten einer anderen Komponente, können aberkannt werden yImplementiert durch eigenen ClassLoader, der Code modifiziert und Stubs für Kommunikation zwischen Domänen.
10
J Kernel (Cornell) zCross-Domain Calls yObjekte, die keine Capabilities sind, werden als Kopien übergeben ykein Threadwechsel, Thread wechselt die Domain yBlockierend, evtl. kehrt Ausführung nie zum Aufrufer zurück yRessourcen können nicht einer Domain zugeordnet werden
11
Diplomarbeit (Uni Paderborn) zZuordnung von Ressourcen yJedes Objekt wird einem Kontext zugeordnet yGarantie, das Funktionsaufrufe zurückkehren yEintritt in fremde Funktion ohne Threadwechsel ykeine Modifikation der VM yRessourcenkontrolle
Ähnliche Präsentationen
© 2024 SlidePlayer.org Inc.
All rights reserved.