Yufunagi's blog

Published

- 21 min read

セキュリティ・キャンプ2025 ネクスト 応募課題の晒し

img of セキュリティ・キャンプ2025 ネクスト 応募課題の晒し

はじめに

セキュリティ・キャンプ2025 ネクストに参加いたします。その際、提出した課題をここに共有します。次年度以降の参加者の参考になれば幸いです。 なお、広域に公開をするため、一部の情報は改変しています。

課題の内容

2025年5月7日に課題内容が公開され、次の課題に取り組みました。

  • あなたに関する問い
    あなたは今までどのようなことをやってきましたか.どのようなことができて,どのようなことが得意で,どのようなことに自信がありますか.
    どのようなものを作りましたか.どのような情報を発信してきましたか. どのようにしてそうしたことをやってきましたか.なぜ,そのようなことをやってきましたか.やってきてどう思いましたか. 参加できた場合,セキュリティ・キャンプ ネクストにどのようなことを期待し,どのようなことをやってみたいですか.

  • 課題への姿勢に関する問い
    自身で何らかの技術的な疑問を設定し,その疑問を解決しようと取り組み,その過程を示すことで,自身の技術力や課題に取り組むやりかたを説明してください.
    解決できたかどうかではなく,いかに課題に取り組むかという点を評価します.

  • 興味ある分野に関する問い
    セキュリティ・キャンプ ネクストの講義の一覧を見て,その中から興味のある講義を選び,その講義で扱うテーマに対して自分が考えること,興味,疑問,課題,自分なりの考察などを説明してください.
    その分野について知識があるかどうかではなく,いかに興味や疑問を持ち,課題を考え,自分なりに調べて考察するかといった点を評価します.

  • その他に関する問い
    その他,アピールしたい点などあれば自由記述で回答してください.

回答内容

前述のとおり、課題は4つあり、それぞれに回答を行った。以下にその内容を示します。締切間近で書いた内容もあり、文章の構成や表現・内容に不備があり見苦しいかもしれませんが、ご了承ください。

あなたに関する問い

私がセキュリティや技術に興味を抱いたのは、高校時代にPythonなどのプログラミングに触れ、ネットワーク通信の世界に興味を持ったことから始まりました。特に、平文で通信するTelnetが暗号化されたSSHへと移り変わっていく技術的背景に強く惹かれ、本格的に学び始めました。大学1回生の頃は、家庭でIPv4をPPPoEで、IPv6をIPoEで接続する方法や、セキュリティの観点からポートをrejectすべきか、それともdropやdenyにすべきかといった技術選択とその意味について深く考えるようになりました。

そして、両親を説得し、自宅にWebサーバを設置して運用を始め、ポートやファイアウォール、Apacheの設定といったセキュリティに関する知識を深め始めました。

その知識を実践に移す機会は、所属する課外活動団体で訪れました。当時、運用が立ち行かなくなりかけていたネットワークの管理に携わることになり、大学組織の情報センターと連携を取りながら、複数の活動場所をTag VLANに収容し、拠点間通信を可能にするネットワークを再構築しました。並行して、Zabbixを利用したロギングシステムも構築し、これにより簡易ながらもインシデント発生時の原因究明や対応が格段にしやすくなるという成果を上げ、実践的な問題解決に少しは自信を持つことができました。またこの際、技術に明るくない方に対して、対応の必要性や意義を専門用語を使わずに伝える難しさを実感し、幅広い人に理解してもらうことの困難さに気づきました。この経験は、同団体に情報センター所管のAPを設置する際に生かすことができました。

私の挑戦はネットワーク分野に留まりません。同じく課外活動で、マイコンを用いた自律ロボットの製作にも取り組み始めました。団体で受け継がれていた教育キットをベースとしつつも、プログラムはC言語を使ったものに挑戦し、さらには未知の分野であった電気設計や機体設計にも足を踏み入れました。
特に苦労したのは、LEDのパルス駆動回路の設計です。LEDの仕様書には「平均順方向電流」という記載がありますが、なぜ単純にデューティ比をかけた電流値ではいけないのか、その根拠を説明する情報がなかなか見つかりませんでした。多くの資料がこれについて言及していなかった点と、ジュール第一法則による発熱がLEDの定格を超えるリスクを考慮していなかったからです。この経験から、問題解決の過程で得た知見を発信することの重要性を感じ、現在、この法則に言及しつつ、なぜDC時のIFのデューティ比から算出したIFを用いるべきで、単純計算した電流値を採用すべきではないのかを解説する文章を作成しています。

ただ、発信する情報には一定の質を担保したいという思いが強く、内容の正しさを担保するための補強や参考文献の確認に時間がかかっており、情報発信があまりできていないのが現状です。セキュリティ・キャンプの講師の方々には、質の高い情報を継続的に発信されている方が多くいらっしゃるので、その知見や姿勢についても伺ってみたいと考えています。

最近では、ソフトウェア開発にも力を入れています。団体の活動場所にはチャイムが鳴らないため、定時に鳴るアプリケーションを開発しています。この開発で最も重視したのは、私の手が離れても長期的に運用ができることです。将来の保守や機能追加を担う後輩が全体像を把握しなくても改良できるよう、機能ごとに分割したオブジェクト指向設計を採用しました。また、メイン言語にGoを選びました。理由としては、授業で全員が学ぶC言語と構文が類似しており学習難易度が低い点、そしてコンパイラ言語であるためインタープリタ言語より処理が速く、一度コンパイルしてしまえば実行時のエラーが起きづらい点を評価したためです。このように、技術選定の段階から持続可能性を第一に考えた設計・開発の経験があります。

