共计 3110 个字符,预计需要花费 8 分钟才能阅读完成。
一、背景
数据安全法施行后,国家监管部门增强了对企业数据安全的监管力度。在这个大的背景下,为保障物流体系系统安全,提前躲避平安危险,由测试组牵头制订平安测试流程标准并继续推动平安测试常态化。
二、安全漏洞的类型及危害
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. 第二阶段:增量需要进行平安测试
- 定期在组内进行平安测试分享培训,使组内所有人具备平安测试能力
- 晋升逻辑破绽相干常识,逻辑破绽覆盖范围扩大至 XSS、CSRF 等破绽
c. 第三阶段:安全意识的造就
- 产品:需要评审过程中针对外网利用提出平安测试的诉求
- 研发:开发过程中遵循平安测试标准,躲避平安问题
- 测试:需要评审过程中针对外网利用提出平安测试要求;代码评审过程中针对权限类、敏感数据类查看是否有权限校验或数据加密;平安测试过程中笼罩罕用的平安用例
3、逻辑破绽开掘教训
a. 工具应用
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、平安常识继续晋升
作者:京东物流 范文君
起源:京东云开发者社区 自猿其说 Tech 转载请注明起源