Skip to content

Latest commit

 

History

History
117 lines (89 loc) · 4.06 KB

信息泄露排查思路.md

File metadata and controls

117 lines (89 loc) · 4.06 KB

0.背景假设

两个案例假设

暗网爆出信息泄露 客户爆出银行卡盗刷等等

两个核心思路

1、以对象流动为主线,这里的对象就数据。它经历了哪些环节(大方向是客户端-链路-服务端,更细就需要考虑各个节点的业务逻辑),各个环节有什么方法被盗。 2、以时间轴为主线

1.数据是否由我方泄露

行为时间点界定: ​

Q1:假如是信用卡盗刷,是否有盗刷订单发生在用户在我方业务 绑卡行为之前? 如果是,泄露的源头非我们 如果不是,数据很大可能从我们泄露,或者我们的业务逻辑是攻击者进行盗刷的必要步骤。 Q2: 是否有信用卡,未在我方业务进行绑定而发生盗刷? 如果是,泄露的源头非我们 如果不是,数据很大可能从我们泄露,或者我们的业务逻辑是攻击者进行盗刷的必要步骤。 ​

数据特征界定: ​

Q3:数据有哪些字段,字段和我们的系统匹配度如何?

2.泄露数据的核心元素

Q1: 如果进行盗刷,必要的信息有哪些?银行卡+CVV+expiry? 通过体验实际的支付流程进行确认。 Q2:数据中哪些字段对攻击者来说是有价值的? 用户隐私数据,例如手机号、身份证、银行卡等

3.业务系统排查思路

面向用户的系统,排查链路: 客户端---链路---服务端(包含各对接业务方) ​

3.1.客户端

App是否被篡改,防重打包机制是否正常运行 运行环境是否安全 数据是否在本地存储,包括写入磁盘的存储和App内存存储 XSS可以调用JSbridge获取信息 session storage 集成的第三方SDK或者RN也可以 客户端是否有防截图、防录屏 是否使用安全键盘 第三方JS、第三方组件、供应链攻击 ​

3.2.链路

是否有中间人攻击风险,是否启用https,https是否有强校验 https支持的协议版本和加密套件,版本应该是TLS1.2和TLS1.3,低于这2者的版本都有可能被中间人攻击 是否有恶意WIFI等 还需要检查APP是否正确校验了服务端证书。 ​

3.3.服务端(包括管理后台)

A.服务端构成模块检查

  • log(最好能查看原生日志、日志平台的日志可能是被过滤处理过的)
  • 数据库中是否加密存储对应字段
  • 中间件(redis、MongoDB、kafka)等存储数据数据的中间件

B.系统漏洞检查

  • 系统接口设计是否有逻辑问题
  • 系统是否存在越权、XSS、SQL注入等可以盗取信息的漏洞。

C. Nginx

  • 暴露面
  • 远程日志
  • 本地日志
  • 安全缺陷

D.防火墙

  • 规则review

4.人员排查

思路 生产环节:SDLC中各个环节的接触人员 运行环节:系统运营管理人员、各对接系统的相关人员 ​

排查点: 开发测试人员的行为是否合规+是否有入侵行为:系统接口调用日志、应用系统访问日志。 运营管理人员的行为是否合规+是否有入侵行为:管理后台访问、操作日志、数据导出下载记录。 运营管理人员的行为是否合规+是否有入侵行为:终端安全日志,用户是否有存储敏感信息;是否有异常行为。 运维管理人员的行为是否合规+是否有入侵行为:应用服务器、数据库服务器、中间件服务器的 HIDS日志。 ​

5.用户账号行为分析

1、账号是否是正常账号,即活动周期,行为是否有异常。 2、绑卡行为是否异常。绑卡后是否记录进行消费、消费金额和时间与盗刷时间是否有规律或联系 3、信用卡的KYC和我方用户的KYC是否匹配。 ​

用户操作流程还原,点击了什么按钮、打开了什么页面等等。 ​

多用户行为数据聚合分析:是否有什么共同特点,比如访问了什么共同页面,做了什么共同操作。地理位置、时间、WIFI网络、操作流程等等。

6.第三方系统排查

第三方对接系统的排查思路和方法同上。 ​

当绑卡和支付时,我们向哪些系统传递了相关信息。 ​