软件代码安全性(software coding safety)是指软件在系统中运行而不至于在系统工作中造成不可接受的风险的能力,如人身伤亡、设备损坏、财产重大损失、严重污染环境、重要信息泄露等。

软件本身不会造成危险,但当软件用于过程监控、实时控制、武器、航天、医疗、核反映等方面时,软件的错误能够通过硬、软件接口使硬件发生故障,从而造成严重事故。这类软件称为“安全性关键软件”。为解决这类问题而采用的一系列方法技术称为软件安全性技术。

软件没有硬件所具有的物理和化学属性,因此它对人类和社会没有直接威胁,不会造成直接的损害。但是当软件用于过程监测和实时控制时,如果软件中存在错误,则这些错误有可能通过硬、软件的接口使硬件发生误动或失效,造成严重的安全事故。

由于许多隐蔽性强的或非多发性的错误很难被设计人员和测试人员察觉,仅仅依靠设计技术的改进仍然不足以解决安全性问题,这就需要一套严格的安全性分析程序和安全性分析方法,以预防安全事故发生或在发生事故时减少危害程度。

从技术角度分析,在软件研发过程中,各个阶段都会有各个阶段所独有的安全隐患存在。在互联网高度发达的今天,我们会遇到的软件威胁层出不穷,并不仅仅是一种问题可能导致你的安全性降低甚至对你带来威胁。Parasoft 经过数年在安全防御上的经验累计,总共概括了以下这些软件安全威胁:

软件安全挑战

针对于这些威胁,传统的预防手段已经出现了明显的弊端,导致大量的不可预见性灾难发生。其中包括:美国水手号火箭因软件程序中的航道定位算法出现错误,导致火箭爆炸,使得整个金星计划搁浅至今;美国哈特福德体育场因承重软件出现问题,导致大雪压塌,致使伤亡人数达到700人之多;丰田召回1100万辆汽车,原因为嵌入式软件出现了明显问题,等等。针对于这样严峻的现状,Parasoft 根据多年在软件行业的经验,结合各行业实际需求,推出了一系列强有力的安全手段,其中包括:

同行代码评审

静态代码扫描

单元异常处理

运行时风险监测

业务坚固性测试

代码覆盖分析

安全漏洞攻击

简易、快速、高效的 Parasoft代码评审流程

Parasoft 自动化代码审查流程帮助您将复杂费时的团队代码审查,切分为小块时间,让您在喝水时就能完成代码审查工作。

开发人员编写代码 —> 实时一键提交审核 —> 审查者快速获得修改差分 —> 审查者给出审查意见 —> 审查意见被送还到开发人员IDE —> 开发人员按审查意见进行修改或提交

精准、全面、无漏洞的 Parasoft 静态代码分析

  • Parasoft Xtest系列结合全世界最全面的安全能力验证规则。涵盖包括OWASP TOP10、CWE、CERTC等多种安全标准规范。同时,整个Parasoft Xtest系列拥有超过4000条标准规则规范,为用户的静态安全要求保驾护航。
  • 全世界最可靠的验证结果,工具误报率和漏报率指数均为全世界最低。
  • 提供最详细的参考资料保障研发人员能力支持。方便研发人员快速修改违规。
  • 图形化规则创建,通过“搭积木”的方式即可快速创建出属于用户自己的私有规则,为哪些希望成为行业领导者的用户提供一条方便的渠道。
  • 结合Parasoft 独有的AEP 技术,强大的数据流分析功能帮助你在静态阶段快速发现并定位在整个项目中存在的资源类问题

便捷、高效、智能化的 Parasoft 单元测试异常处理

Parasoft 通过独有的技术,实现单元测试自动化。它帮助你快速的生成包括:测试套件、测试驱动、测试用例、测试桩、符号表等等一系列资源。大大的节约人工和时间成本。从技术角度,Parasoft 测试用例自动生成技术,可以帮助你生成大约30%-50%的测试用例代码,并且全部以 XUnit 格式开发给使用者。

除了大量的人工和时间成本你的节约,自动生成技术更大的意义在于,帮助经验不足的开发人员在单元测试上开拓出一条能够快速执行并最终顺利完成单元测试的道路,这样的研发方向感,对于一名研发人员是需要大量的经验和实践进行累计的,而Parasoft 能够快速帮助研发人员达成。

高效、真实、无遗漏的 Parasoft 运行时风险监测

运用 Parasoft 独到的插桩技术,帮助客户在系统或软件在真实环境中运行时进行实时监控,快速分析软件运行时出现的资源问题。

结合传统的黑盒测试同时进行,使用者能够快速定位并修改在黑盒测试阶段发现的问题,省去了大量对于问题追溯的时间和精力,同时对于修改代码造成的影响也能够快速应答,避免出现牵一发而动全身的尴尬状态。

低噪声,无脚本,上手快速的Parasoft 程序业务坚固性测试

针对业务系统层面的协议、接口、功能、性能等多项指标的验证,Parasoft SOAtest 提供前所未有的强大解决方案,无需任何复杂的脚本,通过简易的系统场景搭建,业务流程测试就能够顺利开展。

同时,对于功能和性能场景之间的场景复用做到了无缝对接,不需要额外进行复杂的配置,解放测试人员对脚本的依赖。这些场景可以在团队内任意的复用与配置。

Parasoft 给与客户提供无限量的虚拟用户数量来完成大规模的压力测试。当硬件环境资源不足时,肉鸡奴役机制也可以顺利解决计算资源问题。

客观清晰、有目的性、种类全面的Parasoft 测试覆盖分析

对于测试结果的分析常规的人工手段是肯定无法满足的,Parasoft 自动化测试工具所提供的覆盖率能够非常可观的反应测试成果和状态。

在Parasoft 方案中,为项目决策人员提供了数值型百分比的覆盖率,表明整个项目或某个模块功能点的测试覆盖情况。为项目执行人员提供了图形化显示的覆盖率,详细到每行代码的测试覆盖状态都能够清晰可见。

针对不同语言,Parasoft 提供各种不同的覆盖率,包括行覆盖、语句覆盖、块覆盖、条件覆盖、判定覆盖、分支覆盖、MC/DC覆盖等不同覆盖率数值统计方式。

多样化、高集成、时效性强的Parasoft 安全漏洞攻击

Parasoft 渗透测试方案提供了多样化高集成性的黑客攻击手段模拟,通过模拟攻击程序的方式检测应用在承受黑客攻击常规手段时的反应。保障在真实运行环境中不会出现明显的黑客攻击漏洞。

使用者可以通过简单的内建脚本调取,完成黑客攻击手段的模拟,同时结合压力或性能测试,模拟复数黑客用户使用复数黑客手段进行程序攻击,测试应用程序在如此严苛的环境下是否依然能够抵御。