觀點

資安攻防:一場進行中的不對稱戰爭

2012 / 11 / 16
Acer eDC資安維運處處長黃瓊瑩口述 編輯部整理
資安攻防:一場進行中的不對稱戰爭

以往我們所聽到的多半是一些資安趨勢分析或是威脅攻擊的介紹,本文則是從宏碁位於龍潭eDCSOC資安監控中心營運7年來的真實案例整理而來,首先來看APT(Advanced Persist Threat)攻擊,相信大家對APT這種針對性的進階持續攻擊手法並不陌生,也知道其攻擊的特性,但也僅只於「知道」而已,以下的實際案例將讓大家對APT的攻擊手法有進一步的認識。

 

 

令人防不勝防的APT攻擊

 

首先是這些惡意程式到底如何入侵?以往的釣魚郵件就是透過夾帶rarzip的附件檔,以不分對象的方式進行大規模散發。雖然現在大家對Windows系統弱點更新都已有認知,但卻很少注意其他像WinzipPDF Reader這樣的軟體也要定期更新,其實這些常用軟體也和Windows一樣有很多漏洞需要修補,但大多數用戶,在看到提醒購買Winzip版權視窗畫面時通常都忽略跳過,因此當收件者打開這些附件檔後,惡意程式就能利用Winzip的漏洞入侵,由於散布對象的不確定性,使這類傳統惡意程式往往也較不受控制。即便是像PDF Reader沒有版權問題,可以免費更新,一般用戶也往往忽略其重要性,更增加APT攻擊的成功機會。

 

為你「量身打造」的攻擊模式

 

新型APT攻擊則是以大家更沒戒心的PDF文件檔做為攻擊媒介,這種手法成功的先決條件有二:一是吸引收件者打開附件,另一個是收件者的PDF閱讀軟體也未定期更新而存在可供利用的弱點。以我們所觀察到的釣魚信件為例,有冒充公司法務、客戶科長的信件,也有偽冒政府機關以全國資安會議為標題的郵件,或是用華碩併購Acer為主旨的信件;發信者亦熟知受害者社交網絡,假藉EMBA同學寄信,甚至還知道受害者的休閒活動如:曾經在2008年騎車環島,而發送以環島計畫為主旨的釣魚郵件,或是以大學一年級導師名義,寄發釣魚郵件。

 

上述釣魚郵件都清楚顯示出,駭客先透過社交工程方式,針對目標的背景資料做詳盡調查研究,然後「量身訂做」出聳動標題,吸引被害者開啟郵件達到入侵目的,這種攻擊方式從以往的大規模攻擊變成現在的隱蔽低調,再透過精密的客製化元件對入侵對象的裝置進行遠端控制,以竊取重要的機密資料為最終目的。

 

APT攻擊通常從寄發釣魚郵件開始,而駭客在製作釣魚郵件前,已經先透過社交工程手法,針對目標的背景資料做詳盡調查研究,然後「量身訂做」出聳動標題,吸引被害者開啟郵件達到入侵目的。

 

 

 

防毒軟體功能有限

 

這時或許會有人想到,難道安裝的防毒軟體都沒有用嗎?當我們把可疑的附檔送到www.virustotal.com這個提供40多個不同防毒軟體的網站進行線上掃描時,雖然有10家左右的掃描引擎可以抓到這些惡意程式,但可惜的是通常我們所使用那幾家著名廠商的防毒引擎都無法偵測到這些惡意軟體,能抓到的通常都是一些較少聽到廠商的產品,但這並不是說那些大廠的防毒軟體不好,而是駭客在製作好惡意程式後也會先送到這些網站去做測試,確認不會被常見的防毒軟體偵測到才會開始進行攻擊。

 

在資安實務上,我們發現很容易製作逃避單一防毒軟體偵測的惡意程式,但要同時讓數個主要防毒軟體無法偵測出來,其難度很高。因此在防毒架構上,採用多品牌、多層次(例如Gateway搭配終端主機)的設計,可以提高APT攻擊成功的難度。

 

如何竊取密碼?

 

駭客如何偷走密碼?一般系統的設計不會以明文來儲存密碼,當使用者設定密碼時,系統會透過一個單向函數的運算,萃取出一個密碼的特徵值(Hash),且此特徵值只能單向運算而無法從特徵值回推出密碼。之後使用者輸入密碼時,系統會經由運算取得其特徵值,再與之前的特徵值進行比對,相符時即通過密碼驗證,所以當使用者忘記密碼求助系統管理者時,管理人員應該只能幫使用者重設密碼而不能直接告訴使用者密碼為何,才符合標準的作業程序。

 

然而目前全國機關、企業都普遍存在的一個問題,就是單位內個人電腦的本機管理者雖然沒有使用,但所設定的密碼通常都相同;所以當駭客埋入惡意程式讀走本機管理者的特徵值後,第一件事就是對鄰近電腦發動攻擊,利用作業系統這個邏輯驗證上的漏洞,直接將這些特徵碼送往相鄰受害電腦,就可達到瓦解機關內所有電腦的目的。

 

此外,現在有一些能將密碼特徵值轉成明文的工具軟體,網路上也有將英文與數字所有可能字串組合成的Rainbow Table密碼字典來加速密碼破解,透過這些工具的協助,入侵者只需數十秒就能將特徵值還原成明文。

 

另外在網路上還有提供密碼破解的「雲端服務」,依照SQLOutLookOracle等應用軟體類別,收取美金2-10元來幫人還原密碼,且在今年2月更首度發現,駭客能直接從Windows記憶體中將明文密碼讀走的案例,由此可見即使設定了符合強度要求的密碼,也不能完全保證密碼不被人所盜用。從這樣的案例可以知道,駭客對於Windows的設計瞭若指掌,對於這些手法,沒有親眼目睹眼見為憑,實在很難相信。

 

 

 

