Open AccessProceedings Article
Finding security vulnerabilities in java applications with static analysis
V. Benjamin Livshits,Monica S. Lam +1 more
- pp 18-18
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
Citations
More filters
Journal ArticleDOI
Static generation of UML sequence diagrams
TL;DR: This work presents a framework for static generation of UML sequence diagrams from object-oriented source code, and provides a query refinement system to guide the user to interesting interactions in the source code.
Proceedings ArticleDOI
Is Popularity an Indicator of Software Security
TL;DR: The preliminary results of the analysis suggest that popularity may not constitute a reliable indicator of the security level of software products, and this is the first study that examines the relationship between the popularity ofSoftware products and their security level.
Proceedings ArticleDOI
D-Goldilocks: Automatic Redistribution of Remote Functionalities for Performance and Efficiency
Kijin An,Eli Tilevich +1 more
TL;DR: The approach insources a remote functionality for local execution, splits it into separate functions to profile their performance, and determines the optimal redistribution based on a cost function, and results indicate that it can become a useful tool for software developers charged with the challenges of re-architecting distributed applications.
Book ChapterDOI
Combining Static Code Analysis and Machine Learning for Automatic Detection of Security Vulnerabilities in Mobile Apps
TL;DR: This chapter proposes Phoenix, a novel solution that combines static analysis with machine learning to identify programs exhibiting suspicious operations, widely applied to mobile applications obtaining impressive results.
Proceedings ArticleDOI
Probe the Proto: Measuring Client-Side Prototype Pollution Vulnerabilities of One Million Real-world Websites
Zifeng Kang,Song Li,Yinzhi Cao +2 more
TL;DR: This paper proposes the first large- scale measurement study of client-side prototype pollution among one million real-world websites and answers the questions of whether a prototypical object is controllable, whether and what properties can be manipulated, and whether the injected value leads to further consequences.
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
Crispin Cowan,Calton Pu,Dave Maier,Heather Hintony,Jonathan Walpole,Peat Bakke,Steve Beattie,Aaron Grier,Perry Wagle,Qian Zhang +9 more
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.