Skip to content

なぜ起きるクラウド経由の情報流出やクラウドへのサイバー攻撃 vol.2

先月の記事でクラウドからの情報流出やクラウドへのサイバー攻撃の要因としてIaaS(Infrastructure as a Service)における設定不備をあげ、設定不備の原因や対策について記載しましたが、今回は、IaaSにおけるサイバー攻撃のもう一つの大きな要因であるアクセスキーの漏えいや、PaaSやSaaSにおける情報流出のリスクについて触れていきます。

アクセスキーとは

IaaSは、管理画面(マネージメントポータル)からボタンを押すことでサーバを建てたりネットワークを繋げたりセキュリティ等の機能を利用したりできるものですが、これらの管理機能は、管理画面から手動で行うだけでなくプログラムによって操作することが可能です。また、プログラムによってIaaS上のリソースにアクセスすることも可能です。この際に用いる認証機能がアクセスキーです。要は「プログラムからIaaSにアクセスする為のキー」で、具体的にはID的なものとパスワード的な部分が組み合わさった「SIKDJFURFOIFERJUIDFIbirtndkfODwnHSVM/K8AZXC/kYhlkQAZXSHHHKEY」のような文字列です。
このアクセスキーは以下のようなケースで使用されます。

  •  システム管理者が、システムの管理や監視を行う際に、管理ツールや監視ツールからクラウドにアクセスするケース
  • 開発者が、サーバやネットワークの構築・設定やプログラムの配置などを行ったり、アプリケーションのテストを行ったりする際に、開発ツールからクラウドへアクセスするケース

特に開発においては、様々なツールが用いられます。オンプレミス(自組織でデータセンターやサーバを保有・運用する形態)であれば、テスト環境や本番環境等のネットワークにサーバや端末を接続し実施します。つまり、閉じたネットワーク内での接続になります。ところがIaaSにおいては当然ですが、インターネット経由でテスト環境や本番環境に接続する必要があります。このことは、柔軟に開発体制を構築できるというIaaSのメリットの一つでもありますが、同時に、第三者による不正なアクセスを許してしまうというリスクがあります。

どうしてアクセスキーが漏えいするのか

管理画面によるアクセスについても、第三者に認証を突破され不正にアクセスされてしまうリスクがあります。しかしながら、管理画面による(手動の)アクセスについてはID、パスワードに加え、多要素認証等による認証強化が可能ですが、アクセスキーによる(プログラムからの)アクセスについては、認証強化の手段を提供していないクラウドサービスが多く、アクセスキーの漏えいが即、不正アクセスに繋がってしまいます。
実際に、アクセスキーの漏えいによるサイバー攻撃の事例も少なくなく、攻撃者にストレージやデータベースにアクセスされ、重要な情報を窃取されたり、リソースを削除されたり、サービスを停止されたりする事例が発生しています。また、攻撃者によって、不正なインスタンス、つまりサーバが生成され、暗号通貨のマイニングが行なわれたり、スパムメールが送信されたりする事例も発生しています。特に、不正なインスタンスが生成され暗号通貨マイニングが行われる手口では、不正なインスタンスが大量に生成され、高額な利用料金が請求されるような事例も発生しています。

アクセスキー漏えいの原因と対策

アクセスキーの漏えいは様々な原因で起こり得ますが、留意すべき原因は以下の2点です。

1.不適切な保存
  アクセスキーをプログラムやツールに埋め込み、GitHub等のリポジトリに公開設定で保存してしまい
  漏えいする(公開リポジトリからアクセスキーを見つけ出す活動が常態化しています)

2.不適切な共有
  アクセスキーを複数のメンバーで共有しており、メールやチャット等で共有することで誤って外部に
  漏えいする


ただし、繰り返しになりますが、アクセスキーの漏えいは様々な原因で起こり得るため、漏えいの原因が明らかになっていないケースも少なくありません。

アクセスキー漏えいへの対策ですが、システム開発の局面では、多くの人によるプログラムやツールによるクラウドへのアクセス、つまりアクセスキーの利用が発生するため、この点を踏まえた対策がポイントとなります。

