five

AndroLibZoo

收藏
arXiv2024-02-09 更新2024-06-21 收录
下载链接:
https://github.com/JordanSamhi/AndroLibZoo, https://zenodo.org/records/10072709
下载链接
链接失效反馈
官方服务:
资源简介:
AndroLibZoo是由亥姆霍兹信息安全中心和卢森堡大学合作创建的数据集,包含34,813个第三方库,用于支持Android应用的静态分析。该数据集通过软件依赖分析自动构建,确保了库列表的准确性和时效性。AndroLibZoo主要用于区分开发者代码与库代码,提高静态分析的效率和准确性,特别适用于检测隐私泄露和恶意代码。数据集的创建过程涉及从Maven和Google库仓库提取库信息,并通过开源Android项目进一步丰富数据。

AndroLibZoo is a dataset jointly created by the Helmholtz Center for Information Security and the University of Luxembourg, which includes 34,813 third-party libraries for supporting static analysis of Android applications. This dataset is automatically constructed through software dependency analysis, ensuring the accuracy and timeliness of the library list. AndroLibZoo is primarily used to distinguish developer code from library code, improving the efficiency and accuracy of static analysis, and is particularly suitable for detecting privacy leaks and malicious code. The dataset creation process involves extracting library information from Maven and Google repositories, and further enriching the data via open-source Android projects.
提供机构:
亥姆霍兹信息安全中心
创建时间:
2023-07-24
搜集汇总
数据集介绍
main_image_url
构建方式
在Android应用静态分析领域,准确区分开发者代码与第三方库代码是提升分析效率与精度的关键。AndroLibZoo数据集的构建基于软件依赖分析,其方法首先从Maven中央仓库和Google的Android库仓库中提取包名,通过解析索引文件与依赖树,系统性地收集了69,535个初始库条目。进一步地,研究团队利用Maven工具提取了这些库的传递依赖,通过生成虚拟项目文件并执行依赖树构建命令,成功识别出15,089个附加库,确保了数据集的全面性。此外,通过挖掘开源Android项目的构建配置文件(如build.gradle),以及爬取gradlePluginPortal等仓库,数据集进一步扩充了6,978个库。最终,经过精炼处理,移除了包名中的冗余层级,形成了包含34,813个唯一包名的最终版本,这一过程体现了自动化与系统化的设计理念。
特点
AndroLibZoo数据集的核心特点在于其高可靠性与动态演化能力。该数据集通过依赖分析构建,确保了所有条目均为真实的第三方库,避免了传统白名单中常见的高误报率问题。数据集中包含34,813个包名,覆盖了广泛的库类别,其中以“com”为根域的库占主导,反映了Android生态中商业库的普遍性。同时,数据集结构清晰,包名字段分布呈现标准化趋势,多数包名包含两到三个字段,符合常见的命名规范。值得注意的是,数据集不仅收录了主流库,还通过传递依赖和开源项目挖掘,纳入了大量边缘或专用库,增强了其代表性。此外,数据集设计为可扩展,能够随着新库的发布而持续更新,为静态分析工具提供了长期支持。
使用方法
AndroLibZoo数据集主要用于支持Android应用静态分析中的库代码识别。研究人员或工具开发者可通过数据集提供的包名列表,在分析应用时快速过滤出第三方库代码,从而集中资源于开发者代码的安全检测。具体使用中,可将数据集的包名作为白名单,与目标应用的类名进行前缀匹配,以区分库与开发者代码。这一方法有助于提升分析工具的可扩展性,减少因库代码多态性导致的过近似问题。此外,数据集可用于评估现有库检测技术的性能,通过对比覆盖范围与精度,推动相关研究的进展。数据集以开源形式发布,用户可直接从GitHub或Zenodo平台获取,并集成到自定义分析管道中,实现自动化库识别流程。
背景与挑战
背景概述
在Android应用安全分析领域,静态分析技术因其无需执行代码即可检测潜在安全问题的特性而备受青睐。然而,随着开发者广泛复用第三方库代码,分析工具在区分应用自身代码与库代码时面临严峻挑战,这直接影响了分析的准确性与可扩展性。为此,卢森堡大学与CISPA信息安全中心的研究团队于2023年推出了AndroLibZoo数据集,旨在通过自动化依赖分析构建一个可靠、全面且持续更新的第三方库白名单。该数据集初始版本收录了34,813个库包名,其核心研究问题聚焦于解决静态分析中库代码识别的不完整性、过时性以及高误报率等痛点,为提升恶意代码检测、隐私泄露分析等安全研究的效能提供了关键基础设施。
当前挑战
AndroLibZoo数据集致力于应对Android应用静态分析中库代码识别的根本性挑战:现有白名单方法往往依赖人工整理或启发式规则,导致库覆盖范围狭窄、更新滞后且包含大量误报,严重制约了分析工具的精度与效率。在构建过程中,研究团队面临多重技术难题:首先,需从海量且动态变化的Maven、Google等代码仓库中自动化提取库包名及其传递依赖,涉及超千万库版本的处理与去重,计算复杂度极高;其次,从开源Android项目中挖掘库使用信息时,需克服项目代码库异构、构建配置解析以及非标准仓库集成等障碍;最后,数据集需通过精细化过滤机制消除冗余包名,确保白名单的简洁性与实用性,同时需兼顾未来库生态演变带来的持续更新需求。
常用场景
经典使用场景
在Android应用安全分析领域,静态分析工具常面临代码库与开发者代码混杂的挑战,导致分析效率低下且精度不足。AndroLibZoo数据集通过自动化构建第三方库白名单,为静态分析提供了精准的库代码过滤基础。其经典使用场景在于辅助分析工具如FlowDroid或DroidAPIMiner,在检测隐私泄露或恶意代码时,有效区分库代码与开发者代码,从而提升分析的可扩展性与准确性。该数据集基于软件依赖挖掘,涵盖34,813个库包名,确保了内容的时效性与可靠性。
衍生相关工作
基于AndroLibZoo,学术界衍生了一系列聚焦于库检测优化与安全增强的研究工作。例如,部分研究对比了该数据集与Li等人或Ma等人提出的方法,验证了其在覆盖范围与精度上的优势。此外,有工作探索将AndroLibZoo应用于混淆代码下的库识别挑战,推动了如ORLIS等抗混淆检测工具的发展。这些衍生研究不仅扩展了数据集的应用边界,还促进了Android静态分析技术在恶意软件检测、隐私合规验证等方向的创新。
数据集最近研究
最新研究方向
在Android应用安全分析领域,AndroLibZoo数据集的推出为第三方库识别研究注入了新的活力。该数据集通过挖掘软件依赖关系,构建了包含34,813个库的精确白名单,有效解决了静态分析中库代码与开发者代码的区分难题。当前研究前沿聚焦于利用该数据集提升恶意软件检测的准确性与可扩展性,例如通过过滤库代码减少分析噪声,从而增强隐私泄露和逻辑炸弹等安全问题的识别能力。同时,热点事件如移动应用生态中库的快速迭代与混淆技术的普及,进一步凸显了AndroLibZoo在支持动态更新和抗混淆分析方面的重要意义。该数据集不仅推动了自动化工具的性能优化,还为跨版本库依赖研究提供了可靠基础,深刻影响了Android安全社区的实践方向。
相关研究论文
  • 1
    AndroLibZoo: A Reliable Dataset of Libraries Based on Software Dependency Analysis亥姆霍兹信息安全中心 · 2024年
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作