开发者社区 > 博文 > 安全测试常态化落地方案及日常推进机制
分享
  • 打开微信扫码分享

  • 点击前往QQ分享

  • 点击前往微博分享

  • 点击复制链接

安全测试常态化落地方案及日常推进机制

  • jd****
  • 2023-08-16
  • IP归属:北京
  • 10920浏览

    一、背景

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


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

    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. 其他:安全组同事发现的业务逻辑漏洞或集团新增的安全检测规则
    方式
    目的及覆盖漏洞类型
    流水线
    目的:白盒测试,扫描代码,提前规避 组件类漏洞问题
    覆盖漏洞类型:源组件漏洞、XSS、注入类漏洞
    黑盒平台
    目的:黑盒测试,扫描主机,提前规避 配置类问题、违规开放问题
    覆盖漏洞类型:配置类漏洞、违规开放、注入类漏洞、访问伪造
    手工测试
    目的:弥补工具扫描的不足,挖掘逻辑漏洞
    覆盖漏洞类型:逻辑漏洞、文件操作
    DCAP安全策略
    目的:暴露数据安全类问题
    覆盖漏洞类型:数据安全类


    3、已有的检测方式

      1. 白盒扫描:流水线中提供了安全原子
      2. 黑盒扫描:有页面和接口,可以进行定时扫描
      3. IAST平台


    4、部门应用分析

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


    四、安全测试方案制定

    1、测试方式

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


    2、逻辑漏洞测试流程

    a. 提测标准

    • 所有涉及外网的需求
    • 有大量外部人员使用的内网


    b. 提测阶段

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

    • 测试 评估是否涉及到外网用户的使用场景
    • 产品 评估是否为大量外部人员使用的内网系统(建议15人以上)


    c. 测试排期

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


    d. 准出标准

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




    五、安全测试方案实施

    1、工具接入

      1. 流水线接入安全原子,针对master分支进行安全扫描
      2. 定时任务调取黑盒平台api进行安全扫描
      3. 配置IAST插件进行安全扫描


    2、手工测试分阶段进行

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

           1. 成立安全测试小组

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


           2. 外网平台专项治理

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

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


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

        1. 定期在组内进行安全测试分享培训,使组内所有人具备安全测试能力
        2. 提升逻辑漏洞相关知识,逻辑漏洞覆盖范围扩展至XSS、CSRF等漏洞


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

        1. 产品:需求评审过程中针对外网应用提出安全测试的诉求
        2. 研发:开发过程中遵循安全测试规范,规避安全问题
        3. 测试:需求评审过程中针对外网应用提出安全测试要求;代码评审过程中针对权限类、敏感数据类检查是否有权限校验或数据加密;安全测试过程中覆盖常用的安全用例


    3、逻辑漏洞挖掘经验

    a. 工具使用

    1-BurpSuite安装及简单使用教程


    b. 通用用例及构造方式

    用例名称
    步骤
    错误结果
    预期结果
    原理介绍
    敏感数据校验
    请求包含敏感数据的接口
    身份证、手机号、地址等字段未加密
    敏感数据加密后返回
    垂直越权校验
    ①有菜单权限的用户A登录并请求接口
    ②无菜单权限的用户B登录
    ③用户A的cookie替换成用户B的cookie后重发接口
    接口返回成功
    接口返回”无权限“
    水平越权校验
    ①用户A登录并请求具有属性的数据
    ②用户B登录
    ③用户A的cookie替换成用户B的cookie后重发接口
    接口返回成功
    接口返回”无权限“
    反射型XSS校验
    ①输入框中输入<script>alert('xss')</script>
    ②点击提交
    页面展示‘xss’弹窗
    页面无弹窗
    逻辑漏洞挖掘之XSS漏洞原理分析及实战演练
    存储型XSS校验
    ①输入框中输入<script>alert('xss')</script>
    ②点击提交
    ①数据库落数据:<script>alert('xss')</script>
    ②再次查看包含该数据的页面,页面弹窗
    ①对特殊字符进行转义后存储
    ②再次查看包含该数据的页面,无弹窗
    CSRF校验
    ①用户登录网站A
    ②未关闭网站A的情况下登录网站B,网站B中包含构造的对网站A的接口请求
    接口返回成功
    接口返回401
    逻辑漏洞挖掘之CSRF漏洞原理分析及实战演练


    c. 实例分析

        1. 敏感数据

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


           2. 垂直越权

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


           3. 存储型XSS

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


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


           4. 反射型XSS

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



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




           5. CSRF漏洞

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


    六、落地成果

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

        1. 流水线扫描的高风险问题已全部解决
        2. 外网应用的水平越权、垂直越权问题已全部解决
        3. 随迭代新增的需求累计挖掘逻辑漏洞 45
    方式
    目的及覆盖漏洞类型
    达到情况
    备注
    流水线
    目的:白盒测试,扫描代码,提前规避 组件类漏洞问题
    覆盖漏洞类型:源组件漏洞、XSS、注入类漏洞
    44个应用已接入流水线,高风险安全问题全部解决
    黑盒平台
    目的:黑盒测试,扫描主机,提前规避 配置类问题、违规开放问题
    覆盖漏洞类型:配置类漏洞、违规开放、注入类漏洞、访问伪造
    外网平台已加入黑盒扫描,扫描的问题全部解决
    已接入定时任务,每周一9:00执行
    手工测试
    目的:弥补工具扫描的不足,挖掘逻辑漏洞
    覆盖漏洞类型:逻辑漏洞、文件操作
    ①外网平台全方位测试
    ②新增需求100%安全测试
    DCAP安全策略
    目的:暴露数据安全类问题
    覆盖漏洞类型:数据安全类
    已完成安全策略接入
    通过流量监控等方式检测漏洞,发现问题后由安全部门同事确认并提交长安工单(数据安全类型)


    七、未来规划

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

    2、安全知识持续提升


    八、附录

    1. 安全测试提测模板
    2. 安全测试用例模板
    3. 安全测试报告模板
    4. 安全基础知识