私がこのように、ネットワーク、ハードウェア、ソフトウェアと分野を問わず挑戦を続ける理由は、自身の視野を広げたいという強い思いがあるからです。一つのコミュニティや狭い分野に留まると、思考が固定観念に縛られ、柔軟性が失われてしまうことを過去の経験から学びました。だからこそ、セキュリティ・キャンプ ネクストが掲げる「幅広い分野」というテーマに大きな魅力を感じ、応募を決意いたしました。これまで私が学んできた分野には偏りがあると自覚しており、この機会に、より専門性を高めながらも、多様な分野に精通した技術者へと成長したいと考えています。キャンプでは、自身の知識を深めることはもちろん、様々なバックグラウンドを持つ方々と議論を交わし、新たな視点や考え方を吸収したいです。

課題への姿勢に関する問い

自身で設定した技術的な疑問は、「Webサイトにアクセスする際、ドメインを入力することで目的のページへアクセスすることができるが、どのような仕組みでこれが成り立っているのか」ということです。以下に、この疑問を解決しようと取り組んだ過程を示します。

まず、ドメインについて調べると、IPアドレスに紐づけられた住所のようなものと分かりました。また、ICANNによって管理がされており、重複がないものとも記載がありました。さらに、ICANNが管理し始める以前に使われていたドメインも存在するとの記載があり、その経緯も調べました。その際、インターネットは大学同士の通信で使われ始め、次第に広がりを見せたなど、関連する分野をドメインから始まる連想ゲームのように樹形図のように調べていました。

次に、アクセスしたドメインがどのIPアドレスに解決されるかの過程を、tracerouteを用いて調べました。 調査の結果、まずアクセスしたドメインは、ローカルのDNSサーバへ問い合わせが行われ、その次にISP所有のDNSテーブルに問い合わせがされていました。そして、ISP所有の異なるDNSサーバに複数回問い合わせがされ、CDNに到達し、サイトが表示されていたと判明しました。この後、異なるサイトを家からアクセスして経路の変化具合を確かめたり、大学からアクセスした際にSINET経由だったことから学術情報ネットワークの存在を知り、eduroamやNICTといった以前から知っていた知識との関連付けができました。

次にトラフィックの経路について調べました。以降は省略しますが、以上のように、調べて出てきた事柄を徹底的に掘り下げ、分からなかったことが少しでも理解できるように常に取り組んでいます。

興味ある分野に関する問い

セキュリティ・キャンプ ネクストの講義の一覧を見て、特に「DNSサーバーの運用における潜在的リスクと対処について」に興味があります。

理由としては、アプリケーションといったサービスの開発・公開の際に、リスク対処は必要不可欠であり、常に疑問や悩みを抱えている点だからです。リスクへの対処は公開されているCVEなどの把握が最も手軽です。他にも、プロトコルや言語の知識を深めることで、自身でも脆弱になりかねない箇所を感知し、対策や脆弱性の発見ができるようになります。しかし後者はより専門的な知識が必要になります。したがって、脆弱性発見のためには、過去の事例がなぜ起こったのかやどのように侵害されたのかを把握することが、今後発生しうるインシデント件数の低下につながり、より安全なサービスの提供につながると考えます。

ただし、このような情報の共有は双方のリスク共有につながり、性善説に基づけば安全性の向上につながります。ところが、ゼロデイ攻撃のように、悪意を持った者が脆弱性を知った場合は悪用しかねないため、情報の共有方法を考える必要があると思います。

また、公開されているサービスの脆弱性を見つけた場合においては、脆弱性の性質上、サービス提供者の意図に反したアクセスをしているため、不正アクセスとして訴えられるリスクといった法制度上の懸念も考えられます。そのため、発見する側と指摘される側のリテラシーが非常に重要になっていると考えられます。

このような対処法として、IPAが窓口を設定していたり、サービス提供者が懸賞金をかけるなど、様々な対策が取られていると調べて分かりました。この課題については、インターネットやコンピューターシステムが存在する限り、なくならない大きな課題ではないかと感じました。

その他に関する問い

高2や3から、このような分野に興味を持ち始めました。そのため、知識は浅く技術もつたないですが、日々成長できるように学習を進めています。そして、他の問いでも記載しましたが、視野が狭くならないように幅広い分野を学ぶよう心がけています。ですが、幅広い分野を学ぶ上で、一つ一つが浅くなり専門性が失われないようにどうすればよいのか、日々悩みながら学習を進めております。

幅広い分野に挑戦するという観点では、昨年seccampの専門Cに参加し、浅い知識しかなかったAIの分野に挑戦しました。その後、Kaggleといったデータサイエンスに挑戦を始めたり、コーディングツールとして活用できる生成AIについて学んだ内容を盛り込み、学内で講習を実施し、知見を広める取り組みのきっかけとなりました。このように講習や勉強会の実施・企画・参加を通じて、多くの人のセキュリティを始めとしたリテラシーや技術を高める機会に貢献することを心がけるようになりました。

まだまだ学ぶことは山ほどあるので、セキュリティキャンプにおいても、わからないことに対して積極的に挑戦し、ぜひとも未知の分野にも挑みたいです。そうして、始めは身の回りの人から、ひいてはよりよい社会に貢献できるよう頑張りたいです。

最後に

もしセキュリティ・キャンプに参加するかを迷っている方がいらっしゃいましたら、挑戦することをお勧めします。
挑戦をせずに後悔するよりも、挑戦して後悔する方がはるかに価値があるのではないでしょうか。
皆さんの挑戦を心より応援しています。

Related Posts

関連した投稿はありません