2013年5月22日 星期三

預防網站被駭全攻略


預防網站被駭全攻略

網站被駭從偵測、處理到復原的每一個步驟,其實都蘊藏了簡單卻常被忽略的原則與思維。網站管理者只要抓住這些原則,貫通這些思維,就能更全面地掌握網站被駭的本質

網站被駭的陰影正籠罩全世界:從今年3月的Nokia個資外洩,到4月日本大型入口網站goo被駭,都紛紛顯示網站攻擊已對全球企業造成嚴重威脅,然而,除了這些檯面上的事件,更多的企業網站都在不知不覺中遭駭客入侵,被Google搜尋結果標示為「不安全網站」,並且阻擋瀏覽者進一步接觸企業網站,這情況同樣會對企業形象造成沉重打擊。而除了面對專業駭客的攻擊,自動化攻擊工具也讓攻擊門檻大幅降低,無需專業技術也能藉由點擊幾個按鍵,就成功入侵防護不足的企業網站。

雖然資安公司不斷推出防駭軟體,Google也提供了網站被駭的自救程序,網站管理員仍應對駭客的動機、手法、以及網站被駭如何偵測、預防與復原的觀念有更全面的認識,因為正如「資安木桶理論」所指出,任何一個環節的疏漏,都可能導致辛苦架設的防線功虧一簣。

攻略1:從最常見的攻擊思索防禦之道
要了解網站為何被駭,以及如何被駭,必須先理解駭客的動機。在駭客圈的行話裡,駭客分為「白帽駭客」與「黑帽駭客」。「白帽駭客」指的是單純為了好玩或鍛鍊技術而入侵網站,較少對企業造成直接損害。但是「黑帽駭客」就相對危險了。他們通常受僱於敵對企業,竄改對方網站,重創對方商業形象,或以搜尋引擎最佳化(Search Engine Optimization,SEO),在受駭網頁暗藏己方訊息,提高搜尋排名,甚至直接入侵對方伺服器,給予系統致命破壞。此外,也有駭客會先在網路上尋找「肉機」(有弱點的電腦),並在受託時成立傀儡軍隊,對目標網站發動DDoS(分散式阻斷服務)攻擊。

部分駭客則會利用網站當跳板,間接攻擊造訪網頁的瀏覽者,例如日前延燒的Java 7漏洞,就是駭客在網頁的Java Applet中植入惡意程式碼,對瀏覽網頁者的電腦進行入侵。

駭客手法千百種,不過萬法歸一,大部分駭客都是利用常見的幾種網路弱點,來進行攻擊。網站管理者可以先從開放網路軟體安全計畫(Open Web Application Security Project,OWASP)每年公布的十大網路弱點,來查看最常見的攻擊方式,如針對資料庫的SQL Injection、驗證功能缺陷、應用程式漏洞及重新導向陷阱都是榜上有名。

攻略2:以WAF、入侵偵測系統及早偵測駭客入侵


▲趨勢科技臺灣區技術總監戴燊表示,管理員應經常檢查檔案不明異動,包括HTML檔案以及資料庫,並架設入侵偵測系統、以及架設位於網路第7層的WAF。

如何偵測網站被駭?趨勢科技臺灣區技術總監戴燊認為,駭客入侵電腦時並不會大張旗鼓,而且常繞過自動防禦機制,因此企業常是經由使用者回報,或管理員發現網站外觀改動,才發現網站被駭了。戴燊建議,管理員應經常檢查檔案不明異動,包括HTML檔案以及資料庫,並架設入侵偵測系統、以及架設位於網路第7層的WAF(Web Application Firewall),及早偵測駭客入侵。

中華電信數據通信分公司資安技術顧問李倫銓則建議,網站管理者應定期檢查網站伺服器上的 Log,檢查是否有不明的登入紀錄,檢查 Log通常可以判定駭客的入侵點,網站管理員可以從此開始追蹤駭客入侵足跡。而建立定期掃描、即時監測等機制,都有助於發現木馬程式類型的惡意檔案。

而在偵測資料庫入侵方面,需偵測是否有使用者在短時間內大量存取資料庫,以及是否有使用者以異常字串進行查詢,這通常是SQL Injection發生的預兆。

攻略3:發現被駭第一時間,最忌立即刪檔


▲多奇數位技術總監黃保翕表示,發現惡意檔案後,第一時間絕不刪檔,以免將攻擊軌跡抹去,讓之後的弱點追蹤變困難。 

許多網站管理者在發現網站被駭時,都會試圖立即刪除駭客新增的不明檔案或木馬程式。然而,黃保翕卻指出這是錯誤之舉。第一時間刪檔,會將駭客攻擊留下的軌跡一併抹去,讓之後的弱點追蹤變得困難,因此,發現駭客攻擊的第一時間絕對不要刪除任何檔案。

正確的作法,是先將網站檔案、資料夾的存取權限設為唯讀,並記錄不明檔案的最後存取日期,來判斷檔案是何時,以及如何被駭客修改的,從而判斷駭客的攻擊軌跡。黃保翕表示,要判斷系統的弱點,通常必須從攻擊路徑反推,來確定是程式碼問題、系統錯誤設定、或密碼太弱等因素讓駭客有機可趁。

