どんなものか気になって買ってみたのだが……感想はタイトルの通り。
サイバーセキュリティプログラミング ―Pythonで学ぶハッカーの思考
- 作者: Justin Seitz,青木一史,新井悠,一瀬小夜,岩村誠,川古谷裕平,星澤裕二
- 出版社/メーカー: オライリージャパン
- 発売日: 2015/10/24
- メディア: 単行本(ソフトカバー)
- この商品を含むブログ (11件) を見る
正直なところ、原題の『Black Hat Python』の方が(分かる人には)分かりやすいと思う。『サイバーセキュリティプログラミング』だと、防御側Onlyの話*1だと誤解されそうな気がする。まあ、本書副題を見て(これまた分かる人なら)ピンとくるのだろうけど。
本書は「『(適切な防御・防衛を実現するためにも)サイバー攻撃の理論と実践を学ぼう』入門」の本であり、実践の手段としてPythonを用いている本――だと思う。Pythonを使っているのは、情報セキュリティの分野でPythonが使われることが多いからだろう。これがCやC++だったら……いや、止めておこう。
元来、コンピュータは仕事の自動化(それによる省力化)が得意な訳で、その中でも特に、Unixユーザランドのような「単純なコマンドを繋ぎ合わせることで手軽に自動化を図れる環境」だとか、Perl・Python・Rubyのような「さっと書いて、さっと実行できる言語」は、(その価値が分かる人にとっては)人気が高い。
サイバー攻撃する側・防御する側双方とも、人力ではやってられないので自動化や過去資産の流用を図る訳で、そこで自動化のツールとしてPythonが使われて、Pythonで書かれた過去資産が積みあがって――というのが現状なのだろう。
あと本書の冒頭に書かれているように、サーバにネットワーク関連のツール(WiresharkやNetcatなど)が入っていることは少ないが、Python(あとPerlか?)は依存関係の都合で入っていることが多い。そうなると、標準ライブラリでTCP/IP通信が可能なPythonなどの言語は、有用なツールとなる。
扱っている内容は、比較的ベーシックなものだ。だから「入門」。現実の攻撃では、より高度なことをやっているだろう。ただしそれは、本書で扱っているようなベーシックな手法(もしくはその手法の背景にある理論)を土台としていることも多いので、結局はベーシックな手法を学んでおく必要があるだろう。
*1:つまり「どう対策するか?」という内容のみ。