系统安全规约
- 权限控制
- 敏感数据处理规约
- SQL注入攻击及其预防
- XSS攻击及其预防
- 防重、防刷、违禁风控设计实践
权限控制之越权访问漏洞
越权访问漏洞防范措施
1、前后端同时对用户输入信息进行校验、双重验证机制
2、调用功能前,验证用户是否有权限,调用相关功能
3、执行关键操作前必须验证用户身份,验证用户是否具备操作数据的权限
4、直接对象引用的资源ID要加密,防止攻击者枚举ID,敏感数据特殊化处理
5、永远不要相信来自用户的输入,对于可控参数进行严格的检查和过滤
垂直越权访问漏洞
普通用户 >>> 普通管理员 >>> 超级管理员 >>> 系统管理员
水平越权访问漏洞
水平越权访问是一种“基于数据的访问控制”设计缺陷引起的漏洞。
由于服务器端在接收到请求数据进行操作时,没有判断数据的所属人所属部门而导致的越权数据访问漏洞。
敏感数据处理
指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护
特殊信息授权、特殊信息脱敏、特殊信息加密存取、特殊信息加密传输
数据脱敏的重要原则
保持原有数据特征
保持数据之间的一致性
保持业务规则的关联性
多次脱敏之间的数据一致性
可分为:
- 前端展示脱敏
- 日志记录脱敏
- 数据存取加密
- 数据传输加解密
SQL注入攻击防御
SQL注入常用防御手段:
- 过滤危险字符
- 使用预编译语句: JDBC PrepareStatement
- 参数化查询:Hibernate、Mybatis
XSS攻击防御
输入过滤:单引号、双引号、<、>等
编码转换:HTML实体编码、JavaScript编码
Cookie安全策略:HttpOnly
后端应用防备:XssFilter
重放攻击
使用Sentinel 实现API接口防刷