張耀輝
(長沙通信職業(yè)技術(shù)學院,湖南長沙 410015)
2011年12 月21 日,中國最大的軟件開發(fā)者技術(shù)社區(qū)CSDN(Chinese software develop net,中國軟件開發(fā)聯(lián)盟)后臺數(shù)據(jù)庫被黑客惡意發(fā)布到互聯(lián)網(wǎng)上并提供下載,此數(shù)據(jù)庫中包含了642萬多個用戶的帳號、密碼等信息,嚴重威脅了相關(guān)用戶的信息安全。此次事件之后,人人網(wǎng)、貓撲、嘟嘟牛、178游戲網(wǎng)等多家網(wǎng)站的部分用戶數(shù)據(jù)庫也紛紛被傳到網(wǎng)上并提供下載,甚至有媒體曝光國內(nèi)十幾家大型門戶級網(wǎng)站的數(shù)據(jù)庫也已經(jīng)被黑客“拖庫”,因此將2011年末的密碼危機推向了高潮。
“拖庫”一詞本來是數(shù)據(jù)庫領(lǐng)域的專業(yè)術(shù)語,通常泛指從數(shù)據(jù)庫中導出數(shù)據(jù)。黑客如果通過某種非正常途徑入侵網(wǎng)站后,就可以竊取其中的數(shù)據(jù)庫,下載所有信息。如果,單純只泄露某一個網(wǎng)站的個人信息可能影響并不算大,但是很多用戶的郵箱賬號、游戲賬號、微博賬號和網(wǎng)上購物賬號都使用了相同的賬號和密碼,如果在一家網(wǎng)站服務(wù)器上的信息被黑客攻破,用戶的個人信息和密碼泄露后,就可能導致自己在其他系統(tǒng)中的個人真實財產(chǎn)和網(wǎng)上虛擬財產(chǎn)面臨風險。
黑客的“拖庫”攻擊基本步驟大致如下:
第一步:利用專用掃描工具對目標網(wǎng)站進行漏洞掃描,獲取有價值的漏洞信息。對黑客非常有價值常見漏洞有SQL注入漏洞、文件上傳漏洞等。
第二步:通過系統(tǒng)的漏洞實施攻擊。例如在網(wǎng)站服務(wù)器上建立后門(webshell)、上傳木馬,最終獲取操作系統(tǒng)的權(quán)限。
第三步:下載數(shù)據(jù)庫。利用已經(jīng)獲取的操作權(quán)限直接下載數(shù)據(jù)庫,或者通過網(wǎng)站中備份數(shù)據(jù)庫的功能將數(shù)據(jù)庫導出。
在所有的網(wǎng)絡(luò)攻擊中,針對網(wǎng)站服務(wù)器的攻擊主要包括弱口令攻擊、漏洞攻擊、遠程桌面攻擊和管理疏忽攻擊等。
弱口令(weak password)并沒有嚴格的定義,通常指容易被別人猜測到或被破解工具破解的口令均為弱口令,例如“123”、“abc”、“admin”或者用戶姓名、手機號、生日等信息作為密碼等,因為這樣的口令很容易被別人猜測或者暴力破解,從而使網(wǎng)站系統(tǒng)面臨風險。但是很多的網(wǎng)絡(luò)管理人員并沒有意識到這一點,導致黑客非常輕松地獲取了網(wǎng)站的最高權(quán)限。
由于B/S模式的應(yīng)用軟件的流行,使得用這種模式編寫web程序的開發(fā)人員也越來越多。但是,由于程序設(shè)計人員的經(jīng)驗和水平參差不齊,很多編程人員在編寫代碼的時候只管功能的實現(xiàn),并沒有對用戶輸入的數(shù)據(jù)進行合法性判斷,導致黑客利用這樣的程序漏洞來入侵數(shù)據(jù)庫或者攻擊網(wǎng)站系統(tǒng)。漏洞攻擊一般是通過傳統(tǒng)的網(wǎng)絡(luò)訪問模式實施,使得即使企業(yè)配置了網(wǎng)絡(luò)防火墻等安全設(shè)備也無法阻止其入侵。
遠程桌面工具為網(wǎng)站管理人員帶來了很多的便利,例如晚上可以在家里發(fā)布文章、隨時隨地管理和維護服務(wù)器,但是給我們提供方便的同時也給黑客留下了可乘之機。由于在遠程維護中需要涉及到很多的環(huán)節(jié),任何一個環(huán)節(jié)出現(xiàn)問題都可能帶來意想不到的風險,因此完全不可能做到像公司環(huán)境下那么安全。黑客通過利用遠程桌面服務(wù)中的某個漏洞來控制整個服務(wù)器,其危害性是不言而喻的。
主要包括網(wǎng)站管理人員的權(quán)限分配疏忽、配置失誤、數(shù)據(jù)庫備份泛濫和不完善的管理制度。CSDN發(fā)生的“拖庫”事件其實最大的原因就是將沒有進行任何加密的數(shù)據(jù)庫備份放在服務(wù)器上,造成黑客可以直接在服務(wù)器上下載。在網(wǎng)絡(luò)安全行業(yè)的“三分技術(shù),七分管理”原則,形象地體現(xiàn)了管理的重要性。
這次大規(guī)模的網(wǎng)站“拖庫”事件,為網(wǎng)絡(luò)信息安全打了一劑強行針。在大力推廣信息化建設(shè)的今天,不僅要保持高速的發(fā)展,更需要保護好我們的發(fā)展道路,讓發(fā)展能夠長久穩(wěn)定下去,這是一個值得大家共同來反思的問題。要解決這個問題,不是某一個單一環(huán)節(jié)的問題,需要從多個層面進行完善。首先,從個人用戶來說,密碼設(shè)置和使用需要注意以下幾點:
不管什么系統(tǒng)都用同一個密碼的壞處是顯而易見的。因此我們需要養(yǎng)成對于不同應(yīng)用單獨設(shè)置密碼的習慣,特別是一些重要賬號,例如網(wǎng)上銀行、支付寶、網(wǎng)絡(luò)游戲、聊天工具等一定要重點設(shè)防。此次事件中,CSDN的數(shù)據(jù)庫被泄露后很多用戶的微博賬號、網(wǎng)上支付賬號陸續(xù)被盜,最后的原因就是設(shè)置了相同的密碼。
很多網(wǎng)站都提供了密碼安全強度檢查的功能,這是一個幫助用戶增強密碼安全強度的工具。那什么密碼才算是安全密碼呢?也許在10年前,一個長度為6位的包含有普通字母和特殊字符的密碼就算比較安全,但是計算機處理能力大步提升的今天,一個安全的密碼應(yīng)該長度在12位以上,并且密碼中包含有大寫字母、小寫字母、數(shù)字和特殊字符。
盡管設(shè)置安全的密碼非常重要,但是要保證安全仍然需要定期更換自己的密碼。因為安全的密碼也可能被黑客通過鍵盤記錄器、網(wǎng)絡(luò)嗅探等攻擊工具截獲,這時就需要用戶定期更換自己的密碼。
“找回密碼”功能本是為了當用戶忘記密碼時為用戶提供方便的,但是這也成為黑客攻擊的一個入口。因此,用戶一定要重視“找回密碼”的安全問題。首先,找回密碼的問題盡量避免使用你在其他網(wǎng)站上可能已經(jīng)泄露的信息,例如姓名、生日、手機號碼等;然后,針對不同網(wǎng)站同樣需要設(shè)置不同的找回密碼問題,防止黑客通過一個網(wǎng)站上的找回密碼問題來破解另一網(wǎng)站上的賬號和密碼。
對收集、存儲了海量用戶信息的各家網(wǎng)站而言,保護好用戶的個人信息是他們的義不容辭的責任和義務(wù)。此次信息安全事件所暴露出來的問題,不能靠通過單一的產(chǎn)品來解決,而應(yīng)該制定一套完整的解決方案來實現(xiàn)。
1)強化企業(yè)員工內(nèi)部管理,提高網(wǎng)絡(luò)管理人員的技術(shù)水平和職業(yè)道德,防止技術(shù)不夠或者個人瀆職造成的安全威脅。
2)定期做好數(shù)據(jù)備份,而且盡量做好異地備份,同時保證備份數(shù)據(jù)的安全。
3)通過防火墻、防病毒網(wǎng)關(guān)等安全設(shè)備提高系統(tǒng)反病毒能力,防止病毒和木馬在網(wǎng)站中傳播。
4)加強網(wǎng)絡(luò)訪問控制,嚴格按照“最小權(quán)限原則”進行權(quán)限分配,防止用戶的非法訪問。
5)網(wǎng)站管理人員應(yīng)該把安全管理作為一種動態(tài)的長期行為,從網(wǎng)站系統(tǒng)的開發(fā)、測試和維護,都需要將風險評估、安全加固、風險審計貫穿于整個過程中。
明文的密碼是無法接受的,但是錯誤的加密策略同樣也很讓人頭痛。從目前網(wǎng)站系統(tǒng)來看,在密碼保存上,使用最多的算法就是國際通用的標準算法——MD5 HASH算法。但實際上,HASH算法本身設(shè)計的初衷并不是用來加密,而是用來消息驗證的。網(wǎng)站開發(fā)人員一般都是因為HASH算法具有不可逆的特性所以用其來保存密碼的??墒牵琀ASH算法的不可逆是有一個前提假設(shè)的,那就是明文集合是無限大的。但平時設(shè)置的口令并不一樣,口令的長度一般都比較短,同時可使用的字符也非常有限,這樣HASH算法的單向性已經(jīng)失去了它原有的意義,黑客已經(jīng)可以通過一個完整的明文和密文的對照表(彩虹表)中找到口令明文的還原。一些簡單的MD5加密也可以直接在一些專業(yè)的MD5在線破解網(wǎng)站上直接查找HASH值對應(yīng)的明文,如圖1所示。
鑒于傳統(tǒng)MD5的可破解原因,很多網(wǎng)站開發(fā)人員已經(jīng)在現(xiàn)有的MD5算法上進行了修改,最常用的就是加“一粒鹽”的做法。就是在MD5生成的HASH值后增加一個擾動,使得HASH值與標準的HASH結(jié)果不同,這樣就可以抵抗通過查找彩虹表來查找明文了。
例如,用戶的密碼是admin,該密碼經(jīng)過MD5計算后的HASH值為:7A57A5A743894A0E,加一粒鹽,也就是一個隨機的字符串如“AC59075B964B0715”,將兩者合起來后就變成了“7A57A5A743894A0EAC59075B964B0715”。這樣即使用戶設(shè)置的是弱口令也從一定程度上防御了查表攻擊。
當然,如果需要更加安全的密碼的話可以考慮在加“一粒鹽”的時候進行隨機的變換,使單純的一粒鹽變成了多粒鹽,這樣就使得密碼的安全性更高了。
通過網(wǎng)站監(jiān)控系統(tǒng)來及時發(fā)現(xiàn)網(wǎng)站中的異常行為,然后提醒網(wǎng)絡(luò)管理人員快速響應(yīng),或者直接和網(wǎng)絡(luò)安全設(shè)備之間進行聯(lián)動,將異常的IP地址置于黑名單,以保證自身的安全。
在網(wǎng)站系統(tǒng)的關(guān)鍵業(yè)務(wù)模塊和核心領(lǐng)域中,必須通過專業(yè)的安全風險檢測。在關(guān)鍵業(yè)務(wù)啟動前,先尋找專業(yè)團隊進行滲透性攻擊測試,然后再根據(jù)攻擊測試的結(jié)果制定系統(tǒng)優(yōu)化流程,通過適當修改后讓系統(tǒng)具有更強的容錯性和健壯性。
此次網(wǎng)站泄密事件敲響了安全的警鐘,加強互聯(lián)網(wǎng)安全性建設(shè)已經(jīng)成為一個刻不容緩的事情。加強互聯(lián)網(wǎng)的安全,需要多方面合力而為。首先,政府需要建立健全網(wǎng)絡(luò)和信息安全的法律法規(guī);其次,用戶需要提高網(wǎng)絡(luò)安全意識,重視個人隱私的保護;最后,企業(yè)更應(yīng)該將保護網(wǎng)站用戶信息作為自己第一任務(wù),在采取各種安全技術(shù)的同時,嚴格執(zhí)行安全管理規(guī)范。只有大家齊心協(xié)力,才能構(gòu)建一個技術(shù)先進、管理高效、安全可靠的網(wǎng)絡(luò)信息安全保障體系。
[1]石淑華,池瑞南.計算機網(wǎng)絡(luò)安全技術(shù)[M].北京:人民郵電出版社,2010.
[2]仝磊.由CSDN信息泄露事件引發(fā)的思考[J].網(wǎng)絡(luò)安全技術(shù)與應(yīng)用,2012,(2).
[3]CSDN密碼庫泄露,金山否認公司產(chǎn)品經(jīng)理為“黑客”[EB/ OL].http://news.cntv.cn/20111226/104736.shtml.