12,881 research outputs found

    Dynamic Information Flow Tracking on Multicores

    Get PDF
    Dynamic Information Flow Tracking (DIFT) is a promising technique for detecting software attacks. Due to the computationally intensive nature of the technique, prior efficient implementations [21, 6] rely on specialized hardware support whose only purpose is to enable DIFT. Alternatively, prior software implementations are either too slow [17, 15] resulting in execution time increases as much as four fold for SPEC integer programs or they are not transparent [31] requiring source code modifications. In this paper, we propose the use of chip multiprocessors (CMP) to perform DIFT transparently and efficiently. We spawn a helper thread that is scheduled on a separate core and is only responsible for performing information flow tracking operations. This entails the communication of registers and flags between the main and helper threads. We explore software (shared memory) and hardware (dedicated interconnect) approaches to enable this communication. Finally, we propose a novel application of the DIFT infrastructure where, in addition to the detection of the software attack, DIFT assists in the process of identifying the cause of the bug in the code that enabled the exploit in the first place. We conducted detailed simulations to evaluate the overhead for performing DIFT and found that to be 48 % for SPEC integer programs

    Basic Parameter Estimation of Binary Neutron Star Systems by the Advanced LIGO/Virgo Network

    Get PDF
    Within the next five years, it is expected that the Advanced LIGO/Virgo network will have reached a sensitivity sufficient to enable the routine detection of gravitational waves. Beyond the initial detection, the scientific promise of these instruments relies on the effectiveness of our physical parameter estimation capabilities. The majority of this effort has been towards the detection and characterization of gravitational waves from compact binary coalescence, e.g. the coalescence of binary neutron stars. While several previous studies have investigated the accuracy of parameter estimation with advanced detectors, the majority have relied on approximation techniques such as the Fisher Matrix. Here we report the statistical uncertainties that will be achievable for optimal detection candidates (SNR = 20) using the full parameter estimation machinery developed by the LIGO/Virgo Collaboration via Markov-Chain Monte Carlo methods. We find the recovery of the individual masses to be fractionally within 9% (15%) at the 68% (95%) credible intervals for equal-mass systems, and within 1.9% (3.7%) for unequal-mass systems. We also find that the Advanced LIGO/Virgo network will constrain the locations of binary neutron star mergers to a median uncertainty of 5.1 deg^2 (13.5 deg^2) on the sky. This region is improved to 2.3 deg^2 (6 deg^2) with the addition of the proposed LIGO India detector to the network. We also report the average uncertainties on the luminosity distances and orbital inclinations of ideal detection candidates that can be achieved by different network configurations.Comment: Second version: 15 pages, 9 figures, accepted in Ap

    PASCAL/48 reference manual

    Get PDF
    PASCAL/48 is a programming language for the Intel MCS-48 series of microcomputers. In particular, it can be used with the Intel 8748. It is designed to allow the programmer to control most of the instructions being generated and the allocation of storage. The language can be used instead of ASSEMBLY language in most applications while allowing the user the necessary degree of control over hardware resources. Although it is called PASCAL/48, the language differs in many ways from PASCAL. The program structure and statements of the two languages are similar, but the expression mechanism and data types are different. The PASCAL/48 cross-compiler is written in PASCAL and runs on the CDC CYBER NOS system. It generates object code in Intel hexadecimal format that can be used to program the MCS-48 series of microcomputers. This reference manual defines the language, describes the predeclared procedures, lists error messages, illustrates use, and includes language syntax diagrams

    From MinX to MinC: Semantics-Driven Decompilation of Recursive Datatypes

    Get PDF
    Reconstructing the meaning of a program from its binary executable is known as reverse engineering; it has a wide range of applications in software security, exposing piracy, legacy systems, etc. Since reversing is ultimately a search for meaning, there is much interest in inferring a type (a meaning) for the elements of a binary in a consistent way. Unfortunately existing approaches do not guarantee any semantic relevance for their reconstructed types. This paper presents a new and semantically-founded approach that provides strong guarantees for the reconstructed types. Key to our approach is the derivation of a witness program in a high-level language alongside the reconstructed types. This witness has the same semantics as the binary, is type correct by construction, and it induces a (justifiable) type assignment on the binary. Moreover, the approach effectively yields a type-directed decompiler. We formalise and implement the approach for reversing Minx, an abstraction of x86, to MinC, a type-safe dialect of C with recursive datatypes. Our evaluation compiles a range of textbook C algorithms to MinX and then recovers the original structures
    • …
    corecore