守り方は分かる。何から守るのかは分からない
自分のサイトを公開したあと、脆弱性の検知と監視の仕組みを作りました。依存関係を見張って、警告が出たら気づけるようにする、という内容です。
そのとき読んでいた情報は、全部が守る側のものでした。
守る側の情報だけを読んでいて何が抜けていたか、体験して覚えることと読んで覚えることの違い、そして学んだことをどこまで使ってよいかです。
守り方は分かる。何から守るのかは分からない
「この設定を入れる」「このヘッダーを付ける」「このバージョンに上げる」。守る側の情報は、やることが具体的に書いてあります。そのとおりにやれば作業は終わります。
ただ、終わったあとに本当に守れているのかが判断できませんでした。
理由ははっきりしていて、攻撃がどういう手順で進むのかを知らなかったからです。手順を知らないまま対策だけ並べると、全部が同じ重さに見えます。
対策のリストには、放置すると即座に踏まれるものと、他がすべて破られた後にようやく効いてくるものが混ざっています。
順番が分からないと、上から順にやるか、やりやすいものからやるかしか選べません。
手を動かす本を選んだ
そこで読んだのがこの本です。TryHackMeという、攻撃を試すために用意された環境を使いながら進みます。
解説を読むだけの本ではありません。指示されたとおりに調べ、見つけ、入る。その手順を自分でなぞります。
やってみて分かったのは、残り方が違うということでした。読んだだけの知識は「そういうものがあるらしい」で止まりますが、自分の手で手順を踏むと、どこが引っかかりやすいかまで体に残ります。
やる前は、攻撃というものをもっと特別なものだと思っていました。実際には調べる、試す、記録するの繰り返しです。
特別ではないと分かったことが、いちばん大きい収穫でした。特別でないなら、こちらも手順で備えられます。
読むだけでは、半分しか入らない
この本の注意点はここです。手を動かす前提で書かれているので、読むだけだと半分で終わります。
環境の準備や、うまくいかないときに止まる時間も含めて、それなりにまとまった時間が要ります。通勤中に読み進める種類の本ではありません。時間を確保してから始めるほうがいいと思います。
7日間という題名ですが、1日ぶんに何時間かかるかは書いてある内容と自分の慣れ次第です。自分は日によってかなり差がありました。
使ってよい範囲について
ここは書いておきます。
この本で扱うのは、そのために用意された練習用の環境です。同じ手順を、許可を得ていない相手に対して試してはいけません。技術として成立するかどうかと、やってよいかどうかは別の話です。
自分の場合、試す先は自分のサイトと練習環境だけにしています。攻撃側の手順を知る目的は、守る順番を決めるためであって、それ以上ではありません。
7日間でハッキングをはじめる本TryHackMe を使って身体で覚える攻撃手法と脆弱性
- 使っている理由
- 自分のサイトを公開するにあたって、攻撃される側の話を読むだけでなく、手を動かして確かめたかった。
- 効いた点
- TryHackMe の環境で実際に試しながら進むので、脆弱性が「どういう手順で踏まれるか」が体験として残る。読むだけの解説とは残り方が違う。
- 合わなかった点
- 手を動かす前提の本なので、読むだけでは半分しか入ってこない。環境を用意する時間を確保してから始めるほうがいい。
リンクは広告を含みます。
今回の学び
まず、守る側の情報だけでは、優先順位がつかないこと。対策は列挙できても、どれを先にやるべきかは攻撃の手順を知らないと決まりませんでした。
次に、体験は、残り方が違うこと。読んで分かったつもりになっていたことでも、自分の手で通してみると引っかかる場所が出てきます。その引っかかりのほうが、あとで効きます。
そして、知ることと、やってよいことは別だということ。手順が分かるほど、その線を自分で引いておく必要が出てきます。本の中で扱われている環境が、練習のために用意されたものである意味は、そこにあります。

