保障Web站點(diǎn)和應(yīng)用程序的安全,免受SQL注入攻擊涉及到三部分內(nèi)容:
1.通過徹底審核Web站點(diǎn)和Web應(yīng)用程序的SQL注入式攻擊和其它形式的攻擊漏洞來分析目前的安全狀態(tài)。
2.確保你使用最佳的編碼方法,來保證WEB應(yīng)用程序和IT架構(gòu)所有其它部分的安全性。
3.在你向Web組件添加了內(nèi)容以及做出改變后,能夠定期地執(zhí)行Web安全的審核。
此外,在檢查SQL 注入式攻擊和其它攻擊技術(shù)時,你需要牢記在心的基本原則是這樣的:“WEB站點(diǎn)的哪一部分可以被我們認(rèn)為是安全的,而實(shí)際上卻向攻擊者敞開了大門?”,以及“我們可以向一個應(yīng)用程序提交哪些數(shù)據(jù)可以使其執(zhí)行一些它不應(yīng)當(dāng)進(jìn)行的操作?”
檢查SQL注入攻擊漏洞涉及到審核你的We站點(diǎn)和Web應(yīng)用程序。手動進(jìn)行漏洞審核復(fù)雜而且耗時。它還要求具備較高水平的專業(yè)技術(shù)和跟蹤大量代碼和黑客的最新伎倆的能力。
檢查你的web站點(diǎn)和應(yīng)用程序是否易于受到SQL注入式攻擊的最佳方法是通過運(yùn)用一個自動化的和啟發(fā)式的Web漏洞掃描程序。
一個自動化的Web漏洞掃描程序可以進(jìn)入你的整個Web站點(diǎn)并且可以自動地檢查SQL注入式攻擊。它會指示出哪些URL及腳本易于受到SQL注入式攻擊,從而便于你立即修正其相關(guān)代碼。除了可以掃描SQL注入式漏洞,一個Web應(yīng)用程序掃描工具還應(yīng)當(dāng)檢查跨站腳本攻擊和其它的Web漏洞。
簽名匹配與SQL注入式攻擊的啟發(fā)式掃描
雖然許多組織理解自動化和定期web審核的需要,但很少有哪一個會真正掃描其Web應(yīng)用程序。一種一般的錯誤理解是這些定制的Web應(yīng)用程序不易受到黑客攻擊。這就引起了更多的“這絕不可能發(fā)生在我身上”現(xiàn)象和Web站點(diǎn)的所有者們對其開發(fā)人員的過多信心。
一項(xiàng)對谷歌新聞網(wǎng)頁的搜索返回了240個關(guān)于“SQL注入式攻擊”(在筆者寫作時)的匹配。Secunia 和SecuObs每天報告許多已知Web應(yīng)用程序的漏洞。不過,被攻擊的定制應(yīng)用程序很少被媒體提及。
定制的Web應(yīng)用程序有可能是最易于受到攻擊的并且無疑地會吸引最多數(shù)量的黑客,理解這一點(diǎn)是至關(guān)重要的,因?yàn)楹诳蛡冎肋@種應(yīng)用程序并沒有通過嚴(yán)格的測試和現(xiàn)貨供應(yīng)產(chǎn)品的質(zhì)量保證過程。
這也意味著僅通過一個基于簽名的掃描程序來掃描一個定制的Web應(yīng)用程序并不能將某漏洞確認(rèn)為SQL注入式攻擊和任何其它的攻擊技術(shù)。
建立并測試已知應(yīng)用程序漏洞的特征數(shù)據(jù)庫是很不夠的。這是一種被動審核,因?yàn)樗荒苌婕暗浆F(xiàn)有的應(yīng)用程序,并沒有發(fā)現(xiàn)針對新黑客攻擊技術(shù)的任何漏洞。另外,在一個黑客對你的定制的Web應(yīng)用程序發(fā)動SQL注入式攻擊時,簽名匹配的作用就很少了。黑客攻擊并非基于簽名文件的測試,黑客們知道已知的應(yīng)用程序、系統(tǒng)和服務(wù)器等正由各自的廠商進(jìn)行更新并可以保障其始終如一的安全性。定制的應(yīng)用程序可以成為公認(rèn)的“蜜罐”!
僅有少部分產(chǎn)品采用了強(qiáng)健而具有啟發(fā)性的技術(shù)來確認(rèn)真實(shí)的威脅。真正的自動化Web漏洞掃描幾乎完全依賴你的站點(diǎn)如何建立其結(jié)構(gòu)以及各種各樣的部件和鏈接,還有掃描程序聰明地利用各種各樣的攻擊方式和技術(shù)來針對Web應(yīng)用程序的能力。
僅僅檢測已知應(yīng)用程序的已知漏洞是收效甚微。在檢測漏洞時需要涉及大量的啟發(fā)性技術(shù),因?yàn)楹诳蛡兪菢O具有創(chuàng)造力的,它們會針對預(yù)定的Web應(yīng)用程序發(fā)動其攻擊,以便于創(chuàng)造最大的影響。