ConsiDroid: A Concolic-based Tool for Detecting SQL Injection Vulnerability in Android Apps
在本文中,我们提出了一个concolic执行技术,用于检测Android应用程序中的SQL注入漏洞,我们称之为ConsiDroid的新工具。我们使用mocking技术扩展应用程序的源代码,这样原始源代码的执行不受影响。扩展的源代码可以被视为Java应用程序,并且可以由SPF以concolic执行来执行。我们自动地从静态分析中生成一个DummyMain类,以便按顺序调用基本函数,并触发导致易受攻击函数的事件。我们在ConsiDroid中使用污点分析扩展SPF。为了使污点分析成为可能,我们引入了一种新的符号模拟类技术,以减轻污染值在代码中的传播。SQL注入漏洞是通过接收易受攻击的函数的污染值来检测的。此外,ConsiDroid还利用静态分析来调整SPF,以便只检查可疑路径。为了说明ConsiDroid的适用性,我们从F-Droid存储库中随机选择了140个应用程序。从这些应用程序中,我们发现了三个容易受到SQL注入攻击的应用程序。为了验证它们的漏洞,我们使用Robolectric根据ConsiDroid的报告手动分析了这些应用程序。
2019-08-08 cs.CR cs.SE
Assessing the Effectiveness of LLMs in Android Application Vulnerability Analysis
本文比较九种先进LLM在含混淆样本的100余个Android漏洞代码上的OWASP Mobile Top 10检测能力,分析性能因素及RAG上下文增强的价值。
2024-06-27 cs.CR
An Empirical Study on Android-related Vulnerabilities
移动设备在日常生活中的使用越来越多。它们是我们的相机、钱包和钥匙。基本上,它们将我们的大部分私人信息嵌入我们的口袋里。由于这个原因和其他原因,移动设备,特别是在它们上运行的软件,被认为是软件漏洞领域的一等公民。一些研究调查了移动应用程序以及更广泛的移动设备背景下的软件漏洞现象。这些研究大多集中在可能影响移动应用程序的漏洞上,而只有少数研究影响移动应用程序运行的底层平台的漏洞:操作系统(OS)。此外,这些研究是在非常有限的一组漏洞上进行的。在本文中,我们提出了迄今为止调查Android相关漏洞的最大研究,特别关注影响Android操作系统的漏洞。特别是,我们(i)定义了Android相关漏洞类型的详细分类;(ii)调查受漏洞影响的Android操作系统的层和子系统;(iii)研究漏洞的生存能力(即,漏洞引入和修复之间的天数)。我们的发现可以帮助操作系统和应用程序开发人员专注于他们的验证和验证活动,并帮助研究人员构建为移动世界量身定制的漏洞检测工具。
2017-04-11 cs.CR cs.SE
Agentic Discovery and Validation of Android App Vulnerabilities
提出A2智能体系统,通过漏洞发现与多模态验证两阶段检测Android漏洞,并自动生成PoC,在Ghera基准和真实APK评估中显著提升漏洞发现与零日验证能力。
2025-08-29 cs.CR
Vulnerability Analysis of the Android Kernel
我们描述了一个用于分析{ \sc Android OS内核}源代码的工作流,并对使程序暴露于黑客攻击的特定缺陷进行评级。该工作流为构件的脆弱性评级提供了一种新的方法。该方法的灵感来自于最近的嵌入源代码函数的工作。该工作流程将深度学习与逻辑学和机器学习相结合。深度学习用于将函数/方法标签嵌入欧几里得空间。由于Android内核源代码的语料库相当有限(包含大约200万个C/C++函数和Java方法),直接嵌入是站不住脚的。为了克服数据缺乏的挑战,有必要通过\textit{Byte-Pair Encoding}的中间步骤。随后,我们嵌入标记,从中我们组装函数/方法标签的嵌入。长短期记忆网络(LSTM)用于将令牌嵌入到$\mathbb{R}^d$中的向量中,从中我们形成由每对向量之间的余弦组成的\textit{cosine matrix}。余弦矩阵可以被解释为一个(组合的)“加权”图,其顶点代表函数/方法,“加权”边对应于矩阵项。包括函数向量加上那些抽象定义的特征用于对缺陷风险进行评分。
2021-12-20 cs.CR
Cross-site Scripting Attacks on Android WebView
WebView是Android和iOS中必不可少的组件。它使应用程序能够显示来自在线资源的内容。它简化了执行网络请求、解析数据和渲染数据的任务。WebView使用许多API,可以与WebView内部的Web内容进行交互。在本文中,我们讨论了针对Android WebView的跨站脚本攻击或XSS攻击。跨站脚本(XSS)是Web应用程序中常见的一种漏洞。此漏洞使攻击者能够通过HttpClient API在受害者的WebView中运行恶意代码。使用此恶意代码,攻击者可以窃取受害者的凭据,例如cookie。浏览器用来保护这些凭据的访问控制策略(即同源策略)可以通过利用XSS漏洞绕过。
2013-04-28 cs.CR
DiverseVul: A New Vulnerable Source Code Dataset for Deep Learning Based Vulnerability Detection
University of Maryland(马里兰大学);UC Berkeley(加州大学伯克利分校);King Abdulaziz City for Science and Technology(阿卜杜勒阿齐兹国王科技城);Google Deepmind(谷歌DeepMind)
本文发布包含18,945个漏洞函数和330,492个非漏洞函数的DiverseVul数据集,并通过11种模型实验表明深度学习在漏洞检测上仍面临高假阳性、低F1和泛化困难等挑战,同时指出LLM和源代码特定预训练是更有前景的方向。
2023-08-09 cs.AI cs.CR cs.LG
Fine with "1234"? An Analysis of SMS One-Time Password Randomness in Android Apps
SMS一次性密码(OTP)的基本前提是所使用的伪随机数(PRN)对于每个登录会话是唯一不可预测的。因此,生成PRN的过程是OTP认证中最关键的步骤。伪随机数发生器(PRNG)的不正确实现将导致可预测的甚至静态的OTP值,使它们容易受到潜在的攻击。在本文中,我们提出了一个针对Android应用程序实现的PRNG的漏洞研究。一个关键的挑战是PRNG通常在服务器端实现,因此源代码不可访问。为了解决这个问题,我们建立了一个分析工具,\sysname,以自动化的方式评估的PRNG的实现,而无需源代码的要求。通过逆向工程,\sysname使用SMS OTP识别应用程序,并触发每个应用程序的登录功能以检索OTP值。它进一步评估OTP值的随机性以识别易受攻击的PRNG。通过分析从\tool{Google Play}和\tool{Tencent Myapp}下载的6,431个商用Android应用程序,\sysname确定了399个易受攻击的应用程序,这些应用程序会生成可预测的OTP值。更糟糕的是,194个易受攻击的应用程序仅使用OTP身份验证,而没有任何额外的安全机制,导致针对猜测攻击和重放攻击的不安全身份验证。
2021-03-06 cs.CR cs.SE
Static Detection of Filesystem Vulnerabilities in Android Systems
针对Android系统文件系统漏洞检测难题,提出结合静态程序分析与访问控制策略分析的PathSentinel工具,可检测三类漏洞,还借助LLM生成漏洞利用代码简化验证,实验发现51个未知漏洞且误报率极低。
2024-07-15 cs.CR
Adversarial Vulnerability Under Temporal Concept Drift: A Longitudinal Study of Android Malware Detection
Department of Computer Science, Birzeit University(巴勒斯坦伯利兹大学计算机科学系);Department of Computer Science, University of Central Florida(佛罗里达州立大学计算机科学系)
通过纵向评估十年间Android应用的静态和动态特征,研究时间分布漂移对对抗鲁棒性的影响,提出时序关联指标并发现时间分离降低鲁棒性,扩展窗口重训练可缓解但无法消除鲁棒性损失。
2026-05-22 cs.AI cs.CR cs.LG
Are Free Android App Security Analysis Tools Effective in Detecting Known Vulnerabilities?
人们对保护Android生态系统的兴趣日益浓厚,这催生了许多帮助应用程序开发人员构建安全应用程序的努力。这些努力产生了能够检测应用程序中的漏洞(和恶意行为)的工具和技术。然而,没有对这些工具和技术在检测已知漏洞方面的有效性进行评估。缺乏此类评估使应用程序开发人员在选择安全分析工具来保护其应用程序时处于不利地位。在这方面,我们评估了Android应用程序漏洞检测工具的有效性。我们审查了64个工具,并根据Ghera基准测试捕获的42个已知的独特漏洞对14个漏洞检测工具(附带还有5个恶意行为检测工具)进行了经验评估,这些漏洞由易受攻击的应用程序和安全应用程序组成。在评估的24个观察结果中,主要观察结果是现有的Android应用程序漏洞检测工具检测已知漏洞的能力非常有限-所有评估的工具加在一起只能检测42个已知独特漏洞中的30个。如果安全分析工具要帮助开发人员构建安全的应用程序,就需要付出更多的努力。我们希望本次评估的结果能够帮助应用程序开发人员选择合适的安全分析工具,并说服工具开发人员和研究人员识别和解决其工具和技术中的局限性。我们也希望这次评估能够在软件工程和安全社区中引发一场对话,要求对安全分析工具和技术进行更严格、更明确的评估。
2019-08-05 cs.CR cs.SE
Level Up with ML Vulnerability Identification: Leveraging Domain Constraints in Feature Space for Robust Android Malware Detection
Radboud University(拉德堡德大学);Ruhr University Bochum(波鸿鲁尔大学)
针对ML在Android恶意软件检测中易受可实现对抗样本规避攻击的问题,提出在特征空间学习Android域约束的新方法,有效检测对抗样本,并在对抗训练中显著提升模型鲁棒性和训练效率。
2024-12-24 cs.CR cs.LG
JNI Global References Are Still Vulnerable: Attacks and Defenses
本文提出一种在最新 Android 系统中仍可实施的 JNI 全局引用耗尽型 DoS 攻击,并开发 JGREAnalyzer 工具系统检测相关漏洞,同时提出基于全局引用计数的防御方案。
2024-05-01 cs.CR
Vulnerability Detection with Fine-grained Interpretations
尽管基于机器学习(ML)和深度学习(DL)的漏洞检测器(VD)取得了成功,但它们仅限于提供关于给定代码是否易受攻击的决策,而没有关于代码的哪一部分与检测到的漏洞相关的细节。我们提出了IVDetect一个可解释的漏洞检测器,其理念是使用人工智能(AI)来检测漏洞,同时使用智能助手(IA)通过提供VD解释易受攻击的语句。对于漏洞检测,我们通过数据和控制依赖分别考虑易受攻击的语句及其周围的上下文。这使得我们的模型更好地区分易受攻击的语句,而不是像现有方法那样使用易受攻击的代码和上下文代码的混合。除了粗粒度的漏洞检测结果外,我们还利用可解释的AI为用户提供细粒度的解释,包括程序依赖图(PDG)中的子图,以及与检测到的漏洞相关的关键语句。我们对漏洞数据库的实证评估表明,IVDetect在nDCG和MAP排名前10位的得分上比现有的基于DL的方法高出43%-84%和105%-255%。IVDetect通过其解释正确地指出了与漏洞相关的易受攻击的陈述-在67%的情况下排名前5位。它比基线解释模型的准确性提高了12.3%-400%和9%-400%。
2021-06-19 cs.CR cs.SE
Can Neural Decompilation Assist Vulnerability Prediction on Binary Code?
Università degli Studi di Napoli Federico II(那不勒斯费德里科二世大学)
本文提出一种无需源代码的漏洞预测方法,通过神经反编译将二进制文件转为源代码后利用深度学习进行预测,在二分类和多分类分析中均超越现有技术。
2025-03-29 cs.AI cs.CR cs.LG
On the Use of Fine-grained Vulnerable Code Statements for Software Vulnerability Assessment Models
The University of Adelaide(阿德莱德大学);Cyber Security Cooperative Research Centre(网络安全合作研究中心)
许多研究已经开发了机器学习(ML)方法来检测函数中的软件漏洞(SV)和导致此类SV的细粒度代码语句。然而,利用这些检测输出进行数据驱动的SV评估以提供有关SV的可利用性、影响和严重性的信息的工作很少。这些信息对于了解SV并确定其修复的优先级非常重要。使用来自200个真实项目中429个SV的1,782个功能的大规模数据,我们研究了用于自动化功能级SV评估任务的ML模型,即,预测七个通用漏洞评分系统(CVSS)指标。我们特别研究的价值和使用的脆弱的报表作为输入开发的评估模型,因为SV的功能起源于这些报表。我们发现,脆弱的报表是5.8倍小的大小,但表现出7.5-114.5%的评估性能(马修斯相关系数(MCC))比非脆弱的报表。消除易受攻击语句的上下文进一步提高了性能,最高可达8.9%(0.64 MCC和0.75 F1-Score)。总的来说,我们提供了初步的但有前途的ML为基础的基线功能级SV评估,铺平了道路,在这个方向上的进一步研究。
2022-03-16 cs.CR cs.LG cs.SE
Learning to Quantize Vulnerability Patterns and Match to Locate Statement-Level Vulnerabilities
Monash University(莫纳什大学);CSIRO’s Data61(澳大利亚联邦科学与工业研究组织数据61研究所);VinAI Research(VinAI研究院)
针对现有漏洞检测方法未利用漏洞模式、语句级识别精度不足的问题,本文提出基于学习到的漏洞码本匹配模式的检测方法,在18.8万函数的数据集上实现函数级、语句级F1值较SOTA分别提升6%、19%。
2023-05-26 cs.AI cs.CR cs.LG
Vulpedia: Detecting Vulnerable Ethereum Smart Contracts via Abstracted Vulnerability Signatures
近年来,智能合约在构建值得信赖的去中心化应用程序方面越来越受欢迎。以前的研究已经提出了静态和动态技术来检测智能合约中的漏洞。这些工具根据几个预定义的规则检查易受攻击的合同。然而,不断出现的新的脆弱类型和编程技能,以防止可能出现的漏洞,导致大量的误报和漏报的工具。为了解决这个问题,我们提出了Vulpedia,它从合同中挖掘表达性漏洞签名。Vulpedia基于一个宽松的假设,即合同所有者没有恶意。具体而言,我们从脆弱和良性合约中提取结构化程序特征作为漏洞特征,并基于漏洞特征构成的检测规则构建了一个系统的检测方法。与现有技术定义的规则相比,我们的方法可以提取更具表达性的规则,以实现更好的完整性(即,检测回忆)和可靠性(即,精度)。我们进一步评估Vulpedia的四个基线(即,Slither,Securify,SmartCheck和Oyente)在由17,770份合同组成的测试数据集上进行了测试。实验结果表明,Vulpedia在4类漏洞的查准率和3类漏洞的查全率方面表现最好,同时也表现出了较高的查准率和查全率。
2022-07-05 cs.CR cs.DC cs.SE
Creating a vulnerable node based on the vulnerability MS17-010
本研究分析复现影响Windows系统SMBv1协议的MS17-010漏洞,构建易受攻击节点,用MAL图形式化漏洞利用过程,复现基于Metasploit Framework的Python脚本攻击,并给出对应基础安全防护措施。
2024-01-26 cs.CR
Efficient Software Vulnerability Detection Using Transformer-based Models
DePaul University(德保罗大学)
本文提出利用变压器模型进行C/C++漏洞检测,通过程序切片提取关键语法和语义特征,结合数据平衡和超参数调优,实现高效准确的漏洞识别。
2026-03-31 cs.CR cs.LG cs.SE
LLM-based Vulnerable Code Augmentation: Generate or Refactor?
University of Mons - Computer science department(蒙斯大学-计算机科学系)
本文提出基于LLM的漏洞代码增强方法,通过生成或重构技术提升漏洞分类器性能,实验表明混合策略效果最佳。
2026-02-10 cs.AI cs.CR
Learning from What We Know: How to Perform Vulnerability Prediction using Noisy Historical Data
脆弱性预测是指识别最有可能脆弱的系统组件的问题。通常,这个问题是通过在历史数据上训练二进制分类器来解决的。不幸的是,最近的研究表明,由于以下两个原因,这种方法表现不佳:a)问题的不平衡性质,以及b)固有的噪声历史数据,即,大多数漏洞发现的时间比它们被引入的时间要晚得多。这会误导分类器,因为它们学会将实际的脆弱组件识别为非脆弱组件。为了解决这些问题,我们提出了TROVON,这是一种从已知的易受攻击的组件中学习的技术,而不是像通常那样从易受攻击和非易受攻击的组件中学习。我们通过对比已知的脆弱性和它们各自的固定组件来执行此操作。通过这种方式,TROVON设法从我们所知道的事情中学习,即,漏洞,从而减少噪音和不平衡数据的影响。我们通过将TROVON与三个安全关键开源系统上的现有技术进行比较来评估TROVON,即,Linux Kernel、OpenSSL和Wireshark,其历史漏洞已在国家漏洞数据库(NVD)中报告。我们的评估表明,TROVON的预测能力明显优于现有的漏洞预测技术,如软件挖掘,导入,函数调用,文本挖掘,Devign,LSTM和LSTM-RF,在干净的训练数据设置下,Matthews相关系数(MCC)分数提高了40.84%,在现实的训练数据设置下提高了35.52%。
2022-07-25 cs.CR cs.SE
Vulnerability Detection in C/C++ Code with Deep Learning
School of Computing, DePaul University(德保罗大学计算学院)
本研究利用从C/C++源代码提取的程序切片训练神经网络,结合多种特征和平衡数据,实现漏洞检测,其中BGRU+ADAM准确率达92.49%。
2024-05-28 cs.CR cs.LG
VERCATION: Precise Vulnerable Open-source Software Version Identification based on Static Analysis and LLM
本文提出VERCATION方法,结合程序切片与LLM识别漏洞相关代码,通过回溯历史提交并基于扩展规范化AST的代码克隆检测定位引入漏洞的提交,在识别C/C++开源软件易受攻击版本任务上F1达93.1%,并发现NVD报告中202个错误版本。
2025-08-14 cs.CR cs.SE
A Slicing-Based Approach for Detecting and Patching Vulnerable Code Clones
本文提出srcVul方法,结合程序切片与局部敏感哈希检测易受攻击的代码克隆并推荐补丁,在漏洞数据库上取得91%精确率和75%召回率。
2025-05-05 cs.CR cs.SE
KernJC: Automated Vulnerable Environment Generation for Linux Kernel Vulnerabilities
针对内核漏洞复现中环境构建的挑战,提出基于补丁和图的方法自动识别易受攻击内核版本及必要配置,开发了工具 KernJC 并构建数据集,成功复现 66 个漏洞并发现 NVD 中 128 个虚假版本声明。
2024-09-24 cs.CR cs.SE
Towards a Formal Approach for Detection of Vulnerabilities in the Android Permissions System
Android是一种广泛使用的操作系统,它采用基于权限的访问控制模型。Android Android应用程序系统(APS)负责调解应用程序资源请求。APS是Android安全机制的关键组件;因此,APS设计中的失败可能会导致恶意应用程序未经授权访问资源的漏洞。在本文中,我们提出了一种形式化的方法来建模和验证APS的安全属性。我们展示了所提出的方法的可用性,通过展示在Android的自定义权限中发现的一个众所周知的漏洞的检测。
2022-08-23 cs.CR
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
Hey Google, What Exactly Do Your Security Patches Tell Us? A Large-Scale Empirical Study on Android Patched Vulnerabilities
在本文中,我们对从不同数据源收集的2,470个已修补的Android漏洞进行了全面研究,这些数据源包括Android安全公告、CVEDetails、Qualcomm Code Aurora、AOSP Git存储库和Linux Patchwork。在我们的数据分析中,我们专注于确定受影响的层、操作系统版本、严重性级别以及与修补漏洞相关的常见弱点枚举(CWE)。此外,我们评估每个漏洞的时间轴,包括发现和修补日期。我们发现,(i)尽管修补漏洞的数量每月变化很大,但每个严重级别的修补漏洞的相对数量随着时间的推移保持稳定,(ii)修补来自Linux社区或涉及高通组件的漏洞存在显著延迟,即使Linux和高通提供并发布自己的补丁,(iii)不同的AOSP版本在不同的时间段内接收安全更新,(iv)对于94%的已修补Android漏洞,在公共数据集中披露的日期不在补丁发布日期之前,(v)公共漏洞数据源之间存在一些不一致之处,例如,一些CVE ID在Android安全公告中列出了详细信息,但在CVE详细信息中,它们被列为未知,(vi)新Android版本的许多修补漏洞可能也会影响由于生命周期结束而未收到安全补丁的旧版本。
2019-05-22 cs.CR
CognixShield: PoV-Guided Vulnerable API Usage Detection in Large Codebases via LLMs
Virginia Tech(弗吉尼亚理工大学);Nanyang Technological University(南洋理工大学);Wake Forest University(维克森林大学)
CognixShield是一款LLM驱动的框架,通过保留语义的AST碎片化、感知漏洞的多智能体RAG、PoV引导的语义推理三个核心组件,在57个Java应用上实现了优于现有工具的漏洞API使用检测性能。
2026-08-11 cs.CR cs.SE
VulValidate: Auditing Function-Level Vulnerability Labels with Executable Evidence
University of Louisiana at Lafayette(路易斯安那大学拉法叶分校)
VulValidate利用LLM智能体协调动态分析工具,基于可执行证据审计函数级漏洞标签,修正了BigVul等数据集中的大量错误标签,并提升了检测器性能。
2026-10-06 cs.AI cs.CR cs.SE
Top Score on the Wrong Exam: On Benchmarking in Machine Learning for Vulnerability Detection
MPI-SP Bochum(波恩大学马克斯·普朗克研究所)
本研究揭示机器学习漏洞检测领域主流基准测试存在缺陷:多数函数级分类任务在缺乏调用上下文时无法判定,高分源于虚假相关性,并提出改进基准测试方法以评估真实能力。
2025-04-23 cs.CR cs.LG
Security Code Smells in Android ICC
Android组件间通信(ICC)非常复杂,在很大程度上不受约束,开发人员很难理解。因此,ICC是Android应用程序中安全漏洞的常见来源。为了促进安全编程实践,我们回顾了相关研究,并确定了Android设备中可避免的ICC漏洞以及指示其存在的安全代码气味。我们解释了漏洞及其相应的气味,并讨论了如何在开发过程中消除或减轻它们。我们在Android Lint之上提供了一个轻量级的静态分析工具,它可以分析开发中的代码,并在IDE中提供有关代码中是否存在此类气味的即时反馈。此外,在这个工具的帮助下,我们研究了700多个开源应用程序中安全代码气味的流行程度,并手动检查了大约15%的应用程序,以评估识别这些气味发现ICC安全漏洞的程度。
2018-12-10 cs.CR cs.SE
VUDENC: Vulnerability Detection with Deep Learning on a Natural Codebase for Python
Humboldt-Universität zu Berlin(柏林洪堡大学);University of Paderborn(帕德博恩大学);University of Bern(伯尔尼大学)
识别潜在的易受攻击的代码对于提高我们软件系统的安全性非常重要。然而,软件漏洞的手动检测需要专业知识并且是耗时的,并且必须由自动化技术支持。目的:这种自动化漏洞检测技术应该实现高准确性,将开发人员直接指向易受攻击的代码片段,扩展到真实世界的软件,跨特定软件项目的边界进行概括,并且不需要或仅需要适度的设置或配置工作。方法:在本文中,我们将介绍VUDENC(Vulnerability Detection with深度学习on a Natural Codebase),这是一个基于深度学习的漏洞检测工具,可以自动从大型真实Python代码库中学习易受攻击代码的特征。VUDENC应用word 2 vec模型来识别语义相似的代码标记并提供矢量表示。然后,使用长短期记忆单元(LSTM)网络对易受攻击的代码令牌序列进行细粒度分类,突出显示源代码中可能包含漏洞的特定区域,并为其预测提供置信度。结果如下:为了评估VUDENC,我们使用了来自不同GitHub存储库的1,009个可修复性提交,这些存储库包含七种不同类型的漏洞(SQL注入,XSS,命令注入,XSRF,远程代码执行,路径泄露,Open重定向)用于培训。在实验评测中,VUDENC的召回率为78%-87%,准确率为82%-96%,F1评分为80%-90%。VUDENC的代码、漏洞的数据集和word 2 vec模型的Python语料库都可以复制。结论…
2022-01-20 cs.CR cs.LG cs.SE
Game Rewards Vulnerabilities: Software Vulnerability Detection with Zero-Sum Game and Prototype Learning
本文提出RECON框架,通过零和博弈让校准器学习修复前后代码的语义无关差异,并结合原型学习增强检测器性能,在公开基准上F1分数超越最先进基线6.29%。
2024-01-16 cs.CR cs.SE
Transformer-based Vulnerability Detection in Code at EditTime: Zero-shot, Few-shot, or Fine-tuning?
Microsoft(微软)
本文提出利用预训练 LLM 的零样本、少样本与微调方法,在编辑时对不完整代码检测 250 多种漏洞,性能提升 10%,高风险场景漏洞最多减少 90%。
2023-05-23 cs.AI cs.CR cs.LG
A Systematic Study of Android Non-SDK (Hidden) Service API Security
Android允许应用通过系统服务助手与其系统服务通信,以便这些应用可以使用系统服务提供的各种功能。同时,系统服务依赖于其服务助手来执行安全检查以提供保护。不幸的是,服务助手中的安全检查可能会通过直接利用非SDK(隐藏)API而被绕过,从而降低稳定性并造成严重的安全威胁,例如权限提升,自动执行功能而无需用户交互,崩溃和DoS攻击。Google已经提出了各种方法来解决这个问题,例如,逐个修复bug,甚至提出黑名单来阻止所有非SDK API。然而,开发人员仍然可以找到利用这些隐藏的API来规避非SDK限制的新方法。在本文中,我们系统地研究了由于隐藏的API利用漏洞,并分析了谷歌的对策的有效性。我们的目标是回答在最新的Android 12中是否仍然存在可被利用的易受攻击的隐藏API。我们开发了一个名为ServiceAudit的静态分析工具来自动挖掘服务助手类和隐藏的服务API之间不一致的安全执行。我们将ServiceAudit应用于Android 6~12。我们的工具发现了Android 6中的112个漏洞,其精度高于现有方法。此外,在Android 11和12中,我们发现了超过25个具有不一致保护的隐藏API;然而,在Android 11中,只有一个易受攻击的API会导致严重的安全问题,并且它们都不能在Android 12上工作。
2022-03-17 cs.CR
The (Un)Reliability of NVD Vulnerable Versions Data: an Empirical Experiment on Google Chrome Vulnerabilities
NVD是研究人员用于对漏洞数据集进行实证研究的最受欢迎的数据库之一。我们最近对NVD报告的Chrome漏洞数据进行了分析,发现数据中存在一个异常现象,几乎所有漏洞都源于第一个版本。这启发了我们的实验来验证NVD脆弱版本数据的可靠性。在这个实验中,我们验证了NVD声称易受攻击的每个Chrome版本实际上都是易受攻击的。该实验揭示了Chrome漏洞数据中的几个错误。此外,我们还分析了这些错误如何影响基础脆弱性实证研究的结论。结果表明,由于数据误差的影响,可能会得出不同的结论。
2013-02-17 cs.CR
KotlinDetector: Towards Understanding the Implications of Using Kotlin in Android Applications
Java程序设计语言长期以来一直用于开发原生Android移动应用程序。在过去的几年里,许多公司和自由职业者已经部分或全部改用Kotlin。因此,许多项目都是以二进制文件的形式发布的,并混合使用Java和Kotlin语言结构。然而,这种转变的真正安全和隐私影响尚未得到彻底研究。在这项工作中,开发了一个最先进的工具KotlinDetector,通过执行启发式模式扫描和调用跟踪,直接从Android应用程序包(APK)中提取任何Kotlin的存在,百分比和许多语言功能。我们的评估研究表明,该工具是相当有效和准确的。我们还提供了一个用例,其中KotlinDetector的输出与现有漏洞扫描工具AndroBugs的输出相结合,以推断任何安全和/或隐私影响。
2021-05-20 cs.CR cs.SE
LLbezpeky: Leveraging Large Language Models for Vulnerability Detection
University of Waterloo(滑铁卢大学)
本文提出LLbezpeky,利用大型语言模型构建AI驱动的工作流程以检测Android应用漏洞,实验表明其在Ghera基准中正确标记不安全应用比例达91.67%,并揭示了配置对TP和FP率的影响。
2024-02-13 cs.AI cs.CR cs.SE
Does the Vulnerability Threaten Our Projects? Automated Vulnerable API Detection for Third-Party Libraries
本文提出 VAScanner,通过补丁筛选与增强机制识别漏洞根方法,并结合后向调用图分析检测 Java 项目实际使用的第三方库漏洞 API,显著降低误报和漏报。
2024-09-04 cs.CR cs.SE
Silent Vulnerable Dependency Alert Prediction with Vulnerability Key Aspect Explanation
由于方便,开源软件被广泛使用。出于有益的原因,开源维护者经常默默地修复漏洞,使他们的用户不知道威胁的更新。以往的工作都集中在黑盒二进制检测的沉默的依赖警报,遭受高误报率。开源软件用户需要自己分析和解释人工智能预测。可解释的人工智能作为黑盒人工智能模型的补充变得引人注目,它以各种形式提供细节来解释人工智能决策。注意到仍然没有技术可以及时发现沉默的依赖警报,在这项工作中,我们提出了一个框架,使用编码器-解码器模型与二进制检测器提供可解释的沉默的依赖警报预测。我们的模型生成4种类型的漏洞关键方面,包括漏洞类型,根本原因,攻击向量和影响,以提高可信度和用户接受警报预测。通过几个模型和输入的实验,我们证实了提交消息和代码更改的CodeBERT达到了最佳效果。我们的用户研究表明,可解释的警报预测可以帮助用户更容易地找到沉默的依赖警报比黑盒预测。据我们所知,这是第一个将可解释人工智能应用于无声依赖警报预测的研究工作,打开了相关领域的大门。
2023-02-15 cs.CR cs.SE
CVEfixes: Automated Collection of Vulnerabilities and Their Fixes from Open-Source Software
Simula Research Laboratory(西莫拉研究实验室)
对源代码中安全漏洞的自动发现和修复进行数据驱动的研究需要真实易受攻击的代码及其修复的全面数据集。为了帮助这样的研究,我们提出了一种方法来自动收集和策划一个全面的漏洞数据集,从公共的国家漏洞数据库(NVD)中的常见漏洞和暴露(CVE)记录。我们在一个完全自动化的数据集收集工具中实现了我们的方法,并分享了名为CVEfixes的漏洞数据集的初始版本。CVEfixes收集工具自动从NVD获取所有可用的CVE记录,从相关的开源存储库收集易受攻击的代码和相应的修复程序,并将收集到的信息组织到关系数据库中。此外,数据集还包含了诸如程序设计语言等元数据,以及五个抽象级别的详细代码和安全度量。该集合可以很容易地重复,以保持最新的新发现或修补的漏洞。CVE修复的初始版本涵盖了截至2021年6月9日的所有已发布的CVE,涵盖了1754个开源项目的5365条CVE记录,这些项目在总共5495次漏洞修复提交中得到了解决。CVEfixes支持各种类型的数据驱动的软件安全研究,例如漏洞预测,漏洞分类,漏洞严重性预测,分析与安全性相关的代码更改以及自动漏洞修复。
2021-07-19 cs.AI cs.CR cs.LG
VulSPG: Vulnerability detection based on slice property graph representation learning
漏洞检测是软件安全中的一个重要问题。尽管已经提出了各种数据驱动的漏洞检测方法,但由于现实世界中易受攻击代码在语法和语义上的多样性和复杂性使得难以使用常规深度学习模型提取易受攻击的特征,特别是在分析大型程序时。此外,现实世界中的脆弱代码包含大量与脆弱性无关的冗余信息,这一事实将进一步加剧上述问题。为了缓解这些挑战,我们定义了一种新的代码表示命名为切片属性图(SPG),然后提出VulSPG,一种新的漏洞检测方法,使用改进的R-GCN模型与三重注意力机制,以确定潜在的漏洞SPG。与其他方法相比,我们的方法至少有两个优点。首先,我们提出的SPG可以反映丰富的语义和明确的结构信息,可能是相关的漏洞,同时消除尽可能多的无关信息,以减少图的复杂性。其次,VulSPG在R-GCN中引入了三重注意力机制,以实现从SPG中更有效地学习漏洞模式。我们已经在两个大规模数据集上广泛评估了VulSPG,其中包括来自SARD和真实项目的程序。实验结果证明了VulSPG的有效性和效率。
2021-09-06 cs.CR cs.SE
When Less is Enough: Positive and Unlabeled Learning Model for Vulnerability Detection
Harbin Institute of Technology(哈尔滨工业大学);Central University of Finance and Economics(中央财经大学);Nanyang Technological University(南洋理工大学);Peng Cheng Laboratory(鹏城实验室)
针对漏洞检测中负标签数据不可靠、标注数据质量不足的问题,提出仅用正样本和无标签数据学习的PILOT模型,通过距离感知标签选择和混合监督表示学习提升检测效果。
2023-08-21 cs.AI cs.CR cs.SE
Automated Software Vulnerability Static Code Analysis Using Generative Pre-Trained Transformer Models
Sandia National Laboratories(桑迪亚国家实验室);New Mexico Tech(新墨西哥理工学院)
本文评估了5个开源GPT模型在NIST SARD数据集上自动检测C/C++代码漏洞的效果,发现其假阳性与假阴性率过高,不适合全自动漏洞扫描,但在部分测试用例中表现优于随机采样,最佳模型Llama-2-70b-chat-hf在缓冲区溢出用例上实现了召回率与精确率均为1.0。
2024-07-31 cs.AI cs.CL cs.CR
VulScribeR: Exploring RAG-based Vulnerability Augmentation with LLMs
University of Manitoba(曼尼托巴大学);Washington State University(华盛顿州立大学);University at Buffalo(布法罗大学)
本文提出 VulScribeR,利用大语言模型结合检索增强生成,通过变异、注入和扩展三种策略增强漏洞数据,在多个数据集上显著优于现有方法,并具备低成本大规模增强能力。
2025-08-12 cs.CR cs.LG cs.SE
Security Issues in the Android Cross-Layer Architecture
Android的安全性最近受到了挑战,发现了许多涉及Android堆栈不同层的漏洞。我们认为,这些漏洞在很大程度上与组成Android堆栈的层之间的相互作用有关。因此,我们还认为,从安全的角度来看,这种相互作用被低估了,并且尚未对Android的相互作用进行系统的分析。为此,在本文中,我们提供了一个简单的模型的Android跨层交互流的概念的基础上,作为分析Android的相互作用。特别是,我们的模型允许我们推理与Android中的跨层交互相关的安全问题,包括最近发现的漏洞,该漏洞允许恶意应用程序使Android设备完全没有响应。我们使用该模型对Android跨层架构中的一些流程进行了实证评估。我们的实验表明,Android安全框架(ASF)对Android中的跨层交互几乎没有控制权。特别是,我们观察到ASF缺乏区分流的发起者,并且Android堆栈和Linux内核之间出现了敏感的安全问题,从而表明Android平台的攻击面比预期的更广。
2012-09-04 cs.CR cs.OS
Validating Threat Modeling Results with the Help of Vulnerable Test Applications
Blekinge Institute of Technology(布莱金厄理工学院);Ericsson(爱立信)
本文提出利用已知漏洞的测试应用作为基准,通过比较LLM辅助工具ThreMoLIA与微软威胁建模工具MTMT在AzureGoat和VulnBank上的漏洞覆盖率,验证威胁建模结果的有效性。
2026-05-22 cs.CR
Identifying Vulnerable Third-Party Java Libraries from Textual Descriptions of Vulnerabilities and Libraries
针对现有方法在识别名称复杂相似的易受攻击Java库时准确率低的问题,提出VulLibMiner,结合TF-IDF匹配器与BERT-FNN模型,从漏洞和库的文本描述中识别易受攻击库,并在VulLib数据集上取得F1分数0.657,优于现有方法的0.521。
2023-11-17 cs.CR cs.SE
V-Fuzz: Vulnerability-Oriented Evolutionary Fuzzing
Fuzzing是一种通过使用大量异常输入反复执行软件来发现错误的技术。现有的模糊化方法大多对软件的各个部分进行了平等的考虑,过多地关注如何提高代码覆盖率。这是低效的,因为易受攻击的代码只占整个代码的一小部分。在本文中,我们设计并实现了一个面向兼容性的进化模糊原型V-Fuzz,其目的是在有限的时间内有效地发现错误,快速。V-Fuzz由两个主要部分组成:一个基于神经网络的脆弱性预测模型和一个面向能力的进化模糊器。给定一个二进制程序到V-Fuzz,漏洞预测模型将给出一个关于软件的哪些部分更容易受到攻击的先验估计。然后,模糊器利用进化算法来生成倾向于到达脆弱位置的输入,由脆弱性预测结果引导。实验结果表明,V-Fuzz可以发现错误更有效地比国家的最先进的模糊。此外,V-Fuzz已经发现了10个CVE,其中3个是新发现的。我们报告了新的CVE,它们已得到确认和修复。
2019-01-04 cs.CR
Efficient Avoidance of Vulnerabilities in Auto-completed Smart Contract Code Using Vulnerability-constrained Decoding
Norwegian University of Science and Technology(挪威科技大学);Southeast University(东南大学)
针对大语言模型合成的自动补全代码存在大量漏洞的问题,提出漏洞约束解码方法,通过微调模型生成漏洞标签并在解码时禁止生成,有效降低了以太坊智能合约自动补全中的漏洞率。
2023-10-06 cs.AI cs.CL cs.CR
Okara: Detection and Attribution of TLS Man-in-the-Middle Vulnerabilities in Android Apps with Foundation Models
University of Science and Technology of China(中国科学技术大学);Ocean University of China(中国海洋大学);Monash University(蒙纳士大学)
Okara利用基础模型自动化检测和归因Android应用中的TLS中间人漏洞,发现8374个存在漏洞的应用,揭示第三方库和不安全模式为主要问题,提出新的分类体系并推动责任披露。
2026-03-17 cs.CR
Are Latent Vulnerabilities Hidden Gems for Software Vulnerability Prediction? An Empirical Study
The University of Adelaide(阿德莱德大学);Monash University(莫纳什大学)
本文通过大规模实证研究揭示数据集中被忽视的潜在软件漏洞,发现其虽含约6%噪声,但可使漏洞数量增加4倍,并显著提升函数级和代码行级漏洞预测性能。
2024-01-20 cs.CR cs.LG cs.SE