左移测试,如何确保安全合规还能实现高度自动化?

简介: 「云原生安全既是一种全新安全理念,也是实现云战略的前提。基于蚂蚁集团内部多年实践,云原生PaaS平台SOFAStack发布完整的软件供应链安全产品及解决方案,包括静态代码扫描Pinpoint,软件成分分析SCA,交互式安全测试IAST,运行时防护RASP,安全洞察Appinsight等,帮助企业客户应用软件实现『发布前检测,运行时免疫』。本周,我们将持续分享解读四大产品。」

数字化时代软件已经成为人类社会基础设施的重要组成部分,软件与个人生活、社会民生、国家发展均日渐紧密,如何更好的保障软件安全成为各行业关注的焦点。

相关数据显示,75%的黑客攻击发生在应用层。一款软件产品从开发,测试,上线,在各个阶段均存在引入安全风险的可能,例如危险开源组件的使用、自研代码缺陷漏洞引入、容器镜像漏洞引入等。这些风险会导致软件系统的整体安全防护难度越来越大,以上这些风险,统称为软件供应链安全风险。

SOFAStack静态代码安全扫描产品Pinpoint是国内应用实践最广泛的静态代码安全产品之一,近期首批入选中国信通院「软件供应链安全」产品名录,并通过了公安部计算机信息系统安全产品质量监督检测中心权威测评,符合《信息安全技术软件源代码安全缺陷产品检测条件》相关要求。

1 左移测试,Pinpoint实现静态代码扫描

静态代码扫描是指在不运行代码的方式下,通过词法分析、语法分析、控制流、数据流分析等技术对软件代码进行扫描,验证代码是否满足规范性、安全性、可靠性、可维护性等指标的一种代码分析技术。
图1.png

2 五大优势,快速完成百万行代码检测

SOFAStack静态代码安全扫描产品Pinpoint通过自研的分析引擎技术,能够在均衡分析精度、速度、深度的同时得到较好的分析结果。产品无需构造测试用例,即可自动寻找软件编码错误,可以让程序员迅速理解和修复问题,从而投入更多的时间到创造性的工作中。
图2.png
-分析能力精准:Pinpoint采用了更为先进的静态分析技术,能找到更多和更难以人工找到的软件问题。这主要得益于Pinpoint独创的符号约束模型,高精度的指针分析和快速的约束求解算法,能对大型软件进行精确的全路径和深度的函数调用上下文分析,减少误报产生。
-覆盖全面:Pinpoint的分析能力覆盖完整系统,进行跨模块跨函数的全文分析。多套分析引擎可同时覆盖代码安全漏洞,代码质量缺陷,代码风格合规等分析场景。
-分析快速:对于动辄上百万行代码,且每分钟都在更新的大型软件而言,极难做到快速反应。Pinpoint采取多档位扫描技术,用轻量级分析,快速查找逻辑相对简单的错误。根据测试,对于Java代码,Pinpoint能在1小时内完成百万行代码级别的项目分析。
-适应不同分析场景:Pinpoint是市面上唯一一款可覆盖源代码扫描,二进制审计,应用依赖审计三种分析方式的静态分析产品。适应系统外包开发,系统内部开发,系统增量部署,中间件封装等多种开发场景。对于没有代码的应用,Pinpoint能够基于反编译后的代码进行展示,达到函数级别的代码匹配。
-易于理解和修复的缺陷解释:在具有优越的找错能力的同时,Pinpoint 能够给出准确的错误触发路径,以此来助力程序员理解和修复发现的软件问题。
图3.png

3 典型案例:金融、制造多领域落地应用

目前,Pinpoint产品已经在金融、制造、教育、互联网等行业规模化落地实践,包括南京银行、浙江农信、中泰证券、珠海格力、广东电网等。

  • 中泰证券,Pinpoint产品与中泰自研蜂鸟效能平台项目进行对接,在集成构建阶段,实现源代码的自动化扫描,满足证券行业《证券公司网络和信息安全三年提升计划(2023-2025)》相关要求。
  • 在广东电网信息测评实验室,Pinpoint支撑了ARM架构下运行的程序的源代码分析工作,支持源代码扫描与分析、代码扫描策略配置、缺陷管理、安全知识库等功能,帮助实验室建立了自主可控操作系统下的源代码分析的能力,完成多编程语言的源代码安全缺陷分析工作。
  • 珠海格力,基于Pinpoint增强的C/C++扫描能力,产品支持格力在嵌入式场景下错误异常处理,逻辑错误,内存与资源误用等问题检测,满足中国电子行业软件测试标准SJ/T 11682-2017(C/C++)标准,帮助格力更好的进行智能装备关键技术及产品的研发。
相关文章
|
14天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
64 8
|
21天前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
22天前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
21天前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
31 1
|
23天前
|
Java 测试技术 API
探索软件测试中的自动化框架选择####
在当今快节奏的软件开发周期中,自动化测试已成为确保产品质量与加速产品迭代的关键策略。本文深入剖析了自动化测试的核心价值,对比分析了市场上主流的自动化测试框架,旨在为项目团队提供选型时的考量因素及实践指南,助力高效构建适应未来变化的自动化测试体系。 ####
|
7天前
|
机器学习/深度学习 人工智能 jenkins
探索软件测试中的自动化与持续集成
【10月更文挑战第21天】 在软件开发的生命周期中,软件测试扮演着至关重要的角色。随着技术的进步和开发模式的转变,自动化测试和持续集成已经成为提高软件质量和效率的关键手段。本文将深入探讨自动化测试和持续集成的概念、实施策略以及它们如何相互配合以优化软件开发流程。我们将通过分析实际案例,展示这些技术如何在实际项目中发挥作用,以及面临的挑战和解决方案。此外,文章还将讨论未来趋势,包括人工智能在测试领域的应用前景。
45 17
|
19天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
21天前
|
前端开发 JavaScript 测试技术
前端自动化测试
前端自动化测试是通过使用工具和脚本自动执行测试用例的过程,旨在提高测试效率、减少人为错误,并确保Web应用的功能在不同环境和设备上的一致性与稳定性。
|
20天前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
49 4
|
20天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
30 4