• 0
  • 0
分享
  • 安全测试常态化落地方案及日常推进机制——软件测试圈
  • 饼干 2024-06-24 15:45:44 字数 2345 阅读 676 收藏 0

  一、背景

  数据安全法实施后,国家监管部门加强了对企业数据安全的监管力度。在这个大的背景下,为保障物流体系系统安全,提前规避安全风险,由测试组牵头制定安全测试流程规范并持续推进安全测试常态化。

  二、安全漏洞的类型及危害

  1、常见安全漏洞类型

  越权类漏洞、上传漏洞、XSS漏洞、CSRF漏洞、SQL注入漏洞、任意文件读取漏洞、反序列化漏洞、CORS漏洞、SSRF漏洞、URL调整漏洞等

  2、安全漏洞危害

  1). 信息泄露

  攻击者可以通过漏洞入侵企业的系统,窃取企业敏感信息,如客户信息、财务数据等。这些信息一旦泄露,将会对企业带来巨大的损失,同时也会损害客户的信任和企业品牌形象

  2). 系统瘫痪

  攻击者通过漏洞攻击,有可能使企业的整个系统瘫痪。这样的结果直接导致企业无法正常运营,对企业的经济发展产生极大的影响

  3). 敲诈勒索

  攻击者通过漏洞攻击,可以加密企业的数据,要求企业支付赎金后才会释放数据。这种敲诈勒索方式有可能会让企业陷入经济困境

  三、现状分析

  目前部门通过【安全工单】的方式接收并处理安全问题。安全工单是由集团安全部下发的工单,包含应用上线时J-ONE自动触发的安全扫描建立的工单以及由安全部、外部白帽子手工测试发现安全漏洞创建的工单。安全工单由部门接口人通知到各应用负责人进行跟进处理。

  1、工单来源

  1).白盒扫描

  2).黑盒扫描

  3).JSRC(白帽子提测)

  4).其他漏洞

  2、工单漏洞类型

  1).白盒扫描主要针对组件类漏洞

  2).黑盒扫描主要针对配置类漏洞

  3).JSRC主要针对业务逻辑漏洞

  4).其他:安全组同事发现的业务逻辑漏洞或集团新增的安全检测规则

1-1.png

  3、已有的检测方式

  1).白盒扫描:流水线中提供了安全原子

  2).黑盒扫描:有页面和接口,可以进行定时扫描

  3).IAST平台

  4、部门应用分析

  目前二级部门应用有200个左右,其中公网应用有京驿APP、京管家APP、外网承运商平台、通联相关应用、货航条线相关应用。分析安全工单数据可知业务逻辑漏洞来源均为公网应用,公网应用直接面对客户,安全治理的优先级最高。

  四、安全测试方案制定

  1、测试方式

  针对现存的逻辑漏洞类型,采取工具接入(白盒、黑盒)+手工测试的方式进行全方位覆盖。

  2、逻辑漏洞测试流程

  a. 提测标准

  ·所有涉及外网的需求

  · 有大量外部人员使用的内网

  b. 提测阶段

  需求评审阶段,测试 发起确定是否需要安全测试

  · 测试评估是否涉及到外网用户的使用场景

  · 产品评估是否为大量外部人员使用的内网系统(建议15人以上)

  c. 测试排期

  · 和功能测试同时排期,测试结束后上线

  d. 准出标准

  · 所有安全漏洞修复后上线

1-2.jpg

  五、安全测试方案实施

  1、工具接入

  1).流水线接入安全原子,针对master分支进行安全扫描

  2).定时任务调取黑盒平台api进行安全扫描

  3).配置IAST插件进行安全扫描

  2、手工测试分阶段进行

  a. 第一阶段:存量安全问题治理

  1). 成立安全测试小组

  邀请安全部门同事进行培训并自主学习安全知识,使特定的人具备安全测试能力:包含工具使用,数据泄露、水平越权、垂直越权等漏洞的挖掘能力

  2). 外网平台专项治理

  分析长安工单可知目前外网应用存在的主要问题是越权问题,因此针对外网平台进行专项治理。

  ·外网应用接口梳理

  · 首先对包含敏感数据的接口进行治理(后端加Permisson注解,物流网关解析权限配置)

  · 然后对不含敏感数据的接口进行治理

  b. 第二阶段:增量需求进行安全测试

  1).定期在组内进行安全测试分享培训,使组内所有人具备安全测试能力

  2).提升逻辑漏洞相关知识,逻辑漏洞覆盖范围扩展至XSS、CSRF等漏洞

  c. 第三阶段:安全意识的培养

  1).产品:需求评审过程中针对外网应用提出安全测试的诉求

  2).研发:开发过程中遵循安全测试规范,规避安全问题

  3).测试:需求评审过程中针对外网应用提出安全测试要求;代码评审过程中针对权限类、敏感数据类检查是否有权限校验或数据加密;安全测试过程中覆盖常用的安全用例

  3、逻辑漏洞挖掘经验

  a. 工具使用

  b. 通用用例及构造方式

1-3.jpg

  c. 实例分析

  1).敏感数据

  问题描述:接口敏感数据未加密

