Weiter | Weiter | Weiter | Weiter | Kommentar

all-inOne, section 10.

10.  Trusted Computing Base/Platform

Literature: A Practical Guide to Trusted Computing (Paperback) by David Challener, Kent Yoder, Ryan Catherman, David Safford, Leendert Van Doorn

Paperback    384 pages
Publisher    IBM Press; 1 edition (January 6, 2008)
Language     English
ISBN-10      0132398427
ISBN-13      978-0132398428

10.1.  Definition

--
all hardware,
--
firmware, and/or
--
software components that are critical to its security

in the sense that bugs occurring inside the TCB might jeopardize the security properties of the entire system.

10.2.  Computers in Airplanes

http://www.airliners.net/photo/0957790/

10.3.  Computers in the Medical Field

10.4.  Computers in Safety-Critical Applications

--
space
--
transportation
--
Nuclear
--
Military
--
...

10.5.  Space Shuttle

--
Comaprison: 0.005 percent of an Xbox 360
--
420,000 loc

10.6.  Languages

Staticaly typed?
--
Goto's
--
Exhaustion of memory
--
Sepatate compilition with checks
--
http://www.dmoz.org/Computers/Programming/Languages/Ada/
--
developed with capbabilities that serve real-time and saftey-critical needs
Ip Hello World in Java.
with Ada.Text_IO; use Ada.Text_IO;
procedure Hello is
begin
  Put_Line("Hello my Friend!");
end Hello;

% gnatmake hello.adb

10.7.  Fundamental Objectives

Army Regulation

10.8.  Bruce Schneir on Security

http://www.schneier.com/blog/archives/2009/10/proving_a_compu.html

Professor Gernot Heiser, the John Lions Chair in Computer Science in the School of Computer Science and Engineering and a senior principal researcher with NICTA, said for the first time a team had been able to prove with mathematical rigour that an operating-system kernelbthe code at the heart of any computer or microprocessorbwas 100 per cent bug-free and therefore immune to crashes and failures.

Don't expect this to be practical any time soon:

Verifying the kernel - known as the seL4 microkernelbinvolved mathematically proving the correctness of about 7,500 lines of computer code in an project taking an average of six people more than five years. That's 250 lines of code verified per man-year. Both Linux and Windows have something like 50 million lines of code; verifying that would take 200,000 man-years, assuming no increased complexity resulting from the increased complexity. Clearly some efficiency improvements are required.

10.9.  Formal Verification for Software

Validation:
Are we trying to make the right thing?", i.e., is the product specified to the user's actual needs?
Verification:
Have we made what we were trying to make?", i.e., does the product conform to the specifications?

See here: http://www.cs.indiana.edu/classes/p415/post/sorting_tutorial_2.pdf

10.10.  Players

10.11.  Required

--
Micro Kernel
--
Verification

10.12.  Micro-Kernel Architecture

[picture]

10.13.  Levels

Model 1:

Model 2:

10.14.  Fault-Tolerant Software Design Approaches

From: http://ubiquity.acm.org/article.cfm?id=985602

Recovery Block Scheme (RBS):

N-Version Programming Scheme (NVPS)

Community-Error-Recovery Scheme (CERS):

Enhanced-Single-Version Scheme (ESVS):

10.15.  The Gemini Digital Computer: First Machine in Orbit

10.16.  Case Study: Space Shuttle

From: http://history.nasa.gov/computers/Ch4-4.html

10.17.  Developing Software for the Space Shuttle

--
http://www.brouhaha.com/~eric/nasa/hal-s/hal-s-fc_users_manual.pdf
--
Programming in HAL/S
--
"HAL" was suggested as the name of the new language by Ed Copps, a founding director of Intermetrics, to honor Hal Laning, a colleague at MIT.
--
Compare to Java language specification (2005) http://java.sun.com/docs/books/jls/third_edition/html/lexical.html#3.10.1
Compare to ANSI C language specification (1989) http://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html
--
Compare to C language specification (1978) http://en.wikipedia.org/wiki/The_C_Programming_Language (Prof. Dr. Axel T. Schreiner's Translation: http://www.amazon.de/Programmieren-C-Reference-Manual-deutscher-Sprache/dp/3446154973 )
--
IBM - (1/1/1) = HAL
--
HAL 9000
--
increased readability, through the use of a natural two-dimensional mathematical format;
--
increased reliability, by providing for selective recognition of common data and subroutines, and by incorporating specific data-protect features;
--
real-time control facility, by including a comprehensive set of real-time control commands and signal conditions.
See Figure 5-2

