Apa itu bug "Kotor SAPI", dan bagaimana saya bisa mengamankan sistem saya terhadapnya?

22

Saya baru saja mendengar bug ini "COW Kotor" yang memungkinkan setiap pengguna dengan akses baca ke file juga menulis kepada mereka dan mendapatkan akses administratif. Bagaimana cara saya melindungi dari bug ini?

WinEunuuchs2Unix
sumber

Jawaban:

20

The Ancient Dirty COW Bug

Bug ini sudah ada sejak Kernel versi 2.6.22. Ini memungkinkan pengguna lokal dengan akses baca untuk mendapatkan hak administratif. Sebuah peringatan telah dikeluarkan ( Softpedia: Linux Kernels 4.8.3, 4.7.9 & 4.4.26 LTS Out to Patch Kelemahan Keamanan "Dirty COW" ) dan pengguna didesak untuk meningkatkan ke kernel Kernel Linux 4.8.3, Linux kernel 4.7. 9, dan kernel Linux 4.4.26 LTS. Tautan ini keliru karena versi Kernel ini tidak didukung oleh Ubuntu.

Jawaban ini dirancang untuk pengguna Ubuntu dan memberi tahu Anda:

  • Versi Kernel yang disarankan untuk pengguna Ubuntu
  • Cara menampilkan Versi Kernel Anda saat ini
  • Cara menerapkan perbaikan untuk Kernel yang Didukung Ubuntu
  • Cara mendaftar perbaikan untuk kernel Ubuntu yang tidak didukung

Pengguna Ubuntu "Dirty COW" merekomendasikan kernel

Ubuntu merilis pembaruan keamanan pada 20 Oktober 2016 untuk menambal Kernel yang digunakan oleh semua versi Ubuntu yang didukung: Softpedia: Canonical Patches Kuno "Kotor SAPI" Kernel Bug di Semua OS Ubuntu yang Didukung

Canonical mendesak semua pengguna untuk menambal sistem mereka segera dengan menginstal:

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

Kernel Xenial HWE untuk Ubuntu 14.04 LTS telah diperbarui juga, ke versi linux-image-4.4.0-45 (4.4.0-45.66 ~ 14.04.1), dan kernel HWE Trusty untuk Ubuntu 12.04 LTS ke versi linux-image -3.13.0-100 (3.13.0-100.147 ~ tepat1).

Harap perbarui instalasi Ubuntu Anda segera dengan mengikuti instruksi yang diberikan oleh Canonical di: https://wiki.ubuntu.com/Security/Upgrades .

Tampilkan Versi Kernel Anda saat ini

Untuk menampilkan versi Kernel Anda saat ini, buka terminal dengan Ctrl+ Alt+ Tlalu ketik:

uname -a

Versi kernel yang Anda boot dengan kemudian ditampilkan seperti ini:

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

Ingat setelah Anda menginstal kernel baru dengan tambalan, Anda masih bisa mem-boot versi kernel yang lebih lama dari Grub. Versi yang lebih lama tidak akan menerapkan tambalan, yang merupakan kasus dari kernel versi 4.8.1 ini.

Sekali lagi ingat kernel versi 4.8.1 tidak didukung oleh Ubuntu.

Bagaimana memperbaiki kernel yang didukung Ubuntu

Karena Ubuntu telah merilis perbaikan bug, Yang perlu dilakukan pengguna hanyalah memutakhirkan sistem mereka. Jika pembaruan keamanan harian diaktifkan, pembaruan kernel telah dilakukan. Periksa versi kernel Anda ke daftar kernel di atas.

Jika Ubuntu belum meningkatkan versi kernel Anda secara otomatis, jalankan:

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

Setelah reboot, periksa versi kernel Anda saat ini dengan mengulangi instruksi bagian sebelumnya.

Cara memperbaikinya untuk kernel Ubuntu yang tidak didukung

Beberapa instalasi dengan perangkat keras yang lebih baru mungkin menggunakan Kernel yang tidak didukung seperti 4.8.1atau lebih besar. Jika demikian, Anda perlu memperbarui Kernel secara manual. Meskipun tautan laporan bug di atas mengatakan untuk menggunakan Kernel 4.8.3, Per 30 Oktober 2016, 4.8.5adalah yang terbaru dan ini adalah cara menginstalnya:

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

Setelah reboot periksa versi kernel Anda saat ini dengan mengulangi instruksi dua bagian kembali.

