业务安全问题,受害者往往是互联网公司的用户,攻击的是互联网公司的业务,难以根除,是公司业务发展的阻力。
产品安全
安全是产品的一个特性,具备了安全性,产品才是完整的;安全做好了,产品最终才能真正成熟。
一个优秀的安全方案,除了可以有效地解决问题之外,至少还必须具备两个条件:
- 良好的用户体验;
- 优秀的性能。
此外,如果我们的产品能够潜移默化地培养用户的安全习惯,将用户往更安全的额行为上引导,那么这样的安全就是最理想的产品安全。
业务逻辑安全
业务逻辑问题是一种设计缺陷,在产品开发过程中,可以考虑在产品设计和测试阶段解决。但业务逻辑问题没有一个成熟的归纳体系,很多时候,只能依靠安全工程师的个人经验来判断这些问题。
账户被盗
账户被盗的途径
在以下几种情况下,用户的账号存在被盗的可能。
- 网站登录过程中无HTTPS,密码在网络中被嗅探;
- 用户电脑中了木马,密码被键盘记录软件所获取;
- 用户被钓鱼网站所迷惑,密码被钓鱼网站所骗取;
- 网站某登录入口可以被暴力破解;
- 网站密码取回流程存在逻辑漏洞;
- 网站存在XSS等客户端脚本漏洞,用户账户被间接窃取;
- 网站存在SQL注入等服务器端漏洞,网站被黑客入侵导致用户账户信息泄露。
账户被盗的原因
- 客服是最重要和直接的渠道;
- 从日志中寻找证据;
- 打入敌人内部,探听最新动态。
互联网的垃圾
在网站应用中,垃圾注册几乎成为一切业务安全问题的源头。
防范垃圾注册和垃圾消息有两个步骤:“识别”和“拦截”。
识别
- 基于内容的规则:以自然语言分析、关键词匹配等为代表;
- 基于行为的规则:以业务逻辑规则为代表;
- 基于客户端识别的规则:以人机识别为代表,比如验证码,或者让客户端去解析JavaScript。
拦截
如果不是特别紧急的业务,可以打一个时间差。当使用规则识别出垃圾账户后,过一段时间再处理,这样恶意用户就摸不准到底触犯了哪条规则。同时还可以“打压”大版本账户,放过一小批账户。
拦截的方法根据业务而定,可以选择冻结账户或者删除账户,也可以只针对垃圾内容做屏蔽。
钓鱼网站的防控
- 控制钓鱼网站传播的途径;
- 直接打击钓鱼网站;
- 用户教育;
- 自动化识别钓鱼网站
用户隐私保护
- 用户应该拥有知情权和选择权;
- 网站应该妥善保管收集到的用户数据,不得将数据用于任何指定范围以外的用途。