Hadiah Tahun Baru, bagian ketiga: apakah kita berperilaku baik

Bagian Satu: Meltdown
Bagian Dua: Spectre

Salah satu pertanyaan paling menarik yang muncul dalam diskusi tentang kerentanan perangkat keras Meltdown dan Specter (lihat tautan di atas) adalah pertanyaan apakah Santa Claus memberi kami hadiah ini karena fakta bahwa pada 2017 kami berperilaku buruk - atau sebaliknya bagus



Saya akan mencoba untuk membuktikan tesis bahwa kita berperilaku baik, jika tidak, Santa Claus akan memberi kita hadiah ini dalam tiga atau empat tahun.

Jadi apa yang kita miliki? Kerentanan perangkat keras Meltdown yang memungkinkan proses apa pun yang tidak terjangkau untuk membaca memori kernel OS, serta setiap proses yang berjalan di OS ini, termasuk sertifikat, kata sandi, dompet bitcoin, dan segala sesuatu yang terlintas dalam pikiran Anda untuk diproses di komputer.

Aplikasi kerentanan tidak meninggalkan jejak, dan kode yang mengimplementasikannya umumnya tidak terdeteksi oleh antivirus.

Satu-satunya cara untuk melindungi adalah penyempurnaan mendesak dari kernel OS untuk memisahkan ruang alamat virtual dari proses dan OS. Di Linux, tambalan yang sesuai disebut KPTI, hanya menyisakan sebagian kecil dari kernel di ruang alamat virtual dari proses - fungsi loncatan yang, ketika diakses oleh mereka, merujuk ke fungsi kernel yang sesuai, yang sekarang hidup dalam ruang alamat yang berbeda. Berkat ini, tambalan juga disebut Forcefully Unmap Complete Kernel With Interrupt Trampolines, atau FUCKWIT.

Kehancuran secara signifikan rentan terhadap:

  • Hampir semua prosesor Intel
  • Jumlah prosesor Apple yang tidak disebutkan namanya pada inti ARM
  • Prosesor ARM Cortex-A75

Yang sangat menarik dalam hubungan kita dengan Santa Claus adalah item terakhir - Cortex-A75.

Terlepas dari kreativitas Apple, yang hidup secara eksklusif di perangkat yang dikontrol Apple, prosesor berbasis ARM lain mungkin terkena Spectre, sebuah eksploitasi yang sulit, yang pada kenyataannya sekarang berbahaya hanya untuk browser dengan eksekusi JS, atau mirip dengan Meltdown, tetapi kerentanannya sangat terbatas. dari ARM docs yang disebut "Variant 3a," yang tidak memungkinkan membaca konten RAM.



Pada Cortex-A75, saat ini, hanya dua prosesor yang disajikan, di mana perangkat nol diwakili:

  • Qualcomm Snapdragon 845
  • Samsung Exynos 9810

Mengenai pabrikan 845 yang secara langsung menyatakan penggunaan Cortex-A75, tidak ada informasi yang dapat dipercaya tentang 9810, namun prosesor ini memiliki sejumlah fitur eksklusif untuk A75, dan itu juga akan secara langsung membedakan Snapdragon 845 di Galaxy S9.

Mungkin dalam waktu dekat kita dapat mengharapkan model pengembangan Mediatek dan HiSilicon yang serupa.

Perangkat pada kedua prosesor akan ditampilkan pada akhir Februari di MWC-2018 dan sekitarnya - tentu saja, Galaxy S9, serta model andalan dari produsen lain.

Apa artinya ini? Suatu hal yang sangat sederhana: selama 2018, puluhan juta smartphone dan tablet Android yang rentan terhadap serangan Meltdown akan muncul di alam liar. Selama 2019, jumlah ini dapat dengan mudah melebihi seratus juta.

Meskipun perangkat dari segmen menengah dan bawah akan tetap kebal - prosesor mereka lebih menguntungkan untuk dirakit dari inti Cortex-A5x murah tanpa menambahkan Cortex-A7x yang besar dan mahal ke mereka - pasar smartphone yang mahal dan rentan akan menjadi perhatian serius bagi peretas.

