「Dirty COW」バグとは何ですか?また、システムをどのように保護しますか?


22

このバグ「Dirty COW」について聞いたことがあります。このバグにより、ファイルへの読み取りアクセス権を持つすべてのユーザーがファイルに書き込み、管理アクセス権を取得できます。このバグからどのように保護しますか?

回答:


20

古代の汚い牛のバグ

このバグは、カーネルバージョン2.6.22以降に存在します。これにより、読み取りアクセス権を持つローカルユーザーが管理者権限を取得できます。警告が発行され(Softpedia:Linux Kernels 4.8.3、4.7.9および4.4.26 LTS Out to Patch "Dirty COW" Security Flaw)、ユーザーはKernel Linux kernel 4.8.3、Linux kernel 4.7にアップグレードすることをお勧めします。 9、およびLinuxカーネル4.4.26 LTS。これらのカーネルバージョンはUbuntuでサポートされていないため、このリンクは誤解を招きます。

この回答は、Ubuntuユーザー向けに調整されており、次のことを示しています。

  • Ubuntuユーザーに推奨されるカーネルバージョン
  • 現在のカーネルバージョンを表示する方法
  • Ubuntuがサポ​​ートするカーネルに修正を適用する方法
  • サポートされていないUbuntuカーネルに修正を適用する方法

Ubuntuユーザー「Dirty COW」が推奨するカーネル

Ubuntuは2016年10月20日にセキュリティサポートをリリースし、サポートされているすべてのUbuntuバージョンで使用されるカーネルにパッチを適用します。Softpedia:Canonical Patches Ancient "Dirty COW" Kernel Bug in All Supported Ubuntu OSes

Canonicalは、すべてのユーザーに以下をインストールすることにより、すぐにシステムにパッチを適用するよう促しています。

  • Ubuntu 16.10のlinux-image-4.8.0-26(4.8.0-26.28)
  • Ubuntu 16.04 LTS用のlinux-image-4.4.0-45(4.4.0-45.66)
  • Ubuntu 14.04 LTSのlinux-image-3.13.0-100(3.13.0-100.147)
  • Ubuntu 12.04 LTSのlinux-image-3.2.0-113(3.2.0-113.155)
  • linux-image-4.4.0-1029-raspi2(4.4.0-1029.36)

Ubuntu 14.04 LTSのXenial HWEカーネルもバージョンlinux-image-4.4.0-45(4.4.0-45.66〜14.04.1)に更新され、Ubuntu 12.04 LTSのTrusty HWEカーネルがバージョンlinux-imageに更新されました-3.13.0-100(3.13.0-100.147〜precise1)。

https://wiki.ubuntu.com/Security/Upgradesにある Canonicalの指示に従って、Ubuntuインストールをすぐに更新してください

現在のカーネルバージョンを表示する

現在実行中のカーネルバージョンを表示するには、Ctrl+ Alt+でターミナルを開き、T次のように入力します。

uname -a

ブートに使用したカーネルバージョンは、次のように表示されます。

Linux dell 4.8.1-040801-generic #201610071031 SMP Fri Oct 7 14:34:10 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

パッチを使用して新しいカーネルをインストールした後でも、Grubから古いカーネルバージョンを起動できます。古いバージョンにはパッチが適用されません。これは、このカーネルバージョン4.8.1の場合です。

カーネルバージョン4.8.1はUbuntuでサポートされていません。

Ubuntuがサポ​​ートするカーネルの修正方法

Ubuntuがバグの修正をリリースしたので、ユーザーがする必要があるのはシステムをアップグレードすることだけです。毎日のセキュリティ更新が有効になっている場合、カーネルのアップグレードはすでに完了しています。カーネルのバージョンを上記のカーネルのリストで確認してください。

Ubuntuがカーネルバージョンを自動的にアップグレードしていない場合は、次を実行します。

sudo apt-get update
sudo apt-get dist-upgrade
sudo reboot

再起動後、前のセクションの手順を繰り返して、現在のカーネルバージョンを確認します。

サポートされていないUbuntuカーネルの修正方法

