チームワークでサービスを守る! 実践型セキュリティ総合演習「Hardening(ハードニング)」

チームワークでサービスを守る! 実践型セキュリティ総合演習「Hardening(ハードニング)」

ヤフーでは、自社サービスに降りかかるサイバー攻撃を想定した、セキュリティの実践演習「Hardening(ハードニング)」を2016年から毎年実施しています。
演習のなかで次々と発生するサイバー攻撃にエンジニアが中心となって対応する一方で、情報漏えいの被害者であるユーザーや報道機関からの問い合わせが次々と舞い込み、サービス責任者やCS(カスタマーサポート)、広報担当は対応に追われるという、体験型の演習です。

「突然、画面におかしな画像が表示された」
「サイトの内容が書き換えられた」
「サイトが落ちて商品が購入できなくなった」
「SNS上に悪意のある書き込みをされ、炎上した」
「お客様がクレームを言うために来社した」

このような問題が発生してしまったとき、エンジニア、サービス責任者、CS、広報担当者は、それぞれどのような対応をするべきなのでしょうか? 2018年10月に実施した「Yahoo! JAPAN Hardening 2018」の内容をもとに、そのノウハウをまとめました。

Hardening(ハードニング)を実施する目的

2018年のヤフーのHardening(ハードニング)には、グループ会社7社の社員も含め106名が参加。12チームに分かれて演習を実施しました。
インシデントはいつ起こるかわからないものです。実際にインシデントが起きたときにできるだけ冷静に判断、対応をするためにも、事前に同様の事例を経験しておくことが大事です。そして、その経験を積んでいる社員がグループ内に増えれば、その社員からアドバイスをもらえるため、グループ全体の対応力を上げることにつながると考えています。

今回実施したシナリオ

株式会社「アンセキュア」は、一部上場企業。年商180億円、日に5千万円を売り上げる人気のショッピングサイトを運営しています。国際的にも脚光を浴びている「盆栽」を販売するサイトに加え、最近オープンしたファッションサイトは売り上げが好調で、老若男女問わず注目するサイトに成長しました。

現在、関係者のほぼ全員が開業15周年を記念した海外のレセプションパーティーの真っ最中です。システム開発メンバーも、簡単なシステム資料のみを残してパーティーに参加しています。システムの構成を熟知しているメンバーはすぐにサポートできる状況ではなく、手元にある仕様書も最低限の情報のみ。すべての判断を残っているメンバーで実施しなければなりません。

今回、この「株式会社アンセキュア」がサイバー攻撃を受けてしまったという設定で演習を行いました。
責任者やシステム開発メンバーが不在の中、チームワークで、顧客や株主、取引先、報道機関などのステークホルダーとコミュニケーションを行い、インシデントを乗り越えることが今回の演習のゴールです。

Hardening(ハードニング)における役割分担

画像
(今回のHardeningにおける役割分担)

BLUEチームは攻撃を受けるチームで、以下の役割に分かれて演習を行います。

1)サービス責任者
・現場運営の責任者を担い、サービスの運営状況を把握する
・対応が長期化することも視野に入れ、メンバーの休息タイミングなども考慮

2)広報
・迅速かつ、積極的に情報開示する。事故が起きているときこそ誠実に対応することで、会社の印象がプラスになる可能性も
・メディアからの問い合わせに正確に答えられるようFAQを作成する
・どの情報を社外に出すか検討、判断する
・必要であれば記者会見などを行い、正確な情報が報道機関、お客様に伝わるようにする

3)CS
・お客様からの問い合わせ(メール、電話、直接来社)に対応する
・チームメンバーと連携してサービスの状況を把握し、質の高い問い合わせ対応ができる体制をとる

4)エンジニア
・サーバーやネットワークを監視し、インシデントの挙動を捉える
・システムの設定等を見直し、堅牢化(けんろうか・hardening)する
・インシデントに対する早期対応による影響の最小化など

5)企画
・売り上げ向上施策の検討・実施
・インシデント発生時におけるサービス運営のあり方を追求する

画像
(BLUEチーム)

これに対し、攻撃を行うのがREDチームです。

  • サイバー攻撃を行うハッカー役
  • 掲示板に書き込みをする役
  • サイトについて問い合わせをするお客様役と報道機関役

画像
(REDチーム)

Hardening(ハードニング)で行われた攻撃

今回の演習で行われた攻撃の一部をご紹介します。

1)掲示板やSNSへの書き込み
Yちゃんねる(演習内での架空の掲示板サイト)には、
「某社の元社員が猛毒盆栽を所持していたとして逮捕」
と書き込まれました。
この投稿をきっかけに、Yちゃんねるには「見ただけで死ぬ盆栽」「根を引き抜くときに叫び声をあげる盆栽」などの健康被害に関する情報がとびかいました。また、「プライバシーなし子?」と書かれた投稿も。

