ソニーの電子お薬手帳システムに適用した セキュリティ設計分析手法

ソニーの電子お薬手帳システムに適用した
セキュリティ設計分析手法
松並 勝†
Security Design Analysis Method
applied to Sony’s Electronic Medication Notebooks System
Masaru Matsunami
ねらい 実際に運用されているコンピュータシステムに適用されたセキュリティ設計分析の事例とその分析
手法を紹介する。
キーワード 脅威モデリング,脆弱性,セキュリティ,要件,命題,資産,脅威,パターン,セキュア設計
Target: This abstract is to introduce a security design analysis example and analysis techniques that have been applied
to a computer system that is actually operated.
Keywords:
Threat modeling, vulnerability, security, requirement, proposition, asset, threat, pattern, secure design
1.想定する読者・聴衆
本発表はコンピュータシステムの仕様や設計などの
設計文書をセキュリティ分析する方法や事例に興味の
の必要条件を繰り返し分解しツリーを形成する。最上
位ノードに記載する脅威とは攻撃者が目的とするコン
ピュータシステム上で発生させたい事象の記述である。
ある人を対象とする。
2.背景
インターネットとコンピュータシステムが重要な社
会基盤となった今,セキュアなコンピュータシステム
の開発方法の重要性が高まってきた。
セキュアなコンピュータシステムを作るためには,
まずセキュアな仕様・設計を作り,それに基づきセキ
ュアなコードを作る必要がある。後者には静的解析ツ
ールや動的検査ツールなどの自動化された解決策があ
図 1 脅威ツリーの例。引用元:
り広く適用されている。前者については自動化された
http://msdn.microsoft.com/ja-jp/library/ff648644.aspx
ものはなく,人手による高度な知識と経験を要する仕
脅威ツリーの作成には次の 2 つの課題がある。
様・設計のセキュリティ分析(以下,セキュリティ設
1. 脅威(望ましくない事象)を洗い出すためのパタ
計分析と呼ぶ)しかない。
セキュリティ設計分析では,暗号や OS などの個別技
術のセキュリティの知識と,それら知識を基礎としシ
ーン化された手順が確立されていない
2. 脅威を繰り返し分解するためのパターン化され
た手順が確立されていない
ステム全体のセキュリティ状況を可視化する分析技術
パターン化された手順が確立していないため,たと
の 2 つのスキルが必要となる。本発表では後者の分析
え暗号や OS などの個別技術のセキュリティ知識のあ
技術について従来の課題に対する改善方法を提案する。 るセキュリティ技術者であっても,脅威ツリーを作成
3.課題
セキュリティ設計分析の代表的な手法の一つに脅威
モデリング(または脅威モデル)[1]がある。脅威モデリ
することが難しい状況にある。本発表では上記 2 点の
課題について改善策を提案する。
4.提案・実験
ングでは図 1 のような脅威ツリーという FTA(Fault
脅威モデリングにおいては脅威を最上位ノードとす
Tree Analysis)に似た分析木を作成する。脅威ツリーの
るツリーを作成するが,提案方法ではセキュリティ要
各最上位ノードには脅威を記載し,脅威が生じるため
件を最上位ノードとするツリーを作成する。脅威は
FTA と同様に望ましくない事象の表現であるが,セキ
†
Chief Security Technology Officer
Sony Digital Network Applications, Inc., 2-21-28 Higashigotanda,
Shinagawa-ku, Tokyo, 141-0022, Japan
E-mail: [email protected]
1
ュリティ要件はコンピュータシステムに期待する望ま
ので,AND 条件を使って図 3 のように分解する。
しい状態や性質の表現である。これら 2 つは表 1 に示
した例のように表現の立場が違うだけで本質的には違
お薬手帳サーバー
いはないが,セキュリティについてもソフトウェア工
第三者(はアクセスできる)
患者
薬剤師
ソニー
学の既存概念である要件(要求)で表現することがソ
フトウェア開発者に馴染みがあり望ましいと考える。
インターネット
7
薬局内イントラ(有線)
有線
2
レセコン
第三者が患者の薬歴情報を参照する
セキュリティ要件
管理用PC
ルータ
薬剤師
表 1 脅威とセキュリティ要件
脅威
ソニー
8
処方箋
(紙)
4
WiFiルータ
患者
第三者
WiFi
5
薬局内端末
タブレット
3
6
モバイルアプリ
1
第三者は患者の薬歴情報を参照できない
FeliCa
R/W
患者
第三者
セキュリティ要件の導出手順のパターン化
9
図 2 情報の存在し得る場所を列挙
次の手順でセキュリティ要件を導出する。
1. 資産を洗い出す
2. セキュリティ要件ひな形で要件を作る
1. 資産を洗い出す
コンピュータシステム上で保護対象となる最小構成
要素は情報(データ)と機能(プログラム)の 2 つで
あり,これらをまとめて資産と呼ぶ。設計文書や開発
者ヒアリングを通して,意図しない人に勝手に使われ
ては困る情報や機能を見つけることで資産を洗い出す。
資産となりがちなキーワード(例:カード番号)をチ
ェックリスト化し,属人性を減らし再現性を高める。
2. セキュリティ要件ひな形で要件を作る
資産に生じる事象はコンピュータシステム上では操
作として表現される。情報には READ,WRITE の操作
があり,機能には EXECUTE の操作がある。資産に対
してどの操作が誰に許されて,誰に許されないのかを
表現したものがセキュリティ要件である。表 2 のセキ
図 3 手順パターンに則り分解
この例の他,情報の WRITE に関する分解パターンや
HTTPS 暗号通信に関する分解パターンなどがあり,ノ
ードを繰り返し分解しながらツリーを構築していく。
ュリティ要件ひな形に資産を【資産】に当てはめ,シ
5.効果
ステムに関与し得る人物を【攻撃者】,【被害者】に当
客観的な効果測定はできておらず主観的な判断であ
てはめることで,セキュリティ要件の文をパターン的
るが,手順のパターン化によりセキュリティ分析作業
に導出できる。分析対象システムにおいて相応しい文
で悩むことが少なくなった。複数人で分析するときに
だけをセキュリティ要件としてまとめることで,当該
も再現性が高まったと感じている。
システムのセキュリティ要件を導出できる。
6.まとめ(今後の課題・謝辞等)
提案はセキュリティ設計分析の課題の一部を解決し
分析木の分解手順のパターン化
紙面都合により,情報の READ に関する要件の分解
パターン「情報の存在し得るすべての場所を列挙して
ノードを分解する」を一例として紹介する。セキュリ
ティ要件「第三者は○○情報を READ できない」を分
ているに過ぎず,効率化や再現性を高めるためには更
なる課題解決が必要である。
7.文献
[1]
解する場合,図 2 のようにまず○○情報が存在し得る
脅威モデル ─ セキュアなアプリケーション構築,
Frank Swidersky, Window Snyder, 日経 BP ソフトプレス,
場所をデータフロー図で列挙する。
ISBN4-89100-457-6
○○情報が存在し得るすべての場所において「第三
[2]
脅威モデルを作成する,
http://msdn.microsoft.com/ja-jp/library/ff648644.aspx
者が○○情報を READ できない」を満たす必要がある
表 2 セキュリティ要件ひな形
資産種別
操作
セキュリティ
要件
情報
機能
READ
WRITE
EXECUTE
【攻撃者】は【情報】を READ できない
【攻撃者】は【情報】を WRITE できない
【攻撃者】は【機能】を EXECUTE できない
【被害者】が【情報】を READ すること
【被害者】が【情報】を WRITE すること
【被害者】が【機能】を EXECUTE することを
を【攻撃者】が妨害できない
を【攻撃者】が妨害できない
【攻撃者】が妨害できない
2