[信息安全] 乾貨|網站易被攻擊原因及保護措施

有人用心做站,有人‘用心’攻擊”,這是互聯網中最常態的問題,那網站為什麼容易遭受攻擊呢?

[信息安全] 乾貨|網站易被攻擊原因及保護措施

本文歸納了OWASP組織提出的前十大網絡漏洞,包括對每個問題的描述、真實案例以及如何修復網站漏洞。

一、注入漏洞(Injection)

問題:當用戶提供的數據被作為指令的一部分發送到轉換器(將文本指令轉換成可執行的機器指令)的時候,黑客會欺騙轉換器。攻擊者可以利用注入漏洞創 建、讀取、更新或者刪除應用軟件上的任意數據。在最壞的情況下,攻擊者可以利用這些漏洞完全控制應用軟件和底層系統,甚至繞過系統底層的防火牆。

真實案例:俄羅斯黑客在2006年1月份攻破了美國羅得島政府網站,竊取了大量信用卡資料。黑客們聲稱SQL注入攻擊竊取了5.3萬個信用卡賬號, 而主機服務供應商則聲稱只被竊取了4113個信用卡賬號。

如何保護用戶:儘可能不要使用轉換器。OWASP組織說:“如果你必須使用轉換器,那麼,避免遭受注入攻擊的最好方法是使用安全的API,比如參數 化指令和對象關係映射庫。”

[信息安全] 乾貨|網站易被攻擊原因及保護措施

二、不安全的認證和會話管理(Broken Authentication and Session Management)

問題:如果應用軟件不能自始至終地保護認證證書和會話標識,用戶的管理員賬戶就會被攻破。應注意隱私侵犯和認證系統的基礎原理並進行有效監控。

OWASP說:“主要驗證機制中經常出現各種漏洞,但是攻擊往往是通過註銷、密碼管理、限時登錄、自動記憶、秘密問題和賬戶更新等輔助驗證功能展開的。”

真實案例:微軟公司曾經消除過Hotmail中的一個漏洞,惡意Java腳本程序員曾經在2002年利用這個漏洞竊取了許多用戶密碼。這個漏洞是一家聯網產品轉售商發現的,包含木馬程序的電子郵件可以利用這個漏洞更換Hotmail用戶的操作界面,迫使用戶不斷重新輸入他們的密碼,並在用戶不知情的情況下將它們發送給黑客。

如何保護用戶:通信與認證證書存儲應確保安全性。傳輸私人文件的SSL協議應該是應用軟件認證系統中的唯一選擇,認證證書應以加密的形式進行保存。

另一個方法是:除去認證或者會話管理中使用的自定義cookie。

[信息安全] 乾貨|網站易被攻擊原因及保護措施

三、跨站腳本(Cross-Site Scripting)(XSS)

問題:XSS漏洞是最普遍和最致命的網絡應用軟件安全漏洞,當一款應用軟件將用戶數據發送到不帶認證或者不對內容進行編碼的網絡瀏覽器時容易發生。黑客可以利用瀏覽器中的惡意腳本獲得用戶的數據,破壞網站,插入有害內容,以及展開釣魚式攻擊和惡意攻擊。

真實案例:惡意攻擊者去年針對Paypal發起了攻擊,他們將Paypal用戶重新引導到另一個惡意網站並警告用戶,他們的賬戶已經失竊。用戶們被引導到另一個釣魚式網站上,然後輸入自己的Paypal登錄信息、社會保險號和信用卡資料。Paypal公司稱,它在2006年6月修復了那個漏洞。

如何保護用戶:利用一個白名單來驗證接到的所有數據,來自白名單之外的數據一律攔截。另外,還可以對所有接收到的數據進行編碼。OWASP說:“驗證機制可以檢測攻擊,編碼則可以防止其他惡意攻擊者在瀏覽器上運行的內容中插入其他腳本。”

四、訪問限制缺失(Broken Access Control)

