0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

提高软件质量和安全性需要交互式应用安全测试与软件组件分析相结合

西西 作者:厂商供稿 2018-11-12 16:25 次阅读

作者:新思科技软件质量与安全部门技术布道师Tim Mackey

当今世界,软件与我们的联系越来越密切。软件给我们带来便利的同时也使我们面临软件安全问题,如果软件出现质量和安全问题,那么造成的风险影响就会越来越大。因此,选择智能全面的软件安全解决方案来提高软件质量和安全性至关重要。

交互式应用安全测试(IAST)和软件组件分析(SCA)是应用程序安全测试中两款强大、但相对来说比较新的技术。使用动态测试(即运行时测试)技术可以发现正在运行的Web应用的漏洞。IAST解决方案旨在帮助企业识别和管理与这些漏洞有关的安全风险。

SCA是市场分析师创造的一个术语,描述了自动识别代码库中开源组件的过程。一旦识别出组件,就可以对比已知的安全问题,判断组件是否存在这些隐患,了解在一个应用里面是否存在组件的不同版本。另外,SCA还可以帮助识别组件的年份,确定是否需要维护。除了安全方面的问题,SCA还可以发现开源代码中的许可证合规性问题。

IAST和SCA结合的必要性

根据2018年Verizon数据泄露调查报告,Web应用程序攻击仍然是数据泄露最常见的载体。Web应用程序是黑客试图访问敏感IP/数据和个人数据(比如用户名和密码、信用卡账号和患者信息)的首选攻击界面。企业需要确保他们开发的web应用程序是安全的,最好是在投产之前就已经确保安全性,并且当关键漏洞被发现时,开发者可以快速将其修复。

Web应用程序很少仅由专有代码组成。事实上,相反来说,开源代码组件在商业和内部应用程序中无处不在。新思科技开源研究和创新中心发布的2018年开源安全和风险分析报告(OSSRA)显示在1,100个被扫描的应用程序中有96%存在开源组件,每个应用程序中平均有257个组件。因为企业通常不知道他们使用多少甚至使用什么开源组件,当开源组件的漏洞被发现时,他们可能不知不觉中已经成为攻击者的目标。OSSRA报告显示,78% 被检查的代码库中至少包含一个漏洞,每个代码库平均包含 64个漏洞。

虽然开发和安全团队经常使用静态应用安全测试工具(SAST)和软件组件分析解决方案(SCA)来识别web应用程序中的安全缺陷和漏洞,但只有通过动态测试才能检测正在运行的应用程序中的许多漏洞,从而推动了动态应用安全测试工具(DAST)的发展。尽管与传统的DAST和渗透测试工具有相似之处,IAST在软件开发生命周期(SDLC)早期发现漏洞的能力要优于前两者,在修复漏洞时更容易、更快速且成本更低。随着时间的推移,IAST很有可能会取代DAST。这有两方面的原因:第一,IAST在软件开发生命周期早期反馈漏洞信息并迅速提供补救指南方面具有强大优势;第二,它还可以更轻松地集成到CI/CD和DevOps工作流程中。

往软件开发生命周期左端推移

IAST通常用在软件开发生命周期的测试和质量保证(QA)阶段。采用IAST可以有效地将测试往软件开发生命周期左端推移,尽早发现问题并且降低补救成本,减少产品发布延迟。当重新编译更改的代码并重新测试正在运行的应用程序时,最新一代的IAST工具能即刻反馈结果。

IAST从应用程序内部进行分析,可以访问应用程序代码、运行时控制和数据流信息、内存和堆栈追踪信息、网络请求和响应、库、框架和其它组件(通过与SCA工具集成)。该分析不仅可以使开发人员查明已识别漏洞的来源,而且可以快速解决问题。

IAST工具需要具备哪些功能?

我们要依据哪些标准来挑选一款IAST工具?它可以执行应用程序代码审查。而且这些应用程序是以你现在使用的编程语言编写的;它还需要与软件使用的底层框架兼容;还有一点很重要,它必须可以轻松、快速地进行部署,并与CI/CD工作流程无缝集成;此外,我们希望IAST工具还可以与任何类型的测试方法兼容,包括 现有的自动化测试、手动QA/开发测试、自动网络爬虫、单元测试等等。

有效的IAST工具可以为DevOps团队提供识别安全漏洞的能力,并且可以告知该漏洞是否会被利用。现在任何IAST工具都应该包括web APIs,使DevOps能够将测试集成到持续集成构建中。这些构建过程会使用到Jenkins等持续集成工具。

随着软件中开源代码使用的普及,有效的IAST工具需要了解所测试的应用程序的开源组件。SCA工具负责分析开源组件。

