近年來,企業(yè)數(shù)據(jù)泄露已成常態(tài)。2月20日,部分B站網(wǎng)友反映可以使用B站賬號和密碼登錄快視頻,事情發(fā)生后,有個別網(wǎng)友臆斷快視頻平臺對B站數(shù)據(jù)庫存在脫庫行為,360涉嫌盜取用戶信息等。
有人用心做站,有人‘用心’攻擊”,這是互聯(lián)網(wǎng)中最常態(tài)的問題,那網(wǎng)站為什么容易遭受攻擊呢?
本文歸納了OWASP組織提出的前十大網(wǎng)絡漏洞,包括對每個問題的描述、真實案例以及如何修復網(wǎng)站漏洞。
一、注入漏洞(Injection)
問題:當用戶提供的數(shù)據(jù)被作為指令的一部分發(fā)送到轉換器(將文本指令轉換成可執(zhí)行的機器指令)的時候,黑客會欺騙轉換器。攻擊者可以利用注入漏洞創(chuàng) 建、讀取、更新或者刪除應用軟件上的任意數(shù)據(jù)。在最壞的情況下,攻擊者可以利用這些漏洞完全控制應用軟件和底層系統(tǒng),甚至繞過系統(tǒng)底層的防火墻。
真實案例:俄羅斯黑客在2006年1月份攻破了美國羅得島政府網(wǎng)站,竊取了大量信用卡資料。黑客們聲稱SQL注入攻擊竊取了5.3萬個信用卡賬號, 而主機服務供應商則聲稱只被竊取了4113個信用卡賬號。
如何保護用戶:盡可能不要使用轉換器。OWASP組織說:“如果你必須使用轉換器,那么,避免遭受注入攻擊的最好方法是使用安全的API,比如參數(shù) 化指令和對象關系映射庫。”
二、不安全的認證和會話管理(Broken Authentication and Session Management)
問題:如果應用軟件不能自始至終地保護認證證書和會話標識,用戶的管理員賬戶就會被攻破。應注意隱私侵犯和認證系統(tǒng)的基礎原理并進行有效監(jiān)控。
OWASP說:“主要驗證機制中經(jīng)常出現(xiàn)各種漏洞,但是攻擊往往是通過注銷、密碼管理、限時登錄、自動記憶、秘密問題和賬戶更新等輔助驗證功能展開的。”
真實案例:微軟公司曾經(jīng)消除過Hotmail中的一個漏洞,惡意Java腳本程序員曾經(jīng)在2002年利用這個漏洞竊取了許多用戶密碼。這個漏洞是一家聯(lián)網(wǎng)產(chǎn)品轉售商發(fā)現(xiàn)的,包含木馬程序的電子郵件可以利用這個漏洞更換Hotmail用戶的操作界面,迫使用戶不斷重新輸入他們的密碼,并在用戶不知情的情況下將它們發(fā)送給黑客。
如何保護用戶:通信與認證證書存儲應確保安全性。傳輸私人文件的SSL協(xié)議應該是應用軟件認證系統(tǒng)中的唯一選擇,認證證書應以加密的形式進行保存。
另一個方法是:除去認證或者會話管理中使用的自定義cookie。
三、跨站腳本(Cross-Site Scripting)(XSS)
問題:XSS漏洞是最普遍和最致命的網(wǎng)絡應用軟件安全漏洞,當一款應用軟件將用戶數(shù)據(jù)發(fā)送到不帶認證或者不對內(nèi)容進行編碼的網(wǎng)絡瀏覽器時容易發(fā)生。黑客可以利用瀏覽器中的惡意腳本獲得用戶的數(shù)據(jù),破壞網(wǎng)站,插入有害內(nèi)容,以及展開釣魚式攻擊和惡意攻擊。
真實案例:惡意攻擊者去年針對Paypal發(fā)起了攻擊,他們將Paypal用戶重新引導到另一個惡意網(wǎng)站并警告用戶,他們的賬戶已經(jīng)失竊。用戶們被引導到另一個釣魚式網(wǎng)站上,然后輸入自己的Paypal登錄信息、社會保險號和信用卡資料。Paypal公司稱,它在2006年6月修復了那個漏洞。
如何保護用戶:利用一個白名單來驗證接到的所有數(shù)據(jù),來自白名單之外的數(shù)據(jù)一律攔截。另外,還可以對所有接收到的數(shù)據(jù)進行編碼。OWASP說:“驗證機制可以檢測攻擊,編碼則可以防止其他惡意攻擊者在瀏覽器上運行的內(nèi)容中插入其他腳本。”
四、訪問限制缺失(Broken Access Control)
問題:有些網(wǎng)頁的訪問應該是受限于一小部分特權用戶,比如管理員。然而這些網(wǎng)頁通常并不具備真正的保護系統(tǒng),黑客們可以通過猜測的方式找出這些地址。 Williams說,如果某個網(wǎng)站地址對應的ID號是123456,那么黑客會猜想123457對應的地址是什么呢?
針對這種漏洞的攻擊被稱作強迫瀏覽,通過猜測的方式去猜周圍的鏈接并找出未經(jīng)保護的網(wǎng)頁。
真實案例:Macworld Conference大會網(wǎng)站上有一個漏洞,用戶可以免費獲得價值1700美元的高級訪問權限和史蒂夫·喬布斯的演講內(nèi)容。這個漏洞是在客戶端而非服務器上評定用戶的訪問權限的,這樣人們就可以通過瀏覽器中的Java腳本獲得免費權限。
如何保護用戶:不要以為用戶們不知道隱藏的地址。所有的網(wǎng)站地址和業(yè)務功能都應受到一個有效訪問控制機制的保護,這個機制可以檢驗用戶的身份和權限。
五、不正確的安全設置(Security Misconfiguration)
問題:雖然加密本身也是大部分網(wǎng)絡應用軟件中的一個重要組成部分,但是許多網(wǎng)絡開發(fā)員沒有對存儲中的敏感數(shù)據(jù)進行加密。即便是現(xiàn)有的加密技術,其設計也是粗制濫造的。
OWASP說:“這些漏洞可能會導致用戶敏感數(shù)據(jù)外泄以及破壞系統(tǒng)的一致性。”.
真實案例:TJX數(shù)據(jù)失竊案中,被竊取的信用卡和提款卡賬號達到了4570萬個。加拿大政府調(diào)查后認為,TJX未能升級其數(shù)據(jù)加密系統(tǒng)。
如何保護用戶:不要開發(fā)你自己的加密算法。最好只使用已經(jīng)經(jīng)過審批的公開算法,比如AES、RSA公鑰加密以及SHA-256或者更好的SHA-256。
另外,千萬不要在不安全渠道上傳送私人資料。
OWASP說,現(xiàn)在將信用卡賬號保存起來是比較常見的做法,但是明年就是《信用卡行業(yè)數(shù)據(jù)安全標準》發(fā)布的最后期限,以后將不再將信用卡賬號保存起來。
六、敏感信息泄露(Sensitive Data Exposure)
問題:這種漏洞出現(xiàn)的原因是因為在需要對包含敏感信息的通信進行保護時沒有將網(wǎng)絡流通的數(shù)據(jù)進行加密。攻擊者們可以獲得包括證書和敏感信息的傳送在內(nèi)的各種不受保護的會話內(nèi)容。因此,PCI標準要求對網(wǎng)絡上傳輸?shù)男庞每ㄐ畔⑦M行加密。
真實案例:這次又是一個關于TJX的例子。華爾街日報的報道稱,調(diào)查員們認為,黑客利用了一種類似于望遠鏡的天線和筆記本電腦來竊取通過無線方式傳輸?shù)挠脩魯?shù)據(jù)。
有報道稱:“眾多零售商的無線網(wǎng)絡安全性還比不上許多人自己的局域網(wǎng)。TJX使用的是WEP加密系統(tǒng)而不是安全性更好的WPA加密系統(tǒng)。
如何保護用戶:在所有經(jīng)過認證的連接上利用SSL,或者在敏感信息傳輸過程中使用SSL。SSL或者類似的加密協(xié)議應該加載在客戶端、與在線系統(tǒng)有關的合作伙伴、員工和管理員賬戶上。利用傳輸層安全或者協(xié)議級加密系統(tǒng)來保護基礎結構各部分之間的通信,比如網(wǎng)絡服務器與數(shù)據(jù)庫系統(tǒng)之間的通信。
七、不充足的攻擊檢測與預防(Insufficient Attack Protection)
問題:大多數(shù)應用和API缺乏基本的能力,來檢測、預防和響應人工和自動化攻擊。攻擊防護遠不僅限于基本的輸入驗證,它還包含自動檢測、記錄、響應甚至阻止利用行為。應用程序所有者還需能快速部署補丁以防止攻擊。
真實案例:2013年,美國一家豪車軟件公司系統(tǒng)被黑客入侵,超過85萬用戶的個人及財產(chǎn)信息受到影響,其中包括世界500強的高管、政治名流以及球星影星等,只是因為數(shù)字服務系統(tǒng)在安全性方面有瑕疵。
如何保護用戶:配備高標準的網(wǎng)絡安全軟硬件配置、制定完善的網(wǎng)絡安全管理制度和強化網(wǎng)絡安全應急工作。
八、跨站指令偽造(Cross-Site Request Forgery)(SCRF)
問題:這種攻擊簡單但破壞性強,它可以控制受害人的瀏覽器然后發(fā)送惡意指令到網(wǎng)絡應用軟件上。這種網(wǎng)站是很容易被攻擊的,部分原因是因為它們是根據(jù)會話cookie或者“自動記憶”功能來授權指令的。各銀行就是潛在的被攻擊目標。
Williams說:“網(wǎng)絡上99%的應用軟件都是易被跨站指令偽造漏洞感染的?,F(xiàn)實中是否發(fā)生過某人因此被攻擊而損失錢財?shù)氖履?也許連各銀行都不知道。對于銀行來說,整個攻擊看起來就像是用戶登錄到系統(tǒng)中進行了一次合法的交易。”
真實案例:一位名叫Samy的黑客在2005年末利用一個蠕蟲在MySpace網(wǎng)站上獲得了100萬個“好友”資料,在成千上萬個MySpace網(wǎng)頁上自動出現(xiàn)了“Samy是我的英雄”的文字。攻擊本身也許是無害的,但是據(jù)說這個案例證明了將跨站腳本與偽造跨站指令結合在一起所具備的威力。另一個案例發(fā)生在一年前,Google網(wǎng)站上出現(xiàn)了一個漏洞,外部網(wǎng)站可以利用那個漏洞改變用戶的語言偏好設置。
如何保護用戶:不要依賴瀏覽器自動提交的憑證或者標識。OWASP說:“解決這個問題的唯一方法是使用一種瀏覽器不會記住的自定義標識。”
九、使用已知不安全組件(Using Components with Known Vulnerabilities)
問題:各種應用軟件產(chǎn)生并顯示給用戶看的錯誤信息對于黑客們來說也是有用的,那些信息可能將用戶的隱私信息、軟件的配置或者其他內(nèi)部資料泄露出去。
OWASP說:“各種網(wǎng)絡應用軟件經(jīng)常通過詳細或者調(diào)試出錯信息將內(nèi)部狀態(tài)信息泄露出去。通常,這些信息可能會導致用戶系統(tǒng)受到更有力的攻擊。”
真實案例:信息泄露是通過錯誤處理不當發(fā)生的,ChoicePoint在2005年的崩潰就是這種類型的典型案例。攻擊者假扮是ChoicePoint的合法用戶在公司人員信息數(shù)據(jù)庫中尋找某個人的資料,隨后竊取了16.3萬個消費者的記錄資料。ChoicePoint后來對包含敏感數(shù)據(jù)的信息產(chǎn)品的銷售進行了限制。
如何保護用戶:利用測試工具查看應用軟件出現(xiàn)的錯誤信息。OWASP說:“未通過這種方法進行測試的應用軟件幾乎肯定會出現(xiàn)意外錯誤信息。”
另一個方法是:禁止或者限制在錯誤處理中使用詳細信息,不向用戶顯示調(diào)試信息。
十、未受保護的API(Underprotected APIs)
問題:現(xiàn)代的應用常常涉及富客戶端應用程序和API,比如瀏覽器和移動App中的JavaScript,連接到其他某種API(SOAP/XML、REST/JSON、RPC、GWT等)。這些APT通常未受保護且存在多種漏洞。
真實案例:2015年1月,Moonpig因安全漏洞泄露了約300萬名客戶的信用卡信息,隨后該網(wǎng)站關閉了移動app。研究發(fā)現(xiàn)該漏洞出現(xiàn)在MoonPig移動app可與其服務器通訊的部分,即API。API發(fā)送的信息并不是受單個用戶名及密碼保護的信息,而是受到同一憑證保護的信息,不管登錄的用戶是誰。因此,攻擊者可訪問網(wǎng)站任何一名用戶的詳細資料、查看之前的訂單并對任何用戶下訂單。
如何保護用戶:企業(yè)及其開發(fā)人員必須采取一些措施來加強和確保API在企業(yè)環(huán)境的安全性??偸菍γ舾袛?shù)據(jù)進行加密,避免純文本的傳輸。開發(fā)人員應該使用SSL證書,保證web api端點項目和web服務接口間敏感數(shù)據(jù)的傳輸安全,防止黑客嗅到這些數(shù)據(jù)。
小結:
要想盡量避免網(wǎng)站被攻擊,必須居安思危,加上一些必要的防護網(wǎng)站攻擊手段和措施,最大限度減少損失。
完全杜絕網(wǎng)站被攻擊目前是不可能的,通過適當?shù)拇胧┛梢缘钟?0%的黑客攻擊,采用專業(yè)的團隊技術對網(wǎng)站進行防護。,增強抵御網(wǎng)站攻擊的能力,也就加大了攻擊者的攻擊成本,絕大多數(shù)攻擊者將無法繼續(xù)下去而放棄,也就相當于成功的抵御了黑客攻擊。
(原標題:網(wǎng)站易被攻擊原因及保護措施)