• 沒有找到結果。

前瞻性雲端安全儲存、偵測、行為分析與觀測---總計畫( II )

N/A
N/A
Protected

Academic year: 2021

Share "前瞻性雲端安全儲存、偵測、行為分析與觀測---總計畫( II )"

Copied!
142
0
0

加載中.... (立即查看全文)

全文

(1)

行政院國家科學委員會專題研究計畫 成果報告

前瞻性雲端安全儲存、偵測、行為分析與觀測--總計畫

(2/2)

研究成果報告(完整版)

計 畫 類 別 : 整合型 計 畫 編 號 : NSC 100-2218-E-009-003- 執 行 期 間 : 100 年 08 月 01 日至 101 年 07 月 31 日 執 行 單 位 : 國立交通大學資訊工程學系(所) 計 畫 主 持 人 : 曾文貴 共 同 主 持 人 : 謝續平、黃育綸、吳育松 計畫參與人員: 碩士級-專任助理人員:張智凱 碩士班研究生-兼任助理人員:賴托登 碩士班研究生-兼任助理人員:陶嘉仁 碩士班研究生-兼任助理人員:楊其仁 公 開 資 訊 : 本計畫可公開查詢

中 華 民 國 101 年 10 月 30 日

(2)

中 文 摘 要 : 在網路與行動裝置的催化下,雲端服務已是 IT 產業的重點技 術,因此雲端的安全問題就顯得格外重要。本計畫延續之前 與美國柏克萊大學研究團隊在虛擬機器資安跨國合作研究之 經驗與成果為基礎,提出創新的方法並建構前瞻性雲端安全 儲存、防護、行為分析與觀測平台。此平台包含四個子計 畫:曾文貴教授所主持的子計畫「支援多樣功能之雲端資料 安全儲存」、謝續平教授所主持的子計畫「基於機器碼之 Windows 惡意程式行為分析雲端平台」、黃育綸教授所主持 的子計畫「設計與實作基於雲端技術之安全實驗觀測網 路」、與吳育松教授所主持的子計畫「基於 Xen Hypervisor 之即時雲端環境入侵偵測與反制」。本平台不但能提供雲端 儲存的安全性、正確性及其他功能性,亦可透過即時入侵偵 測及反制系統確保整個雲端平台不會受到一般的網路攻擊, 並能利用雲端的運算能力動態分析經過變形、隱匿、加殼等 處理的複雜攻擊行為。本計劃更提供一個具有仿真性與即時 性的實驗觀測網路平台,不但可直接取得接近硬體層級的網 路流量資訊、模擬受到攻擊的網路狀態、更能讓需要改變的 網路拓樸即時生效。 本系統整體運作方式簡述如下:來自於 Internet 的連線將會 先經過即時雲端環境入侵偵測與反制子系統,由此子系統負 責針對已知的攻擊類型進行防阻,以提供一個安全的雲端平 台環境。而建構在此雲端平台之上的雲端資料安全儲存子系 統可保證儲存資料的正確性與私密性,並可提供加密後資料 的比對搜尋與再授權,並藉此提供各種應用功能。針對已儲 存在此雲端儲存系統中的各類型檔案,本系統亦提供惡意程 式行為分析子系統。有別於傳統的特徵式分析,此子系統著 重在惡意程式動態執行階段的行為模式分析,以找出可能惡 意行為之特徵,並回饋至第一線的即時雲端環境入侵偵測與 反制子系統。較為複雜的攻擊行為也可利用本計畫所開發的 實驗觀測網路平台進行實驗與觀測,不但有助於針對複雜行 為提供進一步的分析,其高度隔離的環境亦可確保具危險性 的實驗不會干擾到其他系統的正常運作。 綜合來看,本計畫建構一個包含多面向的雲端安全服務平 台,針對雲端資料安全儲存、即時雲端環境入侵偵測與反 制、惡意程式行為動態分析、仿真性網路實驗觀測平台等領 域提出理論與實務創新的構想與設計,且相關研究成果已與 多家知名廠商與政府機構簽訂技術合作與產學計畫,足見其 實用價值。 中文關鍵詞: 雲端計算、雲端儲存、入侵偵測、入侵預防、動態汙染分

(3)

析、惡意行為分析、雲端虛擬化技術、實驗觀測網路

英 文 摘 要 : With the growth of Internet and mobile devices, cloud service had become a key point of networking

technologies. The trend makes security issues more and more important. This project proposes an

integrated solution including four sub-projects to research and design a secure cloud platform. Prof. Wen-Guey Tzeng leads the sub-project to design a secure muti-functional cloud storage system. Prof. Shiuhpyng Shieh leads the sub-project to develop a dynamic analyzing cloud against complex malwares. Prof. Yu-Lun Huang leads the sub-project to develop an observation cloud for security experiments. Prof. Yu-Sung Wu leads the sub-project to integrate IDS/IPS into Xen Hypervisor. The integrated solution proposed by this project not only provides correctness,

privacy, and other security functions for cloud storage. Its IPS also provides a first line of defense against incoming attacks. Moreover, it has the ability to dynamically analyze complex malicious behaviors using the computing power of a private cloud and feed the signature of the attacks back to the IPS. Furthermore, the complex attacks can be securely experimented in the observation cloud. In conclusion, this project constructs a cloud platform with four main sub-systems: a set of

efficient solutions to the security problems in cloud storage systems, a malware analysis system based on cloud computing, an IDS/IPS-integrated Xen

Hypervisor, and an observation cloud for security experiments. New theories were proposed and the related systems were implemented. This project also directly contributed to various cooperative plans between the industry and the academic. The

cooperative plans also show that this project is valuable and feasible.

英文關鍵詞: cloud computing, cloud storage, intrusion detection, intrusion prevention, malware analysis, taint

(4)

I

行政院國家科學委員會補助專題研究計畫

■成果報告

□期中進度報告

前瞻性雲端安全儲存、防護、行為分析與觀測

計畫類別:□個別型計畫 ■整合型計畫

計畫編號:NSC 100-2218-E-009-003

執行期間: 100 年 08 月 01 日 至 101 年 07 月 31 日

執行機構及系所:國立交通大學資訊工程學系(所)

計畫主持人:曾文貴

共同主持人:謝續平、黃育綸、吳育松

成果報告類型(依經費核定清單規定繳交):□精簡報告 ■完整報告

本計畫除繳交成果報告外,另須繳交以下出國心得報告:

□赴國外出差或研習心得報告

□赴大陸地區出差或研習心得報告

□出席國際學術會議心得報告

□國際合作研究計畫國外研究報告

處理方式:除列管計畫及下列情形者外,得立即公開查詢

□涉及專利或其他智慧財產權,□一年□二年後可公開查詢

中 華 民 國 101 年 10 月 31 日

(5)

II

摘 要

在網路與行動裝置的催化下,雲端服務已是 IT 產業的重點技術,因此雲 端的安全問題就顯得格外重要。本計畫延續之前與美國柏克萊大學研究團隊在 虛擬機器資安跨國合作研究之經驗與成果為基礎,提出創新的方法並建構前瞻 性雲端安全儲存、防護、行為分析與觀測平台。此平台包含四個子計畫:曾文 貴教授所主持的子計畫「支援多樣功能之雲端資料安全儲存」、謝續平教授所 主持的子計畫「基於機器碼之 Windows 惡意程式行為分析雲端平台」、黃育綸 教授所主持的子計畫「設計與實作基於雲端技術之安全實驗觀測網路」、與吳 育松教授所主持的子計畫「基於 Xen Hypervisor 之即時雲端環境入侵偵測與反 制」。本平台不但能提供雲端儲存的安全性、正確性及其他功能性,亦可透過 即時入侵偵測及反制系統確保整個雲端平台不會受到一般的網路攻擊,並能利 用雲端的運算能力動態分析經過變形、隱匿、加殼等處理的複雜攻擊行為。本 計劃更提供一個具有仿真性與即時性的實驗觀測網路平台,不但可直接取得接 近硬體層級的網路流量資訊、模擬受到攻擊的網路狀態、更能讓需要改變的網 路拓樸即時生效。 本系統整體運作方式簡述如下:來自於 Internet 的連線將會先經過即時 雲端環境入侵偵測與反制子系統,由此子系統負責針對已知的攻擊類型進行防 阻,以提供一個安全的雲端平台環境。而建構在此雲端平台之上的雲端資料安 全儲存子系統可保證儲存資料的正確性與私密性,並可提供加密後資料的比對 搜尋與再授權,並藉此提供各種應用功能。針對已儲存在此雲端儲存系統中的 各類型檔案,本系統亦提供惡意程式行為分析子系統。有別於傳統的特徵式分 析,此子系統著重在惡意程式動態執行階段的行為模式分析,以找出可能惡意 行為之特徵,並回饋至第一線的即時雲端環境入侵偵測與反制子系統。較為複 雜的攻擊行為也可利用本計畫所開發的實驗觀測網路平台進行實驗與觀測,不 但有助於針對複雜行為提供進一步的分析,其高度隔離的環境亦可確保具危險 性的實驗不會干擾到其他系統的正常運作。 綜合來看,本計畫建構一個包含多面向的雲端安全服務平台,針對雲端 資料安全儲存、即時雲端環境入侵偵測與反制、惡意程式行為動態分析、仿真 性網路實驗觀測平台等領域提出理論與實務創新的構想與設計,且相關研究成 果已與多家知名廠商與政府機構簽訂技術合作與產學計畫,足見其實用價值。 關鍵詞:雲端計算、雲端儲存、入侵偵測、入侵預防、動態汙染分析、惡意行為分析、 雲端虛擬化技術、實驗觀測網路

