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