20890
20890
https://ebookball.com/product/applied-cyber-security-and-the-
smart-grid-implementing-security-controls-into-the-modern-power-
infrastructure-1st-edition-by-eric-knapp-raj-samani-
isbn-1597499989-9781597499989-17070/
https://ebookball.com/product/applied-cyber-security-and-the-
smart-grid-implementing-security-controls-into-the-modern-power-
infrastructure-1st-edition-by-eric-knapp-raj-samani-
isbn-1597499989-9781597499989-17038/
https://ebookball.com/product/cyber-security-and-global-
information-assurance-1st-edition-by-kenneth-
knapp-1605663271-9781605663272-20184/
https://ebookball.com/product/cyber-physical-security-protecting-
critical-infrastructure-at-the-state-and-local-level-1st-edition-
by-robert-clark-simon-hakim-isbn-9783319328249-3319328247-15774/
Cyber Physical Security Protecting Critical Infrastructure at the
State and Local Level 1st edition by Robert Clark, Simon Hakim ISBN
3319328247 9783319328249
https://ebookball.com/product/cyber-physical-security-protecting-
critical-infrastructure-at-the-state-and-local-level-1st-edition-
by-robert-clark-simon-hakim-isbn-3319328247-9783319328249-17008/
https://ebookball.com/product/the-nice-cyber-security-framework-
cyber-security-intelligence-and-analytics-1st-edition-by-izzat-
alsmadi-isbn-3030023605-9783030023607-15840/
https://ebookball.com/product/cyber-physical-security-protecting-
critical-infrastructure-at-the-state-and-local-level-1st-edition-
by-robert-m-clark-simon-hakim-
isbn-3319328247-9783319328249-15836/
https://ebookball.com/product/auditing-information-and-cyber-
security-governance-a-controls-based-approach-1st-edition-by-
robert-davis-1000416127-9781000416121-20148/
https://ebookball.com/product/cyber-security-and-critical-
infrastructure-1st-edition-by-leandros-maglaras-helge-janicke-
mohamed-amine-ferrag-9783036548463-20056/
Kristin Haltinner · Dilshani Sarathchandra
Jim Alves-Foss · Kevin Chang
Daniel Conte de Leon · Jia Song (Eds.)
Cyber Security
Second International Symposium, CSS 2015
Coeur d'Alene, ID, USA, April 7–8, 2015
Revised Selected Papers
123
Communications
in Computer and Information Science 589
Commenced Publication in 2007
Founding and Former Series Editors:
Alfredo Cuzzocrea, Dominik Ślęzak, and Xiaokang Yang
Editorial Board
Simone Diniz Junqueira Barbosa
Pontifical Catholic University of Rio de Janeiro (PUC-Rio),
Rio de Janeiro, Brazil
Phoebe Chen
La Trobe University, Melbourne, Australia
Xiaoyong Du
Renmin University of China, Beijing, China
Joaquim Filipe
Polytechnic Institute of Setúbal, Setúbal, Portugal
Orhun Kara
TÜBİTAK BİLGEM and Middle East Technical University, Ankara, Turkey
Igor Kotenko
St. Petersburg Institute for Informatics and Automation of the Russian
Academy of Sciences, St. Petersburg, Russia
Ting Liu
Harbin Institute of Technology (HIT), Harbin, China
Krishna M. Sivalingam
Indian Institute of Technology Madras, Chennai, India
Takashi Washio
Osaka University, Osaka, Japan
More information about this series at http://www.springer.com/series/7899
Kristin Haltinner Dilshani Sarathchandra
•
Cyber Security
Second International Symposium, CSS 2015
Coeur d’Alene, ID, USA, April 7–8, 2015
Revised Selected Papers
123
Editors
Kristin Haltinner Kevin Chang
University of Idaho University of Idaho
Moscow, ID Moscow, ID
USA USA
Dilshani Sarathchandra Daniel Conte de Leon
University of Idaho University of Idaho
Moscow, ID Moscow, ID
USA USA
Jim Alves-Foss Jia Song
University of Idaho University of Idaho
Moscow, ID Moscow, ID
USA USA
The 2015 Cybersecurity Symposium: Your Security, Your Future was the second in a
series of conferences hosted by the Center for Secure and Dependable Systems
(CSDS). The symposium offered a key opportunity for academic researchers and
system stakeholders from industry and government organizations to meet and discuss
state-of-the-art and state-of-the-practice techniques and processes related to cyberse-
curity. The objective of the symposium was to provide a platform for stakeholders to
collaborate and exchange ideas and processes to help improve the security of today’s
critical systems. The 2015 Cybersecurity Symposium was partially funded by the State
of Idaho and CSDS.
Since its inception in 2014, the symposium has attracted national and international
stakeholders, including engineers, practitioners, researchers, and learners from indus-
try, government, and academia. The 2015 conference brought together approximately
50 attendees from diverse locations such as the US East and West Coast and Europe.
Hence, the opportunities created by this symposium to bring world-class knowledge
and state and nationwide interest to the ongoing efforts in cybersecurity by the
University of Idaho and the State of Idaho are significant.
The 2015 conference received 20 extended abstracts and 11 full-paper submissions.
The peer-review process for extended abstracts and research papers included two
stages. In the first stage, all potential participants submitted extended abstracts. These
abstracts were reviewed by the Organizing Committee. Authors of extended abstracts
deemed suitable for the conference goals were invited to present their research at the
symposium and to submit full papers for consideration for the conference proceedings.
In the second stage, full-paper submissions went through a series of anonymous
peer-reviews. The resulting detailed reviews were given to all draft authors. Decisions
about final paper acceptance were reviewed and approved by the Organizing Com-
mittee. The committee accepted nine papers to be included in the 2015 proceedings.
The collection of papers in these proceedings reflect four areas of scholarly work:
(1) permissions and trust evaluation, implementation, and management; (2) cloud and
device security and privacy; (3) social implications of networked and mobile appli-
cations, and (4) system and process assessments for improved cybersecurity. These
areas demonstrate a maturity in the fields of cybersecurity and privacy by providing
novel examples of secure computer systems and associated theoretical advances.
The results and case studies presented in these proceedings capture the scope of
current knowledge as well as potential future applications. Previous books on cyber-
security and privacy have been largely divided by discipline. Industry has discovered
the limitations to current security measures, social scientists have investigated public
attitudes and behavior toward privacy and security, engineers have investigated risks of
cybersecurity breaches in critical infrastructures, and computer scientists have explored
practical measures that can be taken to maximize online security while maintaining
some level of privacy for users. Until recently, these fields have operated in a
VI Preface
The 2015 Cybersecurity Symposium was organized by the Center for Secure and
Dependable Systems of the University of Idaho. The center is partly sponsored by the
Idaho Global Entrepreneurial Mission. The conference was held at the Coeur d’Alene
Resort.
How the Secure Use of Technology Could Influence Travel to and from
School for Elementary School-Aged Children . . . . . . . . . . . . . . . . . . . . . . . 82
Kevin Chang, Kristin Haltinner, and Reilly Scott
format string attacks [6,7,12,14]. Recently, security tagging schemes have been
improved to prevent high-level attacks, which include SQL (Structured Query
Language) injection and cross-site scripting [2,4]. Tags are also implemented in
some specific architectures to support memory access control [8,9,13,15]. The
details of the comparison of these tagging schemes can be found in another paper
of the authors [11].
As part of the University of Idaho’s (UI) UITags research project, a tagging
scheme has been developed to secure RTEMS (Real-Time Executive for Multi-
processor Systems). In the UI tagging scheme, a 32-bit tag is associated with
every 32-bit memory and registers. The tag consists of three fields: Owner field,
Code-space field and Control-bits field. These fields provide information about
who owns the data, who can manipulate the data and other information for
further control the tagged data. During system execution, tags are checked and
propagated appropriately. Different from traditional operating systems, RTEMS
can be decomposed into many smaller components. Each component provides a
set of unique services to support the running of the system. Based on the func-
tionality and importance of the component, tags are associated with the code to
represent security levels. Furthermore, tagging rules were implemented to help
control the information flows in the RTEMS.
The original version of RTEMS implements a single-user multi-threaded model
of execution. To expand it to a multiuser system, the concepts of “superuser”
and “non-privileged user” were used. A superuser is a user who has authority to
create, delete, and control non-privileged users. Non-privileged users are isolated
from each other and can only control themselves, but have no abilities to create,
delete or control other users. By assigning different user tags to the data/code of
the system and user application, the data and code can be seen as belonging to
a specific user. Based on the tag, the system knows the specific permissions that
the code/data have, and therefore protects its resources from being accessed by
non-authority users. We expanded RTEMS from a single user system to multiuser
system, implementing a user manager module to handle the multiuser issues. This
paper briefly reviews the overall UI security tagging scheme, provides details of the
implementation of tags for multiple users and how the system code was changed
to support the advanced security tagging scheme for multiuser RTEMS system.
Future work is also proposed at the end of the paper.
2 RTEMS
RTEMS [5] consists of a super core (SCORE) and 18 managers. The 18 managers
provide different services and the SCORE provides kernel functions that support
the managers. After examining the code of RTEMS, we found that it has very
little security built in. Therefore, the UI tagging scheme has been developed with
the purpose to secure the RTEMS.
provides a well-defined set of services through directives that take the place of
traditional system calls. Each manager also has internal functions that it uses to
support implementation, some of these are private to the specific manager, and
some are intended to be used by other managers. In either case, these manager
internal functions are not intended to be used by user code.
In addition to each manager, RTEMS has a set of modules that make up
the SCORE subsystem. The SCORE provides services for all managers, and all
managers interact with the SCORE via directives. Some major SCORE modules
are: object, thread, chain, interrupt service routine (ISR), error handler, heap
and protected heap, workspace, initialization, message, time, watch dog, and
user extension. These modules are key to the internal working of RTEMS, but
are not intended for use by user code.
Conceptually the APIs are meant to be externally accessible, internally
restricted to other RTEMS modules or internal to specific modules. However,
RTEMS currently does not restrict access to any of these functions or their pri-
vate data structures. The following sections outline the major security concerns
that need to be addressed to secure RTEMS.
As shown in Fig. 1, the tag is a 32-bit tag which consists of three fields:
Owner, Code-space, and Control-bits. The tag can be written as (Owner,
Code − space, Control − bits). In a tag, each of the Owner and Code-space
fields is represented with 12 bits, with the remaining 8 bits for the Control-bits.
Owner Field. In the implemented tagging scheme, the first field, the Owner
field, helps separate system code/data and user code/data. It indicates the
identity of the owner of the data or code. The values of the Owner field
can be classified into six major classes: SCORE internal, SCORE, Manager
internal, Manager, Startup and User. The SCORE internal class can be
further divided into three groups: SCORE internal init, SCORE internal
private and SCORE internal. The Manager internal class is also broken
into three groups: Manager internal init, Manager internal private and
Manager internal.
Expanding RTEMS to a Multiuser System by Using Security Tags 7
By using the Owner field, the owner of data or code can be easily
identified. For example, the first field in the tag (object, Code − space,
Control − bits) indicates that the data or code associated with this tag is
object code or object data; where object is one of the SCORE modules. A
tag (task manager, Code − space, Control − bits) shows that the data
or code is owned by the task manager. In the remaining sections, SCORE in
the tag means this field could be one of the possible values in the SCORE class,
and the same holds for the Startup class, SCORE internal class, Manager class,
Manager internal class and User class. Although RTEMS currently only sup-
ports a single user, it is expanded to a multiuser system as part of this paper
(see Sect. 4). Therefore, multiple users are listed in the possible values of the
User class. Having different users for the Owner field ensures that a user can
only access its own data and code, but not other users’ resources.
Code-Space Field. The second field of the tag is the Code-space field. This
field shows which code space should manage the data or code. In addition to
this, the Code-space field is also critical for information flow control and mem-
ory access control. The possible values of the Code-space field are the same as
the Owner field. The Code-space can be User, Manager, Manager internal,
SCORE, SCORE internal and Startup. For example, the tag (User1,
Manager1, Control − bits) means the data are created in manager1’s code
for user1. Manager1 is used as a place holder for a specific manager name, such
as task manager, partition manager, etc.
Code-space is used to show the class of the code or data and helps con-
trol function calls. Users in the system should only use the manager directives,
and not directly use SCORE, SCORE internal, and Manager internal functions.
Therefore, firstly, Code-space is used to indicate which class the code belongs to,
and then rules can be provided to control which classes of code can use which
other classes of code.
Control-Bits Field. The Control-bits field is used for further control. It starts
with a single copy bit (bit 7) which indicates whether a return value has been
modified. The copy bit allows user code to have a copy of a trusted data value
8 J. Song and J. Alves-Foss
(i.e., a task ID) as long as it is not changed. The notation cp means the copy bit
is not set while cp indicates the copy bit is set. The return value to a user will
be tagged with the security class of the directive and will have the copy bit set.
If the copy bit remains set, this means that the user has not made any change
to the value. If the copy bit is not set, the data is treated as modified data and
will not be accepted when used as a parameter to a directive. This allows user
programs to store copies of system IDs and handles while maintaining security
of the values. For example, if user1 uses directive code from the task manager
to get a tag identifier, the directive returns an identifier tagged (user1, task
manager, cp). If the user modifies this returned ID, the tag will be changed to
(user1, user1, cp) to indicate this ID has been changed; and the OS will no
longer trust the ID. This allows the system to trust IDs that come from users
without having to keep an internal table of indirect identifiers or separate tables
for each user, and thereby improve performance and simplify system code.
Three of the control bits (bits 6 to 4) are allocated for memory type. To
further protect data in memory, memory is divided into three classes: stack
memory, code memory, and data memory. These three bits specify the memory
type, such as readable, writable, read-only, executable, entry point, data memory,
and stack memory.
– Stack Memory. Stack memory is readable and writable, and is treated using
register expression rules for stores, instead of assignment rules.
– Code Memory. Code memory stores the executable and readable code. The
“entry point” of a function has a special tag with it to indicate the correct
starting address for executing a function.
– Data Memory. All other memory is data memory which is readable and
writable, and it is treated using assignment rules.
The possible values of the memory type are shown in Table 1.
A world-readable bit (bit 3) is used to indicate that the tagged data can be
read by all entities; It can be used when the system (higher level) wants to give
the user (lower level) permission to access some data, such as configuration data.
The other 3 bits (bits 2 to 0) are reserved for future use.
Expanding RTEMS to a Multiuser System by Using Security Tags 9
3.3 Lattice
Since the Owner field and Code-space field are used to define the security class
of the data, the ideas similar to those of the Data Mark Machine (DMM) [3]
can be implemented to control the information flows within RTEMS. The solu-
tion is a bit different from DMM since a hierarchy is defined for confidentiality
and integrity controls, and it is not for traditional multi-level security. However,
accesses still can be controlled to prevent “lower-level” entities from unautho-
rized access to higher level entities.
The lattice model of information flow deals with channels of information flow
and policies. For the lattice model of information flow, there exists a lattice with
a finite set of security classes and a partial ordering between the classes. The
nodes of the lattice represent the individual security classes. The notation ≤
denotes the partial ordering relation between two classes of information. For
example, A ≤ B means class A is at a lower or equal level than class B. The
notation ⊕ denotes the least upper bound (LUB) operation.
In a lattice, there exists a unique class C = A ⊕ B such that:
A ≤ C and B ≤ C, and
A ≤ D and B ≤ D implies C ≤ D for all D in the lattice.
The security class of an entity in the model, a, will be denoted as a, and it can
be written as a = (Owner(a), Code − space(a)). The Control-bits are ignored in
this discussion since they are used separately from the lattice-based controls
and formulas. Owner(a) refers to just the Owner field of a’s tag, Code-space(a)
refers to the Code-space field of the tag of a.
The definition of the LUB, ⊕, of the security classes of two tags is:
10 J. Song and J. Alves-Foss
The definition of the equality of the security classes of two tags is:
The definition of the domination of the security classes of two tags is:
The similar rules for ≤, <, ≥ and > operations can be defined similarly and
are not shown here.
– During execution of a program, the tag of the current running thread is the
same as the security class of the program counter, denoted as PC.
– The tag of the variable a is the tag of the memory location of a and its security
class is denoted a.
– The tag of a literal, or constant, n, is the same as the tag of the PC. This is
because the use of the literal is controlled by the current thread.
– The security class of the tag of an array item, a[i] is the least upper bound
of the security class of the index to the array and the security class of the
memory location referenced by the array: a[i] = i ⊕ [[a + i]] where [[a+i]]
denotes the memory address referenced by a[i]. In cases where the copy bit
of the memory location is set, the tag of that memory location is used instead
of the LUB.
– The tag of a value referenced by a pointer, *p or structure p->fld or p.fld
is the tag of the memory location referenced. For example, ∗p = [[p]] where
[[p]] denotes the memory address referenced by the pointer p.
– All code will be tagged as read-only, executable memory, and all entry points
to functions will be tagged as function entry points (to avoid problems with
the misuse of function pointers).
– All data memory will be tagged as read-write data memory.
Expanding RTEMS to a Multiuser System by Using Security Tags 11
To support the UI tagging scheme, a tag manager has been added to RTEMS to
allow the OS to handle the tagging issue, for example checking if the copy bit is
set or not in some specific functions and take or release the ownership of some
data. These tag checking and propagation can not be done at the hardware level
easily. Some tagging functions have been inserted into special RTEMS functions
to satisfy special requirements of the tagging scheme, such as setting the copy
bit of the ID’s tag that is going to be returned from some RTEMS functions.
The tag engine has been implemented at the hardware level to support the
tagging scheme. The tag engine can be turned on and off to test the whole
tagging system. Tag engine rules have been applied to different instructions.
Therefore when executing an instruction, the tag engine rules for the specific
instruction will be checked to ensure the instruction is allowed to be executed
based on the tagging rules. If that is not the case, the tag engine will generate
an error message and terminate the program.
To expand RTEMS to support multiple users, a new “user” construct has been
added to RTEMS, similar to the task construct. To manage the users, the con-
cepts of “superuser” and “non-privileged user” have been defined. All control is
managed through a new user manager.
Table 2. New bit representation for Owner field of USER and LOW levels
unique task id back. By using the system task id, the user application is able
to start, suspend, resume, or delete the task.
The multiuser example starts from an Init function. The Init function first
uses the rtems user create function twice to create two non-privileged users.
In this example the PC’s tag is manually set to the SUPERUSER. Normally
this will happen in the kernel prior to calling Init. The result of calling the
rtems user create function is shown in Fig. 2. The Task id[1] to Task id[4]
are tagged with user1’s tag, and Task id[5] to Task id[7] are tagged with
user2’s tag.
Then the user application sends Task id[1] to Task id[4] to the direc-
tive, rtems task create, to create four new tasks separately. The directive
then creates four tasks and stores the RTEMS task ids into the Task id[1] to
Task id[4] respectively. The copy bit of the tags associated with Task id[1]
to Task id[4] will be set. Similarly, another three tasks will be created by user2
for Task id[5] to Task id[7].
The four tasks created for user1 are different from the three tasks for user2.
User1’s tasks keep printing out the time every five seconds. After starting user2’s
tasks, the tasks are suspended for 15 s and then wake up to attempt to delete
user1’s tasks.
The seven tasks run concurrently. Figure 3 shows output of the tasks running
without the tag engine turned on. At the first 15 s, tasks 1 to 4 are running and
printing time information every five seconds. After 15 s, task 5 starts to delete
task 1, task 6 deletes task 3 and task 7 deletes task 4. After successful deletion
of these tasks, only task 2 is still alive and running.
The output of running the seven tasks is displayed in Fig. 4. With tag engine
turned on, when user2’s task (task 5) wants to delete user1’s task (task 1), the
tag engine generates an exception, prints an error message and stops the system.
From the information given by the tag engine, the call is successfully made and
the new PC’s tag is generated correctly ((USER2, TASK EXTERNAL, false |
READWRITE | DATA MEMORY | WORLD NOT READABLE)). However the exception is
raised on a LD instruction that the Owner field of the PC’s tag (USER2) does not
dominate the Owner field of the address’s tag (USER1). This is because when
task 5 tries to delete task 1, it uses the rtems task delete directive and passes
Task id[1] to it. Then, rtems task delete directive tries to get the specific
thread by using Task id[1], which is tagged with user1’s tag, and therefore
generates a LD error message.
Although RTEMS is not fully tagged and the tag engine has to be turned
on manually in the code, the test case shows that the UI tagging scheme for
multiple users is working and can be used to help isolate tasks of different users.
This section summarizes the future work that could be conducted as an extension
of the security tagging project.
16 J. Song and J. Alves-Foss
Reduce the Overhead of the Tagging System. Since almost every instruc-
tion execution requires tag checking of the source or destination operands’ tag,
it increases the overhead of the system. For example, normally, the LD instruc-
tion loads values from memory space to registers, but in the UI tagging scheme,
the LD instruction has to check the value’s tag and store it as the register’s tag
additionally. To minimize the overhead, tags can be cached as many as possible
to speed up the tag checking operations. Another way that could reduce the
overhead of the tagging system is to use a tag compression scheme, and data
and code spatial locality information to reduce the overhead.
References
1. Burroughs Corporation, Detroit 32, Michigan. The Operational Characteristics of
the Processors for the Burroughs B5000, revision a, 5000–21005 edn. (1962)
2. Dalton, M., Kannan, H., Kozyrakis, C.: Raksha: a flexible information flow archi-
tecture for software security. In: Proceedings of the 34th Annual International
Symposium on Computer Architecture, vol. 35, pp. 482–493, May 2007
3. Fenton, J.S.: Memoryless subsystems. Comput. J. 17(2), 143–147 (1974)
4. Kannan, H., Dalton, M., Kozyrakis, C.: Decoupling dynamic information flow
tracking with a dedicated coprocessor. In: Proceedings of the 2009 IEEE/IFIP
International Conference on Dependable Systems and Networks, pp. 105–114.
IEEE, Estoril, Lisbon, Portugal (2009)
5. On-Line Applications Research Corporation. RTEMS C User’s Guide, edition
4.10.1, for rtems 4.10.1 edn., July 2011
6. Qin, F., Wang, C., Li, Z., Kim, H.-S., Zhou, Y., Wu, Y.: LIFT: a low-overhead
practical information flow tracking system for detecting security attacks. In: Pro-
ceedings of the 39th Annual IEEE/ACM International Symposium on Microarchi-
tecture (MICRO-39 2006), pp. 135–148. IEEE Computer Society (2006)
7. Shioya, R., Kim, D., Horio, K., Goshima, M., Sakai, S.: Low-overhead architecture
for security tag. In: Proceedings of the 15th IEEE Pacific Rim International Sympo-
sium on Dependable Computing, pp. 135–142. IEEE Computer Society, Shanghai,
China (2009)
8. Shriraman, A., Dwarkadas, S.: Sentry: light-weight auxiliary memory access con-
trol. In: Proceedings of the 37th International Symposium on Computer Archi-
tecture (37th ISCA’10), pp. 407–418. ACM SIGARCH, Saint-Malo, France, June
2010
9. Shrobe, H., DeHon, A., Knight, T.: Trust-management, intrusion tolerance,
accountability, and reconstitution architecture (TIARA). Technical report, AFRL
Technical Report AFRL-RI-RS-TR-2009-271, December 2009
10. Song, J.: Development and evaluation of a security tagging scheme for a real-time
zero operating system kernel. Master thesis, University of Idaho, May 2012
11. Song, J., Alves-Foss, J.: Security tagging for a zero-kernel operating system. In:
Proceedings of the 46th Hawaii International Conference on System Sciences
(HICSS), pp. 5049–5058, Wailea, HI, USA, January 2013
12. Suh, G.E., Lee, J.W., Zhang, D., Devadas, S.: Secure program execution via
dynamic information flow tracking. In: Proceedings of the 11th International Con-
ference on Architectural Support for Programming Languages and Operating Sys-
tems, pp. 85–96, Boston, MA, USA, November 2004
18 J. Song and J. Alves-Foss
13. Witchel, E., Cates, J., Asanovic, K.: Mondrian memory protection. In: Proceedings
of the 10th International Conference on Architectural Support for Programming
Languages and Operating Systems, pp. 304–316 (2002)
14. Yong, S.H., Horwitz, S.: Protecting C programs from attacks via invalid pointer
dereferences. In: Proceedings of the 11th ACM SIGSOFT Symposium on Foun-
dations of Software Engineering 2003 held jointly with 9th European Software
Engineering Conference. ACM, pp. 307–316, Helsinki, Finland, September 2003
15. Zeldovich, N., Kannan, H., Dalton, M., Kozyrakis, C.: Hardware enforcement of
application security policies using tagged memory. In: Draves, R., van Renesse, R.
(eds.) Proceedings of the 8th USENIX Symposium on Operating Systems Design
and Implementation, pp. 225–240. USENIX Association, San Diego (2008)
UI Tags: Confidentiality in Office Open XML
Lawrence Kerr ✉
( )
1 Introduction
XML, a markup language for describing a wide variety of data, has become a common
means of storing and transmitting information. XML consists of a series of nested
elements, each with an associated set of attributes. The elements, attributes, and structure
of an XML document is typically defined in a schema that describes each element and
attribute, along with data types and legal values for each. Many common document
formats are based on XML [1, 2]. The flexibility of XML makes it suitable for many of
these applications, as well as many others.
Extending these formats becomes a matter of augmenting underlying XML and
schemas. Extension allows insertion of further information. One particular use of this
extended information might be the inclusion of security information within a document.
This security information is leveraged to determine which users have specific accesses
to specific parts of a document, while continuing to allow users to utilize familiar tools
for creation and editing of content.
This is the high-level goal of the UI Tags document management project. This
project strives to create a means of adding paragraph level tagging to Microsoft
Word.docx format documents to enforce mandatory and attribute based access
2 Background
One high level goal of UI Tags is to provide a system that supports not only MAC tagging
of documents, but also a wider set of ABAC tagging. Tagging builds on Office Open
XML standards, with initial targets being the individual paragraphs within tagged docu‐
ments, while change tracking looks at general approaches for detecting and incorpo‐
rating changes within a general XML tree.
The typical model of an multilevel secure (MLS) environment follows much of the
mandatory considerations of the Bell La Padula model [3]. Under this model, system
entities are grouped as either objects or subjects. Objects are resources to be accessed.
Each object is assigned a security level which conveys its relative sensitivity, represented
by the object’s security classification. Subjects are users or processes that require access
to the objects. Each subject is given a security label as well, referred to here as the
clearance level of the subject, or simply level. Both subjects and objects can be addi‐
tionally associated with some number of compartments. Based on the relationship
between the level of an object and the level of a subject, as well as their respective sets
of compartments, the policy determines whether to grant or deny a particular access.
The fundamental comparison of levels and compartments is known as the “dominates
relationship.” Comparison is possible among classifications and clearances as each
represents a totally ordered set. A typical set might include a number of possible levels
such as:
Here U (unclassified) is the lowest level. All other levels are higher, or more sensi‐
tive, up to TS (top secret) which is the most sensitive. Compartments are not ordered as
no individual comparison exists from one compartment to another. Taken together, the
level and compartments form a partially ordered set. The dominates relationship uses
this partially ordered set to determine if one entity dominates another. To dominate an
object, a subject must have a clearance at least as high as the object, while also belong
to a superset of the object’s compartments. A stronger comparison, strict dominance,
requires this same relationship with the additional constraint that the dominating subject
UI Tags: Confidentiality in Office Open XML 21
has either a higher clearance than the object’s classification or at least one additional
compartment that the object does not belong to.
Two guiding properties form the basis of access decisions. First, the simple security
property states that only subjects which dominate an object are granted read access. Any
subjects which do not dominate an object are denied access as this would represent a
leak of information to lower levels. In a read only environment this single property
suffices, but in dynamic environments where objects are not only read, but created,
edited, and removed, a further rule is necessary. The *-property deals with this instance.
It states that a subject is only granted write access to dominating objects. This ensures
the subject only writes to objects which are at the subject’s level or higher. A strong *-
property takes this further limiting a user to write only to objects with the same level
and compartment set.
One artifact of MAC environments is the potential for polyinstantiation. Polyin‐
stantiation occurs when some object is necessarily described differently at different
sensitivity levels [4]. A user may only see one instance, matching his or her level, or a
user at a higher level might be able to see one or many lower level representations of
the same object. Some have described this as a necessary side effect of maintaining
multilevel data, even exploiting it to maintain cover stories for various entities [4], while
others have sought to limit or eliminate the presence of polyinstantiation [5].
that are static, or reasonably static, are used as the basis for roles. These include things
such as office location, position, or nationality. They are not likely to change frequently
if at all. More dynamic attributes such as time of day are leveraged in the ABAC portion
of the combined model. Using static roles and dynamic attributes together can signifi‐
cantly cut down on the number of possible roles and rules. An example system with 4
static attributes and 6 dynamic results in at most 24 roles and 26 rules, whereas a strictly
RBAC or ABAC approach results in as many as 210 roles or rules, respectively.
Jin et al. [6] state the necessity of more clearly and mathematically defining ABAC,
while providing a model for ABAC that is capable of expressing other, more traditional
models such as mandatory, discretionary, or role based access control. Under this model,
each attribute is a function with a specific range that returns a value or set of values for
some entity. Entities include users, subjects acting on behalf of users, and objects repre‐
senting the resources available in the system. Each entity is associated with a finite set
of attribute functions which return properties of the associated entity. Policies are
constructed using constraints on the values of these attribute functions.
Once the basic entities and attribute sets are defined, four configuration points are
defined: (1) authorization policies (2) subject attribute constraints, (3) object attribute
creation time constraints, and (4) object attribute modification constraints [6]. Author‐
ization policies return true or false as access is granted or denied. Using this framework,
the authors are able to create ABAC policies that adhere to DAC, MAC, and RBAC
policies.
Office Open XML, or simply Open XML, is a standard that seeks to provide a stable
document format while providing all features offered by pre-existing productivity appli‐
cations [12]. The standard originally appeared as Ecma-376 in 2006, and has subse‐
quently progressed to a fourth edition [13] as well as an International Organization for
Standardization (ISO) standard [2]. These standards provide schemas for the markup
used in various document types including word processing (WordprocessingML),
spreadsheet (SpreadsheetML), and presentation (PresentationML), in addition to a
number of features shared between file types including the organization of and rela‐
tionship between various document components.
Each Open XML file consists of a number of different parts, all collected in a single
package. The contents and layout of the package are defined in the Open Packaging
Conventions (OPC) section of Ecma-376 [13]. An Open XML file is a package that
contains a number of individual XML files referred to as parts that specify document
content, markup, features, and relationships between different parts. It relies on ZIP
technology to combine the various parts into a single object.
Contents of the package are organized in a hierarchy, with each part having a unique
name that includes both the location in the hierarchy and the content name. The name
represents a pack URI used for addressing specific parts within the package [2, 13].
Common parts of interest are document.xml, [Content_Types].xml, app.xml, and
core.xml.
UI Tags: Confidentiality in Office Open XML 23
For Open XML word processing documents, the document.xml part contains the
main body of text for the document. The metadata associated with an Open XML docu‐
ment is stored in either core.xml or app.xml, depending on the nature of the metadata.
Open XML standards ([2, 13]) define a metadata schema for the core properties common
to all file types in core.xml, but app.xml is reserved for extended properties - application
specific items. The schema for the core properties defines fifteen pieces of information
that can be used, including such items as creator, creation date, last modifier, last date
modified, subject, title, and keywords. None of the metadata elements is required, and
if no data is present, the part as a whole can be omitted. Repetition of elements is not
allowed – for example, a document with two creator elements results in an error. Any
deviation from what the schema allows in the core properties also results in an error.
The extended properties are application dependent, and allow the incorporation of
information beyond the core properties. The same rules apply here – adherence to the
schema, non-repeating elements, etc. The schema governing extended properties defines
nearly twice as many types as the core properties, including such items as application and
version; character, word, paragraph, and page counts; template used; and total editing time.
tree). Conflicts are identified as ambiguous conditions where different changes are
detected in the same node in both replicas. For example, a node in the original document
might contain the text “Hello,” where in the replicas it may contain “Hi” and “Bye”,
respectively. To resolve such conflicts, Lindholm includes the options to either defer
resolving conflicts until post-processing, or to allow for some level of “speculative
merging” – taking a best guess.
The example provided is a date field in a document’s metadata. If two edited replicas
of an original have different dates associated with them, which date should be used for
the merge? This question is left unanswered.
Rönnau, Pauli, and Borghoff use hashes of individual elements, as opposed to
subtrees, to construct a fingerprint [18]. This fingerprint represents the context of an
element and consists of the hash of the element and hashes of other elements within a
specified radius. The hope here is that an edit operation on a specific element is possible
in the presence of other changes – matching some of the fingerprint or context allows
determining where an operation takes place. This allows for delta scripts that do not rely
on absolute addressing of changes, as well as commutative deltas, where the ordering
of operations does not change the end result.
In further work seeking an efficient change detection strategy, Rönnau, Philipp and
Borghoff [19] frame the change detection problem in terms of the longest common
subsequence (LCS), that is the sequence of leaf nodes of maximum length at a specific
depth that appears in both original and edited documents. This algorithm, called
DocTreeDiff, consists of three steps. First, hash values of all leaf nodes and their respec‐
tive depths are computed, from which a LCS is determined. The second step involves
inspecting the ancestors of leaf nodes found to be matching. Differences along the path
to the root element from the leaf indicate structure preserving changes as opposed to
content changes which only occur at the leaves. Finally, the third step investigates nodes
for which no match exists in the opposing document – each of these represents an insert
or delete operation.
3 UI Tags Overview
The UI Tags project seeks to develop an end-to-end solution which enforces tagging of
specific elements within a document, while enforcing MAC and ABAC policies
involving read, insert, update, and delete operations on document content. Challenges
include management of the document metadata, merging document changes across
security levels, and the capacity for queries over a collection of documents to produce
new derivative documents.
The UI Tags Project (or simply UI Tags) encompasses a number of objectives, many
of which have been addressed in prior studies including work in document-level and
hardware-level tagging. Kerr [20] provided early work enforcing tagging in XML docu‐
ments, using custom schemas to define tags to be used as attributes of various elements.
The secure document portion of UI Tags (henceforth referred to as simply UI Tags in
this proposal) extends this work to focus on word processing documents based on Office
Open XML ([1, 2]), a standard format used by recent editions of Microsoft Word.
UI Tags: Confidentiality in Office Open XML 25
Also desirable here is the ability to specify the provenance information returned from
the query.
UI Tags is primarily envisioned as a tool for government environments where an
established MAC policy exists, though it could be implemented in any environment
where need-to-know determines access. In a government setting, MAC aspects of UI
Tags enforce the existing MAC control requirements (users with specific clearances and
need-to-know), while ABAC lends a more dynamic access control mechanism (access
based on date or time, nationality of user, etc.). Outside government, medical facilities
could also benefit from such a system. Here need-to-know relates to care for a patient.
Admission or billing staff needs access to patient demographics, but likely does not
require the level of detail into a patient’s care that a physician requires.
4 UI Tags Phase 1
The initial phase of UI Tags began with mandatory access control for XML documents.
Document here are based on a custom XML schema. The schema defines not only the
structure of the elements within the document, but also a series of XML attributes repre‐
senting the security tags. These XML attributes apply to specific XML elements of
interest throughout the document. In this case, the user of the system is the subject, and
the objects are specific elements within an XML document. Each labeled element bears
three attributes. The first two attributes represent the classification and compartments
associated with the containing element. To mitigate some editing issues arising in this
multilevel environment, a preserve attribute is also used to indicate a need to partially
delete an element. This early effort mitigates a number of issues specific to XML while
allowing for four basic database operations. The work culminated in a prototype client/
server system that allowed a user to perform any of the four basic operations on an XML
database while adhering to a MAC security policy.
C, {}
preserve=
"PRESENT"
C, {} S, {}
preserve= preserve=
"PRESENT" "PRESENT"
C, {RED} C, {} S, {} S, {}
preserve= preserve= preserve= preserve=
"PRESENT" "PRESENT" "PRESENT" "PRESENT"
Kerr [20] defines four basic operations for security tagged XML documents: (1) read,
(2) insert, (3) update, and (4) delete. Each of these operates at the element level within
the constraints imposed by both the simple security property and the *- property. For
each operation, the path from the root element of the XML tree to the target of the
operation is critical – if the path is not fully dominated by the user, there exists the
possibility that the element exists as a child of a more sensitive element, essentially
orphaning the element in the eyes of the user.
Read access is similar to a Bell La Padula style read, wherein the user must dominate
the object. One added attribute, the present attribute, is used here as some editing oper‐
ations my cause undesirable situations as discussed below. If this flag is present with a
value of “REMOVED,” any user with a level matching the level of the element flagged
as “REMOVED” will not be granted access to the element as it is considered deleted as
far as a user of that level is concerned. Consider a user with a confidential clearance,
with membership in no compartments. If this user were to request read access to the
example XML tree in Fig. 1, only three elements would be allowed: the root element,
the left child of the root, and the right child of that child – only those elements bearing
at least a C classification with no compartments and a preserve attribute of PRESENT.
All data of the higher S classification or any elements with compartment membership
are removed from the user’s read view.
C, {}
preserve=
"PRESENT"
C, {} S, {}
preserve= preserve=
"REMOVED" "PRESENT"
C, {RED, BLUE} S, {} S, {}
C, {RED, GREEN}
preserve= preserve= preserve=
preserve=
"PRESENT" "PRESENT" "PRESENT"
"PRESENT"
An insertion operation, where a user adds a new element, has similar concerns. The
user’s classification must dominate that of the path from the root to the parent of where
the insertion is to occur. Adopting a strong *-property, the inserted element can only
have a sensitivity that matches that of the inserting user’s classification. If this require‐
ment is relaxed, two problems arise: (1) a downward flow of information is possible if
a high level user inserts a new element at a low level, or (2) a conflict occurs when a
low level user attempts to insert an element that may already exist at a higher level. The
adoption of a stronger *-property as described above, where insertions are only allowed
at the user’s classification, prevents this issue. Recalling a C user with no compartments,
28 L. Kerr
insertions will only be allowed at any of the three readable elements, provided the inser‐
tion bears only the classification and compartments of the inserting user. Any insertion
not bearing a C classification with no compartments represents a violation of the strong
*-property.
Each of the other types of access involves changing the XML data, either by value
of some element or attribute, or its structure as in the cases of adding or removing
elements. Deletion of an element presents a number of issues. An element must only be
considered for deletion if it is accessible by the user in a read capacity – a user would
not realistically need to delete an element that the user is unaware of. So as with a read
access, the clearance of the user must dominate the path from the root to the element to
be deleted. A confidential user with no compartments would then only be allowed to
remove elements tagged with a like classification.
A further consideration involves the content associated with the element. The sensi‐
tivity of descendant elements to the deleted element must be considered to ensure only
appropriate data is removed. If the clearance of the user performing the deletion domi‐
nates the sensitivity of all child trees rooted at the element being deleted, there is no
potential for information flow down to lower levels, as any child elements would already
be unknown to lower level users. The deletion of an unknown element does not impact
a low level user.
If the element contains some child elements strictly dominating the user’s clearance,
however, the deletion cannot simply remove the element. As the deleting user does not
know of the existence of the higher level data, no judgment can be made by the user if
the higher level child elements are appropriate for removal. To resolve this situation, a
preserve attribute is used to mark the element to be deleted as removed. The setting of
this flag must propagate to all descendant elements matching the classification of the
deleted element. Once this has been set, the elements “deleted” by the user are no longer
visible to a user of that clearance, but remain visible to strictly dominating users. This
scenario is shown in Fig. 2, where a confidential user with no compartments has deleted
a child element or the root element. As this element has children which the user was not
cleared to view (and are thus unknown to the user), the present attribute is updated to
REMOVED, effectively removing the element rom the user’s view while retaining the
more sensitive child elements for higher cleared users.
With an update action, there are two possible scenarios for the update: either a value
associated with an element is being updated, or that of an attribute. In the first case, the
value of an element is changed (the value here being some child element or some inner
data, but not the tag itself). This operation is allowed for subjects with a clearance that
is the same as the classification of the element being updated – that is, the subject’s level
both dominates and is dominated by the level of the object. The path in this case must
allow the user to have read access to the element (as an update makes no sense for
something the subject cannot read), but does not necessarily determine the ability of the
subject to update the accessible element. This allows the value to be changed while
avoiding any downward flow of information, and prevents any “blind writes” into higher
level data that the subject should not have access to.
The second update scenario, where a subject attempts to update an attribute follows
the same logic as an element update, with a few conditions:
UI Tags: Confidentiality in Office Open XML 29
5 UI Tags Phase 2
Since the early work of Kerr [20], UI Tags has been extended in a number of ways by
coordinated efforts in three different areas: (1) an early cooperative effort among Amack,
Bhaskar, and Kerr worked towards a foundational prototype system leveraging a native
XML database in which individual word processing documents are stored in compliance
with a MAC policy as their individual XML parts; (2) Amack’s work on a derivative clas‐
sification module that operates on documents as they are processed, adjusting tagged para‐
graphs as necessary based on their content as matched to a set of rules [22]; (3) Bhaskar’s
extension of the prototype, adding elements of attribute-based access control [23].
UI Tags Phase 2 work began by extending the Phase 1 tagging approach to OOXML
based word processing documents. Tagging occurs in the document.xml part at the para‐
graph level, largely as the concept of paragraph exists both in the text content of the
document and as a common element in the XML. Most content in the main body of text
within the document is contained within paragraph elements. Other more granular
elements could be used, though these do not necessarily relate to a logical unit of content
in the eyes of the user (text runs, for example, are used to distinguish separate editing
events or other application specific artifacts).
In addition to attaching compartments and labels to XML paragraph elements, a set
of tags appearing at the beginning of each paragraph’s text is also inserted. This allows
for persistence of tag information when the document is opened and subsequently saved,
30 L. Kerr
as any custom XML markup is removed by MS Word, per a court decision involving a
patent on custom XML in Word documents [24].
Using a database for backend storage of XML content led to the selection of native
XML database eXist-db [25]. With eXist-db, individual XML parts of an OOXML
document can be stored, queried, and retrieved using XPath [26] and XQuery [27]
expressions.
On a read request, each individual part of the document is retrieved from the database.
Once the document.xml part is obtained, a check of each paragraph is conducted,
ensuring the requesting user’s clearance dominates the classification of the paragraph.
If a paragraph is not dominated, it is removed from document.xml, resulting in a docu‐
ment containing only those paragraphs a user is allowed to view. In the event there are
no paragraphs viewable by the user, no document is returned.
This work provides limited support for edit operations. The prototype is able to
determine if change has occurred in a document using a fingerprint scheme similar to
Rönnau, Pauli, and Borghoff [18], though this only works on documents that are whole,
not in cases where the user is allowed a view of only a subset of the document. In cases
where the whole document is available, the edited version simply takes the place of the
original – no delta script is generated or applied.
In addition to this issue with change tracking and subsequent merging of different
versions, one other concern of interest was identified in the course of this work. First,
as mentioned by Lindholm [17], metadata management becomes an issue when merging
changes between versions of documents. This is further compounded by the security
policy. Document metadata may itself represent a leakage should higher level informa‐
tion be exposed. For example, a document containing paragraphs with a range of clas‐
sifications is edited by a high level user. If the metadata reflects this change to all users,
lower level users are able to view this and may infer the existence of nature of the higher
level insertion simply by having the identity of the higher level user.
Building on the UI Tags foundational prototype, Amack [22] developed a means of
building and applying derivative classification rules. These rules define specific strings and
the classification that paragraphs containing these strings must bear. The need for deriva‐
tive classification arises when new documents are created based on content in previously
classified documents, with the new content requiring classification in a like manner.
Derivative classification is governed by a classification guide that consists of a
number of classification rules established by an original classifier [21]. Each rule
contains a string that is associated with a specific classification. Should a paragraph
contain the indicated string, it is expected that paragraph will be assigned the indicated
classification. Amack established an XML format for classification rules in UI Tags [22].
Rule creation is facilitated for the original classifier by a rule builder. As rules are created,
they are appended to a rule file stored in eXist-db.
Derivative classification can occur when documents are uploaded to the server as
well as when read requests are submitted. In either case, each paragraph is inspected for
an occurrence of a classification string in the collection of rules. If a match is discovered,
a check for rule expiration is made. Non-expired matching rules result in a check for
dominance. Here only rules that result in a new classification that dominates the existing
classification are allowed. If the rule indicates a new classification that is non-dominating
UI Tags: Confidentiality in Office Open XML 31
or non-comparable, the change is marked for review and an error condition explaining
the non-dominating result is logged. An original classifier must then review and resolve
these issues.
Bhaskar [23] introduced some elements of ABAC to UI Tags. Attributes in this
context represent further indicators that supplement the MAC labeling which could
include designations such as dissemination and export controls.
Facilitating these ABAC tags presents somewhat of a problem. While the document
is being stored and processed, these attributes can be stored in the XML, but for persis‐
tence (as they will be removed as custom XML) a new solution is necessary as the
addition of further text prepending each paragraph becomes somewhat unwieldy. To
resolve this issue, the use of endnotes is used here in conjunction with XML attribute
tags. Each paragraph still has the security label prefix on each paragraph, accompanied
by a reference to an endnote. In the endnote, where space and readability are not issues,
full details on the classification, compartments, and additional attributes are found,
allowing for persistence in a way that is familiar to the user. While this provides a means
of ABAC tagging, it does not use the tags in access control decisions.
6 Future Work
As UI Tags evolves, a number of areas for further work have emerged. While many of
the previously enumerated objectives have been satisfied with prior work, several critical
issues still remain. Among these are extending the MAC model to incorporate ABAC
features, particularly in how these attributes affect specifically MAC artifacts – the
simple security property, the *-property and polyinstantiation. In coordination with
extending this model, implementing the read, insert, update and delete operations with
support for ABAC constraints is also necessary.
Along with ABAC operation support, metadata management and change tracking
are critical. Metadata needs to be managed in such a way as to remain coherent and
consistent, but not leak any information to lower levels. While change tracking is
supported in a limited way, further work is necessary to adequately track changes under
security constraints.
Finally, dynamic document creation work must be completed, whereby a user is able
to submit a query, and a document containing relevant results is returned, consisting of
information pulled from various documents in the database. These dynamic documents
are subject to MAC and ABAC security constraints, as well as derivative classification,
and must show sources for all information retrieved.
References
3. Bell, D.E., La Padula, L.J.: Secure computer system: Unified exposition and Multics
interpretation (1976)
4. Lunt, T.F.: Polyinstantiation: an inevitable part of a multilevel world. In: 1991 Proceedings
of Computer Security Foundations Workshop IV, pp. 236 –238 (1991)
5. Wiseman, S.: Lies, Damned Lies and Databases (1991)
6. Jin, X., Krishnan, R., Sandhu, R.: A unified attribute-based access control model covering
DAC, MAC and RBAC. In: Cuppens-Boulahia, N., Cuppens, F., Garcia-Alfaro, J. (eds.)
DBSec 2012. LNCS, vol. 7371, pp. 41–55. Springer, Heidelberg (2012)
7. Kuhn, D.R., Coyne, E.J., Weil, T.R.: Adding attributes to role-based access control. Computer
43(6), 79–81 (2010)
8. Wang, L., Wijesekera, D., Jajodia, S.: A logic-based framework for attribute based access
control. In: Proceedings of the 2004 ACM Workshop on Formal Methods in Security
Engineering, pp. 45–55 (2004)
9. Bobba, R., Fatemieh, O., Khan, F., Gunter, C.A., Khurana, H.: Using attribute-based access
control to enable attribute-based messaging. In: 2006 22nd Annual Computer Security
Applications Conference, ACSAC 2006, pp. 403–413 (2006)
10. Frikken, K., Atallah, M.J., Li, J.: Attribute-based access control with hidden policies and
hidden credentials. IEEE Trans. Comput. 55(10), 1259–1270 (2006)
11. Cirio, L., Cruz, I.F., Tamassia, R.: A role and attribute based access control system using
semantic web technologies. In: Meersman, R., Tari, Z. (eds.) OTM-WS 2007, Part II. LNCS,
vol. 4806, pp. 1256–1266. Springer, Heidelberg (2007)
12. Ecma Technical Committee 45, “Office Open Xml Overview.” Ecma International (2006)
13. Standard ECMA-376 (2012). http://www.ecma-international.org/publications/standards/
Ecma-376.htm. Accessed 30 June 2013
14. Khan, L., Wang, L., Rao, Y.: Change detection of XML documents using signatures. In:
Proceedings of Workshop on Real World RDF and Semantic Web Applications (2002)
15. Peters, L.: Change detection in XML trees: a survey. In: 3rd Twente Student Conference on
IT (2005)
16. Cobena, G., Abiteboul, S., Marian, A.: Detecting changes in XML documents. In: 2002
Proceedings 18th International Conference on Data Engineering, pp. 41–52 (2002)
17. Lindholm, T.: A three-way merge for XML documents. In: Proceedings of the 2004 ACM
Symposium on Document Engineering, pp. 1–10 (2004)
18. Rönnau, S., Pauli, C., Borghoff, U.M.: Merging changes in XML documents using reliable
context fingerprints. In: Proceedings of the Eighth ACM Symposium on Document
Engineering, pp. 52–61 (2008)
19. Rönnau, S., Philipp, G., Borghoff, U.M.: Efficient change control of XML documents. In:
Proceedings of the 9th ACM Symposium on Document Engineering, pp. 3–12 (2009)
20. Kerr, L.: Polyinstantiation in multilevel secure XML databases. MS Thesis, Department of
Computer Science, University of Idaho, Moscow, Idaho (2012)
21. Executive Order 13526- Classified National Security Information | The White House (2009).
http://www.whitehouse.gov/the-press-office/executive-order-classified-national-security-
information. Accessed 22 October 2014
22. Amack, A.S.: Automating derivative classification in multi-level secure documents. MS
Thesis, Department of Computer Science, University of Idaho, Moscow, Idaho (2014)
23. Bhaskar, D.V.: Software Design Specification for Storing Multilevel Secure XML for Easy
Retrieval. University of Idaho, Moscow (2014)
24. Microsoft Corp. v. i4i Ltd. Partnership - Supreme Court (2010). http://
www.supremecourt.gov/opinions/10pdf/10-290.pdf. Accessed 25 November 2014
UI Tags: Confidentiality in Office Open XML 33
As the number and diversity of computing devices continues to grow at a rapid pace,
there is a need to develop more sophisticated frameworks for establishing trust between
interacting devices. Consider, for example, a set of Internet of Things (IoT) devices in
the context of a smart city. Devices under the control of a user may wish to connect with
peer devices offering information or other services. Likewise, service devices are
designed to connect with user devices, either peer-to-peer, directly, or through a
gateway. In general, user devices are frequently heterogeneous and the context of inter‐
action is dynamic. For example, mobility may enable a large number of devices to
interact in passing as users come and go.
Authentication is one means by which interacting systems may establish a trust‐
worthy relationship. By exchanging private information using a secure communication
protocol, a service device may identify a client device (and/or its user) in order to estab‐
lish trust. Similarly, a client device may use digital certificates or another means to
identify the service and establish trust with the service device. Cryptographic or trusted
computing methods may be employed to ensure the identification process is robust
against man-in-the-middle attacks, spoofing attacks, and other threats to the mutual
identification process.
Our reliance on authentication, however, is not without its problems. While authen‐
tication approaches may reliably establish the identity of a system and/or its user, they
fail to assess whether the system involved is actually trustworthy. An obvious example
is a system infected with malware; while the user may successfully use the system to
connect with a service and pass authentication, the underlying device may independently
launch an attack against the interacting device, attempt to eavesdrop on private data
exchanges, or simply interfere with interaction between the devices. Perhaps less
obvious is a device that has been misconfigured, making it vulnerable to malicious
attacks or privacy breaches. For example, it may lack appropriate software updates or
fail to make use of antivirus software, operating system firewall features, or system
security policies. Also of concern are systems that have had failures or compromises
that leave them in an unknown state. A system may have sustained a breach by a network
bot leaving it in an ambiguous state of health or compromise. Or, a device may have
sustained a hardware failure (e.g., hard drive) leaving it in an unknown state that may
have security implications or be hard to distinguish from an overt attack.
Besides overlooking the operational state of a device, authentication commonly fails
to acknowledge different levels of trust and conditional trust, instead providing a single
barrier to entry and all-or-nothing access to promised services and interaction. Instead
of allowing provisional interaction until a system’s state and operational characteristics
can be verified, it ignores all considerations once authentication credentials can success‐
fully be delivered. One might imagine a more sophisticated scheme that requires addi‐
tional information about the type and state of the system that requests interaction. Simi‐
larly, one might image systems that don’t require authentication at all for non-private
services. However, a system requesting interaction must provide evidence of non-mali‐
cious intent and correct operation.
We refer to information beyond basic authentication credentials as Trust Evidence.
While the precise definition of Trust Evidence is an open research question, it might
include information about:
the authenticity of a device,
a platform’s configuration,
patterns of hardware and software operation with respect to normal behavior,
use of security policy or well-recognized security standards and levels,
mechanisms to protect stored secrets,
measures taken to insure message or data integrity, and
past event history, including remediation actions that have been taken.
Trust Evidence may be generated by request from a system wishing to interact, trans‐
mitted to the peer system for analysis, and then processed or consumed by the peer
system as part of its risk management framework. Two devices may mutually collect
Trust Evidence at the onset of an interaction, or periodically as an interaction proceeds
and enters different phases of data exchange, each with a different set of security consid‐
erations. For example, evidence of secure storage mechanisms may precede the
exchange of confidential information. Or, evidence of software updates and versioning
may precede software-based service interactions.
Trust Evidence may be used to establish whether a peer device or system is trust‐
worthy, to select a threat posture within an unknown or heterogeneous environment, to
dynamically assess the degree of trustworthiness of devices and systems as their software
36 D.E. Ott et al.
and operational environment changes, and to discover trustworthy devices and systems.
Trust Evidence may be seen as a companion to authentication approaches which are still
useful in establishing user or system identity, but which need additional mechanisms to
assess the actual system participating in the interaction.
Trust Evidence includes many open questions to be investigated by researchers
exploring the boundaries of what is possible and desirable in a crowded world of new
devices and device types. How might Trust Evidence be defined? How should Trust
Evidence be created and transmitted? How might Trust Evidence be consumed? Should
Trust Evidence be produced on the fly or stored by a device for future queries? Could
Trust Evidence be obtained and stored by a third party who provides profiles as an
information service? What is the life span of Trust Evidence? When does Trust Evidence
fail to be useful since system and device operation is dynamic and information can
become outdated?
2 Exploratory Research
To better understand how Trust Evidence might be formulated and applied to real-world
scenarios, Intel sponsored a 1-year university research effort involving several academic
teams. Such programs are often referred to by Intel as seedlings since preliminary
research is needed to better identify the right questions to ask and the most promising
approaches for further investigation. In many ways, such programs help to grow the
maturity of a research area and better position subsequent researchers for developing
usable results.
Research by University of North Carolina [1, 2] looked at techniques for game oper‐
ators to validate the behavior of game clients in terms of valid execution paths. Their
approach makes use of symbolic execution to extract constraints on client-side state as
implied by client-to-server messages. Researchers then use constraint solving to deter‐
mine whether the sequence of client-to-server messages can be verified given possible
user inputs, and in light of the server-to-client messages already received. The approach
implies that Trust Evidence may be inferred using symbolic execution of known sources
code and message histories that either follow or fail to follow expected execution
sequences.
Research by UC Berkeley [3] considered the use of a new program representation
referred to as a hybrid information- and control-flow graph or HI-CFG. The represen‐
tation may be used to study program inputs as they go through complex transformations
in order to understand when a system is being manipulated by an attacker and when it
is functioning as expected. Researchers leverage this structural understanding to scale
program analysis beyond what is feasible with monolithic symbolic execution. The
approach uniquely combines both control- and data-flow aspects of a system binary as
it executes, and researchers show the efficacy of their approach for applications like a
PDF viewer and a word processor. The framework might be used to generate Trust
Evidence both within the context of a single system, and by an interacting system that
shares a copy of the HI-CFG for a given piece of software.
The Search for Trust Evidence 37
A key outcome of seedling research was the realization that Trust Evidence requires the
ability to verify the correct execution of system and application software, and that
execution predictability was a central issue.
On the one hand, a framework was needed that could evaluate whether the behavior
of a device, directed by system or application software, followed an accepted path or
pattern of behavior that is expected. This idea within the program became known as
baselining. Baselining captures the notion that despite considerable complexity,
security-critical execution sequences often follow predictable patterns of control-flow
behavior, for example, executing frequent user functions or standard system protocol
sequences. This predictability might be captured and used to assess the behavior of a
device or system at runtime, and to generate Trust Evidence for system state, operation,
and configuration.
The notion of baselining is similar to that of control-flow integrity [6] in that it
examines the flow of instructions and control at runtime. But while CFI, which makes
use of control-flow graphs (CFG), binary analysis, execution profiling, and sometimes
static analysis, is interested in strictly enforcing acceptable paths of execution, base‐
lining is a coarser approach that aspires to be more practical. That is, a multiplicity of
approaches may be used to define execution reference points, and the goal is to generate
evidence of trustworthy execution rather than enforce strictly defined execution paths.
In baselining, the degree of conformance to a baseline is an indicator of trustworthiness
Other documents randomly have
different content
The text on this page is estimated to be only 26.81%
accurate
Notes on pp. 49, 60. Merfs Dress. 239 p. 53, last line : if
they stand uppon their pantoffles. See notes in Tell Troth on p. 55,
last line. — S. MEN'S ABSURD DRESS, &c. See Harrison's amusing
Chapter 7, in his Book II, our Part I, p. 167 ; Father Hubburds Tales
at the end of Dyce's Middleton, vol. v, &c. p. 49, 60. Spanish,
French, &•* Dutch fashion. Men's changeable fashions and Women's
extravagant dress also movd Schoolmaster Averell to wrath in 1588.
In his "A meruailous combat of contrarieties. Malignantlie striuing in
tht members of mans bodie allegoricallie representing vnto vs the
enuied state of our florishing Common wealth : ivherin dialogue-wise
by the way, are touched the extreame vices of this present time, &c.
&c. by W. A." he makes "The Bellie" say (sig. B. I & 2) : — " Why,
had euer Premetheus more shapes, then the backe sutes ? or ye
Hydra more new heads then the back new Garments ? not so
variable for their matter, as changable for their fashion : to daie
French, to morrowe English, the next day Spanish, to daie Italianate,
to morrow for fashion a deuill incarnat, O tempora, o mores! To daie
you shine in sutes of silke, to morrow you iet it out in cloth of Golde,
one daie in blacke for show of grauitie, an other daie in white in
token of brauerie, this day that cullour, the next day another, nowe
short wasted, anon long bellied, by and by after great Buttoned, and
straight after plaine laced, or els your Buttons as strange for
smalnes, as they were monstrous before for greatnes, this yeere
bumbd like a Barrell, the next shottend like a Herring, nowe your
hose hang loose like a bowe case, the next daie as straite as a
pudding skinne, one while buskind for lack of stocks, another while
booted for want of shooes, and thus from you that are the grand
Maister, doo the inferiour members fetch their fashions, & these be
the mutabilities of men," [The continuation of the passage, on
Women, is on p. 253, below.] See too Burton's Anatomy of
Melancholy, Part III. Sect. 2, Memb. 3, subs. 3, "Artificial
Allurements," p. 295 of edition 1676 : — "Women are bad, & men
worse; no difference at all betwixt their & our times. Good manners
(as Seneca complains) are extinct with wantonness: in tricking up
themselves men go beyond women, they wear harlots colours, and
do not walk, but jet and dance, hie mulier, hac vir, more like Players,
Butterflies, Baboons, Apes, Anticks, than men. So ridiculous
moreover are we in our attires, and for cost so excessive, that as
Hierom said of old, ' Vno filo villarum insunt pretia, uno lino decies
sestertiiim inseritur ' ; 'tis an ordinary thing to put a thousand Oaks,
& an hundred Oxen into a suit of apparel, to wear a whole mannor
on his back. What with shoo-ties, hangers, points, caps and
feathers, scarfs, bands, cuffs, &c., in a short space their whole
patrimonies are consumed." Compare also Harrison, Pt. I. p. 343,
and Shakspere, in Henry VIII, I. i. 80-85, ' many Have broke their
backs with laying manors on 'em For this great journey,' &c. Also in
Hislrio-mastix, by Peele and Marston, 1590-1600, pr.
The text on this page is estimated to be only 26.42%
accurate
240 Notes on pp. 49, 50. Mens Hats, &c. 1610, we find the
Serving man saying to his master (School of S ha kspere, ii. 47) : —
" We breake your backs? No ! 'tis your rich lac'd sutes, And straight
lac'd mutton : those break all your backs. " See too in * A
Supplycacyon to . . Kynge Henry the Eyght,' 1544 (E. E. T. Soc.,
1871, p. 52) : "Is there not suche excesse and costelynes of apparel
/ bycause of dyueryte and chaurcge of fasshyons, that scarce a
worshipfull mans landes, which in tymes paste was wonte to fynde
and maynteyne twenty or thirty tall yowemen / a good plentyfull
howsholde for the releyfe and comforte of many poor and neadye /
and the same nowe is not suffycyent and able to maynteyne the
heyre of the, same landes / his wiffe/ her gentle woman or mayde /
two yowmen / and one lackey ? The pryncypall cause herof is their
costly apparell / and specially their manyfolde and dyuerse chaunges
of fasshyons whiche the man, and specially the woman, muste
weare vpon bothe headde and bodye. Somtyme cappe / somtyme
hoode / nowe the Frenshe fasshyon, nowe the Spanyshe fasshyon ;
than the Italyan fasshyon / and then the Myllen fasshyon ; so that
there is noo ende of consumynge of substaunce . . and all to please
the prowde folyshe man and womans fantasye. Hereof spryngethe
great myserye and neede." See too the Note for p. 53, 1. 4-6, p.
245, below. p. 49, 1. 9: one sute for the forenoone, &c. See the note
from Bp. Pilkington (for p. 58), p. 248, below. p. 50: hats, standing
collars, ruffs, shoestrings, &c. " Good Card-makers (if there be any
goodnes in you) Apparrell vs with more respected Care, Put vs in
Hats, our Caps are worne thread-bare, Let vs haue standing Collers,
in the fashion : (All are become a stiffe-necke generation) Rose Hat-
bands, with the shagged-ragged- Ruffe : Great Cabbage-
shooestrings (pray you bigge enough) French Doublet, and the
Spanish Hose to breech it : Short Cloakes, like old Mandilions (wee
beseech it) Exchange our Swords, and take away our Bils, Let vs
haue Rapiers, (knaues loue fight that kils1) Put vs in Bootes, and
make vs leather legs, This, Harts most humbly, and his fellowes,
begs." 1612. — Samuel Rowlands, The Knave of Harts (1874,
Hunterian Club, p. 12-13). The dress obtaind is describd in
Rowlands's More Knaues yet ? (1611 ?) sign. A 4 (ed. 1874 and p. 5)
: — ". . now the honest Printer hath bin kinde, Bootes, and Stockins,
to our Legs doth finde, Garters, Polonia Heeles, and Rose Shooe-
strings, Which somwhat vs two Knaues in fashion brings . . . 1 See
the extract from Howes, in Harrison, Pt. II, p. 31*.
The text on this page is estimated to be only 27.29%
accurate
Notes on pp. 50, 51. Meiis Feathers, &c. 241 Well, other
friends I hope we shall beseech For the great large abhominable
breech Like Brewers Hopsackes : yet, since new they be, Each knaue
will haue them, and why should not wee ? Some Laundresse we also
will entreate For Bands and Ruffes .... Scarffes we doe want to
hange our weapons by ... hats of newest blocke " . . p. 50. Hat &
feathers, &c. " His hat, himselfe, small crowne and huge great brim,
Faire outward show, and little wit within. And all the band vfth
feathers he doth fill, Which is a signe of a fantastick still, As sure as
(some doe tell me) evermore A goate l doth stand before a brothell
dore. His clothes perfum'd, his fustic mouth is ayred, His chynne new
swept, his very cheekes are glared." 1598.— Jn. Marston, Satyre III.
Works, 1856, iii. 223-4 : see p. 216 too. p. 51: feathers, wings,
breeches, cloak, rapier, hangers, boots, spurs. The dress of a young
dandy in 1604 is thus described by T. M. in his Father Hubburds
Tales, reprinted (in modern spelling) at the end of vol. v. of Dyce's
ed. of Middleton's Works, as probably Middleton's. " At last, to close
up the lament able tragedy of us ploughmen, enters our young
landlord, so metamorphosed into the shape of a French puppet, that
at the first we started, and thought one of the baboons had
marched-in in man's apparel. His head was dressed up in white
feathers like a shuttlecock, which agreed so well with his brain,
being nothing but cork, that two of the biggest of the guard might
very easily have tossed him with battledores, and made good sport
with him in his majesty's great hall. His doublet was of a strange cut
; and shew the furye of his humour, the collar of it rose up so high
and sharp as if it would have cut his throat by day light. His wings,2
according to the fashion now, were as little and diminutive as a
puritan's ruff, which shewed he ne'er meant to fly out of England,
nor do any exploit beyond sea, but live and die about London,
though he begged in Finsbury. His breeches, a wonder to see, were
full as deep 3 as the middle of winter, or the roadway between
London and Winchester, and so longe and wide withal, that I think
within a twelvemonth he might very well put all his lands in 1 The
emblem of lechery, as the sparrow also was. See the picture of
Lechery in the Cambr. Univ. Library's MS. Gg. 4. 27, Chaucer's
Parson's Tale, autotyped for the Chaucer Society. 2 See p. 524,
Dyce's Middleton, v: T. M.'s Blacke Booke, 1604: "apparel led in
villanous packthread, in a wicked suit of coarse hop-bags, the wings
and skirts faced with the ruins of dishclouts." ' Wings, lateral
prominencies extend ing from each shoulder.' Whalley's note on B.
Jonson's Works, ii. 103, ed. Giff. 3 * They strangle and cloke more
velvet in a deep-gathered hose, than would serve to line through my
lord What-call-ye-him's coach.' 1604. — T. M., Blacke Booke. Dyce's
Middleton, v. 524. SHAKSPEBE'S ENGLAND : STUBBES. 16
The text on this page is estimated to be only 27.25%
accurate
244 Notes on pp. 51, 52. Men's Bands, &c. p. 51. Ruff &>
Band, &c. (See p. 259 below, note on p. 70-1.,) " Behold, at length
in London streetes he showes. His ruffe did eate more time in
neatest setting, Then Woodstocks worke in painfull perfecting; It
hath more doubles farre than Ajax shield, When he gainst Troy did
furious battle weild. Nay, he doth weare an embleme bout his neck ;
For under that fayre rtiffe so sprucely set, Appeares a. fall, ^.falling-
band forsooth ! O dapper, rare, compleate, sweet nittie youth ! Jesu
Maria ! How his clothes appeare Crost and recrost with lace ! sure,
for some feare Least that some spirit with a tippet mace Should with
a gastly show affright his face." 1598.— Jn. Marston, Satyre III.,
Works, 1856, Hi. 223. p. 52. "Lambskin. My father was a starch-
maker, and my mother a laun dress ; so, being partners, they did
occupy 1 long together before they were married ; then was I born."
1632. — Win. Rowley, A Woman never vexed, in Hazlitt*s Dodsley,
xii. 137. p. 52, second side-note : Euery pesant hath his stately
bands. See Fairholt's capital quotations in Hist, of Costume in
England, p. 216, from Lodge's Wits Miserie, 1596, and Euphttes
Golden Legacie, 1592. The first is, "The plowman, that in times past
was contented in russet, must now a daies have his doublet of the
fashion, with wide cuts, his garters of fine silk of Granada, to meet
his Sis on Sunday. The farmer, that was contented in times past with
his russet frock and mockado sleeves, now sells a cow against
Easter, to buy him silken geere for his credit." See too in Harrison,
II, 36*, what Howes says : " men of meane ranke weare Garters
and shooe Roses, of more then fiue pound price ; and some weare
scarffes from ten pounds a piece, vnto thirtie pounds or more. The
like may be truly said concerning wrought Wastcoates." The dresses
of a smart Tailor (p. 19), a Baker (p. 29), a Dancing-master, and a
Vintner (p. 30), a Grasier (p. 31), an Informer (p. 32), a
Husbandman (p. 33), a Cumberland copyholder's family (p. 35), are
described in The Debate between Pride and Loivliness wrongly
ascribed to Francis Thynne, old Shakesp. Soc. 1841. The author has
15 men on his Jury, and rejects 3 : Greene, in his prose Quip for an
Upstart Courtier, which was modelled on the earlier poem, has 24
men in his Jury, and rejects 27 : this Quip should be read for its
sketches of the characters. See my Trial- Forewords to my Six- 7"ext
of Chaucer's Canterbury Tales, p. IOI-2. 1 ' Enjoy, in the sense of a
man having knowledge of a woman. Doll Tearsheet says of Pistol, in
the Second Part of Henry IV, ' ' These villains will make the word '
captain ' as odious as the word occupy, which was an excellent good
word before it was ill-sorted." See Nares, edit. 1859 in v. ; and Percy
Folio MS. Loose and Humorous Songs, p. 29.'
The text on this page is estimated to be only 26.35%
accurate
Notes on pp. 56, 57. Meris Trunk-hose, &c. 247 they are
almost capable of a bushel of wheate ; and if they be of sackecloth,
they would serve to carrie mawlt to the mill. This absurd, clownish,
and unseemly attire, only by custome now is not misliked, but rather
approved." 1601. — Trios. Wright. The Passions of the Minde in
generall. (Dedicated to Lord Southampton ; and has Verses by Ben
Jonson.) See also the interesting extracts and cut in Fairholt's
Costume, p. 217. He was before me, I see, in quoting the following :
— "When Tarlton clown' d it in a pleasant vaine, And with conceites,
did good opinions gaine Vpon the Stage, his merry humors shop,
Clownes knew the Clowne, by his great clownish slop. But now
th'are gull'd, for present fashion sayes, Dicke Tarltons part,
Gentlemens breeches playes : In euery streete where any Gallant
goes, The swagg'ring Sloppe, is Tarltons clownish hose." 1600.— S.
Rowlands, The Letting of Humours Blood in the Head-Vaine, C 2,
back (ed. 1874, p. 36). See too the bit from More Knaves Yet, p.
240, above, and Ben Jonson's " I'll go near to fill that huge tumbrel-
slop of yours with somewhat, an I have good luck : your Garagantua
breech cannot carry it away so." 1598 — 1601.— Every Man in his
Humour, II. ii, Works, i. 18, col. I. 11 And for false cards and dice, let
my great slops, And his big bellied dublet both be sercht, And see
which harbors most hypocrisie." 1606. — No- Body and Some- Body,
Simpson's School of Shakspere, i. 353"The rest of France takes the
modell of the court, as a rule unto it selfe to follow. Let Courtiers
first begin to leave off and loath these filthy and apish breeches, that
so openly shew our secret parts : the bumbasting of long pease-
codbellied doublets, which makes us seeme so far from what we are,
and which are so combersome to arme : These long, effeminate,
and dangling locks : That fond custome to kisse what we present to
others, and Beso las manos in saluting of our friends: (a ceremonie
heretofore only due unto Princes:)" 1603.— J. Florio, Montaignes
Essayes, 1634, p. 146. " In our Old Plays, the humor Love and
Passion, Like Doublet, Hose and Cloak, are out of fashion." 1667. —
Prologue to James Shirley's Love-Tricks, first calld The Schoole of
Com plement, 1631. (Shirley died in Oct. 1666.) p. 57 : nether-
stockes, the stockings, as distinguisht from the hose, when the latter
became breeches. See the Debate between Pride and Loivliness —
wrongly attributed to Francis Thynne, from the forged ' F. Th.' on its
title-page— ' The neather stockes of pure Granada silke,' and other
authorities quoted by Fairholt, Costume in England, 1860, p. 211. p.
57 : shoes. — See Fairholt, Costume in England, p. 385-7. " Pinsnet,
apparently the same as Pinson, a thin-soled shoe. ' Calceamen and
calcearium is
The text on this page is estimated to be only 26.80%
accurate
ebookball.com