(6)

III

Abstract

With the growth of Internet and mobile devices, cloud service had become a key point of networking technologies. The trend makes security issues more and more important. This project proposes an integrated solution including four sub-projects to research and design a secure cloud platform. Prof. Wen-Guey Tzeng leads the sub-project to design a secure muti-functional cloud storage system. Prof. Shiuhpyng Shieh leads the sub-project to develop a dynamic analyzing cloud against complex malwares. Prof. Yu-Lun Huang leads the sub-project to develop an observation cloud for security experiments. Prof. Yu-Sung Wu leads the sub-project to integrate IDS/IPS into Xen Hypervisor. The integrated solution proposed by this project not only provides correctness, privacy, and other security functions for cloud storage. Its IPS also provides a first line of defense against incoming attacks. Moreover, it has the ability to dynamically analyze complex malicious behaviors using the computing power of a private cloud and feed the signature of the attacks back to the IPS. Furthermore, the complex attacks can be securely experimented in the observation cloud.

In conclusion, this project constructs a cloud platform with four main sub-systems: a set of efficient solutions to the security problems in cloud storage systems, a malware analysis system based on cloud computing, an IDS/IPS-integrated Xen Hypervisor, and an observation cloud for security experiments. New theories were proposed and the related systems were implemented. This project also directly contributed to various cooperative plans between the industry and the academic. The cooperative plans also show that this project is valuable and feasible.

Keywords: cloud computing, cloud storage, intrusion detection, intrusion prevention,

(7)

IV

目 錄

壹、 計畫內容及目的 ... 1 一、 前言及背景說明 ... 1 二、 文獻探討與相關研究 ... 7 三、 計畫目的 ... 14 四、 研究方法 ... 18 貳、 計畫項目完成度 ... 35 參、 計畫成果 ... 40 一、 產學合作計畫 ... 40 二、 學術貢獻 ... 42 三、 系統建置 ... 45 肆、 技術方案優越性 ... 111 伍、 結論與展望 ... 118 陸、 參考文獻 ... 122

(8)

V

圖表目錄

圖表一:Amazon EC2 之架構 ... 10

圖表二:Windows Azure Platform 之架構 ... 11

圖表三:猶他大學的 EmuLab 平台 ... 12 圖表四:柏克萊大學的 DETER 平台 ... 12 圖表五:系統架構圖 ... 14 圖表六:透過 VMM 來達到偵測跟反制 ... 16 圖表七:子系統結構表 ... 18 圖表八:使用工具清單 ... 19 圖表九:Nutch 系統架構 ... 21 圖表十:工作優先權佇列於 REDIS 內的實作概況 ... 23 圖表十一:分析器設定檔內容 ... 24

圖表十二:Iaas Cloud 實驗平台(ICP)架構圖 ... 26

圖表十三:Intel EPT ... 27

圖表十四:虛擬磁碟之監控 ... 29

圖表十五:Network Traffic in a Xen-based IaaS Cloud ... 30

圖表十六:Virtual Network Interface in Xen ... 30

圖表十七:計畫成果一覽表 ... 40 圖表十八:產學合作計畫表 ... 41 圖表十九:Hadoop 執行狀態 ... 46 圖表二十:SNORT rule 轉換方法和過程 ... 46 圖表二十一:收集封包示意圖 ... 48 圖表二十二:封包加密上傳示意圖 ... 49 圖表二十三:收到候選者名單示意圖 ... 49 圖表二十四:關鍵字比對流程 ... 49 圖表二十五:關鍵字比對方法 ... 50 圖表二十六:Client-Server 執行流程 ... 51 圖表二十七:非集中式修復機制架構 ... 51 圖表二十八:非集中式修復機制 ... 52 圖表二十九:定理 ... 52 圖表三十:證明的方法 ... 53 圖表三十一:Hall’s Theorem ... 53 圖表三十二:角色表示圖 ... 54 圖表三十三:授權驗證流程圖 ... 75 圖表三十四:WINDOWS 惡意程式分析雲端平台實際佈建 ... 78 圖表三十五:網頁資料爬取子系統,可蒐集網頁上的資料進行分析 ... 79 圖表三十六:基於機器碼之 Windows 惡意程式行為分析雲端平台系統架構圖 ... 80 圖表三十七:基於機器碼之 Windows 惡意程式行為分析雲端平台工作流程 ... 81

(9)

VI 圖表三十八:虛擬碼列表 ... 82 圖表三十九:secmap.rb 之虛擬碼 ... 82 圖表四十:startNUTCH.sh 之虛擬碼 ... 84 圖表四十一:NUTCH 之原始碼物件以及 NUTCHSLAVE.rb ... 85 圖表四十二:putToRedis.rb 之虛擬碼 ... 86 圖表四十三:putToCassandra.RB 之虛擬碼 ... 87 圖表四十四:AnalyzerInvoker 之虛擬碼 ... 87 圖表四十五:invokeAnalysis.rb 之虛擬碼 ... 88 圖表四十六:getTaskID.rb 之虛擬碼 ... 89 圖表四十七:common.rb 之內容 ... 90 圖表四十八:getFileContent.rb 之虛擬碼 ... 90 圖表四十九:getReportFromCassandra.rb 之虛擬碼 ... 91 圖表五十:saveToCassandra.rb 之虛擬碼 ... 92 圖表五十一:每 50 分鐘分析個數直方圖。 ... 93 圖表五十二:時間-分析個數關係圖。 ... 94 圖表五十三:分析過程之紀錄檔案截圖 ... 95 圖表五十四:放分析工做至惡意程式分析雲端平台 ... 95 圖表五十五:網頁爬取子系統之紀錄截圖 ... 96 圖表五十六:實際的惡意樣本分析報告 ... 96 圖表五十七:攔截系統呼叫流程圖 ... 97 圖表五十八:linux/arch/x86/kernel/entry_64.S ... 97 圖表五十九:xen/arch/x86/mm/p2m.c ... 98 圖表六十:xen/arch/x86/hvm/vmx/vmx.c ... 98 圖表六十一:監控系統呼叫(NtOpenFile)執行結果 ... 99 圖表六十二:記憶體內容物件讀取流程圖 ... 100 圖表六十三:Guest VM 部分記憶體區塊內容 ... 101 圖表六十四:Guest VM 部分記憶體內容轉換結果 ... 101

圖表六十五:利用 Xen API 進行 EPT Entry 權限管理 ... 102

圖表六十六:未限制 Guest VM 存取 memroy block ... 102

圖表六十七:取得目標 process 資訊(name$pid$cr3) ... 103

圖表六十八:透過 guest pagetable 找到 process 所屬 gfn 資訊 ... 103

圖表六十九:限制 Guest VM 存取 memroy block ... 103

圖表七十:qemu 監控磁區流程圖 ... 104

圖表七十一:tools/ioemu-qemu-xen/vl.c ... 104

圖表七十二:tools/ioemu-qemu-xen/fs-ntfs.c ... 105

圖表七十三:tools/ioemu-qemu-xen/fs-ext2.c ... 105

圖表七十四 Xen Hypervisor 結合 Snort 架構圖 ... 106

圖表七十五:ClamAV 即時防護系統概念圖 ... 107

圖表七十六:ClamAV 即時防護系統架構圖 ... 107

(10)

VII 圖表七十八:Guest VM 使用者開啟病毒檔案 ... 109 圖表七十九:ClamAV 存取 Guest VM 病毒檔案畫面 ... 109 圖表八十:Online-Scan 掃描結果 ... 110 圖表八十一:Offline-Scan 掃描結果 ... 110 圖表八十二:單一關鍵字"content"之隱私評估 ... 111 圖表八十三:修復機制比較表 ... 112

圖表八十四:Computation cost of each algorithm ... 113

圖表八十五:Computation cost ... 113

圖表八十六:Computation cost 2 ... 113

(11)

1

壹 、 計 畫 內 容 及 目 的

一 、 前 言 及 背 景 說 明

在技術發展史上來看,分散式系統已經有初期的雲端概念,然而當時並沒有普及的網 路架構與隨身可上網的裝置作為基礎,現今完善的網路環境則啟動了雲端技術的蓬勃發 展。整個雲端的架構可以說是將早期的大型主機與終端機架構中主機到終端機的連線改為 網路媒介,另外將單一主機改為大型伺服器群組。雲端議題之所以倍受關注,它表彰的精 減成本精神是最切合企業需要的部份,更呼應了當前全球節能減碳的大趨勢。 雲端帶來了許多好處,技術瓶頸慢慢被突破,雲端服務已經開始充斥在一般民眾的日 常生活之中。但是當資料大量集中到雲端裡面的時候,就衍生了許多安全議題。有別於以 往個人電腦的安全問題,在雲端裡面若發生安全性的問題,後果可能是影響到所有在雲端 活動的使用者。因此,安全性要求是雲端系統必備的條件之一,而除了保障使用者儲存的 資料不會在未經許可下被窺視和竄改外,若系統能提供多樣性的功能(如錯誤修正、內容 分享、存取控制等)將使得雲端基礎建設功能性更加完備。 除此之外,由於現今的網路環境充斥著各種攻擊行為,傳統的做法是由各主機或服務 自行建構入侵偵測及防護系統,這樣的做法在雲端環境並不可行,其理由是雲端平台上的 服務與虛擬主機所建構的各式入侵偵測及防護系統不但功能上互相重複,且也會浪費大量 的資源並明顯的拖累整體的系統效能。相較之下,將入侵偵測與防護系統建構在底層的雲 端平台是一個較有效率的設計,由於底層的雲端架構已將網路中已知的一般攻擊隔絕,其 上層的各系統可以專注於提供各自的服務,不但可以省下大量的投資,亦可解決運算資源 被浪費在重複架設的入侵偵測防護系統之上。 不同於已知的一般攻擊,傳統透過特徵偵測或靜態分析的技術對垃圾郵件與數量更為 龐大且變化更為快速的病毒成效不彰,新型的攻擊手法亦使傳統病毒碼的偵測效益降低。