Tapi, sepertinya, pembaruan sederhana dari kernel Linux? ..

Kami dengan desktop dan server kami sedikit dimanjakan oleh kemungkinan memperbarui kernel. Bahkan untuk CentOS super-konservatif, ada tiga baris kernel siap pakai - basis, jangka panjang dan garis utama, untuk tidak mengatakan apa-apa tentang distribusi desktop. Dicari - digulung. Pertama, segelas brendi, lalu intinya, atau sebaliknya, inilah yang punya keberanian berapa.

Sekarang mari kita lihat realitas dunia smartphone:
ModelIntinya
Galaxy S63.10.61
Galaxy S73.18.14
Galaxy S84.4.13
Galaxy Note 84.4.13
Galaxy A5 20173.18.14
Sony XZ Premium4.4.78
Xiaomi Mi A13.18.66
Xiaomi Mi 64.4.21
Xiaomi Mi 53.18.31
Redmi Note 4 (Snapdragon)3.18.31
Redmi Note 4 (MTK)3.18.22
Meizu MX63.18.22
HTC U11 +4.4.78
Huawei Honor 94.1.18
Huawei P104.1.18
Huawei Mate 10 Pro4.4.23
Nexus 6P3/10/73

Kebun binatang yang bagus, bukan?

Setiap smartphone hidup dengan inti yang siap untuk itu pada saat diluncurkan ke pasar. Sepanjang masa pakai smartphone, pembaruan yang datang ke sana tidak mengubah versi kernel, meskipun tambalan tambahan mungkin diterapkan pada kernel itu sendiri - jika Anda melihat parameter perangkat lunak, tanggal perakitan kernel di smartphone Anda kemungkinan besar akan sesuai dengan salah satu pembaruan terbaru.

Versi kernel adalah karena baik dukungan dari produsen chipset (perhatikan bahwa Meizu pada MTK Helio X20 dan Xiaomi Redmi Note 4 memiliki satu inti di atasnya, tetapi Redmi Note 4 pada Snapdragon 625 memiliki inti yang berbeda), serta perkembangan pabrikan sendiri sebuah smartphone.

Ini berarti bahwa kehadiran, misalnya, patch KPTI di kernel 4.4.110 tidak berarti bahwa produsen dapat dengan cepat merilis pembaruan Android untuk smartphone mereka, yang akan membawa 4.4.110 ke semua pengguna mereka dengan KPTI diaktifkan. Tidak, mereka perlu menghibur diri dengan backporting patch yang sesuai ke kernel yang sebenarnya digunakan dalam model mereka, dengan pengujian kinerja dan stabilitas selanjutnya.

Smartphone dalam hal ini mirip dengan distribusi server Linux seperti CentOS - hanya untuk mereka tidak ada repositori pihak ketiga dengan kernel-lt dan kernel-ml.

Namun, saat ini, kami hanya memiliki dua prosesor ARM yang rentan terhadap Meltdown, tidak termasuk produk Apple, yang akan digunakan dalam sejumlah model ponsel cerdas selama enam bulan ke depan, dan firmware dari ponsel cerdas ini akan didasarkan pada salah satu dari kurang lebih kernel terbaru dari seri 4.4, di patch KPTI setidaknya secara teoritis.

Sekarang bayangkan apa yang akan terjadi jika Meltdown ditemukan bukan sekarang, tetapi setelah dua atau tiga tahun. Ratusan juta perangkat (dan bukan hanya ponsel cerdas dan tablet) yang menggunakan lusinan opsi kernel dari seri 4.4 dan 4.9, masing-masing dengan serangkaian tambalannya sendiri, sementara pengembangan Linux utama berlangsung di sekitar 4.20 ...

Disajikan?

Terima kasih, Kakek Frost, karena telah memberi kami Meltdown sebelum mereka dapat menginfeksi seluruh industri seluler.

Kami berjanji untuk berperilaku baik di 2018 juga.

PS Semua ini tidak berarti bahwa produsen smartphone memang akan merilis model pertama pada Cortex-A75 dengan KPTI diaktifkan.

Source: https://habr.com/ru/post/id409343/


All Articles