保障Web站点和应用程序的安全,免受SQL注入攻击涉及到三部分内容:

  1.通过彻底审核Web站点和Web应用程序的SQL注入式攻击和其它形式的攻击漏洞来分析目前的安全状态。

  2.确保你使用最佳的编码方法,来保证WEB应用程序和IT架构所有其它部分的安全性。

  3.在你向Web组件添加了内容以及做出改变后,能够定期地执行Web安全的审核。

  此外,在检查SQL 注入式攻击和其它攻击技术时,你需要牢记在心的基本原则是这样的:“WEB站点的哪一部分可以被我们认为是安全的,而实际上却向攻击者敞开了大门?”,以及“我们可以向一个应用程序提交哪些数据可以使其执行一些它不应当进行的操作?”

  检查SQL注入攻击漏洞涉及到审核你的We站点和Web应用程序。手动进行漏洞审核复杂而且耗时。它还要求具备较高水平的专业技术和跟踪大量代码和黑客的最新伎俩的能力

  检查你的web站点和应用程序是否易于受到SQL注入式攻击的最佳方法是通过运用一个自动化的和启发式的Web漏洞扫描程序。

  一个自动化的Web漏洞扫描程序可以进入你的整个Web站点并且可以自动地检查SQL注入式攻击。它会指示出哪些URL及脚本易于受到SQL注入式攻击,从而便于你立即修正其相关代码。除了可以扫描SQL注入式漏洞,一个Web应用程序扫描工具还应当检查跨站脚本攻击和其它的Web漏洞。

  签名匹配与SQL注入式攻击的启发式扫描

  虽然许多组织理解自动化和定期web审核的需要,但很少有哪一个会真正扫描其Web应用程序。一种一般的错误理解是这些定制的Web应用程序不易受到黑客攻击。这就引起了更多的“这绝不可能发生在我身上”现象和Web站点的所有者们对其开发人员的过多信心。

  一项对谷歌新闻网页的搜索返回了240个关于“SQL注入式攻击”(在笔者写作时)的匹配。Secunia 和SecuObs每天报告许多已知Web应用程序的漏洞。不过,被攻击的定制应用程序很少被媒体提及。

  定制的Web应用程序有可能是最易于受到攻击的并且无疑地会吸引最多数量的黑客,理解这一点是至关重要的,因为黑客们知道这种应用程序并没有通过严格的测试和现货供应产品的质量保证过程。

  这也意味着仅通过一个基于签名的扫描程序来扫描一个定制的Web应用程序并不能将某漏洞确认为SQL注入式攻击和任何其它的攻击技术。

  建立并测试已知应用程序漏洞的特征数据库是很不够的。这是一种被动审核,因为它只能涉及到现有的应用程序,并没有发现针对新黑客攻击技术的任何漏洞。另外,在一个黑客对你的定制的Web应用程序发动SQL注入式攻击时,签名匹配的作用就很少了。黑客攻击并非基于签名文件的测试,黑客们知道已知的应用程序、系统和服务器等正由各自的厂商进行更新并可以保障其始终如一的安全性。定制的应用程序可以成为公认的“蜜罐”!

  仅有少部分产品采用了强健而具有启发性的技术来确认真实的威胁。真正的自动化Web漏洞扫描几乎完全依赖你的站点如何建立其结构以及各种各样的部件和链接,还有扫描程序聪明地利用各种各样的攻击方式和技术来针对Web应用程序的能力。

  仅仅检测已知应用程序的已知漏洞是收效甚微。在检测漏洞时需要涉及大量的启发性技术,因为黑客们是极具有创造力的,它们会针对预定的Web应用程序发动其攻击,以便于创造最大的影响。