「Dirty COW」は間抜けな名前だが、Linuxカーネルに与える影響は深刻だ。Red Hatのバグレポートによると「Linuxカーネルのメモリサブシステム内におけるcopy-on-write(COW)の取り扱いで競合状態が発生し、プライベートな読み取り専用メモリマッピングが破壊されることが分かった。この脆弱性を悪用すれば、特権のないローカルユーザーが読み取り専用であるはずのメモリマッピング領域への書き込み権限を取得し、システム上で自らの権限を昇格させることが可能になる」という。
「Dirty COW」は間抜けな名前だが、Linuxカーネルに与える影響は深刻だ。
Linus Torvalds氏によると、この問題そのものは「古くから存在しているバグであり、私自身も11年前に実際に対処した(あまり良い対処ではなかった)ものの(中略)、s390アーキテクチャ上で問題が発生したため、[別の]コミットで取り消された」という。
当時は、このバグを実際に表面化させることが難しかったものの、Torvalds氏によると「仮想マシン(VM)のスケーラビリティが向上した結果、あの頃であれば純理論的なものでしかなかった競合条件が簡単に引き起こせるようになった」という。
さらにTorvalds氏は「このバグを修正するために、われわれは競合条件そのものに取り組むのではなく、FOLL_COWという内部フラグを新たに導入し、『COWの処理を既に実施済みだ』ということを識別するようにした」と述べている。
このバグは表面化させやすくなっただけでなく、実際の攻撃に利用されていることも確認されている。Linux関連のセキュリティ研究者であり、この攻撃が実際に使われているのを発見したPhil Oester氏によると、エクスプロイトの実行は簡単であり、より幅広く用いられるようになるのはほぼ間違いないという。Oester氏はV3に対して「実際に用いられているエクスプロイトは簡単に実行でき、間違いなく成功する。そしておそらくは、何年にもわたって使われてきている」と語っている。
攻撃者は Dirty COWを悪用することで、Linuxシステムのセキュリティを切り崩し、自らの権限を昇格できるようになる。
さらに悪いことに、この攻撃自体はシステムログに痕跡を残さない。もちろんながら、身元不明のユーザーがroot(管理者)権限を要する処理を唐突に行った場合は、また別の話だ。しかし、それが分かった時点では、すべてが遅きに失しているはずだ。
Red Hat Enterprise Linux(RHEL)5とRHEL 6のようにDirty COWを突く攻撃の影響を受けないLinuxディストリビューションもあるが、FedoraやRHEL 7はこの脆弱性の影響を受ける。また、この脆弱性に対し、多くのLinuxディストリビューションがパッチを公開している。
Dirty COWという名前とロゴを作成したクリエーターらは、それが間抜けな名前であることを十分理解している。彼らは「われわれは皆、脆弱性のブランド化を物笑いの種にしているため、こういったふざけた名前を避けられれば良かったと考えている。しかし、事態はそんなに悠長なものではなかった」と説明している。
この記事は海外CBS Interactive発の記事を朝日インタラクティブが日本向けに編集したものです。