ミスユースケースによる セキュリティ要求分析演習

2
Conozamaを作る
ミスユースケースによる
セキュリティ要求分析 演習
 オンライン書籍販売Webアプリケーションの作成
を想定
 機能
 本を検索
 本を注文
 セキュリティ要件をあらいだす
 アプリケーションに対する脅威
 アプリケーションでの対策
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
3
ユースケース図
4
ユースケース(シナリオ)
uc
利用者を認証
する
 本を検索
 キーワードで検索
 検索結果の表示
 検索履歴の表示
本を検索する
利用者
本を注文する
 本を注文
 クレジットカードによる決済
 配送先の指定、変更
本を評価する
注文履歴を参
照する
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
 本を評価
 注文履歴の確認
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
5
6
セキュリティ機能
演習
 認証機能
 Sindre&Opdahlのミスユースケースを用いて脅
威&対策を抽出
 モデルは手書き、もしくはPowerpointなど
 演習時間の最後に口頭発表・議論
 ミスユースケースを使ってみての評価アンケート
 ID、パスワードによる認証
 パスワード変更機能
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
7
8
お願い
分析のための補足資料(1)
 本演習の結果を、統計情報として学術論文の実
験データに使わせていただきたい
 同意いただける方は、アンケートの同意欄にチェ
ックください
 CIA分類
 機密性
 完全性
 可用性
 STRIDE
 なりすまし
 改竄
 否認
 情報漏洩
 DoS攻撃
 権限昇格
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
9
10
分析のための補足資料(2)


Webの攻撃、脆弱性
OWASP Top 10 -2020
http://www.owasp.org/images/0/0f/OWASP_T10__2010_rc1.pdf
1. インジェクション
2. クロスサイトスクリプティング
3. 認証とセッション管理の脆弱性
4. オブジェクトの危険な直接参照
5. クロスサイトリクエストフォージェリ(CSRF)
6. セキュリティの設定ミス
7. URLアクセス制限のミス
8. 検証されないリダイレクト、フォワード
9. 危険な暗号化保存
10. トランスポート層の不十分な保護
補足資料:
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
11
UMLを用いた分析:Misuse cases/Abuse Cases
12
Misuse Case: 構成要素
 Abuse Cases
 ミスユースケース
