The Experts below are selected from a list of 93222 Experts worldwide ranked by ideXlab platform

Guohong Cao - One of the best experts on this subject based on the ideXlab platform.

  • distributed software based attestation for node compromise detection in sensor networks
    Symposium on Reliable Distributed Systems, 2007
    Co-Authors: Yi Yang, Sencun Zhu, Xinran Wang, Guohong Cao
    Abstract:

    Sensors that operate in an unattended, harsh or hostile environment are vulnerable to compromises because their low costs preclude the use of expensive tamper-resistant hardware. Thus, an adversary may reProgram them with malicious code to launch various insider attacks. Based on verifying the genuineness of the running Program, we propose two distributed software-based attestation schemes that are well tailored for sensor networks. These schemes are based on a pseudorandom noise generation mechanism and a lightweight block-based pseudorandom Memory traversal algorithm. Each node is loaded with pseudorandom noise in its empty Program Memory before deployment, and later on multiple neighbors of a suspicious node collaborate to verify the integrity of the code running on this node in a distributed manner. Our analysis and simulation show that these schemes achieve high detection rate even when multiple compromised neighbors collude in an attestation process.

Iulian Neamtiu - One of the best experts on this subject based on the ideXlab platform.

  • MG++: Memory Graphs for Analyzing Dynamic Data Structures
    2016
    Co-Authors: Vineet Singh, Rajiv Gupta, Iulian Neamtiu
    Abstract:

    Abstract—Memory graphs are very useful in understanding the behavior of Programs that use dynamically allocated data structures. We present a new Memory graph representation, MG++, and a Memory graph construction algorithm, that greatly enhance the utility of Memory graphs. First, in addition to capturing the shapes of dynamically-constructed data structures, MG++ also captures how they evolve as the Program executes and records the source code statements that play a role in their evolution to assist in debugging. Second, MG++ captures the history of actions performed by the Memory allocator. This is useful in debugging Programs that internally manage storage or in cases where understanding Program behavior requires examin-ing Memory allocator actions. Our binary instrumentation-based algorithm for MG++ construction does not rely on the knowledge of Memory allocator functions or on symbol table information. Our algorithm works for custom Memory allocators as well as for in-Program Memory management. Experiments studying the time and space efficiency for real-world Programs show that MG++ representation is space-efficient and the time overhead for MG++ construction algorithm is practical. We show that MG++ is effective for fault location and for analyzing binaries to detect heap buffer overflow attacks. Keywords—Memory graph, evolution history, Memory allocator history, fault location, buffer overflow attacks I

  • mg Memory graphs for analyzing dynamic data structures
    IEEE International Conference on Software Analysis Evolution and Reengineering, 2015
    Co-Authors: Vineet Singh, Rajiv Gupta, Iulian Neamtiu
    Abstract:

    Memory graphs are very useful in understanding the behavior of Programs that use dynamically allocated data structures. We present a new Memory graph representation, MG++, and a Memory graph construction algorithm, that greatly enhance the utility of Memory graphs. First, in addition to capturing the shapes of dynamically-constructed data structures, MG++ also captures how they evolve as the Program executes and records the source code statements that play a role in their evolution to assist in debugging. Second, MG++ captures the history of actions performed by the Memory allocator. This is useful in debugging Programs that internally manage storage or in cases where understanding Program behavior requires examining Memory allocator actions. Our binary instrumentation-based algorithm for MG++ construction does not rely on the knowledge of Memory allocator functions or on symbol table information. Our algorithm works for custom Memory allocators as well as for in-Program Memory management. Experiments studying the time and space efficiency for real-world Programs show that MG++ representation is space-efficient and the time overhead for MG++ construction algorithm is practical. We show that MG++ is effective for fault location and for analyzing binaries to detect heap buffer overflow attacks.

Yi Yang - One of the best experts on this subject based on the ideXlab platform.

  • distributed software based attestation for node compromise detection in sensor networks
    Symposium on Reliable Distributed Systems, 2007
    Co-Authors: Yi Yang, Sencun Zhu, Xinran Wang, Guohong Cao
    Abstract:

    Sensors that operate in an unattended, harsh or hostile environment are vulnerable to compromises because their low costs preclude the use of expensive tamper-resistant hardware. Thus, an adversary may reProgram them with malicious code to launch various insider attacks. Based on verifying the genuineness of the running Program, we propose two distributed software-based attestation schemes that are well tailored for sensor networks. These schemes are based on a pseudorandom noise generation mechanism and a lightweight block-based pseudorandom Memory traversal algorithm. Each node is loaded with pseudorandom noise in its empty Program Memory before deployment, and later on multiple neighbors of a suspicious node collaborate to verify the integrity of the code running on this node in a distributed manner. Our analysis and simulation show that these schemes achieve high detection rate even when multiple compromised neighbors collude in an attestation process.

