:アタックツリー再利用フレームワークの提案及び実践ツールの開発- 修士論文審査会 情報セキュリティ大学院大学
大久保研究室M2

大矢 政基

mgs214501@iisec.ac.jp2023/2/17

目次
1. 研究目的
2. 再利用フレームワーク「FRAT」の提案
3. 実践ツール「RATTATA」の開発
4. FRAT及びRATTATAの評価
5. 議論及び結論

2023/2/17

修士論文審査会2Security by Design (SbD)
開発の初期段階でセキュリティを組み込む‣ 運用段階で後付けするよりも低コストで堅牢なセキュリティを実現（右図）

IT多様化に伴い”詳細”脅威分析の必要性が増加

コスト‣ SbDを実現するには早期の脅威分析が必須である‣ IoT，車両，制御システム…等，あらゆるIT機器にセキュリティが要求される‣ 一方，ベストプラクティスやガイドライン等が整備されているとは限らない‣ 攻撃シナリオを網羅的に分析するアタックツリー脅威分析手法が有効- 資産ベースのリスク分析（資産の重要度 脅威 脆弱性）は，

要件
定義

設計

実装 テスト 運用

セキュリティ導入時期脅威の発生過程までは分析しない

2023/2/17

修士論文審査会

3

用語説明：アタックツリー (ATs)メリット②親ノードを達成する
手段を子ノードとする‣ 論理的/物理的/人間に対する攻撃を総合的に評価‣ それらを構造化して可視化できる

ピッキング①攻撃者の最終目標
を最初に置く

金庫を開ける

番号を知る

こじ開ける

‣ 多様なITへの適用事例やガイドライン等での採用実績- Web App，IoT，制御システム，車両…

デメリット

OR接続：
メモを探す

人から入手する下位ノードのどれかを達成すればよい

なりすましメール

盗聴

賄賂‣ 高度な専門性や経験，長時間の作業時間が必要

and‣ ATMシステムの脅威分析にはセキュリティ専門家4名が会話を聞く

AND接続：両方達成が条件
番号を言わせる

6 日間を費やしたという報告もある
Bruce Schneier. Attack Trees. Dr. Dobbʼs Journal ofSoftware Tools, 24(12):21‒29, 1999.
2023/2/17

修士論文審査会

4用語説明：CAPEC (提案手法で使用)
攻撃パターンのデータベースである‣ WEBで公開・最新の脅威動向を反映して更新される- version 3.9 (2023.1.24)には，559パターン格納

各パターンは付加情報を含む‣ [PatternName] 攻撃パターンの名称‣ [Prerequisites] 攻撃成立条件，提案手法で使用

分類カテゴリと階層構造を持つ[パターンの抽象度] : [パターン名]‣ 2種類の分類方法：{攻撃メカニズム, 攻撃対象}‣ 3段階の抽象度による階層：{Meta, Standard, Detailed}2023/2/17

Mechanisms of Attack┣ Category : Engage in Deceptive Interactions┣ Category : Inject Unexpected Items┃ ┣ Meta : Code Injection┃ ┣ Meta : Command Injection┃ ┃ ┣ Standard : SQL Injection┃ ┃ ┃ ┣ Detailed : Blind SQL Injection┃┃┃┣…
┃ ┃ ┣ Standard : OS Command Injection：

修士論文審査会

攻撃メカニズムによる分類時のDB構造．

5

研究目的
ATsの再利用性を向上させ，分析結果の共有を促進したい‣ ATs分析はコストが高い．過去に作成されたATsは積極的に活用したい‣ しかし，ATsはシステム仕様により大きく変化し，手続の自由度が高いため分析者の属人性も大きいため難しい‣ 誰でも（セキュリティ専門性は前提）ATsを再利用でき，また再利用可能なATsを作成できるようにする

本研究の2本柱フラット‣ アタックツリー再利用フレームワーク「FRAT」の提案- 再利用可能なパーツを作成し，ATsを作成する手続き

再利用

再利用
共有

共有

ラ ッ タ ッ タ

