Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Daniel C. DuVarney is active.

Publication


Featured researches published by Daniel C. DuVarney.


symposium on operating systems principles | 2003

Model-carrying code: a practical approach for safe execution of untrusted applications

R. Sekar; V. N. Venkatakrishnan; Samik Basu; Sandeep Bhatkar; Daniel C. DuVarney

This paper presents a new approach called model-carrying code (MCC) for safe execution of untrusted code. At the heart of MCC is the idea that untrusted code comes equipped with a concise high-level model of its security-relevant behavior. This model helps bridge the gap between high-level security policies and low-level binary code, thereby enabling analyses which would otherwise be impractical. For instance, users can use a fully automated verification procedure to determine if the code satisfies their security policies. Alternatively, an automated procedure can sift through a catalog of acceptable policies to identify one that is compatible with the model. Once a suitable policy is selected, MCC guarantees that the policy will not be violated by the code. Unlike previous approaches, the MCC framework enables code producers and consumers to collaborate in order to achieve safety. Moreover, it provides support for policy selection as well as enforcement. Finally, MCC makes no assumptions regarding the inherent risks associated with untrusted code. It simply provides the tools that enable a consumer to make informed decisions about the risk that he/she is willing to tolerate so as to benefit from the functionality offered by an untrusted application.


foundations of software engineering | 2004

An efficient and backwards-compatible transformation to ensure memory safety of C programs

Wei Xu; Daniel C. DuVarney; R. Sekar

Memory-related errors, such as buffer overflows and dangling pointers, remain one of the principal reasons for failures of C programs. As a result, a number of recent research efforts have focused on the problem of dynamic detection of memory errors in C programs. However, existing approaches suffer from one or more of the following problems: inability to detect all memory errors (e.g., Purify), requiring non-trivial modifications to existing C programs (e.g., Cyclone), changing the memory management model of C to use garbage collection (e.g., CCured), and excessive performance overheads. In this paper, we present a new approach that addresses these problems. Our approach operates via source code transformation and combines efficient data-structures with simple, localized optimizations to obtain good performance.


new security paradigms workshop | 2003

SELF: a transparent security extension for ELF binaries

Daniel C. DuVarney; V. N. Venkatakrishnan; Sandeep Bhatkar

The ability to analyze and modify binaries is often very useful from a security viewpoint. Security operations one would like to perform on binaries include the ability to extract models of program behavior and insert inline reference monitors. Unfortunately, the existing manner in which binary code is packaged prevents even the simplest of analyses, such as distinguishing code from data, from succeeding 100 percent of the time. In this paper, we propose SELF, a security-enhanced ELF (Executable and Linking Format), which is simply ELF with an extra section added. The extra section contains information about (among other things) the address, size, and alignment requirements of each code and static data item in the program. This information is somewhat similar to traditional debugging information, but contains additional information specifically needed for binary analysis that debugging information lacks. It is also smaller, compatible with optimization, and less likely to facilitate reverse engineering, which we believe makes it practical for use with commercial software products. SELF approach has three key benefits. First, the information for the extra section is easy for compilers to provide, so little work is required on behalf of compiler vendors. Second, the extra section is ignored by default, so SELF binaries will run perfectly on all systems, including ones not interested in leveraging the extra information. Third, the extra section provides sufficient information to perform many security-related operations on the binary code. We believe SELF to be a practical approach, allowing many security analyses to be performed while not requiring major changes to the existing compiler infrastructure. An application example of the utility of SELF to perform address obfuscation (in which the addresses of all code and data items are randomized to defeat memory-error exploits) is presented.


formal techniques for networked and distributed systems | 2002

C Wolf - A Toolset for Extracting Models from C Programs

Daniel C. DuVarney; S. Purushothaman Iyer

We report on the design, implementation, and use of C Wolf, a toolset which extracts finite labeled transition systems from C programs. The extraction process is guided by user input on how a program should be abstracted, and what events should be made observable to the user. The output is an abstracted model suitable for input to the Concurrency Workbench. Additionally, facilities are provided to carry out simple observational equivalence-preserving transformations which reduce the size of the generated model. Finally, we report our experiences in using the toolset to analyze the GNU i-protocol(V ersion 1.04) and the BSD ftp daemon (Version 0.3.3).


usenix security symposium | 2003

Address obfuscation: an efficient approach to combat a board range of memory error exploits

Sandeep Bhatkar; Daniel C. DuVarney; R. Sekar


usenix security symposium | 2005

Efficient techniques for comprehensive protection from memory error exploits

Sandeep Bhatkar; R. Sekar; Daniel C. DuVarney


usenix annual technical conference | 2005

Automatic synthesis of filters to discard buffer overflow attacks: a step towards realizing self-healing systems

Zhenkai Liang; R. Sekar; Daniel C. DuVarney


Archive | 2002

Benign software mutations: A novel approach to protect against large-scale network attacks

Daniel C. DuVarney; R. Sekar


Archive | 2002

Abstraction-based generation of finite state models from c programs

Daniel C. DuVarney; S. Purushothaman Iyer


Lecture Notes in Computer Science | 2006

Provably correct runtime enforcement of non-interference properties

V. N. Venkatakrishnan; Wei Xu; Daniel C. DuVarney; R. Sekar

Collaboration


Dive into the Daniel C. DuVarney's collaboration.

Top Co-Authors

Avatar

R. Sekar

Stony Brook University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

V. N. Venkatakrishnan

University of Illinois at Chicago

View shared research outputs
Top Co-Authors

Avatar

S. Purushothaman Iyer

North Carolina State University

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Wei Xu

Stony Brook University

View shared research outputs
Top Co-Authors

Avatar

Zhenkai Liang

National University of Singapore

View shared research outputs
Researchain Logo
Decentralizing Knowledge