12,881 research outputs found
Dynamic Information Flow Tracking on Multicores
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
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
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
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
- …