先進的惡意程式撰寫技術,加殼(Packing)、多型(Polymorphism)、變形(Metamorphism)、

核心等級匿蹤技術(Kernel Level Rootkit)等,會讓同一種行為的惡意程式有不同的病毒 特徵。故國內外學者在近年來皆朝著動態分析方式來萃取惡意程式的行為特徵,而不再是 靜態的二進位執行檔案之特徵。

目前分析技術可分成靜態分析(static analysis)與動態分析(dynamic analysis)兩大 類,靜態分析將能夠針對檔案的內容做檢測,希望能夠找出不應該存在於該檔案的內容, 或是能夠判斷該檔案是否有可疑的加殼或加密行為。而動態分析而是直接模擬運行時的狀 態,利用已知的動態堆疊資訊取得技術,來檢測該檔案是否在執行時期,有取得堆疊資訊 的能力。由於動態分析需要耗費大量的運算能力,故如何利用雲端的運算彈性來進行動態 分析亦為一個相當有價值得研究課題。 此外,雲端計算的基礎技術強調如何利用虛擬化及自動化技術,以實現運算資源最佳 化與資源共享等概念,例如利用虛擬機器 Xen 或 KVM,依使用者需求配置運算資源等。 然而,目前雲端計算所採用之基礎技術卻尚不足以支援即時性(real-time)與仿真性 (fidelity),也很難滿足某些特定應用或服務的需求,在網路測試服務上面更是無法提供所 需的種種特性。

(12)

2 綜合以上所述,雲端技術為目前資訊科技的重要趨勢,故如何提供一個安全的雲端環 境是目前最重要的研究課題之一。本計畫的研究主題可分為四個部分,分別為:支援多樣 功能之雲端資料安全儲存、全系統層次動態惡意程式行為分析雲端平台、基於 Xen Hypervisor 之即時雲端環境入侵偵測與反制、與基於雲端技術之安全實驗觀測網路。各主 題之背景說明如下:  支援多樣功能之雲端資料安全儲存 雲端運算以及行動資訊服務是近年來非常熱門的商業模式,同時也是未來的資訊服務 發展的趨勢。隨著網際網路的快速發展以及行動裝置的進步,現今已有許多相關的雲端運 算服務已出現在人們的日常生活當中,如 Gmail、Dropbox 和 Facebook 等。雲端運算是一 個根據使用者要求提供服務的模型,使用者運算和儲存的資料都可以不用放在本地端。這 樣的模型可以大幅降低使用者裝置所需的運算能力及儲存空間,使用者可透過高速的電信 與資訊網路系統並利用個人終端設備在任何時間任何地點取得資訊服務業者在雲端上所 提供的資源和服務。當資料大量集中到雲端裡面的時候,就衍生了許多安全議題。有別於 以往個人電腦的安全問題,在雲端裡面若發生安全性的問題,後果可能是影響到所有在雲 端活動的使用者。因此,安全性要求是雲端系統必備的條件之一,而除了保障使用者儲存 的資料不會在未經許可下被窺視和竄改外,若系統能提供多樣性的功能(如錯誤修正、內 容分享、存取控制等)將使得雲端基礎建設功能性更加完備。 此研究主題為支援多樣功能之雲端資料安全儲存。在考量使用者資料隱私性以及雲端 儲存資料安全性下,此部份的研究主要可分為以下三項: (1) 保護隱私的雲端入侵偵測 雲端運算改變了安全軟體服務的模式。對於網路上層出不窮的攻擊,傳統的安全 軟體都是執行在個人的電腦上,使用者可以在不用傳送任何資料到網路上的情形 下進行安全檢測以防範網路上各種不同的攻擊。而在防範攻擊的方法中,最有效 也最多人使用的方式就是入侵偵測系統(Intrusion Detection System)。近幾年來已有 一些公司開始提供雲端入侵偵測的服務給使用者使用。這些服務大都是將病毒碼 放在雲上,使用者只需先行掃描自己的系統,然後再掃描出來的資訊傳送至雲端 進行分析、比對並得知結果。這樣的方法可降低使用者個人行動運算裝置的運算 和儲存量,同時也省去了使用者需要時常自行更新病毒碼的麻煩。然而,現有的 雲端入侵偵測的服務都沒有考慮到使用者傳送到雲端的資訊可能會涉及使用者隱 私,這些資料除了可能會被雲端服務端濫用或遭到洩漏外,在傳送的過程中也有 可能會造成資料的外洩。 (2) 非集中式雲端儲存系統中系統修復機制 無論是早期的網路儲存系統或新興的雲端儲存系統,都要面對"提供不間斷的服務" 的挑戰。垂直層面上來看,軟體有可能出錯,網路有可能中斷,硬體也有可能會 無預警毀損。於是容錯技術被應用到網路儲存系統上,以因應各種層面的錯誤。 容錯技術可分為兩大類,一類是使用儲存多份複本資料來提供資料容錯能力,另 一類則是使用了容錯編碼技術。由於使用容錯編碼技術的儲存本益比較好,許多 先進的儲存系統都採取此技術。在使用容錯編碼技術的儲存系統中,資料先被容

(13)

3 錯編碼後分散儲存到系統中的各儲存伺服器中。然而容錯編碼技術只處理了維持 整個儲存系統的不間斷服務,並沒有全然修復系統的功能。 (3) 資料完整性授權驗證機制 在使用者儲存在雲端的資料相當大量的情況下,便需要一個有效率的方法進行資 料的完整性驗證來防止資料毀損等情況。最簡單的方法即是將資料從雲端下載回 來和原始資料進行比對,但是這樣做不僅會耗費掉大量的頻寬,使用者也需耗費 大量的空間來儲存原先的資料,如此一來,便失去了雲端儲存的優勢了,所以我 們需要一個更有效率的方法來進行雲端資料的完整性驗證。另一方面,使用者有 時候需要向他的親朋好友或是工作夥伴分享他的資料,被分享人也必須要能夠對 資料進行完整性驗證的動作,這些資料只流通於他們之間,資料完整性驗證的能 力也限定於他們之間擁有而已,這意味著使用者不僅僅是能夠授權驗證能力給他 的親朋好友及工作夥伴,還必須能夠註銷授權出去的驗證能力,以及防止被授權 人將驗證能力轉授權給他人,進而達到控制管理可授權的驗證能力。  基於機器碼之 Windows 惡意程式行為分析雲端平台 由於雲端計算能有效利用實體機器的運算資源,藉著聯集所有相連接的運算節點來增 加安全分析的產量。防毒軟體公司早在進行郵件過濾時便發現,以傳統的方式如透過特徵 偵測或靜態分析技術,對系統中的檔案或是網路上的封包進行掃瞄比對,對於已知的惡意 程式與攻擊偵測十分準確且快速,但因為垃圾郵件相較病毒的數量更為龐大、變化又快, 病毒碼擷取特徵的方式來處理垃圾郵件成效不彰,所以需要重新設計一套分析架構,去收 集大量的樣本並進行資料探勘以找出有用資訊,於是便想到利用雲端運算的架構來快速分 析大量的資料,其目的主要在解決病毒防疫空窗期與防毒軟體日益肥大的問題。 除此之外,新型的攻擊手法使傳統病毒碼的偵測效益降低。先進的惡意程式撰寫技 術,加殼(Packing)、多型(Polymorphism)、變形(Metamorphism)、核心等級匿蹤技術 (Kernel Level Rootkit)等,會讓同一種行為的惡意程式有不同的病毒特徵。故國內外學 者在近年來皆朝著動態分析方式來萃取惡意程式的行為特徵,而不再是靜態的二進位執行 檔案之特徵。我們將整合修改先前開發的惡意檔案檢測模組來進行一系列分析。惡意檔案 檢測系統要提供一個全面性的分析。目前分析技術可分成兩大類:一)靜態分析(static

analysis)、二)動態分析(dynamic analysis)。靜態分析將能夠針對檔案的內容做檢測,希