‣ FRATを実践するツール「RATTATA」の開発- FRATに特化したATs作成用GUIアプリケーション

2023/2/17

修士論文審査会

ATsのエコシステムを形成
実用性の向上を図る
6

先行研究
M.Andrewらアタックツリーの再利用手続きを提案している‣ 作成したATsからパターン化可能な部分木を抽出し，抽象化することで再利用可能なパーツを作成‣ パーツと通常通り作成したノードを組み合わせてATsを作成‣ 課題1：作成されたパーツが分析者に依存する点，パーツ種類が限られる点‣ 課題2：パーツ更新の手続きに言及していないパーツの再利用性を維持するため更新が必須である‣ C.Yuriらのアンケート調査では，実務においてシステム要求を再利用できていた割合は59%であった- 再利用は重要であると回答した割合は80%であるにも関わらず‣ 主要な要因の一つとして，既存の要求が更新されていないが挙げられた（更新コストの問題）

2023/2/17

修士論文審査会

7目次
1. 研究目的
2. 再利用フレームワーク「FRAT」の提案
3. 実践ツール「RATTATA」の開発
4. FRAT及びRATTATAの評価
5. 議論及び結論

2023/2/17

修士論文審査会8フ ラ ッ ト

再利用フレームワーク「FRAT」
FRAT(Framework for Reuse of Attack Trees)は以下の３つの手続きで構成される‣ CAPEC から再利用可能なパーツを作成する手続き‣ CAPEC パーツを組み合わせて再利用可能なアタックツリーを作成する手続き‣ アタックツリーからパーツを再利用する手続き

先行研究の課題への対処‣ パーツのソースとしてCAPECを使用し，標準化されたパーツを利用できるようにする- 先行研究では，既存アタックツリーからパーツを作成‣ パーツ作成を自動化し，CAPECの更新に合わせてパーツを更新できるようにする- 先行研究では，パーツ更新の手続きに言及していないが，実務の上では更新コストが問題となる

2023/2/17

修士論文審査会

9FRAT｜パーツ作成
攻撃とその事前条件の関係からパーツ（サブツリー）を作成する‣ 前提として，ATsでは親ノードを達成するための事前行動が子ノードとなる‣ CAPEC攻撃パターンから攻撃を表す[PatternName]とその成立条件を表す[Prerequisites]を使用する
アタックツリーパーツ
PatternName

CAPEC

攻撃[Prerequisites]を2クラスに分類

andPrerequisites

正規化

攻撃主体

事前⾏動

分類
攻撃対象

2023/2/17

事前⾏動

攻撃主体が満たすべき事前条件-> パーツの一部となるパーツ適⽤条件

修士論文審査会

攻撃対象が満たすべき事前条件-> そのパーツの適用条件となる

10

CAPECパーツの例「Adversary in the Middle」攻撃パターンのパーツ
Adversary in the Middle (AiTM)
and
攻撃者は，対象となる２つのコンポーネント間の通信の性質や仕組みを特定できる必要があります．

攻撃者は，対象となるコンポーネント間の通信を盗聴することができる．

適用条件‣ 2つのコンポーネントが互いに通信しているのです。
‣ ターゲットとなる2つのコンポーネント間で強力な相互認証が行われていない…
‣ 通信は平文（暗号化されていない）または不十分で詐称可能な暗号化で行われます。

2023/2/17

修士論文審査会

11

FRATを適用したATs（抜粋）

独自作成ノード

実システムに対するケーススタディで作成
・Webアプリケーション
・DB内の個人情報を窃取するシナリオ

CAPECパーツ

FRATにおけるATsの作成方法•パーツ同士を組み合わせてATsを作成する•パーツで表現しきれない場合，独自に作成したノードを使用する
CAPECパーツが抽象的な記述である分，独自作成ノードを具体的に記述することで可読性を確保できる2023/2/17

修士論文審査会

12

FRATを適用したATs（抜粋）

独自作成ノード

実システムに対するケーススタディで作成
・Webアプリケーション
・DB内の個人情報を窃取するシナリオ

