第17回情報危機管理コンテスト 一次予選

結果・講評

結果

一次予選通過チームは、以下の12チームです。

  • After_the_CM(情報科学専門学校)

  • P01TERGEIST(名古屋工業大学)

  • MMY(情報科学専門学校)

  • 今泉研究室(千葉大学)

  • 詫間情報安全管理局B(香川高等専門学校)

  • m1z0r3(早稲田大学)

  • koba商会(関西大学)

  • Enduring Pug(岡山大学)

  • GuardPenguin(岡山大学)

  • A Lot(東京工業大学)

  • KAGIYA(大阪工業大学)

  • ITSawayaka(静岡大学)

講評

今年も新型コロナ禍の開催となり、そのせいか例年よりも参加チーム数が少なかったのですが、常連校の皆様からは例年通りご参加いただき、今年も楽しく運営をさせていただきました。まずは深く御礼申し上げます。情報危機管理コンテストではチームメンバーの連携が勝ち上がるための重要な要素になりますが、私の周りの学生を見ていても、学生間の交流が大きく減っていますよね。大人は大丈夫な人も多いと思いますが、学生さんはやはり可哀想だなぁと思うこの頃です。参加チーム数が少なかったのは、ある意味ラッキー!となる人もいるかもしれません。予選突破の可能性が上がり、二次予選を経験できる可能性が増えるとも言えます。二次予選に勝ち上がることができたチームは、ぜひチームワークを磨いて、決勝戦に向けて対策を練ってもらえればと思います。

さて、今年の問題はど真ん中のセキュリティの話にしてみました。しかも「銀行」という、セキュリティが非常に重要な業界をピックアップしました。銀行のシステムも最近はクラウド化、モバイル対応化の方向に動いていて、安全性を確保したまま如何に柔軟な、利便性の高いシステムを構築するのかが重要です。今回はそのような先進事例の一つを取り上げて、その中でインシデントが発生した場合の対応を試させていただきました。実際にこのような事件が起こったら、素早く原因を切り分けて、初動対応につなげなければなりません。そこをどう裁くかを試させてもらったつもりでした。

まず皆様に問いますが、今回の件は、投資信託のサブシステムを止めるべきでしょうか?止めるべきと書いた回答がとても多かったのです。学生の皆さんはあまりピンと来ないかもしれませんが、投資というのはシビアな世界です。日々、経済の状況は変わりますので、絶妙にタイミングを見計らって売買をしなければ大きな損害が出る可能性があります。実際に今回のウクライナ危機でも、株価や為替などが大きく変動しています。それを止めることが、地銀とはいえ、顧客にどれほどの影響を及ぼすのかを理解した上で、止めると言っているのでしょうか。投資家はシステムが止まる可能性の高い銀行を避けると考えると、止めることの影響は小さくないと思います。確かに今回は、後述の通りワンタイムパスワードが破られています。ですけれども、もし被害がフィッシングだけだったとしたら、一部のフィッシングに遭った人の対策をすれば済みはしないでしょうか。世の中の全てはバランスで判断されます。今回も、サクッとフィッシングであるかどうかの切り分けができれば、経営リスクを最小限に抑えた対策ができるのではないでしょうか。

それが理解できれば、次は切り分けの方法になります。今回のインシデントは、複数の問題が絡まないと発生しないようになっています。例えば、フィッシングでパスワードが取られた上で、ワンタイムパスワードが破られた、というようなシナリオが考えられます。身に覚えのない取引があったことが問題になっていますが、これが起こり得る犯行シナリオを絞り込むことが、まずはじめにやるべきことだと思います。金融商品の取引は複雑なシステム間処理が必要ですから、ユーザとしてWebシステム(またはスマホアプリ)にログインして取引操作をするか、システムに侵入してうまく取引プログラムを実行するか、の2択になるでしょう。後者は、システムのプログラム構成や引き渡すパラメータ等が正確にわかっていないと難しいですから、(ソースコードが公開されたため可能性は依然としてありますが、)前者の可能性が高いと想像されます。いずれにしても、パスワードが破られたのか、システムに侵入されたのかが切り分けられれば、どちらかに定まるはずです。あるチームが書いていましたが、取引があった時のログを調べ、いつもと異なるIPアドレスやユーザエージェント等が記載されていれば、不正アクセスの可能性が高いと判断できるでしょう。また、取引があったにも関わらず、認証ログが残っていなければ、不正に取引プログラムが実行された可能性が高くなります。これを素早く実行し、システム停止の判断をする、というのが、初動対応の一つの解ではないかと思います。