望能夠找出不應該存在於檔案內容,或是能夠判斷該檔案是否有可疑的加殼加密行為。此 部分主要以特徵比對(signature-based)來做判斷。此外,動態分析而是直接模擬運行時的 狀態,若該檔案為可執行檔時,我們將利用已知的動態堆疊資訊取得技術,來檢測該檔案 是否在執行時期,有取得堆疊資訊的能力。由於動態分析能夠彌補靜態分析不具有執行狀 況的資訊之缺點,所以本子系統將結合兩大分析技術,已達到較完整的檔案檢測分析。 本子系統架設在一個不對外公開的區域網路之內,屬於一種「內部雲 (private cloud)」 的雲端應用。不同於國內大部分雲端系統,業者或是系統管理員只能夠提供 Hadoop 運算 的帳號,其「公開雲 (public cloud)」的系統架構並不適用於惡意樣本分析平台,原因有下 列敘述。第一點,動態程式分析不能夠利用 MapReduce 來平行化其動態分析的流程,因為 程式被執行的控制流程是相互關係的,在不同的系統狀態,即使給予相同的指令也會有不 同的結果產生,所以不能把動態程式分析分散處理。第二點,提供虛擬環境來讓租用者分

(14)

4 析惡意程式,可能會造成誤判。近年來已經有出現偵測虛擬環境的惡意樣本,如果在分析 環境都只有在虛擬環境之中,則該樣本將永遠不會執行其惡意程式碼。最後,公開雲端的 架構往往需要複雜的使用者權限管理,而因為資料分享共用的原因,個人與系統的安全性 也會面臨考驗。如果此系統架構太過於公開,很有可能被有心人士入侵,修改其分析結果。 綜合以上三點,本系統要提出一個利用雲端運算所帶來的高產量、可擴充性和高儲存能 力,來實作一個樣本分析平台。 雲端分析平台並不需要有繁雜的使用者管理,它可以被視為一個惡意程式分析的叢集 式電腦。主要的架構包含分散式資料庫、檔案輸入介面和惡意樣本分析程式。而蒐集到的 樣本資料可以利用 Hadoop 做資料統計或是更深入的特徵碼分析。分散式的資料庫目前以 Facebook 團隊開發的 Cassandra 作為基礎,其讀寫速度與資料庫的大小只有常數關係,並 不會因為資料庫太大而造成寫入速度變慢。而檔案輸入介面,可包含網路爬蟲以及使用者 上傳兩大部分。網路爬蟲則是利用 Nutch (利用 Hadoop 實做的搜尋引擎建立系統) 來蒐集 散播在網路上的資料,當作本系統的輸入。除此之外,還可以接收使用者上傳的檔案,提 供雲端檔案安全性檢驗的服務。惡意樣本分析程式將會整合先前所開發的動態程式分析工 具,其分析項目有包含靜態可執行檔分析、檔案文件安全性分析和利用虛擬機器觀測程式 行為。惡意程式樣本分析可以持續的開發,有彈性的掛載在本子系統上,以檢驗雲端的檔 案或是使用者欲檢測的檔案之安全性。  基於 Xen Hypervisor 之即時雲端環境入侵偵測與反制 雲端運算旨在透過網際網路來達到整合與遞送 IT 服務的功能。傳統上來說,各機關 企業需要建立並維持自己的 IT 機房,或是使用所謂的主機代管服務。不管是哪一種作法, 皆一定程度上會在硬體、網路、軟體及維護人力上重複投資。理想設計的情況下,IT 系統 必須能夠承受尖峰時段的服務量,但這在離峰時段所閒置的硬體與人力卻會造成一定的浪 費。對於中小企業而言,要營運一個 IT 中心事實上是非常沈重的負擔。而這也是為何往往 很多中小企業的 IT 系統很難在功能性、穩定性與安全性上面面俱到的原因。 雲端運算希望將這些原本四散的 IT 資源整合在一起,成為一朵雲。當一個企業或機 關需要使用 IT 的時候,可以透過網路來存取這朵雲所提供的 IT 服務。也因此,各個機關 企業不再需要自己去建置機房,架設伺服器軟硬體、佈建昂貴的高速網路。透過雲端整合 IT 亦可以減少不必要的重複投資(比如說不同企業間的系統可以共享一個磁碟儲存陣列、 共享 CPU 的運算時間),達到更高的資源利用率。另一方面,假設這朵雲夠大,那麼提供 雲服務的公司也就具有一定的經濟規模。他們也因此有足夠的資金可以投入系統性能優 化、系統可靠性與安全性的提升,而不僅只是勉強符合基本的系統功能性需求而已。而這 也是雲端運算相對於傳統 IT 架構的另一項優點。以目前而言,雲端運算服務可分為三個階 層。最上層的是所謂的軟體服務雲 software as a service (SaaS)。第二種型態的雲是所謂的平 台服務雲 platform as a service (PaaS)。第三種型態的雲是所謂的基礎建設服務雲

infrastructure as a service (IaaS)。

雲端毫無疑問是目前一個炙手可熱的話題。當然許多人心中一定會有的一個疑惑是如 果台灣也要切入雲端,要如何著手? 綜觀目前市場上的成功者,我們可以發覺他們一個 共同的特點就是背後皆有強大的 infrastructure 在支撐。Google、Amazon、Salesforce 等在 世界各地均佈有規模龐大的機房。也因此台灣若想在雲端上有所斬獲,或又純粹只是不想

(15)

5

受制於人(如直接使用 Amazon 或微軟所提供的雲),那我們勢必得發展出自己的

infrastructure。有鑑於台灣本身資源有限,顯然我們不可能指望有心從事雲端發展的企業皆 各自去建設自己的 infrastructure(如 Google 有自己龐大的 infrastructure 在支撐自己其 search engine、Gmail、YouTube 等 SaaS)。也因此,發展 IaaS Cloud 以提供國內企業一個 infrastructure 應是我們的首要目標。

台灣的硬體能力舉世聞名。對於建置 IaaS 雲所需要的硬體我們有絕對的能力可以掌 握,而這也可視為我們發展 IaaS 雲的優勢之一。再者以國家安全的角度而言,掌握自身 IT Infrastructure 亦是一個沒有討價還價空間餘地的議題。而這也是為何即便 Amazon EC2 已 很成熟,微軟也在推他們的 Azure Cloud Platform,我們卻仍必需要投入力量在 IaaS Cloud 上面的研究與發展。

 計與實作基於雲端技術之安全實驗觀測網路

「雲端運算」又可細分為「雲端服務」與「雲端技術」。前者著重於透過網路連線取

的遠端主機所提供的服務,如 Amazon EC2 是 SaaS 概念的實現。「雲端技術」則強調如 何利用虛擬化及自動化技術來實現運算資源最佳化與資源共享等概念,例如利用虛擬機器 Xen 依使用者需求配置運算資源(運算核心與記憶體)。然而,目前的雲端技術卻尚不足 以支援即時性(real-time)與仿真性(fediality),也很難滿足這些即時應用與仿真應用的需 求。 以網路測試平台為例,研究人員或網路應用開發人員常需建置實驗網路,用此測試其 新開發之產品或新提出技術的可行性與穩定度等。為了要提供高擴充性、可重置實驗、高 仿真度的環境,在過去幾年,國內外知名大學紛紛投入研究分散式的網路架構與測試平 台,包括 Emulab、ORBIT、APE (Ad Hoc Protocol Evaluation)、Roofnet、MiNT(Miniaturized Wireless Network Testbeds)、WHYNET(Wireless HYbrid NETwork)、Netbed、

TESTBED@TWISC 等等。這些網路測試平台有些更延伸支援網路安全測試或無線網路測 試,如 DETER、SWOON 等。 不論是哪一種測試平台,其設計宗旨與雲端運算不謀而合,都是期望將實驗所需的運 算能力放置在遠端主機上,本機端僅透過瀏覽器或簡單的操控介面,即可配置、操控實驗, 並讀取實驗結果。然而,以目前的雲端技術而言,雖然能夠隱藏平台硬體、作業系統的異 質性,也能夠隔絕各運算叢集之間的干擾,但是,運算叢集的安全性、仿真性等卻不在考 慮之內。 參考國內外目前雲端技術與網路測試平台之設計,本計劃設計了一套應用雲端技術之 安全實驗觀測網路,使用者能在此雲端安全實驗觀測網路中,配置其所需之測試拓樸,並 進行其實驗。以下稱所有配置之節點為「運算叢集」。除了應用現有雲端運算之虛擬化與 自動化技術外,同時兼顧網路實驗與觀測時的必備條件,包括隔離性、仿真度、重複性、 擴增性、資源共享、擴充性等。  隔離性(Isolation): 預防運算叢集之外的封包有意或無意地對其內之測試節點造成影響;同時,也必 須避免運算叢集中實驗用之惡意程式碼或病毒流出至雲端其他主機或外部公用 網路。此外,亦必須考慮不同實驗之間的干擾問題,包括動態執行期間的記憶體 資料干擾或執行結束後殘留記憶體之資料遭到側錄等問題。

(16)

6  仿真度(fiedality): 與一般模擬測試不同,除了網路狀況之外,網路測試平台應能仿真(emulate)真 實封包傳送接收情況,包括硬體瓶頸(CPU 使用率、緩衝區大小、網路卡速度 等)。  重複性(Repeatability): 建置網路測試平台的其中一個重要挑戰即為重現之前的實驗,包括當時的硬體配 置、網路規模、拓樸、頻寬、狀況等等。  擴增性(Scalability): 在真實網路系統中,網路規模將隨著使用量與使用者需求逐漸增大。為了能有效 地仿真實際的網路系統,好的測試平台也應該支援規模的縮放,以期正確地取得 測試效能或正確性。  擴充性(Extensibility): 除了傳統的乙太網路之外,各種無線網路技術也逐漸興起,並普及於大眾。為了 能提供使用者全方位的測試環境,測試平台應能支援各種不同網路技術的擴增, 如 WiFi、WiMAX、無線感測網路等等。 參考上述各設計需求,本計劃所設計之雲端安全實驗觀測網路應具備下列特性:  解決實驗互相干擾問題。  解決系統安全問題,包括惡意程式碼外流或被駭客攻擊。  能仿真真實網路,包括其硬體、作業系統與網路配置。  能重複與重現各測試實驗。  雲端安全實驗觀測網路能支援未來的規模擴充,如增加實驗節點等。  支援更多新興網路技術(WiMAX、3.5G)之擴充。

