logo

Linuxの脆弱性を突くゼロデイエクスプロイトが公開に

文:Tom Espiner(ZDNet UK) 翻訳校正:編集部2009年07月21日 11時33分
  • このエントリーをはてなブックマークに追加

 あるセキュリティ研究者が「Linux」カーネルの脆弱性を突くゼロデイコードをリリースした。コードはLinuxのセキュリティ保護を迂回できるという。

 この脆弱性を悪用するソースコードは、Dailydaveメーリングリスト上の研究者Brad Spengler氏によって、先週公開された。Spengler氏によると、このコードはLinuxのバージョン2.6.30および2.6.18の脆弱性を悪用し、32ビット版と64ビット版の両方に影響を及ぼす。2.6.18カーネルは、「Red Hat Enterprise Linux 5」で使用されている。

 このエクスプロイトコードは、メインラインカーネルにおけるNULLポインタデリファレンスに対する保護を迂回し、root権限を掌握する、とSpengler氏は書いた。

 さらに、このコードは、カーネルの外側で動作しているアプリケーションに対してSecurity-Enhanced Linux(SELinux)がまだ機能していると信じ込ませながら、auditやSELinux、AppArmor、Linux Security Moduleといったセキュリティ機能を無効にする任意コード実行を試みる。

 Spengler氏はソースコードに関連するメモの中で、OSの追加機能としてSELinuxを実装している場合、セキュリティが弱くなると述べた。SELinuxはカーネルに適用可能な修正セットで、セキュリティポリシー群を提供することによって、本来はカーネルをより強固なものにする。

 「これらのエクスプロイトコードに関して言えば、SELinuxを有効にすることによって、実際にはシステムのセキュリティが弱体化してしまう」とSpengler氏は書いた。

 セキュリティトレーニング組織であるSans Instituteは、このエクスプロイトコードを「興味深い」と称した。Sans InstituteのインシデントハンドラーであるBojan Zdrnja氏は米国時間7月17日、ブログ投稿記事の中で、このエクスプロイトコードはLinuxのコンパイラを使ってセキュリティ機能を突破している、と述べた。

 「Linuxコンパイラにより、ソースコードには存在していなかった脆弱性がバイナリコードにもたらされる」とZdrnja氏は書いた。「これによって、カーネルは0x00000000でのデータの読み書きを試みるようになる。攻撃者は、これをユーザーランドにマッピングすることにより、システムを乗っ取ることができる」(Zdrnja氏)

 Spengler氏はソースコードに関するメモの中で、管理者は-fno-delete-null-pointer-checksを使ってカーネルをコンパイルすることで、これを回避できると述べている。

この記事は海外CBS Interactive発の記事をシーネットネットワークスジャパン編集部が日本向けに編集したものです。 原文へ

-PR-企画特集