阿碼外傳-阿碼科技非官方中文 Blog: 2008/11/11

2008年11月11日

網站多久沒健檢,是不是該關心一下了

你有多久沒有好好看看你的網站了,沒出事就不關心了嗎?那...不出事才怪的勒!資安...心態最重要。
平常應該要多關心網站運作狀況,是否有任何入侵的蛛絲馬跡,而這些徵兆都不能輕忽之;否則,網站問題將會層出不窮,小則網頁竄改、資料庫被操弄,或植入惡意連結;大則資料庫個資外洩,被詐騙集團利用,甚至機敏資料外洩。這些問題,平常多少一定會有些徵兆的,注意這些徵兆將會是避免事態持續擴大的重要關鍵。

有很多入侵行為,是沒有任何網站內容的竄改的,也就是說,入侵這台主機只是當跳板,但是,可能其他相同網段的網站卻經常出問題,你卻始終找不到真正病因。就像很多疾病,帶原者本身並不發病的,但是接觸的人可就慘了,很多攻擊模式有異曲同工之妙。

如果有下列徵兆中的一個,幾乎代表網站被入侵了,多個那就肯定被入侵:
* 網站目錄下是否有多的莫名檔案
* 網站主機上是否有多的莫名帳號
* 資料庫中是否有奇怪字串或帳號
* Mass SQL Injection 攻擊遺跡
* 網站主機之防毒軟體是否有異常警訊
* 網頁目錄是否有網頁木馬後門程式
* 系統的後門或木馬程式(惡意程式)

1.網站目錄下是否有多的莫名檔案
這跟網站的版本控制 (Release Management) 有很大的關係,因為,這部份做的好,可以很輕易從網站目錄中,找出被竄改或植入的檔案,也就知道網站被入侵了。不管是比對檔案差異、大小或日期...等,都可以查覺網頁檔案被動過手腳的,這點是最容易發現網站被入侵的,也是最精確的方式之一。無奈,大多數網站的網頁檔案,多是雜亂無章、且龐大,有的還有資料庫檔案在其中...XD,根本沒人知道哪些網頁檔案是屬於正常的。所以,你需要一個乾淨無虞的原始網頁檔案,而不是備份的,因為,備份都是線上的,往往都已經被動過手腳了,備份回來正中入侵者下懷,導致再次的誤事哩。你有乾淨無虞的網頁原始程式嗎?100% 確定沒被動過手腳的喔。
這點我還要在強調一次,你有乾淨無虞的網頁原始程式嗎?並配合正確版本控制管理 (Release Management),當網站出現問題時,它將會是非常重要的。

2.網站主機上是否有多的莫名帳號
如果主機被新增異常帳號,這也是被入侵很明顯的一個徵兆,也可以檢視可疑帳號的登入記錄,判定是否為入侵的帳號;如果網站主機有開遠端管理服務,不管是 3389 或 VNC...等,一旦被入侵,新增帳號就會是很常見的一個行為,對入侵者來說是多一條路可以進入系統。資料庫的部分是否有異常帳號,也是重要徵兆之一,這也表示資料庫中有重要資訊是有心人士想要的,慎之。

3.資料庫是否有奇怪字串
「奇怪字串」...我知道它很模糊、籠統,因為,要植入的字串千奇百怪;如果可以操弄資料庫,那要做啥入侵動作,這可沒有一定的標準程序哩,甚至有的只是改「商品售價」,這是奇怪字串的嗎?不過已經好幾年沒人這樣玩了;這攸關對網站的敏感度,所以,平常需要對被入侵網站的結果呈現,多加觀察,畢竟實際案例是非常好的案例教材。目前最常見的,是在資料庫中植入惡意連結或入侵字眼,入侵字眼比較容易發覺,網站上多會有明顯字眼可察覺;惡意連結部分較難查覺,可以參考這篇新聞

4.Mass SQL Injection 攻擊
我知道看 log files 很辛苦,我也深受其害...XP,所以報個好康的:
SQLInjectionFinder.exe : Tool to help determine .asp pages targeted by recent SQL Injection attacks.
它會幫你找 Mass SQL Injection 攻擊字串的事件,可以幫你省很多事的,希望對大家有幫助。針對被攻擊的網頁程式碼需要注意是否有漏洞,否則,資料庫可能被操弄了。有很多網站被攻擊還不自知的,植入的惡意網域可能都已經不生效了。

