はじめに
はじめまして。イレイと申します。情報系専門学校の2年生でjavaや資格などいろいろ勉強中です!今回は2024年6月22日に開催されたShield Stone #ZERO-DAYというイベントに参加してきたので、参加記録として記事を残しておきます。
こういった競技会(イベント)には初参加でしたがとても楽しめたので、シールドストーンに参加してみたい、セキュリティ系のイベントに参加したいけ初心者だから参加しずらい、と考えている人は読んでみてください!
セキュリティ初心者の視点で書いているので内容については期待しないでください。
Shield Stoneとは
Shield Stoneとは、サイバーセキュリティをこよなく愛する専門家集団による、初心者向けのサイバーセキュリティ競技会です。
「サイバーレジリエンス=組織の自衛力」 をキーワードとしてブルーチーム能力の向上を図るHardening競技会がベースになっておりまして、どちらの競技会も共通して「ECサイトを守り、ビジネスを継続する」という課題が与えられますが、Shield Stoneでは インシデント報告書やコーポレートサイトの充実などにも得点が与えられるため、実務経験も多少は必要になる競技会だと思います。
事前ガイダンス
開催2週間前の6月8日に事前ガイダンスとチーム発表が行われ、そこからは各チームごとにメンバーの顔合わせと競技環境への接続練習を行いました。
初めにチームごとのブレイクアウトルームに初対面の5人が集まり顔合わせをしました。軽く自己紹介を行いリーダー決めまで行いました。私たちのチームはMicro Hardening参加者の方がリーダーになり、話し合いなど引っ張って行ってくれました。ありがとうございます。
接続練習はスムーズにすることができました。競技本番で接続がうまくできないトラブルがありましたが、事前に接続練習をおこなっていたこともあり、問題なく接続することができました。
本番までの2週間
私たちチームでは計3回のミーティング、担当する箇所のチートシートの作成などを行いました。
ミーティングではリーダーを中心に話し合いを進めていきました。私はセキュリティの知識やその他専門用語の知識が無かったため、話を聞いて調べながら参加していました。
チートシートの作成は時間のあるうちに各々作成し、ミーティングで進捗報告をしていまいした。私は1,2個しか書けなく全然役に立てなかったと思います。私が担当したのは「ユーザの削除」、「パスワード変更」、「バックアップの取得」の3つを担当していましたが、全てリーダーが書いてくれて、リーダーに割り振られた部分だけ記述しました。リーダー本当にありがとうございます。
セキュリティ初心者として思ったことは自分のレベルを知ってもらうこと、事前学習をする、資料の読み込みの3点が大事だと思いました。自分のレベルを知ってもらわないとレベル以上のことを任されることになりますし、レベルを知ってもらうことで誰かがサポートに回るなどの対策も可能です。
事前学習をするのはあたり前なので割愛。
資料の読み込みにはとても大事だと思いました。運営するサイトの商品、値段、サイトの名前など細かい部分を読み込むのが大事だと思いました。というのも初心者なのでネットワーク構成をみてもよくわからないですし、技術要素が絡んでくる部分を読み込んでも2週間じゃあ知識のある人には敵わないので、メンバーが見落としそうな細かい部分を読み込むのが大事かなと思いました。というのも私は競技環境のネットワーク図について理解した方がいいと思い調べたりしていたのですが、よく理解できず本番ではそんなの考える時間はありませんでした。なので初心者の方はメンバーが見落としそうな細かい部分まで読み込むのが大事だと思いました。
本番!!!
8時50分までにはzoomに参加しないといけなかったのですが、朝だらだらしすぎて布団からでたのは8時40分でした。接続には間に合いましたが早起きして自分の担当する箇所の見直しをすればよかったなと後悔します。
競技開始
競技は9時15分から13時までの4時間、堅牢化に努めました。1人1セキュア化という、文字通り1人1つは絶対に何かしらのセキュア化措置をしようといったルール?があり、私のチームは1番最初に完了することができました。私はここで「セキュア化って簡単じゃん」と思いました。この考えが後のやらかしに繋がります。
戦犯
私は「バックアップの取得」を担当していました。バックアップの取得はリーダーが書いてくれたスクリプトを実行し、crontabを編集して30分ごとに自動的にバックアップを取得するようにする予定でした。なのですが、私はスクリプトをコピペして実行し、バックアップが取得できたのを確認して満足してしまいました。データベースのバックアップ担当でしたが、やらずに自分の担当箇所が問題なく終わったことに安堵していました(問題しかないのに)。
リストアしないといけない状況になったのですがもちろん出来ません。バックアップを取り忘れていたから。本当にごめんなさい。メンバーの方々が復旧に取り組んでいる間私は気まずくてミュートにして黙っていました。
報告書作成
1時間のお昼休憩をはさみ、90分間でインシデント報告書の作成、その後の90分間で全員バラバラに分かれて発表という流れでした。
今回は運営から参考にしてと渡されたGRIPS(政策研究大学院大学)の不正アクセス報告書と、PPC(個人情報保護委員会)への報告書を参考に作成しました。
2,3行しか書けず変な内容でしたが社会人の方々がまとめとくれました。報告書作成に関しては何もやってないです。競技中もやってないだろ
報告会
チームメンバーがそれぞれ別のブレイクアウトルームに集められ、チーム混合の場での発表でした。
社外向けの報告書とその発表という前提でした。報告書をまるまる音読するのはよくないと思い、ところどころ補足を交えながら発表しました。(必要な補足かは知らんけど)
学生のうちにこういったビジネス文書に触れる機会ができてとても有意義でした。また、報告書の一文に「復旧に時間を要した原因としましては、システム障害や本件のようなサイバー攻撃に備えたバッ クアップの取得およびリストアの訓練が不十分であったことが挙げられます。」とあり、罪悪感を持ちながら発表させていただきました。
結果!
私たちチームは6チーム中6位でした。最下位です。私がやらかしたせいですね。私のやらかしが発覚するまでは上位にいたので完全に私がバックアップを取っていなかったせいです。
振り返りとまとめ
6月22日にあった競技会についてなぜ今(7月11日)書いているのかというと「外部に公開するかたちで参加記録まとめとけば就活で使えるんじゃね?」と思ったからです。実際エンジニアの方たちに「絶対まとめとけ!」といわれたのでまとめてみました。(個人で見れるようにまとめてはいたから公開するのは初めて)
今回が初めてのHardening競技会に参加しましたが、とても楽しかったです。社会人の方とチームになるので言葉遣いなど学べますし、インシデント報告書など学生では絶対に経験できないこともできるのでとても有意義な時間を過ごせました。
バックアップの取得ができなかったり、ログを見るのに時間がかかったりと問題点が多くあったので、次に参加するHardening競技では最低限のことはできるように勉強していきたいと思いました。
Shield Stone #ZERO-DAY運営の皆様や、クラウドファンディングでご支援くださった方々、迷惑をかけたチームメンバーには改めて感謝申し上げます。次回があれば参加したいと思います!本当にありがとうございました!