CAPECパーツ

前ページで使用したパーツを再利用

前ページとは異なるシステムに対し「システムを使用不可にする」
脅威に対するアタックツリーの一部

2023/2/17

修士論文審査会

13目次
1. 研究目的
2. 再利用フレームワーク「FRAT」の提案
3. 実践ツール「RATTATA」の開発
4. FRAT及びRATTATAの評価
5. 議論及び結論

2023/2/17

修士論文審査会

14

ラッタ

ッタ

実践ツール「RATTATA」
CAPECパーツの再利用機能を盛り込んだATs作成アプリケーション‣ CAPEC から作成されたパーツリストをインポートできる- パーツリストは後述するスクリプトにより作成‣ また，他のアタックツリーで使用されているCAPECパーツを検索し再利用できる‣ github (https://github.com/RATTATAlab/RATTATA)にて公開

検証に用いる機能として操作ログを出力‣ 後述するFRAT及びRATTATAの効果測定のため，ノード作成時刻等をログとして出力する

2023/2/17

修士論文審査会

15

- デモ動画 -16

Reusable Attack Trees Tool Accessible To All.

パーツリスト作成スクリプト
自動化アルゴリズムの概要‣ 正規化：分類を行う単位にテキストデータを分割，自然言語処理により文末判断等を行う‣ 主部による分類：主部に特定の単語が含まれている場合，そのクラスに分類．含まれていない場合は未分類‣ 述部による分類：分類済みのテキストの述部の単語の頻度を学習し，前段階で未分類のテキストを分類する
学習データ

CAPEC

[Prerequisites][Prerequisite][Prerequisite]：[Prerequisite]

攻撃主体の条件
攻撃対象の条件
未分

ベイズ分類器類

攻撃主体の条件
攻撃対象の条件

分類データ
Step1
正規化
2023/2/17

Step2
主部による分類
修士論文審査会

Step3
述部による分類17パーツ生成自動化の性能71%の精度でパーツ化できた‣ 開発したスクリプトにより387/546パターンを正しくパーツ化できた- CAPEC version 3.7 に対する結果‣ 学習アルゴリズムであるベイズ分類器自体の精度は93%であり，全体の精度を下げているのは正規化の段階‣ 非必須要件を含んでいる場合や，構文解析時の文末判断の誤りにより，正しいパーツが作成されない場合がある

GPU不要であり，費用対効果の面で評価できる‣ データへのラベル付与等の事前作業は不要であり，作成（更新）の自動化は達成できている‣ ナイーブベイズ分類器自体は非常に軽量なアルゴリズムであり，一般的なPCで動作するため気軽に利用できる‣ 今後は精度改善の段階であり，不要なテキスト（非必須要件等）を除外する処理の追加等が考えられる

2023/2/17

修士論文審査会

18目次
1. 研究目的
2. 再利用フレームワーク「FRAT」の提案
3. 実践ツール「RATTATA」の開発
4. FRAT及びRATTATAの評価
5. 議論及び結論

2023/2/17

修士論文審査会

19

評価方法
評価プログラムを作成，参加者10名に実施してもらった‣ 事前学習：ATsやCAPEC等の最低限の知識を揃えるため，事前に学習資料及び動画を配布‣ 検証：FRAT適用の有無で2回ATs作成を行なってもらい，その結果を比較‣ アンケート：FRATやRATTATAに対する意見や感想等‣ 分析：作成したATs及びRATTATA上の操作ログの分析から評価を行う

検証時の細部要領‣ 対象システムの仕様文書を配布，制限時間を1時間でATsを作成，できたところまでを提出‣ 全く別のシステムに対するATsを8種類配布，参加者はそこから自由に再利用してよいルール- 8種類のATsは論文やガイドライン等に掲載されていたものを引用‣ 1回目は通常通りのATs作成，2回目はFRATに従いATs作成
2023/2/17

修士論文審査会20

1回目と2回目で参照可能なATs
停電を引き起こす

停電を引き起こす

配電管理システムのオペレータが停電コマンドを送信する

配電管理システムのオペレータが停電コマンドを送信する

オペレータが不満を持つ

ソーシャルエンジニアリングによりオペレータを転覆させる

信頼できる人のふりをする

オペレータが不満を持つ

どちらが再利用しやすか（再利用性が高いか）Pretexting

敵対者は、何らかの方法で標的と通信する手段と知識を持っていなければならない。

対象者やその組織の背景から口実を作る

ネットに公開されている情報を得る

ゴミ箱漁りで情報を得る

敵対者は、特定の標的の行動に影響を与えるような口実の知識を持っていなければならない。

対象者やその組織の背景から口実を作る

1回目は引用元ママのATsを配布し，2回目はそのATsにFRATを適用したものを配布

ネットに公開されている情報を得る

FRAT適用により部分的にCAPECパーツに置き換えられている（全体構造に変化無し）
2023/2/17

オペレータを転覆させる

修士論文審査会

Dumpster Diving

敵対者は、ゴミ箱や下流処理施設に物理的にアクセスできる必要がある。

21

参加者の属性
IT部門の所属経験及びセキュリティ専門性を有している‣ 本学の社会人学生もしくは修了生‣ 8名がセキュリティ関連業務を2年以上経験‣ 情報処理安全確保士等，ハイレベルな資格保有者は7名であった業務でATs分析の経験がある者は無し‣ リスク/脅威分析・アタックツリー・CAPECに関する知識を質問‣ リスク/脅威分析・アタックツリーについては，全員が「概要を知っている」もしくは「やったことがある」と回答- CAPECについては，半数が「知らない」と回答‣ 参加者の全体的傾向：ATs分析の経験は浅いが，実施するのに必要な専門性は有しているため，被験者として妥当

2023/2/17

修士論文審査会22再利用性の評価
FRATによりATsの再利用性が向上‣ 1回目と2回目で”他のツリーから”ノードをコピーした回数を比較- Aはルールを誤認していたため，集計から除外‣ 1回目で1回以上再利用できた者は半数程度，2回目は9人全員‣ 平均3.6回コピー数が上昇（>95%信頼性）- 平均値の有意差について，t検定を実施

再利用元のバリエーションも増加‣ 2回目の方が多様なシステムのATsから再利用できていた- （翌ページで解説）

2023/2/17

修士論文審査会

ID

1回目

2回目

差分A

---B

03+3C

05+5D34+1E

31-2F

0

10+10G

220H

211+9I

220J

06+6平均

1.3

4.9

3.623

再利用元のバリエーション

再利用元の種類

1回目
2種類

2023/2/17

2回目
6種類

修士論文審査会

24

パーツの汎用性
各パーツの使用頻度を集計した‣ もっとも多かったのは標的型マルウェア攻撃であった‣ 次点で（物理的な）窃盗攻撃が来ており，論理的な攻撃以外も多い

抽象度・分類に大きな偏りは見られなかった‣ 使用されたパーツが特定のカテゴリ等に集中していないかを確認‣ Meta : 39.3%, Standard : 42.9%, Detailed : 17.9%- 「Detailed」は割合が低いが，システム仕様文書が要件定義レベルであったためと考察‣ 攻撃メカニズムのカテゴリ：8/9，攻撃対象のカテゴリ：6/6カテゴリ

ffi

修士論文審査会
fifi

ffi

2023/2/17

パターン名回数Targeted Malware

6

Excavation

5

Physical Theft

5

Capture Credentials via Keylogger

4

Identity Spoo ng

4

Sni ng Network Tra c

4

Excessive Allocation

3

Session Hijacking

3Adversary in the Middle (AiTM)

3

Protocol Manipulation

3

Ampli cation

3

ICMP Flood3

Use of Known Domain Credentials

325効率性の評価
FRATによる効率化効果は見られなかった‣ 1回目と2回目で最終的なノード及びシナリオ数を比較した‣ 半数以上の者が2回目の方がノードやシナリオを作成できなかった‣ 平均値で比較した場合，分散が大きく有意差は無し- 他のアタックツリーから巨大なサブツリーを再利用できることがあり，結果として分散が大きくなったことが一因と考察

どの操作に時間がかかっているかを分析‣ 個人差が大きく共通的な傾向は見られなかった- 操作ログの時間差情報を使用‣ 効率性については，検証方法も含めて今後の課題である
2023/2/17

修士論文審査会ID

ノード数
1回目 2回目

シナリオ数
差分 1回目 2回目 差分

A------

B

67

15-52

27

6-21C

20

26+610

15+5D

60

106+4633

47 +14E

73

56-17

39

34-5F

97

90-7

58

53-5G

1928+913

12-1

H

57

22-35

31

9-22I

7941-38

46

22-24

J

57

35-2229

15-14

平均58.8 46.6 -12.2

31.8 23.7 -8.1

26

参加後のアンケート「自分が思いつかないシナリオも思いつくことができる」が最多‣ 事後アンケートにおいて，「FRATはどのような効果があると感じたか」を質問（複数選択方式）‣ CAPECが分析者の知識を補うことにより，ATsに要求される専門性を下げる効果が期待される‣ 一方「再利用することで自身でノードを考えることに怠慢になった」という意見もあった‣ これは網羅的な分析を妨げる要因となる可能性があり，今後も慎重に議論していく必要がある

RATTATAに対する要望‣ 高性能なパーツ検索機能・フィルタリング機能があった方がよい‣ ATsが描画される画面右側の領域でクリック等の操作ができた方がよい‣ ショートカットキーの割り当てや他のATsからサブツリーをコピーできる機能は便利であった

2023/2/17

修士論文審査会

27

目次
1. 研究目的
2. 再利用フレームワーク「FRAT」の提案
3. 実践ツール「RATTATA」の開発
4. FRAT及びRATTATAの評価
5. 議論及び結論

2023/2/17

修士論文審査会

28有効性に関する議論
通常のATs作成では再利用元が限定的‣ 検証時に半数以上の者が再利用できていなかった

同種別種

現在

‣ パーツの再利用性を保つには更新が必要
通常の作成方法

FRAT・RATTATAにより再利用範囲が拡大

水平方向への拡大‣ FRATは他人が作成した別種のシステムでも再利用しやすくする- 検証において再利用回数・バリエーションの増加

パーツ更新自動化による垂直方向への拡大‣ パーツ更新自動化により更新性の課題に対処‣ RATTATAの開発・公開により誰でも手軽に実践できる

2023/2/17

修士論文審査会

FRATによる

過去再利用可能な範囲

29

今後の課題
効率性の改善‣ パーツの自動選定・推薦アルゴリズムの開発- 今後，参照元候補のATsが増加するほど，コンテキストに沿ったパーツ選択に時間を要するため‣ パーツサイズの拡大（パーツ1つあたりのノード数の増加）- 現状のパーツサイズは最大2段のサブツリーであり，再利用しても効率化への寄与が少ない

パーツの質の評価‣ 分析者にとって，どのようなパーツが扱いやすいか/再利用しやすいかを明らかにする必要がある‣ これにより今後のFRATやRATTATAの改善に繋げることができる

2023/2/17

修士論文審査会30

まとめ๏ ITの多様化が進行する時代，セキュリティ・バイ・デザインが実現できるようアタックツリーを改善する
๏ アタックツリーの再利用性を向上させるため，再利用フレームワーク (FRAT) の提案及び実践ツール (RATTATA) の開発を行なった．
๏ FRATとは，CAPECからアタックツリーパーツを作成し，再利用していくための一連の手続きである．
๏ RATTATAとは，FRATを実践するためのアタックツリー描画アプリケーションであり，他のツリーで使用されているパーツの検索等の機能が盛り込まれているのが特徴である．
๏ FRATを使用してもらい，効果を検証したところ再利用性の向上効果が見られた一方，効率化効果は見られなかったため，今後の課題である．

2023/2/17

修士論文審査会

31