Security Tips
 

stringsコマンドの使い方

園田 道夫
2004/1/28

 UNIXにはstringsコマンドというものがあるが、これはバイナリファイルなどの中に文字化して表示可能なデータがあれば、それを表示してくれるコマンドだ。

 例えばcoreファイルがどのプロセスによって作られたものかを調べる場合には、Solarisの場合などはfileコマンドでcoreファイルそのものを指定してやると、どのプロセスが作ったcoreなのかを表示するが、そうした表示をしてくれない場合もある。そういうときは、

strings core

とすると、文字化された情報の中にプロセス名らしきものが表示されてくる。

 coreファイルが存在する、ということは、そのプロセスがバッファオーバーフロー攻撃に遭った可能性がある、ということでもある。どのプロセスが攻撃された(可能性がある)のか、stringsコマンドを使えば素早く知ることができる(もちろん、ほかの原因で不正終了した結果coreファイルができる場合もあるので、coreファイルがあるからといって、必ず不正な攻撃を受けたということを意味している訳ではない)。

 もちろんcoreファイルだけでなく、コマンドを対象としてもよい。コマンドを対象としてstringsコマンドで情報を文字化させると、例えばどのファイルをハンドリングしているのか、どの環境変数を参照しているのかなどの情報を得ることができる。manコマンドなどでまっとうに使い方を調べるのは結構手間が掛かり、なおかつ表示されるマニュアルが英文であることも多い。手っ取り早く各種の情報を得るときは、stringsコマンドのような手法も必要だろう。

Security Tips Index



Security&Trust フォーラム 新着記事
@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

注目のテーマ

Security & Trust 記事ランキング

本日 月間