setodaNote

忘れる用のメモ書き for Cybersecurity

Hacktory:オンライン学習プラットフォーム

Hacktory はサイバーセキュリティに関する知識やスキルを学べるオンライン学習プラットフォームらしく、ゲーミフィケーションの要素を取り入れた「夢中になれるサイバーセキュリティ教育プラットフォーム」と自身のことを紹介していました。

少しだけ遊んでみましたが、実際に手を動かして試すことができるようブラウザからアクセス可能な仮想環境がユーザ毎に提供されていました。また序盤は Linux を初めて利用する人向けの説明なども含まれおり、事前知識ゼロでも楽しめそうな雰囲気がありました。

なお、調べた限り運営組織が不明なので、利用される場合はこの点ご留意ください。

f:id:soji256:20210104015837p:plain:w560
Hacktory

Hacktory の紹介

Hacktory には Web セキュリティコース と Java セキュアプログラミングコース の2種類が用意されています。今回は Web セキュリティコースを選んでみました。なおコースはいつでも途中で変更できました。

f:id:soji256:20210104013942p:plain:w560
Hacktory では2つのコースが提供されていました

Web セキュリティコースは15個の章に分かれており、ひとつひとつをクリアすることで次の章に進めるようになっています。 各章には冒頭に教科書的なページが用意されており、その章で必要となるツールや前提知識などが図や動画などを用いて解説されていました。

f:id:soji256:20210104020942p:plain:w560
Hacktory の Webセキュリティコース

章の中身は、基本的には「解説」「選択式の設問(ない場合もある)」「実技(仮想環境を起動してチャットbotの問いに答える形で進める)」の3つから構成されていました。仮想環境での実技はコマンドやコマンドの実行結果から得られる単語などを答える形のもので、CTF のフラグを見つけるのに似ていました。

f:id:soji256:20210104013619p:plain:w560
Hacktory の章ごとの基本画面

f:id:soji256:20210104012836p:plain:w560
Hacktory の仮想環境の画面

解説が丁寧に作られているので、事前知識ゼロでも楽しめそうな印象です。また各エクササイズも短くまとめてあるので、サクッと楽しめました。

クリアしていくとポイントが獲得でき、ランキングページで他のユーザと競ったり、結果を進捗画面で振り返ることができます。進捗の記録は毎日がんばると綺麗な芝生が生えそうな雰囲気がありました。*1

f:id:soji256:20210104015254p:plain:w560
Hacktory の進捗画面(My progress)

実績解除もあります。少しゲームっぽい感じが出ていました。

f:id:soji256:20210104015714p:plain:w560
Hacktory Achievements

序盤はチャットbotが優しく誘導してくれるので、特にストレスなく進めますし、実際にカタカタカッターン!とできるのでやっている感もあっていい感じでした。実際に環境を用意する手間もなく、手を動かして試せるのは楽しかったです。

付録

仮想環境について

エクササイズ用にツールや環境が準備してあるので、基本的にはブラウザを起動すると解く対象サイトが表示されるところまでお膳立てされています。解くのに使うコマンドなどは解説のページに載っているほか、チャットbot が引数も含めて教えてくれるときもありました。なお、Webセキュリティだけで69個の仮想環境が用意されているようです。

仮想環境はユーザ毎に都度初期化された環境が提供されます。ブラウザ越しの操作のせいかそれなりにラグを感じるので、無理というほどではないですが、少し操作はしずらいです。ここが改善されるとカタカタカッターンが捗るように思いました。

仮想環境の起動と終了には1~2分程度かかるのでその間は進捗率を眺めながら待機です。また、起動直後からカウントダウンがされていたので、一定時間で自動終了するのだろうと思っていたのですが、プレミアムプランに入ると30分制限がなくなるようです。

f:id:soji256:20210104014220p:plain:w560
仮想環境を起動して30分経過すると表示される画面

なお、仮想環境へのアクセスで失敗する場合はブラウザを切り替えてみるといいかもしれません。

仮想環境のドメイン名(hcktrgw.com)について

仮想環境に接続する際に利用される「hcktrgw.com」については、セキュリティ機器によっては新規取得ドメイン名としてレピュテーションに引っかかる場合があるようです。

Java セキュアプログラミングコースについて

脆弱性のあるコードを参照してコードを修正する形で進めるようです。セキュアコーディングを題材に実際のコード修正までできるサイトは珍しいように思いました。

初回ログイン後に表示される解説について

初回ログイン後に「Attack」「Defence」という選択肢が表示されます。見たい解説の方を選べばよく、これによって何か変わるといったことはないようでした。また後から見たい場合は画面右上にあるユーザアイコンから「Help」を選び「Practice assignments」を選択することで見ることができます。

f:id:soji256:20210104013759p:plain:w560
Hacktory 初回ログイン後に表示される画面

Hacktory の動画について

解説に含まれている動画が公開されているようだったので貼っておきます。

対応言語について

今のところ日本語には対応していないようでした。選択画面からは「英語」「ドイツ語」「フィンランド語」「フランス語」「ロシア語」などが確認できました。ただ、切り替えを行ったときに英語以外で表示されたのはロシア語のみでした。

f:id:soji256:20210104021333p:plain:w192
Hacktory の対応言語一覧

運営組織が不明

運営組織についての情報が見つけられませんでした。*2

更新履歴

  • 2021/01/04 新規作成
  • 2021/01/04 一部表記を修正、「Java セキュアプログラミングコースについて」を追記

*1:カレンダー表示がちょうど GitHub の Contributions 機能に似ていたので。

*2:連絡先として記載してあるメールアドレスを検索にかけると、主にロシア語圏のサイトがヒットしたのでロシア語話者向けに活動しているのかもしれません。