• 検索結果がありません。

自己紹介 松並 勝 Chief Security Technology Officer ソニーデジタルネットワークアプリケーションズ株式会社踏み台攻撃の被害者 2000 年秋にレンタルサーバーが踏み台攻撃に遭い 2001 年 1 月からセキュリティ技術を学ぶためにセキュリティ業界へセキュアなソフトウ

N/A
N/A
Protected

Academic year: 2021

シェア "自己紹介 松並 勝 Chief Security Technology Officer ソニーデジタルネットワークアプリケーションズ株式会社踏み台攻撃の被害者 2000 年秋にレンタルサーバーが踏み台攻撃に遭い 2001 年 1 月からセキュリティ技術を学ぶためにセキュリティ業界へセキュアなソフトウ"

Copied!
45
0
0

読み込み中.... (全文を見る)

全文

(1)

セキュリティ設計(リスク分析)入門

ソニーデジタルネットワークアプリケーションズ株式会社

Chief Security Technology Officer

松並 勝

<[email protected]>

(2)

自己紹介

松並 勝

Chief Security Technology Officer

ソニーデジタルネットワークアプリケーションズ株式会社

踏み台攻撃の被害者

2000年秋にレンタルサーバーが踏み台攻撃に遭い、2001年

1月からセキュリティ技術を学ぶためにセキュリティ業界へ

セキュアなソフトウェア開発

セキュアコーディング、セキュリティ設計といった、最初か

らセキュアにソフトウェアをつくる方法論の普及啓発活動に

取り組む。主な成果物に以下のようなものがある

2002年 IPAセキュア・プログラミング講座

http://www.ipa.go.jp/security/awareness/vendor/programmingv1/

2012年~ JSSEC Androidアプリのセキュア設計・

セキュアコーディングガイド

https://www.jssec.org/report/securecoding.html

2

(3)

ソフトウェア開発におけるセキュリティ施策

脆弱性診断

(疑似攻撃)

仕様

設計

実装

検証

(コーディング)

ソースコード

静的解析

セキュリティ設計

(脅威分析)

設計文書

ソース

コード

バイナリ

実行

分析

対象

施策

開発

工程

• 脆弱なコーディングを

発見

• 広く実施されるように

なってきている

• 脆弱な仕様や設計を発見

• システムが安全であるこ

とを説明

• まだまだ普及していない

(4)

・・・

・・・

セキュリティ設計

(セキュリティを考慮した設計)

の難しさ

• 扱う情報に様々なタイプがあり混乱する

• 漏れなく対策できているのかとても心配になる

4

どんな攻撃者が

いるのか?

何が狙われるのか?

どんな脅威(攻撃)

があるのか?

どのように

防御するのか?

正しく暗号技術は

使えているか?

鍵管理は

どうするのか?

想定した攻撃に

漏れはないのか?

防御に漏れは

ないのか?

(5)

セキュリティ設計技術(≒脅威分析技術)

• さまざまなタイプの情報を交通整理して、

論理的に「システムがセキュアである」ことを

(6)

脅威分析は難しい・・・

6

https://www.amazon.co.jp/dp/4891004576

http://as.wiley.com/WileyCDA/WileyTitle/productCd-1118809998.html

脅威モデル

セキュアなアプリケーション構築

2005年

Frank Swiderski, Window Snyder 著

●モデルによってセキュリティを可視化

●STRIDEによる6種類の脅威の識別

関連書籍

Threat modeling

Designing for security

2014年

(7)

脅威分析

(8)

投影のみ 投影のみ 投影のみ 投影のみ 投影のみ 投影のみ

10年以上「簡単にする」試行錯誤を重ねてきた

8

(9)

今日の結論

• セキュリティ設計は実は難しくないので、

みなさん始めましょう!

• この後は、セキュリティ設計が「簡単である」

ことをご覧に入れます。

混沌の世界から

明瞭な世界へ

(10)

け ん こ

「賢庫」

スマホ対応金庫。

設計文書

Ver. 20160615

カシコイキンコ

(11)

商品概要

• スマホで開錠できる個人用

途向け金庫

• 開錠されたら手動で扉を開

けることができる

• 扉を閉めると施錠される

