An Empirical Study of Rule-Based and Learning-Based Approaches for Static Application Security Testing
背景:静态应用程序安全测试(SAST)工具旨在帮助开发人员检测源代码中的安全问题。这些工具通常使用基于规则的方法来扫描源代码中的安全漏洞。然而,由于这些工具的显著缺点(即,误报率高),基于学习的软件漏洞预测(SVP)方法正在成为一种流行的方法。目标:尽管这两种方法的目标相似,但它们的比较价值尚未探讨。我们提供了一个实证分析SAST工具和SVP模型,以确定其相对能力的源代码安全分析。方法:我们评估了几种常见的SAST工具和SVP模型在各种漏洞数据集上的检测和评估性能。我们进一步评估的可行性和潜在的好处相结合的两种方法。结果如下:SAST工具和SVP模型提供类似的检测功能,但SVP模型在检测和评估方面表现出更好的整体性能。由于缺乏协同作用,这两种方法很难统一。结论:我们的研究产生了12个主要发现,这些发现提供了对这两种方法的能力和协同作用的见解。通过这些观察,我们提供了使用和改进的建议。
2021-07-16 cs.SE
Automated Software Testing Starting from Static Analysis: Current State of the Art
复杂软件的大规模生产使得人工测试其安全漏洞变得不可能。自动化安全测试工具有各种各样的风格,在软件开发的各个阶段发挥作用,并针对不同类别的软件漏洞。我们有大量的自动化工具可供选择,这很好,但问题是它们的采用和认可并不突出。本研究的目的是探索现有技术的可能性,同时也通过探索安全测试工具和相关技术的未来来拓宽视野。
2023-01-15 cs.SE
Risk Assessment, Threat Modeling and Security Testing in SDLC
软件开发过程被认为是创建所述软件的关键准则之一,这种方法对于提供更有效但令人满意的输出是必要的。如果不将工作分成不同的阶段,可能会导致项目过程的许多延迟和效率低下,这种混乱会直接影响产品质量和可靠性。此外,随着这种方法被确立为任何项目的标准,由于缺乏认识,在涉及安全方面肯定会出现失误。因此,本研究的目的是确定和阐述的结果和理解的安全集成到软件开发过程中,以及相关的个人角色,以确保这种安全性得到维护。通过对文献的深入分析和回顾,本文展示了确保软件开发过程安全的正确过程和方法。与此同时,还讨论了与这一主题有关的某些问题,并提出了适当的解决办法。此外,在深入的讨论有关的方法,如安全测试,风险评估,威胁建模和其他技术,能够创建一个更安全的环境和系统的方法在软件开发过程中进行。
2020-12-14 cs.SE
Applying Security Testing Techniques to Automotive Engineering
本文系统分类了现有安全回归测试方法,分析其抽象级别、安全问题、测试技术、工具支持与评估情况,并指出未来研究方向。
2023-09-18 cs.CR cs.SE
Collaborative Application Security Testing for DevSecOps: An Empirical Analysis of Challenges, Best Practices and Tool Support
DevSecOps是一种软件开发范式,高度重视开发人员(Dev),安全(Sec)和运营(Ops)团队之间的协作文化,以持续快速地交付安全软件。因此,要有效地采用这一模式,就需要了解这些职能团队之间协作的挑战、最佳做法和可用解决方案。然而,与这些团队相关的协作方面在DevSecOps文献中很少受到实证关注。因此,我们提出了一项研究,重点是一个关键的安全活动,应用程序安全测试(AST),从业者面临的困难,在DevSecOps环境中进行协作工作。我们的研究新颖地使用了48个系统选择的网络研讨会,技术讲座和小组讨论作为数据源,以定性分析软件从业者对这个高度发展的领域的最新趋势和新兴解决方案的讨论。我们发现,AST工具本身缺乏促进协作的功能是DevSecOps中与工具相关的关键挑战。此外,缺乏与角色定义、共享目标和所有权相关的清晰度也阻碍了协作AST(CoAST)。我们还收集了一系列协作的最佳实践(例如,左移安全性)、新兴的通信方法(例如,ChatOps)和新的团队结构(例如,混合团队)的海岸。最后,我们的研究确定了新工具功能的几个要求和未来研究的具体差距领域,为DevSecOps中的CoAST提供更好的支持。
2022-11-25 cs.SE
Testing Security Policies for Distributed Systems: Vehicular Networks as a Case Study
由于分布式系统的复杂性不断增加,安全测试在确保这些系统的可靠性方面变得越来越重要。.为了挑战这个问题,我们依靠在本文1基于模型的主动测试。在本文中,我们提出了一个框架来指定安全策略和测试其实现。我们的框架可以自动生成测试序列,以验证安全策略的一致性。这个框架包含了几个新的方法来简化测试用例的生成。为了证明我们的框架的可靠性,我们提出了一个车载网络系统作为一个正在进行的案例研究。
2014-10-17 cs.CR cs.SE
Hardening with Scapolite: a DevOps-based Approach for Improved Authoring and Testing of Security-Configuration Guides in Large-Scale Organizations
安全强化是配置IT系统的过程,以确保系统组件及其处理或存储的数据的安全性。在许多情况下,所谓的安全配置指南被用作安全强化的基础。这些指南介绍了操作系统和标准应用程序等组件的安全配置设置。必须严格测试安全配置指南及其执行和验证的自动化机制,因为错误执行或检查强化指南可能严重影响系统的安全和功能。在西门子,集中维护的安全配置指南携带机器可读的信息,指定每个所需配置步骤的实施和验证。指南在git存储库中维护;自动化管道生成用于实现和检查的工件,例如,适用于Windows的PowerShell脚本,并在AWS映像上对这些工件进行测试。本文描述了我们的经验与我们的DevOps启发的方法来创作,维护和测试安全配置指南。我们希望分享这些经验,以帮助其他组织加强安全性,从而提高其系统的安全性。
2022-09-19 cs.CR cs.SE
Semantic Similarity-Based Clustering of Findings From Security Testing Tools
Technical University of Munich(慕尼黑工业大学);Siemens Technology(西门子科技);LMU Munich(慕尼黑大学)
在过去的几年里,具有高安全性要求的领域中的软件开发从传统方法过渡到将现代方法与软件开发和运营(DevOps)相结合。DevOps的关键原则越来越重要,现在被应用于软件开发的安全方面,从而实现了安全增强活动的自动化。特别是,通常的做法是使用自动化的安全测试工具,这些工具在从多个角度检查软件工件之后生成报告。然而,这带来了产生重复安全调查结果的挑战。为了手动识别这些重复的发现,安全专家必须投入时间,精力和知识等资源。这个过程的部分自动化可以减少分析工作,鼓励DevOps原则,并减少人为错误的机会。在这项研究中,我们研究了应用自然语言处理聚类语义相似的安全结果,以支持识别特定问题的重复结果的潜力。为了实现这一目标,我们开发了一个Web应用程序,用于注释和评估安全测试工具报告,并发布了一个人工注释的聚类安全发现语料库。此外,我们进行了不同的语义相似性技术的比较,自动分组的安全调查结果。最后,我们使用定量和定性的评价方法来评估所产生的集群。
2022-11-20 cs.CL cs.SE
A Formal Model to Facilitate Security Testing in Modern Automotive Systems
确保汽车的内部系统没有安全漏洞是至关重要的,特别是由于安全性和其他属性之间的关系,如安全性和可靠性。我们提供了一个基于模型的框架,旨在支持现代汽车的安全测试的起点。我们使用通信顺序进程(CSP)创建的车辆总线系统的架构模型,以及对这些系统的攻击的初始设置。虽然这一贡献是初步的步骤,我们注意到生成测试代码的最终目标,以行使车辆总线系统的安全性。我们提出了从创建的模型前进的方向,并考虑其与商业工程工具的潜在集成
2018-05-15 cs.CR cs.SE
Rely-guarantee Reasoning about Concurrent Memory Management: Correctness, Safety and Security
本文首次对 Zephyr RTOS 并发内存管理进行形式化规范与机械化证明,扩展 PiCore 框架以验证完整性,并在功能验证中发现 C 实现中的三个缺陷。
2023-09-17 cs.SE
Did You Remember to Test Your Tokens?
身份验证是确认系统用户身份的关键安全功能,通常在Spring Security等框架的帮助下实现。这是一个复杂的功能,应该在开发的所有阶段进行可靠的测试。单元测试是一种有效的技术,用于细粒度验证未广泛用于测试身份验证的特征行为。部分问题在于帮助开发人员进行单元测试安全特性的资源有限。大多数安全测试指南推荐的测试用例都是从“黑盒”或渗透测试的角度出发的。这些资源对于编写新的单元测试的开发人员,或者想要从安全性的角度来看待覆盖率的开发人员来说并不容易。在本文中,我们通过应用一种基于理论的方法来解决这些问题,通过分析来自53个开源Java项目的481个JUnit测试来识别令牌身份验证的常见(单元)测试用例。本研究的结果是一个开发人员友好的单元测试指南,该指南被组织为53个令牌身份验证测试用例的目录,代表了从我们分析的数据集中学习到的17个场景、40个条件和30个预期结果的独特组合。我们在测试指南中补充了常见的测试气味,以避免。为了验证测试指南的准确性和实用性,我们从选定的开发人员那里寻求反馈,其中一些人在我们的数据集中编写了单元测试。
2020-06-25 cs.SE
Security Testing of RESTful APIs With Test Case Mutation
针对RESTful APIs安全测试人工执行耗时长、难度高的问题,提出基于测试用例变异的自动化方法,定义17种专用安全测试变异算子及对应算法,并在4个Web服务组合上验证了其有效性与性能。
2024-03-06 cs.CR cs.SE
Integrating Threat Modeling and Automated Test Case Generation into Industrialized Software Security Testing
工业物联网(IIoT)应用为推动工业生产效率的提高提供了一系列全新的可能性。然而,随着系统之间的高度集成,后者面临着过多的新威胁,因为它们尚未被设计为广泛可达和互操作。为了缓解这些大量的新威胁,系统化和自动化的测试方法是必要的。这种全面性可以通过彻底的威胁建模来实现。为了自动化安全测试,我们提出了一种方法,自动化的测试过程中,从威胁建模向前,关闭之间的差距威胁建模和自动化测试用例生成。
2019-11-15 cs.CR cs.SE
Investigating Developer-Reported Software Security Testing Challenges
University of Alabama(阿拉巴马大学)
本研究通过分析Stack Overflow上的17,743个问题,识别出582个软件安全测试相关讨论,构建了8类31子类的挑战分类法,发现开发者主要面临结果解释、工具选择、认证测试和集成等挑战,且这些挑战随时间演变,为改进SST实践提供了依据。
2026-09-14 cs.CR cs.SE
Comparing Effectiveness and Efficiency of Interactive Application Security Testing (IAST) and Runtime Application Self-Protection (RASP) Tools in a Large Java-based System
本研究在大型Java系统OpenMRS上比较IAST与RASP等安全工具,发现IAST在效率和有效性上均居第二,能检测八个OWASP Top-10风险,是黑盒测试的有力补充工具。
2023-12-29 cs.CR cs.SE
AIM: Automated Input Set Minimization for Metamorphic Security Testing
针对蜕变安全测试因输入集规模大导致测试效率低的问题,提出AIM方法,通过聚类、遗传算法和问题约简实现输入集最小化,在Jenkins和Joomla上可缩短80%以上测试时间且保持检测能力,漏洞覆盖率优于现有基线。
2024-10-24 cs.CR cs.SE
Adaptive and AI-Augmented Security Testing: A Systematic Survey of Program Analysis, Feedback-Driven Testing, and Hybrid Learning-Based Approaches
Mississippi State University(密西西比州立大学)
本文系统综述了自适应和AI增强的安全测试研究,探讨了程序分析、DevSecOps、反馈驱动模糊测试、LLM自动化测试生成及混合系统等五个领域,揭示了结构化程序表示与自适应测试机制之间的断层,并提出五个开放研究挑战。
2026-04-29 cs.CR cs.PL cs.SE
A Model Based Framework for Testing Safety and Security in Operational Technology Environments
提出基于模型的测试框架,分四部分分析运营技术环境的安全与防护行为,以保护组件并提升系统质量与效率。
2023-06-22 cs.SE cs.SY eess.SY
RAN Tester UE: An Automated Declarative UE Centric Security Testing Platform
本文提出自动化、可扩展且以 UE 为中心的 RAN Tester UE 声明式安全测试框架,并在基于商用硬件与开源软件的 5G 软件无线电测试床上验证其测试流程的效率和可复现性。
2025-05-16 cs.CR cs.SE cs.SY
Execution-Grounded Security Testing for Coding Agents in Software Engineering Pipelines
Nanjing University(南京大学);Nanyang Technological University(南洋理工大学);Hainan University(海南大学)
研究针对软件工程流水线中编码代理的安全问题,提出基于执行的红队测试框架,利用沙盒证据探测安全边界,将不安全操作嵌入工作负载并借助执行预言机优化,通过实验大幅增加不安全执行验证率,凸显编码代理需更强安全测试。
2026-07-28 cs.AI cs.SE
Automated Testing of Broken Authentication Vulnerabilities in Web APIs with AuthREST
提出开源安全测试工具 AuthREST,通过自动化检测撞库、密码暴力破解及未检查令牌真实性等问题,有效提升 Web API 安全性,并成功在四个公共 API 中发现未知身份验证漏洞。
2025-09-12 cs.CR cs.SE
Vulnerabilities Mapping based on OWASP-SANS: a Survey for Static Application Security Testing (SAST)
为安全的应用程序开发提供适当的框架对于应用程序开发团队将安全性集成到其开发生存周期中具有真正的价值,特别是当移动或Web应用程序越过扫描阶段并越来越关注基于静态应用程序安全测试(SAST)的补救或缓解阶段时。据作者所知,行业标准的开放式Web应用程序安全项目(OWASP)前10个漏洞和CWE/SANS前25个最危险的软件错误第一次在一个矩阵中与Checkmarx漏洞查询同步,产生一个应用程序安全框架,帮助开发团队审查和解决代码漏洞,最大限度地减少静态扫描和渗透测试中发现的误报,目标是提高调查结果的准确性。以一个概念验证的移动恶意软件检测应用程序为例进行了漏洞扫描的案例研究。通过Checkmarx漏洞查询映射OWASP/SANS,证明了漏洞和漏洞的缓解与提高的效率。
2020-07-03 cs.CR cs.SE
Combining LLM and Dynamic Analysis for Universal Testing of Static Application Security Testing Tools
The University of Hong Kong(香港大学);the Hong Kong Polytechnic University(香港理工大学);Concordia University(康考迪亚大学)
本文提出LLM4SAST框架,结合LLM与动态分析测试SAST工具,可高效检测SAST工具故障,减少误报,检测故障数量为现有方法3.4倍,仅需39.8%的变体,66个故障中32个获开发者确认修复。
2026-10-16 cs.CR cs.SE
"False negative -- that one is going to kill you": Understanding Industry Perspectives of Static Analysis based Security Testing
本研究通过对20名不同背景从业者的半结构化访谈,探究开发者对SAST工具的认知、期望与挑战,得出17项关键发现并提出未来研究方向,为SAST工具优化提供依据。
2024-06-18 cs.CR cs.SE
Automated Penetration Testing: Formalization and Realization
针对手动渗透测试劳动密集问题,提出自组织架构并在ADAPT工具中实现,成功自动测试多个目标系统,验证了自动化渗透测试的可行性。
2024-12-17 cs.CR cs.SE
Evaluating and Improving Static Application Security Testing Tools for Rust
University of Hong Kong(香港大学);Nanjing University(南京大学);Hong Kong Polytechnic University(香港理工大学);Concordia University(康考迪亚大学)
本文评估主流Rust SAST工具的有效性与弱点,提出LLM辅助的TRUST框架,发现6种SAST工具的46个故障,为改进Rust SAST工具提供指导。
2026-10-16 cs.CR cs.SE
A Formal Assisted Approach for Modeling and Testing Security Attacks in IoT Edge Devices
随着物联网设备数量的快速增长,这些系统的安全性成为一个主要问题。由于这些设备资源有限,安全措施难以在边缘实施。我们提出了一种基于形式化建模和突变测试的物联网设备攻击检测新方法。也就是说,我们将运动传感器和RFID阅读器等小型物联网设备的行为建模为具有超时的状态机。我们还对基本的物联网攻击进行了建模,即电池耗尽、睡眠剥夺、数据伪造、重放和中间人攻击,作为这些规范的特殊突变体。我们还考虑用于检测实际物理设备操作的测试。然后使用突变测试来导出将这些攻击与原始规范区分开的测试。通过对这些突变体进行测试,在真实环境中测试它们的行为。我们的实验表明,派生的攻击突变体和测试的数量是小的,因此这些测试可以执行多次,在物理设备上的开销有限。因此,我们的方法不会受到传统突变检测相关高成本的阻碍。此外,我们还表明,通过我们的方法得出的测试覆盖了所有物联网攻击,但没有提供使用传统的基于突变代码的算子得出的突变体的良好覆盖率,这表明需要使用我们的方法。一个框架,实现我们的方法,以及其他一些相关的案例研究。
2022-10-11 cs.CR cs.SE
Large Language Models for Code: Security Hardening and Adversarial Testing
ETH Zurich(苏黎世联邦理工学院)
针对大语言模型生成代码安全性不足的问题,提出基于学习的SVEN方法,通过属性连续向量实现受控代码生成,在不改动模型权重的同时有效实现安全强化与对抗测试,且功能正确性接近原模型。
2024-08-16 cs.CR cs.LG cs.PL
An Extensive Comparison of Static Application Security Testing Tools
本研究通过150万次测试执行,对静态应用安全测试工具进行全面评估,发现其精确率高但召回率低,建议改进重点应放在提升召回率和扩大漏洞检测类型上。
2024-03-14 cs.CR cs.CY cs.SE
ASEval: Automated Trajectory-Level Security Testing for Autonomous Agents
Tsinghua University(清华大学)
本文提出了一种针对基于大语言模型(LLM)的代理系统的多维规避框架,通过引入时间、空间和语义三种隐蔽攻击向量,系统地量化了这些威胁,并展示了其在实际威胁场景中的效果,揭示了现有自主代理系统在架构层面的系统性漏洞。
2026-07-27 cs.AI cs.CR cs.SE
GraphQLer: Enhancing GraphQL Security with Context-Aware API Testing
Simon Fraser University(西蒙菲莎大学);Forward Security
GraphQLer是一款开源GraphQL API安全测试框架,通过构建依赖图合成漏洞链,在多类API上的漏洞检测和覆盖率表现显著优于ZAP、EvoMaster等基线工具。
2026-08-05 cs.CR cs.SE
Field-based Security Testing of SDN configuration Updates
本文针对卫星通信领域SDN配置更新中的安全验证难题,提出基于现场的安全测试方法FISTS,通过更新前后探测网络并结合无监督机器学习优先检查可疑节点,在真实与模拟数据中表现出高精确率、召回率及良好可扩展性。
2024-11-13 cs.NI cs.SE
Barriers to Using Static Application Security Testing (SAST) Tools: A Literature Review
Montana State University(蒙大拿州立大学)
本文通过文献调研,揭示开发者未广泛采用静态应用安全测试(SAST)工具的障碍,指出需兼顾技术与人为因素以推动其广泛使用。
2026-09-03 cs.CR cs.SE
Structuring a Comprehensive Software Security Course Around the OWASP Application Security Verification Standard
软件从业人员缺乏安全专业知识是一个有许多影响的问题。首先,安全专业人员短缺,无法满足当前的需要。此外,即使不打算从事安全工作的从业人员也可以从对安全的更多理解中受益。本文的目的是通过分享第十一次软件安全课程的运行经验,帮助软件工程教育工作者设计一门综合性的软件安全课程。通过运行软件安全课程的所有十一年,课程目标是全面的-从安全测试,安全设计和编码,安全要求到安全风险管理。在第十一年,课程作业的主题是将漏洞发现映射到开放式Web应用程序安全项目(OWASP)应用程序安全验证标准(ASVS)的安全控制。根据学生在最终探索性渗透测试项目中的表现,这种映射可能增加了学生对更广泛的安全主题的理解深度。在OpenMRS项目中,学生们在三个小时的时间内有效地检测到了28种不同的常见弱点枚举(CWE)类型的191个独特和经过验证的漏洞,OpenMRS项目是一个正在使用的电子健康记录应用程序。
2021-03-08 cs.CR cs.SE
AutoSafeCoder: A Multi-Agent Framework for Securing LLM Code Generation through Static Analysis and Fuzz Testing
University of Texas at San Antonio(德克萨斯大学圣安东尼奥分校);University of Amsterdam(阿姆斯特丹大学);Florida International University(佛罗里达国际大学)
AutoSafeCoder提出多智能体框架,通过编码、静态分析和模糊测试智能体协作,在代码生成中迭代集成动态与静态测试,使漏洞减少13%且不影响功能。
2024-11-05 cs.AI cs.SE
An In-memory Embedding of CPython for Offensive Use
我们提供了一个CPython的嵌入,它完全在内存中运行,而不“接触”磁盘。这种内存嵌入可以直接从内存中加载Python脚本,而不是从磁盘上的文件中加载这些脚本。仅驻留在内存中的恶意软件更难检测或缓解。我们希望我们的工作能被安全研究人员用来快速开发和部署攻击性技术,这些技术是安全产品难以分析的,因为这些指令是字节码,只能在执行前由解释器翻译成机器码。我们的工作有助于安全研究人员和企业红队谁发挥进攻。Red Teams希望为他们的定期活动快速制作恶意软件原型,并且不希望他们的恶意软件在完成目标之前被事件响应(IR)团队检测到。红队也很难从磁盘上的文件在生产中运行恶意软件,因为现代企业安全产品会模拟,检查或隔离这些文件,因为这些文件没有声誉。我们的工作还帮助企业Hunt和IR团队了解这种攻击的可行性。我们的方法已经在生产中使用了一年多,满足了客户快速模拟威胁参与者的任务、技术和程序(TTP)的需求。
2021-05-04 cs.CR cs.SE
Memoir: Learning, Verifying, and Evolving False-Positive Memories for Static Application Security Testing Tools
Harbin Institute of Technology, Shenzhen(哈尔滨工业大学(深圳));Fudan University(复旦大学)
本研究针对SAST工具的误报问题,提出Memoir框架,通过构建与演化语义记忆实现误报识别,在CWE-Bench-Java上表现优异,且记忆库可跨工具泛化。
2026-10-26 cs.CR cs.SE
Comparison of Static Application Security Testing Tools and Large Language Models for Repo-level Vulnerability Detection
Singapore Management University(新加坡管理大学);Hanoi University of Science and Technology(河内理工大学);The University of Melbourne(墨尔本大学);University of Melbourne(墨尔本大学)
本文比较了15种SAST工具与12种开源LLMs在Java、C和Python仓库级漏洞检测中的表现,发现集成两者可缓解SAST低检测率与LLMs高误报率的缺点。
2024-07-23 cs.AI cs.SE
Weak Memory Demands Model-based Compiler Testing
本文指出处理器对宽松内存模型的利用使编译后并发程序暴露新缺陷,提出需发展基于模型的编译器测试,并通过LLVM工具链缺陷案例探讨其对编译器、测试工具和并发测试生成器的广泛影响。
2024-01-12 cs.AR cs.PL cs.SE
Autosploit: A Fully Automated Framework for Evaluating the Exploitability of Security Vulnerabilities
Ben-Gurion University of the Negev(内盖夫本-古里安大学);NEC Corporation(日本电气公司)
系统中存在安全漏洞并不一定意味着它可以被利用。在这项研究中,我们介绍了Autosploit -一个自动化的框架,用于评估漏洞的可利用性。给定易受攻击的环境和相关漏洞,Autosploit将自动在环境的不同配置上测试漏洞,以确定成功利用现有漏洞所需的特定属性。由于测试所有可能的系统配置是不可行的,我们引入了一个有效的方法来测试和搜索所有可能的配置环境。Autosploit实现的高效测试过程基于两种算法:广义二进制分裂和Barinel,分别用于无噪声和噪声环境。我们实现了所提出的框架,并使用真正的漏洞进行评估。结果表明,Autosploit能够自动识别影响在无噪声和噪声环境中利用漏洞的能力的系统属性。这些重要结果可用于更准确和有效的风险评估。
2020-06-30 cs.AI cs.CR cs.SE
Compiler Testing With Relaxed Memory Models
针对现有并发编译器测试技术无法兼顾边界内漏洞覆盖与大规模程序可扩展性的问题,提出工业级测试工具Téléchat,通过对比源与架构内存模型下的程序行为发现漏洞,性能优于现有技术且已部署应用。
2024-01-29 cs.AR cs.PL cs.SE