サイバー攻撃における対応力を養う「Hardening(ハードニング)」を開催

サイバー攻撃における対応力を養う「Hardening(ハードニング)」を開催

10月20日、サイバー攻撃への実践力を養うための演習型研修「Hardening(ハードニング)」を、ヤフーの東京本社で初めて開催。社内のエンジニアやお客様対応担当者、企画担当者など約60人が参加しました。

参加者は7つのカンパニーごとに企画、エンジニア、デザイナー、CS(お客様対応)、広報の担当者でチームを構成。
約7時間にわたって、このイベントのために構築したサーバー上で、架空の通販サービス「ヤホー」を運営し、チーム間で売上高を競い合いました。
演習中には、サイバー攻撃によるサイトダウン、コンテンツの改ざんやデータベースの内容書き換えといったトラブルが起こる中、セキュリティ対策をしたり、攻撃に遭った場合は復旧対応をしたりと、売上高への影響を最小限に抑えるための取り組みを各チームで行いました。

トラブル発生時の対応力を養うことを目的とするこのイベントを主催した、セキュリティエンジニアの石切山に、このイベントの開催の経緯、そして、攻撃を防ぐために日ごろから心がけておきたいことなどを聞きました。

- このイベントを開催したきっかけを教えてください。

Hardening(ハードニング)」とは、Web Application Security Forum(通称WASForum)(※1)、という、オープンなコミュニティーが主催しているセキュリティイベントで、年に2回くらい、コンスタントに行われています。

(※1)Web Application Security Forum:
2004年に発足した、非営利の任意団体。ウェブアプリケーションのセキュリティにかかわる課題を研究し、安全性向上のための情報を共有することにより、適切な対策や構築手段に関する有効な情報を普及啓蒙することを活動の目的としている。

参加者は、最初はエンジニアが多かったのですが、回を重ねるうちに、ビジネス決定をする立場の方やマネージャーの方なども参加してくださるようになってきています。私は学生時代からこのイベントに参加していて、社会人になった今も有休を利用して参加しています。
ヤフーのエンジニアがWASForum の方に「ぜひこのイベントをヤフーでもやりたい!」と相談したところ、 「御社にこのイベントに参加している方がいますよ」という話になったそうで、そのつながりでお声がけいただいたことが今回の開催のきっかけです。

開催が決まってからは、まずイベントで使う開発環境について検討しました。
ヤフーの開発環境は社内独自技術も多く、一般的なものとは少し違います。ヤフーでエンジニアやデザイナーが使っている環境とまったく同じものを用意するのか、今回は競技なので学んでほしいものをピックアップして、普段とは違う環境で開催するのか、企画段階でかなり検討し、今回は社内とは違う、仮想の競技用の環境を用意して行うことにしました。

image


チーム内でどれだけ共通認識を持てるかが勝敗の決め手に

- 今回はCS、広報、企画担当者も参加していましたね。

エンジニアだけではなく、ビジネスの判断をする立場の人にもぜひ参加してもらいたいと思いました。そして、ヤフーで開催する時に一番やりたかったのは、お客様から寄せられるお問い合わせやご意見を、社を代表して受けているCSチームメンバーのことを、社内にもっと知ってもらうことでした。
イベントの主旨を事前にCSや広報の担当者に相談したところ、「そういうイベントをずっとやりたかった、でも自分たちだけではできなかったので、ぜひやらせてください!」と言ってくれたんです。
CS担当者は、各チーム1名ずつの予定だったのですが、「もっとメンバーを参加させたい」と3人参加しているチームもありましたね。

image
image
image

(イベント会場にはお客様相談室のエリアも)


- このイベントでは、どこが勝敗を分ける決め手となったのでしょうか。

とても基本的なことですが、目の前で起きていることについて影響範囲を把握し、お客様にどれだけ影響が出るかについてチーム内で共通認識を持てているかどうかがが大切です。
そして、その上で「何を守るためにこういう対応をする」という方針が出せることでしょうか。

image


サービスを止めることは決してマイナスなことではない

- このイベントでは、具体的にどんなトラブルが起こったのですか?

今回は、ECサイトの運用をしてもらいました。お客様が買い物をして、売り上げが上がるというビジネスモデルですが、攻撃によってサーバーがダウンしてしまいます。
エンジニアはその原因を究明して、復旧する必要がありますが、その間もお客様は買い物がしたいのに買えなかったり、購入ボタンを押したのに手続きが完了しないままだったりしました。このようなトラブルは、現実にも起こる可能性があることです。

そのようなトラブルが起こった時のお客様のフォローや、サイトをいったん復旧だけさせるのか、ダウンした原因がはっきりするまで止めて、解明してから再開し「もう安全です」とアナウンスするのかなどについても考える必要があります。
各チームがどういうポリシーのもとで運用していくかを、限られた時間の中で決めなければなりません。

