PaPoo
cover
technews
Author
technews
世界の技術ニュースをリアルタイムでキャッチし、日本語でわかりやすく発信。AI・半導体・スタートアップから規制動向まで、グローバルテックシーンの「今」をお届けします。

Linuxにまた重大な穴。「Dirty Frag」で主要ディストリビューションがroot奪取の危険にさらされる

キーポイント

image_0003.svg

image_0002.svg

何が起きたのか

TechRadarが報じたのは、Linuxに見つかった新たな重大脆弱性「Dirty Frag」です。
これはセキュリティ研究者のHyunwoo Kim氏が公開したもので、​9年前から存在していたkernelの不具合だとされています。

image_0005.svg

image_0004.svg

ざっくり言うと、Linuxの中心部にあるkernelに穴があり、そこを突かれるとroot権限、つまり「なんでもできる管理者権限」を奪われる可能性がある、という話です。
rootを取られると、ファイル改ざん、マルウェア設置、ログ改ざん、設定変更など、ほぼやりたい放題になります。かなりまずいです。

image_0008.svg

image_0007.jpg

image_0006.svg

しかも厄介なのは、これは単なる「理論上の危険」ではなく、​PoC(Proof of Concept)​、つまり「実際に攻撃可能であることを示すコード」まで公開されている点です。研究としての再現性が示されてしまったので、悪用されるリスクは一気に現実味を帯びます。

image_0010.svg

image_0009.svg

Dirty Fragって何がそんなに危ないの?

今回のDirty Fragは、1つのバグではなく、​2つのkernelの問題をつなげて悪用するタイプだと説明されています。

image_0012.svg

image_0011.svg

image_0015.svg

image_0014.svg

image_0013.svg

ここで出てくる「Page-Cache」は、簡単にいうとメモリ上に置かれたファイルの一時保存場所みたいなものです。
この仕組みを悪用して、通常なら触れないはずの保護されたシステムファイルをメモリ上で書き換えられる、というのが怖いポイントです。

image_0017.svg

image_0016.svg

個人的に面白いというか、ぞっとするのは、この攻撃がrace condition(競争状態)に依存しないとされていることです。
race conditionというのは、「タイミングがたまたま合ったときだけ成功する」タイプの脆弱性のこと。攻撃が不安定で再現が難しいことが多いのですが、Dirty Fragはタイミング勝負ではなく、ロジックの欠陥そのものを突くので、成功率が高いとされています。これはかなり嫌な性質です。

image_0019.svg

image_0018.svg

なぜ“今すぐ危ない”のか

研究者は本来、Linuxディストリビューションの保守担当者に事前共有して、パッチを用意する猶予を与えていたようです。
ところが、そのembargo(公開猶予期間)​が破られ、第三者によってエクスプロイトが漏れてしまったとのこと。

image_0022.svg

image_0021.svg

image_0020.svg

つまり本来は、

  1. 研究者が先にメンテナへ通知
  2. メンテナが修正パッチを作成
  3. その後に公開
    という流れだったのに、途中で漏れたため、​まだ修正が出ていないのに攻撃手法だけ広まるという最悪寄りの展開になったわけです。

image_0024.svg

image_0023.svg

この手の話は本当に厄介で、セキュリティの現場では「情報公開のタイミング」がものすごく重要だと改めて感じます。
善意の研究が、公開の順番ひとつで一気に現場を混乱させる。セキュリティは技術だけじゃなく、運用と調整のゲームでもあるんですよね。

image_0026.svg

image_0025.svg

どのLinuxが影響を受けるの?

記事では、少なくとも次のディストリビューションで脆弱性が確認されたとしています。

image_0029.png

image_0028.svg

image_0027.svg

image_0031.jpg

image_0030.png

しかも記事の時点では、​パッチはまだ公開されていないとのこと。
CVE(脆弱性識別番号)もまだなく、深刻度スコアも未確定です。

image_0033.jpg

image_0032.jpg

ただし内容を見る限り、これはかなり高い深刻度になるだろう、というのが記事の見立てです。
私もこれは妥当だと思います。​認証なしでrootまで持っていけるなら、普通はCritical扱いになる可能性が高いです。

image_0036.jpg

image_0035.jpg

image_0034.png

いま取れる対策はあるの?

完全な修正パッチはまだない一方で、暫定対策としては脆弱な kernel module を外す方法があるとされています。具体的には、

image_0038.jpg

image_0037.jpg

image_0040.png

image_0039.jpg

を無効化するという話です。

image_0043.jpg

image_0042.jpg

image_0041.jpg

ただし、ここが本当に痛い。
この対策をすると、​IPsec VPNAFS(分散ファイルシステム)​ が壊れる可能性があります。
つまり「安全のために止める」と「業務が止まる」がぶつかっている状態です。

image_0045.jpg

image_0044.svg

現実の運用では、こういう対処はかなり難しいと思います。
サーバーや企業ネットワークでIPsec VPNを使っている場合、むやみに module を外すわけにもいきません。だからこそ、パッチが出るまでの間は影響範囲の確認と監視を強めるのが現実的な対応になりそうです。

image_0047.png

image_0046.jpg

どう見るべきか

今回のDirty Fragは、Linuxの「安全神話」に冷や水を浴びせるような話です。
もちろんLinux自体が危険という意味ではありません。むしろ、広く使われているOSだからこそ、こういう穴が見つかると影響が大きくなる、ということです。

image_0050.jpg

image_0049.jpg

image_0048.jpg

私が特に気になるのは、​9年前の欠陥が今になって見つかり、しかもmajor distroに広く影響しているという点です。
これは「古いから安全」という考え方がいかに危ういかを示しています。長年放置された不具合が、別の条件や新しい解析で突然“爆弾”になることがあるんですよね。

image_0052.jpg

image_0051.jpg

そしてもうひとつ大事なのは、​root権限奪取は、サーバー管理者にとってほぼ最悪クラスの事故だということ。
単なるクラッシュや一時的な不具合ではなく、システムの支配権そのものが奪われるので、影響の重さがまったく違います。

image_0054.jpg

image_0053.jpg

まとめ

Dirty Fragは、Linux kernelに見つかった重大な脆弱性で、主要ディストリビューションに広く影響する可能性があります。
現時点ではパッチもCVEもなく、暫定対策はあるものの副作用が大きい、かなり嫌なタイプの案件です。

image_0057.jpg

image_0056.jpg

image_0055.jpg

こういうニュースを見るたびに思うのですが、Linuxは堅牢でも、​**“穴がない”わけではない**んですよね。
特にkernelのような深い部分にある欠陥は、発見されるまで静かに潜み、見つかった瞬間に一気に重大ニュースになる。まさにセキュリティ界隈の地雷です。

image_0059.jpg

image_0058.jpg


image_0061.png

image_0060.jpg

参考: Another major Linux security flaw revealed — 'Dirty Frag' allows root on all major distros, with no patch or fix available yet

同じ著者の記事