新しいハードウェアを使用したインストールでは、サポートされていないカーネルなどを使用している場合があります4.8.1。その場合、カーネルを手動でアップグレードする必要があります。上記のバグレポートのリンクではKernelを使用するように記載されていますが4.8.3、2016年10月30日時点で4.8.5最新のものであり、これがインストール方法です。

cd /tmp
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805_4.8.5-040805.201610280434_all.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-headers-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
wget http://kernel.ubuntu.com/~kernel-ppa/mainline/v4.8.5/linux-image-4.8.5-040805-generic_4.8.5-040805.201610280434_amd64.deb
sudo dpkg -i *.deb
sudo reboot

再起動後、2つのセクションの指示を繰り返して、現在のカーネルバージョンを確認します。


「このリンクは誤解を招く」という言葉は私には強すぎるように思えますが、「Ubuntuユーザーには適用されない指示」に沿って何かを言うでしょう。
fkraiem

@ WinEunuuchs2Unix「言及されたカーネルバージョンはUbuntuでサポートされていないため、このリンクはそのままで誤解を招く可能性があります。」また、どこで日付を太字にしているのか分かりませんか?
トーマスウォード

Ubuntu 16.04 LTSを使用していると、このコマンドですべてが良好であることがわかりました。- apt list --installed | grep linux-image-4.4.0-45戻りましたlinux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,automatic]
user643722

1

私はまったく専門家ではありませんが、「Dirty COW」を少し読んで、ほんの数時間前に最新のアップデートを完了した後、自分が大丈夫かどうかを確認したいと本当に感じました。

キーワード検索の結果から、私はこの記事と議論を有望なものとして選んだ。これで、最初に上記の記事の指示に従って現在のカーネルバージョン表示することで、Xenial Xeroxシステムの「COWパッチ」ステータスを簡単に確認できました(判明:)linux-image-4.4.0.-45uname -aパッチの詳細は示していませんが、現在インストールされているカーネルバージョンが表示され、ユーザー643722の提案に従うことができました。

apt list --installed | grep linux-image-4.4.0-45

予期しない余分な行が表示されましたが...

WARNING: apt does not have a stable CLI interface. 
Use with caution in scripts.

...次の行に希望する情報が続きます。

linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64  [Installiert,automatisch]

すべてに感謝します-Linux / Ubuntu貢献者によるアップデートへのソリューションの迅速な実装、およびユーザー間の知識の迅速な普及。


1
単独ではapt-getなく使用するとapt、警告は消えます。
WinEunuuchs2Unix

ありがとう、@ WinEunuuchs2Unix。私は...、毎日すべての時間を勉強
あのNyma

1

以下を使用してパッケージをアップグレードする必要がありますapt-get

sudo apt-get update && sudo apt-get dist-upgrade

また、livepachサービスを有効にできます

偶然にも、脆弱性が公開される直前に、Ubuntu 16.04 LTS用のCanonical Livepatch Serviceをリリースしました。Ubuntu 16.04 LTSシステムでcanonical-livepatchを有効にした数千人のユーザーは、最初の数時間で修正を受け取り、自動的にバックグラウンドで、再起動せずにDirty COWに修正を適用しました。

  1. 行くhttps://ubuntu.com/livepatch正準-livepatchスナップをインストールトークンとあなたのlivepatchを取得

    $ sudo snap install canonical-livepatch

  2. トークンでサービスを有効にします

    $ sudo canonical-livepatch enable [トークン]

  3. 以下を使用して、いつでもステータスを確認します。

    $ canonical-livepatch status --verbose

  4. アップグレード

    `$ sudo apt install unattended-upgrades

  5. 古いバージョンのUbuntu(または16.04にアップグレードしたUbuntuシステム)では、次を使用してこの動作を有効にする必要があります。

    $ sudo dpkg-reconfigure unattended-upgrades

`


あなたの言葉はあなたがCanonicalで働いているように聞こえますが、そうであればインサイダー情報に感謝します:)
WinEunuuchs2Unix

@ WinEunuuchs2Unix初心者のLinuxユーザー:)
GAD3R

とにかく答えてくれてありがとう。帰宅してコンピュータから削除できるようになるまで、Canonicalの従業員であるという偽りのコメントを11時間生き続ける必要があると思います。
WinEunuuchs2Unix

$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not found助けて?
ハーシーゲーマー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.