?????????????????
ドイツの連邦情報セキュリティ庁(BSI)は、Fraunhofer SIT 社および ]init[ 社と共同で、Web サイトに使われている一般的なコンテンツ管理システム(CMS)のリスクに関する研究結果を発表しました。CMS は主に Web サイトの管理に使われており、テキストやその他のコンテンツを簡単に更新できるため、IT の専門家でなくても更新作業をこなすことができます。その反面、Web サーバーへのアクセスを試みようとする攻撃者から見れば、狙いやすい弱点であることも確かです。CMS を制御できれば、攻撃者は Web サイトを改ざんすることができます。これまでにも、パッチ適用されていない CMS の脆弱性によって多くの Web サイトが侵入を受け、コンテンツに悪質な iFrame を挿入されてドライブバイダウンロードのホストサイトとして悪用されてきました。たとえば、昨年出現した Lizamoon のケースでは、数十万の Web サイトが SQL インジェクション攻撃による侵入を受けました。
今回の研究では、Drupal、Joomla!、Plone、TYPO3、WordPress といったオープンソースのコンテンツ管理システムに焦点を当て、それらのシステムで公式に発表されている脆弱性について解析し件数を調べました。平均すると、特定されたすべての脆弱性のうち 75% が、アプリケーションのコアパッケージに追加でインストールされる拡張機能やアドオンモジュールに存在していました。管理者は、メインシステムをアップグレードするときにアドオンモジュールを更新することを忘れがちなため、脆弱性が残ったままになってしまいます。それでも、アドオンが重要な機能を提供する以上、ユーザーはアドオンモジュールの使用をやめないでしょう。たとえば、総当たりによるパスワード推測を防ぐ、遅延や CAPTCHA のような対策が実装されていない CMS もあります。こういった機能は拡張機能で追加することができ、インターネット上をスキャンして脆弱なパスワードを探している攻撃者に対する確実な防御策になります。
図 1. CMS で脆弱性が存在する部分
脆弱性の内訳をタイプ別に見てみると(図 2)、最も一般的な脆弱性は、全体の 65% を占めるクロスサイトスクリプティング(XSS)であることがわかります。さらに、コード実行の脆弱性は平均で 41%、SQL インジェクションは平均で 34% と、どちらも少なくない比率を占めています。SQL インジェクションは、OWASP による上位 10 件の Web 脆弱性リストに何年間もランクインしており、その緩和対策についても情報が広く公開されています。
図 2. 脆弱性のタイプ別の内訳
この研究の結論として、CMS はデフォルト設定のまま導入しないこと、新しいバージョンが公開されたときには必ずアップグレードすることが推奨されています。相手がいわゆるスクリプトキディ程度であれば、管理フォルダを変更するだけでも十分な対策になることがあります。システムスキャンで見つかる程度の簡単な標的しか狙われない可能性が高いため、システムへのアクセスを防ぐことができるからです。「隠蔽によるセキュリティ」では根本的な解決にはならないことは言うまでもありません。以上のことから、CMS を使う場合には CMS をパッチプロセスに組み入れ、対応するソフトウェアの脆弱性情報を購読することをお勧めします。
* 日本語版セキュリティレスポンスブログの RSS フィードを購読するには、http://www.symantec.com/connect/ja/item-feeds/blog/2261/feed/all/ja にアクセスしてください。