「やるなら徹底的に攻撃せよ」 Googleレッドチームのリーダーが語った演習の価値:CODE BLUE 2024レポート(1/2 ページ)
サイバー攻撃の手法が高度化・多様化する中、攻撃を疑似的に仕掛けることで防御力の強化を図るレッドチームの価値が高まっている。Googleレッドチーム担当者が演習を実施する際のコツや心構え、組織内でうまく信頼関係を築くポイントを語った。
転職先で順調に経験を積み、極秘の大型プロジェクトにも加わって充実した日々を過ごしていたある日、オフィスに「勤続4周年、おめでとうございます」というメッセージとともに、USBでPCに接続できるステキなノベルティグッズが送られてきたら、皆さんはどうするだろうか。サプライズプレゼントだと思って、疑いもせずに使ってしまっても無理はないだろう。
実はこれが攻撃の糸口となる可能性がある。USBデバイス経由で端末内の情報を探索し、その情報を足掛かりに横展開し、最終的には関係者になりすましてソーシャルエンジニアリングを仕掛けて新製品の情報を盗み取ろうとする――というシナリオは成立可能だ。
こんな風に、ありとあらゆる手段を使ってセキュリティ対応体制の課題をつまびらかにし、対策を検討していくのが「レッドチーム」の役割だ。
Googleのレッドチームに所属するステファン・フリードリ氏は「CODE BLUE 2024」の講演「Googleをハッキングする - 社内レッドチームの運営と成長の教訓」において、そんなレッドチームのミッションと運営上のポイントを説明した。
本稿は「CODE BLUE 2024」(2024年11月14〜15日)におけるステファン・フリードリ氏の講演「Googleをハッキングする - 社内レッドチームの運営と成長の教訓」の内容を編集部で再構成した。
「遠慮していたら意味がない」 Googleのレッドチームメンバーが語る演習の価値
実は冒頭に述べた例は、フリードリ氏らGoogleのレッドチームが実際に実施した演習の一例だ。
同氏らはこの演習で、眼鏡型端末「Google Glass」の開発に携わるチームの一員に、勤続記念のプレゼントという名目で、USBでPCに接続すると光るプラズマボールを送った。これは実は「BadUSB」と呼ばれる攻撃を実行するデバイスの一種で、端末に接続するとキーストロークなどを盗み取り、さらに悪意あるソフトウェアをダウンロードして実行できるものだった。
演習では、最終段階でそれまでに窃取した情報を使って「ピックアップのためにプロトタイプを用意しておいてください」と関係者に電子メールを送った時点で怪しまれ、未発表製品のプロトタイプを奪うところまではいかなかった。それでも「われわれはこうした演習を通して、知的財産に関心を持つ攻撃者が機密情報にアクセスできるかどうかを調査し、実現可能であることが判明しました」とフリードリ氏は振り返る。
一連の演習を踏まえ、レッドチームでは機密情報を真剣に狙ってくる攻撃者がどのようなTTP(戦術・技術・手順)を使うか、そして一連の行動によってどのようなログが残されるかをまとめて報告した。さらにBad USB経由での攻撃を防ぐ独自ツールをPythonベースで開発し、社内で実装するだけでなく「USB Keystroke Injection Protection」というオープンソースソフトウェア(OSS)として公開している。
「レッドチームのメンバーの中には、『ここまでしたら怒られるのではないか』と懸念する人もいました。しかし、これほど徹底した攻撃を受けたら何が起こるのかを確認するだけでも、レッドチーム演習をやってみる価値はあるのではないでしょうか」(フリードリ氏)
レッドチームは「ブルーチームのスパーリングパートナー」
フリードリ氏は5年前にGoogleに入社し、レッドチームを率いてきた。同氏によると、レッドチームも含め、攻撃者の視点で弱点を指摘する「オフェンシブ・セキュリティ」の取り組みは、もともとGoogleの「20%プロジェクト」から始まったものだという。
最近は日本でも「レッドチーム演習熱」が高まってきた。ただ、いわゆるペネトレーションテスト(ペンテスト)的なものを指して使われることもあり、定義にはブレがあるようだ。
Googleのレッドチームの場合、「攻撃者の立場で考え、行動することで、実際の攻撃者を検知し、対応し、阻止すること」をミッションに掲げているという。中でも重要なポイントは「攻撃者の立場で考えること」だとフリードリ氏は述べた。
「まずGoogle内部者のセキュリティエンジニアとしてセキュリティポスチャを改善し、従業員やユーザーを守ること、そして潜在的な攻撃者の視点で新しい攻撃ベクトルを探すこと。この2つの視点を持つことをチームには推奨しています」(フリードリ氏)
その上で同氏は「レッドチームが全ての問題を解決するわけではありません」と述べた。
攻撃者の視点に立って脆弱(ぜいじゃく)性を探す試みとしては、他にもセキュリティレビューや脆弱性診断、ペンテストといったさまざまな手段があり、それぞれに役割がある。
ペンテストであれば脆弱性を見つけることが目的になるが、レッドチームの目的は広範囲をカバーすることではない。「特定の目的を達成するために最も抵抗の少ない道筋を、技術的な、もしくは組織的な境界を越えて探すこと」であり、脆弱性を発見するのは単なる手段にすぎないという。
「レッドチームの最も重要な役割は、検知と対応の両面において、ブルーチームのスパーリングパートナーになることです」(フリードリ氏)
サイバー攻撃がいつ、どのようにやってくるかは分からず、コントロールもできない。ゼロデイ攻撃が悪用されることもあれば、内部不正が起きることもあるだろう。そんな中でのレッドチームの役割は、敵より先に脆弱性を発見して修正することよりも、プレイブックを試し、新たなシグナルを特定し、『何が見えていないのか』を浮き彫りにすることだ。こうした練習を通してルーティーンを構築しておくことで、いざインシデント対応が必要になったときにも、「確信を持って素早く動けるようになる」という。
他にも利点はある。一般にセキュリティチームが「脆弱性があるので対処してください」「古いアプリケーションをバージョンアップしてください」と呼びかけても、それがどのようなリスクにつながり、何が起こるのかがイメージできず、なかなか現場の腰が上がらないことが多い。
しかし「レッドチームでは、通常の攻撃者と同じように脆弱性を悪用し、ラテラルムーブメントを実行してゴールにたどり着くという攻撃の連鎖を経験できます」(フリードリ氏)。これによって、セキュリティ課題を個別に捉えるのではなく、一つのコンテキストとして具体的なリスクを示し、結果としてセキュリティ意識を高めることにつながる。
レッドチーム演習は一般に数カ月の時間を要し、コストもかかる。だからといって期待通りの結果が得られる保証はない。弱点だと思っていたのとは全く別のところから侵害を受けることもある。
フリードリ氏は、それでもレッドチームからは価値が得られるとし「いきなりギリギリを攻める手法を試すのではなく、現実的なことから積み重ね、チームとしての評価を確立させることが重要です。レッドチームは、一見危険に見えることでも安全に、かつ責任を持って実行できることを周囲に納得させる必要があります」と述べる。
同氏は続けてレッドチーム演習を実施する中で気が付いたポイントを説明した。
レッドチームでは前述の通り、個々の脆弱性やリスクの一覧表といった技術的なトピックではなく、一つのコンテキスト、つまり「ストーリー」を伝えられることがポイントだ。ストーリーを伝えて共有体験を作り出すことで、技術に関する知識がそれほどない人でも攻撃者をイメージでき、理解を得られる。
フリードリ氏は「初期の頃は技術的な侵入経路だけをまとめていました。しかし敵がどのようにして目的に到達したかという『ストーリー』というセクションを追加したところ、組織の取り組みや改善努力が劇的に高まりました」と振り返る。
また、そうしたストーリーを伝える工夫として、想定され得る攻撃者をベースにリアルなシナリオを作成することも重要だ。一口に攻撃者と言っても、国家の支援を受けた攻撃者からハクティビスト、あるいは不満を抱えた従業員などさまざまな可能性が考えられ、それぞれにモチベーションや目的が異なる。結果として、攻撃のプロセスも異なってくるはずだ。
「ストーリーに加えて、演習ではレッドチーム側でどこがうまくいかなかったのかもきちんと伝えるべきです。それは、もし実際に攻撃者が侵害を試みた場合に苦労しそうなポイントそのものだからです」(フリードリ氏)
Copyright © ITmedia, Inc. All Rights Reserved.