愈見精密的Rootkit攻擊

 

此外,惡意程式在「質」的部分也顯示出駭客技術的不斷精進。像為了避免使用者安裝執行由惡意軟體所偽冒的程式,軟體開發人員會將所開發像ActiveXJava applet、巨集指令等程式碼,採用第三方憑證機構所核發的簽章憑證進行數位簽章(Code Singing),以確保程式碼的完整性,讓使用者能了解所下載安裝應用程式的來源,且確認未遭變更竄改,就像是軟體的印鑑證明一樣。

 

以往看到這種具有簽章憑證的程式,一般都信任是安全的正常軟體。然而,現在駭客也將軟體簽章技術應用在病毒上,可能竊取其他企業的程式碼簽章憑證,或由自己直接向憑證機構來申請憑證簽章,以騙過數位鑑識人員,讓用戶誤以為是安全的程式而予以安裝執行。

 

 

現今駭客也將軟體簽章技術應用在病毒上,可能竊取其他企業的程式碼簽章憑證,或由自己直接向憑證機構來申請憑證簽章,以騙過數位鑑識人員,讓用戶誤以為是安全的程式而予以安裝執行。

 

 

現今,運作在系統層級上的惡意程式愈來愈多,不同於以往運作在user mode的惡意程式較容易被發現並予以移除,這種像驅動程式運作在系統底層kernel modeRootkit,能指揮檔案總管把自己隱藏起來不被防毒軟體所發現,在這些案例中,防毒軟體從頭到尾都沒有發現Rootkit的存在,直到惡意程式透過客戶內部主機主動向外連絡時才被發現。

 

因為這些Rootkit的設計者都知道使用者會有什麼防毒軟體,所以會做出能規避防毒軟體偵測的病毒,不過要撰寫運作在系統核心的程式門檻較高,如果技術能力不夠很容易就造成系統異常或當機,讓好不容易植入的Rootkit功虧一籄,所以從能寫出不被防毒軟體發現且維持系統運作正常的惡意軟體來看,可見駭客技術層次極高。由這些案例發現,駭客技術精益求精,更上一層樓,更提高資安防護與數位鑑識的難度。

 

 

 

不對稱的戰爭  惡意軟體工具化

 

由於攻擊軟體工具化的普及,現在資訊安全的攻守雙方,彷彿在進行一場不對稱的戰爭,只要透過工具程式,不需具備任何程式撰寫的能力,就能在5分鐘內做出一個「客製化」的鍵盤側錄程式。

 

只要從網路上下載或購買惡意軟體的製作工具後,透過視窗畫面,先設定好什麼鍵不用記錄(例如:空白或刪除鍵),指定要將資料回傳的IP位址;再選擇像系統檔、隱藏檔、PDF等檔案的類型,甚至還有可設定消滅相關事證的滅跡指令,接著開始對攻擊程式進行加殼的動作。通常,這些工具軟體會提供多種加殼方式讓用戶可以混合使用,以躲避防毒軟體的偵測。

 

最後再設定檔案名稱,此時如果是.execom.scr類型的檔案,用戶多會有所警覺,所以駭客會再透過檔案名稱夾雜控制碼的方法,利用作業系統在碰到檔案名稱中有Unicode的特定控制字元時,會自動顛倒檔案名稱的顯示方式,以欺騙使用者在不知情的情況下安裝惡意軟體。例如可將一個.scr的惡意程式命名為:重要會議通知提醒[202E]cod.scr,因為內含有Unicode的特殊字元[202E],所以使用者所看到的檔案名稱會顯示成:重要會議通知提醒rcs.doc,讓人誤認為是一般的word文件檔而予以開啟,點擊執行該惡意程式。

 

至於網路銀行所使用的虛擬鍵盤,也能夠用視窗截取拍照的方式,側錄受害人所輸入的密碼,接著再將這些資料以mailhttp的方式,送到Google或論壇這類公司通常不會阻擋的網站上,就可將竊取得來的資料傳送出去。

 

惡意程式工具化能快速的產出惡意程式,並加以變形加殼來躲避偵測,有效的降低攻擊成本,但相對的,企業卻得付出極大的代價,構築層層防禦來阻檔各式的入侵威脅,而形成一種不對稱的戰爭。

 

 

全方位監控的重要

 

雖然這些不斷精進攻擊手法令人防不勝防,但根據我們多年來的實務攻防經驗,最後整理出一些惡意攻擊時所會發生的特徵,以做為相關人員防禦惡意攻擊的參考。首先是這些惡意程式被植入後,通常會跟遠端的中控台進行連線,然後入侵AD執行一些指令,看是否能攻擊成功。接著這些被植入惡意軟體的傀儡電腦一定會嘗試和相鄰的電腦連結溝通。所以建議大家要進行內網活動的監控,及早發現異常的網路連線,並通知資安廠商確認分析攻擊樣本,儘早完成特徵碼的製作更新,以避免其他人受到相同的威脅。

 

企業機關在面對這些先進精密的攻擊威脅時,像SOC這種全方位監控更為重要,因為透過資安監控中心不間斷的持續收集分析,才容易從各種相連的資訊中找出駭客攻擊行為的蛛絲馬跡並予以阻擋防範。

 

藉由內網活動的監控,可及早發現異常的網路連線,並通知資安廠商確認分析攻擊樣本,儘早完成特徵碼的製作更新,以避免其他人受到相同的威脅。