2016年1⽉18⽇「”つながる”製品のセキュリティ⼊⾨講座」
〜IoT時代の新たな脅威に向けたセキュリティへの取り組み〜
組込みシステムセキュリティ講座 演習④⑤
松原 豊
名古屋⼤学⼤学院情報科学研究科
附属 組込みシステム研究センター 助教
Web: http://www.ertl.jp/~yutaka/
E-mail: yutaka@ertl.jp
1本講座について
⽬的
•
製品設計段階における,⼀連のセキュリティ対策
を理解し,⾃社製品の開発プロセスの⾒直しや,
セキュリティ対策製品の活⽤⽅法を提案する⼒を
⾝につける
⽬標
•
5段階の演習を通じて,以下を体験する
•
仮想的な組込みシステム製品を対象に,設計段階に
おけるセキュリティ対策を⼀通り体験する
•
グループ演習を通じて,経験や⽴場の異なる⼈と協
⼒,議論する
•
⾃社の開発プロセスや製品に関する改善案,活⽤⽅
法を考える(時間があれば)
2本講座について
お願い
•
本講座の写真,分析結果,議論の内容等を,
個⼈が特定出来ない形で,⼤学での研究活
動,論⽂等で使わせて頂く可能性がありま
す
•
本講座の改善,新講座の開発にご協⼒・ご理
解をお願い致します
3講座のスケジュール(時間配分の変更あり)
4講座 演習
⽇時
内容
1
①
2015年11⽉16⽇ 15:00〜16:30 セキュアシステム開発プロセスの導⼊・対象システムの紹介 ・セキュリティカードの導⼊と分析 旧システムに対するシステムレベルの脅威分析(Part 1)2
②
2015年12⽉8⽇13:30〜14:45 旧システムに対するシステムレベルのリスク評価(Part 2)・リスク分析と評価③
2015年12⽉8⽇15:00〜16:30 新システムに対するシステムレベルの脅威分析とリスク評価 ・脅威分析 ・リスク分析と評価3
④
2016年1⽉18⽇ 14:30〜16:30 新システムに対するセキュリティ対策・セキュリティ対策の検討 ・対策に関する議論⑤
2016年1⽉18⽇16:40〜17:30 まとめ・⾃社製品,開発プロセスに対する改善案の検討・改善案に関する議論交流会
2016年1⽉18⽇18:00〜準備
準備
グループ編成
•
3〜4名程度で1グループ
•
性別,年齢,過去の経験や所属は無関係
•
出来る限りバラバラの⽅が良い(多様性)
•
同所属の⽅が複数いる場合には別グループへ
今回は
,
前回(2⽇⽬)と同じ
グループでお願いします!
6講座のシナリオ
状況設定
•
⾞庫のシャッターを遠隔で開閉するシステム
を開発するリモートオープナー社(架空)の
開発チーム
•
看板商品である既存システムを改良し,ス
マートフォンとインターネットを使った新し
い遠隔開閉システムの企画・開発に着⼿した
•
セキュリティ専⾨チームとして,新システム
の企画,設計に参加し,セキュリティの対策
を⼀緒に検討することに・・・
本講座における⽬標
•
新システムの企画,設計段階において,セ
キュリティに関する⼀連のプロセスを実施し,
セキュリティ対策を提案する
7本講座における前提
既存システムの安全性,セキュリティ
•
安全性は考慮している
•
セキュリティは⼀応考慮しているが,プロセスに
従った開発はされていない(少なくとも,⽂書は
残っていない)
新システムのセキュリティ
•
企画,設計段階からセキュリティを考慮する
•
既存システムよりも,リスクが⾼くなる場合には,
対策を追加する
•
既存システムに存在するリスクは許容できる
対象
•
サービスレベルと設計レベル
•
実装には⽴ち⼊らない
•
企画,プロトタイプ開発段階の分析を想定
8対象システム:遠隔シャッター開閉システム
9 http://www.playingwithtime.org/
旧システム:無線式シャッター開閉システム
10シャッター
シャッター制御装置
制御コンピュータ
専⽤無線キー
(ボタン電池で動作)
利⽤者の⾃宅
電波UHF 315-433MHz 最⻑通信可能距離:10-100 m 開閉利⽤者
パスコード による開閉装置 ⾞庫内に設置各機器の概要
専⽤無線キー(納品物)
•
「開く」ボタンと「閉まる」ボタンの2つ
•
電池で駆動
•
交換は,会員証を持つユーザからの依頼で⾃社で実施
•
RKE(Remote Key Entry)の仕組みを採⽤
•
詳細は次回解説
パスコードによる開閉装置(納品物)
•
4桁のパスコード(事前登録)を⼊⼒すると開く
•
閉じる場合は,「閉まる」ボタン
•
パスコードの⼊⼒は不要
制御コンピュータ(納品物)
•
無線キーからの開閉要求に基づいて,シャッター制御装置に命
令を送る
シャッター制御装置(納品物)
•
挟み込み防⽌(安全装置)
•
閉まる動作の時に,シャッタに⼀定の負荷掛かった場合には,
シャッタの動作を停⽌)
111⽇⽬(演習①)の復習
演習①:既存システムにおける脅威分析
⽬的
•
新システムの分析の前に,既存システムにお
ける資産の列挙と,セキュリティの脅威を洗
い出し,リスクを分析,評価する
⽬標
•
セキュリティカードを使って,1時間程度で,
既存システムに関する脅威を出来る限り列挙
し,表にまとめる
•
脅威分析の過程で,守るべき資産が⾒つかっ
た場合には資産リストに追加する
•
初期の資産リストがない場合には脅威分析と同時
に資産リストを作成する
13第2⽇⽬に実施
製品の開発段階におけるセキュリティ確保の取組み
14資産の特定
脅威分析
リスク分析
リスクを低減する
対策を追加
セキュリティ
要求仕様の策定
リスクを許容
可能か?
対象システムの
特定
設計・実装⼯程へ
Yes
No
→ガイドブック p.14演習①の対象範囲
脅威分析
⽬的
•
システムに対する脅威を洗い出し,リスク評価の基
礎情報を獲得する
•
システムに内在する脆弱性も発⾒する
•
システム開発の各段階で繰り返し実施する
15
結果(資産の侵害) 原因(脆弱性)課題
•
網羅的に実施するためには,
分析が膨⼤に
•
1つの分析⼿法だけでなく,
様々な視点から実施すること
が重要
•
安全分析と同じ考え⽅
リスクを評価 脅威 →ガイドブック p.18成果:旧システムにおける脅威分析結果
2⽇⽬(演習②③)の復習
演習②:既存システムのリスク分析・評価
⽬的
•
既存システムにおけるセキュリティの脅威
を洗い出し,リスクを分析,評価する
⽬標
•
脅威分析で発⾒した各脅威の発⽣確率と深
刻度を想像し,リスクの分析と評価を実施
する
•
発⽣確率の設定が難しい場合には,深刻度の
みで判断しても良い
18製品の開発段階におけるセキュリティ確保の取組み
19資産の特定
脅威分析
リスク分析
リスクを低減する
対策を追加
セキュリティ
要求仕様の策定
リスクを許容
可能か?
対象システムの
特定
設計・実装⼯程へ
Yes
No
→ガイドブック p.14演習②の対象範囲
リスク評価
リスク評価の必要性
•
すべての脅威に対策するのは困難(現実的
ではない)なので,設計段階でリスクを洗
い出し,対策の必要性を判断するのが望ま
しい
既存のリスク評価⽅法
•
インシデントの深刻さや発⽣確率を,定性
的な表現,もしくは段階的なレベル分けに
よって評価
•
評価項⽬は製品に併せて修正しても良い
20 →ガイドブック p.19基本⽤語:リスク(risk)
21
•
ある脅威が,ある影響をもつ脆弱性を攻撃する確率
として表現される損失の期待値
計算⽅法
リスク = 資産価値 × 脅威の⼤きさ × 脆弱性の存在
= 深刻度 × 脅威の発⽣確率 × 脅威の成功確率
•
リスク値を計算すると,リスクを定量的に評価し,
対策の必要性,優先度を決めることができる
•
ただし,実際に計算するのは難しい
•
例えば,脅威の発⽣確率はどう計算するか?
基本⽤語:資産(asset)
•
ある組織の管理義務の元におかれている,物理的もしくは論
理的なもの
•
その組織において価値があると考えられている,もしくは実
際に価値があるもの
22
資産区分
例
情報
データベース及びデータファイル,システム関連⽂書,
ユーザマニュアル,訓練資料,⼿順書,計画書,代替⼿
段の⼿配,記録保管された情報
ソフトウェア資産 業務⽤ソフトウェア,システムソフトウェア,開発⽤
ツール及びユーティリティ
物理的資産
コンピュータ装置(プロセッサ,ラップトップ),通信
装置(ルータ,ファクシミリ,留守番電話),磁気媒体,
電源,空調装置,什器
サービス
計算処理及び通信サービス,⼀般ユーティリティ(例え
ば,暖房,照明,電源,空調)
⼈
保有する資格,技能,経験
無形資産
組織の評判,イメージ
JIS Q 27002:2006基本⽤語:脅威(threat)
•
セキュリティ・インシデント(事故,事件)の
潜在的な可能性
•
セキュリティを破る,または危害の原因となり
うる,状況,能⼒,振舞い,イベントがあると
きに存在するもの
23
脅威の分類
例
⼈為的脅威
意図的脅威 攻撃(不正侵⼊,ウイルス,改ざん,盗聴,なり
すまし,など)
偶発的脅威 ⼈為的ミス(ヒューマン・エラー),障害
環境的脅威 環境的脅威 災害(地震,洪⽔,台⾵,落雷,⽕事,など)
基本⽤語:脆弱性(vulnerability)
•
システムの,完全性またはセキュリティポリシの違
反に繋がりうる,システムの設計,実装,運⽤,管
理上の⽋陥または弱点
•
セキュリティホール:ソフトウェア製品やウェブ
アプリケーションなどにおけるセキュリティ上の
問題箇所
•
⼈為的なミス:個⼈情報やカード情報等が,適切
なアクセス制御のもとで管理されていない
24
ステップ1:旧システムにおける資産リストの作成
25資産
重要度
所有者・所有物
価値の対象
⾃動⾞(⾞庫の中の物)
物理的価値
可⽤性
居住者
健康
個⼈情報
電⼦鍵
物理的価値
格納されている情報
(鍵情報)
パスコード
情報
他に資産があれば追加する 相対的な重要度(今回は1(低)〜5(⾼)段階)を決める インシデントの深刻度=資産(重要度)の侵害議論のポイント
資産リストについて
•
追加した資産はあるか?
•
重要度はどう決めたか?
リスク分析結果について
•
許容する/できないリスクの境界は?
•
対策が必要な脅威・脆弱性(旧システムに
おける対策漏れ)は⾒つかったか?
26
成果:旧システムにおける資産リストの作成
27資産
重要度
所有者・所有物
価値の対象
1
2
3
4
⾃動⾞(⾞庫の中の物) 物理的価値 4 4 3 4 可⽤性 4 3 2 4 居住者 健康 5 5 5 5 個⼈情報 5 4 1 3 電⼦鍵 物理的価値格納されている情報 5 2 1 4 (鍵情報) 3 1 5 5 パスコード 情報 5 2 4 5 ⾞庫の装置⼀式 3 会員証 1 住居の家財道具 3成果:旧システムに対する脅威分析とリスク評価
28 分析シートから⼀部抜粋
演習③:新システムにおける脅威分析
⽬的
•
新システムにおけるセキュリティの脅威を洗
い出す
•
経営者,開発者向けに,新システムに関する
新しい脅威と,対策の必要性を説明する
⽬標
•
セキュリティカードもしくはAttack Treeなど
の⼿法を⽤いて,新システムに関する脅威を
出来る限り列挙し,表にまとめる(45分程
度)
•
脅威分析の過程で,守るべき資産が⾒つかった場
合には資産リストに追加する
•
旧システムにはなく,許容できないリスクが
存在するか検討する(15分程度)
29新システム案:
シャッター開閉システム「スマートオープナー」
30シャッター
シャッター制御装置
制御コンピュータ
スマートフォン
(バッテリで動作)
iOS と Android アプリを提供
(外部企業に開発を委託)
利⽤者の⾃宅
開閉利⽤者
インターネット ルータ 3G/LTE WIFI インターネットリモートオープナー社
サーバ(⾃社に設置) パスコード による開閉装置 ⾞庫・⾃宅内に設置各機器の概要
リモートキー(スマートフォン)
•
事前に登録したスマートフォンから,インターネット経
由でシャッターの開閉を制御できる
•
「開く」ボタンと「閉まる」ボタンの2つ
•
ドアの状態が変わった時には,情報を記録するとともに,
スマートフォンでメールを受信するもしくは通知をプッ
シュする
•
RKE(Remote Key Entry)の仕組みは変えない
サーバ
•
スマートフォンとインターネットルータを仲介
•
スマートフォンからの命令や,シャッターの開閉状態を
管理
制御コンピュータ,シャッター制御装置(納品物)
•
変更なし(電源は⾃宅のコンセントから供給)
インターネットルータ(納品物)
•
サーバと制御コンピュータを仲介
31セキュリティカード
•
Adversaryʼs Motivation=敵対者の動機
•
Adversaryʼs Method=敵対者の⼿法
•
Adversaryʼs Resource=敵対者の資源
•
Human Impact=⼈間への影響
32トップダウン分析:Attack Tree
33アタックゴール
(危害の発⽣,資産の侵害)
サブゴール
脆弱性
+
脅威
対策(具体的な⽅法,
コスト等)
攻撃者の視点で,脆弱性+攻撃⽅法を列挙
→リスク値に応じて対策するかどうかを判断
問題:設計者(攻撃経験のない者)が
,
アタックゴールや攻撃
⽅法を考えるのは容易ではない
分析の抽象度
によって段数
は異なる
HAZOP的な⽅法
DFD(Data Flow Diagram)を使⽤した例
34
書換え
処理
整備担当者
(ツール)
制御 プログラム制御
コンピュータ
動作ログ制御
処理
診断
処理
故障診断 実⾏命令 ソフト更新 実⾏命令 最新の プログラム 動作ログ 動作 ログ 制御プログラム 制御 命令制御
対象
制御 命令 診断結果 更新処理結果•
データの流れやプロセスに着⽬し,セキュリティの特性(例
えばC・I・A)を侵害する脅威(逸脱)事象の影響を考える
•
防⽌すべき脅威に対してのみ,脆弱性の存在を詳細に分析
→トップダウン分析よりは脅威の列挙が容易と思われる
脅威導出を⽀援する⾔葉(ガイドワード)の例
35S
poofing (なりすまし)
T
ampering (改ざん)
R
epudiation (否認)
I
nformation Disclosure (情報漏えい)
D
enial of Service (サービス拒否)
E
levation of Privilege (特権の昇格)
http://msdn.microsoft.com/ja-jp/magazine/cc163519.aspx分析対象
ガイドワード
サービス
Omission(提供されない)
Commission(違うサービス
が提供される)
Early(早い)
Late(遅い)
データ,
機器
Probe(信号を拾う)
Scan(状態を取得する)
Flood(⼤量に送る)
Authenticate(認証を試みる)
Spoof(なりすます)
Bypass(バイパスする)
Modify(変更する)
Read(読み込む)
STRIDE
我々の提案
議論のポイント:旧システムの分析結果との⽐較
資産リストについて
•
新しく追加された資産はあるか?
•
重要度はどう決めたか?
リスク分析結果について
•
許容する/できないリスクの境界は?
•
(旧システムにはない)新しい脅威・脆弱
性は⾒つかったか?
36
成果:新システムにおける資産リストの作成
37資産
重要度
所有者・所有物
価値の対象
1
2
3
4
⾃動⾞(⾞庫の中の物) 物理的価値 4 4 3 4 可⽤性 4 3 2 4 居住者 健康 5 5 5 5 個⼈情報 5 4 1 3 電⼦鍵 物理的価値格納されている情報 × 2 1 4 (鍵情報) 3→5 1 5 5 パスコード 情報 5 2 4 5 ⾞庫の装置⼀式 3 会員証 1 住居の家財道具 3成果:新しく追加された資産
38資産
重要度
所有者・所有物
価値の対象
1
2
3
4
スマートフォン 物理的価値 4 情報 5 インターネットルータ 物理的価値 3 情報 2 サーバー 情報 5 アプリ 情報 3成果:新システムにおける脅威分析結果
39 分析シートから⼀部抜粋
成果:新システムにおける脅威分析結果
成果:新システムにおける脅威分析結果
41
成果:新システムにおける脅威分析結果
42