软件测试偏向业务测试,不仅是代码漏洞,人也很重要

全球数字化转型意味着越来越多的公司企业需要更快投入更多代码。但仓促而成的代码意味着代码可能存在缺陷,而有缺陷的代码会导致糟糕的系统、漏洞利用和应用不合规。因此软件测试行业再次凸显其重要性,以及以后前景。

先将产品投放市场的业务压力驱动而仓促编成的代码,不过是软件漏洞引入的三大主要渠道之一。第二大渠道是开源和第三方代码使用的增多。去年,新思科技对1,100个商业代码库的研究发现,78%的代码库至少包含一个开源漏洞。

第三方代码的危险可由去年的Ticketmaster的数据泄露事件看出端倪。黑客组织Magecart入侵了一家软件供应商Inbenta,往一个脚本里绑定了恶意软件。Ticketmaster下载并执行了该脚本,然后城门失守。虽然最终损失尚未算出,但至少一家律所已经接了客户对Ticketmaster不赢不收费的索赔诉讼请求。

2019年1月,Hayes Connor Solicitors 律所称:我们63%的客户遭受到了多起支付卡欺诈交易。

第三大软件漏洞引入途径是经由企业并购导入的漏洞。2018年底披露的万豪酒店数据泄露事件就是典型案例。万豪于2016年收购喜达屋酒店,但并未对喜达屋的系统进行安全尽职审查。结果,喜达屋的系统早在2014年便已被黑客入侵,但2016年时问题就转移到了万豪,而且直到2018年11月才被发现。

据彭博社估算,万豪遭受的总损失高达10亿美元,包括监管罚款、法庭相关费用和通告开销。

有效软件测试

无论漏洞引入途径是哪条,解决方案都是有效软件检测,但事情总是说起来容易做起来难。传统测试方法无非这三种:

内部测试;


临时第三方测试(比如渗透测试员);

雇佣第三方专业公司测试。

小公司适合自行测试。中小企业可能会选择临时第三方测试。但大中型企业,尤其是那些跨国企业,应考虑聘用专业公司。数字化转型推动了软件与整体业务系统的融合,软件不再是单独的部分,而是整个系统的基本组成部分。

物联网(IoT)是融入的一个例子。嵌入式系统的指数级增长催生了一系列新问题。制造商需不断检测是否符合新监管规定;用户需测试设备的安全性,检测控制设备和与设备通信的应用,测试设备所收集数据的安全及隐私保护要求。

以欧盟《通用数据保护条例》(GDPR)为例,合规不仅仅是数据保护,还涉及与数据收集、存储、使用、可访问性、可见性、数据发现及清除相关的业务过程(与软件不可分离)。

2019年1月,法国GDPR监管者国家信息与自由委员会(CNIL)对谷歌开出5000万欧元罚单。这项处罚中就不涉及数据泄露,也没有代码漏洞。据CNIL所说,处罚依据是谷歌存在违反信息透明性义务的行为:用户不能方便地访问谷歌提供的信息。

测试已不再仅仅是查找代码漏洞,必须纳入对过程和人员的测试。需测试业务过程以规避合规误区。2019年1月,欧华律师事务所预测:2019年,千万欧元甚至数亿欧元的GDPR罚款会更多。

员工安全意识也需要检测,这样才可以有效推进工作,避免安全及合规失误,业务也就能保证安全了。

所以,尽管软件测试依然顶着“软件测试”的名头,其实质却越来越靠近业务测试。这意味着两件事:首先,必须由公司高层推动——全面软件测试需要董事会的首肯。

其次,虽然理论上所有测试都可以内部完成,但实际上很多公司企业都不具备完成现代软件测试各个不同方面所需的人力资源和专业技能集。

软件漏洞利用

可从内部驱动的一个部分解决方案,是从瀑布式内部应用开发转向敏捷开发——从采纳DevSec原则开始,然后扩展到DevSecOps。这可以提升应用开发效率,也是“设计安全”原则的一个重要部分。但尽管DevSecOps(或SecOps)背后的原则相对容易理解,建立并维护一个有效过程就是另一码事了——需要专业技能和持续监管。

持续监管最好由专业第三方测试公司实施,正如全面测试的整个概念一样。Ticketmaster、万豪酒店等众多数据泄露促使安全成为了董事会会议主要议题,但Thycoticz于2019年1月做的调查显示,高级管理层并不理解如何将这种重视转换成有意义的行动。50%的公司并未在董事会给CISO留个席位。

实现公司范围的全面测试,纳入内部SecOps应用开发、导入代码、IoT安装、用户安全意识、代码及实践合规(比如GDPR、CCPA、PCIDSS和金融监管),对任何董事会而言都是能力的考验。

而专业第三方测试公司可能在所有这些领域都有专业资源可用,且具备整合的经验。专业公司理解IT/安全员工和业务人员所用的不同术语;能够从IT/安全人员的工作中产生业务人员可用的合适指标;还可以执行全面测试,以有意义的方式向高级管理层展示结果。

现在柠檬班推出150个常用Linux命令的课程供大家学习交流:免费学习课程地址:http://www.lemonban.com/front/couinfo/188

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1.测试与软件模型 软件开发生命周期模型指的是软件开发全过程、活动和任务的结构性框架。软件项目的开发包括:需求、设...
    宇文臭臭阅读 6,755评论 5 100
  • -----转载----- 1、问:你在测试中发现了一个bug,但是开发经理认为这不是一个bug,你应该怎样解决? ...
    花开沉浮阅读 7,470评论 4 88
  • 1.问:你在测试中发现了一个 bug ,但是开发经理认为这不是一个 bug ,你应该怎样解决。 首先,将问题提...
    qianyewhy阅读 9,302评论 4 123
  • 佳期如伊阅读 190评论 2 5
  • 定制嵌入式光学太阳镜 验光步骤如下 接通电源开机 去掉验光机器孔的盖子 接过顾客的眼镜 擦拭眼镜 先测右眼 摆正眼...
    徐先森KB24阅读 530评论 0 0