全体像が見えてきたと思いますので、個別の問題を見ていきましょう。この会社はセキュリティ対策を頑張っているように書かれていますが、実は、細かい問題点が散在しています。まず、ワンタイムパスワード(OTP)の問題です。OTPはIETFにおいて、RFCとして標準化がなされていて、それに基づいて実装するのが基本です。しかし、今回はそれに合致していない実装になっています。RFCでも、秘密鍵と時間に基づいてパスワードを計算するように書かれているのですが、その秘密鍵が、サーバの秘密鍵ではなく、ユーザの秘密鍵なんです。いくつかのチームが指摘したように、サーバの秘密鍵はサーバに一つですから、今の仕様では、全ユーザのパスワードが同じになっていると想像されます。これではOTPの用を成していません。しかも、GoodHubにソースコードが公開されたわけですから、ソースを読めば、それがバレる可能性があります。これでは、パスワードが漏れてしまえば、金融商品の取引が簡単にできてしまいます。さらに、多要素認証にも問題があります。特定の日付にしか多要素認証が行われない点です。しかも、ソースコードを読めば、いつ携帯に認証を要求するのかがわかる可能性が高い。つまり、漏れたパスワードでログインされても、携帯電話に通知が行かないため、ユーザは気づけないのです。毎回携帯電話等による追加認証を要求するのは利便性が低下しますから、複数回に一度にするのは現実的ですが、通常は、異なる環境からのログインがあれば追加認証をするとか、ランダムなタイミングで追加認証するとか、工夫がなされるべきだと思います。

一方で、システム管理にも問題があります。まず、CSIRTのアカウントを作っていることです。管理の定石として、誰が何をしたのかがログから特定できることが必要ですが、チームのアカウントを作ってしまうと、どの個人が操作をしたのかがわからないのです。CSIRTのパスワードが漏洩した場合に、外部から誰かが侵入しても、気づくことが難しくなるでしょう。それに、いちいち定期的にログインして確認する、というやり方も非効率ですね。あとは、システムへの外部からの侵入の痕跡を調べる作業ですが、いくつかのチームが指摘をしている通り、ここに書かれている作業だけでは不足していますよね。まあ、確認作業は細部にわたりますし、この人が技術系の人かどうかもわからず、普通は問い合わせの文章に全部を書かないだろうと考えると、はっきりとはわからないのですけれども、なんだか怪しそうだなあとは感じられると思います。

上記のような狙いを前提として、皆さんの回答を見させてもらいました。全体的に、今回は苦戦したチームが多かったようですね。例年とは異なり、複数の仕掛けを突破しないと起こらないインシデントだったので、戸惑ったチームが多かったのでしょうか。あとは、インシデントが複数あるように見えたことも原因だったのかもしれません。複数の仕掛けを突破する必要性を考えると、多くのチームが列挙してくれたように、可能性の一つ一つを相手にするだけでは全体が見えません。それらの組み合わせを考えて、どんな犯行シナリオの可能性があるのか、その全貌を見せる努力が求められます。今回は、そこまでを完全にできたチームはありませんでした。くどいようですが、一次予選のように書面で提示できる情報だけでは、フィッシングなのか、個別のセキュリティホールなのか、内部犯行なのか、それらの可能性を潰すことはできません。いくらでも可能性を列挙することは可能です。しかし、そのような可能性の列挙には意味がないことを知ってほしいと思います。いかに分析を行い、どの原因の可能性が高く、どの原因のインパクトが大きく、だから何を優先実施すべきなのか、その考え方を相手に示すことが重要です。どんなアドバイスをしたとしても、相手も顧客に対して責任がある企業です。自分達の行動の結果は、自分達で責任を持つことになります。ですから、アドバイスをする立場ですべきことは、相手が判断できる材料を提供することであり、なぜその可能性が高いのか、なぜその対策を優先的にすべきなのか、その理由を提供することなのです。もちろん、何が起こった可能性があるのか、可能性のある犯行シナリオの全体を見せてあげることも重要です。それがないと、納得できませんからね。今回の問題は、ちょっと複雑で、一見、明確な解が見つからないように思えるかもしれませんが、上記の事柄をもう一度よく考えていただいて、今後の糧にしていただけたらとても嬉しいです。

予選通過チームの判定は、上記の状況を総合的に考慮して行いました。対応の戦略を見せて回答できているかどうか、を第一の判断基準としました。つまり、何が起こった可能性があるのか、どのように切り分ければ良いのか、それは何故なのか、そういうところがどの程度分析できているか、そして顧客にわかりやすく説明されているか、が第一の基準になります。そうやって選別した後、個別の可能性の列挙に留まっているチームがボーダーライン上に複数残りました。それらに対しても、できるだけ公平な判定になるように、何に気づいていて、どこまで分析できているかを中心に総合的に検討し、選抜チームを決定しました。なお、他の場合にも広く当てはまりそうな一般的な内容を書いているチームが多く見られましたが、それらの内容は全くプラスに評価していません。むしろ「簡潔性」を損なうので公表している評価基準に照らしてもマイナスですし、顧客もそのような内容は望んでいないでしょう。今後は、意味のある内容を書くようにご注意ください。

我々からのコメントは以上です。
今回は苦戦したチームが多かったと思いますが、改めて、一次予選お疲れ様でした。
本一次予選が、皆様の成長につながれば望外の喜びです。
二次予選に進まれる方は、ぜひ本戦出場を目指して、頑張ってください!


第17回情報危機管理コンテスト一次予選担当
吉廣・藤本