10.7. ツール

セキュリティ上の問題を、実環境で結果を出す前に検出するツールが存在します。 もちろん、すべての問題を見つけられるわけではありませんが、巧妙で見落とし がちな問題を見つけてくれます。 ここでは、オープンソースとフリーソフトウェアに焦点を当て、ツールを 紹介します。

ツールのタイプの 1 つは、ソースコードを調べて、セキュリティ上問題に なりそうな既知のパタンを検索するプログラムです(たとえば、何らかの手段で ライブラリ関数を呼び出すことが、セキュリティ上の脆弱性につながります)。 この種のプログラムは「ソースコード・スキャナ」と呼ばれています。 ここでいくつか紹介します。

別の解決方法にテストパタンを作成して、プログラムを動かす方法があります。 これはプログラムが持つ弱点を見つける試みの 1 つです。 ツールがいくつかあります。

動作しているプログラムを覗いて、コードにあるセキュリティ上の問題を発見 しようとするツールがたくさん存在します。 このツールに該当するのは、シンボリックデバッガ(gdb のような)やトレースする プログラム(strace や ltrace のような)です。 おそらくあまりご存じないと思いますが、 Fenris (GPL ライセンス)というプログラムがあります。 ドキュメントには Fenris のことを「バグトラックを簡単にするために、状態を 保存して分析したり、部分的に逆コンパイルする機能を持ったりした、汎用トレーサ です。 セキュリティ監査やコード、アルゴリズム、プロトコルを分析します。プログラム 構成のトレースや内部構造一般の情報として実行パス、メモリ操作、入出力、条件式 等々を提供します」とあります。 もう 1 つこの系列で興味深いプログラムがあります。それは Subterfugue です。

一般的に弱点を抱えがちな製品(ftp サーバやファイアーウォール)を構築している なら、セキュリティをスキャンするツールが役立つのはおわかりだと思います。 優れたものの 1 つに Nessus があります。他にもたくさん のツールがあります。 この種のツールはリグレッション・テスト(回帰テスト)を行うのに非常に便利です。 そもそも過去に特定している脆弱性のリストを使っているからです。ただし、新しい プログラムの問題を発見するのには、役に立つとはいえません。 【訳註:リグレッション・テストとは、プログラムのあるバグを直した副作用で、 また別のバグが発生していないかどうか、確かめるテストを指します】

他のツールを呼び出して、基盤を安全に実装する必要が出てくるケースがよくあります。 Open-Source PKI Book には、公開鍵基盤(PKI)実装用に、オープンソースのプログラムがたくさん載って います。

もちろん、安全でないプラットフォームの設定で「安全な」プログラムを動かすのは ほとんど意味がありません。 よろしければ、システムを強固にする方法を調査して、攻撃に対してより防御できる ようにシステムを設定、もしくはカスタマイズしてください。 Linux ならば、 Bastille Linux が http://www.bastille-linux.org で利用できます。