首页 | 本学科首页   官方微博 | 高级检索  
相似文献
 共查询到20条相似文献,搜索用时 156 毫秒
1.
毛天宇  王星宇  常瑞  申文博  任奎 《软件学报》2023,34(6):2628-2640
随着开源软件技术的不断发展,为提高开发效率并降低人力成本,组件化开发模式逐渐得到行业的认可,开发人员可以利用相关工具便捷地使用第三方组件,也可将自己开发的组件贡献给开发社区,从而形成了软件供应链.然而,这种开发模式必然会导致高危漏洞随组件之间的依赖链条扩散到其他组件或项目,从而造成漏洞影响的扩大化,例如2021年底披露的Log4j2漏洞,通过软件供应链对Java生态安全造成了巨大影响.当前针对Java语言软件供应链安全的分析与研究大多是对组件或项目进行抽样调研,这忽略了组件或项目对整个开源生态的影响,无法精准衡量其对生态所产生的影响.为此,本文针对Java语言生态软件供应链安全分析技术展开研究,首次给出了软件供应链安全领域的组件依赖关系和影响力等重要指标的形式化定义,并依据此提出了基于索引文件的增量式组件配置收集和基于POM语义的多核并行依赖解析,设计实现了Java开源生态组件依赖关系提取与解析框架,收集并提取超过880万个组件版本和6500万条依赖关系.在此基础上,本文以受到漏洞影响的日志库Log4j2为例,全面评估其对生态的影响以及修复比例,结果表明该漏洞影响了生态15.12%的组件(71082个)以及16.87%的组件版本(1488971个)同时仅有29.13%的组件在最新版本中进行了修复.  相似文献   

2.
王飞  崔宝江 《软件》2012,33(12)
代码克隆分析已经被广泛应用,可用于判断源代码是否存在抄袭,是否违反开源代码使用规则等.该种检测主要用于对源代码的抄袭判断,属于静态检测范围.考虑到检测过程是使用大量样本或以开源代码为主形成的数据库,因此可以构建一个以缺陷代码为主的样本集,适用于检测其它软件代码的安全性.本文将通过构造一定的测试样本,验证该方法的可行性和优越性.  相似文献   

3.
软件在国民经济的各个领域占据越来越重要的地位.万物互联的大背景下,信息之间的交互、分析、协同变得越来越普遍,程序/软件之间的依赖关系逐渐增多,这使得人们对系统可靠性和健壮性提出了更高的要求.由开源组件和第三方组件构成的软件供应链,其所面临的安全问题近年来成为了学术界和工业界共同关注的焦点.库函数作为开源软件的重要组成部分,与软件供应链安全有着密切的联系.为了提高软件开发效率,软件库或应用程序编程接口(API)在程序编写过程中会被频繁使用,但库函数中存在的错误或漏洞可能会被攻击者利用,从而损害软件供应链安全.这些错误或漏洞往往与库函数中存在的异常有关,因此本文对适用于库函数的异常分析方法从精度和效率两方面分别进行总结归纳,对于每种异常分析方法的基本思想和重要过程进行阐述,并针对库函数异常分析面临的挑战给出了初步解决思路.对软件供应链中的库函数进行异常分析有助于增强软件系统的健壮性,进而保障软件供应链的安全.  相似文献   

4.
作为当前人工智能快速发展的代表性技术之一,深度神经网络的应用范围越来越广,由此带来的安全性问题也逐渐受到关注。现有研究主要聚焦于如何高效构造多样化的对抗样本,以实现对深度神经网络模型的欺骗,以及如何检测对抗样本并加固深度神经网络模型。但是,随着深度神经网络模型的开发越来越依赖开源数据集、预训练模型和计算框架等第三方资源,模型被植入后门的风险越来越高。从深度神经网络模型生命周期的各个环节出发,对深度神经网络模型后门植入与检测相关技术进行了归纳总结,对比分析了不同技术的主要特征与适用场景,对相关技术未来的发展方向进行了展望。  相似文献   

5.
LKM后门综述   总被引:3,自引:0,他引:3  
LKM后门作为Linux下危害最大的恶意代码,运行在内核层,比传统技术下的后门更隐蔽,功能更强大.本文分析LKM后门的技术原理与威胁,并在此基础上研究各种后门检测方法.这些方法都有局限性,因此多方法融合、有机组合互补将成为LKM后门检测的发展趋势.  相似文献   

