电商安全无小事,如何有效地抵御 CSRF 攻击?

如今,咱们绝大多数人都会在网上购物买东西。可是不少人都不清楚的是,不少电商网站会存在安全漏洞。好比乌云就通报过,国内不少家公司的网站都存在 CSRF 漏洞。若是某个网站存在这种安全漏洞的话,那么咱们在购物的过程当中,就极可能会被网络黑客盗刷信用卡。是否是有点「毛骨悚然」 的感受?php

首先,咱们须要弄清楚 CSRF 是什么。它的全称是 Cross-site request forgery ,翻译成中文的意思就是「跨站请求伪造」,这是一种对网站的恶意利用。简单而言,就是某恶意网站在咱们不知情的状况下,以咱们的身份在你登陆的某网站上胡做非为——发消息、买东西,甚至转帐......浏览器

从一个 CSRF 攻击场景,看「双十一」 电商安全

这种攻击模式听起来有点像跨站脚本(XSS),但 CSRF 与 XSS 很是不一样,而且攻击方式几乎相左。XSS 利用站点内的信任用户,而 CSRF 则经过假装来自受信任用户的请求来利用受信任的网站。与 XSS 攻击相比,CSRF 攻击每每不多见,所以对其进行防范的资源也至关稀少。不过,这种「受信任」的攻击模式更加难以防范,因此被认为比 XSS 更具危险性。安全

这个过程究竟是怎样的呢?让咱们看个简单而鲜活的案例。服务器

银行网站 A,它以 GET 请求来完成银行转帐的操做,如:网络

http://www.mybank.com/Transfer.php?toBankId=11&money=1000

危险网站 B,它里面有一段 HTML 的代码以下:运维

<img src=http://www.mybank.com/Transfer.php?toBankId=11&money=1000>

可能会发生什么?你登陆了银行网站 A,而后访问危险网站 B 之后,忽然发现你的银行帐户少了10000块......测试

为何会这样呢?缘由是在访问危险网站 B 以前,你已经登陆了银行网站 A,而 B 中的以 GET 的方式请求第三方资源(这里的第三方就是指银行网站了,本来这是一个合法的请求,但这里被不法分子利用了),因此你的浏览器会带上你的银行网站 A 的 Cookie 发出 GET 请求,去获取资源网站

「http://www.mybank.com/Transfer.php?toBankId=11&money=1000」,

结果银行网站服务器收到请求后,认为这是一个合理的转帐操做,就马上转帐了......翻译

其实,真实的银行网站不会如此不加防范,但即便用 POST 替代 GET,也只是让危险网站多花些力气而已。危险网站 B 依然能够经过嵌入 Javascript 来尝试盗取客户资金,因此咱们时不时会听到客户资金被盗的案件,其实这并非很不稀奇。设计

相信,不少人了解到这儿,会出现一身冷汗,还让不让咱们在「双11」期间可以愉快地享受网购的快感了?难道没有什么办法防住它嘛?

固然是有的。能够给网站打补丁,如 Cookie Hashing (全部表单都包含同一个伪随机值)。这多是最简单的解决方案了,由于理论上攻击者不能得到第三方的 Cookie,因此表单中的数据也就构造失败了。但这并非完美的解决方案,由于用户的 Cookie 很容易因为网站的 XSS 漏洞而被盗取;另外一种方法是用验证码,每次的用户提交都须要用户在表单中填写一个图片上的随机字符串....这个方案能够彻底解决 CSRF,但用户体验很遭罪(忒麻烦了)。还有一种是 One-Time Tokens(不一样的表单包含不一样的伪随机值),须要设计令牌和 Session 管理逻辑,并修改 Web 表单,网站运维又很遭罪。

以上全部办法都须要对网站进行修修补补,再花费不少气力去测试。可能有人会想到用防火墙来防御,那么有没有知足要求的产品呢?在去年,下一代防火墙——自适应安全防御(RASP)这个概念横空出世,吸引了不少企业的注意,它对请求上下文的感知能力和深刻应用内部的识别防护能力一改被动的、外部肉盾式的防御理念,能够在无需给网站打补丁的情形下承担起防御的责任,值得尝试。

这里推荐一个最新的解决方案,它的名字叫 RASP(实时应用自我保护),这种方式能够有效解决这类的问题。针对 CSRF 漏洞问题,RASP 定制了规则集和防御类,而后采用 Java 字节码技术,在被保护的类被加载进虚拟机以前,根据规则对被保护的类进行修改,将防御类织入到被保护的类中。你们不妨能够一试。

目前国内仅有一家在提供 RASP 的服务厂商 OneASP。 能以最小代价而且快速解决上述难题,你只须要很是简单的修改一下 JVM 的启动配置,就能够将运行。它能将攻击过程透明化,经过控制台能够很是清楚的知道系统何时、哪一个模块、哪行代码遭受了哪一种类型的攻击。同时还可以快速修复漏洞,只要将 OneRASP 和应用程序部署在一块儿就能够快速修复已知漏洞,不须要漫长的扫描 - 修复 - 扫描的过程。经过实时升级系统快速同步最新漏洞,避免零日攻击。

固然,只有 OneRASP 也并不是万无一失,最优的解决方案是将 OneRASP 和网络安全解决方案、应用安全扫描与测试等安全防御系统结合起来,造成多层次立体的防护体系。现在各类攻击手段层出不穷,单靠其中任一技术来防范应用程序的安全是不科学的。但 OneRASP 永远是应用程序安全保护的最后一道没法逾越的壕沟,它能够帮你快速提高应用程序的安全级别,你不再用担心没有合格的安全工程师了。固然也确保你的企业不会做为下一个安全受害者登上头条。

OneRASP(实时应用自我保护)是一种基于云的应用程序自我保护服务, 能够为软件产品提供实时保护,使其免受漏洞所累。

相关文章
相关标签/搜索