連載
» 2020年04月07日 05時00分 公開

セキュリティ・アディッショナルタイム(41):衛、走る――変わらない価値を追求し続ける、Hardeningの挑戦 (1/2)

複数人でチームを組んでビジネスを「衛る」技術を競うイベント、「Hardening 2020 Business Objectives」が沖縄で開催。「ビジネスの目的」は何なのか、それをどのように守っていくのかを9チーム、約100人の参加者が体験した。

[高橋睦美,@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 「ビジネスでは予想していないこと、理不尽なことが起こる。けれど現場ってそういうもの。その制約の中でどうやってセキュリティを高めていくかを考えてほしい」(Hardening Project実行委員長、門林雄基氏)

さまざまな制約の中でのセキュリティを問うたHardening Project実行委員長の門林雄基氏

 2020年1月24日、25日の2日間にわたり、複数人でチームを組んでビジネスを「衛る」技術を競うイベント、「Hardening 2020 Business Objectives」(以下、Hardening 2020 BO)が沖縄で開催された。名前が示す通り、「ビジネスの目的」は何なのか、それをどのように守っていくのかを9チーム、約100人の参加者が体験した。

かつてサミットが開催された沖縄・万国津梁館が競技会場となった

 Hardening Projectが開催してきた「Hardening」は、各チームに与えられたECサイトをさまざまな攻撃から守り、稼働を続け、最も売り上げの高いチームが優勝する競技会と表現できるだろう。主催者チーム「Kuromame6」の攻撃から8時間にわたってサービスを守る「Hardening Day」、チームごとに「どのような取り組みを行い、何がうまくいき、どんな課題が見えてきたか」を振り返り、共有する「Softening Day」からなる2日間1セットで行われ、今回で15回目の開催となる。

さまざまなセキュリティインシデントをなぞったインシデントを用意し、競技運営を担ったkuromame6

 IT系、セキュリティ系の競技会というと技術スキルの高いチームが勝つイメージだが、Hardeningはそうとは限らない。技術も必要条件の一つだが、「売り上げの最大化という目的に向けて、おのおのの強みをどう生かすか」「それも技術者だけではなくマーケティングや販売管理、法務、チームリーダーといった異なる強みを持つメンバーがどう力を合わせ、目的を達成するか」という総合力が問われる。

 「ビジネスという言葉の由来は、『心配事』『ケアすべきもの』という定義にある。だとすれば、われわれが普段ビジネスという言葉で扱っている生産性向上や利益の最大化という事柄も、『ケアすべきものをケアすること』と言い換えられる。日々われわれが向き合っている脆弱(ぜいじゃく)性や脅威との戦いといった表面的な現象だけでなく、『われわれがケアすべきものは何か』という本質に目を向け、どうやってケアしていくかを考えなくてはいけない」と、Hardening Projectの淵上真一氏は講評の中で述べていた。

 競技は2日間だが、一連の経験を経て、参加者それぞれが「自分にとってのビジネス目的は何か」「そのためセキュリティには何ができるか」を見いだし、自分の持ち場に戻ってからこそがHardeningの本番かもしれない。こうした狙いも踏まえ、同プロジェクトでは、現場で起きている脅威に向き合い、力を合わせて困難に対処すべく前進していくという、回を重ねても変わらないHardeningの価値を「Hardening宣言」の形にして公表している。

正解のない競技、Hardening

 一般に「Hardening(ハードニング)」という言葉は、サーバやシステムの堅牢(けんろう)化を意味する。ソフトウェアを最新のバージョンにアップデートしたり、パッチを適用して脆弱性を修正したり、公開するポートやアクセスできるユーザーを最小限に絞ったりして、サイバー攻撃を受けにくく、また万一受けても被害を最小限に抑えるようシステムを強化するものだ。

 もちろん、Hardeningの競技会でもそうしたスキルは不可欠だ。Hardeningの1日目には、さまざまな攻撃や問題(あるいは、参加者の勘違いによるトラブル)が発生し、対応が求められる。

 例えばHardening 2020 BOでは、フロントエンドのロードバランサーを保護したまではいいが、バックエンドのオリジンサーバまで手が回っていなかった隙を突かれたり、セキュリティ製品の管理インタフェースに不正アクセスを受けたり、残存していたインストーラファイルが悪用されたり、有効期限の切れた証明書発行の依頼内容を十分確認せず、間違えて申請して暗号化に穴があったり……世の中で起きているセキュリティインシデントを参考にしたさまざまなインシデントが起こった。

 これらを想定し、先回りして対策したり不正アクセスを防いだりすれば、ECサイトの「評判」が上がり、定期的に巡回するクローラの売り上げに連動する形で、セキュリティがビジネスに貢献することを体感できる仕組みだ。ISUCON的なロードバランスの最適化も、売り上げに寄与できる。逆に、Webサイトの改ざんによって商品単価が下げられてしまったり、情報漏えいが発生したりすると、売り上げは伸び悩む。

 ECサイトの設定には、世の中の変化に合わせた新しい要素が盛り込まれるのも常だ。今回は、自社製品の販売だけではなく、とある自治体から委託を受けて「ふるさと納税」の商品を販売したり、キャッシュレス決済還元事業に対応した「m-Pay」という決済サービスを運用したりする要素が盛り込まれ、これらも売り上げに反映された。

 競技を進めるには、インフラ運用やセキュリティに関する確かな技術やスキルが求められるのは間違いない。だが、優秀なエンジニアがいるだけでは思うように売り上げは伸びないのがHardeningの奥深さだ。状況を把握し、「今、どの課題に取り組むか」「何を優先するか」を決め、適切に顧客対応や情報連携を行うといったチームとしての総合力が売り上げに反映されていく。

 実は、申し込みから競技当日までの間にある程度期間があることもあって、参加各チームは、さまざまな準備を進めてきた。自分の得意分野を申告してチームビルディングを行い、分担を決め、攻撃に備えてチートシートや手順書を作成したり、時には事前にスクリプトやAnsibleなどのツールを仕込んだりと、入念に用意してくる。現地入りしてからも競技前日に配布される資料を読み込み、「データベースのバックアップから始めよう」「パスワード変更の手順はこうしよう」「WordPressの設定確認とEC-Cubeはこうしよう」と、ギリギリまで準備に取り組む。

 だが、自分たちが普段運用しているのとは違う環境だけに、一筋縄にはいかない。どこでどんなサービスが動いているのか、どんな設定になっているのか、「通常時」を洗い出すだけでも一苦労だ。時には慌てるあまりにスクリプトの記述内容を間違えたり、取得したつもりのバックアップが取れていなかったりで、「すわ、攻撃か」と勘違いすることも少なくない。そんな自縄自縛も含め、「8時間という限られた時間と最大9人という限られたリソースで、想定していない事態にどう最善を尽くすのか」が問われた。

準備をしてきてもなお、さまざまな障害に見舞われる1
準備をしてきてもなお、さまざまな障害に見舞われる2

 そんな中でも、管理対象のパスワードを全て個別に設定したり、プライバシーポリシーを見直して修正を提案したり、ふるさと納税のルールに照らし合わせて「金券はふさわしくない」と変更を提案したりとさまざまな「ファインプレー」も生まれていた。

 また、会場となった万国津梁館のサミットホールから100メートル弱離れた別棟に「支社」を設け、そこからしかメンテナンスできないシステムを用意した。支社の動きも売り上げに連動するため、「姿が見えない遠隔地にいるチームメンバーとどうコラボレートするか」が問われた。支社側の作業スペースは限られていたが、複数のチームでうまく机を共有したり、むき出しになっていたコンセントが引っ掛けられてしまう物理インシデントに対して椅子を置いて再発防止に努めたりと、ここでもいろんな「現場力」が見られた。

別棟に設けられた支社。限られたリソース(電源)をシェアして協力し合う場面も

 Kuromame6の川口洋氏は全ての種明かしを終えた後、「Hardeningは100点を取ることが目的ではない。『正解』のない中、現実のいろいろな制約の中でどう取り組むかが問われる」と述べ、それぞれの体験からさまざまな学びを持ち帰ってほしいと呼び掛けた。1つの指針として、ヤフーの宮坂学氏がまとめた「重大事故の時にやった方がいいこと10個」が参考になるという。

毎回異なる新機軸を盛り込み、発展してきた取り組み

 Hardeningは2012年4月に開催された「Zero」以来、回数を重ね、今回で15回目を数えた。「衛る技術」というテーマに揺らぎはないが、規模が小さかったころから毎回毎回独自のテーマを設定し、それぞれの時代に応じた新しい基軸を取り込んできた。

 例えば、自社リソースだけでセキュリティ対策をしているケースはほとんど存在しないだろう。多かれ少なかれ、パートナー企業の力を借りたり、サードパーティー製の製品・サービスを導入したりしているはずだ。そこで「参加チームvs攻撃者」という構図だけではなく、スポンサーとして参加するセキュリティベンダーからソリューションを購入する「マーケットプレース」という仕組みを導入し、パートナーと共に対策に取り組むようにしたのはその一例だ。

参加チームを支援するマーケットプレース。各社のエンジニアが真剣にサポートに取り組む

 また、企業の中で発生する人事ローテーションをなぞって「人事異動」を発令したり、複数の取引先が連携して物作りを行い、販売する「サプライチェーン」の構図を複数チームで構成する「連合」という形で得点を競ったり、毎回新たなコンセプトに基づいて競技を設計してきた。

 もう一つ、変化してきたのは開催場所だ。当初は東京で開催されていたが、IT人材不足が叫ばれる中、地方でのサイバーセキュリティコミュニティーの活性化を狙い、地元の協力を得ながら沖縄、淡路島、札幌など全国各地で開催してきた。

 ルールも開催場所も変わる中、会場ごとに異なるインフラと格闘しながらHardeningを下支えしてきた基盤が、情報通信研究機構(NICT)のテストベッド、「StarBED」だ。

 Hardening 2020 BOでは、物理マシンで66台、仮想マシンで計算すると384台のインスタンスを用意した。1チーム当たり26台のインスタンスが提供される計算だ。他に、マーケットプレースで提供されるセキュリティ機器についてもStarBED側で環境を構築し、ネットワーク越しに利用できる環境を整えた。

 石川県から1300キロ以上離れた場所に競技環境を提供するだけでもチャレンジングだが、今回は、クラウド型の無線ネットワーク機器を採用し、競技ネットワークの無線化にも取り組んだ。競技前日の夜には、外部接続回線のスループットが大きく低下しエラーが多発するといったハプニングもあったが、無事に競技を終えることができた。

 環境構築・運用を担ったNICTの安田真悟氏は環境構築の裏話を紹介した上で、「サーバレスやクラウドといった言葉が盛んに言われているが、その裏側にはインフラをメンテナンスしている人がいる。見えなくなっただけで、いなくなったわけではない」と、見えないインフラの重要性を訴えた。

参加者らは昼食も忘れて競技に打ち込んだ
       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。