タイトルを見て『謎』だと気づいた人。
そうです。今回は謎解きの話です笑
またまたすっかりご無沙汰のブログになってしまった。
仕事やらプライベートやら、なんやかんやいろいろありまして。
気づけば梅雨も終わり、外に出れば「暑っ!!」しか言葉が出てこない夏まっさかりになってました。
時間経つの早すぎん?笑
そんな中、ちょっと人に勧められてCTFというものをやり始めました。
CTFっていうのは「Capture The Flag」の略で、簡単にいうとサイバーセキュリティ系の謎解きゲームみたいなもの。
問題の中に隠されている「Flag」と呼ばれる文字列を見つけ出せばクリア。
最初に聞いた時は、
「ハッキングするやつ……?」
くらいの認識だったんだけど、実際にやってみるとこれが結構面白い。
感覚としてはかなり脱出ゲームの謎解きに近い。
「この謎の文字列はなんだ?」
「ここに何か隠れてる?」
「この数字、もしかして意味がある?」
みたいに、ヒントを拾いながら答えを探していく。
ただし、相手は鍵のかかった箱じゃなくてコンピュータです笑
で、やっていて面白いのが、単純に問題を解くだけじゃなく、
「そもそもコンピュータって、どうやって文字を理解してるんだ?」
みたいなところまで少しずつ見えてくること。
普段ボクらは当たり前のように文字を打って、画面に表示された文章を読んでるけど、コンピュータからしたら結局全部数字。
文字コードだったり、2進数だったり。
記念すべき1問目はBase64からの変換。
今まで聞いたことがないBase64。
なにそれ?と思いつつ調べてみたら、メール添付なんかでも普通に使われているらしい。知らんところでめちゃくちゃ働いてるやん。
その文字配列が実際の問題の中で登場するので、これがなかなか楽しい。
とはいえ。
最初は本当に何をしたらいいのか全然わからなかった。
画面に謎の文字列がバーンと出てきても、
「…………で?」
である。
仕方がないので、こういう時こそ文明の利器。
AI先生に、
「CTFってどうやって取り組めばいい?」
と聞いてみた。
するとAI先生、
「Base64 → Caesar → XOR → ハッシュ → RSAあたりがCTF暗号の入門になってくる……」
みたいな説明をしてくれる。
なるほど。
なるほどなるほど。
全然わからんぞ!!!!!!
いやその入門をどうやってくぐるんよ!!笑
途中から、
「その言葉の意味から教えて」
「今のところ、もう一段階かみ砕いて」
「なんでそこでその変換になるの?」
「そこ!!そこがわからん!!」
と細かく聞いていって、ようやく少しずつ理解できるようになってきた。
専門用語をひとつ説明してもらったら、その説明の中から新しい専門用語が二つ生えてくる。
専門用語、増殖するな。
そんな気分である。
そして、Base64には文字と数字の対応表があるらしい。
なるほど。
じゃあまず対応表を見て数字に直して、その数字を2進数にして、8ビットずつ区切って、最後にASCIIコードで文字に戻せばいいのか。
ということで、普通に手作業でやり始めた。
対応表を見る。
数字にする。
2進数にする。
並べる。
8桁ずつ区切る。
ASCII表を見る。
文字に戻す。
……。
……。
……。
数文字やったところで思った。
これ、みんな毎回手でやってんの????
いやいやいや。
いくらなんでもめんどくさすぎる。
CTF参加者、全員こうやって表とにらめっこしてるんか?
と思ってAIに聞いてみたら、
「普通はツール使うよ」
とのこと。
先に言って。
CyberChefという、暗号化やエンコードなんかをいろいろ変換できる便利なツールがあるらしい。
世の中、ちゃんと文明は進んでいました。
ボクだけ石器時代だった。
そして次に出てきたのがROT13。
アルファベットを13文字ずらす暗号らしい。
出題者のヒントにも、
「13文字シフトさせろ」
みたいなことが書いてあった。
(ヒントはあれば速攻見る人間です笑)
なるほど。
Eから13個数えてR。
Bから13個数えてO。
Gから……。
……。
……。
……。
また手でやり始めた。
長い文字列を見ながら一文字ずつ、
「えーっと、これは13個先だから……」
と数えるボク。
そして途中で、ふと思う。
いや、これも絶対ツールあるやろ。
CyberChefに変換ツール、ありました。
危ない。
また石板に文字を刻み始めるところだった。
ただ、不思議なもので、一度手でやってみたおかげで、
「Base64ってこういう仕組みで文字に戻してるんだな」
とか、
「ROT13って本当にただ13文字ずらしてるだけなんだな」
というのは、結構しっかり理解できた。
あと2進数の計算の復習にもなった笑
ツールに文字列を放り込んで一瞬で答えを出すだけだったら
「なんか変換したら答え出た!」
で終わってた気もする。
効率は最悪だったけど、理解するという意味では案外無駄でもなかったのかもしれない。
……まあ、二度目からは普通にツール使うけど笑
謎解きをしながらコンピュータの仕組みも知れる。
知らなかった技術や考え方にも触れられる。
そして時々、便利なツールの存在を知らずに手作業で突っ走る。
まあ、それらも含めて、CTF、しばらく楽しめそうです笑
番外編
写真はちょうど一年前にとった万博のコナン君たちです笑
(関西パビリオンの鳥取ブース)
もう1年たったんだなぁ…。


コメント