問題:有些網頁的訪問應該是受限於一小部分特權用戶,比如管理員。然而這些網頁通常並不具備真正的保護系統,黑客們可以通過猜測的方式找出這些地址。 Williams說,如果某個網站地址對應的ID號是123456,那麼黑客會猜想123457對應的地址是什麼呢?

針對這種漏洞的攻擊被稱作強迫瀏覽,通過猜測的方式去猜周圍的鏈接並找出未經保護的網頁。

真實案例:Macworld Conference大會網站上有一個漏洞,用戶可以免費獲得價值1700美元的高級訪問權限和史蒂夫·喬布斯的演講內容。這個漏洞是在客戶端而非服務器上評定用戶的訪問權限的,這樣人們就可以通過瀏覽器中的Java腳本獲得免費權限。

如何保護用戶:不要以為用戶們不知道隱藏的地址。所有的網站地址和業務功能都應受到一個有效訪問控制機制的保護,這個機制可以檢驗用戶的身份和權限。

五、不正確的安全設置(Security Misconfiguration)

問題:雖然加密本身也是大部分網絡應用軟件中的一個重要組成部分,但是許多網絡開發員沒有對存儲中的敏感數據進行加密。即便是現有的加密技術,其設計也是粗製濫造的。

OWASP說:“這些漏洞可能會導致用戶敏感數據外洩以及破壞系統的一致性。”.

真實案例

:TJX數據失竊案中,被竊取的信用卡和提款卡賬號達到了4570萬個。加拿大政府調查後認為,TJX未能升級其數據加密系統。

如何保護用戶:不要開發你自己的加密算法。最好只使用已經經過審批的公開算法,比如AES、RSA公鑰加密以及SHA-256或者更好的SHA-256。

另外,千萬不要在不安全渠道上傳送私人資料。

OWASP說,現在將信用卡賬號保存起來是比較常見的做法,但是明年就是《信用卡行業數據安全標準》發佈的最後期限,以後將不再將信用卡賬號保存起來。

六、敏感信息洩露(Sensitive Data Exposure)

問題:這種漏洞出現的原因是因為在需要對包含敏感信息的通信進行保護時沒有將網絡流通的數據進行加密。攻擊者們可以獲得包括證書和敏感信息的傳送在內的各種不受保護的會話內容。因此,PCI標準要求對網絡上傳輸的信用卡信息進行加密。

真實案例

:這次又是一個關於TJX的例子。華爾街日報的報道稱,調查員們認為,黑客利用了一種類似於望遠鏡的天線和筆記本電腦來竊取通過無線方式傳輸的用戶數據。

有報道稱:“眾多零售商的無線網絡安全性還比不上許多人自己的局域網。TJX使用的是WEP加密系統而不是安全性更好的WPA加密系統。

如何保護用戶:在所有經過認證的連接上利用SSL,或者在敏感信息傳輸過程中使用SSL。SSL或者類似的加密協議應該加載在客戶端、與在線系統有關的合作伙伴、員工和管理員賬戶上。利用傳輸層安全或者協議級加密系統來保護基礎結構各部分之間的通信,比如網絡服務器與數據庫系統之間的通信。

七、不充足的攻擊檢測與預防(Insufficient Attack Protection)

問題:大多數應用和API缺乏基本的能力,來檢測、預防和響應人工和自動化攻擊。攻擊防護遠不僅限於基本的輸入驗證,它還包含自動檢測、記錄、響應甚至阻止利用行為。應用程序所有者還需能快速部署補丁以防止攻擊。

真實案例:2013年,美國一家豪車軟件公司系統被黑客入侵,超過85萬用戶的個人及財產信息受到影響,其中包括世界500強的高管、政治名流以及球星影星等,只是因為數字服務系統在安全性方面有瑕疵。

如何保護用戶:配備高標準的網絡安全軟硬件配置、制定完善的網絡安全管理制度和強化網絡安全應急工作。

八、跨站指令偽造(Cross-Site Request Forgery)(SCRF)

