后端
api安全等级
身份认证:密码,短信,u盾,
权限:角色和数据权限
token生产规则
token生命周期
token更换策略
访问限流
异常访问识别
输入参数校验:类型,边界,脚本,高权限html标签
配置参数管理:生产环境参数,最好动态从全局配置系统获取。
异常信息泄漏:应用,中间件不能泄漏没必要的异常信息,采用
访问日志:所有访问都需要有记录,关联对方真实ip,mac,用户id
敏感信息:密码,hash盐,日志,用户个人信息显示,
通信安全:https,evzhengs,hsts,TLS 1.2,ECDHE_RSA,AES_128_GCM
加密算法选择:
WEB
- 浏览器安全
| 攻击类型 | 攻击方法 | 防御措施 | 
|---|---|---|
| 跨站脚本攻击(XSS) | image请求窃取cookie,操作用户浏览器(构造请求),XSS钓鱼(窃取密码,验证码),识别用户环境 | Cookie 设置 HttpOnly标记,Cookie与客户端IP绑定,输入检查(XSS Filter),输出检查(安全编码) | 
| 跨站点请求伪造(CSRF) | 诱使用户跳转,伪造请求 | 验证码,Refer Check,Token(随机,不可预测) | 
| 点击劫持 | flash点击劫持,图片覆盖攻击,触屏劫持 | 禁止iframe的嵌套,跨域访问限制,H5新增属性sandbox进行限制 | 
| HTML5安全 | 新标签 video,audio,canvas(解析图片验证码) | 新增属性(iframe新增sandbox,为 a 和 area 标签定义新的LinkTypes: noreferrer) | 
- 服务器端安全
| 攻击类型 | 攻击方法 | 防御措施 | 
|---|---|---|
| 注入攻击 | SQL注入,XML注入,代码注入 ,CRLF 注入 | 使用预编译语句,统一字符集,检查数据类型, | 
| 文件上传漏洞 | web脚本语言,Flash策略文件 ,病毒木马文件,钓鱼图片(包含有脚本) | 文件目录不可执行,判断文件类型,修改文件名 | 
| 认证与会话管理 | Session Fixation攻击,Session保持攻击 | 登陆完成后,重写SessionId;一定时间后,强制销毁Session | 
| 拒绝服务攻击(DDOS) | SYN Flood(伪造IP地址,三次握手),CC攻击(黑洞防御下,大量请求消耗资源,如查询数据库,读写文件)资源耗尽攻击 | 配置服务器配置文件(调小TimeOut、KeepAliveTimeOut,增大MaxClient),限制请求频率 | 
- 跨站脚本攻击(XSS): Cookie 设置 HttpOnly标记;输入检查
- 跨站点请求伪造(CSRF): 验证码,Refer Check,Token(随机,不可预测)
- 点击劫持:flash点击劫持,图片覆盖攻击,触屏劫持;禁止iframe的嵌套,跨域访问限制,H5新增属性sandbox进行限制
- 
    HTML5安全:新标签(video,audio,canvas(解析图片验证码)),新增属性(iframe新增sandbox,为 a 和 area 标签定义新的LinkTypes: noreferrer) 
- 
    Cookie防止泄露:给Cookie加上HttpOnly的标签,如果使用了SSL,那么你需要仔细检查在SSL的请求中返回的Cookie值,是否指定了 Secure属性。 
- http请求参数加密:
IOS
安卓
- 
    组件安全 
- 
    Activity安全, 
- 
    Broadcase Reciver安全, 
- 
    Service安全, 
- 
    Content Provider安全 
- 通信安全
- 
    http请求参数加密(关键信息) 
- 存储安全
- 
    内部存储安全:数据库加密,隐私数据加密(无论采用何种创建文件的模式,root后均可获取最高权限,关键信息必须加密) 
- 
    外部存储安全:不要将信息存放到外部存储,日志,保存图片等除外 
- 
    发布安全 
- 
    防止反编译:代码混淆,app加固(使用爱加密、乐固等) 
- 
    监测调试器:当检测到调试器的连接时终止运行 
- 
    检测模拟器:检测到应用运行在模拟器环境中,终止运行 
- 
    防止重编译:检查签名,校验保护(检测classes.dex文件的Hash值) 
- 
    防止权限攻击:android权限检查机制,串谋权限攻击,极限攻击监测 
- 渠道打包:不要再用签名来区分渠道,在 Android manifest 文件中使用 meta-data 来区分渠道
