Joller-Voss Nachdiplomkurs Java - Java Certification
Sommer Semester,
Java Security Konstrukte und Konzepte
Kursunterlagen Index

Zielpublikum Software-Entwickler
Vorkenntnisse Java Grundlagen
Kursbeginn jederzeit
Kursdauer 1 Abend / 1/2 Tag

Inhaltsverzeichnis - Java 2 Security Konzepte

KURSZIELE
Sie kennen die grundlegenden Sicherheitskonzepte von Java 2 und können
diese in der Praxis anwenden.

KURSUNTERLAGEN
Skript (PDF)
Beispiele (ZIP)
Jasmin (JVM Assembler) (ZIP)

KURSINHALTE
EINFÜHRUNG  IN  JAVA SECURITY	1
1.1.1.	Übersicht	2
1.1.2.	Lernziele	2
1.2.	MODUL 1 - ÜBERSICHT ÜBER DIE JAVA SECURITY	3
1.2.1.	EinfÜhrung	3
1.2.1.1.	Lernziele	3
1.2.2.	Was ist Security?	3
1.2.2.1.	Referenzen	3
1.2.3.	Gute Security Praktiken	4
1.2.4.	Security Praxis und Java	6
1.2.5.	Das Sandbox Sicherheitsmodell	7
1.2.6.	Selbsttestaufgaben	9
1.2.7.	Musterlösungen	10
1.2.8.	Zusammenfassung - Übersicht Über Java Security	11
1.3.	MODUL 2 - JVM UND DER VERIFIKATIONSPROZESS	12
1.3.1.	EinfÜhrung	12
1.3.2.	Java Virtual Machine	13
1.3.3.	Java Interpreter	14
1.3.4.	Class Datei Verfier	15
1.3.5.	Typensicherheit	20
1.3.6.	Fehler im Verifier frÜherer JDKs	21
1.3.7.	Typenvort&AUml;uschung	21
1.3.8.	Verifier und Class Loader Attacken	22
1.3.9.	Kimera Projekt	24
1.3.10.	Was wurde unternommen	25
1.3.10.1.	Formale Modelle	25
1.3.10.2.	Java Kompatibilitätstest	25
1.3.10.3.	Java Kompatibilität versus 100% Pure Java	25
1.3.10.4.	Java Compatibility Kit	26
1.3.10.4.1.	Java Test Harness	26
1.3.10.4.2.	Kompatibilitätseinschränkungen	26
1.3.10.4.3.	Test Komplexität	26
1.3.10.4.4.	Testwerkzeuge	26
1.3.10.4.5.	Testprozesskomplexität	27
1.3.10.4.6.	Zu testende Komponenten	27
1.3.10.4.7.	Compilertests	27
1.3.10.4.8.	Virtual Machines	27
1.3.10.4.9.	API Libraries	27
1.3.10.4.10.	Erweiterungen des JCK	27
1.3.11.	Indirekte AusfÜhrung	28
1.3.12.	Übungen - mit Bytecode arbeiten	29
1.3.12.1.	Der Kimera Verifier und Disassembler	29
1.3.12.1.1.	Schritt 1 - HelloWorld.java	29
1.3.12.1.2.	Schritt 2 - Der Kimera Verifier	30
1.3.12.1.3.	Kimera Bytecode Verification - Literaturauszug	30
1.3.12.1.4.	Schritt 3 - Die Kimera Ausgabe	31
1.3.12.1.5.	Schritt 4 - Aufruf des Java Verifiers	32
1.3.12.1.6.	Schritt 5 - Der Kimera Disassembler Literaturauszug	32
1.3.12.1.7.	Schritt 6 - Ausgabe des Kimera Disassemblers	33
1.3.12.1.8.	Schritt 7 - Vergleich der Ausgabe von javap und des Kimera Disassemblers	34
1.3.12.2.	Konstruktion einer Klasse, die im Verifier verworfen wird	35
1.3.12.2.1.	Kimera Byte Code Verifiers Ausgabe	35
1.3.12.2.2.	Kimera Disassembler Ausgabe	37
1.3.12.3.	Jasmin - ein Java Assembler Interface	38
1.3.13.	Quiz	40
1.3.14.	Zusammenfassung des Moduls	41
1.4.	MODULE 3 - CLASS LOADERS	42
1.4.1.	Einleitung	42
1.4.1.1.	Lernziele	42
1.4.1.2.	Referenzen	42
1.4.2.	Wann werden Klassen geladen?	43
1.4.3.	Wie wird eine Klasse geladen?	44
1.4.3.1.	Validieren des Klassennamens	45
1.4.3.2.	ÜberprÜfen des Cache	46
1.4.3.3.	ÜberprÜfen der Oberklasse des Class Loaders	47
1.4.3.4.	Kreieren einer Referenz auf eine Datei oder ein Verzeichnis	48
1.4.3.5.	Laden des Bytecodes	48
1.4.3.6.	Installieren der Klasse	48
1.4.3.7.	Installieren der Klassen	49
1.4.3.8.	Klasse im Cache einfÜgen	49
1.4.3.9.	Die Klasse auflösen	49
1.4.4.	Class Loaders	50
1.4.4.1.	Standard Class Loader	50
1.4.5.	Kreieren eigener Class Loader	51
1.4.6.	Laden von Ressourcen	52
1.4.7.	Class Loaders ab JDK 1.2	53
1.4.8.	Class Loader Sicherheitsfragen	54
1.4.9.	Übungen	56
1.4.9.1.	Mit dem Cache arbeiten	56
1.4.9.2.	Checksum Validation	61
1.5.	MODUL 4 - SECURITY MANAGER	63
1.5.1.	Einleitung	63
1.5.2.	Security Manager - Übersicht	64
1.5.3.	Security Managers und Applikationen	66
1.5.4.	Die checkXXX Methoden	66
1.5.5.	Methoden und Operationen	67
1.5.6.	FileInputStream Beispiel	68
1.5.7.	Kreieren eines eigenen Security Managers	71
1.5.8.	Security Manager Methoden	71
1.5.9.	Installieren eines Security Managers	74
1.5.10.	Datei Zugriff	74
1.5.11.	Nach der Installation	74
1.5.12.	Übung - Security Manager	75
1.5.12.1.	SampleClassLoader	75
1.5.12.2.	SampleSecurityManager	77
1.5.12.3.	Sum - Checksumme	80
1.5.12.4.	Runner	81
1.6.	MODUL 5 - ERWEITERUNG DES SANDBOX SECURITY MODELLS	82
1.6.1.	Einleitung	82
1.6.1.1.	Lernziele	82
1.6.1.2.	Referenzen	82
1.6.2.	Kurzwiederholung - Das Sandbox Security Modell	83
1.6.3.	Die Sandbox schÜtzt nicht	84
1.6.4.	Applet Fähigkeiten	84
1.6.5.	Das Java Protection Domain Sicherheitsmodell	85
1.6.6.	Protection Domains	87
1.6.7.	Security Policy Datei	88
1.6.8.	Domains und Permissions	93
1.6.9.	Quiz	95
1.6.10.	Zusammenfassung - Erweiterung des Security Modells	97
1.7.	MODUL 6 - JAVA JDK SECURITY KLASSEN	98
1.7.1.	Einleitung	98
1.7.2.	Lernziele	98
1.7.3.	Referenzen	98
1.7.4.	Permissions und Security Policy	99
1.7.4.1.	java.security.BasicPermission	99
1.7.4.2.	java.security.Policy	99
1.7.4.3.	java.security.CodeSource	100
1.7.4.4.	java.security.Permission	100
1.7.4.5.	Die java.security.Permission.implies() Methode	101
1.7.4.5.1.	Beispiel - implies() Methode fÜr java.io.FilePermission	101
1.7.4.6.	PermissionCollection	102
1.7.4.7.	PermissionCollection	102
1.7.5.	Access Control - Zugriffskontrolle	103
1.7.6.	Exceptions	106
1.7.6.1.	java.lang.SecurityException	107
1.7.6.2.	java.security.GeneralSecurityException	108
1.7.7.	PropertyPermission Class Analysis	109
1.7.7.1.	Andere Permission Klassen	109
1.7.8.	Einsatz der Permission Klassen	111
1.7.9.	Neue Permission Typen	112
1.7.10.	Quiz	113
1.7.11.	Übung	114
1.7.12.	Modul Zusammenfassung	124
1.8.	ZUSAMMENFASSUNG	125




Copyright ©, Alle Rechte vorbehalten.
Josef M. Joller
Heute ist (lokale Zeit)