10.18.  Claasification


(image from http://en.wikipedia.org/wiki/Trusted_Computer_System_Evaluation_Criteria)

Classification

The rest is copied from: http://www.dynamoo.com/orange/summary.htm and the Orange Book

D: Minimal Protection

C1 - Discretionary Security Protection

C2 - Controlled Access Protection

As C1, plus

B - Mandatory Protection

Division B specifies that the TCB protection systems should be mandatory, not discretionary.

B1 - Labelled Security Protection

As C2 plus: Mandatory security and access labeling of all objects, e.g. files, processes, devices etc.

B2 - Structured Protection

As B1 plus: Notification of security level changes affecting interactive users.

B3 - Security Domains

As B2 plus: ACLs additionally based on groups and identifiers.

A1 - Verified Protection

As B3 plus:

A2 and above

Provision is made for security levels higher than A2, although these have not yet been formally defined. No OSes are rated above A1.

10.19.  B3: Mandatory Protection: XTS-400

10.20.  A1: Verified Protection: Scomp

Scomp: A Solution to the Multilevel Security Problem

10.21.  XTS-400

Stolen from there.

General

EAL4 is the highest level at which it is likely to be economically feasible to retrofit an existing product line.

Windows NT was evaluated at only C-2 and Trusted Solaris at only B-1 under the TCSEC criteria.

See here
--
EAL1: Functionally Tested
--
EAL2: Structurally Tested
--
EAL3: Methodically Tested and Checked
--
EAL4: Methodically Designed, Tested and Reviewed
--
EAL5: Semiformally Designed and Tested
--
EAL6: Semiformally Verified Design and Tested
--
EAL7: Formally Verified Design and Tested

From the US government report GAO-06-392: * {{cite paper | author = GAO | title = INFORMATION ASSURANCE: National Partnership Offers Benefits, but Faces Considerable Challenges | publisher = United States Government Accountability Office | version

Uses

Security

--
sensitivity policy deals with preventing unauthorized disclosure an integrity policy deals with preventing unauthorized deletion or modification (such as the damage that a virus might attempt).
--
16 hierarchical sensitivity levels,.
--
64 non-hierarchical sensitivity categories,.
--
8 hierarchical integrity levels,.
--
16 non-hierarchical integrity categories.

--
Identification and authentication Discretionary access control (DAC) A mandatory "subtype" policy, which allows some of the functionality of trusted systems which support a full "Type Enforcement" or "Domain-Type Enforcement" policy. Auditing of all security-relevant events and trusted tools to detect and analyze potential security violations. Trusted path, which allows a user asure s/he is interacting directly with the TSF during sensitive operations (Trojan Horses) Isolation, of the operating system code and data files from the activity of untrusted users and processes. Separation, of processes from one another Reference monitor functionality, so that no access can bypass scrutiny by the operating system. Strong separation of administrator, operator, and user roles using the mandatory integrity policy. Residual information (i.e., object reuse) mechanisms to prevent data scavenging. Trusted, evaluated tools for configuring the Self-testing of security mechanisms, on demand.
--
Exclusion of higher layer network services from the trusted security functions (TSF), so that the TSF is not susceptible to the publicly known vulnerabilities in those services.

10.22.  System Architecture

--
Application is untrusted by default
--
Trusted software includes all security related functions (must bypass TSF).
--
Software development (C)
--
Trusted Databases
--
data can only be modified by user developed trusted processes, or
--
trusted Editors

10.23.  Criticism

10.24.  Use Case

10.25.  Questions

10.26.  More Reading


Weiter | Weiter | Weiter | Weiter | Kommentar


Created by unroff, java2html & & hp-tools. © by hpb. All Rights Reserved (2012).
It is not allowed to print these pages on a CAST printer.
Last modified 22/February/12