書籍購入:『サイバーセキュリティプログラミング』って、もうちょっとよいタイトルがあったのでは?

どんなものか気になって買ってみたのだが……感想はタイトルの通り。

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考

副題の「Pythonで学ぶハッカーの思考」で、何となく内容の予想がついたのだが、まあその通りだった。

正直なところ、原題の『Black Hat Python』の方が(分かる人には)分かりやすいと思う。『サイバーセキュリティプログラミング』だと、防御側Onlyの話*1だと誤解されそうな気がする。まあ、本書副題を見て(これまた分かる人なら)ピンとくるのだろうけど。

本書は「『(適切な防御・防衛を実現するためにも)サイバー攻撃の理論と実践を学ぼう』入門」の本であり、実践の手段としてPythonを用いている本――だと思う。Pythonを使っているのは、情報セキュリティの分野でPythonが使われることが多いからだろう。これがCやC++だったら……いや、止めておこう。

元来、コンピュータは仕事の自動化(それによる省力化)が得意な訳で、その中でも特に、Unixユーザランドのような「単純なコマンドを繋ぎ合わせることで手軽に自動化を図れる環境」だとか、PerlPythonRubyのような「さっと書いて、さっと実行できる言語」は、(その価値が分かる人にとっては)人気が高い。

サイバー攻撃する側・防御する側双方とも、人力ではやってられないので自動化や過去資産の流用を図る訳で、そこで自動化のツールとしてPythonが使われて、Pythonで書かれた過去資産が積みあがって――というのが現状なのだろう。

あと本書の冒頭に書かれているように、サーバにネットワーク関連のツール(WiresharkやNetcatなど)が入っていることは少ないが、Python(あとPerlか?)は依存関係の都合で入っていることが多い。そうなると、標準ライブラリでTCP/IP通信が可能なPythonなどの言語は、有用なツールとなる。

扱っている内容は、比較的ベーシックなものだ。だから「入門」。現実の攻撃では、より高度なことをやっているだろう。ただしそれは、本書で扱っているようなベーシックな手法(もしくはその手法の背景にある理論)を土台としていることも多いので、結局はベーシックな手法を学んでおく必要があるだろう。

*1:つまり「どう対策するか?」という内容のみ。