名前はまだない

とりあえずの思考や学習のアウトプットの場

脱初心者向けのLinux/セキュリテイ系の本について調べたのでまとめた

0. はじめに

という、プログラミング初学者におすすめされる低レイヤー系の定番の入門書たちを読み進めていたが、案外早く終わりそうなので次に読む本を調べてみた。以下はそのまとめ。

主にこちらの2つのサイトを参考にしつつ、実際に書店で手にとって検討した。

1. Linuxの基礎

中級者向け

Linuxシステムプログラミング

Linuxを触り始めた後、どうやってLinuxに関するプログラミングを行うのかを知るために丁度良い一冊だと思った。以下は本書の中で書かれている、本書が答える疑問。

  • Linuxでシステムレベルのアプリケーションを開発するにはどうすれば良いか
  • カーネルやCライブラリが提供するものは具体的に何か
  • 効率的なソースコードを記述するには、またLinuxではどんな仕掛けが用意されているか
  • 他のUnixシステムと比べて、Linuxではどんな巧妙なシステムコールが用意されているか またどんな動作をするのか

手にとった感じそこまで難しくなく、前提とする知識もあまりなかったので、まずはこの一冊から始めようと思った。

Linuxネットワーク管理 第3版

Linuxでのネットワーク構築とその管理手法について網羅的に紹介してくれる一冊。基礎からやってくれるっぽいので、『ネットワークはなぜつながるのか』を読んでネットワークの最低限の知識を入れた後でこれを読むと一通りの知識をさらえて、ネットワーク関係を触れるようになると思う。良さげなのに絶版と知って絶望したが、メルカリで800円で売ってたので即購入。

リファレンス/コツコツ読み進める系

Linuxプログラミングインタフェース

Linuxのmanページ(標準搭載されているマニュアル)の制作プロジェクトの主催者がLinuxのシステムについてまとめた一冊。1,600ページ以上あったので、紙媒体での購入は諦めた。オライリーのページからPDF版を購入できる。一通り目を通しつつ、リファレンスとして手元に置いておくのが吉。

詳解 Linuxカーネル 第3版

言わずと知れた名書。カーネルのコードを読み解くために詳しく解説してくれている一冊。本当は買ってコツコツ読み進めたいけど、他の本のほうが優先度が高いのでしばらく置いておく。

2. セキュリティ/デバッガ系

Linuxサーバセキュリティ

アメリカで活躍するプロのセキュリテイコンサルタントが書いた本。ネットワークとサーバーの基礎知識があれば読めるらしく、約450ページと網羅性も高そうなので購入した。上記のLinuxネットワーク管理後に読み進めたい。ちなみにメルカリにて1,600円で購入。

解析魔法少女美咲ちゃん マジカル・オープン!

電王戦で将棋のソフトを解説しているやねうら王氏の名著。最近まで絶版だったが、数年前にKindleで再販したらしい。少女向けアニメのような表紙とは裏腹に、デバッガ解析の入門レベルから、割と高難易度なところまで突っ込んだ超本格派の実践書らしく、総じて評価が高かったので購入した。XP環境を用意しないと実践できないのが難点。もともとデバッガ解析やネットワークの脆弱性について興味があったのでC言語機械語、CPUの勉強を始めたのでぜひ読みたいと思う。こちらは運良く駿河屋で1,500円で購入。

リバースエンジニアリング ―Pythonによるバイナリ解析技法 (Art Of Reversing)

そもそもリバースエンジニアリングという単語を知らなかった。

リバースエンジニアリングとは、ソフトウェア/ハードウェア製品の構造を分析し、製造方法や構成部品、動作やソースコードなどの技術情報を調査し明らかにすること (リバースエンジニアリングとは - @IT)

C言語みたいなコンパイラ言語をわざわざ使わなくても、Pythonでデバッガできるしそれが最適だよ?って言ってる本。元々Pythonを少し触っていたので読みやすいかもしれない。脆弱性の発見からその対処までの一連の流れを示してくれているそうなので、上の本と併せて読むと自力で色んなソフトウェアを解析できるようになりそう。

The Hacker Playbook 3: Practical Guide To Penetration Testing (English Edition)

日本語版の書籍があるが、そちらは第二版なので第三版の洋書を挙げておく。Kaliの様々なツールを駆使して実際にWindowsネットワークに侵入し、権限を取得したりウイルス検知を回避したりなど、具体的な脆弱性の突き方が書かれている。今すぐにでもこれをやりたいが、上述の中級者向けの2冊と上の3冊を読んでから手を出そうと思う。

暗号技術のすべて

暗号化について超古典的な公開暗号鍵から最新のものまで幅広く網羅されていて、なおかつ数式を載せてしっかりと学べる700ページ超えの本。これを手元に置いてリファレンスとして使いながら、暇なときにパラパラと読み進めたい。購入者特典でPDFが配られるそうなので、書籍で購入するのが良い。

3. おわりに

こうやって自分が知りたい分野について調べ、次に読む本をリストアップするとモチベーションが上がった。1日300時間の世界に身を置いて、一日中かじりついて読破したい本ばかりなので、粛々と読み進めていく所存。 もちろんFPGAの開発キットをポチったところなので、FPGAの記事で挙げた書籍と並行して進めていく。

追記:計算処理の最適化に興味が出たら計算理論の基礎 [原著第2版] 1.オートマトンと言語を読むつもり。