6.
冗余代码普遍存在于商业和开源软件中,它的存在可能会增加内存占用,影响代码可维护性,增加维护成本。快速类型分析算法是当前Java冗余代码检测中常用的静态分析方法,该算法在虚方法分析方面还存在一些不足。XTA是一种调用图构造算法,在处理虚方法的调用方面具有较高的精度和效率。文中提出了一种基于XTA调用图构建算法的方法来检测Java代码中的冗余代码,在一个名为“RCD”(Redundant Code Detection)的工具原型中实现了这种方法,并通过构建知识图谱辅助人工审查,以提高人工审查的效率以及冗余代码检测的可信度。通过在4个开源Java应用程序上的实验对RCD与其他3个冗余代码检测工具进行了比较。实验结果表明,RCD在检测冗余代码的准确性方面相比其他工具提高了1%~30%,同时在检测冗余虚方法的完整性方面提升了4%左右。  相似文献   

7.
高恺  何昊  谢冰  周明辉 《软件学报》2024,35(2):581-603
开源软件已经成为现代社会的一项关键基础设施,支撑着几乎所有领域的软件开发.通过安装依赖、API调用、项目fork、文件拷贝和代码克隆等形式的代码复用,开源软件之间形成了错综复杂的供应(依赖)关系网络,被称为开源软件供应链.一方面,开源软件供应链为软件开发提供了便利,已然成为软件行业的基石.另一方面,上游软件的风险可以沿着开源软件供应链波及众多的下游软件,使开源软件供应链呈现牵一发而动全身的特点.开源软件供应链近年来逐渐成为学术界和工业界的关注焦点.为了帮助增进研究人员对开源软件供应链的认识,从整体性的角度,对开源软件供应链给出定义和研究框架;然后,对国内外的研究工作进行系统文献调研,总结结构与演化、风险传播与管理、依赖管理3个方面的研究现状;最后,展望开源软件供应链的研究挑战和未来研究方向.  相似文献   

8.
Web工程中存在的后门给网站安全带来极大风险,针对日益猖獗的后门攻击,文章提出了一种基于静态分析的后门检测技术,该技术通过分析源代码,可以检测出Java语言Web工程中存在的主要后门漏洞,并结合流分析及关键数据传播分析,给出漏洞的完整攻击路径。  相似文献   

9.
当前,开源已经成为软件开发的重要模式之一。由于开源开发模式具有代码来源多样、依赖关系复杂等特点,使得开源软件面临代码漏洞风险、供应链攻击风险、知识产权风险、可持续维护风险等供应链安全问题,且问题呈现出快速增长态势。本文基于对开源软件供应链中的安全风险分析,提出从开源软件安全漏洞检测、软件成分分析、许可证冲突检测、开源生态可持续治理四个方面进行安全治理的方法,指出构建安全软件供应链面临依赖关系复杂、结构脆弱等挑战,对软件成分分析、供应链构建等未来研究方向进行了展望。  相似文献   

10.
开源许可证检测系统的研究*   总被引:1,自引:0,他引:1  
针对软件开发过程中许可证冲突的问题,对QualiPSo(quality platform for open source software)项目中提出的开源许可证检测管理过程进行研究分析,以此为支撑,改进现有的许可证检查控制工具OSLC(open source license checker),并与项目成熟度分析和软件开发质量评估检测软件Spago4Q(spagoBI for quality)集成,开发出自动检测开源许可证冲突的原型系统;阐述了将OSLC发布成Web service的类图设计,以及Spago4Q提取器的设计与实现,力求从法律角度提高开源软件的质量,并给基于开源组件的商业软件开发者一定的建议。  相似文献   

11.
路由器安全问题主要聚焦于内存型漏洞的挖掘与利用,对后门的检测与发现的研究较少。硬编码后门是较常见的后门之一,设置简单方便,仅仅需要少量代码就能实现,然而却难以被发现,往往造成严重的危害和损失。硬编码后门的触发过程离不开字符串比较函数,因此硬编码后门的检测借助于字符串比较函数,主要分为静态分析方法和符号执行方法。前者自动化程度较高,但存在较高的误报率,检测效果不佳;后者准确率高,但无法自动化大规模检测固件,面临着路径爆炸甚至无法约束求解的问题。针对上述问题,在静态分析的基础上,结合污点分析的思想,提出了基于语义冲突的硬编码后门检测方法——Stect。Stect从常用的字符串比较函数出发,结合MIPS和ARM体系结构的特点,利用函数调用关系、控制流图和分支选择依赖的字符串,提取出具有相同起点和终点的路径集合,如果验证成功的路径集合中的字符串具有语义冲突,则判定路由器固件中存在硬编码后门。为了评估 Stect 对路由器硬编码后门的检测效果,对收集的1 074个设备固件进行了测试,并与其他的后门检测方法进行了对比。实验结果表明,相比现有的后门检测方法Costin和Stringer,Stect具有更好的检测效果:从数据集中成功检测出8个固件后门口令,召回率达到88.89%。  相似文献   

