《白帽子讲web安全》读书笔记系列1:互联网业务安全

一、安全是产品的一个特性,在设计之初就应该考虑安全隐患。

开发者眼中一个项目影响因素优先级排序:

1、功能实现

2、性能

3、可用性

4、如期上线

5、可维护性

6、安全

 

搜索引擎:钓鱼网站、欺诈网站、挂马网站

邮箱垃圾:AD、钓鱼、欺诈

一个成熟的互联网产品必然会存在安全性方面的竞争,安全性做好了,产品最终才能真正成熟。

 

好的安全方案:

1、良好的用户体验

2、优秀的性能

 

eg:

WEB登录入口的保护:

基本:用户名+密码

双因素,提高安全性,但降低用户体验

U盾、动态口令卡、令牌:成本

客户端证书:浏览器及系统兼容性、证书过期与更新

短信验证码:达到率、国外用户

复杂密码,一种糟糕的体验,本质需求为:

对抗暴力破解

防止密码中包含个人信息

防暴力破解的尝试:验证码

一个账号一段时间内的登录失败次数

一个IP一段时间内的登录行为次数

脚本或扫描器特征

防止密码包含个人信息:

结合用户注册信息,当密码设置包含有相关信息时进行告警提示,引导用户设置安全的密码

 

二、业务逻辑安全

1、当一个系统存在多套用户体系时,需要考虑体系间的相互影响;

2、页面不能显示其他用户的用户名或id,以避免恶意锁定或暴力攻击;

一个好的防暴力破解方案,需要做到仅仅把坏人关在门外,不对正常的用户登录造成影响:

首先判定是否具备暴力破解特征,然后针对特定账号、特定IP进行验证码校验。

 

密码取回流程:

1、修改密码需要验证当前密码,因为黑客可以盗取用户账户而不需要知道其当前密码;

2、自助取回密码的三种方式:安全问题、安全邮箱、短信验证码

这里要考虑这几类验证方式是否能不通过验证而直接被黑客修改;如果这几类方法都不保险,还可以考虑一个较好的方法:使用用户在网站上留下过的一些私有信息,与用户逐一核对,以验证用户身份,如:曾使用过的密码、曾登录过的时间、地点、曾发表过又删除了的文章等用户“基因”。

 

三、账户被盗

被盗途径

1、登录过程无https,被嗅探截获密码;

2、用户电脑中木马,被获取键盘记录;

3、用户被钓鱼网站骗取密码;

4、网站登录入口被暴力破解;

5、网站密码取回流程存在逻辑漏洞;

6、网站存在XSS等客户端脚本漏洞,用户账户被间接获取;

7、网站存在SQL注入等服务器端漏洞,网站被黑客入侵。

上述威胁,除了2、3点是用户原因导致,其他均可以从服务端进行控制,需要网站对安全负责。

根据微软提出的安全风险评估模型DREAD模型(危害性、可重复性、难度系数、影响用户数、暴露系数),可得出如下风险严重程度排序:

1、网站被暴力破解;

2、密码取回流程存在逻辑漏洞;

3、密码被嗅探;

4、网站存在SQL注入漏洞;

5、用户被钓鱼

6、网站存在XSS,账户被间接获取;

7、用户中木马

所以,安全工作的优先级:用户登录安全>网站实现上的安全漏洞>用户使用环境安全

 

四、互联网的垃圾

垃圾注册几乎成为一切业务安全问题的源头。

垃圾行为特征:

内容:以自然语言分析、关键词匹配等判断

行为:以业务逻辑规则判断

客户端:人机识别,如验证码、让客户端解析javascript等

三种规则结合,建立一套风险控制系统,以判断出非法用户和非法行为;同时在拦截上也要讲求策略,避免规则见光死。

 

五、钓鱼网站

钓鱼网站的防控

1、控制传播途径 建立反钓鱼的统一战线,浏览器、杀毒软件拦截

2、直接打击钓鱼网站

3、用户教育

4、自动化识别钓鱼网站

 

六、用户隐私保护

1、用户应该拥有知情权和选择权

2、网站应该妥善保管收集到的用户数据,控制使用范围;

限制员工接触到用户原始数据,个人数据应该只能由算法或程序来计算,工作人员不宜看到完整的用户信息,适当使用掩码xxxx。

3、Do-Not-Track

美国提出的立法确保用户有权拒绝网上追踪用户的行为。

非英语国家的用户行为收集器:输入法。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章