10种常见网站安全攻击手段及防御方法
网站攻击方法多种多样,防御手段也各有侧重,但只要在创建或运营网站时不跳过安全设置,至少能缓解遭攻击的可能性和攻击后果的严重性。
在某种程度上,互联网上的每个网站都容易遭受安全攻击。从人为失误到网络罪犯团伙发起的复杂攻击均在威胁范围之内。
网络攻击者最主要的动机是求财。无论你运营的是电子商务项目还是简单的小型商业网站,潜在攻击的风险就在那里。
知己知彼百战不殆,当今网络时代,了解自己面对着何种威胁比以往任何时候都来得更为重要。每种恶意攻击都有自己的特性,不同类型的攻击那么多,似乎不太可能全方位无死角抵御全部攻击。但我们仍然可以做许多工作来保护网站,缓解恶意黑客对网站造成的风险。
不妨先从仔细审视互联网上最常见的10种网络攻击开始,看看能够采取哪些办法来保护你的网站。
10种常见网站安全攻击
1. 跨站脚本(XSS)
跨站脚本攻击大约占据了所有攻击的40%,是最为常见的一类网络攻击。但尽管最为常见,大部分跨站脚本攻击却不是特别高端,多为业余网络罪犯使用别人编写的脚本发起的。
跨站脚本针对的是网站的用户,而不是Web应用本身。恶意黑客在有漏洞的网站里注入一段
代码,然后网站访客执行这段代码。此类代码可以入侵用户账户,激活木马程序,或者修改网站内容,诱骗用户给出私人信息。
设置Web应用防火墙(WAF)可以保护网站不受跨站脚本攻击危害。WAF就像个过滤器,能够识别并阻止对网站的恶意请求。购买网站托管服务的时候,Web托管公司通常已经为你的网站部署了WAF,但你自己仍然可以再设一个。
2. 注入攻击
开放Web应用安全项目(OWASP)新出炉的十大应用安全风险研究中,注入漏洞被列为网站最高风险因素。SQL注入方法是网络罪犯最常用的注入手法。
注入攻击方法直接针对网站和服务器的数据库。执行时,攻击者注入一段能够揭示隐藏数据和用户输入的代码,获得数据修改权限,全面俘获应用。
保护网站不受注入攻击危害,主要落实到代码库构建上。比如说,缓解SQL注入风险的首选方法就是始终尽量采用参数化语句。更进一步,可以考虑使用第三方身份验证工作流来外包你的数据库防护。
3. 模糊测试
开发人员使用模糊测试来查软件、操作系统或网络中的编程错误和安全漏洞。然而,攻击者可以使用同样的技术来寻你网站或服务器上的漏洞。
采用模糊测试方法,攻击者首先向应用输入大量随机数据(模糊)让应用崩溃。下一步就是用模糊测试工具发现应用的弱点。如果目标应用中存在漏洞,攻击者即可展开进一步漏洞利用。
对抗模糊攻击的最佳方法就是保持更新安全设置和其他应用,尤其是在安全补丁发布后不更新就会遭遇恶意黑客利用漏洞的情况下。
4. 零日攻击
零日攻击是模糊攻击的扩展,但不要求识别漏洞本身。此类攻击最近的案例是谷歌发现的,他们在Windows和Chrome软件中发现了潜在的零日攻击。
在两种情况下,恶意黑客能够从零日攻击中获利。第一种情况是,如果能够获得关于即将到
来的安全更新的信息,攻击者就可以在更新上线前分析出漏洞的位置。第二种情况是,网络罪犯获取补丁信息,然后攻击尚未更新系统的用户。这两种情况下,系统安全都会遭到破坏,至于后续影响程度,就取决于黑客的技术了。
保护自己和自身网站不受零日攻击影响最简便的方法,就是在新版本发布后及时更新你的软件。
5. 路径(目录)遍历
路径遍历攻击不像上述几种攻击方法那么常见,但仍然是任何Web应用的一大威胁。
路径遍历攻击针对Web root文件夹,访问目标文件夹外部的未授权文件或目录。攻击者试图将移动模式注入服务器目录,以便向上爬升。成功的路径遍历攻击能够获得网站访问权,染指配置文件、数据库和同一实体服务器上的其他网站和文件。
网站能否抵御路径遍历攻击取决于你的输入净化程度。这意味着保证用户输入安全,并且不能从你的服务器恢复出用户输入内容。最直观的建议就是打造你的代码库,这样用户的任何信息都不会传输到文件系统API。即使这条路走不通,也有其他技术解决方案可用。