Kanghyup Chun - One of the best experts on this subject based on the ideXlab platform.

  • a 32 kb standard cmos antifuse one time Programmable rom embedded in a 16 bit microcontroller
    IEEE Journal of Solid-state Circuits, 2006
    Co-Authors: Byeongcheol So, Kanghyup Chun
    Abstract:

    A 32-KB standard CMOS antifuse one-time Programmable (OTP) ROM embedded in a 16-bit microcontroller as its Program Memory is designed and implemented in 0.18-mum standard CMOS technology. The proposed 32-KB OTP ROM cell array consists of 4.2 mum2 three-transistor (3T) OTP cells where each cell utilizes a thin gate-oxide antifuse, a high-voltage blocking transistor, and an access transistor, which are all compatible with standard CMOS process. In order for high density implementation, the size of the 3T cell has been reduced by 80% in comparison to previous work. The fabricated total chip size, including 32-KB OTP ROM, which can be Programmed via external I 2C master device such as universal I2C serial EEPROM Programmer, 16-bit microcontroller with 16-KB Program SRAM and 8-KB data SRAM, peripheral circuits to interface other system building blocks, and bonding pads, is 9.9 mm2. This paper describes the cell, design, and implementation of high-density CMOS OTP ROM, and shows its promising possibilities in embedded applications

Vineet Singh - One of the best experts on this subject based on the ideXlab platform.

  • MG++: Memory Graphs for Analyzing Dynamic Data Structures
    2016
    Co-Authors: Vineet Singh, Rajiv Gupta, Iulian Neamtiu
    Abstract:

    Abstract—Memory graphs are very useful in understanding the behavior of Programs that use dynamically allocated data structures. We present a new Memory graph representation, MG++, and a Memory graph construction algorithm, that greatly enhance the utility of Memory graphs. First, in addition to capturing the shapes of dynamically-constructed data structures, MG++ also captures how they evolve as the Program executes and records the source code statements that play a role in their evolution to assist in debugging. Second, MG++ captures the history of actions performed by the Memory allocator. This is useful in debugging Programs that internally manage storage or in cases where understanding Program behavior requires examin-ing Memory allocator actions. Our binary instrumentation-based algorithm for MG++ construction does not rely on the knowledge of Memory allocator functions or on symbol table information. Our algorithm works for custom Memory allocators as well as for in-Program Memory management. Experiments studying the time and space efficiency for real-world Programs show that MG++ representation is space-efficient and the time overhead for MG++ construction algorithm is practical. We show that MG++ is effective for fault location and for analyzing binaries to detect heap buffer overflow attacks. Keywords—Memory graph, evolution history, Memory allocator history, fault location, buffer overflow attacks I

  • mg Memory graphs for analyzing dynamic data structures
    IEEE International Conference on Software Analysis Evolution and Reengineering, 2015
    Co-Authors: Vineet Singh, Rajiv Gupta, Iulian Neamtiu
    Abstract:

    Memory graphs are very useful in understanding the behavior of Programs that use dynamically allocated data structures. We present a new Memory graph representation, MG++, and a Memory graph construction algorithm, that greatly enhance the utility of Memory graphs. First, in addition to capturing the shapes of dynamically-constructed data structures, MG++ also captures how they evolve as the Program executes and records the source code statements that play a role in their evolution to assist in debugging. Second, MG++ captures the history of actions performed by the Memory allocator. This is useful in debugging Programs that internally manage storage or in cases where understanding Program behavior requires examining Memory allocator actions. Our binary instrumentation-based algorithm for MG++ construction does not rely on the knowledge of Memory allocator functions or on symbol table information. Our algorithm works for custom Memory allocators as well as for in-Program Memory management. Experiments studying the time and space efficiency for real-world Programs show that MG++ representation is space-efficient and the time overhead for MG++ construction algorithm is practical. We show that MG++ is effective for fault location and for analyzing binaries to detect heap buffer overflow attacks.