リスクレポート:Red Hat Enterprise Linux 4の2年間
by 執筆者:Mark Cox
Red Hat® Enterprise Linux® 4
は、2005年2月15日にリリースされました。このレポートでは、リリース後の最初の2年間についてセキュリティの状況を検討します。主な評価尺度、具体的な脆弱性、およびユーザがセキュリティ問題の影響を受けた最も一般的なケースを取り上げます。問題の影響を最小化するために利用できるベストプラクティスをいくつか紹介し、組み込まれたセキュリティ技術革新の効果についても検討します。
このレポートは Red Hat Magazine 2006年3月号で公表されたリスクレポート[1]のアップデート版です。
1. はじめに
Enterprise Linux 4の利用に伴う総合的なリスクは、脆弱性と実際の脅威という2つのファクタの関数として表されます。したがって、このレポートの第2節では、Enterprise Linux 4に含まれるパッケージで見つかったセキュリティ脆弱性を取り上げます。第3節では、それらの脆弱性を実際に悪用した例とワームを取り上げ、脅威について検討します。
このレポートの作成に使用したデータは、特に明記されていないかぎり、すべてリリース日(2005年2月15日)から2007年2月14日までのRed Hat Enterprise Linux 4 ASを対象としています。
2. 脆弱性
一見すると、Red Hatは過去24カ月を通じて多数のアップデート[2]をリリースしたように見えます。合計289のセキュリティレポートを発行し、713の個々の脆弱性に対処しました。しかし、実際には、これはすべての脆弱性を深刻度にかかわらず同等に扱い、利用可能なすべてのパッケージがシステムにインストールされていると仮定した最悪ケースの評価です。これはデフォルトではなく、また一般的な構成でもありません。
- ヒント
- 受け取るアラートの数は削減してください。ご使用のシステムをRed Hat Networkに登録し、システムにインストールされたパッケージに係わるセキュリティアップデートのみに関する通知が届くようにします。あらゆるバージョンとパッケージのセキュリティアップデートをすべて確認したい場合は、enterprise-watch-listメーリングリスト[3]に加入してください。
Enterprise Linux 4のリリースとともに、Red Hatはパッケージエラータによって深刻度レベルの公表を開始しました。これは、ユーザが最も問題となるセキュリティレポートを判断するために役立ちます。優先度付きのリスク評価が提供されることによって、お客様はシステムのアップグレードを理解し、より効率的にスケジューリングすることができます。また、それぞれの問題が自社の固有の環境にもたらすリスクについて、より多くの情報に基づいた判断が可能になります。
Red Hatは、個々の脆弱性の深刻度を4段階の尺度[4]で格付けしています。これは、それぞれのセキュリティ問題の深刻さに対するRed Hatの評価がひと目でわかるように設計されています。図1と表1に示されたこの尺度では、欠陥自体とそのタイプに関する技術的分析に基づいて、欠陥の潜在的リスクが考慮されていますが、現在の脅威のレベルは考慮されていません。そのため、ある欠陥についてあとから悪用やワームが報告されても、その問題に付与された格付けは変更されません。
| 深刻度 | 説明 |
|---|---|
| 重大/Critical | この格付けは、未認証のリモート攻撃者によって容易に悪用され、ユーザとの相互作用がなくてもシステムの脆弱化(任意のコードの実行)をもたらす可能性がある欠陥に対して付与されます。これらのタイプの脆弱性は、ワームによって悪用される場合があります。 |
| 重要/Important | この格付けは、リソースの機密性、完全性、または可用性を容易に損なう可能性がある欠陥に対して付与されます。このタイプの脆弱性を悪用すると、ローカルユーザが特権を取得したり、未認証のリモートユーザが本来は認証により保護される必要のあるリソースを参照したり、認証済みのリモートユーザが任意のコードを実行したり、ローカルユーザまたはリモートユーザがサービス拒否を容易に引き起こしたりできます。 |
| 中/Moderate | この格付けは、悪用のリスクが比較的低い一方で、特定の条件下ではリソースの機密性、完全性、または可用性を損なう可能性がある欠陥に対して付与されます。 |
| 低/Low | この格付けは、セキュリティに影響するその他のすべての問題に対して付与されます。このタイプの脆弱性は、一般性の低い条件下でしか悪用できないか、悪用が成功しても軽微な影響しかもたらさないと考えられます。 |
Red Hatでは、重大な脆弱性の数と脆弱性ワークロード指数という2つの評価尺度を使用して、お客様が対処する必要のある脆弱性の数を算定しています。
脆弱性ワークロード指数[5]は、セキュリティ運用スタッフが日々対処する必要のある重要な脆弱性の数を計る尺度となります。この数が大きくなるほど、ワークロードが大きくなり、その脆弱性によって表される一般的なリスクが増大します。このワークロード指数は、NISTのワークロード指数[6]に似た方法で計算されます。
図2は、フルインストールされたEnterprise Linux 4 ASのワークロード指数を示しています。初めの月に最初のピークが現れたことに驚かれるかもしれませんが、これはEnterprise Linux 4の各パッケージのコードがリリース前の数カ月間はフリーズされていたことで容易に説明できます。それによって、リリース日には、アップデートで修正される未処理のセキュリティ問題が蓄積されていました。2006年8月頃にもピークがあります。これは、大部分がFirefoxのアップデートバージョンで多数の脆弱性が修正されたこと、およびMozillaブラウザがSeaMonkeyで置き換えられたことによるものです[7]。
このグラフからわかる興味深い事実の1つは、加重評価された脆弱性の数には、特に上昇傾向が見られないことです。それは時間とともに増加していません。
Red Hat Enterprise Linux 4のインストール時に、ユーザはパッケージのインストールをデフォルト選択で行うか、カスタム選択で行うかを選ぶことができます[8]。表2は、Enterprise Linux 4 ASのデフォルトインストール[9]に脆弱性があった重大な欠陥は3つだけだったことを示しています。これは、重大な欠陥の大部分がWebブラウザまたはプラグインにあったためです。サーバシステム向けのディストリビューションでは、FirefoxパッケージとMozilla/SeaMonkeyパッケージはデフォルトでインストールされません。
クライアントシステム(Enterprise Linux WSとRed Hat Desktop)にはデフォルトでFirefox、 Mozilla、およびHelixplayerが含まれるため、53個の重大な脆弱性が発生しています。ASでも、デフォルト以外のインストールを行って利用可能なパッケージをすべて選択すると、この2年間で考えられる最大の数(60個)の重大な脆弱性を持つシステムが生まれます。
| 深刻度 | Enterprise Linux 4 AS デフォルトインストール | Enterprise Linux 4 WS デフォルトインストール | Enterprise Linux 4 AS (可能な全パッケージ) |
|---|---|---|---|
| 重大/Critical | 3 | 53 | 60 |
| 重要/Important | 160 | 189 | 225 |
| 中/Moderate | 117 | 161 | 276 |
| 低/Low | 82 | 82 | 152 |
| 合計 | 362 | 485 | 713 |
これらの評価尺度の目的から、ここでは最悪ケースのシナリオ、つまりリリース日に取得したRed Hat Enterprise Linux 4のバージョンを検討しています。最初の2年間に、4つのアップデートリリースが作成されました(2005年6月にUpdate 1、2005年10月にUpdate 2、2006年3月にUpdate 3、2006年8月にUpdate 4)。これらのアップデートリリースはサービスパックのようなもので、最新のセキュリティレポートがすべてまとめて含まれています。したがって、たとえばEnterprise Linux 4 Update 4をインストールしたユーザが抱える脆弱性は、これらの問題の一部だけになります。
2.1. 2.1. 重大な欠陥
深刻度「重大」と格付けされた脆弱性は、組織に最大のリスクをもたらす可能性があります。定義上、重大な脆弱性は、ワームによってリモートから自動的に悪用することが可能です。ただし、この定義には、Webブラウザまたはプラグインに影響する欠陥も含まれます。この場合、ユーザは悪意のある(または脆弱化された)Webサイトを閲覧するだけで脆弱性の悪用にさらされます。深刻度「重大」の問題は、その大部分がWebブラウザまたはプラグインによって発生しました。Enterprise Linux 4 ASとWSの間で、デフォルトインストールに影響する重大な問題の数に大きな差が生じた原因はここにあります。
リスクを検討しやすくするために、重大な脆弱性を次の2つのカテゴリ、ユーザとの相互作用が少しあれば悪用できるもの(ユーザが悪意のあるWebページを閲覧するなど)、およびユーザとの相互作用をまったく必要としないもの(ワームによって悪用できるもの)に分類します。
表3は、Enterprise Linux ASのフルインストールについて、ブラウザ以外の重大な脆弱性を列挙したものです。表4には、重大と格付けされたすべての問題が要約されています。
| パッケージ | デフォルトでインストール | 参照先 | 説明 | 「リスク日数」 |
|---|---|---|---|---|
| sendmail | ◯ | CVE-2006-0058 RHSA-2006:0264 | sendmailの非同期シグナルの処理で欠陥が発見されました。リモート攻撃者が競合状態を悪用し、rootとして任意のコードを実行できます。 | 0 |
| mod_auth_pgsql | × | CVE-2005-3656 RHSA-2006:0164 | mod_auth_pgsqlが情報をロギングする処理でフォーマット文字列の欠陥が複数見つかりました。mod_auth_pgsqlがユーザ認証に使用されている場合、リモート攻撃者が「apache」ユーザとして任意のコードを実行することが可能です。 | 0 |
| gaim | × | CVE-2005-2103 RHSA-2005:627 | gaimのawayメッセージの処理でヒープベースのバッファオーバーフロー問題が発見されました。リモート攻撃者が巧妙に作成されたawayメッセージをAIMまたはICQにログインしているgaimユーザに送信することにより、任意のコードを実行する可能性があります。 | 2 |
| kopete | ◯ | CVE-2005-1852 RHSA-2005:639 | kopeteのGadu-Gaduメッセージの処理で、整数オーバーフローの欠陥が複数見つかりました。リモート攻撃者が巧妙に作成されたGadu-Gaduメッセージを送信することにより、kopeteをクラッシュさせたり、任意のコードを実行したりする可能性があります。 | 1 |
| gaim | × | CVE-2005-1261 RHSA-2005:429 | gaimによるURLを含んだメッセージの処理で、スタックベースのバッファオーバーフローのバグが見つかりました。リモート攻撃者が巧妙に作成されたメッセージを送信することにより、任意のコードを実行することが可能です。 | 0 |
| タイプ | 脆弱性の数 | 「リスク日数」 | 1日以内の修正 |
|---|---|---|---|
| Mozillaプロダクト(Firefox, Mozilla, SeaMonkey, Thunderbird) | 44 | 3 | 75% |
| メディアプレーヤプラグイン(HelixPlayer) | 6 | 1.5 | 83% |
| その他のブラウザ (Lynx, Links, KDE, Qt) | 5 | 1.2 | 80% |
| ブラウザ以外 (表3を参照) | 5 | 0.6 | 80% |
| 合計 | 60 | 3 | 75% |
表3のデータは、すべての重大な欠陥について、その脆弱性の公表から2日以内にRed Hat Networkから修正が提供されたことを示しています。重大な欠陥の60%は、同日中に修正されました。こうした迅速な対応は周到な準備により実現されたものであり、これらの重大な脆弱性がお客様にもたらすリスクを軽減する上で不可欠です。
「リスク日数」という評価尺度には問題もあり、異なるソフトウェアベンダを相互に比較する上で特に有効というわけではありません。Enterprise Linux 4に含まれるソフトウェアはオープンソースであるため、多くの場合、特定のアプリケーションを出荷している企業はRed Hatだけではありません。そのため、他の企業と異なり、Red Hatは問題が公表される日付を単独で管理できるわけではありません。これは実によいことであり、問題が最初に報告されてから公表されるまでの時間が大幅に短縮されます。また、パッチの定期公開日まで長期にわたり重要な問題の公表を差し控えるといった手口で「リスク日数」の統計を人為的に短縮することもできません。
2.2. 最もリスクの高いパッケージ
時期によっては、いくつかのパッケージについて、毎月セキュリティレポートが作成されているように見えます。実際、セキュリティアップデートのリストを見渡すと、いくつかのパッケージが繰り返し登場することがわかります。そこで、Enterprise Linux 4を分析し、Red Hatが大部分の脆弱性について責任を負っているパッケージを調査しました。深刻度を考慮に入れるため、脆弱性は加重評価しました[10]。
| ランク(前年値) | パッケージ | 重大/Critical | 重要/Important | 中/Moderate | 低/Low |
|---|---|---|---|---|---|
| 1(前年:3) | mozilla/seamonkey | 44 | 21 | 37 | 8 |
| 2 (-) | firefox | 42 | 30 | 40 | 9 |
| 3 (前年:5) | thunderbird | 22 | 22 | 38 | 4 |
| 4 (前年:1) | kernel | 0 | 83 | 42 | 17 |
| 5 (前年:4) | HelixPlayer | 7 | 6 | 0 | 1 |
| 6 (-) | gaim | 2 | 6 | 3 | 2 |
| 7 (-) | cups | 0 | 15 | 2 | 0 |
| 8 (新規) | kdelibs | 2 | 3 | 3 | 1 |
| 9 (-) | kdegraphics | 0 | 13 | 1 | 0 |
| 10 (前年:8 ) | xpdf | 0 | 12 | 1 | 0 |
表5は、トップ10のパッケージを示しています。これらのパッケージを合計すると、加重評価されたすべての脆弱性の80%に相当しました。Enterprise Linux 4 ASのデフォルトインストールに含まれるものは、カーネルとcupsだけです。
Red Hatは、ethereal/wiresharkのセキュリティアップデートを頻繁に発行しています。このパッケージには2年間で75個の脆弱性が見つかりましたが、それらはすべて深刻度「中」または「低」であったため、総合的な加重リスクとしてはトップ10から外れていました。
- ヒント
- 不要なパッケージ、特に最悪のセキュリティ履歴を持つパッケージを削除することによって、ご使用のシステムに該当するセキュリティアラートの数を削減してください。新しいシステムをインストールするときに、用途に応じてEnterprise Linuxの正しいタイプとパッケージセットを慎重に選択すれば、ご使用のシステムに該当する問題の数が減少します。
3. 脅威
このレポートの第2節では、プラットフォームに影響を与えることがわかった脆弱性を総合的に分析しました。しかし、リスクを評価するには、実際の脅威を考慮に入れることも必要です。そこで、この節では、それらの脆弱性の悪用、および脆弱性を悪用するために作成されたワームについて検討します。
3.1. 脆弱性の悪用
悪用とは、攻撃者が脆弱性を利用する手法です。Red Hatセキュリティ対策チームでは、多数のソースを監視し、どの脆弱性が悪用されているかを追跡しています。このレポートのために、Enterprise Linux 4の最初の2年間に影響を与えた脆弱性に対して利用可能な悪用のリストを作成しました。
対象としたのは、機密性や完全性に被害を与える可能性がある悪用です。サービス拒否(可用性への影響)に限定される脆弱性の悪用は含まれていません。ただし、「コンセプトの検証」とラベルされた悪用は含まれています(この場合、公表された悪用はクラッシュのみを引き起こすか、あまりうまく機能しませんが、理論上は、その脆弱性が適切に悪用されると、より重大な結果につながります)。これら「コンセプトの検証」の悪用は、熟練した攻撃者ならフル活用できる手法を示していることがよくあります。
最初の2年間には、37個の脆弱性について悪用が見つかりました。それらの悪用の半分以上は、バッファオーバーフローの脆弱性に関するものです。これらの脆弱性がリモートから悪用されることを防止するには、ほとんどの場合、非実行可能スタックのランダム化と強制の両方を行うExec-Shieldテクノロジが役立つはずです。
3.1.1. カーネルの脆弱性の悪用
Linuxカーネルに脆弱性が含まれる場合は、たいてい次に挙げる2つの結果のいずれかになります。すなわち、権限のないローカルユーザがマシンのクラッシュを引き起こすか、またはローカルユーザが権限を取得することができます。
パッチが適用されていないEnterprise Linux 4システムにおいて、権限のないユーザが権限を獲得できる可能性がある7個の脆弱性について悪用が見つかりました。これら7個の脆弱性のうち、1つはターゲットシステムでbluetoothドライバが使用されている必要があり(CVE-2005-0750)、もう1つは複数のCPUを備えたシステムでのみ悪用可能でした(CVE-2005-0001)。
その他(CVE-2006-3626、CVE-2006-2451、CVE-2005-0736、CVE-2004-1235、CVE-2005-0531)は、パッチが適用されていない任意のシステムで機能します。
これらの悪用の中には、Enterprise Linux 4カーネルに対して機能させるために、コードの調整が必要なものがありました。
3.1.2. ブラウザの脆弱性の悪用
公表された悪用のうち3分の1以上は、Webブラウザの欠陥に関するものでした。そのうち2つを除くすべてがMozillaスイート(Mozilla、Firefox、Thunderbird)を標的としたものでした。表6にこれらの詳細を示します。それぞれの悪用について、結果としてのコードの実行は、いずれも脆弱性のあるブラウザを実行しているユーザと同じ権限での実行に限られます。Webブラウザやグラフィカル電子メールクライアントを絶対にrootとして使用しないことがベストプラクティスです。
| 脆弱性 | 説明 |
|---|---|
| CVE-2005-0399 | この欠陥の悪用では、悪意のあるGIF画像によってオーバーフローが引き起こされる可能性があります。Thunderbirdでは、悪意のある電子メールを開くことでこの欠陥が起動される可能性があり、問題が深刻化します。 |
| CVE-2006-0295, CVE-2005-2871 | この欠陥の悪用では、悪意のあるWebページによって任意のコードが実行される可能性があります。CVE-2005-2871の公表された悪用はWindowsプラットフォームを対象にしており、Linuxでこの欠陥を悪用するには別の手法が必要です。 |
| CVE-2005-1476, CVE-2005-1531, CVE-2005-2264, CVE-2005-1160, CVE-2005-1155, CVE-2005-1157 | これらの欠陥の悪用では、悪意のあるWebページにより任意のJavaScriptが実行され、ホームページの変更、Cookieの窃盗、クロスサイトスクリプティング、システム上でのファイル作成などが行われる可能性があります。 |
| CVE-2005-2262, CVE-2005-2269 | ユーザが関与するこれら2つのオーバーフロー欠陥を悪用するには、悪意のある画像についてユーザが「set as wallpaper」オプションを使用することが必要です。 |
| CVE-2006-3677 | JavaScriptコードの欠陥の悪用です。この悪用では、ユーザが悪意のあるWebサイトを閲覧した場合に任意のコードが実行される可能性があります。 |
| CVE-2005-3120 | オプションのテキストベースのブラウザであるLynxの悪用です。公表された悪用はコンセプトの検証だけです。 |
| CVE-2006-5925 | テキストWebブラウザであるLinksの悪用です。この悪用では、ユーザが悪意のあるWebサイトを閲覧した場合に任意のコマンドが実行される可能性があります。 |
3.1.3. ユーザが関与するその他の悪用
次に取り上げる悪用のタイプは、ユーザが関与する(user-complicit)ものです。この場合、脆弱性を悪用するには、ユーザがいくらか関与する必要があります。ユーザの関与の例としては、脆弱性のあるアプリケーションで悪意のあるファイルを開く、未知のユーザからのインスタントメッセージを表示する、といったことが挙げられます。表7は、何らかのユーザの関与が必要な既知の悪用の一覧です。
| 脆弱性 | 説明 |
|---|---|
| CVE-2005-3243, CVE-2005-2367, CVE-2005-1461, CVE-2005-0699 | Ethereal/Wiresharkにあった複数の脆弱性の悪用です。この悪用を実行するには、権限を持つユーザ(root)がEtherealを実行してネットワークを監視していること、および攻撃者が巧妙に作成された悪意のあるパケットをそのネットワークに挿入できることが必要です。これらの脆弱性の影響を受けるプロトコル(SLIMP3、AFP、SIP、RADIUS)が境界ファイアウォールを通過できる可能性は低いため、これらの欠陥をリモートから悪用することは困難です。さらに、これらの欠陥をリモートから悪用する試みはExec-Shieldによって捕捉されます。 |
| CVE-2005-2710 | HelixPlayerにあったフォーマット文字列の脆弱性の悪用です。攻撃者が巧妙に作成されたメディアファイルを利用し、ユーザがファイルを開いたときに任意のコードを実行することが可能です。HelixPlayerはWebブラウザに組み込むことができるため、この欠陥はユーザが悪意のあるWebページを閲覧するだけで起動される場合があります。しかし、コードの実行は、いずれも脆弱性のあるブラウザを実行しているユーザと同じ権限での実行に限られます。 |
| CVE-2005-1261 | Gaimインスタントメッセージングクライアントにあった欠陥の悪用です。いくつかのインスタントメッセージングプロトコルについて、攻撃者が巧妙に作成されたメッセージを送信することにより、この欠陥を起動してコードの実行を引き起こす可能性があります。公表された悪用はコンセプトの検証だけであり、クラッシュを引き起こします。さらに、この欠陥をリモートから悪用する試みはExec-Shieldによって捕捉されます。 |
| CVE-2005-0156 | setuid Perlパッケージにあった欠陥の悪用です。perl-setuidがインストールされている場合、権限のないローカルユーザがroot権限を取得する可能性があります。パッチが適用されていないEnterprise Linux 4システムでこの悪用を公表されたとおり機能させるには、若干の変更が必要です。 |
| CVE-2006-2656 | libtiffにあった欠陥の悪用です。攻撃者が悪意のあるファイル名を持つ「tiffsplit」実行ファイルをユーザに実行させることができた場合、そのユーザとしてコードを実行することが可能です。出荷されているパッケージは、いずれも任意のファイル名を持つ「tiffsplit」を実行しないため、これは深刻度「低」の欠陥です。 |
| CVE-2006-1542 | Pythonにあった欠陥の悪用です。ユーザが非常に長いスクリプト名でpythonを実行する必要があり、それは可能性の高いシナリオではないため、これは深刻度「低」の問題です。 |
| CVE-2005-1704 | 整数オーバーフローの欠陥のため、巧妙に作成された実行ファイルで任意のコードを実行できる可能性があります。ユーザが悪意のあるバイナリを実行する必要があるため、(および悪意のあるバイナリでは、いずれにしても任意のアクションを実行できるため)これは深刻度「低」です。 |
3.1.4. サーバおよびサービスの脆弱性の悪用
最後に取り上げる悪用のタイプは、サーバアプリケーションとサービスに影響するものです(表8)。これらは、最も深刻な脅威となる可能性があります。
| 脆弱性 | 説明 |
|---|---|
| CVE-2005-0022 |
Eximメールサーバにあったバッファオーバーフロー欠陥の悪用です。リモート攻撃者がこの欠陥を起動し、権限のない「exim」ユーザとして任意のコードを実行する可能性があります。 この欠陥を悪用するには、デフォルト以外のEximメールサーバがインストールされ、SPA認証が特に有効化されている必要があります。それは通常の構成ではありません。この欠陥をリモートから悪用する試みはExec-Shieldによって捕捉されます。 |
| CVE-2005-1921, CVE-2005-2498 |
PHP PEAR XML-RPCコードにあった欠陥の悪用です。これらの悪用を行うには、XML-RPCインタフェースをエクスポートするサードパーティ製PHPアプリケーションがサーバで実行されている必要があります。 悪用が成功すると、任意のPHPコマンドが「apache」ユーザとして実行されます。Apache用のデフォルトのSELinux targetedポリシーが実施されている場合、悪用により実行できることは限られます。 |
| CVE-2005-0710, CVE-2005-0709 |
MySQLサーバにあった欠陥の悪用です。データベーステーブルに対して挿入または削除を行う権限を持つ認証済みのリモートユーザが、権限のない「mysql」ユーザとして、MySQLサーバで任意のコードを実行する可能性があります。
MySQL用のデフォルトのSELinux targetedポリシーが実施されている場合、悪用により実行できることは限られます。 |
| CVE-2006-4020 | PHPのsscanf()関数にあった欠陥の悪用です。攻撃者の管理下にあるデータをsscanf()に渡すPHPスクリプトがインストールされた場合、バッファオーバーフローが引き起こされる可能性があります。これは可能性の低いシナリオであり、Apache用のデフォルトのSELinux targetedポリシーでは悪用により実行できることは限られるため、この問題は深刻度「低」です。 |
- ヒント
- 悪用によるリスクを軽減する方法は、ご使用のシステムに、該当するセキュリティアップデートがすべてインストールされていることを確認することです。これを常に把握するには、Red Hat Networkが役立ちます。
3.2. ワーム
ワームは、システムを脆弱化させるために脆弱性を利用し、次に脆弱化したシステムを利用して他のシステムへ侵入しようとします。Red Hatの定義では、こうした方法で悪用できる脆弱性は、いずれも「重大」と分類されます。このレポートの第2節では、深刻度「重大」と格付けされた脆弱性をすべて列挙し、ワームによって実際に利用できたものは、それらの脆弱性の一部に過ぎないことを示しました。これは、「重大」と分類されたブラウザの脆弱性の中に、ユーザによる操作(たとえば、悪意のあるWebページを閲覧するなど)が必要とされ、したがってワームにより悪用できないものが含まれるためです。
Linuxプラットフォームに影響するワームは、ここ数年はごくわずかにとどまっており、マルウェアを追跡しているウィルス対策ベンダによってこの調査の2年間に記録されたものは、次の2つだけです。
- Linux/MAREは2005年11月に発見されました。これは、PHP-Nukeの欠陥を悪用することで拡散するワームです。PHP-Nukeは、出荷されているRed Hat Enterprise Linuxには含まれていません。
-
Linux/Lupperは2005年12月に発見されました。これは、多数のサードパーティ製PHPアプリケーションで悪用可能なPHP PEAR XML-RPCサーバパッケージの欠陥であるCVE-2005-1921[11]を悪用するために設計されたワームです。
それらの影響されるサードパーティ製アプリケーションは、いずれも出荷されているRed Hat Enterprise Linuxには含まれていません。さらに、2005年7月のPHPのアップデートによって、基礎になっていた脆弱性が修正されました。パッチを適用していないユーザは、SELinuxのデフォルト設定によってもこのワームから保護されていました。
マシンをリモートから悪用できる一般的な脆弱性がなくても、攻撃者は弱点のある設定を悪用することがわかっています。この調査の期間中、ブルートフォースパスワードツールによってマシンを悪用しようとした攻撃者の試みを追跡しました。これらのツールは、接続できそうな開かれたSSHサービスを探し、可能性のあるユーザ名とパスワードの多数の組み合わせによってログインを試みます。SSHへのリモートアクセスを制限する、SSHデーモンを別のポートに移動させる、すべてのユーザが推測しにくいパスワードを使用するといったことは、すべて有効な防御手段です。
4. リスクの軽減
Red Hatは、セキュリティ脆弱性のリスク軽減に役立つテクノロジを継続的に開発しています。これらの多くがRed Hat Enterprise Linux 4に統合されました。最も重要なテクノロジはSELinuxとExec-Shieldです。Exec-ShieldはNo eXecute(NX)メモリパーミッションのサポートを含んだプロジェクトであり、セグメント制限、Position Independent Executable(PIE)、gcc、およびglibcの強化を通じてNXをシミュレートします。表9は、Enterprise Linux 3および4における主なセキュリティ技術革新の一覧です。
glibcに加えられた強化には、「二重解放」の悪用を防止するチェックが含まれます。これは、場合によって悪用可能な特定のプログラミングの欠陥です(悪用可能かどうかは、脆弱性のあるアプリケーションの構造に大きく依存します)。このタイプの欠陥は、2003年にwu-ftpdやCVS pserverといったサービスの悪用で話題になりました。
2004年8月、MIT Kerberos 5のKey Distribution Centerアプリケーションに影響する、Enterprise Linux 4で初めての二重解放のセキュリティ欠陥が発表されました[12]。Enterprise Linux 4のユーザについては、glibcの強化によりこの二重解放欠陥の悪用が完全に防止されたため、この欠陥の深刻度を「重大」から引き下げることができました。
| 機能 | Enterprise Linux 3 | Enterprise Linux 4 |
|---|---|---|
| 電子署名済みのアップデートが必要(デフォルト) | Yes | Yes |
| セグメント制限を使用したNXエミュレーション(デフォルト) | Yes(2004年9月以降) | Yes |
| Position Independent Executable(PIE)のサポート | Yes(2004年9月以降) | Yes |
| Stack/mmapのASLR(デフォルト) | Yes(2004年9月以降) | Yes |
| vDSOのASLR(vDSOが有効の場合) | NA | Yes |
| カーネルメモリへのアクセスを制限(デフォルト) | Yes | |
| サポート対象のプロセッサ/カーネルのNX(デフォルト) | Yes(2004年9月以降) | Yes |
| SELinuxがtargetedポリシーで有効(デフォルト) | Yes | |
| glibcのヒープ/メモリチェック(デフォルト) | Yes | |
| FORTIFY_SOURCEのサポート(特定のパッケージで使用) | Yes | |
| ELF Data Hardeningのサポート | Yes | |
| CVE互換性 | Yes | Yes |
| OVAL互換性 | Yes(2006年5月以降) | Yes(2006年5月以降) |
5. 結論
このレポートの目的は、リリース以降の最初の2年間について、Red Hat Enterprise Linux 4ユーザへのセキュリティリスクを検討することでした。表面的にはRed Hatが多数のセキュリティレポートをリリースしたように見えますが、その多くが通常またはデフォルトのインストールには該当せず、リスクが高いものはごく一部に過ぎないことが示されました。
- 2年間を通じて、Enterprise Linux 4 ASのデフォルトインストールに係わる脆弱性があった重大なセキュリティ問題は3つだけでした。
- すべてのパッケージを選択するというEnterprise Linux 4のカスタムインストールは、ブラウザに関係する55個の重大なセキュリティ問題、およびブラウザパッケージに関係しない5個の重大な問題に対して脆弱性がありました。それらの脆弱性の75%は、公表されてから1日以内にRed Hat Networkから修正が提供されました。
- カスタマイズされたフルインストールに影響する37個の脆弱性について悪用が公表されました。ただし、その大部分はユーザとの相互作用に依存していました。それらの悪用を行う試みは、その多くがEnterprise Linux 4に標準で組み込まれたセキュリティ技術革新で捕捉されます。
- パッチが適用されていないEnterprise Linux 4マシンで最も可能性が高い悪用では、権限のないローカルユーザがroot権限を取得できます。
- 2年間に、Linuxシステムを標的にした2つのワームが見つかりました。しかし、いずれもRed Hat Enterprise Linux 4に付属しないサードパーティ製PHPアプリケーションに影響するものでした。さらに、それらのワームの1つがリリースされる3カ月以上前にリリースされたPHPのアップデートによって、それらのサードパーティ製アプリケーションがインストールされたシステムは保護されました。
Red Hat Enterprise Linux 4の将来のセキュリティ状況について、この過去の分析のみに基づいて結論を下すわけにはいきませんが、ここで追求したことは、脆弱性と脅威のレベル、したがってプラットフォームの総合的なリスクを列挙することです。Red Hatでは次のように自社の製品とサービスの脆弱性に真剣に取り組んでおり、Red Hatセキュリティ対策チームのポリシーは、セキュリティ脆弱性のリスクを軽減することを目的としています。
- 重大な脆弱性について、考えられるかぎり最も速い最高品質の対応を行うことに重点を置いています。グローバルなセキュリティ対応チームを設置しており、開発および品質工学の有効なリソースを活用して迅速に修正を提供できます。
- 重大および重要なセキュリティ問題について、月次または四半期アップデートでまとめて処理するのではなく、できるだけ早くアップデートをリリースしています。
- 脆弱性の処理、その方式、および評価尺度について透明性を確保しています。
このレポートで統計情報の作成に使用された生データのすべて、およびそれらを分析するためのいくつかのツールは、Red Hatセキュリティ対策チームから入手でき[13]、定期的にアップデートされています。また、Red Hatでは、すべてのレポートやOVAL定義に対するCVEマッピングなど、セキュリティ評価に役立つその他のツールやデータも提供しています。
6. 関連資料
- Red Hat Enterprise Linux 4の新しいセキュリティ対策(英語)
- Enterprise Linux 4の脆弱性のタイプ(英語)
- Red Hat Enterprise LinuxとFedora Coreのセキュリティ機能(英語)
- SELinux:安全なシステムへの新しいアプローチ(英語)
- Red Hat Enterprise Linux 4セキュリティガイド(英語)
- セキュリティ対策チームからの統計情報とデータ(英語)
7. 執筆者について
Mark CoxはRed Hatセキュリティ対策チームのディレクタです。過去12年間にわたって、Markはソフトウェアを開発し、最も有名なオープンソースプロジェクトのいくつか(Apache、mod_ssl、OpenSSLなど)でセキュリティチームに参加してきました。Markは、Apache Software FoundationとOpenSSLプロジェクトの設立メンバーであり、Mitre Common Vulnerabilities and Exposureプロジェクトの理事です。余暇には、スコットランドで家族とともにgeocache[14]を探しています。
[2] http://rhn.redhat.com/errata/rhel4as-errata.html(英語)
[3] Get notified of new security issues(英語)
[4] http://www.redhat.com/security/updates/classification/(英語)
[5] 特定の日について、脆弱性ワークロード =((前月内に公表された深刻度「重大」および「重要」の脆弱性の数)+(前月内に公表された深刻度「中」の脆弱性の数/5)+(前月内に公表された深刻度「低」の脆弱性の数/20))/(当月の日数)となります。
[6] http://nvd.nist.gov/nvd.cfm?workloadindex(英語)
[7] http://rhn.redhat.com/errata/RHSA-2006-0609.html(英語)
[8] http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/x8664-multi-install-guide/s1-pkgselection.html(英語)
[9] Red Hat Enterprise Linux 4には、4つのタイプがあります。2つはサーバソリューション向けのEnterprise Linux ASおよびES、あとの2つはクライアントソリューション向けのEnterprise Linux WSとRed Hat Desktopです。Enterprise Linux WSとRed Hat Desktopで利用可能なパッケージセットは、Enterprise Linux ASで利用可能なパッケージセットの一部です。
[10] 最もリスクの高いパッケージのランク付けでは、「重大 + 重要/5 + 中/25 + 低/100」という加重を行いました。
[11] CVE-2005-1921(英語)
[12] http://web.mit.edu/kerberos/advisories/MITKRB5-SA-2004-002-dblfree.txt(英語)
[13] http://people.redhat.com/mjc/(英語)
[14] http://www.geocaching.com/(英語)