(17)

7

二 、 文 獻 探 討 與 相 關 研 究

本計畫包含四大研究主題,茲將各主題之相關文獻探討與目前研究狀況說明如下:  支援多樣功能之雲端資料安全儲存 一般入侵偵測系統通常會使用「關鍵字比對」的技巧來分析和檢查系統資訊是否遭受 到惡意的攻擊,然而這些方法都是直接使用原始資料(明文)進行比對。所以,當我們將這 些入侵偵測系統移到雲端上來執行運作時,便有可能會造成使用者的隱私資料洩漏的問 題。Song, Wanger, Perrig [14] 提出了一個用來解決關鍵字搜尋加密資料的方法。使用者將 資料加密儲存在不可完全信任的遠端伺服器上,接者使用者可以透過關鍵字找回其對應的 資料。 在針對容錯編碼分散式儲存系統設計的修復機制中,Dimakis 的研究是以修復單一錯 誤為目標[17]。當系統中有一個儲存伺服器發生錯誤的時候,系統會新增一個儲存伺服器, 新的伺服器會向其他伺服器索取資料,當正常運作的伺服器收到要求後,會針對自己儲存 的資料進行處理之後再回傳給新伺服器,在新伺服器收到足夠多的資料時,便進行運算, 最後將運算結果儲存起來。一個修復機制必須使得新的伺服器在功能上取代發生錯誤的伺 服器。當時學者們提出在衡量修復機制的效率時,以每個儲存伺服器的儲存量與修復一個 錯誤時所耗費的網路傳輸量來評估,爾後,有學者研究定義出兩個評量值之間的權衡關係 (tradeoff),並將其定義為一個曲線。一個修復機制的兩個衡量值若落在該曲線上,則被稱 為 Regenerating code[18][19]。在修復機制中,若新增的儲存伺服器完全還原了發生錯誤的 伺服器中儲存的資料,此類的修復方法稱為 exact repair,與之相對的方法則被稱為

functional repair。Rashmi 等學者提出 exact repair 的修復機制並且證明其效率衡量值落在 regenerating code 的曲線上[20]。Shah 等人則考慮網路狀況為不對稱的系統模型進行研究 [21]。其他學者紛紛考慮不同的系統模型演化出不同修復機制[22][23][24]。若系統只能修 復單一錯誤,那麼只要有錯誤發生,系統就要馬上進行修復,這對系統造成了過大的負擔。 Hu 等人提出針對兩個以上錯誤進行的修復機制[25],讓系統可以一次修復多個錯誤。當系 統中出現 a 個錯誤時,就新增 a 個儲存伺服器,並讓 a 個伺服器詢問所有的伺服器取得既 有的資料,再對得到的資料進行運算後儲存下來。Oggier 與 Datta 則提出了一個高效率可 以修復多個錯誤的機制[26],但是能夠應用的儲存系統必須是集中式的結構,也就是要有 一個中央控制單位。在儲存系統發生錯誤的相關議題中,Dikaliotis 等學者考慮偵測資料錯 誤(faulty error)的存在[27]。Rashmi 等人則提出可以結合兩個容錯編碼來提供更好的修復功 能[28]。Pawar 等人討論當修復機制在執行的時候,網路上的竊聽者是否會破壞資料隱私性 的問題[29]。Papailiopoulos 與 Dimakis 則證明了在最大化資料隱私性與最小化修復網路頻 寬問題中間的對等關係[30]。無論是修復單一錯誤或者多個錯誤,我們發現到的是在效率 評估的既有方法上,沒有考慮到兩個伺服器之間建立連線的成本,在網路傳輸資料總量相 同時,若需要的連線數量較多,則建立連線的成本就會對傳輸成本造成影響。令系統中伺 服器的總量為 n,既有的方法中,每修復一個錯誤都需要 n-1 個連線,我們認為這個成本 有很大的改進空間。另一方面,我們特別針對非集中式容錯編碼儲存系統進行研究。此種 儲存系統首先由 Dimakis 等學者提出,我們將資料隱私安全性加入儲存系統中,並在早期 的研究中提出了具有安全性的非集中式容錯編碼儲存系統[32][33]。有別於一般的容錯編碼

(18)

8

儲存系統,非集中式的容錯編碼使得儲存系統不需要常設一個中央管理單位來維護系統全 域參數,個別的儲存伺服器可以獨立進行編碼運算,無須彼此溝通,此結構很適合非集中 式的環境,譬如點對點(P2P)環境或者是無線感測網路。

在雲端資料的完整性驗證的研究中,Ateniese 等人定義了 provable data possession (PDP)模型。他們提出了一套非對稱性密鑰的 PDP 方法,使用 homomorphic verifiable tag 來驗證使用者資料。根據 homomorphic verifiable 的特性,雲端儲存伺服器可以將使用者資 料的 tag 線性組合起來,組合成單一個 tag 並回傳給使用者,以達到有效率的資料完整性驗 證。後來,Ateniese 等人提出了一個對稱性密鑰的 PDP 方法,支持儲存資料的動態操作, 像是插入刪除替換等。他們的方法具有可擴展性和高效率,然而,資料完整性驗證的次數 卻是有限制的,取決於資料前處理時所插入的 token 數。Erway 等人提出的 dynamic provable data possession(DPDP)使用 rank-based skip list 來驗證資料完整性,skip list 是一種類似於 Merkle hash tree 的驗證用資料結構,DPDP 支援使用者資料上的動態操作。Juels 和 Kaliski 提出了 proof of retrievability(POR)模型。POR 確保儲存的資料可以被使用者正確地存取 到,而 PDP 確保資料完好地儲存在雲端儲存伺服器中。Juels 和 Kaliski 的方法同樣需受限 於資料前處理時插入的 token 數。後來,Shacham 和 Waters 提出了一個支援無限制檢驗次 數的 POR 方法。Bowers 等人提出了一個理論框架去設計 POR 方法,該框架採用兩層的錯 誤糾正碼(error correcting code)從雲端伺服器的回應中回復使用者的資料,他們的框架改 善以往 POR 的研究成果。Wang 等人提出了支援資料動態操作和可公開驗證的 POR 方法, 他們的方法同樣使用了 Merkle hash tree 資料結構以支援使用者資料的動態操作。為了同時 實現高可用性和資料完整性檢查,使用者資料通常會有多個副本或是套用一些錯誤糾正的 編碼方法。Curtmola 等人提出了 MR-PDP,確保每個獨特的副本都存在於儲存伺服器中。 Curtmola 等人又提出了一個強大的資料完整性檢查方法,使用前向錯誤糾正碼(forward

error correcting code)。後來,Bowers 等人提出了 HAIL,HAIL 提供了高可用性和資料完整

性,HAIL 使用了多層的錯誤更正碼(error correcting code),可確保資料在分散式的儲存 環境下,仍有一定的可用性。  基於機器碼之 Windows 惡意程式行為分析雲端平台 惡意樣本的蒐集已是資安相關領域中相當重要的問題,許多樣本蒐集平台也紛紛被開 發出來[52][53][55][56]。以往的樣本蒐集大多採取 Honeypot 的方式來誘捕攻擊者,分析其 一連串的入侵手法以及殘留在電腦系統中的惡意檔案。但利用 Honeypot 蒐集的效率並不 高,故有學者紛紛提出增加被攻擊的機率以提高樣本蒐集的速率[54]。由於雲端技術的誕 生,使用者可以靠著自行架設的機器來擷取網路的檔案,並且可以多台同時合作和達到橫 向擴展(Horizontal expandable)來達到運算的可擴充性。利用 MapReduce 的雲端計算架構來 平行化擷取網路檔案,可以讓使用者在最短的時間內建置自己檔案樣本來源。 近年來,惡意程式樣本分析也因虛擬機器的發展,而有了更多分析的可能性。透過虛 擬機器所提供的隔離性與對系統的完全控制,可以讓分析人員深入的了解其資料流向以及 對系統的影響。這些利用虛擬機器分析的系統[61][62][63][65],因為需要龐大的運算能力 來模擬整個系統的運行,所以無法大量的被應用在現實生活中。尤其是在樣本儲存的架構 中,傳統的 SQL-like 的資料庫已被證實其存取速度會因項目數量增加而減少。在分散式儲 存系統中的 Cassandra 利用 DHT 的方式來儲存資料,除了存取時間不與資料量的大小成正

(19)

