ピーク時には国内の Web トラフィックの3分の1を占めるようなアクティビティのセキュリティはどのようにすれば守れるのでしょうか?このブログでは、その方策を、クラウドサービス、特にAWS(Amazon Web Services)、のセキュリティの観点で考察します。可能性があるさまざまな攻撃経路を包括的に理解し、速やかに対応する準備を整えておくことがポイントになります。

 

たいていの会社では、おそらく毎日多くのエンドユーザーがクラウドサービス仮想マシンにアクセスする状況にあるでしょう。アクティビティの量によっては、クラウドにアクセスするIPのうち、どれが正当な権利があり、どれが不適切なものかを判断するのが難しい場合があります。

そこで、AWS 使用へのセキュリティ監視に関して、サイバーセキュリティ分野で10年以上の経験を持ち、現在 Netflix で勤務する Will Bengtson 氏にお話を伺いました。

クラウドプロバイダが懇切丁寧に教えてくれることは期待できないので、Bengtson 氏が利用しているツールは、大いに参考としたいものです。

優れたツールを利用

Bengtson 氏は、Netflix で働いており、複雑なクラウドインフラストラクチャを管理する必要があります。ストリーミング・サービスがピークに達すると、Netflix のトラフィックが米国のインターネットトラフィックの3分の1を占めます。この「正気でない」ような状況にも対処しなくてはなりません。Netflix では、「ピークトラフィックが発生すると予想される時間と場所に応じて、スケールアップまたはスケールダウンします。」

Netflix にアクセスする IP アドレスは膨大な数に上り、しかも頻繁に変更されるので、すべてを完全に把握しきれるものではありません。

したがって、何かの不審なシグナルがあるかどうか監視しようとするとき、必ずしも直接的なアプローチをとることはできません。データ量のタイミングによる変動や単にその量の膨大さだけを見ても、セキュリティ確保のために少し異なったアプローチが必要なことがわかります。

Bengtson 氏は、何十万もの異なるIPがアクセスしているときに不審なアクティビティを監視するのに、実際に役立つ優れたツールを利用しています。

クラウドのセキュリティ脅威のコントロールは困難

セキュリティ対策は常に大変ですが、特にクラウド環境のセキュリティ対策は困難です。それでも、役に立つツールは存在します。

1. IAM

AWS のアイデンティティ管理である IAM は、Netflix にとって不可欠なツールになっています。「AWS 内でアクセス権を所有し、チームに配布するようにしています。最小特権のアイデアを有効活用しています。」と、Bengtson 氏は話しています。

2. CloudTrail

AWSのリスク監査を行う CloudTrail も有用なツールです。

「クラウド環境にどのようなサーバーがあるかを把握しようとすると、CloudTrail に行きつきます。」と、Bengtson 氏は説明します。あるアカウントのある時点でのインスタンスについて記述できます。フィンガープリントのようなもので、必要が生じたときに遡ってチェックできるよう、記録をとり続けます。CloudTrail は、監視に加えて、パーミッションを取り消すのにも使用できます。

「このところよく CloudTrail を利用しています。イベントがあればそれが何を意味するかを掘り下げたり、何がログに記録されているかをチェックしたり、CloudTrail に記録されたイベントが疑わしいものかどうかを判断したり、というように。」

3. Repokid

Repokid は、API の観点から、何が使用可能であり、何が実際に使用されているのかを調べるツールです。

「CloudTrail のデータを Repokid と組み合わせて使うことでパーミッションを取り消すことができ、しっかりしたコントロールができるようになります。必要と思われるより少しだけ上のパーミッションでサーバーをデプロイし、その後に取り消すと実際に何が使用されているかが確認でき、動的な対応が可能になります。」と、Bengtson 氏は話します。

これは膨大な作業ですが、実際にはかなりターゲットを絞っています。

Bengtson 氏は基本的にはホワイトリストに登録されたIPのデータベースを構築し、過去のイベントに基づいて、人々がアクセスするパターンがどのようなものであるかをチェックしています。

サイズが膨大で環境が複雑過ぎるので、AWSに「今この時点でどうなっているのか」と、いちいち確認することはできません。「それで、サービスをスピンアップしてスピンダウンするときにテーブルを構築するようにせざるを得ません。」

「初めてクレデンシャルを取得して使用するときは、そのIPアドレスに対して権利を主張していることになります。ですから、最初に主張されたものが正規のものであるとの前提に立って、その最初に主張されたIPから逸脱したものは潜在的に疑わしいものと考えられます。」何らかの警告を示すフラグが立ったものが必ずしもすべて疑わしいとは限りませんが、調査は必要になります。何かが不正なのかもしれず、あるいは示された警告について理由がわかっている場合もあるでしょう。

サーバー側のリクエスト偽造(Server Side Request Forgery 、SSRF)

次に、Bengtson 氏は、比較的新しい攻撃として注目されている「サーバー側のリクエスト偽造(server side request forgery (SSRF) )攻撃」について語ってくれました。

SSRFは、アプリケーションの脆弱性を利用して、直接アクセスできないサーバーにアプリケーションから偽造したリクエストを出させることにより、サーバーを攻撃します。

「アイコンを取得する場所等を設定できるようにしたアプリケーションの脆弱性が利用された例など、複数を確認しています。」と、Bengtson 氏は述べています。

サイバー犯罪者は脆弱性を見つけて、アプリケーションから、レデンシャル情報が格納されているクラウド内のすべてのインスタンスに添付されるメタデータサービスにアクセスさせます。

「アプリケーションに細工して、メタデータサービスにアクセスさせます。そして、クレデンシャル情報をローカルマシンに入手し、そのクレデンシャルを使うことができるようになります。」

そのため、クレデンシャル情報が環境外でいつ使用されたかを検出できる必要があります。

SSRF でアプリからのクレデンシャル情報を悪用しようとすると、攻撃者が自分のシステムからクレデンシャル情報を使用しているため IP が変更されているか、リクエストがそのサーバー自体から出されていることになります。IPの上にあるいくつかのユーザーエージェントをチェックすることによって、このような攻撃を検知することができます。

メタデータで公開されているクレデンシャルについても確認する必要があります。基本的に、自分がいるサーバーについて AWS が追跡するすべてのメタデータを見つけることができます。

しかし、クレデンシャル情報は短期間しか存続せず、1〜6時間ごとにローテーションされます。攻撃者がメタデータサービスからクレデンシャル情報を取得しても、有効期間は限られています。

その他の攻撃ベクトル

最近最もよく目にするようになったのは、おそらく SSRF だと、Bengtson 氏は考えます。「攻撃者が、いつでもクラウドを使っている他人のクレデンシャル情報を入手できるとすれば、彼らはその手段を利用し続けるように思われます。」

ただ、メタデータの情報がローテーションされていることによって、武器化への時間的余裕が少なくなっていることも事実です。対処法も進化するでしょう。

Bengtson 氏は、次に大きな問題になりそうなのはサプライチェーン攻撃だろうと指摘します。サプライチェーン攻撃は、特定の企業をターゲットにして、その企業がどのような種類の技術を使用しているかを把握した上で、バックドアから攻撃をしかけるものです。

サイバー犯罪者は、ますます巧妙に脆弱性を見出し、すぐさま悪用しようとします。企業側のネットワークとアプリケーションの防御態勢が強化されても、攻撃者は別の方法を次々に考え出そうとするでしょう。

Bengtson 氏が昨年 Black Hat で行った講演は、こちら からアクセスできます。氏のツイッターは、@__muscles (アンダースコア2つです!)です。

Tags