12.
随着计算机技术及信息化的高速发展,软件已经广泛应用于各行各业,利用软件后门获取敏感信息的攻击事件不断发生,给国计民生的重要领域带来很大损失.通常,软件后门的隐蔽性和其强大功能之间是矛盾的,冗长的代码、复杂的功能往往导致后门的代码特征或行为特征过于明显.本文借助差分故障分析、逆向分析、高级持续性威胁等技术,给出了一种向分组密码软件植入后门的可行方案,并以DES加密软件为载体进行了实现.我们将后门激活时输出的故障密文、后门未激活时输出的正确密文进行结合,通过差分故障分析最终恢复了完整的DES密钥.该后门具有隐蔽性强、植入简单、危害性大等特点,可作为一种高级持续性威胁的手段.最后,我们给出了该类后门的防御措施,对后门植入和防范问题进行了辩证地讨论.  相似文献   

13.
深度学习利用强大的特征表示和学习能力为金融、医疗等多个领域注入新的活力, 但其训练过程存在安全威胁漏洞, 攻击者容易通过操纵训练集或修改模型权重执行主流后门攻击: 数据中毒攻击与模型中毒攻击。两类攻击所产生的后门行为十分隐蔽, 后门模型可以保持干净样本的分类精度, 同时对嵌入攻击者预定义触发器的样本呈现定向误分类。针对干净样本与触发器样本在拟合程度上的区别, 提出一种基于自定义后门行为的触发器样本检测方案 BackDetc, 防御者自定义一种微小触发器并执行数据中毒攻击向模型注入自定义的后门, 接着通过嵌入自定义触发器设计一种输入样本扰动机制, 根据自定义触发器的透明度衡量输入样本的拟合程度, 最终以干净样本的拟合程度为参照设置异常检测的阈值, 进而识别触发器样本, 不仅维持资源受限用户可负担的计算开销, 而且降低了后门防御假设, 能够部署于实际应用中, 成功抵御主流后门攻击以及威胁更大的类可知后门攻击。在 MNIST、 CIFAR-10 等分类任务中, BackDetc 对数据中毒攻击与模型中毒攻击的检测成功率均高于目前的触发器样本检测方案, 平均达到 99.8%以上。此外, 论文探究了检测假阳率对检测性能的影响, 并给出了动态调整 BackDetc 检测效果的方法, 能够以 100%的检测成功率抵御所有分类任务中的主流后门攻击。最后, 在 CIFAR-10 任务中实现类可知后门攻击并对比各类触发器样本检测方案, 仅有 BackDetc 成功抵御此类攻击并通过调整假阳率将检测成功率提升至 96.2%。  相似文献   

14.
为满足Java静态分布式检测系统对Java程序源代码解耦分包的需求,解决代码检测单节点单进程运行耗时过长问题,实现分布式检测系统单任务多节点并行运行的目的,本文提出了Java源代码文件间依赖性分析方法.该方法以生成源代码文件抽象语法树的方式抽取文件文本信息,遍历分析抽象语法树,获取文件与其他源代码文件类依赖关系,再通过定位类所在的文件方式得到文件与文件之间依赖关系.同时,以无入边顶点的带环有向图表示文件间依赖关系图,本文提出的方法基于该图进行了文件间解耦的分析.最后,通过对示例程序逐步剖析的实验以及对数个开源工具源代码解耦拆分的实验,验证了本文提出的文件间依赖性分析方法的可行性.  相似文献   

15.
邓枭  叶蔚  谢睿  张世琨 《软件学报》2023,34(2):625-654
源代码缺陷检测是判别程序代码中是否存在非预期行为的过程,广泛应用于软件测试、软件维护等软件工程任务,对软件的功能保障与应用安全方面具有至关重要的作用.传统的缺陷检测研究以程序分析为基础,通常需要很强的领域知识与复杂的计算规则,面临状态爆炸问题,导致检测性能有限,在误报漏报率上都有较大提高空间.近年来,开源社区的蓬勃发展积累了以开源代码为核心的海量数据,在此背景下,利用深度学习的特征学习能力能够自动学习语义丰富的代码表示,从而为缺陷检测提供一种新的途径.搜集了该领域最新的高水平论文,从缺陷代码数据集与深度学习缺陷检测模型两方面系统地对当前方法进行了归纳与阐述.最后对该领域研究所面临的主要挑战进行总结,并展望了未来可能的研究重点.  相似文献   

16.
在对现有后门攻击技术进行研究分析的基础上,深入研究了后门的植入方法和隐藏技术并对相应的检测方法进行了讨论。采用相关技术在Linux平台上实现了一个内核级后门代理程序,通过实验测试,该后门代理程序达到了良好的隐藏效果。  相似文献   

