写真●フォティーンフォティ技術研究所の金居良治氏
写真●フォティーンフォティ技術研究所の金居良治氏

 セキュリティの分野でもよく使われるフリー・ツールがある。その代表例が,ポート・スキャナの「Nmap」やぜい弱性検査ツールの「Nessus」だ。

 セキュリティ・ベンダーであるフォティーンフォティ技術研究所 技術担当の金居良治取締役は,サーバーで開かれているポートを調べる際にNmapを利用する(図1)。Nmapは検査対象ホストの挙動からOSやサービスの種類,バージョンを判別する機能を備える。このため,ぜい弱性が発覚しているOSやアプリケーションを利用している場合はすぐに分かる。「設定ミスで不要なサービスが起動したままになっていることがしばしばある。設定に自信があってもスキャンすべき」(金居取締役)という。


図1●ポート・スキャナ「Nmap」の利用例
図1●ポート・スキャナ「Nmap」の利用例
サーバーの設定に間違いはないか,社内ネットに不正なパソコンが接続されていないかなどを調べる用途に使える。 [画像のクリックで拡大表示]

 また不正アクセスを受けた場合は攻撃者がバックドアを作る目的で勝手にサービスを立ち上げる可能性がある。運用中のサーバーに対しても,負荷の低い時間帯などを利用して定期的に検査するのが望ましい。

 この手の機能は,ぜい弱性の有無やパッチの適用状況を検査する機能を搭載した,いわゆるぜい弱性検査ツールにも実装されている。機能の多さではNmapは商用ツールに見劣りすることは確かだ。ただ,ポート・スキャナの機能だけを比べるとぜい弱性検査ツールとNmapで大きな違いはない。金居取締役は米国のセキュリティ会社,イーアイ・ディジタル・セキュリティでぜい弱性検査ツール「Retina Network Security Scanner」の開発に携わった経験を持つが,そのプロの目から見ても「ポート・スキャナ単体の能力はほぼ同レベル。むしろNmapの方が優れるケースがあるかもしれない」(金居取締役)という。

 使い方は比較的単純である。Nmapでは多くのオプションを設定できるが,「基本的にデフォルトで構わない」(金居取締役)。ポイントは検査にかかる時間。TCPとUDPでは,UDPの方が検査に時間がかかりやすい。「検査時間を短くしたい場合はTCPとUDPで検査を分け,UDPは『T』オプションを指定するといい」(同)。

 TオプションはNmapが検査スピードを自動的に調整する機能である。検査対象のポートを絞ったり,レスポンスの待ち時間を調整したりして検査時間を短縮する方法はあるが,「Tオプションを利用した方が分かりやすい。速くしたい場合は『T4』,さらに高速化したい場合は『T5』を指定する」(同)。

 Nmapはこのほか,社内LANに不正なパソコンがつながっていないかどうかを調べる用途にも使える。検査対象パソコンの指定にCIDR表記を使用できるため,社内で利用しているIPアドレスの範囲を検査対象に指定すればよい。最近はSP2を適用したWindows XPのようにデフォルトでpingに応答しないマシンもある。ただ,その場合も「NmapはARPを使って稼働しているマシンの有無を確かめる機能を備える。pingに応答しないマシンでも同一ネットワークであれば検知できる」(金居取締役)。

URL:http://insecure.org/nmap/
ライセンス:GNU General Public License(GPL)
動作OS:UNIX,Windows,Mac OS X

パッチの解析には商用ツールを活用

 本編ではフリー・ツールを取り上げたが,もちろん,それとは別に商用ツールを愛用しているケースがある。ここでは,その一例を紹介しよう。

 普段の業務は「ぜい弱性の解析」というフォティーンフォティ技術研究所の金居取締役。同氏が手放せないとするツールに,ベルギーのデータ・レスキューが提供する逆アセンブラ・ツール「IDA Pro」(http://www.datarescue.com/)がある。

 ウイルスをはじめとする不正プログラムはソースコードが公開されているわけではない。何も悪さをしていないプログラムでも,例えば数年に一度しか実行されない悪意ある処理が隠されている場合がある。不審なプログラムは挙動の解析が不可欠。そこでIDA Proを使って不正プログラムのバイナリ(実行ファイル)からアセンブリ言語を逆生成(リバース・エンジニアリング)するわけだ(図A)。

図A●フォティーンフォティ技術研究所の金居良治取締役が不正プログラムやパッチの解析に活用している逆アセンブラ・ツール「IDA Pro」
図A●フォティーンフォティ技術研究所の金居良治取締役が不正プログラムやパッチの解析に活用している逆アセンブラ・ツール「IDA Pro」
[画像のクリックで拡大表示]

 ソフト・ベンダーが提供する修正モジュールの解析に使うこともある。「ベンダーが提供するアドバイザリにはぜい弱性に関する情報が意外に少なく,本当に深刻なものかどうか分からないことがある」。その場合は修正モジュール適用前と,修正モジュール適用後のそれぞれのバイナリを逆アセンブルする。その差分から,「ぜい弱性の具体的な原因は何か,他の回避策はないかなどを判断できるようになる」(同)という。