PR

PS3を隠れ蓑に標的マシンのポートを調査

 PS3を利用したIPフラグメントIDポート・スキャンの仕組みについて,図3を使って解説します。PS3のIPアドレスを192.168.1.104,標的のIPアドレスを192.168.1.100とします。標的でTCPの139番ポートが開いている場合を考えます。


図3 IPフラグメントIDポート・スキャンの仕組み
[画像のクリックで拡大表示]

 まず攻撃者は受信端末であるPS3にICMP Echo Requestパケットを数回送信します(図3[1])。そして,PS3が返信したICMP Echo ReplyパケットからIPフラグメントIDの生成について規則性を調査します(図3[2])。次に攻撃者は,PS3のIPアドレスを偽装して,標的に TCP(SYN)パケットを1回送信します(図3[3])。

 ここからは,標的のポートの開閉状況によって流れが異なります。標的のTCPポートが開いている場合,標的はPS3にTCP(SYN+ACK)パケットを送信します(図3[4a])。PS3は実際にはTCP(SYN)は送っていませんから,TCP(SYN+ACK)パケットを受信すると,標的に対してコネクションを強制中断するためのTCP(RST)パケットを返します(図3[5a])。TCP(RST)パケットは分割されていませんから, PS3はIPフラグメントIDを1回だけ割り当てます。

 この後,攻撃者は再びPS3にICMP Echo Requestパケットを1回送信します(図3[6a])。PS3が攻撃者に返信したICMP Echo ReplyパケットのIPフラグメントIDが以前より2増加していれば,標的に1回パケットを送ったと考えられ,標的のTCPポートが開いていると判断できます(図3[7a])。図4は実際の攻撃者の画面を模擬したものです。図中,赤字になっている「id=」の数値を見ると,Hpingの返信パケットにあるIPフラグメントIDが,576から578に増えていることが分かります。


図4 標的のTCPポートが開いている場合にPS3が返信するパケットのIPフラグメントIDの値
[画像のクリックで拡大表示]

 これに対してTCPポートが閉じている場合,標的はPS3のIPアドレスを偽装した攻撃者のパケットに対してTCP(RST+ACK)パケットを送信します(図3[4b])。コネクションを強制中断するためのパケットですから,PS3は何も返信しません。ここで攻撃者がPS3にICMP Echo Requestパケットを1回送信すると,PS3が返信するパケットのIPフラグメントIDは1しか増えません。このことから,標的のTCPポートが閉じていると判断します(図3[6b])。図5は図4と同様,実際の攻撃者の画面を模擬したものです。IDは576から577で1しか増えていないことが分かります。


図5 標的のTCPポートが閉じている場合にPS3が返信するパケットのIPフラグメントIDの値
[画像のクリックで拡大表示]

 以上がPS3を利用したIPフラグメントIDポート・スキャンの仕組みです。このIPフラグメントIDポート・スキャンは,NmapではIdlescanという名称で実装されています。実際にPS3を受信端末としてNmapのIdlescanを行った結果が図6です。標的を直接TCPポート・スキャンした結果である図7と結果が同じであることから,IPフラグメントIDポート・スキャンが十分な精度であることが分かります。


図6 PS3を受信端末としてNmapのIdlescanを行った結果
[画像のクリックで拡大表示]

図7 標的を直接TCPポート・スキャンした結果
[画像のクリックで拡大表示]

 IPフラグメントIDポート・スキャンの受信端末としてPS3が利用された場合の問題としては,もし学内や社内のローカル・ネットワークにPS3がある場合,誰かがPS3を利用したIPフラグメントIDポート・スキャンでサーバーなどにポート・スキャンを行うと,ポート・スキャン元のIPアドレスはPS3のIPアドレスになることから,誰が攻撃者なのか特定するのは困難になるということが挙げられます。現時点ではIPフラグメントIDポート・スキャンを阻止するような設定がPS3にはありません。どうしてもPS3を利用したIPフラグメントIDポート・スキャンを阻止したい場合は,ファイアウオール製品でPS3を悪意のある通信から保護する必要があります。

家庭用ゲーム機にパソコン並みのセキュリティが必要に

 PS3自体はネットワーク経由の能動的な攻撃に耐え得る安全な状態でインターネットに接続されますが,IPフラグメントIDポート・スキャンに利用される恐れのあることが分かりました。また,現時点では攻撃者に侵入を許すようなぜい弱性は見つかっていませんが,そのうち誰かがぜい弱性を見付けるかもしれませんので,PS3が今後も常に安全な状態であるとは言い切れないことに注意してください。

 これでインターネットに接続可能な家庭用ゲーム機であるWiiに続きPS3も調査をしました。なぜ私が家庭用ゲーム機のセキュリティを調べるのか不思議に思っている方がいるかもしれませんが,最近の家庭用ゲーム機は急速に性能が向上してインターネットに接続できたり,ハード・ディスク・ドライブを搭載したりと,パソコンといっても過言ではないような端末になりつつあるからです。

 家庭用ゲーム機の性能がパソコンに近付くにつれて,パソコンで使われているOSやアプリケーションを参考にした家庭用ゲーム機のOSやアプリケーションが登場すると考えられます。このような家庭用ゲーム機のOSやアプリケーションには,パソコンのものと同じようなぜい弱性が含まれている可能性が高く,同じような攻撃手法が家庭用ゲーム機のOSやアプリケーションに適用できるのではないかと私は考えています。今のような勢いで家庭用ゲーム機の性能が向上し続ければ,近いうちに攻撃者が悪用するのに十分な性能を家庭用ゲーム機が有すると思われることから,そこに至るまでの過程をセキュリティ技術者として把握し,必要であれば家庭用ゲーム機に対してもセキュリティの啓発活動を行いたいと考えています。

 残るはXbox360だけになりましたが,Xbox360のセキュリティも個人的には気になっているので,もし手に入ることがありましたら,また今回のようにセキュリティについて書きたいと思っています。

■著者 プロフィール
Eiji James Yoshida
1999年から今までに数多くの企業や省庁のセキュリティ診断を担当。主にセキュリティ・ホールや侵入技術の研究を手掛け、その研究成果を基にセキュリティ診断や教育、執筆活動を行っている。「セキュリティ徒然草」では、セキュリティ診断やセキュリティ・ホールに関する話題の他にも、セキュリティに関するよしなしごとをおもいのままに書き綴る。「penetration technique research site」や「Eiji James Yoshidaの記録」でも情報提供中。