9 比,還可以輕易的擴充儲存節點,非常適合用來儲存惡意樣本。儲存在資料庫中的惡意樣 本除了可以供研究使用,也可以利用分群的技術來實作未知樣本的惡意行為偵測 [57][58][59][60]。 結合分析以及樣本蒐集的惡意樣本分析平台,並非本系統的獨特創新[64][66][69]。這 也驗證了此系統的可行性之高,並且可以實際的運用在病毒分析與偵測的領域。本系統的 創新在於如何簡易的掛載不同種類的分析工具,甚至往後可以推廣到其他相關研究或是提 供樣本給學術界研究分析。我們評估了不同種的工具系統,並且修改和整合其原始碼至此 子系統。除了整合現有的工具,還實作一些機器管理機制以及節點間通訊協定,讓此系統 更加有彈性。在實作部分,我們利用高階語言來物件化功能、提高可讀性和簡易化偵錯以 縮短開發時程,預計能在計畫期間內前完成。  基於 Xen Hypervisor 之即時雲端環境入侵偵測與反制

IaaS 雲目前市場的領導者是 Amazon。Amazon 的 EC2 (Elastic Compute Cloud) 提供客 戶透過網際網路配置虛擬機器[70]。

例如三家公司 A、B、C 分別在 EC2 上配置虛擬機器,底層是由四台實體機器所構成。 每台實體機器上有安裝 Xen Hypervisor[71] 來提供虛擬化的服務。用戶可以在所配置到的 虛擬機器上安裝各自所需的作業系統 (如 Linux、 OpenSolaris、Windows Server 等) 以及

所需的應用服務程式(比如說資料庫系統、網站伺服器等)。用戶更可以自己去設定這些 虛擬機器間的網路,以及配置各台機器所對應的實體 IP 位置等網路設定[72]。對於用戶來 說,透過 Amazon EC2 所建立的虛擬機房所需的成本一般來說會比搭建實體機房來得更為 便宜。另一方面,底層系統的可靠度以及安全性的部分亦可交給 Amazon 來負責處理。 IaaS 雲最關鍵的技術之一是機器以及網路的虛擬化。透過虛擬化,我們可以在一台實 體機器上執行多個作業系統,也因此可以達到更高的底層硬體資源的利用率。另一方面虛 擬化也讓系統佈建變得更為快速。虛擬化一般分為兩種類行。其一是直接在實體的機器上 面裝一個 Hypervisor,然後可於上面配置多個虛擬機器,每個虛擬機器上面安裝各自的作 業系統(Guest Operating System)。這稱為 Type-1 的虛擬化。如 VMWare ESX、Citrix Xen [74]、Microsoft Hyper-V[73]均屬於此類。另一種型態的虛擬化是在一台已經裝好作業系統 (Host OS)的機器上裝上一個 Hypervisor,然後再於 Hypervisor 內運行虛擬機器。Hypervisor 必須要透過 Host OS 的系統 API 才能跟底層硬體溝通。Type-2 Hypervisor 本身受到 Host OS 所加諸的一些限制,也因此在執行需要特殊權限的程式碼的時候,需要輔以 emulation 或 binary rewriting 等技巧來處理。Type-2 Hypervisor 包括了如 VMWare Fusion、VMWare Workstation、Microsoft Virtual PC、Oracle VirtualBox 、HXEN (Hosted Xen)等。對於 IaaS Cloud 來說,使用 Type-1 Virtualization 是一個比較常見的作法。主要原因不外乎因為系統 的主要目的就是提供虛擬化環境,也因此底層先放個 host OS 也就顯得多此一舉,更遑論 這對虛擬機器的執行性能會有所減損。  基於雲端技術之網路安全實驗觀測平台 本系統將結合網路測試平台與雲端運算的虛擬化技術,意圖在單一台實驗主機上建立 多台虛擬機器,並利用這些虛擬機器作為網路實驗中的實驗節點。因此,在本節中,我們 將具體呈現現有雲端平台與網路測試平台的研究狀況。

(20)

10  雲端運算

本節將介紹目前較為知名的雲端服務與平台,包括 Amazon EC2 與微軟的 Windows Azure 平台。

 Amazon EC2

Amazon Elastic Compute Cloud (Amazon EC2)是一種網頁服務,可以提供可變大小 的計算能力。專門針對開發人員而設計,使其能輕易地調整網站計算規模。為了 達到公平計費的目的,EC2 使用 Xen 虛擬化技術,依據所配置的處理器運算能 力與記憶體大小,將其運算節點分為八大類,包括 m1.small、m1.large、m1.xlarge、 m2.xlarge、m2.2xlarge、m2.4xlarge、c1.medium 以及 c2.xlarge。m1 類均配置一 般記憶體,依照所配置的記憶體大小分為 small、large 與 xlarge。m2 類為高速記 憶體,c2 類節點則配有高速運算能力之處理器。每種節點上均可選用不同的作業 系統(Linux/UNIX、Windows),並可依據資料庫需求,增配 SQL 伺服器。此外, EC2 服務也能依據使用者對 IP 位址、負載平衡以及資料傳輸量的需求,適度地 提供不同的配置,並依使用情況收取不同的費用。當使用或要求的資源少時,收 費也會跟著減少。 簡單來說,Amazon EC2 簡單的網頁服務介面可以讓使用者在最少衝突的情況下, 取得與配置所需的計算能力。同時,EC2 也允許其使用者可以全面控制這些計算 資源,並於 Amazon 所認可的計算環境中執行應用程式。EC2 可以將取得新伺服 器與開機的時間縮減至數分鐘,讓使用者可以隨著計算需求改變時,快速隨狀況 調整運算能力。此外,EC2 也提供開發人員一些工具,開發各種可以由錯誤中回 復的應用程式,並使這些應用程式可以免於遇到常見的錯誤情況。 圖表一:Amazon EC2 之架構  Microsoft Azure Platform

(21)

11 一直以來,微軟都是以本機端的視窗軟體為其根基。然而,這卻與雲端運算的宗 旨(不需安裝額外的本機端軟體,所有資源都在雲端,本機端只需能連上雲端的 設備與瀏覽程式即可)相違背。為了因應雲端的流行趨勢,不落人後的微軟也開 始推出免費的雲端服務,搭配其本機端軟體,可以讓使用者在熟悉的環境中,享 受這些免費的雲端服務。

Windows Azure Platform 是微軟新推出的雲端服務平台(含有 Windows Azure 作業 系統、.NET 服務與 SQL 資料庫),可提供開發人員一套更有彈性的視窗環境, 使其能快速地開發雲端應用與服務。Windows Azure 是一套雲端服務的作業系 統,除了開發之外,也能提供管理服務的機制與環境,開發人員可以透過 Azure 平 台提供使用者所需要的計算與儲存能力,甚至能透過網路管理其網站應用。由於 Windows Azure 整合了 Visual Studio,也支援多種標準與協定,如 SOAP、XML、 PHP 等,因此,能使開發人員過去的開發經驗繼續傳承與延伸。

圖表二:Windows Azure Platform 之架構

 網路測試平台 在網路測試平台方面,本節主要介紹目前較為知名的幾個國內外測試平台,包括 Emulab、DETER、TESTBED@TWISC 等。  Emulab Emulab 是猶他大學所研發設計之網路測試平台,利用分散式系統與網路建置出一 套研究用的仿真平台。在此平台中,使用者可以利用 NS 語法,將平台內的各實 驗節點任意連接成一個網路拓樸。平台可以支援多組實驗同時進行,每個實驗網 路均以 VLAN 隔開。 不管實際接線情況為何,配置在同一個 VLAN 下的網路

(22)

12 拓樸彼此之間可以互相通訊,就好似連接在同一個區網之內。此隔絕性可以保證 各實驗之間彼此不會互相干擾。在 Emulab 中,使用者建置新實驗的步驟包括: 1) 配置實驗節點;2) 配置 VLAN,以建構所需的拓樸;3) 將映像檔載入所指定的 實驗節點中。然後,使用者就可以開始進行其測試實驗。 圖表三:猶他大學的 EmuLab 平台  DETER 以 Emulab 為基礎,DETER 測試平台更進一步地提供安全保護機制,避免測試平 台本身遭到外部攻擊,同時也保證測試平台內部的實驗資料(尤其是含有惡意程 式碼的實驗)不會流入外部公用網路。此平台的特色在於提供「安全」的測試環 境。其設計已經整合於目前的 Emulab 中,並有眾多使用者以此平台作為測試其 新方法的依據。 圖表四:柏克萊大學的 DETER 平台  TESTBED@TWISC Testbed@TWISC 由國內成功大學所建置之網路測試平台。此平台以猶他大學所授 權的 Emulab 為基礎,具備網路測試所需的隔離性、仿真度等特性。由於國內外 硬體規格差異,成功大學研發團隊在取得 Emulab 授權之後,便積極尋找可替代 之國產硬體(包括實體實驗節點、電源控制器、交換器等設備),並自行研發相關 軟、韌體,利用簡單的網頁操作介面,以因應國內資訊安全研究與實驗之測試所

(23)

13

需。此測試平台中的實驗節點皆為實體機器,如前所述,使用者進行實驗之前,

必須先配置得實驗節點。爾後,使用者便可以任意控制整個實驗節點(實體機器),

(24)

14

三 、 計 畫 目 的

