Peter Yaworski:リアルワールドバグハンティング

作成日:2021-03-28
最終更新日:

概要

セキュリティの脆弱性を発見し、アプリケーションの所有者に報告する倫理的ハッキングの事例を紹介し、 ソフトウェアのバグを見つける方法と手順を解説する。

感想

わたしには難しかった。以下は、単なる感想である。

p.141 にはメモリの脆弱性について、次のように解説されている:

メモリの脆弱性は、C や C++ のように、 開発者がアプリケーションのメモリ管理に責任を持つプログラミング言語で生じます。 Ruby、Python、PHP、Java といった他の言語は、開発者のためにメモリ割り当てを管理してくれるので、 これらの言語ではメモリのバグは生じにくくなります。

ここで言われているのはまず間違いないだろう。ただし、付け加えておかなければならないのは、 「他の言語」そのものが C や C++ で書かれている可能性が高いということだ。 その結果、「他の言語」で書かれていてもメモリの脆弱性によるバグは発生しうる。 実際、本書の p.146 では、PHP でメモリの脆弱性が発生した例が報告されている。 この脆弱性は、PHP が C 言語で書かれていることから生じた、と解説されている。 そうなると、言語そのものを疑うことが必要かもしれない。PHP だけでなく、Ruby も、Python も、 基準となる処理系は C 言語で書かれているのだ。そうなると、何を信用すればいいのだろうか。 Java のコンパイラ javac は java で書かれている。そのほか、Go や Rust などが、 自身の言語で書かれていることが知られている。このような言語で Web アプリケーションを組むのがいいのだろうか。 よくわからない。

p.161 の15章の表題は「レース条件」であるが、日本語訳としては「競合状態」 がよいと思われる。原著では "Race Conditions" である。

誤植

p.4 1.3.3 項、第2段落の下から4行目、「他の標準的なポートには 433 が……」とあるが、 正しく「443 が……」である。第2段落の下から2行目は正しく 443 となっている。

p.146 13.3節、第2段落の2行め、「符合なし整数は 232バイト」とあるが、正しくは、 「符号なし整数は 232バイト」だろう。

p.224 20.5節、第1段落の1行め、「忘がちですが」とあるが、 「忘れがちですが」と、送り仮名の<れ>を振るのがいいだろう。

書誌情報

書 名リアルワールドバグハンティング
著 者Peter Yaworski
訳 者玉川 竜司
発行日2020 年 9 月 25 日
発行元オライリー・ジャパン
定 価3000 円(本体)
サイズ??判
ISBN978-4-87311-921-2
その他越谷市立図書館で借りて読む

まりんきょ学問所コンピュータについてコンピュータの本ソフトウェア品質保証 > Peter Yaworski : リアルワールドバグハンティング


MARUYAMA Satosi