Finding Security Vulnerabilities in Java Applications with Static Analysis
By Benjamin Livshits, Monica S. Lam. USENIX Security Symposium, 2005
779 citations recorded by the source corpus.
View Paper: https://www.semanticscholar.org/paper/3b6c4ca09a1a48af7684ede1398b51b5be0f7581
How researchers see this paper
The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.
- Konrad Rieck
- Nicholas Carlini
- Li Li
- Siegfried Rasthofer
- Patrick Drew McDaniel
- Christopher Krügel
- Damien Octeau
- Battista Biggio
Citations in the corpus
- Modeling and Discovering Vulnerabilities with Code Property Graphs (2014, background): “For example, Livshits and Lam [24] construct static checkers from high-level program descriptions formulated in the query language PQL.”
- PiOS: Detecting Privacy Leaks in iOS Applications (2011, background): “Livshits and Lam [16], for example, use static taint analysis for Java byte-code to identify vulnerabilities that result from incomplete input validation (e.”
- Information Flow Analysis of Android Applications in DroidSafe (2015, background): “Livshits and Lam [41] present an approach for taint analysis of Java EE applications that is demand-driven, uses call-site context sensitivity, and shallow object sensitivity via inlining.”
- The essence of command injection attacks in web applications (2006, methodology): “In pa rticular, there are two recent techniques using static analysis to tra ck he flow of untrusted input through a program: one based on a type system [15] (similar to CQual [10]) and one based on a pointsto analysis [24] (using a precise points-to analysis for Jav a [43] and policies specified in”
- Taint-Enhanced Policy Enforcement: A Practical Approach to Defeat a Wide Range of Attacks (2006, background): “Static taint analysis techniques have been proposed by many for finding security vulnerabilities, including input validation errors in web applications [17, 14, 32], user/kernel pointer bugs [15], format string bugs [26], and bugs in placement of authorization hooks [34].”
- CHEX: statically vetting Android apps for component hijacking vulnerabilities (2012, background): “designed a datalog language to describe the security policies that direct vulnerability detection [28].”
- AMNESIA: analysis and monitoring for NEutralizing SQL-injection attacks (2005, methodology): “Recent work by Livshits and Lam [15] uses static analysis techniques to detect vulnerabilities that have been described using the PQL language [17].”
- Edge Computing Security: State of the Art and Challenges (2019, background): “The second mechanism was designed by Livshits and Lam [112], which is specific to Java programs, while SQL injections can happen in other back-end languages such as PHP and C#.”
- Automatic creation of SQL Injection and cross-site scripting attacks (2009, background): “Static approaches can, in principle, prove the absence of vulnerabilities [12, 19, 28, 29, 31].”
- Analyzing inter-application communication in Android (2011, methodology): “Static analysis has commonly been used for bug finding [8, 21, 27].”
- Static analysis of android apps: A systematic literature review (2017, background): “[174, 175] also stated that both context-sensitivity and path-sensitivity are necessary to achieve a low false positive rate (i.”
- Saner: Composing Static and Dynamic Analysis to Validate Sanitization in Web Applications (2008, background): “For example, an application might check that the number of items to purchase, sent as part of a form submission, is actually provided as an integer value and not as a nonnumeric string or a float.”
- A Study of Android Application Security (2011, background): “Livshits and Lam [28] focus on Java-based Web applications.”
- CryptDB: protecting confidentiality with encrypted query processing (2011, background): “Many tools help programmers either find or mitigate mistakes in their code that may lead to vulnerabilities, including static analysis tools like PQL [29, 31] and UrFlow [7], and runtime tools like Resin [52] and CLAMP [36].”