5.網站主機之防毒軟體是否有異常警訊
防毒軟體的歷史病毒記錄,是否有發現惡意程式的記錄,這也是被入侵的重要徵兆之一。不是看防毒軟體把惡意程式清除了,然後就裝沒事,要思考惡意程式打哪來,入侵管道才是要關心的重點。很多系統管理者都輕忽這點,問題在防毒軟體沒有 100% 的,更何況入侵者可能知道你安裝了哪家的防毒軟體,所以有一隻鐵定會有第二隻的,也許哪天防毒軟體更新病毒碼了,就「剛好」發現一隻...XD,結果你也「剛好」錯過...挖哩勒。

6.定期使用線上掃描工具檢查網頁目錄是否有網馬後門
Free Online Virus Scan
Free Online Spyware Scan
使用線上掃毒檢查網頁目錄下,是否有惡意程式存在,如果你無法確認網頁目錄是否有可疑程式,這不失為亂槍打鳥的一種方式,但使用上務必小心,不要輕易把惡意程式給刪除了,它可是重要線索的。啥...沒看過網馬後門嗎?哇咧!這好像遊客搞不清楚啥是搶匪一樣,連搶匪手上的刀也完全不識,被搶了還以為是借錢的...XD。


有沒發現這傢伙比系統的檔案總管好用太多啦...

7.系統是否被植入未知的惡意程式
這點對大多數的系統管理者來說是困難的。前面提到的線上掃毒也是一種方式之一,但也可能破壞犯罪現場,務必慎用。最好,還是需要有專人協助的。

以上只是一些常見的徵兆,需要特別加以注意的;上面也說這麼多了,對很多單位還是沒用,有時不知道比知道好,知道了又能如何,因為,沒人在做事件應變處理 (IR) 的,更不可能組成「資安事件緊急應變小組」來協助處理後續事宜。如果有心想做,可以參考「企業事件應變管理」一文,管理階層務必加以重視。資安很多問題是要改變管理的思考角度與方式,如果老是重複相同的事情,無力感將衝擊著你,有些事情是必須讓管理者知情,找出問題並尋求解決之道,「深思網站淪陷背後的意義」這篇你或管理者更需要閱讀、深思的。正視它,有些事會讓你成長的,如果只是閃躲,有些事將會變得很無情。

本文同步張貼於「資安之我見
作者 Crane 為 阿碼科技 資安顧問

繼續閱讀全文...

深思網站淪陷背後的意義

有許多地方都有網站淪陷的相關記錄:
Zone-H.org:http://www.zone-h.org/
中国被黑站点统计系统:http://www.zone-h.com.cn/
Zone-H 本週被黑 .tw 網站整理:http://outian.net/zone-h/
TW 網站淪陷資料庫 | 資安之眼:http://www.itis.tw/compromised
Turk Hack World Analyse and Attack Mirror Service:http://turk-h.org/
WWW Check by Chroot:http://www.chroot.org/wwwcheck/
Serapis.net:http://www.serapis.net/
XSSed: XSS (cross-site scripting) information and vulnerable websites archive:http://www.xssed.com/archive
PhishTank:http://www.phishtank.com/

另外有「天罣--輪迴的阿修羅」(這應該是最完整的,以台灣地區而言),最知名的應該是「大砲開講」:http://rogerspeaking.com/

幾乎每天都有許多網站淪陷或者被利用,很多網站管理者對這些記錄是恨得牙癢癢的,甚至,連被爆料的組織、單位主官也是牙癢癢,因為,記錄就是記錄,記錄永遠在哪裡。
王建民在記錄上,曾經不滿兩局狂失八分,2007年季後賽防禦率19.06(平均每局掉兩分以上)…這些都是超難堪的紀錄,王牌永遠的痛,但王建民永遠說:我會一球一球丟,一個一個的去解決打者,勇敢的面對。做資安不能只想靠橡皮擦跟立可白。
我很喜歡看《CSI犯罪現場:邁阿密》,維基百科有詳細介紹,但它另外的紐約及拉斯維加斯系列的影集我就沒哪麼喜歡了。在邁阿密系列中的主角「何瑞修·肯恩(Horatio Caine)」除了有招牌動作外,還有一句常說的話:「那些記錄,只是你最小的問題」,我也想借用這句話。為何?如下:

1.公佈的記錄是發現時間,漏洞存在多久了呢?
這問題不知網站管理者及權責主管是否有想過呢?我是光想這問題就快瘋了,很多單位都迅速地給我第一回應:「沒關係,我這台機器上沒有重要的資料」,嘿,老兄,我都還沒問哩。況且,這台機器可以當跳板,滲透更多內部主機的。其實,這問題你知道的,面對現實與真相吧!別讓你的網站一直在裸奔...

2.其間是否另有人滲透進來,擷取他想要的資訊了呢?
這問題可大了,查起來可要人命哩,是否有人力處理這部分呢?需要花多少時間及多少人力,甚至外聘需要花多少預算,查出結果可能還要再花一筆預算,這是管理階層第一個要考慮的。真查出了結果,可能真得有人....。所以,九成九不會想知道這結果的。但深入去查,往往會有許多收穫,了解災損範圍是極重要的一環;我想內部非公開的調查是必須的,因為,還可以查覺整體防禦架構上的漏洞,進而加以改善。詳細了解災損,才能進一步做應變處理,如果個資或客戶資料外洩,該如何修補及因應呢?使用者或客戶出現客訴該如何回應?萬一上媒體又該如何?這再再都與企業形象緊密結合。處理得宜還能化危機為轉機的,但你得先了解整個問題的源由。

3.被公布的記錄,會引起其他有心人士的念頭
這是公開的記錄,大家都會知道,但若沒有這些記錄,你會哪時才知道網站出狀況了;這會不會讓你想到另外一個問題呢?對,會不會你的網站已經出事了,看看這則消息:台灣網站遭受有史以來最大規模SQL Injection 攻擊,這是五月份的事,google 搜尋"9i5t.cn"字串,還有一堆網站沒有清除遭植入的惡意字串,還是很多人是不知道自己網站已經出事,所以被公佈出來是好是壞就見仁見智囉。接下來,網站漏洞問題修復的時間就是關鍵,但往往漏洞問題都找不到,還要如何修復呢?我只能說不修復,「有心人士」還會來複檢的;另外,公開的記錄鐵定也會引來更多「有心人士」的,因為,它代表有漏洞存在,沒理由別人找得到而我卻找不到漏洞,如果找不到哪不就遜掉了,結果就是有更多人來挑戰你的網站。千萬別有僥倖的心態。

4.免費的滲透測試(PT),只是沒給你報告
往好處想,這大概是唯一的。另外,是否還有其它網站有相同漏洞存在?如何避免再次發生?都是該思考的問題。既然已經有人幫你點出問題,就要一次把相關問題根除,借力使力、化危機為轉機。這是很重要的,記錄也可以是警惕自我的一種方式。

5.真的有確實做好漏洞修補作業嗎?
這一點我得特別拿出來再說一次,「移除入侵痕跡」不等於漏洞修補,況且,就連「移除入侵痕跡」也不夠徹底,只移除了表相,如置換的首頁、安插的頁面或字眼,但 WebShell (網頁木馬、網頁後門)可不是這麼容易找的。最重要的,網站淪陷背後的成因往往也沒有加以探究,找到漏洞問題,修補是不是確實呢?這中間有一連串的三道關卡:異常復原、徹底清除及漏洞修復,你完成了嗎?注意,這還不是標準的事件應變處理 (IR) 作業的哩,可參考「企業事件應變管理」一文。

6.最後,到底誰在為網站安全負責,這才是最大問題。
是網站管理者、系統管理者、程式開發者、網管人員、資安人員、稽核人員、資料處理人員...還是使用者。先不用急著找答案,我們先把範圍擴大,觀念同樣擴及到企業或組織的資訊安全誰該負責,我想這大家都知道就是CIO(資訊長)、CSO(安全長)。所以要由管理角度來看的,因為每個企業或組織架構不同,也會有不同權責與權限,但無論如何管理者要要負最大責任,至於誰該負責:
a.擁有控管權力、有能力主導網站的人:大多企業或組織都沒有這號人物,有誰在為網站安全把關。
b.賦予控管權限的人:這個人當然是管理階層,如果沒有a.的人物,企業或組織的管理者當然要負全責。
相關資訊安全人員的角色及應有功能與職責可以參考這裡

還有很多記錄,它可能是沒有被公開的,你又該如何面對呢?慶幸嗎?還是警惕呢?資安工作沒有捷徑也沒有速成,攻方每年都在成長與進步,如果你還在原地作資安,無異緣木求魚。另外一篇文「網站多久沒健檢,是不是該關心一下了!」希望能幫得上忙。

作者 Crane 為 阿碼科技 資安顧問

繼續閱讀全文...