本技術為一安全雲端平台建構方案,涵蓋系統安全、儲存安全、網路安全、與安全測 試等面向,具體可分為以下四個子系統:  多功能容錯分散式儲存系統  全系統層次的惡意程式行為分析  即時雲端環境入侵偵測與反制  基於雲端技術之網路安全實驗觀測平台 所有來自於 Internet 的行為大致上可分為正常存取行為、一般攻擊行為與複雜攻擊 行為三種,這三類行為都會先經過即時雲端環境入侵偵測與反制系統的檢查。其中,屬於 一般攻擊的類型都會在這一個階段被擋下,而正常的存取行為會被導向到容錯分散式儲存 系統。疑似為複雜攻擊的程式,可輸入至全系統層次行為分析系統,進行惡意程式行為分 析。此外,可疑的惡意網路封包亦可利用安全實驗觀測平台進行隔離實驗與觀測。本系統 之架構如下圖: 圖表五:系統架構圖 茲將各子計畫之具體研究目的分述如下:  支援多樣功能之雲端資料安全儲存 本計畫的目的為在考量使用者資料隱私性以及雲端儲存資料安全性下,發展支援多樣 功能之雲端資料安全儲存機制。此部份的研究目的可分為以下三項:  保護隱私的雲端入侵偵測

(25)

15 此項目的目的是希望提供一個模式來保護使用者上傳資訊的隱私且依然能夠將這 些保護過的資訊交給雲端來處理。我們將這個方法應用在入侵偵測系統中。藉此方法 達到保護上傳的資訊的隱私且又能夠提供入侵偵測的能力。  非集中式雲端儲存系統中系統修復機制 此項目的目的是為 (n,k) 分散式容錯編碼分散式儲存系統提供具有更好效率的修 復機制,且該機制能一次修復多個錯誤。  資料完整性授權驗證機制 此項目的目的是希望能提出一個可授權驗證的資料完整性檢查方法,進行驗證時 不需下載完整的使用者資料,使用者也可以將驗證能力授權給信賴的代理人,進行授 權的資料完整性驗證。另一方面,使用者還可以防止被授權人轉授權驗證能力給他人, 或是註銷已經授權的驗證能力,達到控制管理可授權的驗證能力。  基於機器碼之 Windows 惡意程式行為分析雲端平台 本研究執行之目的有二:(一)提供雲端服務平台檔案之安全分析(二)開發與設計 雲端架構分析平台以提高安全分析產能。以下對此兩大目的加以說明:  提供雲端服務平台檔案之安全分析 由於雲端計算在應用上提供平台服務(PaaS),不管是客戶或是終端使用者皆有可 能放置檔案到此平台,並藉由此平台進行傳遞、交換、散播等動作,這些方式與傳統 網際網路上檔案交換並無太大不同,造成雲端平台上也有傳統網路攻擊的疑慮。對於 雲端提供商與雲端平台客戶來說,若是在雲端上發生類似傳統網路的蠕蟲攻擊,營運 上的損失與對商譽的傷害將是無法想像的巨大。因此,放置在雲端平台上的檔案安全 與否變得格外重要。而如背景所述,傳統靜態分析對於雲端平台上千變萬化的檔案已 經不夠及時,必須等待特徵碼產生後才能提供為判斷的依據。 因此本研究計畫之首要目標為,開發與整合多項檔案安全分析技術,並將其融合 至雲端分析平台以顧及多面向的雲端檔案。首先,分析雲端平台上的目標檔案是否內 藏加殼程式來躲避分析。若目標檔案為可執行檔,則進一步利用全系統層次的動態汙 染行為分析技術來詳細分析該執行檔是否可能對使用者系統造成危害。有了以上的安 全分析,可保護雲端服務平台,降低使用者上傳的未知檔案傷害風險。  開發與設計雲端架構分析平台以提高安全分析產能 檔案分析的方式眾多,越來越多不同面向的分析工具大量的產出。但因為分析的 方法不同,而有互補的作用。靜態分析與動態分析各有其優缺點,靜態分析雖然運算 負擔較動態分析小,但卻無法得知執行時期的資訊,所以在分析應用上較適合特徵式 偵測。另一方面,動態分析除了負擔較大的運算開銷以外,分析範圍需要大量的運算 時間搭配,故並沒有一種方法是完美的。如果能夠簡易的整合市面上各種分析工具而 達到互補作用,又可有效且平均的分配至多台電腦,則可以加強分析能力又可縮短分 析時間。 為了增加分析的效率與產出,本研究計畫的第三項大目標,就是開發一個雲端架 構式的分析平台,把目前現有的分析工具模組化,依使用者需求掛載分析模組且動態 的去管理。這個平台必須具備有:可擴充性、可自動化、與高容錯性。可擴充性可以 讓本分析平台藉著增加運算節點來達到效能的提升,有效的利用運算資源。然而,管

(26)

16 理者需要同時管理多台電腦,而此系統的眾多繁雜的設定檔,將會是往後維護人員的 最大問題,自動化的管理與設定將會使系統更方便使用。由於在雲端架構中有需多節 點會交互溝通,容錯性可以讓系統工作得更久更穩定。我們將實作與設計一套系統架 構,符合雲端架構之精神來實作該分析平台。除了可以提供分析服務以外,該平台還 有自行蒐集網路文件檔案的能力,可以讓資安人員測試自行開發的分析工具,提早搜 集網路上行為可疑的文件檔案。開發人員可以不用費心去管理其分析模組與複雜的架 設系統,也可以輕鬆快速地擁有客製化的分析結果。  基於 Xen Hypervisor 之即時雲端環境入侵偵測與反制

本研究的主要要目的旨在探討 IaaS Cloud 中的入侵偵測(IDS)[75]以及入侵防制/ 反制(IPS/IRS)[76]技術的研究與開發。對於保護 infrastructure,使用入侵偵測與反制 系統是行之有年的作法。具體而言如一般電腦上所安裝的防毒軟體便是一個入侵偵測 與反制系統的例子(其目的是偵測病毒並將其阻擋)。另外佈建所謂的網路安全閘道來即 時監控含有攻擊性內容的封包與網路連線並予以攔截亦是入侵偵測與反制的另一個例 子。然而當我們面對 IaaS Cloud,所映入眼前的景象已不再是我們所熟悉的實體主機、 網路線、路由器、網路交換機等設備。在眼前的是透過 Internet 存取的一朵雲。這朵雲 背後的機房可能遠在美國、遠在歐洲。以傳統系統管理者角度而言,一個顯然的疑問 是我要怎麼去一朵虛擬的雲上面安裝網路安全匝道器?另一個顯然的問題是一個公司 會考慮選擇使用 IaaS Cloud,而非自建資料中心機房莫過於是為了降低成本。倘若在 資安支出上,採用雲計算所需付出的資安成本是一樣或甚至更高的話,那勢必就會降 低 IaaS Cloud 的吸引力。

VMM (e.g. Xen Hypervisor) Guest OS (e.g.

MS Windows)

Physical Hardware and Network Guest OS (e.g.

Linux) Interrupts

Memory Access I/O (Network, Disk,…)

Inspect and Intervene directly at VMM layer 圖表六:透過 VMM 來達到偵測跟反制 本研究的主要構想如上圖所示。傳統而言,IDS/IPS 有兩種配置,選擇之一是裝在 個別機器上面(上圖 Guest OS 上),另一個選擇是裝在網路上(上圖中的 Physical

Hardware and Network,比如說所謂的網路安全匝道器即是採用後者這種配置方法)。

然而由上圖可看出在 Xen 虛擬化後的環境中,Guest OS 的所有 I/O、中斷、記憶體存 取均會透過 Virtual Machine Monitor (VMM),亦即會透過 Xen Hypervisor 這一層。也因 此對於 IDS 所需要的偵測功能以及 IPS 所需要的反制動作功能,均可以移至 VMM 層 中。這樣子顯然的好處是我們不再需要於 Guest OS 中安裝如防毒軟體之類的工具,亦

(27)

17

不需要在實體網路上佈建網路安全匝道器。此構想最早是由 Stanford 大學的 Mendel Rosenblum 教授提出[77]。透過 VMM 監控上層 Guest OS 是一個非常重要且具實際應 用價值的技術。目前仍存在的障礙是只能對底層(實體層)的記憶體、I/O 資訊的存取。 也就是說 VMM 監控所看到的是底層的低階、缺乏結構性的狀態或事件,這與上層應 用中的狀態或事件間存一個 semantic gap,直觀地來說,由於 Hypervisor 掌控了虛擬機 器對底層硬體包括 CPU、記憶體、磁碟機、網路、周邊設備等的存取,所以我們可以 透過 Hypervisor 來達到傳統 IDS/IPS 所進行的偵測、防護以及制動。  基於雲端技術之網路安全實驗觀測平台 本研究著重於將虛擬機技術導入網路安全實驗觀測平台之建構,其具體研究方向 如下:  虛擬機資源管理分析: 此技術將虛擬機技術導入網路測試平台,可依照各別的測試需求自動建立虛擬節 點與網路連結。  虛擬機安全性分析技術: 此技術可確保虛擬節點之間的隔離性,防止運行中的惡意程式污染其他虛擬節點 或是測試平台。  虛擬機安全資源管理機制: 此技術可建立自動化之虛擬機管理機制,測試平台可依照各別測試的需求管理各 虛擬機之資源。

(28)

18

四 、 研 究 方 法

