フリー株式会社がGMOサイバーセキュリティ byイエラエ株式会社と共同実施したレッドチーム演習の全貌が明らかになった。
会社全体をスコープとした9ヶ月間の包括的検証では、AWS環境への侵入を模した実戦形式の攻撃シナリオが展開され、ブルーチームは実質的に事前通知なしの本番さながらの緊急対応を迫られた。クレデンシャル窃取から情報漏えいの疑い、そしてサービス停止の検討まで ―― 演習とはいっさい知らないままインシデント発生に対峙した防御側が下した判断とは。
※ 本稿は、2024年10月26日に開催されたIERAE DAYS 2024で行われた講演「freeeのプロダクトセキュリティとレッドチーム演習」のレポート記事です。講演は、演習での報告内容を基に、各種改善施策を実施の上行われました。組織体制や改善施策の状況等については、講演当時のまま記載しています。● 登壇者と役割、所属チーム
IERAE DAYS 2024講演「freeeのプロダクトセキュリティとレッドチーム演習」では、クラウド会計ソフト等を展開するフリー株式会社(以下、freee)とセキュリティ専門企業GMOサイバーセキュリティ byイエラエ株式会社(以下、GMOサイバーセキュリティ byイエラエ)の関係者5名が登壇し、freeeで実施したレッドチーム演習の概要と知見を共有した。
登壇者は、freee PSIRTから越智郁と臼井雄亮、GMOサイバーセキュリティ byイエラエから高度解析部アプリケーションセキュリティ課課長の西谷完太、同課 山崎啓太郎、そしてSOCイノベーション事業部 早川敦史の5名である(本文中敬称略)。
発表冒頭で、freee PSIRTの越智は、2022年1月の同社PSIRT加入以来、脆弱性診断体制の刷新に取り組んできた経緯を説明した。演習で越智はホワイトチーム(レッドチーム演習の運営側)として全体統括を担当。同じくfreee PSIRTの臼井は、元セキュリティベンダー出身、普段はレッドチームとして活動するが本演習ではブルーチーム(防御側)として参加した。
GMOサイバーセキュリティ byイエラエの西谷と山崎は攻撃側レッドチームを担当。早川は、SOCイノベーション事業部として本演習の評価を担当した。
● freee PSIRT概要
freeeは「スモールビジネスを、世界の主役に。」というミッションのもと、会計・人事労務・販売管理などの業務領域をカバーする統合型クラウドサービスを提供している。多様なプロダクト展開により、攻撃対象面(アタックサーフェス)が広く、さまざまなセキュリティリスクへの対応が求められる。
freee PSIRTのミッションは、インシデントの予防・早期検知・早期解決を通じて、被害を最小限に抑え、プロダクトの堅牢性を維持することにある。一般的に「SIRT」は「インシデント対応部門」と理解されがちだが、freee PSIRTはそれにとどまらず、DevSecOpsの浸透など開発プロセス全体にセキュリティを組み込むことを目標に活動している。
● レッドチームとブルーチームの体制とその相互補完関係
freeeにおけるプロダクトセキュリティ体制の中核には、攻撃側(レッドチーム)と防御側(ブルーチーム)という、サイバーセキュリティの標準的な役割分担が存在する。同社ではこれを単なる分担として捉えるのではなく「相互補完的関係性」のもと運用している点に特徴がある。縦割りにそれぞれの業務を行うのではなく、レッドチームが攻撃手法を洗練させることで、ブルーチームはその攻撃をキャッチアップして検知対応を行い、双方の継続的・相互的な循環を通じて、両者がともに高めあい成長するという考え方だ。
● 課題認識からレッドチーム演習へ
2023年秋時点で、ブルーチーム側はログ収集体制が安定し、ある程度の攻撃を検知し対応できる水準に達していた。一方でレッドチームは継続的に小規模な脆弱性診断を実施しており、診断精度やカバレッジは向上していたものの、サービスのリリース件数の多さから、日々診断業務に終始する状態となっていた。
こうした状況を踏まえ、freee PSIRTでは「現在の体制や対策の実効性を、より客観的かつ包括的に評価したい」というニーズが高まっていった。経験則や感覚に頼るのではなく、具体的に「できている点」と「できていない点」を明確化する必要性が認識され、レッドチーム演習の実施へとつながった。演習は、おそらく日本で最も攻撃側の知見やメンタリティを有する企業のひとつ、GMOサイバーセキュリティ byイエラエに依頼した。
● 企業全体を対象とした高精度のレッドチーム演習を実施
freeeが実施したレッドチーム演習は、従来行ってきた脆弱性診断とは異なり「会社全体」をスコープとする大規模かつ高度な検証であった。単なる個々のアプリやシステム等の診断ではなく、企業全体にまたがるシステム、サービス、人、プロセス全てを含めた包括的視点で行われた点が大きな特徴である。
● 演習体制:レッド・ブルー・ホワイトの三者構成
レッドチーム演習の主催はfreee PSIRT、攻撃側(レッドチーム)をGMOサイバーセキュリティ byイエラエが担当し、防御側(ブルーチーム)はfreee社内のセキュリティチームが対応にあたった。
・レッドチーム(攻撃担当):GMOサイバーセキュリティ byイエラエが担当、対象企業へ侵入し設定したゴールを目指す
・ブルーチーム(防御担当):freeeの社内チームが担当、攻撃の検知・分析・対応を行う
・ホワイトチーム(運営・評価):両チームの調整役を担い、演習を無事進める進捗管理と終了後の評価を行う
なお、事前に攻撃が行われることは(実質的に)ブルーチームには通知されず、一部のホワイトチームメンバーのみが認知していた。演習プロセスは以下の5ステップで構成された。
・事前準備・演習プラン決定
・偵察フェーズ(攻撃準備)
・侵入フェーズ(実際の攻撃)
・対応評価(検知とレスポンスの確認)
・SOC評価(運用能力評価)
「事前準備・演習プラン決定」の演習準備から、「SOC評価(運用能力評価)」の完了まで、約9ヶ月の期間を要した。演習実施フェーズは2024年1月のキックオフから6月末まで、およそ半年間。
通常、この種のレッドチーム演習はセキュリティ上の理由から社内でも非公開で実施されることが多い。しかし、本番環境を対象とする演習はfreeeとして初めての取組であったこともあり、万が一の場合のユーザーへの影響を考慮して、企画段階から社内Slackのパブリックチャンネルで演習計画を事前に告知するという方針を採用した。
● 緊急速報への対応と運用上の課題
偵察フェーズ中に、レッドチームによってゴール(侵入達成)に直結する可能性のある情報が発見される事態が発生した。このときfreee側には「たとえ演習であっても、通常のインシデント対応フローをそのまま適用するべきか」という課題が浮上した。しかし、通常フローを適用すれば時間をかけて準備した演習の価値が損なわれかねない。一方でセキュリティリスクを放置することもできない。その結果、演習であることを説明しつつ個別に対応を依頼するという、手動運用で対応した。
この経験から得られた重要な教訓のひとつが「ホワイトチームには重大な意思決定権を持つ人物を含めるべき」という点である。freeeではこの反省を踏まえ、リスク管理部門の責任者をホワイトチームに正式に加えることで運営体制を見直した。以降はアラートが発生した際に即座にチームが集まり、状況の記録や対応方針の判断を迅速に行える体制が構築された。
● 攻撃対象の選定と通知なき本番侵入の開始
偵察フェーズの完了後、レッドチーム演習は次のステップである攻撃対象の選定フェーズへ移行した。この段階でレッドチームから「freeeが保有している可能性のあるドメイン一覧」が提出され、ホワイトチームがその内容を精査。攻撃対象となるドメインリストが確定された。
対象の確定を経て、いよいよ本番の侵入テストフェーズに入る。今回の演習では、「実際の攻撃と同等のリアリティを確保する」という方針のもと、事前にfreee社内の関係チームへ通知を行わない決定がなされた。先に記載したように、演習の実施予定自体は、半年以上前に越智によってSlackのパブリックチャンネルを通じて社内共有されていたが、実際の演習開始時にはその情報は社内でほぼ忘れられていたと推測される。「あえて気づかせないことに意味がある」と判断し、ここで再度の通知は控えた。
かくして、演習としての侵入活動が静かに開始された。
● 重大インシデント対応:AWS環境への侵入を模したシナリオ
そしてある日、freeeのブルーチームは、特定プロダクトのAWS環境に対する不審なアクセスというインシデントに直面した。AWSの異常検知サービスAmazon GuardDutyによって、通常とは異なるIAMロールの使用が検知されたことから発覚した。
ブルーチームが即座に対応にあたった結果、当該IAMロールに関して、担当エンジニアから「使用に覚えがない」との回答が得られ、状況の深刻さが明らかとなった。さらに調査を進めたところ、そのIAMクレデンシャルが、freeeの管理下にない外部AWS環境から使用されていた事実が判明した。
● 情報漏えいの疑いと緊急対応体制の発動
この異常な認証情報の使用に加え、同一のIPアドレスからAmazon S3バケットに対する大量のGetObjectが観測され、ファイルのダウンロードが進行している可能性が高いと判断された。
一連の挙動から、ブルーチームは「クレデンシャル情報が不正に取得され、S3バケットの中身が外部に流出している可能性がある」と評価、freee社内では、状況の深刻さを受けて、広報、カスタマーサポート、リスク管理部門、経営層、インフラエンジニアなど関係各所が迅速にインシデント対応の場に集結した。日頃から整備されていたインシデント対応プロセスはこの緊急時においても円滑に機能した。
ただしこの時点では、実際に情報漏えいが発生したか否かの確証はない。だから「攻撃を受けている可能性があるが、何が起きているかはまだ不明瞭」という不安定な状況である。最悪の場合、該当サービスの一時停止も選択肢として検討され得る。
このときホワイトチームの越智は、演習の成否を左右する重要な局面に立たされていた。ブルーチームから「止める(サービス停止)」という言葉がささやかれ始めた。ここで演習であることを明かせば状況は即座に収束するが、それではブルーチームの真の対応力を測ることができない。一方で、実際にサービス停止に至れば顧客への影響が生じる可能性もある。この緊張と責任の狭間で、ホワイトチームの面々は介入を控え、ブルーチームの判断を注視し続けた。
● 被害最小化のための徹底調査へ
その後、freee PSIRTは、サービス停止という最終手段を回避するためにも、影響を局所化する方針で迅速に詳細調査に移行した。調査では、疑わしいアクセスの経路や範囲を精査し、関連するリソースの状態を確認するなど、状況把握と封じ込めに注力した。
● インシデント調査フェーズ:被害状況と侵入経路の解明
侵入アラートの発報を受けて、freee PSIRTは総動員で調査に着手した。初動において特に焦点を当てたのは、以下の3点である。
1. なぜこの事象が発生したのか(侵入経路)
2. 何が行われたのか(影響範囲)
3. どこまで被害が広がる可能性があるか(将来的なリスク)
調査の結果、当初懸念されていたS3バケットからの大量データ取得については、情報漏えいには該当しないことが判明した。アクセスされたバケットは、もともとPublicとなっていたもので、格納されていたデータも非機密性のものであったからだ。また、念のため、誤って機密情報が配置されていないかも確認されたが、問題は確認されなかった。このため、S3アクセスに関しては「実害なし」と判断された。
● クレデンシャルの漏えい状況と影響範囲の分析
次に焦点となったのは、漏えいが疑われたIAMロールのクレデンシャルの使用実態である。SIEMを使ったログ調査の結果、攻撃者によるアクセスは確認されたが、全てのアクションがエラーでブロックされていたことが明らかになった。具体的には、クレデンシャルを用いて権限昇格や各種API操作が試みられた形跡があるものの、いずれも失敗に終わり、実際の被害は発生していなかった。このため、同インシデントについても「未遂で終わった」と判断された。
● 侵入経路の特定と再発防止策の検討
そしてチームは、インシデントの根本的な原因を明らかにするため侵入経路の特定に注力した。当初は、万が一に備え内部関係者によるアクセスの可能性も検証されたが、社内ネットワークや従業員による関与を示す痕跡は一切確認されず、この線は早期に除外された。
外部からの侵入経路としてSSRF(Server Side Request Forgery)攻撃の可能性が浮上した。調査によって、WAFが一部攻撃を検知・ブロックしていたことがログから確認されたものの、攻撃者はその回避を図り、一部リクエストを成功させていたことが明らかとなった。結果として攻撃者はWAFをバイパスしてSSRF攻撃を成立させ、あるインスタンスに紐づくIAMロールのクレデンシャルを取得することに成功。このインスタンスと攻撃に使用されたクレデンシャルの関連性も、ログ分析により特定された。
この段階で freee PSIRTは、侵入経路の特定と影響範囲の把握に成功。ただちに該当するIAMロールの無効化や権限見直しなど止血対応に即時着手し、さらなるリスクの拡大を防ぐ体制が整えられた。
まず、脆弱性が存在していた該当プロダクトの開発チームに対し、修正の緊急依頼を発出。どのような形で脆弱性を修正すべきか明示した上で、実装対応を迅速に進めた。
また、今回バイパスを許した検知手法に対し、センサーのルール追加や検知ロジックの強化を実施。将来的に同種の攻撃を確実に検知できるよう、監視体制の見直しと常時監視の強化も同時に行われた。
● 状況の整理と最悪シナリオの回避
この時点でおよび関係部門は以下のように状況を整理した。
・S3バケットからのデータ取得は情報漏えいに該当せず(公開前提データのみが含まれていた)
・IAMクレデンシャルの悪用は未遂であり実害なし
・SSRF脆弱性は修正済み
・今後の再発防止策も対策済み
これらの対応が奏功し、当初想定されていた「サービス停止」という最悪のシナリオは回避された。
● 不審挙動の検証とシナリオ介入の発覚
ただしこれで完結したわけではない。ブルーチームは新たな疑問に直面していた。SSRF脆弱性による攻撃が成立していたものの、通常であれば突破不可能なはずの防御機構を攻撃者が通過していたのである。ログ分析や再現検証を繰り返したが、技術的根拠が見つからず、チームは完全に行き詰まった。
このタイミングで、ホワイトチームから事実の開示、つまりネタばらしが行われた。技術的に突破不可能とされていた箇所の通過については、演習設計上のシナリオとしてホワイトチームが介入して攻撃を成立させたことが明かされた。
ようやく、インシデント対応にあたっていたブルーチームのメンバーが「これは演習であり現実の攻撃ではなかった」という事実を知ることとなった。根拠を求めて調査を続け、サービス停止という重大判断まで検討していたのだから、全くの実戦そのものとして対応していたことを示している。
● 評価フェーズへ ── MITRE ATT&CKを用いたSOC評価の実施
最後に演習の最終段階、仕上げとしてGMOサイバーセキュリティ byイエラエによるSOC評価フェーズが実施された。評価は「ログ取得状況」「検知状況」「対応判断」の3つの観点で行われた。
また、国際的な攻撃手法フレームワークMITRE ATT&CKに基づいて演習内容が技術的に整理・マッピングされた。この分析により攻撃がどのような技術に基づき、どのように検知され、どのように対応されたかを体系的に評価することが可能となった。
この評価には、freeeから提供されたログやアラート情報が使用され、各インシデントについて、「発生した攻撃の手法」「検知の有無とタイミング」「実施された対応内容」「ログに基づくエビデンスの有無」の観点で定量的なスコアリングと文書化が行われた。
最終的にこの結果をまとめた冊子形式の評価レポートが作成され、関係者間で共有され、演習全体の報告会が開催された。形式は一方向のプレゼンテーションではなく、双方向のディスカッション形式で行われ、予定されていた2時間のうち約1時間半を活発な質疑応答と意見交換が占めた。
レポートは今後のセキュリティ強化施策に向けた客観的な改善指針として機能するとともに、freeeのセキュリティチームが自らの対応力を継続的に見直すための基礎資料となる。
レッドチームからは、攻撃手法の意図やアプローチの工夫、狙いどころなどが詳細に説明され、ブルーチームからはマッピング内容に対する解釈の確認や、検知環境に応じた評価基準に関する議論が交わされた。
● 評価と対話を通じた気づきと改善
その議論の中で印象的だったのは、freee側からの「自社のセキュリティ体制について、事前により明確に共有しておくべきだった」という内省の声だった。特にSOC評価では、検知・防御能力を正しく評価するには、その前提となるセキュリティ運用体制 ― どのようなログが取得されており、どの範囲が監視対象になっているか、検知ルールはどう構成されているか ― を明確に知らせる必要がある。この反省を受けfreee PSIRTは、自社の体制や用語(たとえば「センサー」と呼ぶ検知基盤の構成など)について、評価者側と改めて詳しい情報共有を行った。
● 総括と今後の展望──継続的改善に向けた土台構築
演習の総括として、freeeのブルーチームが「攻撃を正面から受け止められる状態にまで成熟している」ことが確認できた点は、大きな成果として位置づけられた。同時に、演習を通じて大小さまざまな課題も浮き彫りとなり、すでに改善計画として具体的な施策に落とし込まれ、現在も改善活動が継続中である。レッドチーム側にとっても、外部の専門家と協働しながら偵察、侵入、評価という一連のプロセスを実地で体験できたことは、今後の自社内レッドチーム運用における解像度向上につながる貴重な機会となった。
演習で得られた評価結果や知見は、freeeのセキュリティ施策全体に反映されており、同社は今後も引き続きプロダクトセキュリティの強化に注力していく。
最後に、演習全体を通じて協力したGMOサイバーセキュリティ byイエラエに対し、freee側から改めて感謝の言葉が述べられ講演は終了した。

