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, 2007Co-Authors: Yi Yang, Sencun Zhu, Xinran Wang, Guohong CaoAbstract: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
2016Co-Authors: Vineet Singh, Rajiv Gupta, Iulian NeamtiuAbstract: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, 2015Co-Authors: Vineet Singh, Rajiv Gupta, Iulian NeamtiuAbstract: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, 2007Co-Authors: Yi Yang, Sencun Zhu, Xinran Wang, Guohong CaoAbstract: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, 2006Co-Authors: Byeongcheol So, Kanghyup ChunAbstract: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
2016Co-Authors: Vineet Singh, Rajiv Gupta, Iulian NeamtiuAbstract: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, 2015Co-Authors: Vineet Singh, Rajiv Gupta, Iulian NeamtiuAbstract: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.