• 付属の物理鍵でも開錠でき

(12)

システム構成

• スマホと金庫はBLEで通信。BLE搭載マイコンがスマホからの

開錠要求を受信し、開錠メカを通じて金庫の鍵を開ける。

(13)

通信プロトコル

スマホから要求パケットを送信すると、金

庫が応答パケットを返してくる

– パケットロストを想定しスマホは応答パ

ケットを受信するまで再送を繰り返す

– 再送間隔は0.1秒、最大1秒間まで再送し、

応答がなければアプリで通信エラー表示

– パケットデータエラーはBLEのCRCで担保さ

れるので想定しない

パケット形式

– 状態要求

と その応答

– 開錠要求

と その応答

– 応答の★は00H施錠状態、01H開錠状態

– シリアル番号はスマホがインクリメンタル

に発番する値で、金庫が発する応答パ

ケットのシリアル番号は対応する要求パ

ケットのシリアル番号をそのまま使う

シリアル番号 2bytes 01H 1byte シリアル番号 2bytes ★ 1byte シリアル番号 2bytes 02H 1byte シリアル番号 2bytes ★ 1byte

(14)

金庫の物理構成

マイコン部 扉 保管領域

横から見た断面図

マイコン部は金庫の堅牢

な筐体によって物理的に

守られている

USBで電源供給

(15)

専用アプリ

• Androidアプリ

• Google Playで配信

• 開錠ボタンで金庫を開錠

• 金庫の施錠状態(開錠状

態か施錠状態か)を表示

• BLE通信圏外のときは圏

外と表示

開錠

賢庫アプリ

状態表示

操作

(16)

16

(17)

セキュリティ設計の全体像

• 大きく分けて3つの作業から構成される

作業の名称

作業の内容

セキュリティ

要件定義

対象システムのセキュリティが十分である

とはどういうことかを明らかにする

セキュリティ

設計分析

その通りに対象システムが作られている

かどうかを確認する

セキュリティ

設計変更

その通りに対象システムが作られていな

いとき、必要な設計変更を行う

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す

(18)

セキュリティ要件定義

18

作業の名称

作業の内容

セキュリティ

要件定義

対象システムのセキュリティが十分である

とはどういうことかを明らかにする

セキュリティ

設計分析

その通りに対象システムが作られている

かどうかを確認する

セキュリティ

設計変更

その通りに対象システムが作られていな

いとき、必要な設計変更を行う

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す

(19)

ユースケース図を使った要件定義

• ユースケース図がなければ作図する

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

ユースケース図

施錠確認する

扉を開ける

(20)

アクター

• セキュリティを考えるので第三者の存在もアク

ターに含める

20

アクター

説明

ユーザー 当該金庫の所有者

第三者

他のアクターに含まれない人

アクター一覧

第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

ユースケース図

施錠確認する

扉を開ける

(21)

(アクター, 資産, 操作)→デキゴト

• システムで生じるデキゴトはアクター、資産、

操作の組合せで表現できる

アクター

資産

操作

ユーザー

(が)

スマホ

対応金

庫シス

テム

(で)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

第三者

(が)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

デキゴト一覧

第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

施錠確認する

扉を開ける

資産 操作

(22)

アクター

資産

操作

ユーザー

(が)

スマホ

対応金

庫シス

テム

(で)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

第三者

(が)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

良いデキゴト

• アクターとユースケースの接続線は良いデキゴ

トを表現

22

デキゴト一覧

第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

ユースケース図

施錠確認する

扉を開ける

(23)

アクター

資産

操作

ユーザー

(が)

スマホ

対応金

庫シス

テム

(で)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

第三者

(が)

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

施錠確認する

扉を開ける

悪いデキゴト

• 接続のないアクターとユースケースの組合せは

悪いデキゴトになる

デキゴト一覧

(24)

悪いデキゴト(妨害)

• 良いデキゴトを邪魔する妨害があると、それも

悪いデキゴトになる

24

デキゴト一覧(妨害観点)

アクター

資産

操作

ユーザー

(が)

スマホ

対応金

庫シス

テム

(で)

開錠を妨害する 扉を開けることを妨害する 扉を閉め施錠することを妨害する 施錠確認を妨害する

