157,460 research outputs found

    Lockdown: Dynamic Control-Flow Integrity

    Full text link
    Applications written in low-level languages without type or memory safety are especially prone to memory corruption. Attackers gain code execution capabilities through such applications despite all currently deployed defenses by exploiting memory corruption vulnerabilities. Control-Flow Integrity (CFI) is a promising defense mechanism that restricts open control-flow transfers to a static set of well-known locations. We present Lockdown, an approach to dynamic CFI that protects legacy, binary-only executables and libraries. Lockdown adaptively learns the control-flow graph of a running process using information from a trusted dynamic loader. The sandbox component of Lockdown restricts interactions between different shared objects to imported and exported functions by enforcing fine-grained CFI checks. Our prototype implementation shows that dynamic CFI results in low performance overhead.Comment: ETH Technical Repor

    DIVERSE: a Software Toolkit to Integrate Distributed Simulations with Heterogeneous Virtual Environments

    Get PDF
    We present DIVERSE (Device Independent Virtual Environments- Reconfigurable, Scalable, Extensible), which is a modular collection of complimentary software packages that we have developed to facilitate the creation of distributed operator-in-the-loop simulations. In DIVERSE we introduce a novel implementation of remote shared memory (distributed shared memory) that uses Internet Protocol (IP) networks. We also introduce a new method that automatically extends hardware drivers (not in the operating system kernel driver sense) into inter-process and Internet hardware services. Using DIVERSE, a program can display in a CAVEâ„¢, ImmersaDeskâ„¢, head mounted display (HMD), desktop or laptop without modification. We have developed a method of configuring user programs at run-time by loading dynamic shared objects (DSOs), in contrast to the more common practice of creating interpreted configuration languages. We find that by loading DSOs the development time, complexity and size of DIVERSE and DIVERSE user applications is significantly reduced. Configurations to support different I/O devices, device emulators, visual displays, and any component of a user application including interaction techniques, can be changed at run-time by loading different sets of DIVERSE DSOs. In addition, interpreted run-time configuration parsers have been implemented using DIVERSE DSOs; new ones can be created as needed. DIVERSE is free software, licensed under the terms of the GNU General Public License (GPL) and the GNU Lesser General Public License (LGPL) licenses. We describe the DIVERSE architecture and demonstrate how DIVERSE was used in the development of a specific application, an operator-in-the-loop Navy ship-board crane simulator, which runs unmodified on a desktop computer and/or in a CAVE with motion base motion queuing

    Towards a Hylomorphic Solution to the Grounding Problem

    Get PDF
    Concrete particular objects (e.g., living organisms) figure saliently in our everyday experience as well as our in our scientific theorizing about the world. A hylomorphic analysis of concrete particular objects holds that these entities are, in some sense, compounds of matter (hūlē) and form (morphē or eidos). The Grounding Problem asks why an object and its matter (e.g., a statue and the clay that constitutes it) can apparently differ with respect to certain of their properties (e.g., the clay’s ability to survive being squashed, as compared to the statue’s inability to do so), even though they are otherwise so much alike. In this paper, I argue that a hylomorphic analysis of concrete particular objects, in conjunction with a non-modal conception of essence of the type encountered for example in the works of Aristotle and Kit Fine, has the resources to yield a solution to the Grounding Problem
    • …
    corecore