Automatically Securing Permission-Based Software by Reducing the Attack Surface: An Application to Android
一个常见的安全架构,称为基于权限的安全模型(例如在Android和黑莓中使用),会带来内在风险。例如,应用程序可以被授予比实际需要更多的权限,我们称之为“权限间隙”。恶意软件可以利用未使用的权限来实现其恶意目标,例如使用代码注入。在本文中,我们提出了一种方法来检测使用静态分析的权限差距。我们在Android环境中的原型实现表明,静态分析必须考虑大量的特定于平台的知识。在两个Android应用程序数据集上使用我们的工具,我们发现应用程序中有一个不可忽视的部分存在权限缺口,即没有使用它们声明的所有权限。
2013-03-20 cs.CR cs.SE
An Automatically Verified Prototype of the Android Permissions System
在以前的工作德卢卡和卢娜提出了正式规范的理想化配方的权限模型的Android在Coq证明助手。这个正式的开发大约是23 Kbps的Coq代码,包括证明。这项工作的目的是表明,{log}(“setlog”)-一个可满足性求解器和约束逻辑程序设计语言-可以被用来作为一个有效的自动证明类的证明,必须履行的形式化验证的系统,如一个进行了德卢卡和卢娜。我们展示了Coq模型是如何在{log}中编码的,以及如何执行自动化证明。生成的{log}模型是Android权限系统的自动验证的可执行原型。在执行{log}中的所有证明后,提供了有关经验评估的详细数据。Coq和{log}的集成,以提供一个具有自动化证明和原型生成的框架进行了讨论。
2022-09-21 cs.LO cs.SE
Characterizing and Detecting Configuration Compatibility Issues in Android Apps
XML配置文件在Android中广泛用于定义应用的用户界面和基本的运行时信息,如系统权限。随着Android的发展,它可能会在配置环境中引入功能更改,从而导致兼容性问题,表现为不同API级别的应用行为不一致。在特定的Android版本上运行时,此类问题通常会导致软件崩溃和外观不一致。现有的作品通过进行琐碎的数据流分析,同时未能对Android配置文件的XML树层次结构进行建模,从而产生大量的误报和漏报问题检测规则。此外,我们对Android框架中的更改如何导致此类兼容性问题知之甚少。为了弥合这些差距,我们进行了一项系统研究,分析了从43个流行应用程序中收集的196个现实问题。我们确定了导致此类配置兼容性问题的Android框架代码更改的常见模式。基于这些发现,我们提出了\textsc{ConfDroid},它可以自动提取规则来检测配置兼容性问题。直觉是基于从公共代码更改模式中学习的模型执行符号执行。实验结果表明,ConfDroid能够成功地提取出282条有效的问题检测规则,准确率为91.9%。其中,65个提取的规则可以表现出的问题,不能检测到的最先进的基线的规则。更重要的是,其中11个导致检测到107个可重现的配置兼容性问题,而基线无法在316个真实Android应用程序中的30个中检测到。
2021-09-01 cs.SE
Stuck in the Permissions With You: Developer & End-User Perspectives on App Permissions & Their Privacy Ramifications
虽然从最终用户的角度来看权限的文献很丰富,但缺乏关于开发人员为什么请求权限,他们对权限的概念化以及他们的观点如何与最终用户的观点进行比较的实证研究。我们的研究旨在使用混合方法来解决这些差距。通过对19名应用程序开发人员的采访和对309名Android和iOS终端用户的调查,我们发现这两个群体都对不必要的权限破坏信任、损害应用程序的声誉以及可能允许访问敏感数据有着类似的担忧。我们还发现,由于对某些权限的范围或第三方库要求的混淆,开发人员参与者有时会请求多个权限。此外,大多数最终用户参与者认为他们有责任授予权限请求,这是他们的选择,这是许多开发人员参与者所共有的信念。我们的研究结果对改善开发人员和最终用户的许可生态系统具有重要意义。
2023-01-31 cs.CR cs.HC cs.SE
The Cost of Convenience: Identifying, Analyzing, and Mitigating Predatory Loan Applications on Android
Boston University(波士顿大学)
本文研究了Android上贷款应用的合规性问题,发现大量应用违反国家和谷歌政策,通过分析揭示敏感数据滥用,并建议加强隐私保护和技术保障。
2026-01-19 cs.CR cs.SE
Analyzing Confidentiality and Privacy Concerns: Insights from Android Issue Logs
上下文:发布后的用户反馈在提高软件质量和提供新功能方面起着不可或缺的作用。鉴于其日益重要性,关于加强安全的反馈尤其值得注意。在考虑Android的快速发展时,我们研究了其利益相关者报告的Android安全威胁的规模和严重性。目的:我们系统地挖掘Android问题日志,以深入了解利益相关者对某些Android安全问题的看法和经验。方法:我们采用上下文分析技术来研究最近三个主要Android版本中提出的有关机密性和隐私的问题,考虑利益相关者评论的协方差以及用户偏好和优先级的一致性水平。结果:保密和隐私问题的严重程度各不相同,最普遍的果冻豆释放。在保密方面提出的问题主要涉及访问、用户凭证和许可管理,而对隐私的关切主要涉及电话锁定。社区用户对新的安全功能也表达了不同的偏好,从更宽松到非常严格。结论:支持对新旧Android版本采取持续纠正措施的策略可能会保持利益相关者的信心。一种为用户提供基本默认安全设置的方法,但如果需要,可以配置额外的安全功能,这将为Android的广泛利益相关者群体提供最佳平衡。
2021-02-24 cs.CR cs.SE
SAUSAGE: Security Analysis of Unix domain Socket Usage in Android
Android操作系统是目前世界上最流行的移动操作系统。Android基于Linux,因此继承了其功能,包括进程间通信(IPC)机制。这些机制被进程用来相互通信,并在Android中广泛使用。虽然Android特定的IPC机制已经被广泛研究,但Unix域套接字尚未被全面研究,尽管它在高特权系统守护进程的IPC中起着至关重要的作用。在本文中,我们提出了SAUSAGE,一个有效的新的静态分析框架来研究这些套接字的安全属性。SAUSAGE考虑了Android安全模型中实现的访问控制策略,以及守护程序二进制文件实现的身份验证检查。它是一个完全的静态分析框架,专门用于分析Android系统守护进程中Unix域套接字的使用情况。我们使用这个框架来分析200个Android图像在8个流行的智能手机供应商跨越Android版本7-9。因此,我们发现多个访问控制错误配置和不安全的身份验证检查。我们的显著发现包括高特权Qualcomm系统守护程序中的权限绕过和不受保护的套接字,该套接字允许不受信任的应用程序设置系统上运行的其他进程的调度优先级,尽管实施了强制性SELinux策略。最终,我们的分析结果令人担忧;除了Android开源项目(AOSP)之外,所有供应商都存在访问控制问题,允许不受信任的应用程序通过硬件制造商或供应商自定义引入的Unix域套接字与高特权守护程序进行通信。
2022-04-04 cs.CR cs.SE
Exploring Hidden Geographic Disparities in Android Apps
本文研究了 Android 应用中因地理因素导致的隐藏差异,揭示了 GeoTwins 和 base.apk 文件的区域差异,对安全、隐私和公平性有重要影响。
2025-11-26 cs.SE
ATVHunter: Reliable Version Detection of Third-Party Libraries for Vulnerability Identification in Android Applications
我们提出了一个名为ATVHunter的系统,该系统可以精确定位易受攻击的应用内TPL版本,并提供有关漏洞和TPL的详细信息。我们提出了一个两阶段的检测方法来识别特定的TPL版本。具体来说,我们提取控制流图作为粗粒度特征,以匹配预定义的TPL数据库中的潜在TPL,然后提取CFG的每个基本块中的操作码作为细粒度特征,以识别确切的TPL版本。我们建立了一个全面的第三方物流数据库(189,545个独特的第三方物流,3,006,676个版本)作为参考数据库。同时,为了识别易受攻击的应用内TPL版本,我们还构建了一个全面的已知易受攻击的TPL数据库,包含1,180个CVE和224个安全错误。实验结果表明,ATVHunter优于最先进的TPL检测工具,实现了90.55%的准确率和88.79%的召回率,具有高效率,也是弹性广泛使用的混淆技术和可扩展的大规模TPL检测。此外,为了调查应用程序使用的脆弱TPL生态系统,我们利用ATVHunter对104,446个应用程序进行了大规模分析,发现9,050个应用程序包含脆弱的TPL版本,其中53,337个漏洞和7,480个安全错误,其中大多数具有高风险,未被应用程序开发人员识别。
2021-11-08 cs.SE
Comprehension of Ads-supported and Paid Android Applications: Are They Different?
Android市场是开发人员向用户提供付费和/或免费应用程序的地方。免费应用程序对用户来说很有趣,因为他们可以立即尝试它们,而不会产生金钱成本。然而,与付费应用程序相比,免费应用程序通常功能有限,并且包含广告。因此,用户最终可能需要付费才能获得额外的功能和/或删除广告。虽然付费应用程序具有明确的市场价值,但它们的广告支持版本并不是完全免费的,因为广告会影响性能。在本文中,首先,我们对广告支持和付费应用程序进行了探索性研究,以了解它们在实施和开发过程方面的差异。我们分析了40个Android应用程序,我们观察到(i)广告支持的应用程序是用户首选的,尽管付费应用程序有更好的评级,(ii)开发人员通常不会提供没有相应免费版本的付费应用程序,(iii)广告支持的应用程序通常有更多的版本,并且比相应的付费版本发布得更频繁,(iv)关于开发者设置付费应用的价格的方式没有明确的策略,(v)付费应用通常不包括比其相应的广告支持版本更多的功能,(vi)开发者并不总是在其广告支持应用的付费版本中移除广告网络,以及(vii)付费应用比广告支持的应用需要更少的权限。其次,我们进行了一项实验研究,以比较广告支持和付费应用程序的性能,我们提出了四个方程来估计广告支持的应用程序的成本。我们得到:(i)广告支持的应用程序使用的资源比相应的付费版本更多,差异具有统计学意义;(ii)付费应用程序可以被认为是用户最具成…
2017-03-08 cs.SE
A Systematical Study on Application Performance Management Libraries for Apps
能够自动检测应用程序中的性能问题可以显着提高应用程序的质量,并对用户满意度产生积极影响。应用程序性能管理(APM)库用于定位应用程序的性能瓶颈、监控其运行时行为并识别潜在的安全风险。虽然应用程序开发人员一直在利用应用程序性能管理(APM)工具来捕获这些潜在的性能问题,但他们中的大多数人并不完全了解这些APM工具的内部原理及其对应用程序的影响。为了填补这一空白,在本文中,我们进行了第一次系统的研究,通过审查25个广泛使用的APMs的Android应用程序,并开发了一个名为APMHunter的框架,探索APMs在Android应用程序中的使用。使用APMHunter,我们对50万个Android应用程序进行了大规模的实证研究,以探索APM的使用模式,并发现APM的潜在误用。我们得到两个主要发现:1)一些APM仍然使用过时的权限和方法,这使得APM无法按预期执行; 2)不当使用APM可能导致隐私泄露。因此,我们的研究表明,APM供应商和开发人员都应该谨慎地设计和使用APM。
2021-03-21 cs.SE
Same App, Different Behaviors: Uncovering Device-specific Behaviors in Android Apps
本文提出三阶段静态分析框架,首次大规模实证研究 Android 应用的设备特定行为,揭示其分布、功能类别、隐私滥用风险及开发者实现挑战。
2024-06-14 cs.SE
Exploring the Use of Static and Dynamic Analysis to Improve the Performance of the Mining Sandbox Approach for Android Malware Identification
Android挖掘沙盒方法包括在Android应用的良性版本上运行动态分析工具,并记录对敏感API的每次调用。之后,可以使用这些信息来(a)阻止对其他敏感API(以前未记录的API)的调用,或(b)在不同版本的应用程序中再次运行动态分析工具,以识别可能的恶意行为。虽然之前已经对使用动态分析挖掘Android沙箱进行了实证研究,但对于将静态分析与挖掘沙箱方法相结合以识别恶意行为的潜在好处知之甚少。因此,在本文中,我们提出了两个实证研究的结果:第一个是一个不精确的复制以前的研究工作,从鲍等人,它比较了用于挖掘Android沙箱的测试用例生成工具的性能。第二个是一个新的实验,调查使用污点分析算法的影响,以补充挖掘沙箱的方法在任务中,以确定恶意行为。我们的研究带来了几个发现。例如,第一项研究表明,DroidFax(Bao等人研究中用于检测Android应用程序的工具)的静态分析组件对先前工作中探索的动态分析工具的性能有很大贡献。第二个研究的结果表明,污点分析也是实用的,以补充挖掘沙箱的方法,提高性能的后一个战略在最多28.57%。
2021-09-14 cs.CR cs.SE
Too Quiet in the Library: An Empirical Study of Security Updates in Android Apps' Native Code
Android应用包含第三方原生库,以提高性能和重用功能。原生代码通过Java原生接口或Android原生开发工具包直接从应用执行。Android开发人员将预编译的原生库添加到他们的项目中,以启用它们的使用。不幸的是,开发人员经常努力或干脆忽视及时更新这些库。这导致在补丁可用多年后,仍继续使用过时的本机库,这些本机库具有未修补的安全漏洞。为了进一步了解这种现象,我们研究了9月10日以来Google Play上最受欢迎的200个免费应用程序中原生库的安全更新。2013年至2020年5月。我们在这项研究中面临的一个核心困难是图书馆及其版本的识别。开发人员经常重命名或修改库,使其识别具有挑战性。我们创建了一种名为LibRARIAN(LibRAry veRsion IdentificAtioN)的方法,该方法基于我们新颖的相似性度量bin 2sim准确识别Android应用中的原生库及其版本。LibRARIAN利用了基于元数据从库中提取的不同特征,并在只读部分中识别字符串。我们发现,在2009年9月20日至2011年9月30日期间,200个流行应用程序中有53个(26.5%)存在已知CVE的易受攻击版本。2013年和2020年5月,其中14个应用程序仍然存在漏洞。我们发现,应用程序开发人员平均需要528.71天来应用安全补丁,而库开发人员在54.59天后发布安全补丁-更新速度慢了10倍。
2021-03-03 cs.CR cs.SE
A First Look at Privacy Risks of Android Task-executable Voice Assistant Applications
本文实证分析十款 Android 任务执行型语音助手,通过多来源隐私声明交叉核对,揭示不一致问题及三类隐私威胁,并给出防护建议。
2025-09-28 cs.CR cs.SE
AppAngio: Revealing Contextual Information of Android App Behaviors by API-Level Audit Logs
Android用户现在正遭受各种应用程序不必要行为的严重威胁。分析应用程序的审计日志是一些设备制造商揭示应用程序中潜在恶意的基本方法之一。我们提出并实现了AppAngio,一个新的系统,揭示了上下文信息的Android应用程序的行为API级审计日志。我们的目标是帮助设备制造商的分析师了解用户设备上发生了什么,并帮助识别应用程序中的恶意行为。AppAngio的关键模块是识别与应用程序控制流图(CFG)上的日志匹配的路径。然而,挑战在于,有限数量的日志可能在日志匹配中招致高计算复杂性,其中存在大量的候选者,这是由连续日志的耦合关系引起的。为了解决这一挑战,我们提出了一个分而治之的策略,精确地定位与日志记录相匹配的节点在相应的CFG和连接节点尽可能少的回溯。我们的实验表明,AppAngio揭示了真实世界应用程序中行为的上下文信息。此外,揭示的结果有助于分析人员识别恶意应用程序行为,并补充现有的分析方案。同时,AppAngio在Android设备上的性能开销可以忽略不计。
2020-11-28 cs.SE
A3Ident: A Two-phased Approach to Identify the Leading Authors of Android Apps
作者身份识别是通过给定的代码对作者进行识别和分类的过程。作者身份识别可用于广泛的软件领域,例如,代码作者争议、剽窃检测、攻击者身份曝光。除了传统软件开发带来的固有挑战外,Android中的框架编程和众包模式也大大增加了作者身份识别的难度。更具体地说,广泛的第三方库和继承的组件(例如,类、方法和变量)稀释了整个Android应用程序中的主要代码,模糊了不同作者编写的代码的界限。然而,以前的研究并没有很好地解决这些挑战。为此,我们设计了一个两阶段的方法来将Android应用程序的主要代码归因于特定的开发人员。在第一阶段,我们提出了三种策略来识别应用程序中Java包之间的关系,包括上下文关系、语义关系和结构关系。一个软件包聚合算法的开发,集群的所有软件包是由相同的作者写的概率高。在第二阶段,我们开发了三种类型的功能来捕捉作者的编码习惯和代码风格。在此基础上,我们从开发的Android应用程序中为作者生成指纹,并采用几种机器学习算法进行作者身份分类。我们在三个数据集中评估了我们的方法,这些数据集包含来自257个不同开发人员的15,666个应用程序,平均准确率达到92.5%。此外,我们在2,900个混淆的应用程序上进行了测试,我们的方法可以以80.4%的准确率对应用程序进行分类。
2020-08-31 cs.CR cs.SE
An Approach for the Identification of Information Leakage in Automotive Infotainment systems
数字化世界的进步彻底改变了汽车行业。今天的现代汽车配备了互联网,可以提供自动驾驶功能的计算机以及可以运行移动操作系统的信息娱乐系统,如Android Auto和Apple CarPlay。Android Automotive是谷歌的Android操作系统,专为在车辆的信息娱乐系统上本地运行而定制,它允许第三方应用程序在车辆的信息娱乐系统上安装和运行。此类应用程序可能会引发与用户安全、安保和隐私相关的安全问题。本文研究了车载应用程序的安全问题,特别是与这些应用程序之间的组件间通信(ICC)相关的问题。ICC允许应用程序通过称为Intent的消息传递对象,通过应用程序内部或内部组件共享信息。如果通信不安全,Intent可能会被恶意应用程序劫持或欺骗,用户的敏感信息可能会泄露到黑客的数据库中。我们调查了这些应用程序中的攻击面和漏洞,并提供了一个静态分析方法和一个工具来发现数据泄漏漏洞。该方法还可以提供减轻这些泄漏的提示。我们通过分析从Google Play商店下载的一组Android Auto应用程序来评估我们的方法,并报告我们对这些应用程序上识别的漏洞的验证结果。
2020-11-08 cs.CR cs.SE
ModZoo: A Large-Scale Study of Modded Android Apps and their Markets
本研究首次大规模分析13个修改版安卓应用市场的14.6万应用,发现约90%被修改,导致开发者收入损失且用户面临更高恶意风险。
2024-10-28 cs.CR cs.OH cs.SE
From Signals to Behaviors: Evidence-Based Android Malware Detection
Singapore Management University(新加坡管理大学);Nankai University(南开大学)
研究安卓恶意软件检测问题,提出Praxis方法,通过假设-确认-判断流程,从静态信号出发结合程序分析和上下文判断恶意行为。实验证明该方法检测性能优,能降低误报率并恢复细粒度行为,各阶段对性能均有贡献。
2026-07-28 cs.CR cs.SE
A Comprehensive Evaluation of Android ICC Resolution Techniques
组件间通信(ICC)是移动应用中广泛使用的机制,它支持Android组件之间基于消息的控制流传输和数据传递。有效的ICC解析需要精确地识别入口点,分析ICC字段的数据值,建模相关的框架API等。由于涉及各种控制流和数据流相关的特性,以及缺乏真实应用程序的oracle,ICC解析技术的综合评估具有挑战性。为了填补这一空白,我们收集了包含4,104个应用程序的多类型基准测试套件,涵盖了手工制作的应用程序,开源和商业应用程序。考虑到它们的差异,各种评估指标,例如,按需采用数量计数、图形结构和可靠的基于Oracle的度量。由于现实世界的应用程序的oracle是不可用的,我们设计了一个动态分析的方法来提取在GUI探索过程中触发的真正的ICC链接。通过对代码实现的审计,我们仔细检查了提取的ICC,并确认了1,680个ICC,形成了一个可靠的oracle集,其中每个ICC都标有25个代码特征标签。对六种最先进的ICC解析工具进行的评估表明:1)真实世界应用程序的静态ICC解析结果的完整性并不令人满意,高达38%-85%的ICC被工具遗漏; 2)许多错误报告的ICC仅由少数组件发送或接收,图结构信息可以帮助识别;(3)ICC解析等基础工具的效率在工程和研究两个方面都应得到优化。通过调查遗漏和错误报告的ICC,我们讨论了不同的工具,为用户的优势,并总结了8个常见的FN/FP模式的ICC解决工具开发人…
2022-09-03 cs.SE
Mobile App Security Trends and Topics: An Examination of Questions From Stack Overflow
该研究挖掘并定量、定性分析 Stack Overflow 上的移动应用安全问题,识别出七类主题,揭示开发者实际安全需求,为工具与资源开发提供依据。
2024-09-14 cs.CR cs.SE
End-Users' Knowledge and Perception about Security of Mobile Health Apps: A Case Study with Two Saudi Arabian mHealth Providers
移动健康应用程序(简称mHealth应用程序)在医疗保健领域越来越多地被采用,使政府、卫生单位、医生和患者等利益相关者能够以普遍的方式利用健康服务。尽管mHealth应用程序具有多项已知优势,但仍会带来重大的安全和隐私挑战,可能导致数据泄露,带来严重的社会、法律和经济后果。这项研究提出了一个实证调查的安全意识的最终用户的mHealth应用程序,可在主要的移动平台,包括Android和iOS。我们与沙特阿拉伯的两家移动医疗服务提供商合作,调查了101名最终用户,调查了他们对(i)现有和期望的安全功能,(ii)安全相关问题,以及(iii)提高安全知识的方法的安全意识。调查结果表明,大多数最终用户都知道应用程序提供的现有安全功能(例如,受限的应用程序许可);然而,它们期望可用的安全性(例如,生物测定认证)并且关心他们的健康信息的隐私(例如,数据匿名化)。最终用户建议,会话超时或双因素身份验证(2FA)等协议对安全性有积极影响,但会影响应用程序的可用性。通过社交媒体,同行指导或应用程序提供商的培训提高安全意识可以增加最终用户对mHealth应用程序的信任。这项研究基于经验证据调查了以人为本的知识,并提供了一套指导方针,以开发安全和可用的mHealth应用程序。
2021-09-24 cs.CR cs.SE