第8章
常用的攻击手段有:XSS攻击,SQL注入,CSRF,Session劫持等
XSS攻击有两种,一种是反射型,一种是持久型。
防止XSS攻击主要有两种手段
1;消毒,即进行过滤和消毒处理,对某些html字符转义
2:HttpOnly 即禁止页面JavaScript访问带有HttpOnly属性的Cookie
SQL注入主要手段
开源
错误回显
盲注
防御手段有
消毒
参数绑定
CSRF(Cross Site Request Forgery,跨站点请求)
主要防御手段是识别请求者身份
表单Token
验证码
Referer check
其他攻击和漏洞
Error Code 错误回显
HTML注释
文件上传
最有效的手段是设置上传白名单,只容许上传可靠的文件类型。此外还可以修改文件名,
使用专门的存储手段,保护服务器免受上传文件攻击。
路径遍历
攻击者在请求URL中使用相对路径,遍历系统未开放的目录和文件。防御方法主要是将JS,CSS等资源文件
部署在独立的服务器上,使用独立域名,其他文件不使用静态URL访问,动态参数不包含文件路径等信息。
ModSecurity 是一个开源的Web应用防火墙。
ModSecurity 采用处理逻辑与攻击规则集合分离的架构模式。
NEC 的SiteShell
信息加密技术可以分为三类:
1:单向散列加密 2:对称加密 3:非对称加密
虽然不能通过算法将单向散列密文反算得到明文,但是由于人们设置密码具有一定模式,
因此通过彩虹表(人们常用的密码和对应的密文关系)等手段可以进行猜测式破解。
可以给散列算法加盐(salt),salt相当于加密的秘钥,增加破解难度。
对称加密是指加密和解密使用同一秘钥。
非对称加密是指加密和解密使用不同的秘钥。其中对外公开的称为公钥,自己所有为秘钥。
RSA是非对称加密算法。
一种是把秘钥和算法放在同一服务器上,甚至做成一个专用的硬件设施对外提供加密和解密服务,
应用系统通过调用这个服务,实现数据加解密。
另一种方案是加解密算法放在应用系统中,秘钥则放在独立服务器中,为提供秘钥的安全性,实际存储时,
秘钥被切分成数片,加密后分别存在不同存储介质中,兼顾秘钥安全性又改善性能。
信息过滤与反垃圾
文本匹配
公开算法很多,基本是Trie树的变种
另一种更简单的实现是构造多级Hash表进行文本匹配。要进行降噪处理,然后在进行文本匹配。如"阿_拉_伯"
分类算法
贝叶斯分类算法
分类算法除了用于反垃圾,还可用于信息自动分类,门户网站可用该算法对采集来的新闻稿件进行自动分类,分发
到不同的频道。邮箱服务商根据邮件内容推送的个性化广告也可以使用分类算法提供投送相关度。
黑名单,可以用于信息去重,可用布隆过滤器代替Hash表
规则引擎是一种将业务规则和规则处理逻辑分离的技术,业务规则文件由运营人员通过容器管理界面编辑,当需要
修改规则时,无需更改代码发布程序,即可实时使用新规则。而规则处理逻辑则调用规则处理输入的数据。
统计模型
目前大型网站更倾向于使用统计模型进行风控。
统计模式有分类算法或者更复杂的机器学习算法进行智能统计
这个世界没有绝对的安全,正如么有绝对的自由一样。
秒杀系统对应的策略
1:秒杀系统独立部署
2:秒杀商品页面静态化
3:租借秒杀活动网络宽带
4:动态生成随机下单页面URL
软件设计有两种风格
一种是将软件设计的很复杂,以使缺陷没那么明显
一种是将软件设计的很简单,以使没有明显的缺陷。