image

(サイト上にお知らせを表示することも大切です)

- イベント中、各チームの対応で印象に残っているものはありますか?

クレームは、まず「買い物ができません」からはじまりました。また、今回のイベントでは、お客様の購入の履歴が攻撃で消されたというものもあったため、「過去にこれを買ったんだけど、届いていない」というクレームも。なかには購入していないのにそのようにクレームを言ってきたお客様がいるというシナリオでした。
これらのシナリオは、実際にあったことを元に作成しています。

このような場合、普段バックアップをどのようなタイミングで取っているかが重要です。
あるチームは、バックアップをちゃんと取っていたので、何時何分の購入履歴までは戻すことができ、その時間以降に購入したお客様を特定しおわびのご連絡をしていました。

また、サービスを止めるのか続けていくかという判断では、1チームだけ、サービスを止める判断をしていました。
原因を究明してから再開すると決めて社長にも連絡を入れていますし、お客様に対してもちゃんと報告していました。そのような対応ができたのはそのチームだけでし、サービスマネージャーの英断だなと思いましたね。
アクシデントが起きた時の対応の仕方に、それぞれのチームが普段担当しているサービスならではの特徴も出ているなと感じました。

サービスを止めることは決してマイナスなことではないと考えています。
イベントでは、参加している何時間かをしのいでしまえば終わりなんですが、現実のサービスはそうではありません。たとえその日の売り上げが上がったとしても、まだ原因がわからないまま再開して、そこで信用を失ってしまったら、その売り上げ以上の損失が出てしまう可能性もありますから。

image
image

(サイトがダウンするというシナリオも)


- 石切山さんは今回、どのような役割で参加したのですか?

私は今回、 PM(プロジェクトマネージャー)としてこのイベントの全体構成を考えるところに関わらせてもらいました。
また、エンジニア・広報・CSの連携部分も含め、 実際にどのような攻撃をするかシナリオを検討し、イベント当日は攻撃側のメンバーに指示を出す立場として参加しました。

攻撃のやり方がわからないと守ることができないので、どういう状況のところにどう攻撃をすると被害が出るのかがわかり、今後のセキュリティ対応に生かせそうです。
また、技術的な攻撃手法は理解していたものの、それが実際にサービスを運営している人たちにとってどれだけのダメージが出るのかはやってみないとわからなかったので、「そうか、やっぱりこれはかなりダメージを受けるんだな」と実感できたことも貴重な経験でした。

「セキュリティ」というと、エンジニアにしか目線がいかないことが多いんですが、実はエンジニアだけが頑張ってどうなるものではないんです。ビジネスとして、サービスを継続していくために大事なものは、他にもたくさんあります。それを参加者に実体験として持って帰ってもらいたい、というのが、このイベントを開催した目的でした。
また、社内でいろいろなセキュリティのお知らせが出ていますが、それらをやらないとどうなるんだっけ? ということも、実際に体験してもらわないとわからないんですよね。今回のイベントでは、対応をしなかったことでサーバーは落ちるし、手元のパソコンはいきなり再起動するし、対策をとらないとこれだけ大変な目にあう、ということを参加者全員が実感できたと思います(笑)

image

(後列左が石切山)

image

(CISO室セキュリティ推進室の太田)

チームメンバーの価値観を近くで理解しながら危機に立ち向かうことができた


- 参加した社員からはどんな感想がありましたか?

参加者の声で一番面白かったのが、社長役の社員が「まず社長のところには報告には来ない。社長は孤独なんだな……」と言っていて(笑)
シナリオ上は社長を含め、この人たちに報告してくださいね、と書いてあるのですが、そこまで目がいかなかったのか、焦って忘れてしまうのかわからないのですが、なかなか報告ができないようでした。

また、お客様に対しての報告がきちんとできていても、社内の報告ができていない場合があったり。逆に、社内の報告はすごく速いけれども、お客様へのおわび文が全然出ないなど……。
理想は同時に出せることですが、まず社内に対して第一報を送って、こういうことが起きています、今調査中ですと報告を上げる。そして経営者判断で、会社の意志としてのお知らせを出してもらえればと思っています。

また、広報の方、CSの方は普段、身近にエンジニアといることはあまりないためか、同じテーブルで一緒に顔を合わせてやりとりをし、意思決定を顔を合わせてやれたこと、相手の仕事を近くで見られたことがよかったようです。「相手の価値観を近くで理解しながらやれたことが大きかった」と言ってもらえました。

