根據 Tsipenyuk 等人所提出的 Seven Pernicious Kingdoms 做分類,分析探討 各種程式安全漏洞發生原因、運作方式,分為 Java 與 VB.NET 二大方向各自探 討。
“不安全程式設計與入侵方法之案例蒐集與研析”這部分,目前整理數個已知 開放原始碼軟體漏洞,進行漏洞原因、攻擊手法探討。
“不安全 Java/VB.NET 原始碼檢測工具雛形原始碼檢測工具雛形”方面,探 討靜態分析問題本身的不可預測(undecidable)性質,而指出分析工具能力限制,
及可改進的方向。對於數個開放原始碼或免費工具和 Fortify SCA 相互比較分析 方法、適用範圍。蒐集了數個測詴程式集 (benchmark),對其進行初步檢測,以 了解各項工具的能力與限制點。
以上三項分別對應計畫書中列舉之「Java 安全程式設計原則與實務」、
「VB.NET 安全程式設計原則與實務」、「不安全 Java 原始碼檢測工具雛型」、「不 安全 VB.NET 原始碼檢測工具雛型」、「不安全 Java 程式設計與入侵方法之案例 蒐集與研析」、「不安全 Java 程式設計與入侵方法之案例蒐集與研析」等六大要 點,進度均按計畫時程進行。
24
3.5 計畫成果
本計劃是第二年度計劃,該負責的工作項目皆如期完成。接下來將總結目前 的計畫成果。
在惡意軟體程式分析帄台部分,預計以開發一分析帄台為主,藉由著整合 虛擬機器與程式行為分析來達成揭露隱藏行為的惡意程式。揭露方式主要以登 入檔、檔案系統、系統呼叫為主,利用去年開發的分析帄台繼續增強其功能性。
在年底計畫結束前,可以開發出一惡意程式分析系統,協助資安人員分析、擷 取惡意程式行為。以下為條列交付項目:
開發一惡意程式行為分析帄台包含下列功能 1. ADS 檔案掃描擴充
2. MBR、VBR 開機磁區修改偵測
3. 註冊機碼(Registry)掃描項目項目擴充
4. 系統呼叫表(SSDT)、中斷表(IDT)資料表修改偵測 5. 惡意檔案文件偵測系統開發
繳交數份技術文件報告
1. Registry 檔案修改偵測一份 2. 系統核心結構修改偵測一份 3. 可開機磁區修改偵測一份 4. 檔案系統修改偵測一份
25
5. 檔案文件檢測系統一份
6. 檔案文件檢測系統安裝及操作手冊一份 7. 與程式碼漏洞分析整合之期末報告一份 8. 動態惡意程式行為分析帄台 LiveCD 一片
9. 動態惡意程式行為分析帄台安裝及操作手冊一份
在 Java/VB.NET 軟體原始碼漏洞分析部分,計畫工作項目主要以建立整合 分析介面為主,支援 C/C++/PHP /Java/VB.NET 等程式原始碼,並撰寫整合工具 使用手冊,系統設計報告,對於相關工具也會撰寫測詴報告。入侵方法案例方 面,會持續蒐集 Java/VB.NET 相關案例,整理弱點原因、攻擊手法等等,以書 面報告呈現。至計畫結束時,已完成以上各項目。提供一套整合靜態分析工具 帄台,供使用者進行程式安全分析,及早在軟體開發階段找出潛在程式安全漏 洞,增加軟體可靠度 (reliability)與降低維護成本。以下為條列交付項目:
開發靜態程式碼漏洞分析帄台包含下列功能 1. 檢測功能
2. C 語言單一檔案檢測 3. C 語言批次檢測 4. C++單一檔案檢測 5. C++批次檢測 6. PHP 單一檔案檢測 7. PHP 批次檢測
26
8. Java 單一檔案檢測 9. Java 批次檢測
10. VB.NET 單一檔案檢測
整合工具
1. Fortify SCA (Fortify Inc.) 2. YASCA (freeware)
3. CBMC (GPL)
4. Microsoft FxCop (Microsoft Inc.)
報告產出
1. 互動圖形介面 2. HTML 書面報表
繳交數份技術文件報告
1. 整合分析帄台安裝與設定手冊 2. 整合分析帄台專案功能使用說明 3. 整合分析帄台檢測功能使用說明 4. 整合分析帄台原始碼管理說明文件
5. 不安全 Java 程式設計與入侵方法之案例蒐集與研析 6. 不安全 VB.NET 程式設計與入侵方法之案例蒐集與研析 7. Java 安全程式設計原則與實務
8. VB.NET 安全程式設計原則與實務
27
9. 與惡意程式分析整合之期末報告一份 10. 整合分析帄台程式原始碼
除了上述兩大系統的交付項目之外,本計畫已經在 2010 年 12 月 20 的上午 於中山科學研究院進行技術移轉,把兩大系統「惡意程式行為分析帄台」、「靜 態程式碼漏洞分析帄台」安裝於院內的機器上。同日下午,也在會議室內進行 期末展示,讓中山科學研究院的長官們給予建議指導,討論十分熱烈。而本校 參與研究計畫之同學們也獲益良多,日後將會繼續朝著建議方向深入地研究探 討。
28
4 執行概要
本章節中,分別詳列了研究背景簡介、研究架構及方法、與實驗設計(或模 擬設計)及實作。於下列章節中,依序分別描述惡意程式分析帄台與軟體原始碼 漏洞分析之研究執行概要。
4.1 研究背景簡介
此章節將介紹研究背景,依背景方向不同而分兩部分介紹。第一部分以惡 意程式分析帄台之相關背景介紹,第二部分以原始碼漏洞分析之相關背景介 紹。