第三者

(が)

開錠を妨害する 扉を開けることを妨害する 扉を閉め施錠することを妨害する 施錠確認を妨害する 第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

ユースケース図

施錠確認する

扉を開ける

妨害 妨害 妨害 妨害

(25)

アクター

資産

操作

ユーザー

(が)

スマホ

対応金

庫シス

テム

(で)

開錠を妨害する 扉を開けることを妨害する 扉を閉め施錠することを妨害する 施錠確認を妨害する

第三者

(が)

開錠を妨害する 扉を開けることを妨害する 扉を閉め施錠することを妨害する 施錠確認を妨害する

悪いデキゴト(妨害)

• ユーザーが(ユーザー自身を)妨害するのは自

業自得なので削除

デキゴト一覧(妨害観点)

削除

第三者

スマホ対応金庫システム

ユーザー

開錠する

扉を閉め施錠する

施錠確認する

扉を開ける

妨害 妨害 妨害 妨害

(26)

悪いデキゴト = 脅威事象

悪いデキゴト一覧

アクター

資産

操作

第三者

スマホ

対応金

庫シス

テム

開錠する

扉を開ける

扉を閉め施錠する

施錠確認する

開錠を妨害する

扉を開けることを妨

害する

扉を閉め施錠するこ

とを妨害する

施錠確認を妨害する

脅威事象一覧

脅威事象一覧

第三者がスマホ対応金庫システムを開錠する

第三者がスマホ対応金庫システムの扉を開ける

第三者がスマホ対応金庫システムの扉を閉め施錠する

第三者がスマホ対応金庫システムを施錠確認する

第三者がスマホ対応金庫システムの開錠を妨害する

第三者がスマホ対応金庫システムの扉を開けることを妨害

する

第三者がスマホ対応金庫システムの扉を閉め施錠を妨害す

第三者がスマホ対応金庫システムの施錠確認を妨害する

26

文にする

(27)

具体的な被害を連想する

脅威事象一覧 被害の有無 想定される被害内容 第三者がスマホ対応金庫システムを開錠する あり 第三者に金庫の扉を開けられ、中身(金塊など)を盗まれる 第三者がスマホ対応金庫システムの扉を開ける あり 第三者に金庫の中身(金塊など)を盗まれる 第三者がスマホ対応金庫システムの扉を閉め施錠す る なし 第三者が金庫の扉を閉め施錠すること自体は特に問題となるこ とはない(むしろ第三者は扉を開けて金庫の中身を盗むだろう) 第三者がスマホ対応金庫システムを施錠確認する あり 第三者に金庫の開錠タイミングを知られてしまい、ユーザーより 先に扉を開けられ、金庫の中身(金塊など)を盗まれる 第三者がスマホ対応金庫システムの開錠を妨害する あり 金庫の中身(金塊など)が盗まれることはないが、金庫の中身を 取り出せないという不便がある 第三者がスマホ対応金庫システムの扉を開けることを 妨害する あり 金庫の中身(金塊など)が盗まれることはないが、金庫の中身を 取り出せないという不便がある 第三者がスマホ対応金庫システムの施錠を妨害する あり 施錠したはずなのに実は開錠状態であると、第三者に金庫の中 身(金塊など)が盗まれる 第三者がスマホ対応金庫システムの施錠確認を妨害 する あり 金庫の中身(金塊など)が盗まれることはないが、施錠確認でき ないという不便がある

連想する

(28)

被害の大きさから対策の要否を判断する

• 判定基準の単純な例

(本入門用)

• 一般にはもう少し複雑なものが、

業界・組織の状況に合わせて用意される

– 被害1回の被害度合い × 被害が発生する頻度 → リスク値

– リスク値 → セキュリティ対策の頑張り度合い、など

28

リスク評価基準の例

リスク値

評価基準

セキュリティ対策の要否

財産被害

ユーザーの財産に被害が及ぶ

必要

不便

ユーザーの利便性が損なわれる

不要

被害なし

何ら被害が生じない

不要

(29)

リスク評価に基づき対策の要否を判断する