攻撃の目的はサイトを落とすことだけではなく、その会社の信用を落とすことである場合もあります。会社にとってのリスクは、サイトが見られなくなったり不具合が発生したりすることだけではなく、掲示板などからうかがえる、顧客からの評判が悪化する危険(レピュテーションリスク)もそれにあたります。
そのようなときに、どう対応するか、掲示板やSNS上の書き込みにいかに早く気づけるかもとても大切です。あらかじめ防御策を実施しておくことや、いざというときの対応策を決めておくことなどは可能です。

画像
(架空の掲示板「Yちゃんねる」の画面)

2)サイト改ざん
プライバシーポリシーのページが書き換えられてしまったチームがありました。
このように、サイトを落とさず内容を書き換えるという攻撃をされることもあります。こちらは、正しいサイトの状態を把握しておくことで気づける場合もあります。

3)お客様からの問い合わせ
掲示板やSNSでの炎上などを見たお客様からの電話、メール、直接来社などへの対応の内容も、会社の信用を保つためとても大切です。早く情報を出せばいいというわけではなく、「正しい情報をできるだけ早く出す」ことが求められます。

4)情報漏えい
架空の報道機関Aから、本演習の舞台となっている株式会社アンセキュアにおいて個人情報流出の疑いがあるとの報道がありました。
また、架空の報道機関Bからも「アンセキュア社から流出したとみられる顧客情報ファイル、20種類以上が確認された」と報道されました。
これを受け、各報道機関が一斉にアンセキュア社に電話をいれはじめました。ここでは広報担当の対応力が問われます。

5)端末乗っ取り(ランサムウエア)
端末を乗っ取られたり、端末が一時的に使用不能となる攻撃を受けたり、デスクトップに大量のファイルを置かれたりと次々に攻撃を受けました。

画像
(記者会見を開いたチームもありました)

Hardening(ハードニング)終了! 高評価のポイントは?

演習終了後、参加した12チームが自チームの対応について振り返りました。インシデントへの対応方法は一つだけではない上に「これが正解」というものもありません。今回参加した12チームのいろいろな対応方法を知っておくことで、今後の対応の参考にできるかもしれません。

1)コミュニケーションや役割分担

  • 長時間の対応になるため、お昼ご飯をきちんと食べたりお茶を飲んだり、適度に休憩することは大切
  • 各担当の役割が決まっており、各自が何をやるか把握していた
  • (出張中の)社長への報告を適宜入れていた(状況報告、営業をいったん自粛してほしいと頼むなど)
改善ポイント
  • チーム内のコミュニケーションルールがあいまいだった。報告、連絡、相談を行う時間を別途設ければよかった
  • 実際に対応を始める前に職種の中での役割分担をしておくべきだった。それぞれの職種の中での分担が可視化できていなかった
  • 集中力がとぎれてしまう時間帯がある。集中力を維持していく工夫が必要

画像
(ホワイトボードで情報を共有しているチームが多くみられました)

2)脅威への対応

  • インシデント対応の順位づけができていた。事象への対応に終始せず、目的に向かう障害を特定した上での戦略的な対応が大切
  • CSや広報の対応方針をインシデント発生前に明文化し、サービスからの回答を統一できた
  • バージョン管理やドキュメント整備が重要だと再認識できた
改善ポイント
  • 全体的な影響範囲などの可視化が不足
  • 優先順位をつけずに対応したので、目先の対応に追われてしまった
  • 社外にどうメッセージを出すか、どういう内容を出すかの判断が難しかった

画像

また、職種別のフィードバックも行われました。

エンジニア
「攻撃に対して防御ができていた」「サーバーと端末の両方にバランスよく対策していた」というフィードバックが多くありました。課題としては「攻撃に気がつき対策を実施できたが、防止策まで施せていればなおよかった。攻撃や防御の手法の再確認をしたほうがよさそう」という指摘を受けたチームがありました。

CS
「ユーザーの立場に立った、かつ正確な回答」を早く行っていたこと、伝えるべき情報を素早くプレスリリースなどで展開することを広報担当に提案したチームがプラス評価となりました。
また、障害が復旧できないときに他のECサイトを紹介したチームも、お客様に寄り添おうとする姿勢、ユーザーファーストを感じられたと高評価でした。

広報
事前にFAQがきちんと準備できていたり、報道機関からの問い合わせに正確な情報を提供しようとエンジニアに確認しながら対応したりしたなどの姿勢が高く評価されていました。

画像
(広報担当がプレスリリースの配信や記者会見の実施を判断)

サービス責任者、企画
情報のコントローラーの役割を作って常に動き回って確認や声がけを行ったり、場の雰囲気を明るくするよう努めたりするなど、場づくりについて評価されていたチームがありました。
また、コミュニケーション対応方針を決めてチームで共有していたことや、障害報告がタイムリーで、その後のおわびと情報公開も早かったことで、攻撃の影響は受けていても、ユーザーからの信頼を失わずにすんだチームもあります。

画像
(評価フィードバック。タイムラインでも振り返ることができます)

Hardeningで体感してほしいのは「感度」「温度」「速度」

今回の演習をサポートいただいた、株式会社ラック エバンジェリスト/株式会社川口設計代表取締役の川口洋さんからは、以下のようなコメントをいただきました。

