Demonstration venue · read-only. Every page can be browsed; the buttons that would change it are switched off. Create an account to run TaxoReview on your own data. A simulation from public publication records: the people listed were not invited and did not agree to review.
? Tutorial for this page

Jonathon T. Giffin

dblp:86/1475 · DBLP profile ↗
← Back
24ranked-venue papers
5as first author
0since 2021 · last 2012
—ORCID · none

Domains — the database's venue-derived domains; a paper can count in several

Security and privacy · 24 · 5 first-authorSystems, architecture and hardware · 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
12 papers
Systems and software security · 52% Malware analysis · 22% Network security · 22%
Software engineering, system software, and programming languages
6 papers
Program analysis · 61% Programming languages and type systems · 22% Debugging and program repair · 17%

Topics — the 20 heaviest of 22, each with the papers that count most for it

TopicWeightPapersLastEvidence papers
Network security › intrusion detection and prevention
intrusion detection
0.342011
Virtuoso: Narrowing the Semantic Gap in Virtual Machine Introspection · IEEE Symposium on Security and Privacy 2011
An Architecture for Generating Semantic Aware Signatures · USENIX Security Symposium 2005
Formalizing Sensitivity in Static Analysis for Intrusion Detection · S&P 2004
Systems and software security
binary analysis
0.112012
Static detection of C++ vtable escape vulnerabilities in binary code · NDSS 2012
Systems and software security
vulnerability discovery
0.112012
Static detection of C++ vtable escape vulnerabilities in binary code · NDSS 2012
Systems and software security › operating system security
kernel security
0.112011
Efficient Monitoring of Untrusted Kernel-Mode Execution · NDSS 2011
Systems and software security
operating system security
0.112011
Efficient Monitoring of Untrusted Kernel-Mode Execution · NDSS 2011
Systems and software security
semantic gap
0.112011
Virtuoso: Narrowing the Semantic Gap in Virtual Machine Introspection · IEEE Symposium on Security and Privacy 2011
Systems and software security › virtualization security
virtual machine introspection
0.112011
Virtuoso: Narrowing the Semantic Gap in Virtual Machine Introspection · IEEE Symposium on Security and Privacy 2011
Malware analysis › rootkit detection
kernel rootkit detection
0.112009
Robust signatures for kernel data structures · CCS 2009
Systems and software security › software protection
code obfuscation
0.112008
Impeding Malware Analysis Using Conditional Code Obfuscation · NDSS 2008
Malware analysis
evasion
0.112008
Impeding Malware Analysis Using Conditional Code Obfuscation · NDSS 2008
Data mining
anomaly detection
0.112005
An auctioning reputation system based on anomaly · CCS 2005
Network security › intrusion detection and prevention › intrusion detection
signature generation
0.112005
An Architecture for Generating Semantic Aware Signatures · USENIX Security Symposium 2005
Network security › intrusion detection and prevention › intrusion detection › intrusion detection system
host-based intrusion detection
0.012004
Formalizing Sensitivity in Static Analysis for Intrusion Detection · S&P 2004
Program analysis
static analysis
0.012004
Formalizing Sensitivity in Static Analysis for Intrusion Detection · S&P 2004
Programming languages and type systems › object-oriented programming
c++ object model
0.012012
Static detection of C++ vtable escape vulnerabilities in binary code · NDSS 2012
Program analysis
dynamic analysis
0.022009
Automatic Reverse Engineering of Malware Emulators · SP 2009
Efficient Context-Sensitive Intrusion Detection · NDSS 2004
Systems and software security › trusted computing
trusted execution
0.012011
Efficient Monitoring of Untrusted Kernel-Mode Execution · NDSS 2011
Debugging and program repair
automated program repair
0.012010
Automatic Generation of Remediation Procedures for Malware Infections · USENIX Security Symposium 2010
Digital forensics and information hiding › digital forensics
memory forensics
0.012009
Robust signatures for kernel data structures · CCS 2009
Program analysis › data flow analysis
dynamic data flow analysis
0.012009
Automatic Reverse Engineering of Malware Emulators · SP 2009

Methods — techniques the papers use, named apart from their topics