ヤフーはそれぞれのプロフェッショナルとして仕事していますし、役割ごとに部門も違ったり、部内でも職種によって大事にしているものが違ったりします。
でも、一緒に同じ危機に立ち向かうことで、お互いへの理解が深まったように感じました。

image
image

(すぐ近くで直接話し合いながら対応していけたことがよかったそうです)

image

(広報担当者は電話対応も)

パスワードの使いまわしはダメ! うまく使い分けるコツ


- サービスを使う立場であるお客様が、攻撃にあわないために普段から気をつけておいた方がいいことはありますか?

まず、外のカフェなどでパソコンを使っている方をよく見かけますが、けっこう横から見えていますよ、と言いたいですね……。
また、スマホを使う時にも気をつけて欲しいです。満員電車では、普通に後ろから画面が見えてしまいますから。その時に大事な情報を表示したり、パスワードを入力したりすることは避けてください。

また、普段使っている複数のサービスでパスワードの使いまわしは絶対にしないでください。あるサイトでパスワードがもれてしまったら、別のサイトでもアカウントをのっとられたりしてしまう可能性があります。

image


- パスワードがたくさんあって覚えられないからと、つい使いまわしてしまう人も多いと思うのですが、うまく使い分けるコツはありますか?

一番いい方法は、自分の中でルールを決めることです。
たとえば、何かのメッセージやフレーズをパスワードにしておいて、そこに、使っている各サービス名の頭文字アルファベットを1、2文字つけるんです。各サービスを見ればその頭文字が思い出せるよう、わかりやすいルールにして、組み合わせにしておくのがオススメですよ。

例)
パスワードのフレーズ:ラーメンが食べたい
パスワードのフレーズ(英語):I’m craving for Ramen!
使おうとしているツール:Facebook
パスワード:ImcravingforRamen!FB

あとは、紙にメモを残しておくこともオススメです。もちろん、パスワードそのものではなく、パスワードのルールや、ヒントになるものだけを書いておいてくださいね。


ヤフーの全社員が一度は経験するイベントにしたい

- このイベントの今後の展望をおしえてください!

今後は、グループ会社や今回参加していない部署の社員や、インフラ側のエンジニアたちを呼んで開催してみたいですね。インフラ側のエンジニアたちはお客様とのやりとりはなかなかできないと思うので、このイベントでお客様と接する感覚を持ってもらいたいと思いますし、継続して第2回、3回と続けていきたいです。

image

(優勝したメディアカンパニーチーム)

今回は、たとえばアップデートをする、パスワードの変更をするなどをしっかりやっていないとこうなるよ、ということを実感してもらいつつ、どれも対応していたら防げることをシナリオに入れていました。
2回目をやるとしたら、今年流行っているランサムウエア(※2)のように、攻撃者の攻撃にもトレンドがあるので、できるだけフレッシュなものを入れて開催したいと思います。

(※2) ランサムウエア (Ransomware) :
マルウエアの一種。 これに感染したコンピューターはシステムへのアクセスを制限される。 この制限を解除するため、被害者はマルウエアの作者にransom(身代金)を支払うよう要求される。

このイベントを、最終的には全社員に一度は体験してもらえるようにしたいと思っています。
そして、これまでに攻撃を経験したエンジニアたちの生の声も、イベントのシナリオに生かしていきたい。実は、ヤフーは日本で一番攻撃を受けている会社なんです。もちろん、そこから守るために、強固なインフラを組んでいますが、まず攻撃されていることにどれだけ早く気づけるか、ということもとても大切です。
今回のイベントでは、サイト自体を落としましたが、たとえばサイトの文章が一行追加されているとか、さらには表示部分ではなく、サーバー側のプログラムに何か足されるという可能性もあります。

image


攻撃者は用意周到かつ、準備万端

攻撃者は、攻撃するターゲットを決めたら、そこを徹底的に調べぬいて、どうやったら気づかれずに悪いことができるかを考えている時間が一番長いんです。
私たちがサービスをつくっている時間は、攻撃者にとっては攻撃の準備をする時間なんですよね。
そのため、攻撃に絶対に負けないシステムを開発することはすごく難しいことなんです。だからこそ、普段からしっかりセキュリティ対策をしておくことが大切ですし、攻撃にできるだけ早く気づき、すばやく復旧することに取り組んでいく必要があります。

攻撃されてみないとわからないこともあるので、インターネットのセキュリティに関わるリアリティを体験してもらうためにも、 ヤフーが開催する「Hardening(ハードニング)」をイベントとして定着させていきたいです。

image


(イベント写真撮影:倉長拓海、安田美紀、大谷夏子、鳥井大祐、藤代昌俊、小林秀達@Yahoo! JAPAN公式カメラ隊)

【関連リンク】
サイバーセキュリティ演習を実施しました(ラック公式ブログ)