• 0
  • 0
分享
  • 黑客都在用测试用例找漏洞,你还不努力?——软件测试圈
  • 曼倩诙谐 2020-12-07 09:31:37 字数 1587 阅读 1863 收藏 0

  缘起

  众所周知,系统测试是需要编写测试用例的,它是保证测试执行正确性、有效性的基础。但是,大家可能很难想象神秘的黑客在挖掘漏洞的时候会提前编写测试用例,然后按照用例去执行。因为他的漏洞挖掘思路是存在脑海中,并且不断的根据实际情况进行调整的。

  当然,关于黑客单打独斗挖掘漏洞的这种想象,显然已不大符合当前安全界的实际情况。从网络及信息安全的攻击角度来说,恶意攻击分子已经逐渐形成了目标精准、分工明确、技术先进的网络黑色产业链条,相应的从安全保护和防御角度来说,国家加大了对网络攻击等犯罪行为的打击力度,企业也逐渐加大了网络安全投入。

  那么,当安全测试成为企业安全建设中的一个重要环节,安全测试需要写测试用例么?

  思考

  要解决安全测试是否需要编写测试用例的问题,需要先理清安全测试的目的。

  当前业界对于安全测试并没有特别权威的定义。“安全测试是在IT软件产品的生命周期中,特别是产品开发基本完成到发布阶段,对产品进行检验以验证产品符合安全需求定义和安全质量标准的过程。”这个定义虽然有一定的局限性,但是定义相对清晰,安全测试的目的就是进行安全的度量和尽量在发布前找到尽可能多的安全问题并进行修复从而提升产品的安全质量。

  那么,基于度量的目的就引申出两个问题:

  · 一是如何度量,度量是需要标准的,不管是对于产品安全性的度量,还是安全测试效果的度量;

  · 二是各企业的安全测试团队普遍偏年轻,假如安全测试仅依据个人经验,效果各一,如何达到在发布前找到尽可能多的安全问题的目标。

  此时就需要一个既可以作为安全测试执行的指南,又能依据执行结果进行产品安全度量的文档。安全测试用例正好符合这个要求。需要说明的是,此处提到的安全测试不含使用漏洞扫描工具进行的纯自动化扫描。

  从表现形式上看,安全测试用例和系统测试用例类似,也需要有测试用例编号、测试用例名称、测试目的、测试前置条件、测试步骤、预期结果等要素,以便于安全测试人员在看到测试用例就可以清楚的知道要测什么,怎么测,如何判断是否存在漏洞。这样就可以达到指导安全测试执行的目的。

  从测试用例设计方法的角度,系统测试用例设计的方法诸如等价类划分、边界值、场景法等并太适用于安全测试用例设计。目前业界较常用的可借鉴的方法有微软的STRIDE威胁建模方法、基于攻击图的分析设计方法等。一种比较实用的方法是从漏洞的维度进行设计,分析汇总归纳常见漏洞,可以参考OWASP的测试指南,整理成测试的checklist(图1),然后将checklist转化成测试用例(图2)。

1.png

图1:checklist样例

2.png

图2 安全测试用例样例

  从度量的角度来说,通过执行安全测试用例,记录执行结果,以及进行发现的安全漏洞的管理,可以从测试的进度、安全漏洞的密度等多个维度进行安全度量。

  · 测试用例执行的进度=已执行的用例数/总用例数

  · 测试用例执行通过的情况=执行通过的用例数/总用例数

  · 剩余漏洞数=发现的漏洞总数-已解决漏洞数

  · 漏洞的存活时间=漏洞从提交到结束的时间间隔

  · 漏洞密度=漏洞总数/被测系统总功能点数

  总结

  综上所述,当安全测试作为企业中一个保障产品安全质量的常规环节时,从流程的规范化和实施的规范化角度来说,是有必要编写安全测试用例的。安全测试用例可以提供一份安全测试执行的标准化的指南,从而可以结合产品的其他因素进行安全的度量。

  但是,如果安全测试进依赖于安全测试用例则仍然存在一定的局限性,比如不同的产品或者系统由于其应用场景不同,功能不同,系统架构不同等,可能存在的安全风险也是不同的,在测试用例编写的时候无法考虑到所有的风险,覆盖到所有测试要点。所以在实际的安全测试过程中,规范的测试用例为指南也需要和人的主观能动性相结合。