static analysis · 0.3dynamic trace analysis · 0.2planning · 0.2instruction trace analysis · 0.2dynamic taint analysis · 0.2virtualization-based monitoring · 0.1statistical modeling · 0.1fuzzing · 0.1dynamic analysis · 0.1pushdown automata determinization · 0.1runtime monitoring · 0.0
YearPublicationVenuePosition
2012 Efficient protection of kernel data structures via object partitioning
abstract
Commodity operating system kernels isolate applications via separate memory address spaces provided by virtual memory management hardware. However, kernel memory is unified and mixes core kernel code with driver components of different provenance. Kernel-level malicious software exploits this lack of isolation between the kernel and its modules by illicitly modifying security-critical kernel data structures. In this paper, we design an access control policy and enforcement system that prevents kernel components with low trust from altering security-critical data used by the kernel to manage its own execution. Our policies are at the granularity of kernel variables and structure elements, and they can protect data structures dynamically allocated at runtime. Our hypervisor-based design uses memory page protection bits as part of its policy enforcement. The granularity difference between page-level protection and variable-level policies challenges the system's ability to remain performant. We develop kernel data-layout partitioning and reorganization techniques to maintain kernel performance in the presence of our protections. We show that our system can prevent malicious modifications to security-critical kernel data with small overhead. By offering protection for critical kernel data structures, we can detect unknown kernel-level malware and guarantee that security utilities relying on the integrity of kernel-level state remain accurate.
Abhinav Srivastava, Jonathon T. Giffin
ACSAC2
2012 Static detection of C++ vtable escape vulnerabilities in binary code
David Dewey, Jonathon T. Giffin
NDSS2
2012 Trusted VM Snapshots in Untrusted Cloud Infrastructures
Abhinav Srivastava, Himanshu Raj, Jonathon T. Giffin, Paul England
RAID3
2011 Automated remote repair for mobile malware
abstract
Mobile application markets currently serve as the main line of defense against malicious applications. While marketplace revocations have successfully removed the few overtly malicious applications installed on mobile devices, the anticipated coming flood of mobile malware mandates the need for mechanisms that can respond faster than manual intervention. In this paper, we propose an infrastructure that automatically identifies and responds to malicious mobile applications based on their network behavior. We design and implement a prototype, Airmid, that uses cooperation between in-network sensors and smart devices to identify the provenance of malicious traffic. We then develop sample malicious mobile applications exceeding the capabilities of malware recently discovered in the wild, demonstrate the ease with which they can evade current detection techniques, and then use Airmid to show a range of automated recovery responses ranging from on-device firewalling to application removal.
Yacin Nadji, Jonathon T. Giffin, Patrick Traynor
ACSAC2
2011 Operating System Interface Obfuscation and the Revealing of Hidden Operations
Abhinav Srivastava, Andrea Lanzi, Jonathon T. Giffin, Davide Balzarotti
DIMVA3
2011 Efficient Monitoring of Untrusted Kernel-Mode Execution
Abhinav Srivastava, Jonathon T. Giffin
NDSS2
2011 Virtuoso: Narrowing the Semantic Gap in Virtual Machine Introspection
abstract
Introspection has featured prominently in many recent security solutions, such as virtual machine-based intrusion detection, forensic memory analysis, and low-artifact malware analysis. Widespread adoption of these approaches, however, has been hampered by the semantic gap: in order to extract meaningful information about the current state of a virtual machine, detailed knowledge of the guest operating system's inner workings is required. In this paper, we present a novel approach for automatically creating introspection tools for security applications with minimal human effort. By analyzing dynamic traces of small, in-guest programs that compute the desired introspection information, we can produce new programs that retrieve the same information from outside the guest virtual machine. We demonstrate the efficacy of our techniques by automatically generating 17 programs that retrieve security information across 3 different operating systems, and show that their functionality is unaffected by the compromise of the guest system. Our technique allows introspection tools to be effortlessly generated for multiple platforms, and enables the development of rich introspection-based security applications.
Brendan Dolan-Gavitt, Tim Leek, Michael Zhivich, Jonathon T. Giffin, Wenke Lee
IEEE Symposium on Security and Privacy4
2010 Automatic Discovery of Parasitic Malware
Abhinav Srivastava, Jonathon T. Giffin
RAID2
2010 Automatic Generation of Remediation Procedures for Malware Infections
Roberto Paleari, Lorenzo Martignoni, Emanuele Passerini, Drew Davidson, Matt Fredrikson, Jonathon T. Giffin, Somesh Jha
USENIX Security Symposium6
2009 Robust signatures for kernel data structures
abstract
Kernel-mode rootkits hide objects such as processes and threads using a technique known as Direct Kernel Object Manipulation (DKOM). Many forensic analysis tools attempt to detect these hidden objects by scanning kernel memory with handmade signatures; however, such signatures are brittle and rely on non-essential features of these data structures, making them easy to evade. In this paper, we present an automated mechanism for generating signatures for kernel data structures and show that these signatures are robust: attempts to evade the signature by modifying the structure contents will cause the OS to consider the object invalid. Using dynamic analysis, we profile the target data structure to determine commonly used fields, and we then fuzz those fields to determine which are essential to the correct operation of the OS. These fields form the basis of a signature for the data structure. In our experiments, our new signature matched the accuracy of existing scanners for traditional malware and found processes hidden with our prototype rootkit that all current signatures missed. Our techniques significantly increase the difficulty of hiding objects from signature scanning.
Brendan Dolan-Gavitt, Abhinav Srivastava, Patrick Traynor, Jonathon T. Giffin
CCS4
2009 Automatic Reverse Engineering of Malware Emulators
abstract
Malware authors have recently begun using emulation technology to obfuscate their code. They convert native malware binaries into bytecode programs written in a randomly generated instruction set and paired with a native binary emulator that interprets the bytecode. No existing malware analysis can reliably reverse this obfuscation technique. In this paper, we present the first work in automatic reverse engineering of malware emulators. Our algorithms are based on dynamic analysis. We execute the emulated malware in a protected environment and record the entire x86 instruction trace generated by the emulator. We then use dynamic data-flow and taint analysis over the trace to identify data buffers containing the bytecode program and extract the syntactic and semantic information about the bytecode instruction set. With these analysis outputs, we are able to generate data structures, such as control-flow graphs, that provide the foundation for subsequent malware analysis. We implemented a proof-of-concept system called Rotalume and evaluated it using both legitimate programs and malware emulated by VMProtect and code virtualizer. The results show that Rotalume accurately reveals the syntax and semantics of emulated instruction sets and reconstructs execution paths of original programs from their bytecode representations.
Monirul Islam Sharif, Andrea Lanzi, Jonathon T. Giffin, Wenke Lee
SP3
2008 Evaluating email's feasibility for botnet command and control
abstract
The usefulness of email has been tempered by its role in the widespread distribution of spam and malicious content. Security solutions have focused on filtering out malicious payloads and weblinks from email; the potential dangers of email go past these boundaries: harmless-looking emails can carry dangerous, hidden botnet content. In this paper, we evaluate the suitability of email communication for botnet command and control. What makes email-based botnets interesting is the lack of clear detection and mitigation strategies that defenders could use to disrupt the botnet. We first demonstrate that botnet commands can remain hidden in spam due to its enormous volume. If email providers deploy specialized detection of spam-based botnets, botmasters can alternatively communicate with bots via non-spam email that cannot be safely discarded. We show the viability of such communication by means of simulations and a prototype, and we discuss the limited prospects for detection of email botnets.
Kapil Singh, Abhinav Srivastava, Jonathon T. Giffin, Wenke Lee
DSN3
2008 Impeding Malware Analysis Using Conditional Code Obfuscation
Monirul Islam Sharif, Andrea Lanzi, Jonathon T. Giffin, Wenke Lee
NDSS3
2008 Tamper-Resistant, Application-Aware Blocking of Malicious Network Connections
Abhinav Srivastava, Jonathon T. Giffin
RAID2
2008 System Call API Obfuscation (Extended Abstract)
Abhinav Srivastava, Andrea Lanzi, Jonathon T. Giffin
RAID3
2007 Understanding Precision in Host Based Intrusion Detection
Monirul Islam Sharif, Kapil Singh, Jonathon T. Giffin, Wenke Lee
RAID3
2006 Automated Discovery of Mimicry Attacks
Jonathon T. Giffin, Somesh Jha, Barton P. Miller
RAID1
2005 Strengthening Software Self-Checksumming via Self-Modifying Code
abstract
Recent research has proposed self-checksumming as a method by which a program can detect any possibly malicious modification to its code. Wurster et al. developed an attack against such programs that renders code modifications undetectable to any self-checksumming routine. The attack replicated pages of program text and altered values in hardware data structures so that data reads and instruction fetches retrieved values from different memory pages. A cornerstone of their attack was its applicability to a variety of commodity hardware: they could alter memory accesses using only a malicious operating system. In this paper, we show that their page-replication attack can be detected by self-checksumming programs with self-modifying code. Our detection is efficient, adding less than 1 microsecond to each checksum computation in our experiments on three processor families, and is robust up to attacks using either costly interpretive emulation or specialized hardware
Jonathon T. Giffin, Mihai Christodorescu, Louis Kruger
ACSAC1
2005 An auctioning reputation system based on anomaly
abstract
Existing reputation systems used by online auction houses do not address the concern of a buyer shopping for commodities - finding a good bargain. These systems do not provide information on the practices adopted by sellers to ensure profitable auctions. These practices may be legitimate, like imposing a minimum starting bid on an auction, or fraudulent, like using colluding bidders to inflate the final price in a practice known as shilling.We develop a reputation system to help buyers identify sellers whose auctions seem price-inflated. Our reputation system is based upon models that characterize sellers according to statistical metrics related to price inflation. We combine the statistical models with anomaly detection techniques to identify the set of suspicious sellers. The output of our reputation system is a set of values for each seller representing the confidence with which the system can say that the auctions of the seller are price-inflated.We evaluate our reputation system on 604 high-volume sellers who posted 37,525 auctions on eBay. Our system automatically pinpoints sellers whose auctions contain potential shill bidders. When we manually analyze these sellers' auctions, we find that many winning bids are at about the items' market values, thus undercutting a buyer's ability to find a bargain and demonstrating the effectiveness of our reputation system.
Shai Rubin, Mihai Christodorescu, Vinod Ganapathy, Jonathon T. Giffin, Louis Kruger, Nicholas Kidd
CCS4
2005 Environment-Sensitive Intrusion Detection
Jonathon T. Giffin, David Dagon, Somesh Jha, Wenke Lee, Barton P. Miller
RAID1
2005 An Architecture for Generating Semantic Aware Signatures
Vinod Yegneswaran, Jonathon T. Giffin, Paul Barford, Somesh Jha
USENIX Security Symposium2
2004 Efficient Context-Sensitive Intrusion Detection
Jonathon T. Giffin, Somesh Jha, Barton P. Miller
NDSS1
2004 Formalizing Sensitivity in Static Analysis for Intrusion Detection
abstract
A key function of a host-based intrusion detection system is to monitor program execution. Models constructed using static analysis have the highly desirable feature that they do not produce false alarms; however, they may still miss attacks. Prior work has shown a trade-off between efficiency and precision. In particular, the more accurate models based upon pushdown automata (PDA) are very inefficient to operate due to non-determinism in stack activity. In this paper, we present techniques for determinizing PDA models. We first provide a formal analysis framework of PDA models and introduce the concepts of determinism and stack-determinism. We then present the VP-Static model, which achieves determinism by extracting information about stack activity of the program, and the Dyck model, which achieves stack-determinism by transforming the program and inserting code to expose program state. Our results show that in run-time monitoring, our models slow execution of our test programs by 1% to 135%. This shows that reasonable efficiency needs not be sacrificed for model precision. We also compare the two models and discover that deterministic PDA are more efficient, although stack-deterministic PDA require less memory.
Henry Hanping Feng, Jonathon T. Giffin, Somesh Jha, Wenke Lee, Barton P. Miller
S&P2
2002 Detecting Manipulated Remote Call Streams
Jonathon T. Giffin, Somesh Jha, Barton P. Miller
USENIX Security Symposium1