・アクセスキーの必要以上の共有を避け、それぞれの権限を必要最小限とする

・アクセスキーのローテーション
 定期的に新しいキーを生成し古いキーを無効化する

・未使用キーの無効化
 アクセスキーを棚卸し、未使用のキーを無効化する

・キーの安全な保存
 セキュリティが確保された場所に保存し、認証情報ファイルや環境変数から読み込む。プログラムやツールに
 埋め込んだり公開リポジトリに保存したりしない

 

これらの対策に加え、以下の対策を行うことで、万一、アクセスキーの漏えいが発生した場合でも被害を最小限に抑えることが可能です。

・アクセスキーの監視
 アクセスキーの利用状況を定期的にチェックし不審な利用を検知

・アクセス制御
 アクセスキーの漏えいを想定したアクセス制御とする(例えばAmazon S3等のオブジェクトストレージに
 対して外部からのアクセスが不要であればアクセス不可とする)

PaaSやSaaSにはIaaSと異なるリスクが

2020年12月Salesforceが、一部機能を利用する利用企業において、Salesforce上の一部の情報が第三者から閲覧できる事象が発生していることを公表しました。時期を同じくして、複数の企業が外部への情報流出の可能性を発表しています。
Salesforceのリリースによると、ゲストユーザに対する情報共有の設定が適切に行われていない場合にこの事象が発生するとのことで、利用企業に対しゲストユーザに対する共有設定の確認を呼び掛けたり、ベストプラクティスを公開したりしました。企業側のリリースを読むと、資料請求や問い合わせ、来店予約などでこの事象が発生したようです。これらのリリースから以下の事象が発生したと推測されます。

  • Salesforceの当該サービス(PaaSと思われます)では、認証等を行い特定のアカウントに紐づけてられていないアクセスにはゲストユーザが割り当てられる
  • 資料請求や問い合わせ、来店予約などは、ユーザ登録や認証を行わずに登録する仕組みであり、登録されたデータは同一のゲストユーザのデータとしてDBに保存される
  • 資料請求や問い合わせ、来店予約などの登録機能自体には、登録者自身のデータのみが参照できる仕組みとなっている
  • 一部機能について、共有設定が適切でない場合、ゲストユーザがゲストユーザの全データ、つまり他の登録者のデータも参照が可能となる

図


最近の例では、2023年4月ある企業が、関係者へ提供した資料の中に個人情報を含むデータを使用して作成したグラフがあったが、一定の操作を行うことで、元データが閲覧可能であったことを公表しています。この事例は、PaaSもしくはSaaSの機能を用いて作成したグラフを関係者と共有したところ発生したものですが、以下の点が原因として挙げられます。

  • グラフの元データに、そのグラフを作成するためには不要である個人情報が含まれていた
  • 共有設定を関係者のみ共有とすべきところ、誤って公開設定にしてしまった

PaaSやSaaSについては、ユーザ権限やアクセス制御、共有設定の適切な設定が極めて重要ですが、しばしば機能が多岐にわたっていたり設定が複雑だったりして意図していない設定となってしまうリスクがあります。企業のセキュリティ部門は利用部門に対してこのようなリスクがあるかを認識させたり、場合によっては、セキュリティ監査や設定レビューを実施したりすることも必要でしょう。

クラウドを利用するメリットは大きいものですが、そのメリットを享受するには十分なセキュリティ対策が不可欠です。クラウドサービス側で十分なセキュリティ対策が実施されているとしても、それはサービス側の責任範囲の部分であり、利用者側の責任範囲の部分については自分達でマネージメントしていく必要があるのです。この記事がクラウドの安心・安全な活用に少しでも貢献できれば幸いです。


コンサルタント、フリーライター。
三菱UFJ銀行で12年間サイバーセキュリティに従事し、その後、Transmit Security 日本支社共同代表を経て独立。現在はサイバーセキュリティに関するコンサルティングやアドバイザー業務を行うとともに、国土交通省最高セキュリティアドバイザーや日本シーサート協議会専門委員、⾦融ISAC個⼈賛助会員として活動している。