問題:這種攻擊簡單但破壞性強,它可以控制受害人的瀏覽器然後發送惡意指令到網絡應用軟件上。這種網站是很容易被攻擊的,部分原因是因為它們是根據會話cookie或者“自動記憶”功能來授權指令的。各銀行就是潛在的被攻擊目標。

Williams說:“網絡上99%的應用軟件都是易被跨站指令偽造漏洞感染的。現實中是否發生過某人因此被攻擊而損失錢財的事呢?也許連各銀行都不知道。對於銀行來說,整個攻擊看起來就像是用戶登錄到系統中進行了一次合法的交易。”

真實案例:一位名叫Samy的黑客在2005年末利用一個蠕蟲在MySpace網站上獲得了100萬個“好友”資料,在成千上萬個MySpace網頁上自動出現了“Samy是我的英雄”的文字。攻擊本身也許是無害的,但是據說這個案例證明了將跨站腳本與偽造跨站指令結合在一起所具備的威力。另一個案例發生在一年前,Google網站上出現了一個漏洞,外部網站可以利用那個漏洞改變用戶的語言偏好設置。

如何保護用戶:不要依賴瀏覽器自動提交的憑證或者標識。OWASP說:“解決這個問題的唯一方法是使用一種瀏覽器不會記住的自定義標識。”

九、使用已知不安全組件(Using Components with Known Vulnerabilities)

問題:各種應用軟件產生並顯示給用戶看的錯誤信息對於黑客們來說也是有用的,那些信息可能將用戶的隱私信息、軟件的配置或者其他內部資料洩露出去。

OWASP說:“各種網絡應用軟件經常通過詳細或者調試出錯信息將內部狀態信息洩露出去。通常,這些信息可能會導致用戶系統受到更有力的攻擊。”

真實案例:信息洩露是通過錯誤處理不當發生的,ChoicePoint在2005年的崩潰就是這種類型的典型案例。攻擊者假扮是ChoicePoint的合法用戶在公司人員信息數據庫中尋找某個人的資料,隨後竊取了16.3萬個消費者的記錄資料。ChoicePoint後來對包含敏感數據的信息產品的銷售進行了限制。

如何保護用戶:利用測試工具查看應用軟件出現的錯誤信息。OWASP說:“未通過這種方法進行測試的應用軟件幾乎肯定會出現意外錯誤信息。”

另一個方法是:禁止或者限制在錯誤處理中使用詳細信息,不向用戶顯示調試信息。

[信息安全] 乾貨|網站易被攻擊原因及保護措施

十、未受保護的API(Underprotected APIs)

問題:現代的應用常常涉及富客戶端應用程序和API,比如瀏覽器和移動App中的JavaScript,連接到其他某種API(SOAP/XML、REST/JSON、RPC、GWT等)。這些APT通常未受保護且存在多種漏洞。

真實案例:2015年1月,Moonpig因安全漏洞洩露了約300萬名客戶的信用卡信息,隨後該網站關閉了移動app。研究發現該漏洞出現在MoonPig移動app可與其服務器通訊的部分,即API。API發送的信息並不是受單個用戶名及密碼保護的信息,而是受到同一憑證保護的信息,不管登錄的用戶是誰。因此,攻擊者可訪問網站任何一名用戶的詳細資料、查看之前的訂單並對任何用戶下訂單。

如何保護用戶:企業及其開發人員必須採取一些措施來加強和確保API在企業環境的安全性。總是對敏感數據進行加密,避免純文本的傳輸。開發人員應該使用SSL證書,保證web api端點項目和web服務接口間敏感數據的傳輸安全,防止黑客嗅到這些數據。

小結:

要想盡量避免網站被攻擊,必須居安思危,加上一些必要的防護網站攻擊手段和措施,最大限度減少損失。

完全杜絕網站被攻擊目前是不可能的,通過適當的措施可以抵禦90%的黑客攻擊,採用專業的團隊技術對網站進行防護。,增強抵禦網站攻擊的能力,也就加大了攻擊者的攻擊成本,絕大多數攻擊者將無法繼續下去而放棄,也就相當於成功的抵禦了黑客攻擊。



分享到:


相關文章: