scispace - formally typeset
Open AccessProceedings Article

Finding security vulnerabilities in java applications with static analysis

Reads0
Chats0
TLDR
This paper proposes a static analysis technique for detecting many recently discovered application vulnerabilities such as SQL injections, cross-site scripting, and HTTP splitting attacks based on a scalable and precise points-to analysis.
Abstract
This paper proposes a static analysis technique for detecting many recently discovered application vulnerabilities such as SQL injections, cross-site scripting, and HTTP splitting attacks. These vulnerabilities stem from unchecked input, which is widely recognized as the most common source of security vulnerabilities in Web applications. We propose a static analysis approach based on a scalable and precise points-to analysis. In our system, user-provided specifications of vulnerabilities are automatically translated into static analyzers. Our approach finds all vulnerabilities matching a specification in the statically analyzed code. Results of our static analysis are presented to the user for assessment in an auditing interface integrated within Eclipse, a popular Java development environment. Our static analysis found 29 security vulnerabilities in nine large, popular open-source applications, with two of the vulnerabilities residing in widely-used Java libraries. In fact, all but one application in our benchmark suite had at least one vulnerability. Context sensitivity, combined with improved object naming, proved instrumental in keeping the number of false positives low. Our approach yielded very few false positives in our experiments: in fact, only one of our benchmarks suffered from false alarms.

read more

Content maybe subject to copyright    Report

Citations
More filters

Detecting SQL Injection Attacks Using Syntax Analysis of Dynamically Generated Queries

TL;DR: This paper presents a query intent evaluation technique to detect possible SQL Injection attacks by tracing the queries in which the input substrings modify the syntactic structure of the rest of the query.
Proceedings ArticleDOI

Research of Code Detection Theory Based on Dynamic Taint Analysis

Caiyun Xie, +1 more
TL;DR: The status of dynamic analysis techniques mainly from different aspects of information flow, fuzzy test, vulnerability detection and types are described, and the advantages and disadvantages of each method and the improved method are compared.
Proceedings ArticleDOI

MirrorTaint: Practical Non-intrusive Dynamic Taint Tracking for JVM-based Microservice Systems

TL;DR: MirrorTaint as mentioned in this paper constructs a set of data structures with their respective policies for labeling/propagating taints in its mirrored space, and during program execution, MirrorTaint replicates the stack-based JVM instruction execution on the mirrored space on-the-fly for dynamic taint tracking.
Proceedings ArticleDOI

Hybrid Taint Flow Analysis in Scala

TL;DR: This paper proposes TainTagger, as an innovative approach that integrates static and dynamic analysis to diagnose vulnerabilities and zero-day attacks in Scala applications and proves the advantage of the approach in comparison with related work.
Proceedings ArticleDOI

BCFA: Bespoke Control Flow Analysis for CFA at Scale

TL;DR: It is argued that a single traversal strategy does not fit all kinds of analyses and CFGs and a bespoke control flow analysis (BCFA) is proposed and proposed, which extracts a set of properties of the CFA by analyzing the code of theCFA and combines it with property of the CFG for selecting the optimal traversal Strategy.
References
More filters
Book

Principles of database and knowledge-base systems

TL;DR: This book goes into the details of database conception and use, it tells you everything on relational databases from theory to the actual used algorithms.
Proceedings Article

StackGuard: automatic adaptive detection and prevention of buffer-overflow attacks

TL;DR: StackGuard is described: a simple compiler technique that virtually eliminates buffer overflow vulnerabilities with only modest performance penalties, and a set of variations on the technique that trade-off between penetration resistance and performance.
Proceedings ArticleDOI

JFlow: practical mostly-static information flow control

TL;DR: The new language JFlow is described, an extension to the Java language that adds statically-checked information flow annotations and provides several new features that make information flow checking more flexible and convenient than in previous models.
Proceedings ArticleDOI

Points-to analysis in almost linear time

TL;DR: This is the asymptotically fastest non-trivial interprocedural points-to analysis algorithm yet described and is based on a non-standard type system for describing a universally valid storage shape graph for a program in linear space.
Related Papers (5)