システムまたは他のエンティティが、ミスユーザが作用す
ることによってステークホルダ(システム関係者の誰かに
被害を与える可能性のある一連のふるまい
 ミスユーザ
悪意のあるなしに関わらず、ミスユースケースを実行する
アクタ
 (セキュリティ)ユースケースは、ミスユースケースを緩和
(mitigate)
 J. McDermottらによる
 単に悪意あるアクター,処理
を別途書く
 Misuse Cases
 G. Sindre らによる
 脅威と対策(軽減)の関係を
明確化
 “Protect info”は”Steel card info”を緩和
 ミスユースケースは、ユースケースに対する脅威となる
(threaten)
Misuse Casesの例
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
13
14
ミスユースケース記述(1)
ミスユースケース記述(2)
UMLのユースケース記述同様、テキストで記述
Sindre, Opdahlの提案
 ユースケース名(UMLと同様)
 概要(UMLと同様)
 著者(UMLと同様)
 基本パス/代替パス
 前条件
 ミスユースケースを可能にするシステムの状態
 緩和ポイント
 Basic path/alternative pathの中で、ミスユースが緩和できるポ
イント
 緩和の保証レベル
 Mitigation pointsが不明:必要なセキュリティ保証レベル
 Mitigation pointsが明確:mitigationによる緩和により可能な最
高の保証レベル
 ミスユーザが行う攻撃のシナリオ(基本/代替)を記述
 トリガ
 関連業務ルール
 ミスユースにより侵害される可能性のある業務ルール
 ミスユースケースのきっかけになる事象または状態
 ミスユーザプロフィール
 前提
 ミスユーザについて想定できること(何でも)
(例)悪意の有無、内部か外部か、想定するスキル
 ミスユースケースを可能にするシステム環境
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
15
16
ミスユースケース記述(3)
ミスユースケースの作成(要求分析)に必要
なもの
 スコープ
 システムに対する理解度
 ミスユースケースの実行が、人とコンピュータによるも
のか、ソフトウェアのみで実行されるものか
 繰り返し(UMLと同様)
 レベル(UMLと同様)
 ステークホルダ、リスク
 各ステークホルダ(利害関係者)に対するリスク
 技術、データのバリエーション
 ミスユースを実現する道具(プラットフォーム)
 用語説明
 技術用語等の説明
 業務目標
 システム構成(概要)
 セキュリティ目標
 セキュリティ知識
 セキュリティ脆弱性、具体的な攻撃および攻撃者
に対する知識
 セキュリティ対策に対する知識
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
17
Sindre,Opdahlの提案する手順
ユースケースの記述
1. システムの資産を識別する
2. 各資産に対するセキュリティゴールを定義
3. 各ゴールに対する脅威を識別(ミスユースケー
ス)
システムに被害を与えようとしているステーク
ホルダを識別(ミスユーザ)
4. 脅威のリスクを分析、評価する
5. リスクに対するセキュリティ要求を定義
(セキュリティユースケース)
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
ミスユースケースの記述
19
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
18
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
セキュリティユースケースの追加
20
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
21
22
ミスユースケースをどう書くか
参考:STRIDE
 脅威の分類から
Microsoft SDL(Secure Development Lifecycle)
の脅威分類
 Spoofing(なりすまし)
 Tampering(改竄)
 Repudiation(否認)
 Information disclosure(情報の漏洩)
 Denial of service (DoS攻撃)
 Elevation of privilege(権限昇格)
 「STRIDE」などを参考に抽出
 具体的な攻撃から
 知られている攻撃などから、脅威を抽出
 システム構成や実装を想定する
 システム構成の前提がないと、具体的な攻撃手段が
想定できない
 しかし、要求分析段階では具体化していないことが
多い
 予想される構成や実装を前提にして考える
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
23
24
ミスユースケースの利点と課題
MASG: ミスユースケースの拡張
 利点
拡張手法(大久保、田口、吉岡)の提案
 MASG: Misuse Case + Asset + Security
Goals
 資産の定義
 従来の開発者にはない「攻撃者」の観点から要件記
述
 UML拡張
 結果の見易さ⇒網羅性確認の容易性向上
 課題
 記述のための脅威分析手法そのものは提供しない
 記述の粒度の問題
 保護資産の不在
 脅威ツリー的手法との違い
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
 資産に対する脅威の明確化
 ゴール指向と結びつける
 セキュリティゴールを規定
 ゴールの侵害=ミスユースケース
 セキュリティユースケース=ゴール満足
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
25
MASG: 記法詳細
資産なしの場合(オリジナル)
 資産:クラスを用いる。
 クラスは、クラス図で作成し、ユースケース図にコピーできる。
 資産は、データまたはユースケースそのもの
 資産には、<<asset>>ステレオタイプを付与する。
 ミスユースケース
 ミスユースケースは他と色で区別し、 <<misuse>>ステレオタイプを付
与する。
 ミスユーザ
 アクタと色で区別する。
 セキュリティユースケース(対策)
 <<countermeasure>>ステレオタイプを付与する。
 ゴール
 ユースケースを用いて記述し、<<goal>>ステレオタイプを付与する。
 その他
 ゴールと資産を関連づける。
 対策ユースケースから、サブゴールへの依存関係の矢印を付与し、
<<operationalize>>ステレオタイプを付与する。
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
26
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
27
拡張記法(1)
28
拡張記法(2)
ミスユーザ
セキュリティゴール
ゴールと資産を
関連づける
資産は、ユースケース
に関連づける
ミスユースケース
資産
セキュリティユースケース
ミスユースケース
は、資産に関連
づける
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
対策とゴールを
関連づける
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
29
30
分析手順(1)
分析手順(2)
1. 業務に関するセキュリティ要求分析
1.
1. ユースケースの記述
2. 業務に関する資産(データ、ユースケース)を抽
出し記述
3. 各資産についてセキュリティのゴールを設定
4. ゴールを侵害する可能性のある脅威をミスユー
スケースとして、その当事者をミスユーザとして
記述
5. ミスユースケースを緩和する対策をセキュリティ
ユースケースとして記述
6. セキュリティユースケースから資産があれば、2
~5を繰り返し行う。
システムに関するセキュリティ要求分析
1. ユースケース、セキュリティユースケースに基づき
システム構成を想定する
2. システムに関する資産(データ、ユースケース)を抽出し
記述
3. 各資産についてセキュリティのゴールを設定
4. ゴールを侵害する可能性のある脅威をミスユースケース
として、その当事者をミスユーザとして記述
5. ミスユースケースを緩和する対策をセキュリティユース
ケースとして記述
6. セキュリティユースケースから資産があれば、2~5を繰
り返し行う。
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
引用:トップエスイー、2012年度安全要求分析講座「ミスユースケース図法概論」
Copyright (C) 2013 National Institute of Informatics, All rights reserved.
Copyright (C) 2013 National Institute of Informatics, All rights reserved.