黃保翕也指出,不只要檢查惡意程式檔,即使是一個普通的文字檔也不能輕易放過。他曾遇過一個案例,是駭客利用自動化工具掃描到電腦弱點後,先不動聲色的將一個普通文字檔(而非木馬程式)植入目標電腦,大部分防毒軟體會視此文字檔是安全的,因此不會發出警告。直到有大筆會員資料被移進此電腦時,駭客才趁機發動攻擊,一舉竊取大量使用者資料,因此,即使是看似無害的文字檔、圖片檔等,都必須確認是否是外部植入。

除了檢查不明檔案,也必須一併檢查網站伺服器上的記錄,找出操作者的IP位置,以及異樣的操作行為。不過一般而言,用IP位置來找到對方並不容易,因為駭客通常都使用跳板進行間接攻擊。滲透測試專家蔡政達就表示,要徹底追索蹤對方,須從IP追回網域註冊資訊,而這一步通常必須「犯法」去追蹤,因為要確定駭客使用的電腦是否為跳板,唯有入侵其主機電腦才能確認。但這行為也同時觸犯了法律,因此許多大企業除非有確切證據,否則都是放棄追蹤。


攻略4:針對弱點修復、以乾淨備份復原網站


▲The Honeynet Project台灣分會負責人蔡一郎表示,在資料庫保護方面,應加強前端網站與後端伺服器間的整合關係,建置資料外洩防護(Data Loss Prevention,DLP),並落實資料庫稽核。

在復原網站之前,必須先修復既有的弱點,以免日後駭客再從同一個管道再次入侵。常見的網站弱點包括密碼強度不足,軟體未更新等,或者資料庫程式碼撰寫不良,導致駭客容易經由SQL Injection入侵電腦。戴燊表示,他曾遇過的例子是,網頁程式碼撰寫不良而有漏洞,卻因工程師離職,而落得沒人能維修的情況,這時就需要再外罩一層虛擬屏蔽,來阻擋駭客再次由弱點入侵。

除了網頁程式,在資料庫保護方面,The Honeynet Project臺灣分會負責人蔡一郎建議要加強前端網站與後端伺服器間的整合關係,建置資料外洩防護(Data Loss Prevention,DLP),並落實資料庫稽核等。

在以備份檔復原網站之前,蔡一郎建議先完整留下網站的結構與檔案,以利後續追蹤,再用目前擁有的最新版乾淨備份,對網站進行復原。此外,版本控制也相當重要。黃保翕建議不只是開發階段,連網站上的檔案也要做版本控制,可找到檔案的新增、移除或修改時間,以利網站被駭時,能妥善恢復乾淨的檔案。

蔡一郎也表示,若想追蹤駭客或於日後採取法律途徑,則除了將原有網站回復正常,可建立一個被駭狀態的傀儡網站,如果駭客持續入侵,則可從此傀儡網站監測其封包,側錄對方狀態、位置或身分,反向追蹤駭客。

攻略5:預防被駭,弱點掃瞄與滲透測試缺一不可


▲中華電信資安技術顧問李倫銓表示,檢查網站伺服器紀錄通常可以判定駭客的入侵點,網站管理員可以從此開始追蹤駭客入侵足跡。

蔡政達表示,一般企業要及早預防網站被駭,通常會使用弱點掃描以及滲透測試兩種方法。弱點掃描通常是以自動化工具掃瞄伺服器,如針對主機掃描的免費軟體Nessus,以及可掃瞄OWASP常見弱點的開源軟體w3af。自動化掃描工具通常在數小時後可以完成整臺伺服器的掃瞄,然而誤判率通常較高,也比較不深入。

而比較進階的滲透測試,則是企業委託專家仿照駭客入侵的方式,找出潛在的漏洞。這通常須先簽訂契約,言明入侵IP與時段,並且需要數個星期來找出系統弱點,但卻是一個相對全面的作法。

蔡政達表示,管理者應將「資安木桶理論」牢記在心。他舉例比如主站的安全防護做得很周全,但分站卻存有弱點,駭客就容易從分站間接入侵。此外,他認為許多網站被駭都來自於人員疏失,比如密碼強度不足、伺服器設定有問題,或者應用程式、作業系統軟體未更新等,因此加強網管人員的資安意識也是當務之急。


善用免費工具,建立完善防駭系統

想建立防駭機制,又不想花大錢?善用幾項免費工具,就能建立完整弱點掃瞄、版本控制、入侵偵測及日誌管理系統



免費弱點掃瞄工具Nessus 
被 Insecure網站評選為百大資安工具第一名的弱點掃瞄工具Nessus,可讓網站管理者分析目標主機或網路的弱點,並產生掃描報告,亦可讓管理者自行撰寫攻擊程式,模擬駭客行為並做出相應修補。



免費版本控制工具TortoiseSvn
被程式開發團隊廣泛採用的TortoiseSvn,同樣也適用於網站管理員管理每一版網站內容更新,管理員可以輕易檢查每版網頁程式碼之間的變動(diff),以及資料夾內有無檔案增刪,當網站受駭時,管理者能更輕易地回復稍早備份的網站內容。



免費入侵偵測系統Snort 
Snort可監聽、擷取網域內的封包,並即時分析封包內容,根據規則判斷是否有網路攻擊行為發生。此外,Snort亦可顯示封包內容於螢幕,或者存入硬碟供日後分析。



免費系統日誌管理工具Splunk 
Splunk可即時保存、索引並以視覺化方式呈現網域內各網路設備的系統日誌記錄,並以視覺化的報表方式呈現日誌內容,此外,也能自訂規則,讓日誌出現異常記錄時,對網路管理員發出警告。免費版的Splunk有每日容量限制,同時無法使用PDF報表等額外功能。

轉載自《iThome》