《大型网站技术架构:核心原理与案例分析》拜读总结,第八章——固若金汤:网站的安全架构
2017-05-26 20:07
344 查看
道高一尺,魔高一丈的网站应用攻击与防御
XSS和SQL注入构成网络应用攻击的最主要的手段,(70%)。此外,常用的WEB应用还包括CSRF,Session劫持等手段。
XSS攻击:跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
包含两种:
1.反射型:攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的。
2.持久型XSS攻击:黑客提交包含恶意脚本的请求,保存在web站点的数据库中,用户浏览网页时,恶意脚本呗包含在正常页面中,达到攻击的目的。
消毒:对某些html危险字符进行转义,为了避免不必要的内容错误转义,需要进行文本匹配后再转义。
HttpOnly:浏览器禁止页面JS访问带有HttpOnly属性的Cookie,HttpOnly并不直接对抗XSS,而是防止XSS攻击者窃取Cookie,对存有敏感信息的Cookie,设置该属性,避免被
脚本窃取。
注入攻击:SQL注入和OS注入
SQL注入:攻击者在HTTP请求中注入恶意SQL(drop table....),服务器用请求参数构造SQL时,恶意SQL被遗弃构造,在数据库中执行。
SQL注入需要了解数据库结构,通过:开源,数据回显,盲注。
消毒:通过正则匹配,过滤请求数据中可能注入的SQL “DROP TABLE”
参数绑定:使用预编译手段,绑定参数。
CSRF攻击: 跨站点请求伪造。通过跨站请求,在用户不知明的情况下,以合法用户身份进行非法操作,转账交易,发表评论等。
核心是利用浏览器Cookie或服务器Session,盗取用户身份。
识别请求者身份:
表单Token:通过在请求参数中增加随机数来阻止攻击者获得所有请求参数,在页面表单增加随机数做Token,每次响应值都不同,从正常页面提交会包含,伪造者无法获
取该值。
验证码:
Referer check:HTTP请求的Referer域中记录着请求来源,验证是否合法。
其他攻击和漏洞:
error code:故意制造非法输入,获取异常信息,寻找系统漏洞进行攻击
配置WEB参数:跳转500页面,出现错误跳转到专门的错误页面、
html注释:注释显示在客户端浏览器,给黑客造成攻击便利
代码扫描,避免提交注释。
文件上传:如果上传的是可执行程序,并通过该程序获得服务器端命令执行能力,后果不堪设想。
设置上传白名单,只允许上传可靠的文件类型
路劲遍历:攻击者在请求URL中使用相对路劲,便利系统未开放的目录和文件
将JS,CSS等资源文件部署在独立服务器,使用独立域名,其他文件不使用静态URL,动态参数不包含文件路劲信息。
web应用防火墙:
ModSecurity:开源web防火墙,探测攻击并保护web应用程序,统一拦截请求,过滤恶意参数,自动消毒,添加Token...
安全漏洞扫描:构造具有攻击性URL,模拟黑客攻击,用以发现网站漏洞。
信息加密技术:单向散列加密,对称加密,非对称加密
单向散列加密:
MD5
对称加密:加密和解密使用同一个秘钥:DES算法
非对称加密:RSA算法
秘钥安全管理:
1.把秘钥和算法放在一个独立的服务器:秘钥泄露概率降低,但是成本高
2.将加解密算法放在应用系统中,秘钥放在独立服务器中
信息过滤和反垃圾:
文本匹配:正则表达式,双数组Trie算法。
分类算法
黑名单
电子商务风险:
账户风险:账户被盗,恶意注册账户
买家风险:恶意下单,占用库存进行不正当交易
卖家风险:不良卖家恶意欺诈
交易风险:信用卡盗刷,恶意欺诈
风险控制:
1.规则引擎:交易的某些指标满足一定条件,则认为具有高风险的欺诈可能:用户来自欺诈高发区,交易金额超过某个数值,异常登录地址等
2.统计模型:机器学习算法进行智能统计。
XSS和SQL注入构成网络应用攻击的最主要的手段,(70%)。此外,常用的WEB应用还包括CSRF,Session劫持等手段。
XSS攻击:跨站点脚本攻击,指黑客通过篡改网页,注入恶意HTML脚本,在用户浏览网页时,控制用户浏览器进行恶意操作的一种攻击方式。
包含两种:
1.反射型:攻击者诱使用户点击一个嵌入恶意脚本的链接,达到攻击的目的。
2.持久型XSS攻击:黑客提交包含恶意脚本的请求,保存在web站点的数据库中,用户浏览网页时,恶意脚本呗包含在正常页面中,达到攻击的目的。
消毒:对某些html危险字符进行转义,为了避免不必要的内容错误转义,需要进行文本匹配后再转义。
HttpOnly:浏览器禁止页面JS访问带有HttpOnly属性的Cookie,HttpOnly并不直接对抗XSS,而是防止XSS攻击者窃取Cookie,对存有敏感信息的Cookie,设置该属性,避免被
脚本窃取。
注入攻击:SQL注入和OS注入
SQL注入:攻击者在HTTP请求中注入恶意SQL(drop table....),服务器用请求参数构造SQL时,恶意SQL被遗弃构造,在数据库中执行。
SQL注入需要了解数据库结构,通过:开源,数据回显,盲注。
消毒:通过正则匹配,过滤请求数据中可能注入的SQL “DROP TABLE”
参数绑定:使用预编译手段,绑定参数。
CSRF攻击: 跨站点请求伪造。通过跨站请求,在用户不知明的情况下,以合法用户身份进行非法操作,转账交易,发表评论等。
核心是利用浏览器Cookie或服务器Session,盗取用户身份。
识别请求者身份:
表单Token:通过在请求参数中增加随机数来阻止攻击者获得所有请求参数,在页面表单增加随机数做Token,每次响应值都不同,从正常页面提交会包含,伪造者无法获
取该值。
验证码:
Referer check:HTTP请求的Referer域中记录着请求来源,验证是否合法。
其他攻击和漏洞:
error code:故意制造非法输入,获取异常信息,寻找系统漏洞进行攻击
配置WEB参数:跳转500页面,出现错误跳转到专门的错误页面、
html注释:注释显示在客户端浏览器,给黑客造成攻击便利
代码扫描,避免提交注释。
文件上传:如果上传的是可执行程序,并通过该程序获得服务器端命令执行能力,后果不堪设想。
设置上传白名单,只允许上传可靠的文件类型
路劲遍历:攻击者在请求URL中使用相对路劲,便利系统未开放的目录和文件
将JS,CSS等资源文件部署在独立服务器,使用独立域名,其他文件不使用静态URL,动态参数不包含文件路劲信息。
web应用防火墙:
ModSecurity:开源web防火墙,探测攻击并保护web应用程序,统一拦截请求,过滤恶意参数,自动消毒,添加Token...
安全漏洞扫描:构造具有攻击性URL,模拟黑客攻击,用以发现网站漏洞。
信息加密技术:单向散列加密,对称加密,非对称加密
单向散列加密:
MD5
对称加密:加密和解密使用同一个秘钥:DES算法
非对称加密:RSA算法
秘钥安全管理:
1.把秘钥和算法放在一个独立的服务器:秘钥泄露概率降低,但是成本高
2.将加解密算法放在应用系统中,秘钥放在独立服务器中
信息过滤和反垃圾:
文本匹配:正则表达式,双数组Trie算法。
分类算法
黑名单
电子商务风险:
账户风险:账户被盗,恶意注册账户
买家风险:恶意下单,占用库存进行不正当交易
卖家风险:不良卖家恶意欺诈
交易风险:信用卡盗刷,恶意欺诈
风险控制:
1.规则引擎:交易的某些指标满足一定条件,则认为具有高风险的欺诈可能:用户来自欺诈高发区,交易金额超过某个数值,异常登录地址等
2.统计模型:机器学习算法进行智能统计。
相关文章推荐
- 大型网站技术架构:核心原理与案例分析—第八章:固若金汤:网站的安全架构
- 学习笔记8:《大型网站技术架构 核心原理与案例分析》之 固若金汤:网站的安全架构
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第五章——万无一失:网站的高可用架构
- 大型网站技术架构-8 固若金汤:网站的安全架构
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第三章——大型网站架构核心要素
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第七章——随需应变:网站的可扩展架构
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第四章——瞬时响应:网站的高性能架构
- 项目开发中的一些注意事项以及技巧总结 基于Repository模式设计项目架构—你可以参考的项目架构设计 Asp.Net Core中使用RSA加密 EF Core中的多对多映射如何实现? asp.net core下的如何给网站做安全设置 获取服务端https证书 Js异常捕获
- 大型网站架构(五)固若金汤:网站的安全架构
- 《大型网站技术架构:核心原理与案例分析》拜读总结——第二章:大型网站架构模式
- 15. 固若金汤:网站的安全架构
- 8 固若金汤:网站的安全架构
- 《大型网站技术架构:核心原理与案例分析》拜读总结,第六章——永无止境:网站的伸缩性架构
- 大型网站架构设计系列总结
- 各大网站架构总结笔记[转]
- 各大网站架构总结笔记
- 各大网站架构总结笔记
- 各大网站架构总结笔记(续)
- 各大网站架构总结笔记
- 各大网站架构总结笔记(续)(转)