17.
There has been considerable interest in the identification of structural properties of combinatorial problems that lead to efficient algorithms for solving them. Some forms of structure, such as properties of the underlying constraint graph, are “easily” identifiable. Others, such as backdoor sets, are of interest because they capture key aspects of state-of-the-art constraint solvers as well as of many real-world problem instances. While backdoors were originally introduced to capture propagation based simplification mechanisms of solvers, they have recently been studied also in the context of tractable syntactic classes such as 2CNF and Horn. These syntactic classes, however, do not capture key aspects of solvers such as empty clause (i.e., violated constraint) detection. We show that incorporating inconsequential sounding features such as empty clause detection has a dramatic impact on both the complexity of finding a backdoor of size k (which becomes harder in the worst case) and on the size of the resulting backdoor (which can become arbitrarily smaller). Empirically, we show that commonly employed polynomial-time “dynamic” constraint propagation mechanisms, such as unit propagation, pure literal elimination, and probing, often lead to much smaller backdoor sets in real-world domains than “statically” defined classes such as Horn and RHorn, thereby capturing structure much more succinctly. We also reveal the inherent limits of the simpler concept of deletion backdoors, specifically by looking at renamable Horn sub-formulas. Finally, we extend the notion of backdoors to incorporate learning during search—a key aspect of nearly all state-of-the-art systematic SAT solvers—and show, both theoretically and empirically, that this drastically reduces the size of the resulting backdoor set. Our results suggest that structural notions explored for designing efficient algorithms for combinatorial problems should capture both statically and dynamically identifiable properties of the combinatorial problem being solved.  相似文献   

18.
Fei Liu  Bixin Li  Rupesh Nasre 《Software》2016,46(5):601-623
Pointer analysis is a key static analysis during compilation. Several client analyses and transformations rely on precise pointer information to optimize programs. Therefore, it is paramount to improve the efficiency of pointer analysis. A critical piece of an inclusion‐based pointer analysis is online cycle detection. The efficiency of pointer analysis is significantly influenced by the efficacy of detecting cycles. Existing approaches perform poorly when they guess cycle formation in the constraint graph. Thus, the number of false cycle‐detection triggers of the state‐of‐the‐art methods is considerably high (over 99% on Standard Performance Evaluation Corporation (SPEC) benchmarks). In this paper, we propose bootstrapping as a way to improve cycle detection predictability of pointer analysis. The main idea is to run a sequence of increasingly precise analyses to feed into the next more precise analysis to improve the efficiency of the latter analysis. In this process, we develop a new notion of pointer equivalence called constraint equivalence. Using Steensgaard's fast unification algorithm as the bootstrap, we devise a new cycle detection method for Andersen's inclusion‐based analysis. We measure the effectiveness of our approach using a suite of programs including SPEC 2000 benchmarks and two open‐source programs, and find that our method can reduce the number of false cycle detections by almost 22× compared with a state‐of‐the‐art method. This leads to an overall analysis time improvement of 18% on an average. Copyright © 2015 John Wiley & Sons, Ltd.  相似文献   

19.
文敏  王荣存  姜淑娟 《计算机应用》2022,42(6):1814-1821
软件安全的根源在于软件开发人员开发的源代码,但随着软件规模和复杂性不断提高,仅靠人工检测漏洞代价高昂且难以扩展,而现有的代码分析工具有较高的误报率与漏报率。为此,提出一种基于关系图卷积网络(RGCN)的自动化漏洞检测方法以进一步提高漏洞检测的精度。首先将程序源代码转换为包含语法、语义特征信息的CPG;然后使用RGCN对图结构进行表示学习;最后训练神经网络模型预测程序源代码中的漏洞。为验证所提方法的有效性,在真实的软件漏洞样本上开展了实验验证,结果表明所提方法的漏洞检测结果的召回率和F1值分别达到了80.27%和63.78%。与Flawfinder、VulDeepecker和基于图卷积网络(GCN)的同类方法相比,所提方法的F1值分别提高了182%、12%和55%,可见所提方法能有效提高漏洞检测能力。  相似文献   

20.
针对基于程序特征码检测清除后门代码的传统方法容易存在漏检的问题,在分析内嵌作弊型后门程序结构和后门激活机制的基础上,获得了利用合法消息建立后门控制信息传输隐通道的最小条件,提出一种基于打破后门激活条件预防作弊型后门的应用程序模型.通过对合法消息进行检查、缓冲和转换,拦截携带隐蔽信息的合法消息,打破隐藏于其中的后门控制信息编码,并通过事件日志审计检测漏过的非法操作和后门活动.在基于PC虚拟称重仪器上进行了实验,实验结果表明了该模型保护应用程序防御后门作弊的有效性.  相似文献   

设为首页 | 免责声明 | 关于勤云 | 加入收藏

Copyright©北京勤云科技发展有限公司  京ICP备09084417号