Win32 Programming
Download
Report
Transcript Win32 Programming
Secure Operating Systems
Lesson 10: SCOMP
Where are we?
Multics is busy being explored, which is kind
of cool…
But Multics wasn’t the end of custom built
operating systems designed with security in
mind: it’s natural successor was SCOMP
SCOMP: Verification
Unlike Multics, the designers of SCOMP
wanted verifiable security, and so the goal
was chase the fledgling TCSEC A1 evaluation
We don’t see formal methods a lot day to day,
but the value is we (theoretically) know the
product conforms to its specfications
However, we do NOT know if the specifications
are good…
A Quick Aside: TCSEC
Trusted Computer System Evaluation Criteria
AKA “Orange book” from the “Rainbow
series”
TCSEC still matters, though it was replaced
by what is known as the “common criteria” in
2005
Defined multiple levels of security for a
system (note that word)
Orange Book A-D
D: Minimal Protection
C: Discretionary Protection
B: Mandatory Protection
C1 – discretionary security protection
C2 – Controlled access protection
Labeled Security Protection, Structured Protection,
Security Domains (B1, B2, B3)
A: Verified Protection
A1 – Verified design
Beyond A1 – speaks to physical root of trust etc.
Design Choices
Some of the design choices in SCOMP were,
I think, interesting
The designers threw some compatibility away
in the name of security, which I think was
clever – as such, SCOMP was not Unix
One particular problem they tried to address
was interfacing groups with different security
levels – a tough problem
Reference Monitor
Remember, the requirements for a reference
monitor:
Complete mediation
Isolation
Verification
The “Security kernel” concept
Segment Access Control
Simple ACL
Segments: read, write, execute
Directories: status, modify, append
However. The SDW also includes rings and
brackets – this can be a little tricky
To grant access, the ACL and Access brackets
must both allow…
Mediation
Memory protection looked like this in
SCOMP (source: “SCOMP: A Solution to the
Multilevel Security Problem”):
Isolation
Just like Multics, though there were 4 rings
(sound familiar?)
Ring brackets were used (just like Multics) to
provide control over operations
SCOMP Hardware Implementation
SCOMP used a security protection module
which interfaced with the Virtual Memory
Interface Unit
The mechanism of the
SPM is critical to SCOMP
Mediation is trap based
Clever: IO
SCOMP used descriptors for IO, similar to
memory descriptors
Because mediation happens in hardware, the
drivers themselves do not need to be in Ring
0, decreasing the size (attack surface) of the
security kernel
Remember, this is all A1 stuff… what happens
when we change it?
DMA
SCOMP did allow DMA for speed
The initial transfer is mediated by the SPM
There is a similar approach taken to virtual
addresses, which is a little safer (why?)
Argument Addressing Mode
Remember that whole confused deputy thing?
SCOMP had an “argument addressing mode”
which allowed the system to attempt to access
parameters with the level of protection of the
caller in hardware (avoiding software checks
– clever stuff)
SCOMP was small
Security Kernel: about 10k lines
Trusted software: about 11k lines
SCOMP also has a “secure attention” key,
which allowed a user to be sure that they were
accessing the OS not something “in the
middle”
SCOMP Kernel Interface Package
SKIP:
Provide a hierarchical multilevel file system
Provide the ability to create child processes
Allow for process synchronization
Provide an efficient interface
Provide a low-level general purpose interface
Not an OS, but an interface to a secure
environment
Things to Do
Read: “SCOMP: A Solution to the Multilevel
Security Problem”
Questions & Comments
What do you want to know?