NCSC-TG-026
Library No. 5-237,294
Version 1
FOREWORD
The National
Computer Security Center is publishing A Guide to
Writing the Security Features User's Guide for Trusted
Systems as part
of the "Rainbow Series" of documents our
Technical Guidelines Program
produces. In the Rainbow Series, we discuss in detail the
features of
the Department of Defense Trusted Computer System
Evaluation Criteria
(DoD 5200.28-STD) and provide guidance for meeting each
requirement.
The National Computer Security Center, through its
Trusted Product
Evaluation Program, evaluates the security features of
commercially-produced computer systems. Together, these
programs
ensure that organizations are capable of protecting their
important
data with trusted computer systems.
A Guide to
Writing the Security Features User's Guide for Trusted
Systems expands on the Trusted Computer System Evaluation
Criteria
requirement for a Security Features User's Guide by
discussing the
intent behind the requirement and the relationship it has
to other
requirements in the Trusted Computer System Evaluation
Criteria. The
guide's target audience is the author of the Security
Features User's
Guide for a specific trusted system undergoing evaluation
as a trusted
product; however, many of the recommendations apply to
any system that
must satisfy the Trusted Computer System Evaluation
Criteria
requirements.
As the Director,
National Computer Security Center, I invite your
recommendations for revision to this technical
guideline. We plan to
review and update this document periodically in response
to the needs
of the community.
Please address any proposals for revision through
appropriate channels to:
National
Computer Security Center
9800 Savage Road
Ft. George G.
Meade, MD 20755-6000
Attention:
Chief, Standards, Criteria, and Guidelines Division
Patrick R. Gallagher, Jr. September
1991
Director
National Computer Security Center
ACKNOWLEDGEMENTS
The National
Computer Security Center expresses appreciation to
David M. Chizmadia as project manager and principal
author of this document.
We also thank
the evaluators, vendors and users in the United States
computer security community who contributed their time
and expertise to the
review of this document.
iii
CONTENTS
FOREWORD
i
ACKNOWLEDGMENTS
iii
1.
INTRODUCTION
1
1.1 PURPOSE
1
1.2 SCOPE 1
1.3 ORGANIZATION
1
2. DEVELOPING THE
SECURITY FEATURES USER'S GUIDE 3
2.1 AUDIENCE AND PACKAGING 3
2.2 PRESENTATION
5
2.3 CONTENT
5
2.3.1 TECHNICAL SECURITY
POLICY 6
2.3.2 IDENTIFICATION AND
AUTHENTlCATlON 7
2.3.3 DISCRETIONARY ACCESS
CONTROL FACILITY 9
2.3.4 ELECTRONIC LABELS 10
2.3.5 MANDATORY ACCESS CONTROL
FACILITY 12
2.3.6 TRUSTED FACILITY
MANAGEMENT 14
3. EXAMPLES OF
SFUG PRESENTATION STYLES 15
THE
FEATURE-ORIENTED SFUG 16
THE TASK-ORIENTED
SFUG
24
BIBLIOGRAPHY
31
v
1. INTRODUCTION
1.1 PURPOSE
This
guideline explains the motivation and meaning of the Department of
Defense Trusted Computer System Evaluation Criteria
(TCSEC) requirement for a
Security Features Users Guide (SFUG), which reads as
follows:
"A
single summary, chapter, or manual in user documentation shall
describe the
protection mechanisms provided by the TCB, guidelines
on their use,
and how they interact with one another." [TCSEC;x.x.4.1]
The reader is
assumed to be the potential author of a SFUG; to
be familiar with the basic principles of technical
writing, computer
science, and trusted systems; and to have a detailed
understanding of
the specific trusted system that will be described in the
SFUG.
1.2 SCOPE
This
guideline identifies and discusses the considerations that
influence the development and evaluation of a SFUG, such
as its
audience, content, and organization. It is intentionally descriptive,
as opposed to prescriptive, in its discussion of the SFUG
requirement. That is, it describes the various approaches
to writing a
SFUG that have been accepted by trusted product
evaluators in the
past, without making judgments about the
"correct" ones to choose -
although preferred approaches may be noted.
Throughout
this guideline there will be statements made that are
not included in the TCSEC as requirements. These statements will fall
into three categories.
First, some describe a strongly recommended
course of action: these statements will be prefaced by
the word
"should."
Second, others describe one of several equally appropriate
recommended courses of action: these statements will be
prefaced by
the word "could." Finally, a few suggest an
optional course of action:
these statements will be prefaced by the word
"can."
1.3 ORGANIZATION
The remainder
of this guideline presents information that may be
useful to a writer developing a SFUG. Chapter 2 discusses the
developmental aspects of
A GUIDE TO WRITING THE SFUG
writing the SFUG, including the audience and possible packaging
options, presentation styles, and the security topics
that should be
addressed in the SFUG (as derived from TCSEC feature
requirements).
Chapter 3 contains two example annotated outlines of
SFUGs to
illustrate some of the topics discussed in the body of
the guideline
and provide a starting point for the reader to develop a
SFUG. The
bibliography includes a list of the documents accepted as
SFUGs for
all products on the Evaluated Product List (EPL) at the
time the
guideline was published.
2
2. DEVELOPING
THE SECURITY FEATURES USER'S GUIDE
The primary
purpose of a SFUG is to explain how the security
mechanisms in a specific system work, so that users are
able to
consistently and effectively protect their information.
To properly
communicate this information, the SFUG author must
identify the
audience for the SFUG and the information that audience
needs to use
the security mechanisms in the system and then select an
appropriate
way to present the information.
2.1 AUDIENCE AND
PACKAGING
The SFUG
requirement starts with "A single summary, chapter, or
manual in user documentation . . ." "User"
in this context refers to
a person who uses the system, but has no special privileges
to affect
the configuration of the system. The user for most
general purpose
trusted systems is often assumed to be a person with
little or no
computer experience, but this is not always the case. For
example, the
users of the UNIX(TM) system have traditionally been
considered
programmers or computer professionals with fairly
extensive knowledge
of computer concepts.
In any system, the users are the audience for
the SFUG and the SFUG author will have to characterize
them to
determine both the format and the level of discourse for
the material
presented in the SFUG.
In many
cases, the SFUG requirement is satisfied by changing an
existing document, which is one of the reasons that the
SFUG
requirement is so general. As stated in the requirement, the SFUG
could be:
. A summary of the security features and user
responsibilities,
. A chapter devoted to these issues, or
. A whole manual devoted to security.
Some
presentation schemes that previous participants in the
Trusted Product Evaluation Program have used include:
. A separate manual devoted to the general user
of the system
that
covers the security features and responsibilities
pertaining
to users. This is usually the best
choice when a
document
of this sort is already in place and the security
functions
have always been present in the system in
3
A GUIDE TO WRITING THE SFUG
some form
anyway. For a system in which user services are
provided
by individual subsystems, one of which provides all
the
security functionality, and the user guide is the
collection
of user guides `for the individual subsystems, the
SFUG would
most likely be a stand-alone manual addressing
only the
security issues.
. A subsection of the manual produced to
satisfy the Trusted
Facility
Manual (TFM) requirement of the TCSEC.
From a
security standpoint, this is considered
unwise, since it
tends to
make the system configuration and vulnerability
information available to anyone looking for information on
how to use
the security features of the system. From
a
documentation standpoint, it seems the easiest, since it
places all
of the security discussion in one place and allows
a certain
amount of synergy in the writing process, i.e.,
privileged
users do many of the same activities as general
users. This approach eliminates
the need to document those
facilities
in two places.
. A chapter or an appendix of a user manual
that discusses the
user's
security responsibility and then provides an index to
the
detailed discussions of individual functions that are
already
part of the general user manual. An
extension of
this could
be a small pamphlet that does the same thing but
can be
reproduced separately and given out as needed -
something
like a pocket guide to system security.
Trusted
product evaluators tend to favor centralization of
information, because that makes it easier to determine
whether the
system satisfies the TCSEC (Orange Book) requirements.
Given that
bias, bullet one would usually be the most preferred
option, since it
satisfies the requirement in one unique place. Bullet two is a less
desirable option, because, in addition to the procedural
security
considerations, it requires some discrimination to
identify which
parts of the document satisfy the SFUG requirement and
which parts
satisfy the TFM requirement. Bullet three is least desirable for two
reasons. First, it
involves pointers to other information, making it
more cumbersome for both evaluators and users to get to
some aspects
of the information.
Second, there might be a tendency to make the
document so terse that it excludes some information that
is relevant
to system security.
4
DEVELOPING THE
SECURITY FEATURES USER'S GUIDE
2.2 PRESENTATION
The SFUG
provides the users of the system with the necessary
background and specific information to use the protection
features of
the system correctly.
Its purpose is twofold. First, it provides the
information that a user needs to enter the system and
start
working-within the system security constraints. Second, it explains
the user's role in maintaining the security of the
system. Its scope
should be limited to documenting only the features
available to all
users and only the responsibilities that all users have
for system
security. To accomplish this purpose, within the scope,
the SFUG
should explain what security means in the system, what
security
features are present and why, how the features work, and
how to use
the features properly. The SFUG should be clear, concise,
and complete
to increase its readability.
This
information can be organized either by the security
features present in the system or by the tasks performed
by a user
that require the use of these features. A
feature-oriented
presentation is more natural to a user who is already
familiar with
the system. In the SFUG, this organization would usually
look like the
TCSEC itself, with descriptions of each feature required
by the TCSEC
and explanations of the commands that make those features
available to
users. A task- oriented presentation is the more common
approach taken
in most user manuals, since it is oriented towards the
specific
actions that are necessary to enter a system and start
working. Such
a presentation will often take the form of a tutorial
that describes
the interactions that a user will usually have with the
system, e.g.,
logging on, setting file access, changing the password,
etc.
2.3 CONTENT
Because this
guideline is devoted to explaining a TCSEC
requirement, it will consider the content of a SFUG only
from the
perspective of the features required by the TCSEC that
should be
documented in the SFUG.
Other security-relevant features not
addressed by the TCSEC (e.g., object downgrading or
network commands)
might also be included in the SFUG, but will not be
discussed in this
guideline.
The remainder
of this section will list the features required by
the TCSEC, identify the specific requirements that define
them, and
discuss how they apply to
5
A GUIDE TO WRITING THE SFUG
the SFUG. Many of the requirements cited use the acronym
TCB, which
expands to Trusted Computing Base. As defined in the
TCSEC, the TCB
is:
"The
totality of protection mechanisms within a computer
system --
including hardware, firmware, and software -- the
combination of which is responsible for enforcing a security
policy. A TCB consists of one or
more components that
together
enforce a unified security policy over a product or
system.
The ability of a TCB to correctly enforce a security
policy
depends solely on the mechanisms within the TCB and
on the
correct input by system administrative personnel of
parameters
(e.g., a user's clearance) related to the security
policy." [TCSEC, p. 116]
2.3.1 TECHNICAL SECURITY POLICY
The technical
security policy is the description of the access
control model that the system enforces. This description can be
either informal or formal for classes C1 through B1, but
classes B2 to
A1 must have a formal description. The TCSEC design
documentation
requirement mandates that the informal description exist
for all
criteria classes where it states:
"Documentation shall be available that provides a description
of the
manufacturer's philosophy of protection . . .,` [x.x.4.4]
Starting at
B1, the design specification and verification
requirement strengthens this notion of a technical
security policy
with the explicit requirement that:
"An
informal or formal model of the security policy supported
by the TCB
shall be maintained over the life cycle of the ADP
system and
demonstrated to be consistent with its axioms."
[x.x.3.2.2]
At class B2,
the design specification and verification
requirement is changed to mandate a formal technical
security policy
model. Classes B3 and A1 incorporate new requirements for
additional
supporting documentation that makes it possible to trace
the basis
for each feature in the system from the technical
security policy to
the implementation.
In the
context of the TCSEC, neither the philosophy of
protection nor the formal model have to be available to
the user;
however, the fact that the features of the system flow
from these
fundamental statements makes either one an appropriate
starting point
for describing how the system works. The philosophy of
6
DEVELOPING THE SECURITY FEATURES USER'S GUIDE
protection is probably the better choice for the SFUG,
since it is
usually written in a more intuitive style than a
precisely stated
security policy statement. In either case, the technical
policy would
be presented early in the SFUG to provide the overall
context for the
rest of the discussion, effectively becoming the thesis
for the SFUG.
2.3.2 IDENTIFICATION AND AUTHENTICATION
The single
largest and most crucial section of the SFUG, both
from the perspective of the TCSEC and of overall system
documentation, is the section that discusses how users
identify and
authenticate themselves (i.e., logon) to the system. The
process of
identification and authentication (I&A) defines the
identity of the
subject that the TCB creates to act on the user's behalf.
For division
B and A multilevel systems, the I&A process defines
the upper and
lower bounds on the security level of the subject as
well. All
subsequent access control decisions depend on this
information being
correct. The SFUG
should therefore be very specific in describing
both the I&A procedures and the user's
responsibilities for protecting
any information that is expected to be kept secret (e.g.,
passwords or
personal identification numbers).
The TCSEC
requirement for division C computer systems is shown
below, with bold type showing the C2 requirements that go
beyond those
at C1.
"The
TCB shall require users to identify themselves to it before
beginning to perform any other actions that
the TCB is
expected
to mediate. Furthermore, the TCB shall
use a
protected
mechanism (e.g., passwords) to authenticate the
user's
identity. The TCB shall protect
authentication data so
that it
cannot be accessed by any unauthorized user.
The
TCB shall
be able to enforce individual accountability by
providing
the capability to uniquely identify each individual
ADP system
user. The TCB shall also provide the
capability
of associating this identity with all auditable
actions
taken by that individual." [2.2.2.1]
Based on this
requirement, the SFUG for a division C system
should describe the identification process, including the
use of a
protected authentication mechanism. To complement the protection that
the TCB must give the authentication data, the SFUG
should make it
clear that the user must protect the data too, for
example, by not
sharing a password with other users or writing it down on
a sheet of
paper next to the terminal.
7
A GUIDE TO WRITING THE SFUG
For divisions
B and A, the addition of multiple security levels
changes the requirement, primarily by requiring the use
of a
user's clearance as a bound on the security label of any
subject that
the TCB creates for that user. The B1 requirement, which
does not
change for the higher classes, is shown below, with bold
type showing
additional wording and struck-out type showing wording
that was
deleted.
"The
TCB shall require users to identify themselves to it before
beginning
to perform any other actions that the TCB is
expected
to mediate. Furthermore, the TCB shall
maintain
authentication data that
includes
information for verifying the identity of individual
users
(e.g., passwords) as well as information for
determining the clearance and authorizations of individual
users.
This data shall be used by the TCB to authenticate
the user's
identity and to ensure that the security level and
authorization of subjects external to the TCB that may be
created to
act on behalf of the individual user are
dominated
by the clearance and authorization of that user.
The TCB
shall protect authentication data so that it cannot be
accessed
by any unauthorized user. The TCB shall be able to
enforce
individual accountability by providing the capability to
uniquely
identify each individual ADP system user.
The TCB
shall also
provide the capability of associating this identity with
all
auditable actions taken by that individual." [3.1.2.1]
For all
division B and A systems, the SFUG should incorporate a
discussion of the relationship between a user's clearance
(i.e., his
or her general authorization to see information of a
particular
sensitivity-whether or not it is electronic) and the
security level
that the TCB associates with a particular subject (e.g.,
computer
process or interactive session) that is acting on that
user's
behalf. Additionally, the practical consideration of how
to establish
the security level of that subject, for example, by using
a logon
option or a specific terminal, should be explained in the
SFUG.
Starting at
B2, there is an additional requirement for a trusted
path to strengthen the confidence of both the user and
the TCB that,
the I&A process is happening correctly. This requirement is shown
below in both the B2 and B3/A1 forms.
"The
TCB shall support a trusted communication path between
itself
and user for initial login and
authentication.
Communications
via this path shall be initiated exclusively by a
user." [3.2.2.1.1(B2)]
8
DEVELOPING' THE
SECURITY FEATURES USER'S GUIDE
"The
TCB shall support a trusted communication path between
itself and
users for use when a positive TCB-to-user connection
is
required (e.g., login, change subject security level).
Communications via this trusted path shall be activated exclusively
by a user
or the TCB and shall be logically isolated and
unmistakably distinguishable from other paths." [3.3.2.1.1
(B3/A1)]
Trusted path
is useless if it is not used; therefore, the SFUG
should be written so that the user understands how to
initiate the
trusted path, especially at logon, and why it is
important to do so.
For systems that satisfy the B3 trusted path requirement,
the SFUG
should also explain how the initiation of a trusted path
during a
session, whether by the user or the TCB, affects the
currently running
subject, as well as how to recognize the trusted path.
2.3.3 DISCRETIONARY ACCESS CONTROL FACILITY
The
discretionary access control (DAC) facility provides the
mechanism by which the individual user can control access
to his or
her data. Some form of DAC is required for every class of
the TCSEC.
After the procedures for identifying and authenticating
themselves to
the system, the DAC facilities will be the aspects of the
system
security of most interest to most users.
The DAC
facility is first defined by the C1 DAC requirement that:
"The
TCB shall define and control access between named
users and
named objects (e.g., files and programs) in the ADP
system. The enforcement mechanism
(e.g., self/group/public
controls,
access control lists) shall allow users to specify and
control
sharing of those objects by named individuals or
defined
groups or both." [2.1.1.1]
At C2 this
requirement is enhanced to read (bold type shows
added words):
"The
TCB shall define and control access between named
users and
named objects (e.g., files and programs) in'the ADP
system. The enforcement mechanism
(e.g., self/group/public
controls,
access control lists) shall allow users to specify and
control
sharing of those objects by named individuals, or
defined
groups of individuals, or by both, and shall provide
controls
to limit propagation of access rights.
The
discretionary access control mechanism shall, either by
explicit
user action or by default, provide that objects are
protected
from unauthorized access. These access
controls
shall be capable of including or excluding access
to the
granularity of a single user. Access
permission to
9
A GUIDE TO WRITING THE SFUG
an object
by users not already possessing access
permission
shall only be assigned by authorized users."
[2.2.1.1]
After this it
remains the same until B3, when it is changed to
read (bold type shows added words, struck-out type shows
deleted
words):
"The
TCB shall define and control access between named
users and
named objects (e.g.,files and programs) in the ADP
system. The enforcement mechanism
(e.g., access control lists)
shall
allow users to specify and
control
sharing of those objects, and shall provide
controls
to limit propagation of access rights. The discretionary
access
control mechanism shall, either by explicit user action
or by
default, provide that objects are protected from
unauthorized access. These access controls shall be capable
of
specifying, for each named object, a list of named
individuals and a list of groups of named individuals with
their
respective modes of access to that object.
Furthermore, for each such named object, it shall be
possible
to specify a list of named individuals and a list of
groups of
named individuals for which no access to the
object is
to be given. Access permission to an
object by
users not
already possessing,,access permission shall only be
assigned
by authorized users. [3.3.1.1]
For any
version of this requirement, the goal for the SFUG
author is the same - to describe to users how to use the
DAC
enforcement mechanism to control access to the objects
that they
own. The SFUG should provide enough information for the
user to
understand what a named object, a named user, and a group
are, as well
as what types of objects can be controlled with DAC. It should also
explain how a new user or group is defined to the system.
The SFUG
should also describe the process by which access rights
are initially
determined and then propagated. Finally, the SFUG should describe the
system commands and procedures for using the DAC
facility.
2.3.4 ELECTRONIC LABELS
The
distinguishing feature of all division B and A computer
classes is the electronic label. An electronic label is
an attribute
of each subject and object under TCB control that
indicates the
sensitivity of the information that a subject is
authorized to see or
that is contained in an object. The real world equivalents of these
concepts are security clearances and classification
markings. Many
users
10
DEVELOPING THE
SECURITY FEATURES USER'S GUIDE
who are familiar with these real world examples have
trouble adapting
to electronic labels; therefore, the SFUG written for a
multilevel
system should discuss labels and their effect on a user's
actions.
The basic
label requirement is defined by the following words at B1:
"Sensitivity labels associated with each subject and storage
object under its control (e.g., process,
file, segment, device)
shall be
maintained by the TCB. These labels shall be used as
the basis
for mandatory access control decisions. In order to
import
non-labeled data, the TCB shall request and receive
from an
authorized user the security level of the data, and all
such
actions shall be auditable by the TCB." [3.1.1.3]
At B2, the
first sentence is changed to read:
"Sensitivity labels associated with each ADP system resource
(e.g.,
subject, storage object, ROM) that is directly or indirectly
accessible
by subjects external to the TCB shall be maintained
by the
TCB." [3.2.1.3]
This reflects
the general B2 through A1 requirement that all computer
resources be under the control of the TCB.
Another
label-related requirement that affects the users of a
system is the one for labeling human-readable output,
which states
that:
"The
ADP system administrator shall be able to specify the
printable
label names associated with exported sensitivity
labels. The TCB shall mark the
beginning and end of all
human-readable, paged, hardcopy output (e.g., line printer
output) with human-readable sensitivity
labels that properly
represent
the sensitivity of the output. The TCB
shall, by
default,
mark the top and bottom of each page of human-
readable,
paged, hardcopy output (e.g., line printer output) with
human-readable sensitivity labels that properly represent the
overall
sensitivity of the output or that properly represent the
sensitivity of the information on the page. The TCB shall, by
default
and in an appropriate manner, mark other (forms of
human-readable output (e.g., maps, graphics) with human-
readable
sensitivity labels that properly represent the sensitivity
of the
output. Any override of these marking defaults shall be
auditable
by the TCB." [3.1.1.3.2.3]
The above
requirement is the same for classes B1 through A1.
11
A GUIDE TO WRITING THE SFUG
These two
requirements, for subject sensitivity labels and
labeled human-readable output, apply to any multilevel
system;
therefore, the SFUG for all B and A level systems should,
at the
least, explain:
. How
labels are attached to subjects and objects,
. The relationship
between the "clearance" that a user has
and the
label that is associated with a particular computer
session,
and
. The
reason for job and page labels on printed output and
terminal
or window labels on computer displays (as well as
cautions
about disabling the display of such labels).
The last
requirement that affects users is one for subject
sensitivity labels that requires that:
"The
TCB shall immediately notify a terminal user of each
change in
the security level associated with that user during an
interactive session. A terminal user shall be able to query the
TCB as
desired for a display of the subject's complete
sensitivity
label." [3.2.1.3.3]
The above
requirement applies to classes B2 through A1;
therefore, the SFUG for these systems should explain the
mechanism
used to notify a user of a security level change.
2.3.5 MANDATORY ACCESS CONTROL FACILITY
Closely associated with, but separate from,
the requirement for
labels is the requirement for mandatory access control
(MAC). MAC
refers to the set of rules that control a subject's
access to an
object based on the label attached to each.
The MAC
facility is first defined by the B1 MAC requirement that:
"The
TCB shall enforce a mandatory access control policy over
all
subjects and storage objects under its control (e.g.,
processes,
files, segments, devices). These
subjects and
objects
shall be assigned sensitivity labels that are a
combination of hierarchical classification levels and non-
hierarchical categories, and the labels shall be used as the
basis for
mandatory access control decisions. The
TCB shall
be able to
support two or more such security levels.
The
following
requirements shall hold for all accesses between
subjects
and objects controlled by the TCB: A subject can read
an object only if the hierarchical
classification in the subject's
security
level is greater than or equal to the hierarchical
12
DEVELOPING THE
SECURITY FEATURES USER'S GUIDE
classification in the object's security level and the non-
hierarchical categories in the subject's security level include all
the
non-hierarchical categories in the object's security level. A
subject
can write an object only if the hierarchical classification
in the
subject's security level is less than or equal to the
hierarchical classification in the object's security level and all
the
non-hierarchical categories in the subject's security level
are
included in the non-hierarchical categories in the object's
security
level. Identification and authentication
data shall be
used by
the TCB to authenticate the user's identity and to
ensure that the security level and
authorization of subjects
external
to the TC8 that may be created to act on behalf of the
individual user are
dominated by the clearance
and
authorization of that user." [3.1.1.4]
For classes B2 through A1, the requirement
is enhanced to
reflect the pervasive TCB control required by these
higher classes.
(The bold type in the following quote shows the
additional wording,
while the struck-out type shows the phases deleted.)
"The
TCB shall enforce a mandatory access control policy over
all
resources (i.e., subjects,
storage
objects, and 1/0 devices) that are directly or
indirectly
accessible by subjects external to the TCB.
These
subjects and objects shall be assigned sensitivity labels
that are a
combination of hierarchical classification levels and
non-hierarchical categories, and the labels shall be used as the
basis for
mandatory access control decisions. The
TCB shall
be able to
support two or more such security levels.
The
following
requirements shall hold for all accesses between
all
subjects external to the TCB and all objects directly or
indirectly
accessible by these subjects: A subject can read an object
only if
the hierarchical classification in the subject's security
level is
greater than or equal to the hierarchical classification in
the
object's security level and the non-hierarchical categories
in the
subject's security level include all the non-hierarchical
categories
in the object's security level. A subject can write an
object
only if the hierarchical classification in the subject's
security
level is less than or equal to the hierarchical
classification in the object's security level and all -the non-
hierarchical categories in the subject's security level are
included
in the non-hierarchical categories in the object's
security
level. Identification and authentication
data shall be
used by
the TCB to authenticate the user's identity and to
ensure
that the security level and authorization of subjects
external
to the TCB that may be created to act on behalf of the
individual user are dominated
by the clearance and
authorization of that user." [3.2.1.4]
13
A GUIDE TO WRITING THE SFUG
Because the
TCB, rather than the user, controls the actual
interaction between the labels of subjects and objects,
the SFUG only
needs to explain to users how MAC constrains their
actions. This
discussion is probably most natural under the section
that addresses
the technical security policy. In most cases, a user can have only
one effect on the MAC policy-to change the label for a
session, which
is already described under either the discussion of
identification and
authentication or labels.
2.3.6 TRUSTED FACILITY MANAGEMENT
Beginning at
B2, there is a TCSEC requirement that:
"The
TCB shall support separate operator and administrator
functions." [3.2.3.1.4]
This mandates
a separation of duties in the administration of
computer systems that are supposed to be protecting
information. This
corresponds to the natural separation of duties found in
most human
activity. Although
this is not a requirement until B2, many sites
that are concerned about security are instituting
programs `rvhere the
responsibility for security administration of the
computer system is
centralized in a person with the title of computer, or
information
system, security officer (CSO or ISS0, respectively).
Whether the
computer system being described in the SFUG satisfies the
trusted
facility management requirement or not, the author of the
SFUG for
that system may want to postulate the existence of such a
position to
represent the entity that is responsible for security
issues that are
outside the control of the users. This both allows the
SFUG to be
written in a more active voice and simplifies the job of
conveying
distinctions between user security responsibilities and
site
management security responsibilities.
14
3. EXAMPLES OF
SFUG PRESENTATION STYLES
This chapter
presents two sample stand-alone SFUGs to show what
could go into a SFUG and possibly give the reader some
ideas for
organizing a system specific SFUG. The actual contents and
organization of a real SFUG will be different to reflect
the specific
mechanisms of the individual system and the organization
of the rest
of the system documentation. The first example uses a
feature-oriented style presentation, while the second
shows a
task-oriented style.
In addition
to these generic examples, the reader may find it
helpful to review the SFUGs of previously evaluated
systems to see
what worked for them. Entries 2 through 16 in the bibliography
list
the Final Evaluation Reports (FERs) for products on the
Evaluated
Products List that had published FERs at the time this
guideline was
printed. Each entry is annotated with the document(s)
identified in
the FER as satisfying the SFUG requirement for that
product.
15
A GUIDE TO WRITING THE SFUG
THE FEATURE-ORIENTED SFUG
At a high level,
the feature-oriented example SFUG is arranged in
the following fashion:
1. INTRODUCTION
TO THE SFUG
2. SYSTEM
SECURITY OVERVIEW
2.1 SYSTEM
PHILOSOPHY OF PROTECTION
2.2
DEFINITION OF TERMS AND SERVICES
2.3 THE
INFORMATION SYSTEM SECURITY OFFICER
2.4 USER
SECURITY RESPONSIBILITIES
3.
SECURITY-RELATED COMMANDS FOR USERS
3.1 USER
IDENTIFICATION AND AUTHENTICATION
3.1.1
Trusted Path
3.1.2
Logging On to the System
3.1.3
Password Considerations
3.1.4
Changing Group Membership
3.1.5
Changing Current MAC Authorizations
3.1.6
Logging Off of the System
3.1.7
I&A Errors and Their Causes
3.2
DISCRETIONARY ACCESS CONTROL FACILITIES
3.2.1
Setting DAC on Named Objects
3.2.2
Default DAC Protection
3.2.3 DAC
Groups
3.2.4 DAC
Errors and Their Causes
3.3 MANDATORY
ACCESS CONTROL FACILITIES
3.3.1
Printing Labeled Objects
3.3.2
Accessing Single-Level Devices
3.3.3
Accessing Multilevel Devices
3.3.4
Downgrading Labeled Objects
3.3.5 MAC
Errors and Their Causes
3.4 OBJECT
MANIPULATION FACILITIES
3.4.1
Object Creation, Reuse, and Deletion
3.4.2
Importing Machine-Readable Objects
3.4.3
Exporting Machine-Readable Objects
3.4.4
Determining the Properties of Objects
3.4.5
Object Manipulation Errors and Their Causes
The annotated outline follows.
16
THE FEATURE-ORIENTED SFUG EXAMPLES OF SFUG PRESENTATION STYLES
1. INTRODUCTION TO THE SFUG
This part of
the SFUG should identify what the SFUG is, who it
is written for, what it will cover, and where to go for
more
information, if needed.
2. SYSTEM
SECURITY OVERVIEW
This section
provides the background on the overall operation of
the security controls in the system so that users can
then understand
the options and actions of individual security-relevant
commands.
2.1 SYSTEM
PHILOSOPHY OF PROTECTION
This section should describe the general
environment for which
the system is designed and briefly explain how this
environment
motivates the approach to protecting information stored
in the
system. The purpose of this section is to lay the
foundation for the
user's understanding of the system's security features,
with later
sections detailing what specific security services are
available and
when and how to use them.
2.2 DEFINITION OF
TERMS AND SERVICES
This section
should first introduce the terms that will be used
to describe the security services available in the system
and then
proceed to introduce those services, without detailing
exactly how
they are used. Recommended topics for this section are:
. An explanation of the general concepts of
subjects and
objects,
followed by the identification of the subjects and
objects in
the system.
. An explanation of object reuse and its role
in protecting
information in the system.
. An explanation of the components of the
l&A (identification
and
authentication) process (e.g., user-id, password, or
smartcard)
in the system and the importance of l&A to system
security.
17
A GUIDE TO WRITING THE SFUG THE FEATURE-ORIENTED
SFUG
. An explanation of DAC, groups, privileges,
protection
bits/ACLs,
and any other terms and concepts related to the
system's
DAC policy, followed by a description of how the DAC
policy
applies to the systern subjects and objects.
. An
explanation of MAC, security labels, sensitivity levels,
categories,
authorizations, and any other terms and concepts
related to
the system's MAC policy, followed by a description
of how the
MAC policy applies to the system subjects and
objects.
2.3 THE
INFORMATION SYSTEM SECURITY OFFICER
This section
discusses the role of the Information System
Security Officer (ISSO) in maintaining the security of
the system. It
can also explain which problems should be reported to the
ISSO and
which should be reported to the system administrator (if
the roles are
separate). If the
format of the SFUG allows it, this section could
have space for site-specific notes on the ISSO/user
relationship.
2.4 USER SECURITY
RESPONSIBILITIES
This section
discusses the user's responsibilities with respect
to properly using the system security features. This
would optimally
be a tutorial that teaches effective use of the system
security
services, but any presentation that relates the security
services to
the user's day-to-day use of the system is appropriate.
Some issues
that might be addressed are:
. Authentication token (e.g., password or
smartcard) protection.
. Warnings
about leaving a terminal unattended.
. Procedures for "locking" a process
when the terminal must be left
unattended, but logged in.
. Default DAC access for named objects (e.g.,
files andkdirectories).
. Cautions about using programs that are not
part of the
standard
system configuration (e.g., utilities or
applications that have not been reviewed and tested by the system
administrator(s)).
. Cautions about the effect of network access
on system and
data
security.
18
THE FEATURE-ORIENTED SFUG EXAMPLES OF SFUG PRESENTATION STYLES
3.
SECURITY-RELATED COMMANDS FOR USERS
This section
comprises the majority of the SFUG since it
describes in detail the commands and procedures for
actually using the
system.
3.1 USER
IDENTIFICATION AND AUTHENTICATION
This section
should step through the procedures for logging on
to and off of the system and for manipulating privileges
and
participation in the system. Additionally, any of the errors that
might occur during the use of these commands and the
corrective
actions should be described here.
3.1.1 Trusted Path
In B2 and
above systems, the first thing that a user will have
to do to Iogon is establish a trusted path between his
terminal and
the system TCB.
This section should describe that process. For B3 and
A1 systems, this trusted path is available for any direct
interaction
between the TCB and the user; therefore, in-session
invocation of the
trusted path and its effects on currently executing
processes should
be described here.
3.1.2 Logging On to the System
The procedure
for logging on to the system should be described.
If the system has MAC, the procedures for logging on with
specific,
non-default authorizations should be described.
3.1.3 Password Considerations
The
procedures and commands for setting, changing, and
protecting passwords should be described.
3.1.4 Changing Group Membership
In systems
with the concept of DAC groups, the mechanisms for
users to specify the group membership(s) that should be
used in making
DAC access decisions (if such capability is present)
should be
described.
19
A GUIDE TO WRITING
THE SFUG THE
FEATURE-ORIENTED SFUG
3.1.5 Changing Current MAC Authorizations
In systems
with MAC, if the user can change their current
authorization level and category set without logging off,
the
mechanism and procedure should be described.
3.1.6 Logging Off of the System
The command
or procedure for logging off the system should be
described.
3.1.7 I&A Errors and Their Causes
The possible
error messages that can occur when I&A commands are
improperly invoked should be noted and the correct or expected
inputs
should be explained.
3.2 DISCRETIONARY
ACCESS CONTROL FACILITIES
This section
should describe the DAC-related commands and
procedures for the system. This section will be present
in some form
at all levels of the criteria.
3.2.1 Setting DAC on Named Objects
This section
should describe how users can set the discretionary
access permissions, and what the permissions mean, for
the different
types of named objects in the system.
3.2.2 Default DAC Protection
The means for
determining and setting the default discretionary
access controls on user controlled or owned named objects
should be
described.
3.2.3 DAC Groups
When the
capability exists for users to define groups of users
for the purpose of DAC, the mechanisms for defining these
groups
should be described.
20
THE FEATURE-ORIENTED SFUG EXAMPLES OF SFUG PRESENTATION
STYLES
3.2.4 DAC Errors and Their Causes
The possible
error messages that can occur when DAC commands are
improperly invoked should be noted and the correct or
expected inputs
should be explained.
3.3 MANDATORY
ACCESS CONTROL FACILITIES
This section
is for systems in the B and A classes.
It
describes the commands that a general user will need for
dealing with
labeled objects.
3.3.1 Printing Labeled Objects
This section
describes the mechanism for printing or otherwise
producing non-electronic versions of labeled
objects. Of specific
interest is the mechanism that would be used for
overriding the
default printing of the object's label in human- readable
form. The
description of this capability could be accompanied by a
discussion of
the security considerations that go with its use.
3.3.2 Accessing Single-Level Devices
This section
should discuss the constraints on the use of
single-level devices in the presence of multiple
authorization levels.
For example, this section could discuss how the TCB
determines a
user's access to a single-level device based on the
user's
authorization level.
3.3.3 Accessing Multilevel Devices
This section
should discuss the rules for the interaction
between users at multiple authorization levels and multilevel
devices.
3.3.4 Downgrading Labeled Objects
Although it
is not a part of TCSEC evaluations, if the system
offers an object downgrade facility that is available to
the target
audience of the SFUG, this facility and cautions on its
proper use
should be described.
21
A GUIDE TO WRITING
THE SFUG THE
FEATURE-ORIENTED SFUG
3.3.5 MAC Errors and Their Causes
The possible
error messages that can occur when MAC commands
are improperly invoked should be noted and the correct or
expected
inputs should be explained.
3.4. OBJECT
MANIPULATION FACILITIES
This section
should discuss the commands and mechanisms
available for dealing with objects.
3.4.1 Object Creation, Reuse, and Deletion
This section
should discuss how the system creates, reuses, and
deletes user visible objects. Any commands which allow
the creation of
user owned objects (e.g., mailboxes or blank files)
should be
described. The
information on object reuse should be for
informational purposes only, since all C2 and above
systems are
required to do object reuse without user
intervention. For systems
with MAC, this section should describe how sensitivity
labels and
discretionary access lists are assigned to an object.
3.4.2 Importing Machine-Readable Objects
The
mechanisms for a user to introduce a machine-readable object
into the system from an external source (e.g., tape,
removable
diskette, or network) and assign discretionary and
mandatory access
control properties to it should be described if such a
facility
exists.
3.4.3 Exporting Machine-Readable Objects
The
mechanisms for a user to export a machine readable object
from the system to an external source (e.g., tape,
removable diskette,
or, network), along with its discretionary and mandatory
access control
properties, should be described if such a facility
exists.
3.4.4 Determining the Properties of Objects
The commands
or mechanisms for determining the discretionary and
mandatory access control properties of an object should
be described.
22
THE FEATURE-ORIENTED SFUG EXAMPLES OF SFUG PRESENTATION STYLES
3.4.5 Object Manipulation Errors and Their Causes
The possible
error messages that can occur when object
manipulation commands are improperly invoked should be
noted and the
correct or expected inputs should be explained.
23
A GUIDE TO WRITING THE SFUG
THE TASK-ORIENTED SFUG
At a high level, the task-oriented example SFUG is
arranged in the
following fashion:
1. INTRODUCTION TO THE SFUG
2. SYSTEM SECURITY OVERVIEW
2.1 SYSTEM PHILOSOPHY OF PROTECTION
2.2
DEFINITION OF TERMS AND SERVICES
2.3 THE
SYSTEM SECURITY OFFICER
2.4 USER
SECURITY RESPONSIBILITIES
3. SECURITY-RELATED COMMANDS FOR USERS
3.1 SYSTEM
ACCESS
3.1.1
Session Initiation
3.1.2 Changing the Session
Profile
3.1.3 Changing the User Profile
3.1.4 Potential Access Problems
and Solutions
3.2 ACCESS
CONTROL FACILITIES
3.3
PROTECTING REMOVABLE OBJECTS
3.4 LOGGING
SECURITY-RELEVANT EVENTS
The annotated outline follows.
24
THE TASK-ORIENTED
SFUG EXAMPLES OF SFUG
PRESENTATION STYLES
1. INTRODUCTION TO THE SFUG
This part of the SFUG should identify what
the SFUG is, who it
is written for, and what it will cover. It might also
explain where
the SFUG fits in with the rest of the user
documentation. If
appropriate, it can also describe the relationship between
the SFUG
and the TFM.
2. SYSTEM
SECURITY OVERVIEW
This section
provides the background on the overall operation of
the security controls in the system so that users can
then understand
the options and actions of individual security-relevant
commands.
2.1 SYSTEM
PHILOSOPHY OF PROTECTION
This section
should describe the general environment for which
the system is designed and briefly explain how this
environment
motivates the approach to protecting information stored
in the
system. The purpose of this section is to lay the
foundation for the
user's understanding of the system's security features,
with later
sections detailing what specific security services are
available and
when and how to use them.
2.2 DEFINITION OF
TERMS AND SERVICES
This section
should first introduce the terms that will be used
to describe the security services available in the system
and then
proceed to introduce those services, without detailing
exactly how
they are used.
Recommended topics (and the criteria classes for.which
they are relevant) for this section are:
. An
explanation of the general concepts of subjects and
objects,
followed by the identification of the subjects and
objects in
the system.
. An
explanation of object reuse and its role in protecting
information
in the system.
. An
explanation of the components of the I&A (identification
and
authentication) process (e.g., user-id, password, or
smartcard)
in the system and the importance of I&A to system
security.
25
A GUIDE TO WRITING THE SFUG THE TASK-ORIENTED
SFUG
. An
explanation of DAC, groups, privileges, protection
bits/ACLs
(access control lists), and any other terms and
concepts
related to the system's DAC policy, followed by a
description
of how the DAC policy applies to the system
subjects
and objects.
. An explanation of MAC, security labels,
sensitivity levels,
categories,
authorizations, and any other terms and concepts
related to
the system's MAC policy, followed by a description
of how the
MAC policy applies to the system subjects and
objects.
2.3 THE
INFORMATION SYSTEM SECURITY OFFICER
This section
discusses the role of the information system
security officer (ISSO) in maintaining the security of
the system. It
can also explain which problems should be reported to the
ISSO and
which should be reported to the system administrator (if
the roles are
separate). If the
format of the SFUG allows it, this section could
have space for site-specific notes on the ISSO/user
relationship.
2.4 USER SECURITY
RESPONSIBILITIES
This section
discusses the user's responsibilities with respect
to properly using the system security features. This
would optimally
be a tutorial that teaches effective use of the system
security
services, but any presentation that relates the security
services to
the user's day-to-day use of the system is
appropriate. Some issues
that might be addressed are:
. Authentication token (e.g., password or
smartcard) protection.
. Warnings about leaving a terminal unattended.
. Procedures for "locking" a process
when the terminal must be
left
unattended, but logged in.
. Default DAC access for named objects (e.g.,
files and directories).
. Cautions about using programs that are not
part of the
standard
system configuration (e.g., utilities or
applications that have not been reviewed and tested by the
system
administrator(s)).
. Cautions about the effect of network access
on system and
data
security.
26
THE TASK-ORIENTED SFUG EXAMPLES OF SFUG
PRESENTATION STYLES
3.
SECURITY-RELATED COMMANDS FOR USERS
This section
comprises the majority of the SFUG since it
describes in detail the commands and procedures for
actually using the
system. It should
describe both the usage of the commands and
reemphasize their role as tools to protect information
stored on the
system. For example, this part might consist of command
reference
pages (e.g., UNIX "man" pages) grouped by
subject, possibly with a
brief introduction at the beginning of each subject
area. Alternatively, this section could contain general
descriptions
of the operation and options of individual commands or
groups of
commands, along with pointers to the detailed
documentation of the
invocation sequence(s) for the commands.
3.1 SYSTEM ACCESS
This section
should explain the procedures for logging on and
off the system. It
should also discuss how the TCB assigns privileges
and authorizations during the login process and how the
user can
change them during the session (if the system allows
in-session
changes). This section might also discuss how users can
prevent and
detect compromise of their accounts. For systems that provide trusted
path during a session, this section of the SFUG should
describe the
mechanism for invoking the trusted path and the effect of
the
invocation on the currently running process. Finally, the
errors that
might occur during the use of these commands and
corrective actions
should be described here.
3.1.1 Session Initiation
This section
should describe the procedures that a user goes
through to establish a session with the system. In B2 and
above
systems, this discussion will start by describing how a
user
establishes a trusted path between the terminal and the
TCB. For any
system, it will discuss the procedure for presenting the
identification and authentication tokens (typically a
user-id and
password) to the system so that the system can establish
a subject to
act on behalf of the user. When the Iogin process provides the means
for overriding the default group/project and subject
sensitivity
level, the use of these options should be described.
27
A GUIDE TO WRITING
THE SFUG THE
TASK-ORIENTED SFUG
3.1.2 Changing the Session Profile
When the
system provides the facilities for the user to
dynamically modify his or her group/project participation
and/or
subject sensitivity level, this section should describe
them.
3.1.3 Changing the User Profile
Many systems
have the concept of a user profile, which contains
the default settings for the creation of a user subject.
Although it
may actually be maintained separately, the user password
is logically
part of this profile.
This section should provide information on how
to modify the parts of the user profile over which the
user has
control. At a minimum, this section should show how the
user can
change his or her password (for systems where the
password is the
authentication token).
3.1.4 Potential Access Problems and Solutions
This section
should discuss the possible problems that a user
could encounter when logging into the system or modifying
session and
user profiles.
This section could be organized as a troubleshooting
guide, where each problem and its potential solution(s)
is presented
in a table format.
3.2 ACCESS
CONTROL FACILITIES
This section
describes the commands available to a user for
managing the objects under his or her control. The major issue
c