脅威事象一覧 有無 想定される被害内容 リスク値 対策要否 第三者がスマホ対応金庫システムを開 錠する あり 第三者に金庫の扉を開けられ、中身(金塊など)を盗ま れる 財産被害 必要 第三者がスマホ対応金庫システムの扉 を開ける あり 第三者に金庫の中身(金塊など)を盗まれる 財産被害 必要 第三者がスマホ対応金庫システムの扉 を閉め施錠する なし 第三者が金庫の扉を閉め施錠すること自体は特に問題 となることはない・・・ 被害なし 不要 第三者がスマホ対応金庫システムを施 錠確認する あり 第三者に金庫の開錠タイミングを知られてしまい・・・、金 庫の中身(金塊など)を盗まれる 財産被害 必要 第三者がスマホ対応金庫システムの開 錠を妨害する あり 金庫の中身(金塊など)が盗まれることはないが、金庫 の中身を取り出せないという不便がある 不便 不要 第三者がスマホ対応金庫システムの扉 を開けることを妨害する あり 金庫の中身(金塊など)が盗まれることはないが、金庫 の中身を取り出せないという不便がある 不便 不要 第三者がスマホ対応金庫システムの施 錠を妨害する あり 施錠したはずなのに実は開錠状態であると、第三者に 金庫の中身(金塊など)が盗まれる 財産被害 必要 第三者がスマホ対応金庫システムの施 錠確認を妨害する あり 金庫の中身(金塊など)が盗まれることはないが、施錠 確認できないという不便がある 不便 不要

評価する

(30)

セキュリティ要件定義

脅威事象一覧 想定される被害内容 セキュリティ要件 備考 第 三 者 が ス マ ホ 対応金庫システム を開錠する 第三者に金庫の扉を開けられ、 中身(金塊など)を盗まれる 第三者はスマホ対応金庫シ ステムを開錠できないこと 第 三 者 が ス マ ホ 対応金庫システム の扉を開ける 第三者に金庫の中身(金塊な ど)を盗まれる スマホ対応金庫システムが 開 錠 状 態 で あ る こ と を ユ ー ザーが認識できること 開錠状態の金庫は誰でも扉を開けることができて しまうので、第三者が扉を開けること自体を防ぐこ とはできない。ユーザーの不注意により開錠状態 のまま金庫が放置されることがないように対策。 第 三 者 が ス マ ホ 対応金庫システム を施錠確認する 第三者に金庫の開錠タイミン グを知られてしまい、ユーザー より先に扉を開けられ、金庫 の中身(金塊など)を盗まれる 第三者はスマホ対応金庫シ ステムを施錠確認できないこ と 第 三 者 が ス マ ホ 対応金庫システム の施錠を妨害する 施錠したはずなのに実は開錠 状態であると、第三者に金庫 の中身(金塊など)が盗まれる 第三者がスマホ対応金庫シ ステムの施錠を妨害できない こと

30

要件としてまとめる

(31)

セキュリティ要件定義

• 4つのセキュリティ要件が定義できた

作業の名称

作業の内容

セキュリティ

要件定義

対象システムのセキュリティが十分である

とはどういうことかを明らかにする

セキュリティ

設計分析

その通りに対象システムが作られている

かどうかを確認する

セキュリティ

設計変更

その通りに対象システムが作られていな

いとき、必要な設計変更を行う

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す

セキュリティ要件

第三者はスマホ対応金庫システムを開錠できないこと

スマホ対応金庫システムが開錠状態であることをユーザーが認識できること

第三者はスマホ対応金庫システムを施錠確認できないこと

第三者がスマホ対応金庫システムの施錠を妨害できないこと

(32)

セキュリティ設計分析(と設計変更)

32

作業の名称

作業の内容

セキュリティ

要件定義

対象システムのセキュリティが十分である

とはどういうことかを明らかにする

セキュリティ

設計分析

その通りに対象システムが作られている

かどうかを確認する

セキュリティ

設計変更

その通りに対象システムが作られていな

いとき、必要な設計変更を行う

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す

(33)

セキュリティ設計分析(と設計変更)

• それぞれのセキュリティ要件が達成されるよう

にシステムを設計/変更すること

1. まず現状設計で達成できているか確認する

2. もし未達である箇所があれば、設計を変更する

