Proceedings of the 43rd Annual ACM SIGPLAN-SIGACT Symposium on Principles of Programming Languages 2016
DOI: 10.1145/2837614.2837661
|View full text |Cite
|
Sign up to set email alerts
|

Combining static analysis with probabilistic models to enable market-scale Android inter-component analysis

Abstract: Static analysis has been successfully used in many areas, from verifying mission-critical software to malware detection. Unfortunately, static analysis often produces false positives, which require significant manual effort to resolve. In this paper, we show how to overlay a probabilistic model, trained using domain knowledge, on top of static analysis results, in order to triage static analysis results. We apply this idea to analyzing mobile applications. Android application components can communicate with ea… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
46
0

Year Published

2016
2016
2020
2020

Publication Types

Select...
5
3
2

Relationship

4
6

Authors

Journals

citations
Cited by 75 publications
(46 citation statements)
references
References 41 publications
0
46
0
Order By: Relevance
“…There are even a number of well know tools such as Soot [23] and dex2jar which allow the translation of Android app bytecode into Java. c) Java reflection, as already pointed out in several works, remains challenging for static analysis [24], [25]. All data in this study on the adoption of inacessible APIs by market apps are extracted from the detection of reflective calls using constant string analysis.…”
Section: What All This Meansmentioning
confidence: 99%
“…There are even a number of well know tools such as Soot [23] and dex2jar which allow the translation of Android app bytecode into Java. c) Java reflection, as already pointed out in several works, remains challenging for static analysis [24], [25]. All data in this study on the adoption of inacessible APIs by market apps are extracted from the detection of reflective calls using constant string analysis.…”
Section: What All This Meansmentioning
confidence: 99%
“…Besides, the conservative setting, where a string is represented by a regular expression ("*") if COAL cannot statically infer its value, which could be taken as everything and thus may also introduce false positives. Applying a probabilistic model could potentially mitigate this threat [37]. Another threat is related to Dynamic Class Loading.…”
Section: Threats To Validitymentioning
confidence: 99%
“…Then, an ICC method startActivity is called, which switches the current execution from Activity1 to Activity2. Finally, in Activity2, the device id is retrieved and is eventually sent out of the device through sendTextMessage (lines [15][16][17] This privacy leak cannot be detected by intra-component analyzers such as FlowDroid [10], because the switching between Activity1 and Activity2 is unfortunately decided only by the system and it is non-trivial to obtain it directly at the code level [11], [12]. Therefore, in this work we present IccTA, a code instrumentation based approach, which modifies the code to be analyzed in a way that inter-component feature is mitigated.…”
Section: A Code Analysismentioning
confidence: 99%