問題の発生を食い止める
問題が起こってから修正するというのでは、発生した火災を鎮めるのと基本的に同じで、計画になっていない、とCox氏は語る。そのため、Red Hatや他のLinuxベンダでは、セキュリティ問題の影響を緩和するテクノロジに取り組んでいる。例えば、SELinuxやExec-Shieldは特定の種類のエクスプロイト・コードを阻止することにより、システムを保護することができる。
この4月にCox氏は、脆弱性を緩和するテクノロジについて記した解説記事を公表した。その中で彼は、Red Hat Enterprise Linux(RHEL) 3および4に備わっている様々なセキュリティ機能とそれらによって対処できるエクスプロイトの種類について述べている。
例えば、2つの「ダブルフリー」脆弱性が説明されている。ダブルフリーとは、1つのメモリアドレスに対してfree()関数の呼び出しが2回行われる状況である。これはバッファオーバフローにつながる恐れがある。ダブルフリーの脆弱性に対するglibcの「強化」がまだ行われていなかった2003年には、この欠陥が「wu-ftpdやCVS pserverのようなサービスに対する派手な手口の攻撃」の原因になった、と記事には書かれている。
2004年、MITによるKerberos 5のKey Distribution Centerでダブルフリーの欠陥が見つかり、公表された。しかし、この欠陥に対処すべくRHEL 4のglibcが強化されていたため、「ダブルフリーの脆弱性の悪用は完全に回避され、重大としていたこの欠陥の重要度をより低いランクに下げることができた」という。
脆弱性の深刻さはそれぞれに異なる
Red Hatは、脆弱性について通知する際にその深刻さの判定も合わせて公表している。公表されたセキュリティの問題の一覧には、それぞれの重要度が4段階で示される。その段階には、ユーザとのやりとり一切なしにリモートの攻撃者がシステムに影響を及ぼすことが可能なもの(「重大」)から、セキュリティ面にそれなりの影響力を持つがシステムに対してエクスプロイトを実行するのが非常に困難か、エクスプロイトの影響力がわずかと判断されるもの(重要度が「低」)まである。
Red Hatでは、実際に利用可能なエクスプロイト・コードが世間に存在するかどうかによってセキュリティ重要度の分類を変えてはいない。そこには、脆弱性についての報告を行う他の組織と歩調を合わせるという狙いもある、とCox氏は言う。「ユーザにとってのリスクは、脆弱性と危険性、両者の関数として定義される。一方、我々の勧告に記される判定は、脆弱性だけに基づいており、MicrosoftやApacheのような他のベンダの判定に一致するように行われる。危険性の度合いは時間が経つにつれて変化し、エンドユーザ側の設定や使用法に大きく依存するため、我々はその部分については言及していない」
Linuxを狙ったエクスプロイトは増えているか
数年前は、Linuxの普及が進むにつれてLinuxを対象として作られるエクスプロイト・コードがますます増えるだろう、というのが一般的な認識だった。Red Hatではリリース後の2年間でRHEL 4に影響を与え得たエクスプロイトの調査を終えたばかりだが、どうやらこの認識は外れていたようだ。「37の脆弱性を対象とした各種エクスプロイトの存在が明らかになっている。その多くはセキュリティ関連のさまざまな新手法によって捕捉され、なかにはありそうもない設定を必要とするものもあるため、大半は世間で言われているほど機能していない。あと残っているのは、パッチの当たっていないマシン上でローカルユーザによるルート権限の取得を可能にするいくつかのカーネルエクスプロイト、そしてパッチの当たっていないWebブラウザに対して作用するエクスプロイトだ」
「Webブラウザの欠陥を別にすると、最近は攻撃者がエクスプロイト・コードを書けるようなリモートの脆弱性がそれほど多くない、というのが実状だ。例えば、Enterprise Linux 4 ASのデフォルトインストール環境の場合、攻撃にされされた重大なセキュリティの問題がリリース後2年で3件しかなかった」
