Dina 14 Nopémber, Google ngaluarkeun buletin ngalaporkeun kerentanan serius dina sajumlah prosesor Intel – dimimitian ku generasi Ice Lake dirilis dina 2019. Kerentanan ieu berpotensi ngakibatkeun panolakan jasa, élévasi hak husus, atawa panyingkepan informasi sénsitip. Dina waktos nyerat, apdet microcode anu ngabéréskeun masalah ieu parantos dileupaskeun pikeun versi 12th jeung 13th generasi prosesor Intel (masing-masing Alder Lake sareng Raptor Lake). Patch pikeun 10th jeung 11th generasi prosesor (És Lake jeung Tiger Lake) keur lumangsung. Daptar lengkep prosesor anu kapangaruhan sayogi dina situs wéb Intel dina bentuk hamparan anu éksténsif.
Numutkeun wawakil Intel, insinyur perusahaan sadar kana paripolah anu teu normal tina prosésor, tapi masalahna dianggap henteu kritis, sareng ngarencanakeun pikeun ngabéréskeunana ditunda dugi ka satengah munggaran 2024. Tapi, kaayaan robih nalika peneliti Google mendakan éta. masalah sacara mandiri. Kanyataanna, sagala rinci ngeunaan kerentanan sabenerna asalna ti ahli Google, husus tina artikel ieu ku Tavis Ormandy.
prosésor Fuzzy
Tavis Ormandy parantos mendakan seueur kerentanan utama dina sababaraha program sareng alat. Kami nembe nyerat ngeunaan panilitian sateuacana anu mendakan kerentanan Zenbleed dina prosesor AMD. Dina kasempetan éta, Tavis nyarioskeun ngeunaan nyoko kana fuzzing pikeun mendakan kerentanan hardware.
Fuzzing mangrupikeun metode tés anu ngalibatkeun nyoco inpormasi acak kana input sistem inpormasi anu diuji. Biasana, éta dianggo pikeun ngajadikeun otomatis milarian kerentanan parangkat lunak: alat fuzzing khusus diciptakeun pikeun berinteraksi sareng program sareng ngawas kaayaanana. Salajengna, puluhan atanapi ratusan rébu tés dilakukeun pikeun ngaidentipikasi paripolah anu teu biasa dina kode anu diuji.
Lamun datang ka nguji prosesor, hal jadi saeutik leuwih pajeulit. Urang kudu ngahasilkeun program acak nu ngoperasikeun tanpa gagal sorangan tur ngajalankeun eta dina processor. Kumaha urang bisa ngabedakeun kabiasaan processor normal tina kabiasaan abnormal dina kasus kawas kieu? Barina ogé, teu sakabéh kasalahan salila palaksanaan software ngabalukarkeun ngadat. Ormandy ngusulkeun téknik dimana kode “acak” sami dieksekusi sakaligus dina prosesor anu béda. Sacara téoritis, kaluaran program anu idéntik ogé kedah sami; lamun henteu, eta bisa nunjukkeun masalah. Pendekatan ieu anu mendakan kerentanan dina prosesor Intel.
Kodeu gunana tapi bahaya
Pikeun ngartos kumaha kerentanan Reptar jalan, urang kedah turun ka tingkat panghandapna tina program – kode mesin anu dieksekusi langsung ku prosesor. Basa rakitan digunakeun pikeun ngagambarkeun parentah dasar ieu ku cara nu leuwih merenah. Snippet kode basa assembly sapertos kieu:
Conto kode dina basa rakitan. Baris panungtungan ngandung awalan nu ngarobah palaksanaan parentah nu nuturkeun eta. Sumber
Baris panungtungan nembongkeun pindah b parentah, nu ngabejaan processor mindahkeun data ti hiji wewengkon memori ka nu sejen. Hal ieu dipiheulaan ku reputasi modifier, nunjukkeun yén pindah b paréntah kudu dieksekusi sababaraha kali dina urutan. Awalan sapertos kitu henteu relevan pikeun sadaya paréntah. Prosesor Intel terang kumaha ngalangkungan awalan anu teu aya artina. Tavis Ormandy masihan conto:
Sababaraha awalan diulang moal ngabalukarkeun kasalahan nalika ngajalankeun program. Sumber
Hayu urang tambahkeun awalan sejen, disebutna rex. rxb. Ieu diwanohkeun barengan arsitektur x86-64 pikeun nanganan dalapan registers processor tambahan. Sanaos naon anu saleresna henteu penting – anu urang kedah terang nyaéta awalan ieu henteu aya gunana nalika dianggo sareng pindah b pamaréntahan:
Dina tiori, awalan rex.rxb kudu dilewatan, sarta ngan paréntah movsb kalawan awalan rep kudu dieksekusi. Tapi dina prakna, ieu teu lumangsung kalawan prosesor Intel. Sumber
Nyatana, awalan ieu ngarobih paripolah prosesor Intel (dimimitian ku Ice Lake), sanaos henteu kedah. Dina generasi prosesor ieu, téknologi anu disebut “Fast Short Repeat Move” ditambahkeun. Hal ieu dirarancang pikeun nyepetkeun operasi ngalibetkeun gerakan data dina RAM. Téknologi ieu tiasa, diantarana, ngaoptimalkeun palaksanaan wawakil movsb parentah. Marengan fitur “Fast Short Repeat Move”, hiji cacad asup kana logika prosesor, mimiti kapanggih ku insinyur Intel lajeng ku para ahli Google.
Ancaman langsung
Naon konsékuansi tina executing parentah ieu, nu disrupts kabiasaan normal tina processor? Numutkeun Ormandy, hasilna teu bisa diprediksi. Para panalungtik niténan palaksanaan kode acak, bagian program dipaliré, sarta sagala rupa gagal dina processor, nepi ka gagal lengkep. Pikeun anu terakhir, urang kedah ngamangpaatkeun kerentanan dina sapasang inti prosesor sakaligus. Pikeun mariksa kerentanan ieu dina sistem sorangan, tim peneliti Google nyetél program tés.
kabiasaan unpredictable cukup goréng. Beda pangpentingna antara ieu “processor bug” jeung nu lianna nya éta langsung ngancam maya server swasta hosting panyadia ladenan, atawa panyadia solusi awan sacara umum. Industri ieu diwangun dina kamampuhan pikeun babagi hiji server kuat tunggal diantara puluhan atawa ratusan klien – unggal klien ngatur sistem operasi maya sorangan. Penting yén dina kaayaan naon waé hiji klien kedah ningali data klien sanés atanapi data klien éta host – sistem operasi anu ngatur peti virtual.
Ayeuna bayangkeun yén klien tiasa ngajalankeun program dina OS virtual na anu nyababkeun masalah host neunggeul. Sahenteuna, ieu tiasa ngaktifkeun serangan DoS ka panyadia. Kanyataanna, Ormandy teu nampilkeun sagala skenario mangpaatkeun séjén, arguing yén éta téh hésé pisan pikeun ngaduga paripolah hiji prosésor operasi dina modeu kotak hideung; sanajan sacara téoritis panyerang bisa ngajalankeun kode jahat tangtu tinimbang ngandelkeun gagal acak. Perwakilan Intel sorangan ngaku yén “eksekusi kode” sareng “panyingkepan inpormasi” mungkin. Ku alatan éta, pohara penting pikeun masang apdet microcode disiapkeun ku Intel (sahenteuna pikeun panyadia ladenan hosting maya).
#Reptar #kerentanan #dina #prosesor #Intel