ここからは,今回の検証実験で対象とした,セキュリティ脆弱性の主要な項目を五つ取り上げて攻撃方法と結果を見ていく。五つの項目とも,検証実験においてデータセンター事業者3社のいずれかで脆弱性が見つかったものである。一般的にも脆弱性が見つかりやすい項目なので,自社のサーバー運用を見直す参考にしてほしい。

(1)ポート・スキャン

 ライブドアもそうだが,サーバー上の本来不必要なサービスに対するセキュリティ対策は甘くなるものである。そこで検証実験では,攻撃チームが防御チームのサーバーごとに,0~65535番の全TCPポートに対してアクセスを試み,本来不必要なポートが開いていないかどうかを確認した。さらに,接続が可能であったポートに対して侵入可能であるかどうかを調べた(図3)。

図3●ポート・スキャンに関する検証
図3●ポート・スキャンに関する検証
[画像のクリックで拡大表示]

 その結果,ライブドアのサーバーにおいて,本来不必要なサービスが存在し,そのために開いているポートが見つかった。これを受けて,提供サービスに関係しないサーバー・ソフトウエアを起動させないようにして本来不必要なポートを閉じた。

(2)バッファ・オーバーフロー

 現在最も多いセキュリティ攻撃とされるのが,メモリーからデータをあふれさせることによってプログラムを暴走させる「バッファ・オーバーフロー」である。セキュリティ脆弱性の半数以上がバッファ・オーバーフローに起因していると言われるほどだ。攻撃者は,意図的にバッファ・オーバーフローを引き起こし,サーバーの特権アカウントの簒奪(さんだつ)を狙う。

 またバッファ・オーバーフローと関連が深いのが「DoS攻撃」注1である。DoS攻撃は,システムやサービスの停止を引き起こすだけにとどまらず,バッファ・オーバーフローを引き起こすことにもつながる。

 検証実験では,FTP,HTTP,SMTP,DNSなどを実現する各サーバー・ソフトウエアが,DoS攻撃に対する脆弱性やバッファ・オーバーフローを起こすバグを内在するバージョンになっていないかどうかを調べた。

 その結果,ライブドアでは一部のApacheプログラムにおいて,DoS攻撃に対する脆弱性とバッファ・オーバーフローに対するバグを内在するバージョンが見つかった。膨大な台数のサーバーに対して, 稼働しているサーバー・ソフトウエアのすべてを常に安全なバージョンに維持することは現実的に難しい。しかし,可能な限りセキュリティ脆弱性をつぶしていく運用ポリシーと, サーバー・プログラムのバージョン・チェック機構の強化が必要だと痛感した。

(3)ID/ パスワードの盗聴

 当然のことではあるが, 認証フォームに入力したパスワードに「*」などのマスクがかけられない場合, それを入力した利用者は背後にいる人にパスワードを盗み見されかねない。さらに,IDとパスワードが平文のままネットワーク上を流れると, 悪意を持った第三者に盗聴される危険性がある。

 そこで検証実験では, ログインの認証フォームにおいてパスワードの入力フィールドにマスクがかけられているかどうか,ID とパスワードのデータがサーバーに送られる際に暗号化されているかどうか,を調べた。

 ライブドアのシステムでは,ID とパスワード認証に関する脆弱性は発見されなかった。ただし,ソフィア総研とさくらインターネットそれぞれの一部のサーバーでパスワードを平文のまま処理する脆弱性が見つかったことから, 意外に甘くなりがちな項目であることを認識させられた。