2019 IEEE European Symposium on Security and Privacy (EuroS&P) 2019
DOI: 10.1109/eurosp.2019.00012
|View full text |Cite
|
Sign up to set email alerts
|

Up-To-Crash: Evaluating Third-Party Library Updatability on Android

Abstract: Buggy and flawed third-party libraries increase their host app's attack surface and put the users' privacy at risk. To avert this risk, libraries have to be kept updated to their newest versions by the app developers that integrate them into their projects. Recent researches revealed that the prevalence of outdated third-party libraries in Android apps is indeed a rampant problem, but also suggested that there is a great opportunity for drop-in replacements of outdated libraries, which would not even require c… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1

Citation Types

0
12
0

Year Published

2020
2020
2024
2024

Publication Types

Select...
5
3

Relationship

1
7

Authors

Journals

citations
Cited by 18 publications
(12 citation statements)
references
References 25 publications
0
12
0
Order By: Relevance
“…A user of a library can fix all vulnerabilities by accessing and modifying the code base of dependencies, but developers tend to avoid it [7]. Equally, 'simply updating' ain't so simple [8]. ment tools such as Apache Ivy 5 and Apache Maven 6 :…”
Section: Terminologymentioning
confidence: 99%
See 1 more Smart Citation
“…A user of a library can fix all vulnerabilities by accessing and modifying the code base of dependencies, but developers tend to avoid it [7]. Equally, 'simply updating' ain't so simple [8]. ment tools such as Apache Ivy 5 and Apache Maven 6 :…”
Section: Terminologymentioning
confidence: 99%
“…• A dependency is direct if it is directly invoked from the dependent library instance. • A dependency tree 8 is a representation of a software library instance and its dependencies where each node is a library instance and edges connect dependent library instances to their direct dependencies. • A transitive dependency is connected to the root library instance of a dependency tree through a path with more than one edge.…”
Section: Terminologymentioning
confidence: 99%
“…Developers are wary of updating their dependencies if they work as intended. A follow up quantitative study [20] found that the most likely reason that stops developers from updating dependencies are breaking changes due to deprecated functions, changed data structures, or entangled dependencies between different libraries and even the host app. Limited insights are provided on the developers' motivations for performing an update of each kind (functionality or security).…”
Section: Dependency Management and Mitigation Of Dependency Issuesmentioning
confidence: 99%
“…On the Android ecosystem, mobile app developers do not consider security as a top-priority task [11]. A later study by the same group [20] explained the reason behind it as a major clash with functionality: the 'easy' updates would actually break around 50% of dependent projects.…”
mentioning
confidence: 99%
“…While during our evaluation, we did not consider transitive dependencies, we also have seen that the problems of transitive dependency with regards to library updatability is a corner case, e.g., only 2 instances of the false positives. Also existing research [28] on the updatability of third-party libraries shows that only 1.7% of the library API could be affected by this problem (referred to as entangled dependencies). Still we see a potential threat to the security of Android apps due to transitive dependencies.…”
Section: Transitive Dependencies and App Securitymentioning
confidence: 99%