您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
网站的安全架构
 
  3859  次浏览      16
 2018-5-25 
 

 

编辑推荐:
本文来自于网络,介绍了网站安全攻防战,信息加密技术及密钥安全管理,电子商务风险控制,信息过滤与反垃圾等知识。

网站安全攻防战

XSS攻击

防御手段:

- 消毒。 因为恶意脚本中有一些特殊字符,可以通过转义的方式来进行防范

- HttpOnly 对cookie添加httpOnly属性则脚本不能修改cookie。就能防止恶意脚本篡改cookie

注入攻击

SQL注入攻击需要攻击者对数据库结构有所了解才能进行,攻击者获取数据库表结构方式:

- 开源, 如果使用开源软件搭建,则数据库是公开的

- 错误回显, 把数据库错误抛到页面上

- 盲注。 主要是根据页面变化来做的

通常防止的办法有:

- 消毒, 对drop等关键字进行过滤

- 参数绑定 就是预编译

CSRF 攻击

跨站请求伪造

要求有两个条件就能进行攻击。

1.用户使用浏览器登陆了授信网站并且没有退出,生成了本地token

2.用户访问攻击者网站,攻击者通过302等让用户带一定的攻击参数再次访问授信网站

因为浏览器发送请求自带token,因此授信网站不知道请求来源于用户自己还是攻击者,这样就会有问题了。

防止办法:

1.页面随机数。 每次页面请求生成一个随机数,然后在后台进行校验

2.验证码。 比如手机验证码。 比较麻烦,可以在支付页上请求一下

3.Referer check HTTP请求头的Referer域zh录着请求来源,可通过检查请求来源验证是否合法。 很多网站使用这个功能实现图片防盗链

其他攻击方法和漏洞

直接异常信息,会给攻击者以提示。 可以使用mvc中的工具,把错误码异常等进行封装

HTML注释, 会暴露功能,方便攻击。 上线时去除注释

文件上传, 如果本身功能就是上传文件去执行,那么就有可能执行非常危险的命令。 解决方式是,设置文件白名单,限制文件类型,另外还可以重新命名文件,改名为不可执行的

路径遍历, 使用相对路径来遍历未开放的目录。 方式是将JS,CSS部署在独立的服务器,使用独立域名。 其他文件不使用静态URL访问,动态参数不包含文件路径信息。

WEB应用防火墙

ModSecurity 统一拦截请求,过滤恶意参数,自动消毒,添加token。并且能够自动升级。

分成了处理逻辑和攻击规则集合 两个部分,有点像策略模式, 处理逻辑负责过滤请求识别攻击方式, 然后去找对应的攻击规则执行他来确定对应的防御手段。

网站安全漏洞扫描

有开源和商用的安全漏洞扫描工具

信息加密技术及密钥安全管理

CSDN被拖库,居然明文保存用户名密码。

单项三散列加密

就是MD5,这种,无法反转的。 但是因为固定的字符加密后是一样的,因此可以加点随机盐来增加破解难度

对称加密

DES算法。 用同一个密钥进行加密和解密

适用于信息交换的场合,比如Cookie啊,数据啊等等。

加解密效率高。但是要防止密钥丢失

非对称加密

加密解密使用不同的钥匙。 对外界公开的是公钥, 用公钥加密的信息,用私钥才能解开(https),反之也成立(数字签名)。

用在https, 和数字签名的场合。

这样能保证及时公钥被知悉,以及传输数据被窃取了仍然无法破解数据信息。

密钥安全管理

上面的几种方式都会涉及到密钥的管理。

通常有如下的办法:

建立密钥服务器 减少接触密钥的人。 但是可能会成为瓶颈

将密钥算法放在应用系统中,密钥放在单独的服务器中。 这样就兼顾了安全和性能。

应用调用密钥管理服务进行加解密。 该服务提供了多种算法,并且可扩展。 密钥服务从密钥服务器获取密钥,并缓存一定期限。 密钥服务器存储密钥的时候分片存储。

信息过滤与反垃圾

文本匹配

使用敏感词过滤。

简单的可以使用正则表达式

但是并发较高的网站可以使用Trie树的变种算法。

还有一种比较简单的办法是构造多级hash表。如:

这可过滤树,可以建立多级hash表,可能会浪费一定的内存

另外一些手段可以绕过敏感词检查,比如阿拉波 这样的需要降噪处理

分类算法

对广告贴,垃圾邮件等使用分类算法。

先输入正常邮件和垃圾邮件通过分类算法训练进行分类模型创建,然后利用分类模型来处理对邮件的识别。

常用的算法有贝叶斯(基于统计概率论)的算法合Association RuleClustering System.

黑名单

黑名单可以通过hash表实现,但是这样会占用太多的内存。

另外有一个稍微好点的办法是使用布隆过滤器。 2G内存,映射为16个big.

然后一个邮箱随机映射到0-16g中的一个范围设置为1. 判断的时候就看为不为1.这种只有1/8的空间。但是效果上差不多。

电子商务风险控制

风险

账户风险 被盗

买家风险 买家恶意下单占用库存进行不正当竞争,黄牛抢购低价,良品拒收等等

买家风险 假货,违禁商品等

交易风险 信用卡盗刷,洗钱等

风控

一般风控风味自动和人工两种。 通常是机器自动识别高风险然后交给人工去审核。 主要有两种手段:规则引擎和统计模型。

规则引擎

不可能在代码里写死规则,所以就搞成这个模式的。可以随时修改业务规则。 业务执行部分逻辑不变只变规则。其实跟密钥管理的模型很想

统计模型

规则引擎会变得难以维护,性能差。

会使用分类算法或者其他机器学习的算法进行智能统计。 根据历史交易欺诈信息训练分类算法。然后进行加工得到交易风险分值。 可以有一定的模糊识别,会有一定预判性。并且性能更好。

   
3859 次浏览       16
 
相关文章

iOS应用安全开发,你不知道的那些事术
Web安全之SQL注入攻击
移动APP安全在渗透测试中的应用
从Google备份互联网看“数据安全”
 
相关文档

web安全设计与防护
互联网海量内容安全处理技术
黑客攻击与防范技术
WEB黑盒安全检测
 
相关课程

WEB网站与应用安全原理与实践
web应用安全架构设计
创建安全的J2EE Web应用代码
信息安全问题与防范