閱讀242 返回首頁    go 技術社區[雲棲]


防止Web應用威脅任重道遠

SQL注入和跨站腳本仍然是最有針對性的Web應用漏洞,然而專家稱,一些新技術(例如HTML 5)本身就具有危險的漏洞。根據安全雲托管公司FireHost的報告顯示,在2012年前兩個季度之間,SQL注入(SQLi)攻擊上升了69%。在SQL攻擊中,攻擊者將惡意代碼輸入web表單輸入框以獲取資源或更改數據。

WhiteHat Security公司創始人兼首席執行官Jeremiah Grossman表示:“從實例和數據丟失情況來看,SQL注入是迄今為止最大的威脅。”在WhiteHat Security公司2012年夏天的網站統計報告中,SQL注入有11%的可能性出現在一個網站至少一次。這個數字使SQL注入名列漏洞普及率排行榜的第八位。

排在漏洞榜首的是跨站腳本(XSS),在一個網站中至少存在一個XSS安全漏洞的可能性是55%。在XSS攻擊中,攻擊者將惡意代碼插入鏈接,看起來似乎是來自值得信賴的來源,通過點擊鏈接,用戶將釋放嵌入式編程,這作為該客戶端web請求的一部分被提交,並可以在用戶的計算機上執行,從而讓攻擊者竊取信息。

安全專家稱,其他漏洞雖然比主要漏洞的普及率更低,也沒那麼危險,但它們仍然構成威脅。Security Innovation公司應用安全服務副總裁Joe Basirico表示,授權問題引起越來越多的關注,即用戶可以訪問其授權級別以上的信息。Grossman還指出了業務邏輯漏洞,當兩個安全步驟發生衝突時,最終會製造漏洞,這也是一個問題。

HTML 5——增長的攻擊目標

最新版本的網頁標準編程語言HTML 5旨在使web應用和文件在每種類型的瀏覽器中都是一致的,但這個新興技術卻帶來新的威脅。Savvis公司高級安全戰略家Ed Moyle表示,HTML 5對客戶端方麵的側重使攻擊者從用戶角度實施攻擊變得更容易。HTML 5等新技術是危險的,因為威脅更難找到,開發者也更難以修複。當你引進新技術時,例如雲計算和HTML 5等,你也帶來了新的複雜性。對於攻擊,HTML 5更加滯後,因為攻擊者堅持使用較舊的更廣泛應用的編程語言,例如Java。

新穎可能是保護不足的HTML 5麵臨的問題,但這並不是SQL注入和XSS攻擊漏洞的理由,這兩個漏洞已經有十多年的曆史。安全專家稱,在開發web應用時,安全並不是首要考慮問題。谘詢和研究公司SecurityCurve的創始人Diana Kelley表示,重點在於速度、功能和整體體驗。“我們聽說了很多關於安全的問題,也有各種相關新聞報道,”Kelley表示,但當涉及安全因素時,應用開發人員意識到他們必須花費更多時間和金錢才能讓產品得以發布,這使他們總是忽視安全因素。

Moyle表示,當企業IT安全團隊為web應用解決安全問題時,資金和重點往往在網絡層麵。企業將花更多錢在應用上,而不是專門針對這些應用的安全因素上。

缺乏具有安全意識的程序員

一些專家發現行業內普遍缺乏安全人員。Grossman表示:“沒有人來做這個工作。很多SQL注入和XSS攻擊針對傳統的舊代碼,因為舊代碼在較新版本中存在漏洞。有15年的不安全web代碼需要我們清理。不過,新代碼中的漏洞可以避免,隻是在開發應用時,這些安全步驟有時候被忽略了。”

Grossman和其他安全分析師認為參數化SQL語句是緩解SQL注入攻擊的最佳途徑之一。通過參數化語句,隻有特定條目能被web表單的輸入框接受,這是基於開發人員設置的限製。例如,他舉了一個好的語句,“我的名字是Jeremiah”,而“我的名字是Jeremiah;”就會被拒絕。因為標點符號不被接受,這可以防止攻擊者向輸入框輸入代碼。對於XSS,Grossman認為上下文感知的輸出編碼是一個很好的防禦。輸入驗證是可用於保護web應用免受XSS和SQL注入攻擊的另一個方法。

在開發web應用時,Grossman表示,重要的是在開發過程的每一步都考慮安全因素。他確定了在web應用的整個生命周期解決安全問題的三個角色:開發人員(builder)首先創建安全代碼來開始這個過程,然後破壞者(breaker)進行測試並找出安全威脅,防禦者(defender)專注於監測啟動web應用後的攻擊。

專家們認為,安全規範需要由公司高管來確定。SecurityCurve公司的Kelley表示,隻有通過高管施加壓力,開發人員才會認真地編寫代碼、檢查代碼以及為安全措施(例如輸入驗證)編寫額外代碼。軟件開發人員被聘請來工作,如果雇傭他們的人強調使用web應用的方便性和體驗,那麼最終的產品將會反映這一點。Kelley表示,高管應該對其想要部署的安全措施給出明確的指示。

當在創建web應用的整個過程中都考慮了安全因素時,這最終可以節省時間和金錢,雖然這個優勢在初期沒有顯現出來。例如,在開發過程快結束時,當審計員表示web應用不符合某個要求時。審計員會停止生產,讓開發團隊回去解決問題。Kelley表示,在這種情況下,生產可能會被推遲一個星期,但如果最初采取了適當的安全措施的話,這可能隻需要一兩天。

最後,Kelley表示,管理人員需要決定對於最終產品而言,什麼是重要的。如果安全很重要,那麼,企業將需要采取一切措施來保護其web應用。

最後更新:2017-04-02 15:15:11

  上一篇:go 方正寬帶首頁被黑 大膽黑客留下QQ號
  下一篇:go java中泛型學習2之類型參數(T)