了解在指定的应用程序中的开源漏洞是否会被利用,需要了解易受攻击的组件是否存在、漏洞的利用如何运作、以及应用程序如何利用该组件。只有高效的IAST和SCA工具组合才能有效识别该级别的软件风险并指导开发人员解决问题。集成的IAST和SCA解决方案可以帮助开发团队构建更安全的软件、最大限度地降低风险,同时最大限度的加快开发速度和产量,并且提高软件的质量。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 软件开发
    +关注

    关注

    0

    文章

    550

    浏览量

    27175
  • 新思科技
    +关注

    关注

    5

    文章

    716

    浏览量

    50064
  • ASCA
    +关注

    关注

    0

    文章

    2

    浏览量

    12063
收藏 人收藏

    评论

    相关推荐

    软件测试活动有哪些?

    第三方软件测试是一种软件测试活动,旨在确保软件质量、功能、性能和
    发表于 01-08 11:11

    大型软件研发项目安全性风险定量分析理论模型

    【作者】:王长峰;王化兰;【来源】:《清华大学学报(自然科学版)》2009年S2期【摘要】:为了解决大型软件研发项目安全性风险概率问题,以软件编码阶段中的质量风险类的文档
    发表于 04-24 09:54

    分布光伏发电安全性

    、生产、物资不产生安全隐患。分布光伏发电在总体上的安全性是值得信赖的,随着行业标准和规范的不断提高,分布光伏发电因为设备
    发表于 10-12 15:35

    边缘智能的边缘节点安全性

    。虽然工业物联网的成本可能高于消费物联网,但其在可扩展性成本方面仍然面临挑战。如果忽视安全性,产品部署后将会产生隐藏的影响,这些成本最终也需要解决。传感器和执行器使得工业物联网设备能与物理世界进行交互
    发表于 10-22 16:52

    市场增长动力主要在于提高能源效率和安全性需要

    )、燃油/水泵和高能效交流发电机等也具备巨大的改进潜力。相关人士预计,通过改进这些组件,可使汽车燃油效率提升10%。英飞凌可为所有这些应用提供半导体解决方案。依靠电子器件提高汽车的安全性除有助于
    发表于 12-10 10:10

    人机交互系统安全性设计考虑

    电子产品在中国市场一直表现出国产不如进口产品走俏,但从使用功能或价格上往往都是国内产品具有自身优势,其最根本的原因是质量上逊色于进口产品。产品质量不仅是产品的性能,还包括可靠安全性
    发表于 05-13 07:00

    各国汽车安全性怎么测试

    曾经有一项问卷调查是对10万名消费者进行调查,结果显示他们最关心的汽车性能是安全性,无论性价比如何高,只要安全性不好的话消费者都不会想购买的。其实全世界其它国家的消费者也是这么想的。各国为了提高汽车
    发表于 05-16 06:11

    怎么提高SRAM工艺FPGA的设计安全性

    随着FPGA的容量、性能以及可靠提高及其在消费电子、汽车电子等领域的大规模应用,FPGA设计的安全性问题越来越引起人们的关注。相比其他工艺FPGA而言,处于主流地位的SRAM工艺FPGA有一些
    发表于 08-23 06:45

    如何提升嵌入系统的VxWorks安全性

    实时嵌入系统与网络的结合以及高可信覆盖网络的发展使得嵌入实时操作系统的安全性问题日益突出。提高实时嵌入
    发表于 10-30 06:03

    嵌入实时多任务操作系统的安全性怎么样?

    程序设计的接口,它是设备安全的核心,它的安全性不仅直接影响上层网络通信及应用软件安全,而且还会造成整个信息系统的瘫痪,基于此,本文对嵌入
    发表于 03-06 06:27

    嵌入设备如何提高安全性

    。因此,他们可能将资金花费更多地花费在防篡改安全功能上。  将微控制器与安全元件相结合可以为您的嵌入系统提供银行级别的安全性(图2)。
    发表于 06-30 11:05

    怎样利用虚拟仪器技术去开发引信软件安全性测试系统?

    引信软件安全性测试系统有什么特点?怎样利用虚拟仪器技术去开发引信软件安全性测试系统?
    发表于 04-09 07:01

    嵌入软件设计人员可以做些什么来提高设备的安全性

    保护嵌入设备正成为一个热门话题,尤其是当这些设备开始连接到Internet时。嵌入软件设计人员可以做些什么来提高设备的安全性?以下是开发
    发表于 11-08 06:47

    嵌入机载软件安全性的相关资料分享

    嵌入软件在汽车、核能、航空等安全关键领域应用普遍,软件中潜在的失效都有可能造成财产的损失、环境的破坏甚至人员的伤亡,保障嵌入
    发表于 12-24 08:22

    软件安全性测试方法研究

    软件安全性测试是保证软件安全性的重要手段。本文论述了软件安全
    发表于 08-22 11:06 19次下载