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 - The full ebook with all chapters is available for download now
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 - The full ebook with all chapters is available for download now
https://ebookball.com/product/cyber-security-and-global-information-
assurance-1st-edition-by-kenneth-knapp-1605663271-9781605663272-20184/
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
38 D.E. Ott et al.
much like guard rails constrain the direction of travel but not the details of the vehicle’s
fine-grained movements from lane to lane.
Baselining also borrows from the notion of anomaly detection [7], for example
intrusion detection systems that build a statistical model of expected network behavior
and then use this model to identify suspicious endpoints and communication patterns.
Approaches to baselining might similarly develop a model of expected system behavior
during software execution, and then apply statistical methods to assess degree of
conformance. Trust Evidence may then be cast in statistical terms and describe the
degree to which a dynamic system conformed to a control-flow or operational schema
defining trustworthy behavior.
The notion of baselining implies the need for a methodology to define reference
points for assessing control-flow behavior of a system or device. Another realization by
university researchers was the important role that a software developer, administrator,
or perhaps even user could play in defining baselines for Trust Evidence. Dubbed inten‐
tion semantics [8], human agents are often in a position to understand and articulate the
intended behavior of system and application software as it directs control-flow behavior,
and to define what actions are acceptable and within the scope of correct functionality.
As such, further research on Trust Evidence should provide avenues for software devel‐
opers, in particular, to define meaningful baselines that can be used for the generation
of Trust Evidence at runtime.
4 Promising Avenues
In this example, a program variable tracking Trust Evidence is set to a particular value
depending on the calling module within the execution sequence. A higher value repre‐
sents a higher level of trustworthiness during program execution, while lower values
express unexpected sequences or sequences that imply greater risk. (Here, 1.0 is seen
as maximally trustworthy while 0 is seen as totally untrustworthy.) max is a composi‐
tional operator and suggests that the resulting Trust Evidence value should be the higher
value between the newly assigned value and a prior existing value.
While expect blocks generate values indicating trustworthy state or control flow
behavior, policy blocks are intended to generate actions in response to those values.
An example is as follows:
Here, a policy block compares a local trust variable to a pre-defined threshold in order
to decide whether access to a device resource is granted or denied. Blocks like this can
be defined with arbitrary, application-specific logic to consider whatever program state,
control flow, or execution considerations might be relevant. Researchers often refer to
such blocks as policy decision points [10].
A third construct is the switch statement [10]. An example is as follows:
The block builds upon the outcome of the prior block. If deny is the decision, then the
method should return with the deny message and a payload value of-1. If the decision
is inconclusive, then the return message should indicate incon and include a payload
value of-1. Otherwise, another program bock is evaluated as indicated. Researchers refer
to such blocks as policy enforcements points [10] since it is where an evaluated decision
is realized. It, essentially, enforces a baseline expectation given the outcome of actual
execution.
An interesting feature of the ICL framework is the use of numerical values to repre‐
sent degrees of control-flow trust and to quantify the trustworthiness of program state
and other runtime considerations. The scheme allows for a rich, flexible aggregation
framework that can, for instance, test for maximum or minimum values, add values
together, computed weighted averages, create statistical profiles across many program
iterations, and so on. In fact, programmers are free to invent application-specific Trust
Evidence aggregation schemes without constraint. A Trust Evidence profile might be
provided to an interacting system by request, or evaluated by the runtime system itself
which is designed to protect values against tampering.
Researchers go on to develop a trust calculus language that they refer to as pluggable
evidence aggregation language, or Peal+ [12]. The language uses basic conditions
40 D.E. Ott et al.
The framework relies on a memory protected software unit that researchers refer to
as a self-protecting module [13]. Each SPM resides in a protected area of system memory
and is comprised of two key components. First is a public section where the module’s
code and non-confidential data can reside. While the contents of this section are poten‐
tially readable by other processes on the system, the framework provides integrity guar‐
antees that preclude unauthorized modification, even by system software. Second is a
secret section which stores the module’s private data (e.g., cryptographic keys). Read
and write access to the secret section is only possible from within the module itself, a
mechanism that provides a high level of assurance.
To insure the integrity of an SPM’s public section and the privacy of an SPM’s secret
section, a special memory access control model is implemented in one of several ways.
First, researchers demonstrate that a lightweight hypervisor might be used which divides
the system into two virtual machines, a legacy VM and a secure VM. The former hosts
the operating system kernel and user applications while the latter hosts protected
modules. A special security kernel also resides in the secure VM that implements fine-
grained access control. The architecture, which researchers refer to as Fides [13], imple‐
ments strictly enforced entry points that prevent operating system and application
processes from accessing protected modules against access control policy.
A second approach demonstrated by researchers [15] implements this memory
access control architecture as hardware support. Researchers show how extensions to
mainstream microprocessors may also be used to effectively isolate protected modules
and maintain strict adherence to framework access control policy. In fact, researchers
demonstrate that such extensions can be implemented with fairly minimal circuit area
requirements, performance overhead, and power demands.
A third approach demonstrated by researchers is that of operating system kernel
modifications [14, 18]. Researchers use Linux to show that the memory architecture can
be implemented using virtual memory regions that they refer to as compartments.
Compartments have special access control features implemented using standard MMU
features found on most processors. By aligning compartments to memory pages and
then configuring read-write properties using standard mechanisms, the system can be
configured to generate a page fault when a protected module is accessed. The page fault
can then be handled by a kernel extension that implements the protected module archi‐
tecture control policy.
Researchers point out that their framework maintains its trustworthiness guarantees,
even in the face of malware infection on the host system. Attackers are free to use the
framework to create malware that runs in protected module space. But, because memory
protections mechanisms maintain entry point restrictions, the integrity of additional
modules and the confidentiality of their associated secret data is maintained. In fact,
their threat model is one that makes very few assumptions about attacker capabilities
and doesn’t preclude the possibility of malicious code running at user- or kernel-level
on the same system.
Compiler support for protected modules is considered in their hardware-based imple‐
mentation known as Sancus [15]. Researchers show that simple developer hints desig‐
nating which functions should be protected is enough to apply automated LLVM-based
tools that compile standard C files into the protected module architecture automatically.
42 D.E. Ott et al.
The compiler will also protect the runtime stack by placing it in the protected module, and
it will use an ID scheme to track logical entry points for subsequent reference. Crypto‐
graphic techniques are used for secure linking. Modules also clear registers when they exit
at runtime in order to avoid information leaks.
An interacting system may build trust in software running on the protected module
architecture by making use of cryptographic features built into the framework. The
architecture supports secure communication channels and remote attestation that
provides a robust method for confirming module identity and integrity. Researchers
apply a cryptographic hash to the secure module’s public section which can then be
reported to an interacting system [14, 18]. Included in the associated security report is
also the layout of the module and a cryptographic signature. An instruction for
computing the MAC of a protected module is included in the hardware implementation
of the scheme [15]. A secure exchange protocol, including a nonce mechanism to counter
replay attacks, is used to communicate the value to an interacting system looking to
verify the module.
Trust Evidence may also be generated by the use of trust assessment modules running
within protected memory regions as protected modules. For example, a trust assessment
module may be developed that examines the state of the system’s process table, generates
a cryptographic hash of system binaries, reports on applications running on the system,
summarizes system configuration, or samples an application’s call stack as it is running
on the system. Modules can be highly customizable and directed at particular aspects of
a runtime system. Trusted modules may be designed to interact with another system in
specific ways, handling queries and implementing specialized communication and attes‐
tation protocols.
KU Leuven’s protected module architecture effectively provides a zero-software
trusted computing base, or TCB. That is, its protection scheme can be made to work
without relying on software running on the device. In fact, it will continue to work even
when malicious software is running with kernel level privileges on the system. Its remote
attestation features and support for trust assessment modules makes it a strong approach
for addressing the problem of Trust Evidence. Future work might include developing
an extensive body of programmer tools and methodologies for leveraging protected
modules in real-world software and understanding how protected memory implemen‐
tation approaches map to different device types within IoT and other heterogeneous
device contexts.
XXVII
El Papa griego
El barrio del Fanar es Bizancio que se sobrevive. Los griegos, antiguos
señores de la gran ciudad, se refugiaron en este barrio después de la
conquista turca, y allí continúan, en viejos palacios adosados á murallas
medio derruídas del tiempo de los Paleólogos.
Los guerreros bizantinos se hicieron comerciantes después de la derrota,
ó mejor dicho, continuaron siéndolo, pues en tiempo de su imperio siempre
fueron mercaderes, dejando la defensa de su país confiada á bravos
mercenarios comprados en Asia ó en Bulgaria.
La fama de los comerciantes fanariotas ha sido universal. Durante
siglos, el oro de todo el mundo se amontonó en este barrio del Fanar. Los
turcos belicosos, ocupados en hacer la guerra á la cristiandad, dejaron á los
griegos, vencidos y astutos, el manejo de sus riquezas, y el fanariota fué el
intermediario entre Asia y Europa, el mercader de los objetos preciosos de
Oriente, y al mismo tiempo el proveedor y prestamista de sus señores
otomanos. Este barrio del Fanar ha sido durante siglos una Venecia, una
Génova, de poderoso movimiento comercial. Una gran flota mercante
movíase en los mares de Oriente y en todo el Mediterráneo, siguiendo las
inspiraciones de sus mercaderes. El Cuerno de Oro, que lame con sus aguas
las piedras verdosas de los edificios del Fanar—palacios obscuros con
balcones bajos, que casi se tocan con la cabeza—, veíase cortado
incesantemente por las galeras que llegaban de las escalas de Siria y el Mar
Negro y partían hacia los puertos de Nápoles y Marsella.
Hoy el Fanar está solitario y tranquilo. Junto á sus muelles no se ven más
que viejas barcazas en reparación, y enfrente, al otro lado del brazo de mar,
los navíos de guerra turcos, los buques antiguos que sirven de pontones, y el
palacio del Almirantazgo rodeado de las innumerables construcciones del
Arsenal. Mas los fanariotas aun viven tan ricos y poderosos como en otros
tiempos. Los nuevos puentes que dificultan la navegación en el Cuerno de
Oro, el gran calado de los buques modernos y las exigencias del comercio,
les han obligado á trasladar sus oficinas á Galata, cerca del Bósforo, en
medio de los chorros de vapor, rugidos de sirena, chirriar de grúas y
ensordecedora y negra actividad de un puerto de nuestros días.
Pero las venerables casas del Fanar son, como en otros siglos, á modo de
un título de nobleza para los que las habitan, y en ellas siguen viviendo las
familias de estos griegos, más griegos que los que habitan Atenas, y que
hacen remontar sus orígenes en línea recta á los tiempos gloriosos del
imperio bizantino.
El pequeño reino actual de Grecia se nutre de la rica savia del Fanar.
Todos estos helenos de Constantinopla son grandes patriotas, con el
entusiasmo nacional excitado por largos siglos de servidumbre y desgracia.
Son riquísimos, pero no tienen una patria. Fingen sumisión al turco, á quien
explotan, pero su pensamiento va á todas horas á la pequeña nacionalidad
formada en torno de la acrópolis ateniense, viendo en ella como un huevo
del que resurgirá un pasado glorioso.
¡Atenas! ¡Constantinopla!... Estos dos nombres de gran sonoridad
excitan á todas horas su entusiasmo. Todos conocen en el Fanar los
misterios del porvenir. Grecia volverá á ser lo que fué: se apoderará de la
Macedonia, se extenderá por las riberas de Asia, pasará un día los
Dardanelos, y la antigua Bizancio será otra vez helena, brillando sobre la
cúpula de Santa Sofía la cruz del Santo Sínodo, en vez de la media luna de
oro. Y enardecidos por una fantasmagoría tan generosa, no hay sacrificio
que no hagan estos comerciantes avaros, capaces de los mayores crímenes
en el curso de los negocios, y que, sin embargo, desparraman el dinero á
manos llenas en empresas patrióticas.
Los griegos del archipiélago vuelven sus ojos al Fanar cada vez que
intentan moverse. La sublevación de los isleños de Candía, las guerrillas
macedónicas, la misma guerra turcohelena de hace pocos años, que tan
grotesco y vergonzoso final tuvo para los nietos de Temístocles, y la
agitación presente, que convierte las fronteras griegas en perpetuo campo de
combate, todo es obra del dinero fanariota, que corre pródigamente, como
sangre vivificadora del patriotismo. El griego de Constantinopla es un buen
súbdito del sultán, incapaz de provocar ningún disturbio. Procura separarse
del armenio revoltoso, que intenta revoluciones dentro del imperio, pero
trabaja y sacrifica su fortuna por crear á éste en el exterior toda clase de
conflictos.
No sólo piensa en su pequeña patria para lanzarla á la guerra contra el
país en que vive. Sabe que los pueblos son grandes por algo más que las
armas y que la fama imperecedera de la antigua Grecia no se asienta en los
ruidosos triunfos sobre los persas, sino en las enseñanzas y las inspiraciones
de los filósofos, poetas y artistas, gloriosos abuelos de la presente
humanidad. La grandeza intelectual de su raza preocupa á los fanariotas
hasta el punto de que en Grecia es insignificante la instrucción pública
costeada por el gobierno, en comparación con la que sostiene la iniciativa
particular. No muere un griego rico de Constantinopla que no deje fuertes
legados para las escuelas de su país. Muchos han dejado dos y tres millones
de francos. Innumerables escuelas del archipiélago, grandes universidades,
valiosas bibliotecas se sostienen con herencias de patriotas del Fanar, que
pasaron su vida explotando á turcos y cristianos y dando las más fieles
muestras de adhesión al sultán que aborrecen.
Además, el Fanar es para todos los griegos del mundo el barrio santo, la
tierra sagrada donde tiene puesto un pie Dios: algo semejante á lo que es
para el católico el barrio de Roma inmediato al Tíber, donde alza la basílica
de San Pedro su enorme cúpula y se alínean perforando la piedra las
innumerables ventanas del Vaticano.
En el Fanar está el palacio del Patriarcado, la residencia del Papa griego,
llamado vulgarmente Patriarca de Constantinopla.
Este representante de Dios es un personaje poderosísimo, un sacro pastor
que extiende su cayado de oro sobre millones de místicas ovejas. Si el Papa
de Roma no tuviese al otro lado del Atlántico la antigua América española,
su colega de Constantinopla sería tan poderoso como él. Grecia, Bulgaria,
Servia, Rumania, Montenegro, los cristianos ortodoxos de la enorme
Turquía, que son millones, y la inmensa Rusia, que aunque autónoma
religiosamente, respeta, sin embargo, al sumo sacerdote de Constantinopla,
forman el feudo espiritual de este pontífice que vive en el barrio del Fanar y
una vez al año bendice toneladas y toneladas de aceite, convirtiéndolo en
óleo santo que envía á los metropolitanos y popes de sus Estados.
El patriarca actual es Joaquín II. Un amigo suyo, que á la vez lo es mío,
me invita á visitar al Pontífice, ensalzando la llaneza de su trato y
costumbres. ¿Por qué no?... El amigo añade que ya ha hablado de mí á Su
Santidad, y una tarde á las dos, llegamos juntos al palacio del Patriarcado.
Es un enorme caserón sin adorno alguno, situado en la cumbre de una
colina vecina al Cuerno de Oro. Una tapia alta cierra los patios exteriores, y
ante la triple puerta de entrada hay un cuerpo de guardia.
Su Santidad es después del Gran Imán el primer funcionario religioso del
Imperio. El sultán lo recibe con frecuencia y vive en las mejores relaciones
con él, temiendo la influencia que puede ejercer sobre varios millones de
almas que forman parte del pueblo otomano. Los soldados turcos,
fervorosos musulmanes, velan, bayoneta en el fusil, sobre la existencia y el
reposo de este sacerdote extraño á sus creencias, lo mismo que en Jerusalén
montan la guardia cerca del sepulcro de Cristo. Además, Su Santidad recibe
del sultán una paga enorme, uno de esos sueldos inauditos que sólo puede
concebir la prodigalidad de un soberano oriental.
Joaquín II es bueno y tan generoso al repartir como el sultán al dar. Vive
sin aparato, como en los tiempos que era un pobre teólogo en una
universidad de Grecia, y su enorme asignación la devora el populacho del
Fanar, que descansa en sus tugurios como una nube de langosta en torno del
Patriarcado.
Entramos en éste por una puerta lateral. El arco del centro está cerrado, y
sólo se abre, con largos intervalos de años, en las grandes conmemoraciones
religiosas.
En el interior encontramos unos criados, bigotudos y morenos,
semejantes á los piratas antiguos del archipiélago, y popes jovencitos que
deben ser familiares de Su Santidad. Subimos una escalera de madera con
esterilla de junco. Las paredes están adornadas con pinturas de imágenes
bizantinas y retratos de patriarcas. Entramos en un salón de espera
igualmente modesto, con la misma esterilla é idénticos retratos de
patriarcas: cabezas venerables y barbudas, con la mitra cuadrada y lóbrega
envuelta en una gasa fúnebre que pende sobre los hombros y la cruz de oro
destacándose sobre el pecho negro.
Se abre una puerta, y avanza unos pasos en la inmediata habitación un
pope de estatura enorme, un venerable gigante que mueve los brazos
invitándonos á entrar.
Hermoso hombre. Yo, que no soy bajo de estatura, tengo que echar atrás
la cabeza para verle bien. Tiene blancas, con una nitidez de nieve, las
barbas luengas y ensortijadas; blancas igualmente, las guedejas que se
escapan de su alto gorro, semejante á un sombrero de copa sin alas. Pero el
rostro es joven, y aunque algo demacrado, da una impresión de fuerza y
salud, por el lustre de la tez, de un moreno rojizo, y la solidez ósea de la faz.
La nariz, un tanto grande y demasiado aguileña, es sin embargo hermosa
por su pureza de líneas, sin la más leve desviación. Los ojos, grandes é
imperiosos, ojos de mando que se esfuerzan por ser dulces, parecen gotas
de densa tinta, brillando un pequeñísimo punto de luz en su negra
intensidad.
Este gigante, blanco, fuerte y majestuoso como un Padre Eterno, se agita
al andar con enérgicos movimientos y encorva la espalda para ponerse al
nivel de los que llegan. Mi amigo se inclina al coger su diestra y besa un
gran anillo. Entonces reparo en la faja de seda que ciñe la sotana del
arrogante sacerdote y en la cruz que brilla sobre su pecho, con un suave
fulgor de oro antiguo. Es Joaquín II.
Mi amigo le habla en griego brevemente, y yo adivino por las miradas
que hace mi presentación.
—¡Ah, Blascos!—dice el Patriarca con una voz sonora de barítono, al
mismo tiempo que me coge una mano y tira de mí para que avance—.
¡Blascos Ibañides!...
Cualquiera diría que Su Santidad se había pasado la existencia no
oyendo otro nombre que el mío. Es la amabilidad superior de los soberanos,
de los grandes personajes que fingen conocer á todos los que llegan y
parecen recordar sus nombres, que les han dicho momentos antes. Y
repitiendo mi apellido desfigurado á la griega, con una expresión satisfecha,
como si no conociera otra cosa, me empuja con su volumen de coloso, me
hace sentar en un diván redondo en el centro de la pieza, y él vuelve al
sillón dorado y viejo que ocupaba momentos antes.
La sala, larga y estrecha, es una galería cerrada con cristales. Al través de
ellos, se ve abajo parte del caserío del Fanar, y más allá de los tejados, una
mitad del Cuerno de Oro, los navíos de guerra, el Arsenal, y los montes
desnudos de la ribera de enfrente, con abandonados cementerios turcos, en
los cuales las blancas fichas de las tumbas dan la sensación de lejanos
corderos rumiando inmóviles en las laderas.
El Patriarca está sentado de espaldas á los cristales, con el cuerpo en la
sombra y rodeado de un nimbo de luz que forma el sol de la tarde en torno
de su alba cabellera. Junto á él sonríe un joven pequeño, vestido como un
gentleman, el monóculo brillante sobre el rostro afeitado y el pelo rubio y
lustroso partido por una raya central en dos bandós que caen sobre la frente
cual lacios cortinajes. Es el secretario de la legación de Grecia, que está en
conferencia con el Patriarca y juntos pasan el tiempo hablando de los
asuntos del amado país.
Joaquín II habla en su idioma, de sonora armonía, ininteligible para mí, y
al terminar mi amigo, que parece emocionado en presencia del Patriarca y
apenas osa levantar los ojos, me dice en francés:
—Su Santidad está muy contento de verle, y dice que le es usted
simpático... Además le desea una estancia muy feliz en Constantinopla.
—Su Santidad es muy amable. Dele usted las gracias.
Quedamos los cuatro en profundo silencio, mirándonos, como es de
buen tono en toda visita oriental, donde la conversación animada no surge
más que tras larguísima pausa luego de haber tomado el café.
El Patriarca ha dado sus órdenes con una voz de marino que ordena una
maniobra, y aparecen los criados trayendo el inevitable obsequio de toda
visita.
El café no es gran cosa, los cigarrillos son comunes y el servicio de
porcelana de lo más vulgar. Joaquín II vuelvo á repetir que vive
pobremente, como un hombre de escasas necesidades. Nos ofrece las tazas
y los cigarrillos con ademanes de graciosa cortesía, pero él no bebe ni fuma.
Sólo la confitura es magnífica: un dulce de exquisitez monacal, formado de
diversos y misteriosos aromas: un regalo tal vez de lejano convento, ó de
algunas griegas devotas, enclaustradas voluntariamente en algún ruinoso
palacio del Fanar.
El Patriarca, sin dejar de mirarme, habla al joven que tiene al lado. Este
sacude su actitud indolente, se desenrolla en el interior de su sillón, y
avanza la cabeza, en la que parece pegado el monóculo, sonriéndome con
diplomática calma. Su Santidad sólo habla el griego y el turco, pero desea
conversar conmigo. Es la primera vez que ve á un español. Él me traducirá
en francés lo que diga Su Santidad y á continuación le comunicará en
griego lo que yo responda.
—Puede preguntar Su Santidad lo que guste.
Y Joaquín II se lanza á hablar apresuradamente, con un ímpetu de orador
tribunicio, rodando como truenos los párrafos sonoros, en los que abundan
las armoniosas onomatopeyas.
Cuando el Papa se calla, el diplomático hace la traducción,
acompañándola de fina sonrisa.
—Su Santidad dice que siente muchísimo las desgracias de España; que
durante la guerra con América, dedicó muchas veces sus oraciones á
vuestro pueblo, que le es muy simpático, y que comprende que en vuestro
país aun estará vivo el dolor por tan grandes pérdidas.
La lástima bondadosa de Joaquín II me irrita un poco.
—Dígale á Su Santidad que no hay para qué lamentarse de lo pasado;
que en mi país ya nadie se acuerda de eso, y que habiendo perdido hace un
siglo casi toda la América, no había razón para conservar unas cuantas islas
que eran en cierto modo un bagaje pesado.
El Patriarca, de ojos imperiosos, es un intuitivo, de rápida penetración.
Mirándome fijamente parece adivinar mis palabras, mueve la cabeza como
si me entendiese, y cuando el secretario hace su traducción, él se adelanta
completando las ideas.
Continúa el diálogo entre Su Santidad y yo, con la mediación del
elegante intérprete. Joaquín II se entera con gran interés de las costumbres
españolas, de las que tiene una vaga y fantástica idea, y me pregunta
especialmente por nuestra literatura nacional.
Él, gran erudito en letras clásicas, comentador de Homero, como todo
griego ilustrado que se respeta un poco, no conoce nada de España. Hace
muchos años, cuando no era en Atenas más que un simple pope dedicado á
enseñanzas teológicas, vió un drama español traducido al griego, un drama
de un señor que se llamaba... se llamaba...
Y el patriarca y el diplomático se consultan con la mirada, al mismo
tiempo que pugnan por pronunciar un hombre, sin llegar á completarlo en
sus dudas.
—Echegaray—digo yo, adivinando sus balbuceos.
Su Santidad sonríe moviendo la cabeza. Eso es, Echegaray. El Patriarca
guarda un hermoso recuerdo de la obra. Indudablemente fué la única vez
que asistió al teatro el austero sacerdote.
—¿Vive aún monsieur Echegaray?—pregunta Su Santidad con gran
interés por mediación del secretario.
—Vive, y á pesar de sus años es animoso como un muchacho y no
descansa.
Su Santidad vuelve á sonreir, como si bendijese con el gesto al lejano
poeta que alegró con la magia del arte algunas horas de su existencia. Y yo
sonrío también, pensando en el ilustre don José, muy ajeno á imaginarse
que el Papa griego es uno de sus más sinceros admiradores, con esa
admiración del que sólo ha ido una vez al teatro y se acuerda del magno
suceso durante toda su vida.
El Patriarca, después de esto, habla de la literatura griega
contemporánea. Hay en Atenas poca producción; escasos dramas y muy
contadas novelas. Los literatos, antes de dedicarse al trabajo, viven
enzarzados en interminable disputa sobre si deben escribir en griego
antiguo ó en el griego vulgar que hoy se habla en el archipiélago. Esta
disputa apasiona á la nación entera, dividida en dos partidos.
—Su Santidad pregunta qué opina usted sobre esto—dice el secretario.
—Pues dígale á Su Santidad que si novelas y dramas tienen por
protagonistas á personajes de ahora, lo natural es que hablen el griego
moderno, aunque no sea puro. Un mozo de cordel del Pireo no va á
expresarse como el Aquiles homérico.
El Patriarca acoge mis palabras con un gesto cortés, pero deja adivinar
en sus ojos que piensa todo lo contrario.
La conversación languidece y yo me preparo á marcharme. Llevo más de
media hora con Su Santidad é indudablemente muchos fieles de
importancia aguardan en la antesala.
El Pontífice de Constantinopla es un Papa constitucional. Ni es infalible
por sí solo, ni puede tomar una resolución en materias de fe. Dos veces por
semana se reune bajo su presidencia el Santo Sínodo, compuesto de
eclesiásticos y laicos influyentes, y esta asamblea es la que legisla, dejando
al Patriarca el poder ejecutivo.
Voy á abandonar mi asiento, cuando Joaquín II emprende una larga
arenga dirigida al secretario, en la que percibo varias veces la palabra
democraticón. El Patriarca parece poner un gran interés en lo que dice, y
cuando al fin calla, el diplomático me habla gravemente.
—Su Santidad pregunta si en España los sacerdotes son muy respetados,
si la religión tiene el mismo prestigio que en otros tiempos, si los reyes son
queridos, y sobre todo, si existen partidos democráticos como en otras
naciones desgraciadas, y si el pueblo, movido por malas enseñanzas, intenta
levantarse contra sus mayores.
Quedo indeciso algunos momentos. ¿Qué contestar al buen Patriarca?...
Después de tan buena acogida, siento cierto escrúpulo de decirle la verdad.
¿Para qué discutir con él? ¿Para qué desvanecer la santa ignorancia de este
sacerdote, que ya no volverá á acordarse de España y jamás podrá influir en
nuestra suerte?...
—Dígale á Su Santidad que allá no hay partidos democráticos ni nada de
esas pestes modernas que como él dice hacen la infelicidad de los pueblos.
Los reyes velan por nuestra dicha; los sacerdotes son veneradísimos; todos
los españoles somos católicos...
Joaquín II sonríe, adivinando otra vez mis palabras, y mueve sus
melenas blancas y su gorro negro, como diciendo: «Muy bien.»
—Su Santidad—añade el diplomático al poco rato—dice que se alegra
muchísimo de las palabras de usted, que éstas son para él un inmenso
consuelo, y que España será siempre grande si no se aparta del buen
camino.
Me levanto, despidiéndome del Papa con una solemne inclinación. Su
Santidad está alegre, parece encantado por mis afirmaciones, y me
acompaña hasta la puerta, repitiendo mi nombre con paternal sonrisa.
—¡Blascos! ¡Ah, Blascos! ¡Blascos Ibañides!...
No me entrega su mano á besar como á los otros. Respeta mis escrúpulos
de buen católico español, pero me acompaña, dándome cariñosos golpes en
un hombro con sus manos fuertes, y la más paternal de las sonrisas contrae
las ondas de nieve de su barba.
Cuando llego á la puerta le parece poco esta despedida, y eleva la diestra
con su gran sortija de oro... y me bendice.
Salgo del Patriarcado admirando la espontánea solidaridad de todos los
que viven á la sombra de la cruz. ¡Extraña y poderosa fracmasonería de los
hombres de sotana! Durante siglos y siglos, el Vicario de Dios en Roma y el
Vicario de Dios en Constantinopla se han insultado con baba rabiosa,
llamándose hijos del diablo, asquerosas víboras y demás insultos inventados
por el rencor eclesiástico, maldiciéndose con acompañamiento de cirios
llama abajo y cánticos de muerte. Ahora fingen no conocerse, ignoran
mutuamente su existencia, viven vueltos de espalda, asumiendo cada uno la
verdadera herencia de Cristo, y sin embargo, por encima de tantos siglos de
abominación y de odio, se entera cada uno de la existencia del otro, y
celebra que ésta sea próspera y fuerte. Lo mismo hacen los comerciantes
cuando preguntan con interés por los negocios de los colegas, y se alegran
de que marchen bien, aunque nada les produzcan, viendo en ellos una
prueba de que el mercado no se debilita, de que sigue la demanda y de que
mientras los clientes no se llamen á engaño habrá ganancia para todos.
XXVIII
Turcas y eunucos
Cuando un occidental relata su viaje á Turquía, la curiosidad, excitada
por todo lo que es extraño y misterioso, le interrumpe siempre con las
mismas preguntas:
—¿Y las turcas? ¿Y la vida del harem?... ¿Y los eunucos?
¡Las turcas!... Se las ve en todas partes; pasean por los cementerios,
frondosos como jardines; entran tapadas á hacer sus compras en las lujosas
tiendas á la europea, van en la buena estación á solazarse en las Aguas
Dulces de Asia, lugar de moda á orillas del Bósforo; salen en carruaje, ó
transitan á pie por el Gran Puente; se visitan unas á otras; gozan de más
libertad que las europeas; salen á la calle tanto como éstas, y sin embargo,
no hay en Constantinopla nada tan misterioso é inabordable como las
mujeres.
Viviendo aquí, se convence el europeo de la frescura con que han
mentido los novelistas y los poetas al describir amores entre turcas y
cristianos. En otros tiempos, tal vez pudo ser esto. Durante el reinado de
Abdul-Aziz, loco generoso, Nerón oriental, que condecoraba á sus gallos de
pelea con las mismas bandas usadas por los generales, y se divertía
arrojando al populacho espuertas de monedas de oro, tal vez podrían
desarrollarse estos amores internacionales. Abdul-Aziz, apasionado
romántico de la emperatriz Eugenia, debió ser tolerante con las pasiones de
sus súbditas.
El actual emperador Abdul-Hamid, austero creyente que se encierra en la
tradición y el aislamiento de raza para defenderse de la codicia europea,
muestra empeño en evitar que la mujer musulmana tenga contacto alguno
con el cristiano, y vela sobre ella con una minuciosidad de déspota curioso
y activo, que lo mismo ansía conocer el pensamiento del emperador de
Alemania que las intrigas del harem del último de sus pachás.
Las damas turcas marchan encubiertas por las calles de Pera,
contemplando al través del velo á los europeos, que las siguen con ojos
ávidos. Aburridas por la soledad del harem y la indiferencia de un señor en
el cual el exceso de cantidad embota y debilita todo afecto, ¡cuántas veces
su pequeño cerebro de niña, apenas educada, experimenta la embriaguez del
deseo, viendo en este barrio cristiano la gran abundancia de hombres,
venidos solos del otro extremo de Europa, y á los que un celibato forzoso da
audacias y ademanes de lobo carnívoro!...
Viven libres, sin ver al esposo más que de tarde en tarde; pueden entrar y
salir de su casa sin otra vigilancia que la del eunuco, fácil de sobornar;
disponen de su tiempo mejor que una europea, y sin embargo, la intriga
amorosa es dificilísima para ellas, por no decir imposible.
Que levanten un poco el velo sobre su rostro para dejarlo visible al
hombre que pasa, y al momento, un otomano, que parece distraído en medio
de la acera tomando el aire, seguirá sus pasos cautelosamente, para saber en
qué termina la inusitada audacia. Que se permita un gesto, una mirada
significativa ó volver la cabeza, y el polizonte avisará en el mismo día al
marido ó al padre.
La policía y la fuerza tradicional de las costumbres velan sobre la mujer
turca, la rodean á todas horas, dejándola en completa libertad para todo...
para todo, menos para lo que ella desearía.
Una tercera parte del presupuesto del imperio se consume en servicio
policíaco. Un importante personaje de la corte es el jefe de los espías, y á su
vez hay espías de los espías... y así hasta lo infinito. Todas las clases de
Turquía figuran en el inmenso cuerpo de la delación. Los policías se
reclutan lo mismo entre los mozos de cordel de los muelles que entre los
grandes personajes. Algunos cobran un sueldo mucho mayor que el de un
ministro de Europa. Lo que cuesta al sultán este servicio, representa más
que lo invertido por algunos Estados en ejército, marina, administración y
obras públicas. Muchos de los señoritos turcos que pasean en caique, llenan
los cafés y teatros de Pera y son clientes de los sastres europeos, luciendo
empinados bigotes á lo kaiser, bajo el erguido fez, no tienen otro medio de
existencia que lo que cobran por repetir al ministro de Policía cuanto ven y
cuanto oyen.
Además, para las mujeres, todo turco es un agente que vigila por las
buenas costumbres. El europeo no puede mirar mucho tiempo, y con
marcada atención, á las mujeres que pasan. Imposible seguir sus pasos,
como ocurre en las ciudades europeas. Si es en el barrio puramente turco de
Stambul, corre peligro de recibir como aviso una pedrada ó un palo. Si es
en las demarcaciones europeas de Pera y Galata, cualquier respetable
effendi que pasa junto á él le preguntará cortésmente si es forastero, ya que
le ve faltar tan abiertamente á las costumbres del país.
La mujer, sitiada por la vigilancia del policía y el fanatismo nacional de
todo compatriota, obligada á no hablar con otro hombre que el que tiene en
su casa, se venga de este aislamiento con un orgullo rencoroso, que la hace
antipática las más de las veces. En las aceras empuja al hombre con
soberano desprecio para que le ceda el paso. Cuando van en carruaje se ríen
del transeúnte europeo con una insolencia de colegialas en libertad.
La mujer pobre ó de la clase media sigue fiel al dominó de pesado
damasco y á la cortinilla de gruesa seda que le sirve de antifaz. Así se la ve
pasar, como máscara misteriosa, llevando en una mano la sombrilla cerrada
ó tirando de un turquito cabezudo, y sosteniendo con otra la crujiente
faldamenta, que deja ver las pantorrillas enormes, hinchadas, elefantíacas,
por ir encerrados, dentro de las medias, los extremos de los calzones
interiores.
Pero las grandes damas, las elegantes esposas de los pachás y los turcos
ricos, las moradoras de los haremes lujosos, hace tiempo que, valiéndose de
la moda, han acabado con los trajes tradicionales, que recluían á la mujer en
obscuro incógnito. Bajo el gabán oriental, semejante á una salida de teatro,
llevan trajes de París recargados de adornos y en extremo vistosos. Se
cubren el pelo y parte del rostro siguiendo las exigencias de la costumbre
religiosa, pero lo hacen con el yachmaks, velo tenue y transparente como
una nubecilla, suspiro de seda casi impalpable, que sirve para dulcificar su
rostro, pintado de rosa y adornado con lunares artificiales, para dar mayor
realce á sus ojos, agrandados por una aureola negra de kool. Ocupando
grandes carrozas con ruedas doradas, y bajo la escolta de eunucos negros, á
los que la perturbación del sexo hace luchar con las señoras en chismes,
odios é histéricas rabietas, van á las tiendas ó visitan á las amigas de otro
harem, situado á tres ó cuatro horas de distancia, al final del Bósforo.
Algunas veces un harem se traslada á la orilla de Asia para ver á las
compañeras de un gran señor amigo del suyo. La visita dura tres ó cuatro
días, y esposas y odaliscas, libres de velos y escrúpulos, en el misterio de
las habitaciones privadas, hacen en común sus comiditas de muñecas,
abundantes en dulce, duermen juntas, tocan y cantan, y sobre todo, hablan...
hablan mucho, con una verbosidad de prisioneras ó de monjas, repitiendo
los chismes del silencioso Stambul, donde las casas parecen cárceles, con
sus puertas siempre cerradas y sus ventanas de celosía, tras las cuales espía
á todas horas la curiosidad maligna, la sospecha calumniosa, como en una
muerta ciudad de provincias.
Estas damas, mujeres opulentas á los diez y seis años, saben pintarse las
mejillas de carmín, los ojos de negro y las uñas de rojo, y en esto invierten
la mayor parte del día. Además, las mejor educadas saben fabricar agua de
rosas, dulces de varias clases y á veces hasta bordan gruesas flores de oro
sobre telas de seda.
Hablar, con una charla interminable de pájaro loco, embriagándose en
sus propias palabras, hablar bien de ellas y mal de sus amigas, es su mayor
placer. Se comprende que el buen turco, temiendo pasar el resto de su vida
frente á frente con una sola de estas hermosas muñecas, vacía de cráneo y
expedita de lengua, multiplique su número para encontrar alivio. Pero esta
variedad, cuando todo el harem ha perdido el encanto de lo nuevo, sólo
sirve para aumentar el tormento.
Los turcos modernos, que han viajado por Europa amoldándose á
nuestras costumbres, sólo tienen una mujer y sonríen cuando les hablan del
harem. Están enterados de lo que es la poligamia y compadecen á los turcos
á estilo antiguo, á los tradicionalistas, que por seguir la costumbre tienen
varias esposas.
Sólo un pachá del viejo régimen poseedor de una paciencia inagotable ó
aficionado á murmuraciones y futilidades como una mujer, puede soportar
durante toda su vida el contacto con el rebaño femenino del harem.
Es un error generalizado en Europa creer que la mujer turca, porque se
compra las más de las veces, es una esclava, un objeto, un ser sin derechos
y sin libertad, fuera de las leyes. La religión del Profeta nunca habló con
desprecio de la mujer, ni vió en ella un ser impuro, un aborto del demonio,
como los Padres de la Iglesia cristiana. El hombre tiene sin disputa un alma
superior, porque es el guerrero y pesan sobre él los más rudos deberes de la
vida, pero la mujer es igual á él en toda clase de derechos. La ley
musulmana sólo es implacable y feroz en caso de infidelidad conyugal.
Conoce la escasa solidez de estos seres adorables y sin seso, y presiente que
si abriese la mano y no se impusiera por el terror, ningún musulmán podría
llevar su turbante sobre la frente con entera comodidad.
En los antiguos haremes de Turquía figuraban sobre la puerta dos versos,
que poco más ó menos dicen así:
Nada iguala
la astucia de la dama.
XXIX
XXX
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade
Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.
ebookball.com