Google の研究者が Linux カーネルの USB ドライバに 79 件の脆弱性を発見

2017.11.28

先週、Linux カーネルの USB ドライバの心臓部に驚くほど多数のセキュリティ脆弱性が存在していることが明らかになりました。


Linux の脆弱性を見つけ出そうとする研究者が、最初に USB ドライバを確認することはあまりありません。しかし、Google の Andrey Konovalov 氏にとっては、脆弱性を発見できる格好の場所であったようです。


今回発見された問題がどのくらい深刻であるかは、どの脆弱性から検証するかによります。

Konovalov 氏は、同じく Google 研究員である Dmitry Vyukov 氏によって作成されたカーネルのファジングツール「syzkaller」を使用して、14 件の新たな脆弱性(リンク先:英語)を発見しました。


これらの脆弱性にはすでに固有の CVE 番号が割り振られています。

上記に加えて、同じサブシステム内で 65 件の脆弱性(リンク先:英語)が発見されており (うち 8 件は CVE 番号が割り当て済み)、昨年 12 月以降 Konovalov 氏によって報告された脆弱性は合計で 79 件に及びます。


10 月中旬に発表された v4.13.8 以前のバージョンのカーネルで悪用された場合に、最初に発見された 14 件の脆弱性がもたらす影響について、Konovalov 氏は次のように述べています。


攻撃者がコンピュータに物理的にアクセスできる場合、悪意のある USB デバイスを使用することによって、これら全ての脆弱性を悪用できます。


つまり、攻撃者がコンピュータをクラッシュさせたりサービス拒否を引き起こしたりするには、脆弱性のある Linux コンピュータに物理的に近づいて USB デバイスを差し込む必要がある、ということになります。

しかし、必ずしも攻撃者自身が標的コンピュータにアクセスする必要はありません。誰かを騙して、自分の代わりにその操作を実行させればよいのです。実際、人は落ちている USB メモリを拾って自発的にコンピュータに差し込んでしまう傾向があることが、調査で明らかになっています。


これらの脆弱性が原因でインターネットが停止するような被害が発生する訳ではありません (しかも、脆弱性の多くは数週間前にパッチ配布済みです)。しかし、プロの攻撃者にとっては、完全オフラインのシステムに攻撃する際の踏み台として利用できるなど、魅力的な標的であることに変わりはありません。

いつもと同様、「速やかにアップデートを適用してください」というアドバイスに従ってください。


今回は Linux カーネルの脆弱性であることから、(具体的な数は不明ですが) 多数のデバイスが影響を受けます。多数の Linux ディストリビューション、Google の Chrome OS、USB ポートを搭載した多種多様な Linux ベースのデバイス、そして Android が存在します (一部の Android スマートフォンとタブレットでは、旧式の USB OTG インターフェースに対応するために USB サブシステムが使用されています)。


Linux カーネルの一部分で 1 年間に発見された脆弱性の件数として、79 件というのは多いと言わざるを得ませんが、Linux を責め立てるべきではないかもしれません。結局のところ、脆弱性は発見されないよりも、発見されるべきです。また、1999 年に USB サポートが追加された当時、サポート対象のデバイスはマウスとキーボードの 2 種類だけでしたが、それ以来対象のデバイスは増え続けています。


開発者は、非常に多くのソフトウェアへの対応を迫られています。しかし、今回の Konovalov 氏による徹底調査の結果を見る限り、Linux 開発者の努力は十分ではないようです。

引用元

おすすめの記事はこちら