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

简介: 「云原生安全既是一种全新安全理念,也是实现云战略的前提。基于蚂蚁集团内部多年实践,云原生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++)标准,帮助格力更好的进行智能装备关键技术及产品的研发。
相关文章
|
5天前
|
jenkins 测试技术 持续交付
软件测试中的自动化与持续集成:提升效率与质量的关键
在快节奏的软件开发环境中,自动化测试和持续集成已经成为不可或缺的部分。本文将探讨自动化测试和持续集成的重要性,以及它们如何协同工作以提高软件开发的效率和质量。通过分析自动化测试的策略、工具选择以及持续集成的实践,我们将揭示这些技术如何帮助开发团队快速响应变化,减少错误,并加速产品上市时间。
|
4天前
|
人工智能 前端开发 测试技术
探索软件测试中的自动化框架选择与优化策略####
本文深入剖析了当前主流的自动化测试框架,通过对比分析各自的优势、局限性及适用场景,为读者提供了一套系统性的选择与优化指南。文章首先概述了自动化测试的重要性及其在软件开发生命周期中的位置,接着逐一探讨了Selenium、Appium、Cypress等热门框架的特点,并通过实际案例展示了如何根据项目需求灵活选用与配置框架,以提升测试效率和质量。最后,文章还分享了若干最佳实践和未来趋势预测,旨在帮助测试工程师更好地应对复杂多变的测试环境。 ####
20 4
|
4天前
|
机器学习/深度学习 人工智能 jenkins
软件测试中的自动化与持续集成实践
在快速迭代的软件开发过程中,自动化测试和持续集成(CI)是确保代码质量和加速产品上市的关键。本文探讨了自动化测试的重要性、常见的自动化测试工具以及如何将自动化测试整合到持续集成流程中,以提高软件测试的效率和可靠性。通过案例分析,展示了自动化测试和持续集成在实际项目中的应用效果,并提供了实施建议。
|
10天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
11天前
|
Java 测试技术 持续交付
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
本文重点讲解如何搭建App自动化测试框架的思路,而非完整源码。主要内容包括实现目的、框架设计、环境依赖和框架的主要组成部分。适用于初学者,旨在帮助其快速掌握App自动化测试的基本技能。文中详细介绍了从需求分析到技术栈选择,再到具体模块的封装与实现,包括登录、截图、日志、测试报告和邮件服务等。同时提供了运行效果的展示,便于理解和实践。
46 4
【入门思路】基于Python+Unittest+Appium+Excel+BeautifulReport的App/移动端UI自动化测试框架搭建思路
|
7天前
|
测试技术 持续交付 Docker
探索软件测试中的自动化策略与挑战
在当今快节奏的软件开发周期中,自动化测试已成为提高产品质量和缩短上市时间的关键。然而,实施有效的自动化测试策略并非易事,它面临着技术选型、脚本维护、环境配置等一系列挑战。本文深入探讨了自动化测试的重要性,分析了常见的自动化测试工具和框架,并讨论了在构建和维护自动化测试体系过程中遇到的主要难题及其解决方案。通过案例分析,本文旨在为软件测试工程师提供实用的指导和建议,以优化他们的自动化测试实践。
|
7天前
|
安全 前端开发 测试技术
如何选择合适的自动化安全测试工具
选择合适的自动化安全测试工具需考虑多个因素,包括项目需求、测试目标、系统类型和技术栈,工具的功能特性、市场评价、成本和许可,以及集成性、误报率、社区支持、易用性和安全性。综合评估这些因素,可确保所选工具满足项目需求和团队能力。
|
7天前
|
机器学习/深度学习 SQL 安全
如何确保自动化安全测试的全面性和准确性?
如何确保自动化安全测试的全面性和准确性?
|
9天前
|
jenkins 测试技术 持续交付
探索软件测试中的自动化与持续集成
本文深入探讨了软件测试领域中自动化测试和持续集成的融合应用,分析了这种结合如何提升软件开发的效率和质量。通过具体案例分析,展示了自动化测试和持续集成在软件开发生命周期中的关键作用及其实施策略。
|
10天前
|
测试技术 API Android开发
探索软件测试中的自动化框架选择与实践####
本文深入探讨了软件测试领域内,面对众多自动化测试框架时,如何依据项目特性和团队需求做出明智选择,并分享了实践中的有效策略与技巧。不同于传统摘要的概述方式,本文将直接以一段实践指南的形式,简述在选择自动化测试框架时应考虑的核心要素及推荐路径,旨在为读者提供即时可用的参考。 ####