1,166 research outputs found
Robust data storage in a network of computer systems
PhD ThesisRobustness of data in this thesis is taken to mean reliable
storage of data and also high availability of data .objects in spite
of the occurrence of faults. Algorithms and data structures which
can be used to provide such robustness in the presence of various
disk, processor and communication network failures are described.
Reliable storage of data at individual nodes in a network of
computer systems is based on the use of a stable storage mechanism
combined with strategies which are used to help ensure crash resis-
tance of file operations in spite of the use of buffering mechan-
isms by operating systems. High availability of data in the net-
work is maintained by replicating data on different computers and
mutual consistency between replicas is ensured in spite of network
partitioning.
A stable storage system which provides atomicity for more complex data structures instead of the usual fixed size page has been
designed and implemented and its performance evaluated. A crash
resistant file system has also been implemented and evaluated.
Many of the techniques presented here are used in the design
of what we call CRES (Crash-resistant, Replicated and Stable)
storage. CRES storage provides fault tolerance facilities for
various disk and processor faults. It also provides fault tolerance facilities for network partitioning through the provision of an algorithm for the update and merge of a partitioned data storage
system
Execution Integrity with In-Place Encryption
Instruction set randomization (ISR) was initially proposed with the main goal
of countering code-injection attacks. However, ISR seems to have lost its
appeal since code-injection attacks became less attractive because protection
mechanisms such as data execution prevention (DEP) as well as code-reuse
attacks became more prevalent.
In this paper, we show that ISR can be extended to also protect against
code-reuse attacks while at the same time offering security guarantees similar
to those of software diversity, control-flow integrity, and information hiding.
We present Scylla, a scheme that deploys a new technique for in-place code
encryption to hide the code layout of a randomized binary, and restricts the
control flow to a benign execution path. This allows us to i) implicitly
restrict control-flow targets to basic block entries without requiring the
extraction of a control-flow graph, ii) achieve execution integrity within
legitimate basic blocks, and iii) hide the underlying code layout under
malicious read access to the program. Our analysis demonstrates that Scylla is
capable of preventing state-of-the-art attacks such as just-in-time
return-oriented programming (JIT-ROP) and crash-resistant oriented programming
(CROP). We extensively evaluate our prototype implementation of Scylla and show
feasible performance overhead. We also provide details on how this overhead can
be significantly reduced with dedicated hardware support
A Survey of Fault-Tolerance and Fault-Recovery Techniques in Parallel Systems
Supercomputing systems today often come in the form of large numbers of
commodity systems linked together into a computing cluster. These systems, like
any distributed system, can have large numbers of independent hardware
components cooperating or collaborating on a computation. Unfortunately, any of
this vast number of components can fail at any time, resulting in potentially
erroneous output. In order to improve the robustness of supercomputing
applications in the presence of failures, many techniques have been developed
to provide resilience to these kinds of system faults. This survey provides an
overview of these various fault-tolerance techniques.Comment: 11 page
A support architecture for reliable distributed computing systems
The Clouds kernel design was through several design phases and is nearly complete. The object manager, the process manager, the storage manager, the communications manager, and the actions manager are examined
The Legacy of Multics and Secure Operating Systems Today
This paper looks to the legacy of Multics from 1963 and its influence on computer security. It discusses kernel-based and virtualization-based containment in projects like SELinux and Qubes, respectively. The paper notes the importance of collaborative and research-driven projects like Qubes and Tor Project
Object Management for Persistence and Recoverability
PhD ThesisAs distribution becomes commonplace, there is a growing requirement for
applications that behave reliably when node or network failures occur. To
support reliability, operations on the components of a distributed application may
be declared to occur within the scope of an atomic action. This thesis describes
how atomic actions may be supported in an environment consisting of
applications that operate on objects.
To support the failure atomicity and permanence of effect properties of an
atomic action, the objects accessed within the scope of an atomic action must be
recoverable and persistent. This thesis describes how these properties may be
added to the class of an object. The approach adopted is to provide a class that
implements recovery and persistence mechanisms, and derive new classes from
this base class. By refining inherited operations so that recovery and persistence
is specific to that class, recoverable and persistent objects may be easily produced.
This thesis also describes how an atomic action may be implemented as a
class, so that instances of the class are atomic actions which manage the
recoverable and persistent objects. Multiple instance declarations produce nested
atomic actions, and the atomic action class also inherits persistence so that shortterm
commit information may be saved in an object store which is used to
maintain the passive state of persistent objects.
Since the mechanisms and classes that support recovery, persistence, and
atomic actions are constructed using the feature of an object-oriented language,
they may be implemented in environments that provide suitable support for
objects and object-oriented programming languages.Science and
Engineering Research Council,
SERC/Alve
Recommended from our members
Replication and Nested Transactions in the Eden Distributed System
Hardware redundancy in distributed systems offers the potential for increased availability and performance, but this requires software support if the full potential is to be realized. We have designed and implemented two mechanisms for such support. The first provides crash-resistant resources, replicated transparently and consistently to increase the availability of distributed data. To update multiple copies despite down nodes, we have introduced the Regeneration method used in the implementation of a replicated system directory. Regeneration restores inaccessible copies elsewhere in the network, maintains the availability of resources, and adapts to configuration changes. The second mechanism is a systell1 supporting nested transactions, which can manage the complex failure modes in a distributed system, synchronize concurrent resource access internal to applications, and facilitate safe module composition. In the tree-structured nesting, each transaction has a Transaction Manager (TM), responsible for the concurrency control and crash recovery of its subtransactions. Many concurrency control and recovery techniques can be combined in this TM Tree design framework. We chose locking and versions for the first implementation. Using Eden objects and the replicated directory, our nested transactions provide consistent concurrent access 10 location-independent, crash- resistant resources. In summary, the principal contributions of this research are the Regeneration method and the TM Tree framework. Regeneration uses the separation of hardware repair from data restoration to increase replicated data availability. TM tree composes existing techniques to derive many difficult designs for nested transaction. Both have been proven in the design and implementation of actual systems
- …