1-4.jpg

  2). 垂直越权

  问题描述:不具备菜单权限的测试账号访问接口后可以成功返回数据。

1-5.jpg

  3). 存储型XSS

  问题描述:漏洞位置其实为两处,此处类似iframe嵌?,直接影响两个站点。

1-6.jpg

1-7.jpg

  漏洞证明:发送如下数据包,即可插?存储型XSS。

1-8.jpg

  4). 反射型XSS

  输入万能语句 <script>alert()</script>后并没有弹窗,查看源码可见 <>被转义了。

1-9.jpg

  在input标签的value处,没有将我们输入的内容进行严格过滤,所以手动闭合value,再执行脚本 "><script>alert()</script>

1-10.jpg

  5). CSRF漏洞

  问题描述:编写html脚本,构建提交按钮,点击按钮触发接口调用,接口请求中不需要cookie即可请求成功。

1-11.jpg

  六、落地成果

  安全工单中业务逻辑漏洞类型的工单数量降低了 70%

  1.流水线扫描的高风险问题已全部解决

  2.外网应用的水平越权、垂直越权问题已全部解决

  3.随迭代新增的需求累计挖掘逻辑漏洞45 个

1-12.png

  七、未来规划

  1、安全测试常态化持续推进

  2、安全知识持续提升


作者:佚名    

来源:http://www.51testing.com/html/58/n-7797558.html

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

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          • 在做性能测试过程中有一件很重要的事情需要去完成,那就是分析性能指标数据,可以这样说做性能测试的整个过程都跟指标数据息息相关,下面来说一下常见的一些性能指标数据:吞吐量并发数思考时间响应时间点击数资源利用率网络吞吐量错误率系统稳定性吞吐量(Throughput):指的是单位时间内处理的客户端请求数量,直接体现软件系统的性能承载能力。通常情况下,吞吐量用“请求数/秒”或者“页面数/秒”来衡量。从业务角度来看,吞吐量也可以用“业务数/小时”、“业务数/天”、“访问人数/天”、“页面访问量/天”来衡量。从网络角度来看,还可以用“字节数/小时”、“字节数/天”等来衡量网络的流量。并发(Concurren...
            0 0 832
            分享
          •   之前进行接口测试一直用印度的postman,后来发现一款国产神器ApiPost,完全可以秒杀postman这个印度货。必须安利一波!  1、可以便捷的生成格式规范的文档  记得以前当程序员的时候,每次写接口,基本都是自己大概一写,然后api地址和大致参数发群里就完事儿,剩下全靠前端猜,实在猜不出来了就喊两声:xx,那个yy参数是啥意思?  ApiPost的出现,解决了这个问题:很便捷的生成接口文档。而且更重要的是,这款软件生成的接口文档基本非常规范,并且支持多种格式。如下图:  这就是ApiPost越来越受欢迎的原因之一:可以便捷的生成格式规范的文档。  2、方便规范化开发文档的管理  后...
            0 0 1219
            分享
          • 软件测试其实就是对程序进行一些操作,来发现程序所存在的缺陷,衡量软件的质量,并对其是否能满足设计要求进行评估的过程。软件测试方法分类基于直觉和经验的方法Ad-hoc测试方法:强调测试人员根据自己的经验,不受测试用例的约束,放开思想,灵活地进行测试。ALAC测试方法:Act like a customer,像客户那样做,对常用的功能进行测试;错误推测法:有经验的测试人员根据自己的工作经验和直觉测出程序可能存在的错误,从而有针对性地进行测试。基于输入域的测试方法等价类划分法边界值分析法基于组合及其优化的方法判定表法因果图法pair-wise方法正交试验法基于逻辑覆盖的方法语句覆盖判定覆盖条件覆盖判...
            0 0 1146
            分享
          • 1.1. Web技术演化 1.1.1. 静态页面在互联网最初开始的时候,Web网站的主要内容是静态的,由文字和图片组成,制作和表现形式也是以表格为主。当时的用户行为也非常简单,仅仅是浏览网页。1.1.2. 多媒体阶段随着技术的不断发展,音频、视频、Flash等多媒体技术诞生了。多媒体的加入使得网页变得更加生动形象,网页上的交互也给用户带来了更好的体验。1.1.3. CGI阶段渐渐的,多媒体已经不能满足人们的请求,于是CGI(Common Gateway Interface)应运而生。CGI定义了Web服务器与外部应用程序之间的通信接口标准,因此Web服务器可以通过CGI执行外部程序,...
            13 13 1630
            分享
          •   送你一套免费的性能测试框架搭建的课程!省下的300块,去吃一顿热气腾腾的火锅吧!点击下方链接,答问卷,领课程~链接:http://vote.51testing.com/  作为开软件开发从业者,接口调试是必不可少的一项技能,在这方面 Postman 做的非常出色。但是在整个软件开发过程中,接口调试只是其中的一部分,还有很多事情 Postman 无法完成,或者无法高效完成,比如:接口文档定义、Mock 数据、接口自动化测试等等。Apifox 就是为了解决这个问题而生的。  接口管理现状  一、常用解决方案  1、使用 Swagger 管理接口文档  2、使用 Postman 调试接...
            0 0 1313
            分享
      • 51testing软件测试圈微信