作者:刘沅斌   

来源:51Testing软件测试网原创


  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   据报道,美国加州一家法庭裁决称,在一宗安卓操作系统反垄断诉讼过程中,科技巨头Alphabet旗下的谷歌(101.9,0.54,0.53%)公司故意毁灭员工的内部聊天证据,谷歌将为此遭到罚款,并且在后续审判过程中面临进一步惩罚。  美国加州洛杉矶的一家联邦地方法庭法官JamesDonato在裁决书中表示,在保存案件有关证据方面,谷歌没有履行自己的责任。  据报道,这宗复杂的反垄断诉讼涉及到多个司法管辖区,其中包括了一个有关2100万名美国人的消费者集体诉讼,覆盖了美国38个州和哥伦比亚特区,涉及到的公司包括游戏厂商Epic以及相亲约会服务商Match集团。  这一反垄断诉讼的关键点,是消费者...
            0 0 1057
            分享
          •   为什么会有“在浪费时间”的感受出现呢?  纯功能测试,重复且繁琐  纯粹的“点点点”的工作,没有太多的技术性,自然工作也没有太多的自主性。  其实很多刚进入测试行业的同学都有这种感受,特别是大部分进入的是中小型公司,企业本身对产品的要求就不高,保证基本功能能用就行,自然不会涉及到诸如性能、自动化、安全性的工作。  所以每天的工作就是重复点击页面,点击 APP 各个按钮,简单而机械的操作,重复繁琐且没有任何挑战!  长此以往,在公司里面,测试的工作价值也没有被体现出来,然后自己的自信和底气都被消磨殆尽了,可能会开始质疑自己,甚至质疑自己工作的意义,挫败感油然而生!  那么...
            0 0 742
            分享
          •   信息显示,近日,富士康新能源汽车产业发展(河南)有限公司成立,法定代表人为黄英士,注册资本 5 亿元人民币,经营范围含汽车零部件及配件制造、电机制造、新材料技术研发、新能源汽车整车销售、企业总部管理、园区管理服务、供应链管理服务、道路机动车辆生产等。  股东信息显示,该公司由富士康新事业发展集团有限公司全资持股,后者为鸿富锦精密电子(郑州)有限公司全资子公司。  据中新社报道,富士康方面称,根据战略产业规划,2023 年富士康科技集团在郑州设立富士康新事业总部,并成立富士康新事业发展集团有限公司,统筹规划包括新能源汽车、电池等在内的新产业发展。此次富士康新事业发展集团旗下成立的新能源汽车产...
            0 0 943
            分享
          •   很多人不知道写测试用例有什么用,而仅仅是像工具人一样,在每次提测之前,把测试用例照着需求文档抄一遍,仿佛像是走个过场。  开发提测之后,就照着测试用例点点点,可能一天就走完用例了,开发代码写得真好,测试用例执行完毕都没有测出bug,然后美其名曰:测试完了,达到上线标准。  测完之后,测试用例毫无价值,像随手仍垃圾一样,随地保存,终于无迹可寻。  在他们眼里,从事测试工作,和去东莞进厂打工没什么区别。  反正测试用例写久了,都能成为人人爱戴的熟练工,想着到了35岁,光荣下岗,回老家享受荣华富贵。  最后上线之后,bug一大堆,反而还怪写测试用例浪费时间,且没有用。  一、为什么要写测试用例?...
            12 12 2089
            分享
          •   一、“开发者测试” 就是“开发者来测试”  开发者测试是现代软件工程中非常重要的一环,敏捷开发、主干开发这些先进的项目管理方法和流程都基于完善的开发者测试。当每个月甚至每周都要交付一个版本时,不可能投入大量的测试工程师来进行大规模的系统级别测试,这时候就需要把整个测试金字塔中的绝大部分测试通过自动化来完成。  我们今天谈开发者测试,什么是“开发者测试”? 我司有清晰的开发与测试之分。写代码归开发攻城狮,测试归测试攻城狮,大部分情况下双方处于“红蓝对峙”状态。这与我10多年前的研发团队状况非常相似。而现在的软件工程,专职的“测试攻城狮”非常少,很多公司开发测试比例大于10:1,甚至一些部门没...
            0 0 133
            分享
      • 51testing软件测试圈微信