WinEunuuchs2Unix
sumber
Alih-alih "tautan ini menyesatkan", yang tampaknya terlalu kuat untuk saya, saya akan mengatakan sesuatu di sepanjang baris "instruksi tersebut tidak berlaku untuk pengguna Ubuntu".
fkraiem
@ WinEunuuchs2Unix Saya akan menyarankan "Tautan ini, apa adanya, menyesatkan, karena versi kernel yang disebutkan tidak didukung oleh Ubuntu." Juga tidak yakin mengapa Anda membuat tanggal di mana-mana?
Thomas Ward
Setelah Ubuntu 16.04 LTS, saya menemukan perintah ini menunjukkan kepada saya bahwa semuanya baik: apt list --installed | grep linux-image-4.4.0-45- ia kembali linux-image-4.4.0-45-generic/xenial-updates,xenial-security,now 4.4.0-45.66 amd64 [installed,automatic].
user643722
1

Saya bukan ahli sama sekali, tetapi setelah membaca "Kotor SAPI" sedikit, saya merasa saya benar-benar ingin memeriksa apakah saya baik-baik saja setelah menyelesaikan pembaruan terbaru saya hanya beberapa jam yang lalu.

Dari hasil pencarian kata kunci saya, saya menganggap artikel & diskusi ini terdengar menjanjikan. Sekarang, saya telah dengan mudah berhasil memverifikasi status "tambalan-SAPI" dari sistem Xenial Xerox saya dengan terlebih dahulu mengikuti instruksi artikel di atas untuk Menampilkan Versi Kernel Anda saat ini (ternyata, ini :) linux-image-4.4.0.-45. Meskipun uname -atidak merinci tambalan, itu menampilkan versi kernel yang saat ini diinstal, yang memungkinkan saya untuk mengikuti saran pengguna 643722 - dan berhasil demikian:

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

Meskipun garis ekstra tak terduga ditampilkan ...

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

... informasi yang diharapkan diikuti di baris berikutnya:

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

Terima kasih untuk semua - untuk implementasi solusi yang cepat menjadi pembaruan oleh kontributor Linux / Ubuntu, dan difusi pengetahuan yang cepat di antara para pengguna.

Ano Nyma
sumber
1
Peringatan itu hilang jika Anda menggunakan apt-getbukan aptdengan sendirinya.
WinEunuuchs2Unix
Terima kasih, @ WinEunuuchs2Unix. Saya belajar setiap hari, setiap saat ...
Ano Nyma
1

Anda perlu meningkatkan paket Anda menggunakan apt-get:

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

Anda juga dapat mengaktifkan layanan livepach :

Secara kebetulan, tepat sebelum kerentanan diterbitkan, kami merilis Layanan Canonical Livepatch untuk Ubuntu 16.04 LTS. Ribuan pengguna yang mengaktifkan canonical-livepatch pada sistem Ubuntu 16.04 LTS mereka dengan beberapa jam pertama itu menerima dan menerapkan perbaikan pada Dirty COW, secara otomatis, di latar belakang, dan tanpa me-reboot!

  1. Buka https://ubuntu.com/livepatch dan ambil token livepatch Anda. Instal snap canonical-livepatch

    $ sudo snap install canonical-livepatch

  2. Aktifkan layanan dengan token Anda

    $ sudo canonical-livepatch enable [TOKEN]

  3. periksa status setiap saat menggunakan:

    $ canonical-livepatch status --verbose

  4. Meningkatkan

    `$ sudo untuk menginstal pembaruan tanpa pengawasan

  5. Versi Ubuntu yang lebih lama (atau sistem Ubuntu yang ditingkatkan ke 16.04) mungkin perlu mengaktifkan perilaku ini menggunakan:

    $ sudo dpkg-mengkonfigurasi ulang upgrade tanpa pengawasan

`

GAD3R
sumber
Kata-kata Anda membuatnya terdengar seperti Anda bekerja untuk Canonical, jika demikian terima kasih atas informasi orang dalam :)
WinEunuuchs2Unix
@ WinEunuuchs2Unix hanya pengguna Linux yang baru :)
GAD3R
Oh, terima kasih atas jawaban Anda. Saya khawatir Anda harus hidup dengan komentar palsu tentang menjadi karyawan Canonical selama 11 jam sampai saya tiba di rumah dan dapat menghapusnya dari komputer saya.
WinEunuuchs2Unix
$ sudo snap install canonical-livepatch error: cannot install "canonical-livepatch": snap not foundMembantu?
Hershey Gamer