はじめに
日立ソリューションズグループは、社員の情報セキュリティスキル向上への取り組みの1つとしてセキュリティコンテストを開催しました。 私はコンテスト運営チームのメンバーとして、問題作成からコンテストの運営までを担当しました。 本記事では、コンテストの内容や、そこで出題された問題を中心に解説します。
セキュリティコンテストについて
当社グループでは2017年度から毎年、日立ソリューションズグループおよび一部の日立グループ会社向けにセキュリティコンテストを開催しています。 コンテストの運営チームは日立ソリューションズと日立ソリューションズ・クリエイトの社員で構成されています。
コンテストは「セキュリティスキルコンテスト」と「ハッキングスキルコンテスト」の2種類があり、時期をずらして開催しています。 それぞれの特色は下記のとおりです。
- セキュリティスキルコンテスト
- 個人戦
- 約2週間にわたって開催
- 基本的なITスキルやセキュリティ知識に関する問題を中心に出題
- ハッキングスキルコンテスト
- チーム戦(最大4名)
- 1日のみの開催
- より幅広い知識と実践的なセキュリティ(ハッキング)スキルが必要な問題を中心に出題
開催趣旨
コンテストの開催趣旨は「社員の情報セキュリティスキル向上」で、運営チームは常にこれを意識しています。
しかし、実はもう1つの隠れた開催趣旨として、「運営チーム側のお祭り」という側面もあります。というのも、 コンテストの運営チームは全員、国内外のCTF(Capture The Flag、情報セキュリティ技術を競うイベント)に参加経験のある当社のCTFチーム「ids-TeamCC」のメンバーなのですが、「CTFの参加者としてではなく、運営側としての楽しさも経験してみたい!」という思いから社内セキュリティコンテスト構想が生まれました。
セキュリティスキルコンテストについて
セキュリティスキルコンテストは10/19~10/30にかけて行われ、300名弱の方々に参加いただきました。 コンテストの対象層として、当初はセキュリティ業務に携わる方々だけを想定していたのですが、最終的には営業や広報など幅広い部署の方々に参加いただけました。
コンテストは社内に立てた問題サーバーを介してオンラインで行い、ファイルをダウンロードして解析するタイプの問題や、サービスと通信して取り組んだりするタイプの問題など、さまざまな形式の問題を出題しました。
このコンテストにおいて、私は下記のような問題を作成しました。
- CyberChefを利用するもの
- nginxの設定不備に関するもの
- C2(Command & Control)サーバーとの通信内容を解析するもの
- 標的型攻撃を受けて侵入されたネットワークの被害状況を調査するもの
ここでは、私が特に注力した4番目の問題について解説します。 まず、Active Directoryのドメイン環境にある端末上で、メールに添付されていた不正なファイルを実行することでドメインが乗っ取られてしまうというストーリーを想定し、そのような行為が行える環境を実際に構築しました。 その後、不正ファイルに模したファイルを端末上で実行してC2サーバーと通信できる状態にし、以降の操作はC2サーバーから行いました。 C2サーバーと最初に通信を行った端末を起点にしてドメインコントローラーにアクセスするまでの操作を実施した後に、各端末やサーバーから調査用のファイルを取得したのですが、痕跡が残ることを想定していた場所に痕跡が残らなかったり、標準インストール状態から設定を変更しないとログが残らなかったりしたため、操作を何度も初めからやり直す必要があって大変でした。
なお今回のコンテストでは、ヒントシステムを初めて採用しました。 これは、一定のポイントを支払うことで問題のヒントが見られるというものです。 まだ1問も解けていない状態だとヒントを見るためのポイントがないため、コンテストの初めに「技術を正しいことのために使うこと」を参加者の方々に宣誓していただくことでポイントを付与し、ヒントを見るための原資としました。 このシステムが功を奏したのか、1問も解けずにあきらめてしまう参加者が昨年までのコンテストと比べて少なくなりました。 ヒントを見ることで問題を解くことができた参加者の方々には、各種技術やツールに関する新たな知見を得ていただけたのではないかと思います。
ハッキングスキルコンテストについて
ハッキングスキルコンテストは11/17に行われました。 このコンテストは最大4名までのチーム戦で、今回は9チーム32名の方々に参加いただきました。
これまでのハッキングスキルコンテストは参加者が当社の講堂に集合して実施していましたが、ニューノーマルな働き方を推進する当社では、社内全体にテレワークが浸透していたこともあり、今回はハッキングスキルコンテストもセキュリティスキルコンテストと同様にオンラインで実施しました。 コンテストの実施環境について、日立製作所がグループ会社向けに提供している開発用基盤サービスを利用してコンテスト専用のネットワークを構築し、参加者のPCからネットワーク内の参加者用仮想マシン(VM)に接続したうえで問題サーバーや問題ネットワークにアクセスしてもらうことで実現しました。
このコンテストでは、セキュリティスキルコンテストと比べてよりマニアックな内容の問題を出題していて、私は下記のような問題を作成しました。
- マルウェアに感染したマシンのメモリ解析
- 無線LAN(WPA2)のパスワード解析
- 多段SSH接続
- 複数台のマシンで構成されているネットワークの攻略
ここでは、私が特に注力した4番目の問題について解説します。 この問題では、1台のサーバーを攻略するだけでなく、そこを起点にして複数のサーバーを攻略し、最終的にネットワーク全体を攻略してもらうような内容にしました。 このネットワークは合計7台のサーバーで構成されているのですが、それぞれのサーバーには私がこれまでトレーニングなどで習得してきた知識を盛り込み、それぞれ異なる方法で攻略してもらえるようにしました。 なお、ネットワークの構築においてすべてのサーバーを一気にコンテスト環境上に構築するのはリスクが大きかったため、事前にAWS上にテスト環境を構築し、それをいろいろいじったり壊したりしては再度構築したりと試行錯誤し、すべてのサーバーが問題なく連携できていることを確認した後に、改めてコンテスト環境上に構築しました。 ちなみに、この環境は参加者の動きが見えると面白いだろうということで、オープンソースのデータ可視化ツールKibanaを使って可視化することにしました。
また、オンライン開催でもハッキングスキルコンテストの様子がわかるように、チームごとの得点や順位などをリモート会議システムで中継し、誰でも観戦できるようにしました。 これまでは集合形式での実施だったため、会場に来ていただかなければ観戦できませんでしたが、今回はさまざまな方に観戦いただくことができました。
コンテストの中継について、スコアボードをただ流すだけでは面白くなかろうということで、日立ソリューションズ・クリエイトの開発陣が素敵な可視化システムを作ってくださいました。 コンテスト中は、これらの画面を表示しつつ、作問者が問題の内容や取り組み方についてインタビュー形式で話している模様を中継で流していました。
以上のように、これまでオンサイト開催だったハッキングスキルコンテストを、今回はオンライン開催にしてさまざまな工夫を盛り込みました。 チームによってはメンバー同士の情報共有などに苦労されたところもあったようですが、勤務地などの都合でこれまでのオンサイト大会に参加できなかった方々が今回は参加できるなど、オンライン開催ならではのメリットが感じられました。
おわりに
このたび当社グループでは、2017年度の初回から数えて4回目のセキュリティコンテスト(セキュリティスキルコンテスト、ハッキングスキルコンテスト)を開催しました。 ハッキングスキルコンテストのオンライン開催や競技状況の可視化、両コンテストでのヒントシステムの導入など、いくつかの新しい試みを実施した結果、参加者の方々に楽しんで取り組んでいただけたのではないかと思います。 今後も、より楽しく、より役に立つ内容を提供できるようなコンテストを開催していければと思います。


記事の著者
セキュリティ診断業務に10年間従事後、2016年よりシニアセキュリティアナリストとしてペネトレーションテスト業務に従事。
診断業務開始当初は社内イントラサイトの脆弱性に対する過激な指摘により物議を醸したが、
現在はだいぶおとなしくなっている。好きな周波数は13.56MHz。
GXPN、GAWN、GREM、GPEN、GDAT、GCPN、GCFA、GCFE、CRTE、CARTP、CEH
関連記事
RELATED ARTICLE