CpawCTF

製品概要

セキュリティコンテスト「Capture The Flag」の入門者用コンテストです。 Capture The Flagは通称CTFと略され、問題サーバへの攻撃手法や暗号解読技術、自サーバー防衛などの技術を競うものです。 Pycharm,djangoを用いてサーバー側のAPIを作成、Ember.js,Emberpure-ci,MSpaint,kintoneを用いてクライアント側のスクリプトを作成しました。

背景(製品開発のきっかけ、課題等)

現在、世の中はIoT製品が普及し、身の回りの電子機器がどんどんインターネットに繋がってきています。 jphacksでも、IoTを元にした作品がたくさん生まれていると思います。 そのおかげで、私たちの生活はとても豊かになりました。 同時に、インターネットにたくさんのものが繋がってしまうことにより、セキュリティの重要性が浮き彫りになってきました。 オンラインバンキング、クラウド、さらにはインターネットに繋がるスナイパーライフルまでサイバー攻撃されたという報告があります。 なぜ、攻撃がされるかというと、セキュリティ対策の技術がないからでは決してありません。 ほとんどの製品開発者がセキュリティに対する知識を持ち合わせていないからです。 これからさらにIoTの普及が加速すると予測されている中、このままセキュリティ対策の不十分なサービスが大量にある状態では世界はそのうち大規模な攻撃により大混乱に陥ることが予測できるでしょう。 それを防ぐためには、様々なサービスの開発者にセキュリティの知識を最低限身につけてもらわなくてはなりません。 ただ、開発者に独学で黙々とセキュリティに関するリファレンス等を読んで勉強しろというのはとても学習コストが高いです。 そのため、私たちはその学習コストを激減させることはできないかと考えました。 そして、現在世界各国で行われているセキュリティコンテストの一つである「Capture The Flag」の入門者用コンテストである「CpawCTF」を開発しました。 CpawCTFは、日本で初めての入門者用常設CTFであり、セキュリティコンテストをゲーム感覚で気軽に体験してもらい、セキュリティに関する知識や経験をセキュリティ初心者が気軽に得られるものです。

製品説明(具体的な製品の説明)

サーバにhttpでアクセスすると、Topページが表示され、ログインフォームと登録フォームが下に出てきます。 メールアドレスとパスワードとスクリーンネームを入力し、Registerボタンを押すと、ユーザ登録が完了します。 ユーザ登録が終わったら、Questionが表示され、プレイヤーのレベルで回答することができる問題が表示されます。 問題をクリックすると、問題の個別ページが現れるので、問題を解きます。 問題に正解すると、経験値がたまります。 経験値が溜まると、ユーザのレベルが1つ上がり、次のステージの問題が表示されるようになりますので、問題を次々と解いていくことによりレベルアップしてゲームをプレイするようにセキュリティに関する問題を解いていくことができます。

特長

1. 特長1

セキュリティをゲーム感覚で学べる。

2. 特長2

RESTfulなサーバ。

3. 特長3

ハッカソンのほとんどの時間を使って作ったドット絵風のデザインとロゴ。

解決出来ること

  • セキュリティ人材不足解消
  • ソフトウェア開発者等のセキュリティ意識の向上
  • コンピュータ全般の知識とプログラミング技術の向上
  • 日本でのセキュリティコンテスト普及活動

今後の展望

今後の展望としては、といた問題のジャンルをグラフ化するなど、可視化できるものを増やし、より親しみやすく楽しみやすいようなUIに仕上げようと思っています。 そして、アクセスログを機械学習させ、そのユーザが問題を解く際の特徴などを求める機能も増やしていきたいと考えています。 便利な機能を付け加えていき、セキュリティという分野の敷居を感じさせなくするセキュリティコンテストとして、ソフトウェア開発者はもちろん、PCを少し触る程度の人にも参加してもらえるようにしたいです。

注力したこと(こだわり等)

  • 背景画像、ロゴ、ドット絵などのほぼ全てペイントにて作成したデザイン絵
  • 楽しんでもらえる機能の開発
  • 設置するセキュリティ問題の質

開発技術

活用した技術

API・データ

フレームワーク・ライブラリ・モジュール

  • django
  • REST framework
  • Ember.js

デバイス

  • ノートPC

独自技術

ハッカソンで開発した独自機能・技術

  • 独自で開発したものの内容をこちらに記載してください
  • 特に力を入れた部分をファイルリンク、またはcommit_idを記載してください。
  • 使用しているロゴ、ドット絵は独自に作成したものです。
  • #### 製品に取り入れた研究内容(データ・ソフトウェアなど)(※アカデミック部門の場合のみ提出必須)
Share this project:
×

Updates