セキュリティ要件

第三者はスマホ対応金庫システムを開錠できないこと

スマホ対応金庫システムが開錠状態であることをユーザーが認識できること

第三者はスマホ対応金庫システムを施錠確認できないこと

第三者がスマホ対応金庫システムの施錠を妨害できないこと

(34)

• ルートノードが成立する根拠をツリー状に表現

• ノード分解(左ノードを右ノード群でより具体

的に表現すること)を繰り返す。これが難しい

セキュリティ設計分析

(35)

実はパターンでノード分解できる

• パターンがあれば悩まず

サクサク分解できる

パターン「攻防切り替え」 パターン「IFと構成要素で分解」 ブラック ボックス 表面IFへの攻撃 構成要素への攻撃 攻撃できないことを 説明しようとする NOT 攻撃できちゃうことを説明しようとする

(36)

実はパターンでノード分解できる

• 機械的にパターンを適用してノード分解できる

36

パターン「攻撃方法ごとに分解」

(37)

実はパターンでノード分解できる

(38)

末端ノードにはTRUEまたはFALSEの根拠を記載

38

• ライフサイクルを通して、

物理鍵は第三者の手に渡る

ことがないことが判明

(39)

脆弱性も発見できる

• 一方、第三者はスマホを使って金庫を開錠でき

ることが判明

• スマホアプリを認証していないことが原因

原因追跡 TRUEになってはいけない 設計変更して認証の仕組みを導入

(40)

まだまだある、パターンによるノード分解

40

(41)

なんのこれしき、パターンによるノード分解

パターン「マイコン攻撃の分解パターン」

(42)

セキュリティ設計分析(と設計変更)

42

作業の名称

作業の内容

セキュリティ

要件定義

対象システムのセキュリティが十分である

とはどういうことかを明らかにする

セキュリティ

設計分析

その通りに対象システムが作られている

かどうかを確認する

セキュリティ

設計変更

その通りに対象システムが作られていな

いとき、必要な設計変更を行う

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す セキュリティ要件1の設計分析図 要件2の・・・ 要件3の・・・ 要件4の・・・

すべてのセキュリティ要件を達成している説明になる

(43)

まとめ

• ユースケース図を使ったセキュリ

ティ要件定義の例を紹介した

– 他にもRWX法やSTRIDE法などがある

• パターンを使ったセキュリティ設計

分析の例を紹介した

– パターンを充実させれば分析者のセキュリティの

知識不足を補うことができる

• いずれも単純な手順で実施できるた

め、みなさんもセキュリティ設計を

始められる

セキュリティ

要件定義

セキュリティ

設計分析

セキュリティ

設計変更

要件を 満たすま で繰り返す

(44)

今日説明した分析方法を解説した文書

44

(45)

脅威分析研究会 SIGSTA

https://sites.google.com/site/sigstaweb/

• 脅威分析に興味を持つ組織・企業を

集め、脅威分析を普及させる活動

• 未開拓である「設計」領域のセキュ

リティ市場を創造するのが狙い

情セ大

大久保 隆夫

産総研

田口 研治

ソニーDNA

松並 勝

参照

関連したドキュメント

この数字は 2021 年末と比較すると約 40%の減少となっています。しかしひと月当たりの攻撃 件数を見てみると、 2022 年 1 月は 149 件であったのが 2022 年 3

( 同様に、行為者には、一つの生命侵害の認識しか認められないため、一つの故意犯しか認められないことになると思われる。

「社会人基礎力」とは、 「職場や地域社会で多様な人々と仕事をしていくために必要な基礎的な 力」として、経済産業省が 2006

○防災・減災対策 784,913 千円

脅威検出 悪意のある操作や不正な動作を継続的にモニタリングす る脅威検出サービスを導入しています。アカウント侵害の

関係会社の投融資の評価の際には、会社は業績が悪化

東京都環境局では、平成 23 年 3 月の東日本大震災を契機とし、その後平成 24 年 4 月に出された都 の新たな被害想定を踏まえ、

防災 “災害を未然に防⽌し、災害が発⽣した場合における 被害の拡⼤を防ぎ、及び災害の復旧を図ることをい う”