Demo Data from VLDB 2026 / reviewers in the wild / expert
Jun Xu 0003
dblp:90/514-3
· DBLP profile ↗
20ranked-venue papers
4as first author
0since 2021 · last 2008
—ORCID · conflict
Domains — the database's venue-derived domains; a paper can count in several
Security and privacy · 14 · 4 first-authorSystems, architecture and hardware · 7 · 1 first-authorSoftware engineering, systems software and programming languages · 4 · 1 first-authorApplied, interdisciplinary, general and emerging computing · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Network and information security
5 papers |
Systems and software security · 97% Network security · 3% | |
| Software engineering, system software, and programming languages
4 papers |
Program analysis · 63% Software maintenance and evolution · 12% Empirical software engineering · 12% |
Topics — the 16 heaviest of 17, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Systems and software security
vulnerability discovery |
0.2 | 3 | 2007 | Memsherlock: an automated debugger for unknown memory corruption vulnerabilities · CCS 2007 Security Vulnerabilities: From Analysis to Detection and Masking Techniques · Proc. IEEE 2006 Automatic diagnosis and response to memory corruption vulnerabilities · CCS 2005 |
Program analysis
static analysis |
0.1 | 3 | 2007 | Security Vulnerabilities: From Analysis to Detection and Masking Techniques · Proc. IEEE 2006 Effective Generation of Interface Robustness Properties for Static Analysis · ASE 2006 Mining API patterns as partial orders from source code: from usage scenarios to specifications · ESEC/SIGSOFT FSE 2007 |
Systems and software security
exploitation |
0.1 | 2 | 2007 | Non-Control-Data Attacks Are Realistic Threats · USENIX Security Symposium 2005 Memsherlock: an automated debugger for unknown memory corruption vulnerabilities · CCS 2007 |
Systems and software security › memory safety
memory-related vulnerability detection |
0.1 | 1 | 2007 | Memsherlock: an automated debugger for unknown memory corruption vulnerabilities · CCS 2007 |
Empirical software engineering › mining software repositories
API usage patterns |
0.1 | 1 | 2007 | Mining API patterns as partial orders from source code: from usage scenarios to specifications · ESEC/SIGSOFT FSE 2007 |
Software maintenance and evolution
code reuse |
0.1 | 1 | 2007 | Mining API patterns as partial orders from source code: from usage scenarios to specifications · ESEC/SIGSOFT FSE 2007 |
Debugging and program repair
fault localization |
0.1 | 1 | 2007 | Memsherlock: an automated debugger for unknown memory corruption vulnerabilities · CCS 2007 |
Program analysis
specification mining |
0.1 | 1 | 2007 | Mining API patterns as partial orders from source code: from usage scenarios to specifications · ESEC/SIGSOFT FSE 2007 |
Systems and software security › vulnerability analysis
vulnerability signature generation |
0.1 | 1 | 2006 | Packet vaccine: black-box exploit detection and signature generation · CCS 2006 |
Program analysis
data flow analysis |
0.1 | 1 | 2006 | Effective Generation of Interface Robustness Properties for Static Analysis · ASE 2006 |
Program analysis › static analysis
vulnerability detection |
0.1 | 1 | 2006 | Security Vulnerabilities: From Analysis to Detection and Masking Techniques · Proc. IEEE 2006 |
Systems and software security › exploitation
non-control data attack |
0.1 | 1 | 2005 | Non-Control-Data Attacks Are Realistic Threats · USENIX Security Symposium 2005 |
Systems and software security › memory safety
buffer overflow |
0.0 | 1 | 2007 | Memsherlock: an automated debugger for unknown memory corruption vulnerabilities · CCS 2007 |
Program analysis › static analysis › interprocedural analysis
interprocedural control flow analysis |
0.0 | 1 | 2007 | Mining API patterns as partial orders from source code: from usage scenarios to specifications · ESEC/SIGSOFT FSE 2007 |
Network security › intrusion detection and prevention
intrusion detection |
0.0 | 1 | 2005 | Automatic diagnosis and response to memory corruption vulnerabilities · CCS 2005 |
Systems and software security
memory safety |
0.0 | 1 | 2005 | Non-Control-Data Attacks Are Realistic Threats · USENIX Security Symposium 2005 |
Methods — techniques the papers use, named apart from their topics
data flow analysis · 0.2dynamic analysis · 0.1pointer taintedness analysis · 0.1memory layout randomization · 0.1finite-state machine analysis · 0.1model checking · 0.1frequent pattern mining · 0.1static analysis · 0.1signature generation · 0.1packet randomization · 0.1randomized program execution · 0.1attack signature generation · 0.1attack analysis · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2008 | Fast and Black-box Exploit Detection and Signature Generation for Commodity SoftwareabstractIn biology, a vaccine is a weakened strain of a virus or bacterium that is intentionally injected into the body for the purpose of stimulating antibody production. Inspired by this idea, we propose a packet vaccine mechanism that randomizes address-like strings in packet payloads to carry out fast exploit detection and signature generation. An exploit with a randomized jump address behaves like a vaccine: it will likely cause an exception in a vulnerable program’s process when attempting to hijack the control flow, and thereby expose itself. Taking that exploit as a template, our signature generator creates a set of new vaccines to probe the program in an attempt to uncover the necessary conditions for the exploit to happen. A signature is built upon these conditions to shield the underlying vulnerability from further attacks. In this way, packet vaccine detects exploits and generates signatures in a black-box fashion, that is, not relying on the knowledge of a vulnerable program’s source and binary code. Therefore, it even works on the commodity software obfuscated for the purpose of copyright protection. In addition, since our approach avoids the expense of tracking the program’s execution flow, it performs almost as fast as a normal run of the program and is capable of generating a signature of high quality within seconds or even subseconds. We present the design of the packet vaccine mechanism and an example of its application. We also describe our proof-of-concept implementation and the evaluation of our technique using real exploits. XiaoFeng Wang 0001, Zhuowei Li 0001, Jong Choi 0001, Jun Xu 0003, Michael K. Reiter, Chongkyung Kil |
ACM Trans. Inf. Syst. Secur. | 4 |
| 2007 | Memsherlock: an automated debugger for unknown memory corruption vulnerabilitiesabstractSoftware vulnerabilities have been the main contributing factor to the Internet security problems such as fast spreading worms. Among these software vulnerabilities, memory corruption vulnerabilities such as buffer overflow and format string bugs have been the most common ones exploited by network-based attacks. Many security countermeasures (e.g., patching, automatic signature generation for intrusion detection systems) require vulnerability information to function correctly. However, despite many years of research, automatically identifying unknown software vulnerabilities still remains an open problem.In this paper, we present the development of a security debugging tool named MemSherlock, which can automatically identify unknown memory corruption vulnerabilities upon the detection of malicious payloads that exploit such vulnerabilities. MemSherlock provides critical information for unknown memory corruption vulnerabilities, including (1) the corruption point in the source code (i.e., the statement that allows the exploitation of memory corruption vulnerability), (2) the slice of source code that helps the malicious input to reach the corruption point, and (3) the description of how the malicious input exploits the unknown vulnerability. We evaluate MemSherlock with a set of 11 real-world applications that have buffer overflow, heap overflow, and format string vulnerabilities. The evaluation results indicate that MemSherlock is a useful tool to facilitate the automatic vulnerability analysis process. Emre Can Sezer, Peng Ning, Chongkyung Kil, Jun Xu 0003 |
CCS | 4 |
| 2007 | Mining API patterns as partial orders from source code: from usage scenarios to specificationsabstractA software system interacts with third-party libraries through various APIs. Using these library APIs often needs tofollow certain usage patterns. Furthermore, ordering rules (specifications) exist between APIs, and these rules govern the secure and robust operation of the system using these APIs. But these patterns and rules may not be well documented by the API developers. Previous approaches mine frequent association rules, itemsets, or subsequences that capture API call patterns shared by API client code. However, these frequent API patterns cannot completely capture some useful orderings shared by APIs, especially when multiple APIs are involved across different procedures. In this paper, we present a framework to automatically extract usage scenarios among user-specified APIs as partial orders, directly from the source code (API client code). We adapt a model checker to generate interprocedural control-flow-sensitive static traces related to the APIs of interest. Different API usage scenarios are extracted from the static traces by our scenario extraction algorithm and fed to a miner. The miner summarizes different usage scenarios as compact partial orders. Specifications are extracted from the frequent partial orders using our specification extraction algorithm. Our experience of applying the framework on 72 X11 clients with 200K LOC in total has shown that theextracted API partial orders are useful in assisting effective API reuse and checking. Mithun Acharya, Tao Xie 0001, Jian Pei 0001, Jun Xu 0003 |
ESEC/SIGSOFT FSE | 4 |
| 2006 | Address Space Layout Permutation (ASLP): Towards Fine-Grained Randomization of Commodity SoftwareabstractAddress space randomization is an emerging and promising method for stopping a broad range of memory corruption attacks. By randomly shifting critical memory regions at process initialization time, address space randomization converts an otherwise successful malicious attack into a benign process crash. However, existing approaches either introduce insufficient randomness, or require source code modification. While insufficient randomness allows successful brute-force attacks, as shown in recent studies, the required source code modification prevents this effective method from being used for commodity software, which is the major source of exploited vulnerabilities on the Internet. We propose Address Space Layout Permutation (ASLP) that introduces high degree of randomness (or high entropy) with minimal performance overhead. Essential to ASLP is a novel binary rewriting tool that can place the static code and data segments of a compiled executable to a randomly specified location and performs fine-grained permutation of procedure bodies in the code segment as well as static data objects in the data segment. We have also modified the Linux operating system kernel to permute stack, heap, and memory mapped regions. Together, ASLP completely permutes memory regions in an application. Our security and performance evaluation shows minimal performance overhead with orders of magnitude improvement in randomness (e.g., up to 29 bits of randomness on a 32-bit architecture). Chongkyung Kil, Jinsuk Jun, Christopher Bookholt, Jun Xu 0003, Peng Ning |
ACSAC | 4 |
| 2006 | Packet vaccine: black-box exploit detection and signature generationabstractIn biology,a vaccine is a weakened strain of a virus or bacterium that is intentionally injected into the body for the purpose of stimulating antibody production.Inspired by this idea, we propose a packet vaccine mechanism that randomizes address-like strings in packet payloads to carry out fast exploit detection, vulnerability diagnosis and signature generation. An exploit with a randomized jump address behaves like a vaccine: it will likely cause an exception in a vulnerable program's process when attempting to hijack the control flow,and thereby expose itself. Taking that exploit as a template, our signature generator creates a set of new vaccines to probe the program, in an attempt to uncover the necessary conditions for the exploit to happen. A signature is built upon these conditions to shield the underlying vulnerability from further attacks. In this way, packet vaccine detects and fllters exploits in a black-box fashion,i.e., avoiding the expense of tracking the program's execution flow. We present the design of the packet vaccine mechanism and an example of its application. We also describe our proof-of-concept implementation and the evaluation of our technique using real exploits. XiaoFeng Wang 0001, Zhuowei Li 0001, Jun Xu 0003, Michael K. Reiter, Chongkyung Kil, Jong Choi 0001 |
CCS | 3 |
| 2006 | Integrating IDS Alert Correlation and OS-Level Dependency Tracking
Yan Zhai, Peng Ning, Jun Xu 0003 |
ISI | 3 |
| 2006 | Mining Interface Specifications for Generating Checkable Robustness PropertiesabstractA software system interacts with its environment through interfaces. Improper handling of exceptional returns from system interfaces can cause robustness problems. Robustness of software systems are governed by various temporal properties related to interfaces. Static verification has been shown to be effective in checking these temporal properties. But manually specifying these properties is cumbersome and requires the knowledge of interface specifications, which are often either unavailable or undocumented. In this paper, we propose a novel framework to automatically infer system-specific interface specifications from program source code. We use a model checker to generate traces related to the interfaces. From these model checking traces, we infer interface specification details such as return value on success or failure. Based on these inferred specifications, we translate generically specified interface robustness rules to concrete robustness properties verifiable by static checking. Hence the generic rules can be specified at an abstract level that needs no knowledge of the source code, system, or interfaces. We implement our framework for an existing static analyzer that employs push down model checking and apply the analyzer to the well known POSIX-API system interfaces. We found 28 robustness violations in 10 open source packages using our framework Mithun Acharya, Tao Xie 0001, Jun Xu 0003 |
ISSRE | 3 |
| 2006 | Effective Generation of Interface Robustness Properties for Static AnalysisabstractA software system interacts with its environment through system interfaces. Robustness of software systems are governed by various temporal properties related to these interfaces, whose violation leads to system crashes and security compromises. These properties can be formally specified for system interfaces and statically verified against a software system. But manually specifying a large number of interface properties for static verification is often inaccurate or incomplete, apart from being cumbersome. In this paper, we propose a novel framework that effectively generates interface properties for static checking from a few generic, high level robustness rules that capture interface behavior. We implement our framework for an existing static analyzer with simple dataflow extensions and apply it on POSIX-API system interfaces used in 10 Redhat-9.0 open source packages. The results show that the framework can effectively generate a large number of useful interface properties from a few generically specified rules Mithun Acharya, Tanu Sharma, Jun Xu 0003, Tao Xie 0001 |
ASE | 3 |
| 2006 | Security Vulnerabilities: From Analysis to Detection and Masking TechniquesabstractThis paper presents a study that uses extensive analysis of real security vulnerabilities to drive the development of: 1) runtime techniques for detection/masking of security attacks and 2) formal source code analysis methods to enable identification and removal of potential security vulnerabilities. A finite-state machine (FSM) approach is employed to decompose programs into multiple elementary activities, making it possible to extract simple predicates to be ensured for security. The FSM analysis pinpoints common characteristics among a broad range of security vulnerabilities: predictable memory layout, unprotected control data, and pointer taintedness. We propose memory layout randomization and control data randomization to mask the vulnerabilities at runtime. We also propose a static analysis approach to detect potential security vulnerabilities using the notion of pointer taintedness. Shuo Chen 0001, Jun Xu 0003, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer |
Proc. IEEE | 2 |
| 2005 | Automatic diagnosis and response to memory corruption vulnerabilitiesabstractCyber attacks against networked computers have become relentless in recent years. The most common attack method is to exploit memory corruption vulnerabilities such as buffer overflow and format string bugs. This paper presents a technique to automatically identify both known and unknown memory corruption vulnerabilities. Based on the observation that a randomized program usually crashes upon a memory corruption attack, this technique uses the crash as a trigger to initiate an automatic diagnosis algorithm. The output of the diagnosis includes the instruction that is tricked to corrupt data, the call stack at the time of corruption, and the propagation history of corrupted data. These results provide useful information in fixing the vulnerabilities. Moreover, the diagnosis process also generates a signature of the attack using data/address values embedded in the malicious input message, and is used to block future attacks. Such a signature is further associated with the program execution state to reduce false positives without decreasing the detection rate. The proposed techniques enable the development of a decentralized self-diagnosing and self-protecting defense mechanism for networked computers. We report the implementation experience and experimental evaluation of a prototype system on Linux. Jun Xu 0003, Peng Ning, Chongkyung Kil, Yan Zhai, Christopher Bookholt |
CCS | 1 |
| 2005 | Defeating Memory Corruption Attacks via Pointer Taintedness DetectionabstractMost malicious attacks compromise system security through memory corruption exploits. Recently proposed techniques attempt to defeat these attacks by protecting program control data. We have constructed a new class of attacks that can compromise network applications without tampering with any control data. These non-control data attacks represent a new challenge to system security. In this paper, we propose an architectural technique to defeat both control data and non-control data attacks based on the notion of pointer taintedness. A pointer is said to be tainted if user input can be used as the pointer value. A security attack is detected whenever a tainted value is dereferenced during program execution. The proposed architecture is implemented on the SimpleScalar processor simulator and is evaluated using synthetic programs as well as real-world network applications. Our technique can effectively detect both control data and non-control data attacks, and it offers better security coverage than current methods. The proposed architecture is transparent to existing programs. Shuo Chen 0001, Jun Xu 0003, Nithin Nakka, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer |
DSN | 2 |
| 2005 | Non-Control-Data Attacks Are Realistic Threats
Shuo Chen 0001, Jun Xu 0003, Emre Can Sezer |
USENIX Security Symposium | 2 |
| 2004 | An Architectural Framework for Providing Reliability and Security SupportabstractThis paper explores hardware-implemented error-detection and security mechanisms embedded as modules in a hardware-level framework called the reliability and security engine (RSE), which is implemented as an integral part of a modern microprocessor. The RSE interacts with the processor through an input/output interface. The CHECK instruction, a special extension of the instruction set architecture of the processor, is the interface of the application with the RSE. The detection mechanisms described here in detail are: (I) the memory layout randomization (MLR) module, which randomizes the memory layout of a process in order to foil attackers who assume a fixed system layout, (2) the data dependency tracking (DDT) module, which tracks the dependencies among threads of a process and maintains checkpoints of shared memory pages in order to rollback the threads when an offending (potentially malicious) thread is terminated, and (3) the instruction checker module (ICM), which checks an instruction for its validity or the control-flow of the program just as the instruction enters the pipeline for execution. Performance simulations for the studied modules indicate low overhead of the proposed solutions. Nithin Nakka, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer, Jun Xu 0003 |
DSN | 4 |
| 2004 | Modeling and evaluating the security threats of transient errors in firewall software
Shuo Chen 0001, Jun Xu 0003, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer, Keith Whisnant |
Perform. Evaluation | 2 |
| 2003 | A Data-Driven Finite State Machine Model for Analyzing Security VulnerabilitiesabstractThis paper combines an analysis of data on security vulnerabilities (published in Bugtraq database) and a focused source-code examination to develop a finite state machine (FSM) model to depict and reason about security vulnerabilities. An in-depth analysis of the vulnerability reports and the corresponding source code of the applications leads to three observations: (i) exploits must pass through multiple elementary activities, (ii) multiple vulnerable operations on several objects are involved in exploiting a vulnerability, and (iii) the vulnerability data and corresponding code inspections allow us to derive a predicate for each elementary activity. Each predicate is represented as a primitive FSM (pFSM). Multiple pFSMs are then combined to create an FSM model of vulnerable operations and possible exploits. The proposed FSM methodology is exemplified by analyzing several types of vulnerabilities reported in the data: stack buffer overflow, integer overflow, heap overflow, input validation vulnerabilities, and format string vulnerabilities. For the studied vulnerabilities, we identify three types of pFSMs, which can be used to analyze operations involved in exploiting vulnerabilities and to identify the security checks to be performed at the elementary activity level. A demonstration of the practical usefulness of the FSM modeling approach was the discovery of a new heap overflow vulnerability now published in Bugtraq. Key words: security vulnerabilities, data analysis, finite state machine modeling. 1. Shuo Chen 0001, Zbigniew T. Kalbarczyk, Jun Xu 0003, Ravishankar K. Iyer |
DSN | 3 |
| 2003 | Transparent Runtime Randomization for SecurityabstractA large class of security attacks exploit software implementation vulnerabilities such as unchecked buffers. This paper proposes transparent runtime randomization (TRR), a generalized approach for protecting against a wide range of security attacks. TRR dynamically and randomly relocates a program's stack, heap, shared libraries, and parts of its runtime control data structures inside the application memory address space. Making a program's memory layout different each time it runs foils the attacker's assumptions about the memory layout of the vulnerable program and makes the determination of critical address values difficult if not impossible. TRR is implemented by changing the Linux dynamic program loader, hence it is transparent to applications. We demonstrate that TRR is effective in defeating real security attacks, including malloc-based heap overflow, integer overflow, and double-free attacks, for which effective prevention mechanisms are yet to emerge. Furthermore, TRR incurs less than 9% program startup overhead and no runtime overhead. Jun Xu 0003, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer |
SRDS | 1 |
| 2002 | Evaluating the Security Threat of Firewall Data Corruption Caused by Transient ErrorsabstractThis paper experimentally evaluates and models the error-caused security vulnerabilities and the resulting security violations of two Linux kernel firewalls: IPChains and Netfilter. There are two major aspects to this work: to conduct extensive error injection experiments on the Linux kernel and to quantify the possibility of error-caused security violations using a SAN (Stochastic Activity Network) model. The error injection experiments show that about 2% of errors injected into the firewall code segment cause security vulnerabilities. Two types of error-caused security vulnerabilities are distinguished: temporary, which disappear when the error disappears, and permanent, which persist even after the error is removed, as long as the system is not rebooted. Results from simulating the SAN model indicate that under an error rate of 0.1 error/day during a 1-year period in a networked system protected by 20 firewalls, 2 machines (on the average) will experience security violations. This indicates that error-caused security vulnerabilities can be a non-negligible source of a security threats to a highly secure system. Shuo Chen 0001, Jun Xu 0003, Ravishankar K. Iyer, Keith Whisnant |
DSN | 2 |
| 2001 | An Experimental Study of Security Vulnerabilities Caused by ErrorsabstractThe paper presents an experimental study which shows that, for the Intel x86 architecture, single-bit control flow errors in the authentication sections of targeted applications can result in significant security vulnerabilities. The experiment targets two well-known Internet server applications: FTP and SSH (secure shell), injecting single-bit control flow errors into user authentication sections of the applications. The injected sections constitute approximately 2-8% of the text segment of the target applications. The results show that out of all activated errors: (a) 1-2% comprised system security (create a permanent window of vulnerability); (b) 43-62% resulted in crash failures (about 8.5% of these errors create a transient window of vulnerability); and (c) 7-12% resulted in fail silence violations. A key reason for the measured security vulnerabilities is that, in the x86 architecture, conditional branch instructions are a minimum of one Hamming distance apart. The design and evaluation of a new encoding scheme that reduces or eliminates this problem is presented. Jun Xu 0003, Shuo Chen 0001, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer |
DSN | 1 |
| 2001 | Comparing Fail-Sailence Provided by Process Duplication versus Internal Error Detection for DHCP ServerabstractThis paper uses fault injection to compare the ability of two fault-tolerant software architectures to protect an application from faults. These two architectures are Voltan, which uses process duplication, and Chameleon ARMORs, which use self-checking. The target application is a Dynamic Host Configuration Protocol (DHCP) server, a widely used application for managing IP addresses. NFTAPE, a software-based fault injection environment, is used to inject three classes of faults, namely random memory bit-flip, control-flow and high-level target specific faults, into each software architecture and into baseline Solaris and Linux versions. David T. Stott, Neil A. Speirs, Zbigniew T. Kalbarczyk, Saurabh Bagchi, Jun Xu 0003, Ravishankar K. Iyer |
IPDPS | 5 |
| 1999 | Networked Windows NT System Field Failure Data AnalysisabstractThis paper presents a measurement-based dependability study of a Networked Windows NT system based on field data collected from NT System Logs from 503 servers running in a production environment over a four-month period. The event logs at hand contains only system reboot information. We study individual server failures and domain behavior in order to characterize failure behavior and explore error propagation between servers. The key observations from this study are: (1) system software and hardware failures are the two major contributors to the total system downtime (22% and 10%), (2) recovery from application software failures are usually quick, (3) in many cases, more than one reboots are required to recover from a failure, (4) the average availability of an individual server is over 99%, (5) there is a strong indication of error dependency or error propagation across the network, (6) most (58%) reboots are unclassified indicating the need for better logging techniques, (7) maintenance and configuration contribute to 24% of system downtime. Jun Xu 0003, Zbigniew T. Kalbarczyk, Ravishankar K. Iyer |
PRDC | 1 |