サイト内の現在位置

[Practical Cloud Security:ピックアップ解説] 第一章 脅威アクター・責任共有モデル

NECセキュリティブログ

2019年12月6日

私が担当するブログでは、O'Reillyから出版されている「Practical Cloud Security[1](以下、本書)」の内容を取り扱います。
今回は1章で気になったところをピックアップして解説していきます。
次回の私のブログでは2章を解説していこうと思います。

脅威アクター

脅威アクター(Threat Actor)という用語をこの本を読んで初めて知りました。(これはあまり日本では馴染みのない用語だと思うのですが、みなさんご存知でしたでしょうか?)
脅威アクターとはセキュリティに問題を引き起こしうる存在(エンティティ)のことを指します。これは攻撃者と同じように見えますが、実際には異なります。Webopedia[2]によると、脅威アクターは攻撃者のようなデータを窃取してセキュリティインシデントを起こす人のことも含みますが、それ以外にも過失やミスなどでセキュリティインシデントを起こす人も含みます。したがって、脅威アクターは意図的かどうかに関わらずセキュリティインシデントを起こす可能性のある人と言えると思います。
本書では考慮すべき脅威アクターとして次の4つが挙げられています。

  • お金目的の犯罪組織または単独犯
  • 他者の評価を落とすことが目的のハクティビスト
  • お金か他者の評判を落とすことが目的の内部犯
  • 機密情報の窃取や他者の評判を落とすことが目的の国家

脅威アクターはシステムに対してどんなリスクがあるかを考える際に役立ちます。リスクを考える際、現状としてどんな脅威があるかをよく把握する必要があります。これには本書でも紹介されているVerizonのデータ侵害調査レポート(2019 Data Breach Investigations Report)[3]が参考になります。データ侵害のためにどんな攻撃手法が使われているかや、業界によってどんな攻撃を受けやすいかがまとめられています。エグゼクティブサマリーだけでもぜひ読んでみてください。

責任共有モデル

クラウドといえば必ずと言ってもいいほど責任共有モデルの話が出てくると思います。
ここでは、クラウドプロバイダとクラウド利用者の責任の線引きの考え方の面白い例と、クラウドサービスにおいて責任が共有される部分について示します。責任共有モデルと聞くと「そんなのもう理解しているよ」と言う人が多いとは思いますが、本書によれば現実はそうではないようです。
本書によると、ITの意思決定者(IT decision makers)の77%が「パブリッククラウドのプロバイダにはクラウド上の顧客のデータのセキュリティに責任がある」と答えました。さらに、同じくITの意思決定者の68%は「パブリッククラウドのプロバイダには顧客が用意したアプリケーションのセキュリティに責任がある」とも答えました。責任共有モデルを正しく理解していれば、これらは明らかに間違いだとわかります。
(本書ではバラクーダネットワークスの2017年の調査[4]を参考にしており、この記事から情報元を確認しようとしましたが、残念ながらリンクが途中で切れていました。)
クラウドサービスの種類によってクラウドプロバイダとクラウド利用者の責任の境界線が異なりますが、これらの調査結果を見るときちんと理解されていないことが多いようです。
本書ではクラウドプロバイダとクラウド利用者の責任の境界線を簡単に理解するための面白い方法として、PaaS(Pizza as a Service)が紹介されています。これは元はAlbert Barronの記事[5]で紹介されているオリジナルの考え方です。

Pizza as a Service

出典: Albert Barron[5] (2014)

ピザを食べるためにはいくつかの選択肢があります。ひとつは自宅で自分でピザを作ることです。ただし、ピザの材料・道具・場所はすべて自分で準備する必要がありますし、料理も自分でします。
他にも宅配ピザを頼んだり、飲食店で注文する選択肢もあります。
オンプレミスはピザを自宅で作るようなものです。オンプレミスでは必要な機材などのコンポーネントを自分で用意して構築する必要がありました。
IaaSを利用する場合、ピザの生地とトッピングなどのいわゆるピザ作りセットは提供されます。提供された物を焼いたり、さらにサラダや飲み物を追加することもできますが、それらについての責任は利用者にあります。
SaaSを利用する場合はすべて用意されており、利用者に責任はないように見えますが、そうではありません。利用者にはピザを安全に食べる責任があり、例えば料理を急いで食べて喉をつまらせたとしても飲食店に責任はありません。
クラウドの場合、クラウドプロバイダと利用者の間で境界線を引くことができず、責任を共有する部分があります。

shared responsibility model

出典: Chris Dotson[6] (2019)

曖昧なところではありますが、原則として自分が壊すことができるものに対してセキュリティの責任を持つと考えるといいと思います。
IaaSの場合、ネットワークセキュリティの責任は共有されます。クラウドプロバイダは自身が管理するネットワークについては責任があります。しかし、一般的にクラウドでは表面上に見えるのは仮想ネットワークであり、利用者はこの仮想ネットワークを適切に管理する責任があります。利用者の責任で行われていることの例としてはファイアウォールや伝送路の暗号化などです。
PaaSの場合、ミドルウェアのセキュリティの責任は共有されます。クラウドプロバイダはミドルウェアをアップデート(または、利用者がアップデートし易いような環境を用意)する責任があります。一方で利用者にもミドルウェアの通信暗号化など、ミドルウェアのセキュリティに関する設定について管理する責任があります。
最後に注意点として、データアクセスのセキュリティは常に利用者の責任です。これには例えば、ストレージ・ミドルウェア・SaaSへのアクセス権限の管理などがあります。本書では責任共有モデルを理解していなかったために起きたと思われるセキュリティインシデント例が挙げられています。以下に挙げるインシデントはAWS S3バケットが設定ミスでインターネットに公開されていたのが原因で起こりました。

  • アメリカの1億9800万人の有権者情報
  • 自動車の自動追跡サービス会社のデータベース情報
  • 電気通信事業者の顧客情報
  • 300万人以上の人口統計調査記録
  • 50万人以上のインド市民の信用情報

責任共有モデルについて再確認し、このようなセキュリティインシデントが起きないようになるといいですね。
本ブログが少しでもみなさんの役に立ち、安心・安全な社会に少しでも寄与することを願っています。

参考資料

執筆者プロフィール

宮崎 駿(みやざき しゅん)
セキュリティ技術センター セキュリティ実装技術チーム

社内のセキュア開発推進・自動化に従事。
システムを堅牢化し“衛る”実践力を競う「Hardening II SecurEach」グランプリ。「Hardening II SU」 MVV(Most Valuable vendor)賞受賞。