川口さん:
インシンデントが起きるときは、「セキュリティって○○の仕事だよね」と思っている人がいるとき、です。
また、被害が拡大するのは、
・初動対応が遅れたとき
・社内連携ができていないとき
・「まあ大丈夫でしょう」と思っているとき
です。今回の演習では皆さんが自分ごととして取り組んでいただきました。
この気持ちこそが皆さんのサービスを守っていくものだと思っています。

今回のシナリオでは攻撃者の姿を、
・ハクティビスト:(自己主張)※1
・ビジネス集団(本気)
・元社員(内部犯行)
を設定して組んでいますが、どれも実際に行われる可能性があるものです。
※1:ハクティビスト
政治的または社会的な主張のためにハッキング行為を行う。自分の主張を知らしめる、または注目を浴びることを目的に活動し、標的型攻撃のように隠れて活動しないこともある。

画像

この演習で体感してほしいことは「感度」「温度」「速度」です。
実際にインシデントに直面したときには「(前に対応を)やったことがある」というくらいでないと対応できません。本番環境でトラブルを起こさないよう作業し「あれ、ここおかしい?」と思える「感度」。そして、ほかの業務の人にもトラブル対応を強くお願いする、割り込める「温度」と「速度」が必要です。

・企画、サービス責任者は、売り上向上、プロモーション
・エンジニアは、現状把握、堅牢(けんろう)化
・CS、広報は、原因調査、お客様や報道機関への説明

それぞれの立場で意識していることは異なっていたと思います。しかし、いざインシデントが発生した際には、お互いの立場を理解して協調して動かなければ立ち向かうことができません。今回の演習がその実践の場となったことでしょう。

また、攻撃者はいきなり明らかなサイト改ざんはせずに目立たない改ざんをしたり、社内から見ると異常がなく、社外の一般ユーザーからは改ざんされたサイトが見えるようにしたりという攻撃をすることもあります。常日頃からサービスの変化に気がつけるかを意識してほしいです。
「ユーザーから自分たちのサービスがどのように見えているか、使えているか」を常に確認することが大切です。

今回のみなさんの対応の中から、私がファインプレーだと思ったものをいくつかご紹介します。

1)情報を全員で共有していた
CS担当者が電話対応していているときにハンズフリーにしてみんなで聞いていたチームがありました。電話を受けている人の「温度」をチームで共有したことがとてもよく、こうすることで相手がどのくらい本気のクレームを伝えてきているのかを伝言ゲームにならず共有できます。

2)タイムリーな情報提供
インシデント発生後、すぐにサービスサイトのメニューやコーポレートサイトに状況を知らせていたチームがありました。早く情報を出していくという姿勢がユーザーに伝わると思います。
また、サービスは落ちてしまっているがトップページに「お問い合わせはメールにてうけたまわります」とメールアドレスだけ表記していたチームもありました。「少しでもお客様からの声を拾いたい」という思いが表れています。

今回の演習に参加した方は、複数の事故が一度に起こったときにどうやって判断するか、対応するかの免疫力がついたのではないかと思います。
安心して安全に利用できるサービスをお客様に提供するための取り組みとして、この「Hardening」はとても大切な演習です。日ごろから「もしインシデントが発生したら、自分が担当している業務でどのように動けばよいのか」を意識しておくことは、とても意義があることだと思います。

画像
(川口洋さん)

責任は各現場にいる一人ひとりが持っている

また、ヤフーのシニアアドバイザーである工藤からは、以下のコメントがありました。

工藤:
実際の攻撃は単発では終わりません。攻撃を受けてサーバーが落ちたら、本当にサーバーを再起動していいか、というところから考え、判断する必要があります。そのうえでどの優先度で動くか、総合的に判断しなくてはいけない。ヤフーの場合は、お客様の情報を漏えいしない、データをなくさないことが何よりも大切です。
今回の攻撃演習をきっかけに、自社にどういう情報があるか認識し、どの情報を最優先に守るべきか、なにをリカバリーしなければならないかを見つめなおしてほしいです。
また、サービスは連携しているところが多いので、実際に攻撃されたときはチーム混成で取り組まねばなりません。たとえばAというサーバーが乗っ取られたとき、その影響がBやCのサーバーに及ばないかどうかという判断も必要です。
ヤフーグループ全体のセキュリティレベルを上げていき、お客様に信頼して使っていただくことが、 Hardeningの目標です。日々、今回の何倍もの攻撃を受ける可能性があるということを頭に入れておいてほしい。責任は各現場にいる一人ひとりが持っています。

画像

【Yahoo! JAPAN Hardeningとは】

インシデントなどにより、サービスが炎上するような状況の中、私たちが自分の役割の中でどう動いたらよいかを考え、協業し、乗り越えるチーム対抗競技形式の演習です。いざと言うときに何をするべきか、体験から学ぶことができます。
今年で3回目になるこのイベントは、インシデントを乗り越える体験から、思考力・判断力を強化する目的で実施しています。

【関連リンク】