攻擊樹

攻擊樹（Attack trees）是表示資產或是目標在哪些情形下會受到攻擊的概念圖。攻擊樹可以用在許多不同的應用中。在資訊科技的領域中，會用攻擊樹來描述電腦系統中的，以及可能達成該威脅的攻击方式。不過攻擊樹的用途不限於傳統資訊系統的分析。在國防及太空科技上，也會使用攻擊樹來分析防篡改電子系統可能會受到的威脅（例如軍用飛機上的航空電子設備）。攻擊樹越來越常應用在電腦控制系統的分析上（尤其是有關電子輸電系統上）。也會用攻擊樹來展示對於實體系統可能有的威脅。

有關攻擊樹早期的敘述，有些是出自布魯斯·施奈爾發表的論文及文章中，他當時是的首席技术官。施奈爾顯然有參與攻擊樹概念的形成，也有宣傳推廣此一概念。不過，根據攻擊樹最早期的已發表論文，在初期發展時，美国国家安全局可能也有參與。

攻擊樹很類似威脅樹（threat trees），但不完全相同。Edward Amoroso在1994年曾討論過威脅樹。

基礎
攻擊樹是多層的樹狀圖，包括一個根，很多葉子，以及子節點。從下往上層看，在子節點成立時，父節點才會成立。若根節點也成立時，表示已攻擊成功。每一個節點的成立只和其直接子節點有關。

一個節點也可能是其他節點的子節點，此時，就代表要發動攻擊，在邏輯上需要有多重的步驟。例如，考慮教室一台鎖在講台上的電腦，若要偷竊該台電腦，可能要將鎖剪斷，或是鎖打開的情形下偷竊。鎖打開的情形可能是因為用其他鎖匙開鎖，或是取得鎖匙，取得鎖匙的方式可能是威脅鎖匙持有人、賄賂鑰匙持有人，或是直接從存放處（例如在鼠標墊下）偷拿。因此可以畫出四層的攻擊樹，其中一個路徑是（賄賂鑰匙持有人、取得鎖匙、開鎖、偷竊電腦）。

攻擊樹和已發展的故障樹形式有關。故障樹的方法論，在父節點因為子節點而符合條件時，會用布林運算式來處理各個閘的成立條件。若計算各節點的，可以用贝叶斯定理計算機率較高節點的機率。不過在實務上，準確的機率估計可能無法取得，也有可能要蒐集資料的成本太高。有關有攻擊者的電腦安全而言，事件的機率分析可能不是獨立的，也不是均勻分佈的，因此不適用贝叶斯分析。

由於故障樹分析中使用的贝叶斯分析不一定適用應用在攻擊樹上，分析者會用其他的技術來分析特定攻擊者會用的攻擊方式。其中可能包括比較攻擊者的能力（時間、金屬、技巧、設備）以及特定攻擊需要的資源需求。若某個攻擊方式接近（甚至超過）攻擊者的能力，比較不會被攻擊者採用，比較容易採用的是便宜又容易的攻擊。攻擊到什麼程度才滿足攻擊目的，也會影響攻擊者的選擇。若某一個攻擊方式在攻擊者的能力範圍內，又可以滿足目的，就比較容易被採用。

檢驗
若是在處理特定的攻擊時，攻擊樹可能會變的大而複雜。完整的攻擊樹會包括上百個到上千個不同路徑，這些路徑都可以完成攻擊。這樣的攻擊樹在確認有哪些威脅，以及如何處理上相當有用。

攻擊樹可以用來定義信息保障策略。不過重要的是要考慮到實施信息保障策略後，攻擊樹是否也要對應的調整。例如防護電腦病毒的一種方式是拒絕系統管理者層次的存取（這類存取可以改變已安裝程式及現有系統目錄），而不是使用软件包管理系统。後者會在攻擊樹中增加因软件包管理系统的設計問題或是漏洞利用而遭攻擊的風險。

最有效可以減輕攻擊樹中的威脅的方式，是在最接近「樹根」的位置減輕。此作法在理論上合理，但在實務上，減輕單一威脅往往需要以影響系統部機能正常運作為其代價。例如病毒感染Microsoft Windows系統的威脅可以用一般使用者帳號（非管理者帳號）以及NTFS來代替FAT文件系统，讓一般使用者無法修改作業系統，即可有相當改善。使用此方式就讓用戶無法用病毒傳染作業系統，但是，若用戶需要用到管理相關的功能，此作業需要用戶進行切換，因此在運作上又產生不必要的程序，並且在攻擊樹上增加了其他的威脅。而且，使用者沒有管理者權限時，病毒仍然可以感染使用者的檔案以及文件。

相關條目
计算机安全
计算机病毒
故障樹分析

漏洞

參考資料

网络安全