本計畫的組成結構如下: 總計畫:前瞻性雲端安全儲存、防護、行為分析與觀測平台 主持人:曾文貴 共同主持人:謝續平、黃育綸、吳育松 安全儲存與即時保護系統 實驗觀測及行為分析系統 子系統 「子計畫一:支援多 樣功能之雲端資料 安全儲存」 子系統 「子計畫三:基於 Xen Hypervisor 之即時雲 端環境入侵偵測與反 制」 子系統 「子計畫二:基於機 器碼之 Windows 惡意 程式行為分析雲端平 台」 子系統 「子計畫四:設計與 實作基於雲端技術 之安全實驗觀測網 路」 主持人:曾文貴教授 主持人:吳育松教授 主持人:謝續平教授 主持人:黃育綸教授 圖表七:子系統結構表 總計畫已整合上述四個子計畫的研究成果,並已發展出一個安全雲端服務平台建構方 法。在執行面上總計畫負責跨子計畫間的溝通機制,並透過定期會議以及成果查驗確定各 子計畫之研究時程與成果皆符合原提案之規劃。 此外,總計畫亦透過建立人力資源表以確保各子計畫之人力分配符合需求。在設備資 源方面,所有設備資源依照「專用資源」以及「共用資源」的差異先行分類。將具有特殊 功能以及高度專用性的設備或資源編入「專用資源」類,其他不具有特殊功能以及高可共 用性的設備或資源編入「共用資源」類。在計畫執行中致力提高屬於「共用資源」類的比 例以及分享程度,這個做法確實能提高資源整合的程度,並同時提高整體資源運作效率。 針對各子計畫陸續產出之具體成果,總計畫按照整體規劃建構適合的測試計畫或成果 驗證計畫,以及準備所需的測試器材。同時亦將針對各子計畫之研究成果進行統合測試及 成果驗證,以確定所有實體系統能夠正確運行、且所有演算法及協定能達到預期的功能、 效率、以及安全強度。 綜合以上所述,本整合計畫之研究方法規畫如下:  計畫主題整合與計畫資源管理 本計畫包含四個研究子計畫,各子計畫由總計畫負責協調各項研究進度與人力物力資 源之調配,其具體內容說明如下:  規劃整體計畫研究架構: 總計畫已在計畫初期設計完成整合系統的完整架構,特別是與子系統間之功能性 的畫分與資料流的傳遞方向。  建立各子計畫經驗交流機制:

(29)

19 各子計畫人員各有不同的專長背景,總計畫執行過程中常態性的舉辦經驗交流與 進度會議,可縮短整體計畫團隊學習時間的效果。  建立各子計畫設備資源共享機制: 計畫設備資源有限,總計畫已將各子計畫設備資源分類,並增加資源的可共用性, 可最大化所有設備的使用效率。  協調整合系統之基礎軟硬體架構: 總計畫向各子計畫調查軟硬體需求,並協調所需要的整合式平台,避免可能的系 統衝突,以確保研究成果之整體性。  撰寫總成果報告: 總成果報告除了實際系統的各種說明文件以外,也包含所有相關的發表論文,最 後並把整體系統設計理念文件化,以便相關研究者可以在這個基礎上繼續更深入 的研究。 各子計畫之個別研究方法規畫如下:  支援多樣功能之雲端資料安全儲存 本計畫的研究方法可依研究成果分成以下三項分別說明:  保護隱私的雲端入侵偵測

我們採用前面所提到的 Song, Wanger, Perrig 之關鍵字搜尋加密資料的方法來保護 使用者上傳資訊的隱私。我們利用候選者名單來讓雲端提供者無法確定使用者上傳的 資訊確切為何,其中加密金鑰雜湊部分的長度會影響到候選者名單的大小,藉由調整 加密金鑰雜奏部分的長度來改變候選者名單大小來達到保護隱私能力的強度。除此之 外,我們會先將事先定義好的關鍵字放在雲端上,使用者只要上傳可疑的資訊到雲上, 則我們會比對這資訊和事先定義好的攻擊來判斷使用者是否有遭受到惡意攻擊。在系 統實作上我們以 Linux 來當作我們系統的平台,使用 Hadoop 來建立雲端環境,並利 用 SNORT 來建立出我們要比對的關鍵字資料庫。藉由上述的技巧及環境來開發我們 的雲端安全服務:Privacy-Preserving Cloud IDS。總括來說,我們利用下表中所列出的 工具來建立我們實驗的環境,最後根據這個環境做隱私、偵測率和效能的評估和實驗。

使用工具清單

雲端環境 Ubuntu + Hadoop + Java + OpenSSH

關鍵字資料庫 SNORT rule

保護隱私方法 jpcap library + client-server program 圖表八:使用工具清單

本系統分為兩大部分:使用者端和服務者端。使用者端是一個 java 程式,用來收 集使用者電腦的資訊,經過隱私處理後,傳到雲端服務上做分析處理,在做最後的判 斷,來判斷使用者的電腦是否安全無疑。服務者端採用 MapReduce 的程式架構來完成 hidden keyword search 的功能,用來比對使用者的上傳。除此之外,針對比對的資料庫, 我們事先做好隱私處理,將這些資料放在 Datanode 上(HDFS),用來做比對處理

(30)

20  非集中式雲端儲存系統中系統修復機制 在雲端儲存系統中我們使用了容錯編碼來建構儲存系統的容錯能力,使用容錯編 碼的儲存系統可以在系統中部分儲存伺服器無法提供服務時,維持整體儲存系統的對 外資料存取服務。 經過我們對相關研究的資料收集與彙整後,我們發現現有的方法中,大多僅考慮 一個儲存伺服器錯誤的狀況,並在錯誤發生後立即進行修復。有別於現有的方法,我 們希望系統能夠先容許一小部份的伺服器錯誤,預測一個周期時間長度,進行周期性 修復,以期避免經常執行大規模的修復動作。我們考慮當系統中有 x 個伺服器錯誤時, 使用 x 個新的伺服器加入系統並進行修復動作。這些新的伺服器可以索取舊伺服器中 儲存的資料並進行相關計算,最後儲存一個計算後的資料,一個修復後的儲存系統必 須維持夠高的資料存取成功機率。 我們探討了系統中可以承受的錯誤比率,一個新伺服器需要詢問的舊伺服器數 量,修復一個錯誤需要耗費的網路傳輸資料量,以及每個伺服器的儲存量。目前主要 的發現是,考慮一個有 n 個伺服器的儲存系統,其中任意 k 個儲存伺服器可以協助使 用者將資料取回。隨著系統中的伺服器發生錯誤,在系統中仍正常運作的伺服器數量 若能維持在足夠的數量下,一個新的伺服器可以向少於 k 個舊伺服器索取資料,並修 復一個伺服器錯誤造成的損失。 為了能針對 (n,k) 分散式容錯編碼分散式儲存系統提供具有更好效率的修復機制 (且能一次修復多個錯誤)。在一個具有 n 個伺服器的系統中,我們透過隨機程序的方 法,使新增(1-α)n 伺服器能夠詢問隨機 u 個運作中的伺服器來進行修復,其中 α<1。我 們考慮了一個非集中式修復機制,讓每個新的儲存伺服器可以獨立的進行修復作業, 無須彼此溝通。在我們的機制中 u 值可以遠小於(n-1),同時我們的方法維持了非集中 式系統結構的優點。為了更凸顯提出方法的效率,我們進行了數值與參數的分析與比 較。就比較結果上來看,非集中式修復機制能夠具有更好的修復效率。  資料完整性授權驗證機制 在本研究中,我們的資料完整性授權驗證,包含以下三種角色:使用者(Data owner)、代理人(Delegated verifier)、以及儲存伺服器(Storage server)。我們的設計 以私密驗證為基礎,利用額外的代理金鑰將使用者驗證標記,轉換為代理人所能驗證 的標記,以達到授權驗證之目的。使用者對資料產生驗證使用的標記,並將資料及標 記一併上傳至儲存伺服器,之後,也將代理人的代理金鑰送給儲存伺服器;代理人可 對遠端伺服器進行資料完整性的驗證,藉由傳送挑戰值,儲存伺服器可利用代理金鑰 產生對應的完整性證明,代理人將可利用自身的私密金鑰驗證回傳的完整性證明。在 設計上,我們利用 bilinear map 進行 Tags 的轉換,儲存伺服器使用代理金鑰將使用者 的 Tag 轉換為代理人的 Tag,代理人可對此 Tag 進行驗證。上述方法可支援同時授權多 數的代理人,而不會造成使用者的計算負擔,以及儲存伺服器的儲存負擔,每增加一 位代理人,系統上只會增加一把代理金鑰,使用者只需要利用自己的私密金鑰去產生 代理金鑰,不需要去存取在儲存伺服器上的資料及代理金鑰,授權的動作將十分簡潔。

參考文獻

相關文件

In digital systems, a register transfer operation is a basic operation that consists of a transfer of binary information from one set of registers into another set of

A Cloud Computing platform supports redundant, self-recovering, highly scalable programming models that allow workloads to highly scalable programming models that allow workloads to

Classifying sensitive data (personal data, mailbox, exam papers etc.) Managing file storage, backup and cloud services, IT Assets (keys) Security in IT Procurement and

* All rights reserved, Tei-Wei Kuo, National Taiwan University, 2005..

 Presents a metric selection framew ork for online anomaly detection i n utility cloud.. ◦ Select most essential metrics by appl ying metric selection and

• Instead of uploading and downloading the dat a from cloud to client for computing , we shou ld directly computing on the cloud ( public syst em ) to save data transferring time.

In this thesis, we develop a multiple-level fault injection tool and verification flow in SystemC design platform.. The user can set the parameters of the fault injection

(1989), “A Theoretical Assessment of the User Satisfaction Construct in Information Systems Research,”.. Management