Java programming language has been long used to develop native Android mobile applications. In the last few years many companies and freelancers have switched into using Kotlin partially or entirely. As such, many projects are released as binaries and employ a mix of Java and Kotlin language constructs. Yet, the true security and privacy implications of this shift have not been thoroughly studied. In this work, a state-of-the-art tool, KotlinDetector, is developed to directly extract any Kotlin presence, percentages, and numerous language features from Android Application Packages (APKs) by performing heuristic pattern scanning and invocation tracing. Our evaluation study shows that the tool is considerably efficient and accurate. We further provide a use case in which the output of the KotlinDetector is combined with the output of an existing vulnerability scanner tool called AndroBugs to infer any security and/or privacy implications.
翻译:Java编程语言被长期用于开发本地的Android移动应用程序。 在过去几年里,许多公司和自由职业者部分或完全转向使用Kotlin。 因此,许多项目以二进制形式发布,并采用Java和Kotlin语言的混合构思。然而,这一转换的真正安全和隐私影响还没有得到彻底研究。在这项工作中,开发了一个最先进的工具Kotlin探测器,通过进行超常模式扫描和引用追踪,从Android应用程序包(APKs)中直接提取任何Kotlin的存在、百分比和多种语言特征。我们的评估研究表明,该工具相当高效和准确。我们还提供了一种使用案例,即Kotlin探测器的输出与一个称为Andrbugs的现有脆弱性扫描仪工具的输出相结合,以推断任何安全和/或隐私影响。