安全测试常态化落地方案及日常推进机制 | 京东物流技术团队
一、背景
数据安全法实施后,国家监管部门加强了对企业数据安全的监管力度。在这个大的背景下,为保障物流体系系统安全,提前规避安全风险,由测试组牵头制定安全测试流程规范并持续推进安全测试常态化。
二、安全漏洞的类型及危害
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.其他:安全组同事发现的业务逻辑漏洞或集团新增的安全检测规则
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. 第二阶段:增量需求进行安全测试
定期在组内进行安全测试分享培训,使组内所有人具备安全测试能力
提升逻辑漏洞相关知识,逻辑漏洞覆盖范围扩展至 XSS、CSRF 等漏洞
c. 第三阶段:安全意识的培养
产品:需求评审过程中针对外网应用提出安全测试的诉求
研发:开发过程中遵循安全测试规范,规避安全问题
测试:需求评审过程中针对外网应用提出安全测试要求;代码评审过程中针对权限类、敏感数据类检查是否有权限校验或数据加密;安全测试过程中覆盖常用的安全用例
3、逻辑漏洞挖掘经验
a. 工具使用
BurpSuite 安装
b. 通用用例及构造方式
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 个
七、未来规划
1、安全测试常态化持续推进
2、安全知识持续提升
作者:京东物流 范文君
来源:京东云开发者社区 自猿其说 Tech 转载请注明来源
版权声明: 本文为 InfoQ 作者【京东科技开发者】的原创文章。
原文链接:【http://xie.infoq.cn/article/089bcfc4e64d2110309836753】。文章转载请联系作者。
评论