Outline for June 2, 1997
- Greetings and Felicitations
- VAX VMM Security Kernel Design Approach
- Layers (from lowest to highest):
- VAX hardware
- modified microcode for virtualization
- hardware interrupt handlers
- lower-level scheduler; for real system
- I/O services: device drivers controlling real I/O devices
- VM-physical space manager: manages physical memory, assigns it to VMs
- VM-virtual space manager: shadow page tabvles used by VM page managers
- higher-level scheduler
- audit trail
- files-11 Files: subset of ODS-2 file system, used by VMS; all files must be
preallocated and contiguous volumes: registries of objects, implements volumes
- virtual terminals: physical terminal lines, virtual terminals
- virtual printers: VM printers, labelling of output
- kernel interface: virtual I/O & security function
controllers (loading virtual disks onto virtual drives)
- secure server/virtual VAX: implements trusted path/emulates sensitive
instructions
---------security perimeter---------
- virtual machine OS: virtual machine's OS
- users
- Programming Language
- Want strong typing, but also ability to compile very
large programs correctly, produce high-quality VAX code, and be supported;
limited choices to 3 langs:
- BLISS-32; not strongly typed
- PASCAL; high-quality code generation not yet available
- C; good code generator, but not much experience with it
- PL/I; same code generator as C, better typing support, more experience
- When PASCAL compiler became available, switched to it.
Also used MACRO-32, the assembler (out of 49,000
lines, 11,500 were in assembler, 29,500 in PASCAL, and 8,000 in PL/I)
- Coding Strategies: avoid use of global pools (like sharing input buffers) to
minimize covert channels; different sections of kernel memory separated by
no-access pages, to force failures on buffer overflows; unused memory
initialized to 1's, not 0's, to increase chances of faulting; used special
mamagement systems to enforce layering
- Human Interfaces
- Secure Server: commands implemented in trusted code; SECURE commands
(administrative commands) are parsed in VM.
- BREAK key = SAK; controls terminal connections
- SECURE commands: VM secure executed in context of issuing VM; User secure
executed by Secure Server. Latter provides trust & accountability due to
trusted path and SS displaying command from within the Secure Server
- Network Security
- Quick review of ISO/OSI model
- Link v. end-to-end encryption
- Network Security Threats (review)
- snooping
- modification
- masquerading
- replay
- delay
- denial of service
- repudiation of origin
- denial of receipt
Notes by Eric Rosenthal
[TXT]
You can get this document in
Postscript,
ASCII
text,
or
Framemaker
version 5.1.
Send email to
cs253@csif.cs.ucdavis.edu.
Department of Computer Science
University of California at Davis
Davis, CA 95616-8562
Page last modified on 6/12/97