張勇 徐云燕
摘要:黑客入侵網(wǎng)站后,最常見(jiàn)的行為就是篡改原本合法的網(wǎng)頁(yè)文件,針對(duì)此類行為,該文提出了基于文件監(jiān)控和自定義判定樹(shù)的被動(dòng)防御機(jī)制,文件監(jiān)控能夠?qū)崟r(shí)發(fā)現(xiàn)網(wǎng)站所有文件的變化,判定樹(shù)根據(jù)自定義的知識(shí)庫(kù)和安全要求,分析判斷文件變化的合法性,并采取相應(yīng)的防御措施,從而達(dá)到保護(hù)網(wǎng)站文件的目的,這種安全技術(shù)具有實(shí)時(shí)高效、簡(jiǎn)便靈活、適用性廣的特點(diǎn)。
關(guān)鍵詞:網(wǎng)站入侵;文件監(jiān)控;自定義判定樹(shù);網(wǎng)頁(yè)木馬;網(wǎng)頁(yè)防篡改
在今天的信息化時(shí)代,幾乎所有企事業(yè)單位都建設(shè)了自己的網(wǎng)站,這些網(wǎng)站通常放置在獨(dú)立的Web服務(wù)器上24小時(shí)運(yùn)行,隨著信息技術(shù)不斷進(jìn)步,網(wǎng)頁(yè)制作越來(lái)越美觀,內(nèi)容越來(lái)越豐富,安全問(wèn)題卻越來(lái)越突出。網(wǎng)站被攻擊事件層出不窮,一旦被入侵,數(shù)據(jù)可能被刪除,網(wǎng)頁(yè)可能被篡改,其中網(wǎng)頁(yè)被篡改的危害性最大,被篡改后的網(wǎng)頁(yè)可能直接鏈接到惡意木馬、游戲甚至黃色網(wǎng)頁(yè)上,給本單位造成非常惡劣的影響。根據(jù)國(guó)家計(jì)算機(jī)網(wǎng)絡(luò)應(yīng)急技術(shù)處理協(xié)調(diào)中心的統(tǒng)計(jì)報(bào)告,在目前所有造成嚴(yán)重危害的網(wǎng)絡(luò)攻擊事件中,網(wǎng)頁(yè)篡改占到總數(shù)量的74%。
所以管理員必須高度關(guān)注Web網(wǎng)站的安全問(wèn)題,應(yīng)該能做到24小時(shí)監(jiān)視網(wǎng)站上的每個(gè)網(wǎng)頁(yè)文件,本文研究重點(diǎn)就是利用文件監(jiān)控技術(shù)和自定義規(guī)則模板,來(lái)實(shí)時(shí)獲知、檢測(cè)和處理每個(gè)網(wǎng)頁(yè)文件的變化,以達(dá)到保護(hù)網(wǎng)站的目的。
1網(wǎng)頁(yè)被篡改機(jī)制和危害
目前互聯(lián)網(wǎng)上充斥著各種安全威脅,對(duì)廣大用戶來(lái)說(shuō),最直接的威脅來(lái)自網(wǎng)頁(yè)木馬程序,當(dāng)用戶瀏覽含有惡意代碼網(wǎng)頁(yè)的時(shí)候,惡意代碼會(huì)利用用戶瀏覽器的漏洞自動(dòng)將配置好的木馬服務(wù)端程序下載到用戶電腦上并自動(dòng)執(zhí)行,此服務(wù)端程序會(huì)打開(kāi)用戶電腦的一個(gè)通信端口,建立通信套接字和黑客那里運(yùn)行的木馬客戶端連接成功,聽(tīng)從黑客發(fā)出的指令操縱用戶電腦,這樣用戶電腦就成為一個(gè)被黑客控制的“肉雞”,由于這一系列操作都不是通過(guò)可視化界面進(jìn)行的,所以用戶察覺(jué)不到。
與普通用戶不同,用于架設(shè)網(wǎng)站的web服務(wù)器系統(tǒng)和瀏覽器安全級(jí)別設(shè)置較高,管理員通常禁止使用web服務(wù)器隨便上網(wǎng),所以很少像用戶那樣因?yàn)闉g覽了木馬網(wǎng)頁(yè)被掛馬,web服務(wù)器面臨的主要威脅是被“掛馬”,所謂的“掛馬”就是黑客人侵網(wǎng)站后,先后上傳了“小馬”和“大馬”,從而徹底獲得Web服務(wù)器的控制權(quán),小馬往往就是常說(shuō)的一句話木馬,它的作用是在服務(wù)器上根據(jù)黑客post的數(shù)據(jù)創(chuàng)建大馬,大馬實(shí)際上是個(gè)包含了php、asp或其他可執(zhí)行腳本代碼的動(dòng)態(tài)網(wǎng)頁(yè)文件,黑客在web服務(wù)器上創(chuàng)建了大馬,就意味著已經(jīng)完全控制了服務(wù)器,可以通過(guò)大馬遠(yuǎn)程操作web服務(wù)器,最常見(jiàn)的行為是篡改網(wǎng)站上的網(wǎng)頁(yè)文件,一般是在正常網(wǎng)頁(yè)的末尾進(jìn)行添加篡改,如表1所示。
黑客篡改網(wǎng)頁(yè)的目的就是讓互聯(lián)網(wǎng)用戶在訪問(wèn)此網(wǎng)頁(yè)時(shí),自動(dòng)打開(kāi)非法鏈接,可能但不限于以下危害:
(1)鏈接到游戲網(wǎng)站頁(yè)面以達(dá)到游戲推廣的目的。
(2)鏈接到含有惡意木馬的網(wǎng)頁(yè),利用網(wǎng)站瀏覽量比較大的特點(diǎn),吸引更多的用戶下載木馬程序,從而獲得大量的網(wǎng)絡(luò)肉雞。
(3)鏈接到一些廣告頁(yè)面以達(dá)到宣傳目的。
由于黑客人侵的網(wǎng)站一般點(diǎn)擊率高,瀏覽量大,一旦被加入了非法鏈接,將會(huì)產(chǎn)生廣泛的危害,單位信譽(yù)損失難以估量,影響極其惡劣。黑客人侵并篡改網(wǎng)頁(yè)的目的就是利用網(wǎng)站瀏覽量比較大的特點(diǎn),吸引更多的用戶下載木馬程序,所以防止網(wǎng)站的網(wǎng)頁(yè)被篡改,可以大大凈化網(wǎng)絡(luò)環(huán)境,減少網(wǎng)絡(luò)木馬的泛濫。
2防范措施分析
2.1防范措施
為了防止黑客篡改網(wǎng)站的網(wǎng)頁(yè),人們已經(jīng)研究了許多應(yīng)對(duì)措施,大體分為以下幾個(gè)方面:
(1)為操作系統(tǒng)和IIS打補(bǔ)丁。
(2)設(shè)置訪問(wèn)權(quán)限。不需要寫(xiě)操作的文件或文件夾設(shè)置為只讀,需要寫(xiě)操作的文件或文件夾賦予讀寫(xiě)權(quán)限,但不允許執(zhí)行權(quán)限。
(3)為服務(wù)器安裝專業(yè)防護(hù)軟件,如安全狗。
(4)限制或禁用功能函數(shù)和組件,如php的exeeO、Wscript.shell組件。
(5)過(guò)濾用戶提交數(shù)據(jù),防止SQL注入,例如過(guò)濾單引號(hào)。
(6)提高數(shù)據(jù)庫(kù)的安全系數(shù),檢查數(shù)據(jù)庫(kù)的寫(xiě)入內(nèi)容。
2.2局限性分析
以上是常用的安全防范措施,這些措施從不同角度為服務(wù)器加固,這就要求管理員必須掌握很多方面的業(yè)務(wù)知識(shí),包括多種網(wǎng)絡(luò)協(xié)議、網(wǎng)頁(yè)動(dòng)態(tài)腳本編程、網(wǎng)站漏洞查找、服務(wù)器的安全管理、操作系統(tǒng)安全策略、數(shù)據(jù)庫(kù)管理和安全防范、了解專業(yè)防護(hù)軟件等等,每一方面的知識(shí)都需要花費(fèi)大量的時(shí)間和精力鉆研,實(shí)際上,鮮有如此全面和專業(yè)的信息安全人才,所以保障web服務(wù)器的安全遠(yuǎn)比建設(shè)困難的多。
即使以上這些措施都認(rèn)真實(shí)施了,仍然無(wú)法保證不被黑客人侵,因?yàn)椴粩嘤行碌穆┒幢话l(fā)現(xiàn)和利用,防范措施總是滯后的,面對(duì)花樣繁多的入侵,這些措施顯得被動(dòng)。
3基于文件監(jiān)控和判定樹(shù)的實(shí)時(shí)防御策略
3.1文件監(jiān)控策略
分析web服務(wù)器被入侵的行為,不難發(fā)現(xiàn)絕大部分入侵行為是篡改網(wǎng)站的網(wǎng)頁(yè),在網(wǎng)頁(yè)加上非法鏈接,使之指向木馬網(wǎng)頁(yè)。如果能夠有效監(jiān)控網(wǎng)站上的所有網(wǎng)頁(yè)文件,對(duì)篡改網(wǎng)頁(yè)的行為做出實(shí)時(shí)反應(yīng),就可以有效阻止黑客的行為,這就需要24小時(shí)監(jiān)控網(wǎng)站的文件。
一般說(shuō)來(lái),網(wǎng)站文件是放置在硬盤(pán)上的文件夾中,監(jiān)控網(wǎng)站實(shí)際上就是監(jiān)控文件夾內(nèi)容的變化,國(guó)內(nèi)多數(shù)網(wǎng)站的后臺(tái)腳本包括asp、asp.net、php、jsp等,使用的操作系統(tǒng)主要是windows server系列和linux系列,以windows系統(tǒng)為例,可以使用.net提供的FileSystemWatcher類對(duì)指定的多個(gè)文件夾進(jìn)行監(jiān)控,當(dāng)文件夾中的文件被修改、被改名、被刪除或者有新的文件被創(chuàng)建,都會(huì)引發(fā)事件,在事件的參數(shù)中含有行為類別和發(fā)生變化的文件名,當(dāng)監(jiān)聽(tīng)到事件后,就可以在自定義代碼中采取措施保護(hù)網(wǎng)站文件。endprint
在linux系統(tǒng)中,可以使用Java 7的NIO.2提供的文件監(jiān)控功能對(duì)網(wǎng)站目錄進(jìn)行監(jiān)控。
3.2獲取安全知識(shí)和判定樹(shù)
文件監(jiān)控為網(wǎng)站監(jiān)控的實(shí)現(xiàn)提供了技術(shù)條件,若要靈活、全面的監(jiān)控網(wǎng)站目錄下新建和被修改的文件,必須知曉本站的安全要求,假設(shè)一個(gè)網(wǎng)站的安全要求如下:
(1)后臺(tái)僅允許上傳jpg、png和gif圖片;僅允許上傳doc、xls、ppt文檔和pdf文件;
(2)上傳的文件必須位于upload_files目錄下;
(3)僅允許在create_html目錄下生成靜態(tài)html,且必須含有約定密碼;
(4)后臺(tái)僅使用php腳本,僅允許本站原有php文件存在并禁止修改;
(5)后臺(tái)上傳文件限定在每天的7:00-22:00之間;
(6)發(fā)現(xiàn)并刪除偽裝成圖片的木馬文件;
(7)發(fā)現(xiàn)并刪除上傳的木馬腳本文件。
基于以上要求,針對(duì)網(wǎng)站上被修改、創(chuàng)建的文件,可以獲得出以下安全知識(shí):
(1)若文件創(chuàng)建時(shí)間不在7:00-22:00之間,則刪除;
(2)若文件擴(kuò)展名不屬于合法范圍(包括jpg、png、gif、doc、xls、ppt、pdf、php和html),刪除;
(3)若文件格式為jpg、png、gif、doc、xls、ppt、pdf之一,但并非位于upload_files目錄下,則刪除;
(4)檢查文件頭,若文件頭非法,則判定為非法文件,刪除;
(5)若文件內(nèi)容含有eval、request或execute等非法字符串,則刪除;
(6)若文件擴(kuò)展名為html,上傳位置不位于create_html目錄下,則刪除;
(7)若create_html目錄下的html文件不含有約定密碼,則刪除;
(8)若文件擴(kuò)展名為php,但并非本站原有php文件,則刪除。
以上安全知識(shí)是根據(jù)專家經(jīng)驗(yàn)設(shè)定的,例如:第四條和第五條知識(shí)可用來(lái)清除偽裝成圖片的木馬文件,同時(shí)可以清除傳統(tǒng)木馬,基于這些安全知識(shí),可以構(gòu)建一個(gè)判定樹(shù),來(lái)判定新建或修改的文件是否應(yīng)該保留,判定樹(shù)如圖1所示。
3.3實(shí)時(shí)報(bào)警策略
上述判定樹(shù)實(shí)際是一棵二叉樹(shù),如果增加了新的安全知識(shí),那么可以通過(guò)增加節(jié)點(diǎn)來(lái)修正此二叉樹(shù),通過(guò)此判定樹(shù),可以靈活的判定當(dāng)前被創(chuàng)建或修改的文件是否合法,如果合法則保留文件,否則刪除。
刪除文件的同時(shí),應(yīng)該實(shí)時(shí)通知管理員提示網(wǎng)站有非法文件,采用的方式是用短信將刪除的非法文件名、非法內(nèi)容等信息發(fā)送給管理員,當(dāng)管理員收到短信后,可以回復(fù)約定的字符串,監(jiān)控系統(tǒng)可以根據(jù)回復(fù)的字符串來(lái)進(jìn)一步采取相應(yīng)的行為,例如:如果發(fā)現(xiàn)某個(gè)文件被篡改,可以從備份中恢復(fù);如果發(fā)現(xiàn)大面積網(wǎng)頁(yè)文件被篡改,可以暫時(shí)停止Web服務(wù);如果是誤刪除,可以恢復(fù)文件。
4結(jié)束語(yǔ)
由于網(wǎng)站被入侵后,黑客的大多數(shù)行為是上傳木馬和篡改原本合法的網(wǎng)頁(yè)文件,而文中提出的防御機(jī)制可以實(shí)時(shí)發(fā)現(xiàn)并處理網(wǎng)頁(yè)篡改行為,這就有效保證了網(wǎng)站文件的安全,這種防御機(jī)制具有實(shí)時(shí)高效、簡(jiǎn)便靈活的特點(diǎn),可用于安裝了windows server或linux的Web服務(wù)器,所以具有廣泛的適用性。endprint