Google mendemonstrasikan eksploitasi kerentanan Spectre menggunakan JavaScript di browser

Google meluncurkan beberapa hari yang lalu berbagai prototipe eksploitasi yang menunjukkan kemungkinan mengeksploitasi kerentanan dari kelas Spectre saat menjalankan kode JavaScript di browser, tanpa melalui metode keamanan yang ditambahkan di atas.

Eksploitasi dapat digunakan untuk mengakses memori suatu proses yang memproses konten web di tab saat ini. Untuk menguji pengoperasian exploit, situs web untuk halaman bocor diluncurkan dan kode yang menjelaskan logika operasi diposting di GitHub.

Prototipe yang diusulkan dirancang untuk menyerang sistem dengan Prosesor Intel Core i7-6500U di lingkungan Linux dan Chrome 88, meskipun ini tidak mengecualikan bahwa perubahan dapat dilakukan untuk menggunakan exploit di lingkungan lain.

Metode operasi tidak dikhususkan untuk prosesor Intel: setelah adaptasi yang tepat, Eksploitasi telah dikonfirmasi untuk bekerja pada sistem dengan CPU pihak ketiga, termasuk Apple M1 berdasarkan arsitektur ARM. Setelah perubahan kecil, exploit juga berfungsi pada sistem operasi lain dan browser lain berdasarkan mesin Chromium.

Dalam lingkungan yang didasarkan pada prosesor Chrome 88 dan Intel Skylake standar, kami mencapai kebocoran data dari proses yang bertanggung jawab untuk merender konten web di tab Chrome saat ini (proses rendering) dengan kecepatan 1 kilobyte per detik. Selain itu, prototipe alternatif dikembangkan, misalnya, eksploitasi yang memungkinkan, dengan biaya penurunan stabilitas, untuk meningkatkan laju kebocoran hingga 8kB / s saat menggunakan pengatur waktu performance.now () dengan akurasi 5 mikrodetik (0.005 milidetik ). Sebuah varian juga disiapkan yang dioperasikan dengan presisi pengatur waktu satu milidetik, yang dapat digunakan untuk mengatur akses ke memori proses lain dengan kecepatan sekitar 60 byte per detik.

Kode demo yang diterbitkan terdiri dari tiga bagian:

  • Bagian pertama mengkalibrasi pengatur waktu untuk memperkirakan waktu berjalan dari operasi yang diperlukan untuk mengambil data yang tersisa di cache prosesor sebagai hasil dari eksekusi spekulatif dari instruksi CPU.
  • Bagian kedua Mendefinisikan tata letak memori yang digunakan saat mengalokasikan array JavaScript.
  • Bagian ketiga secara langsung mengeksploitasi kerentanan Spectre untuk menentukan konten memori dari proses saat ini sebagai hasil dari pembuatan kondisi untuk eksekusi spekulatif dari operasi tertentu, yang hasilnya dibuang oleh prosesor setelah menentukan perkiraan yang gagal, tetapi jejak eksekusi diselesaikan di cache bersama dan dapat dipulihkan menggunakan metode untuk Menentukan konten cache menggunakan saluran pihak ketiga yang menganalisis perubahan waktu akses ke data cache dan non-cache.

Teknik eksploitasi yang diusulkan menghilangkan pengatur waktu presisi tinggi tersedia melalui performance.now () API dan tanpa dukungan untuk tipe SharedArrayBuffer, yang memungkinkan Anda membuat array di memori bersama.

Eksploitasi mencakup perangkat Specter, yang menyebabkan eksekusi kode spekulatif terkontrol, dan penganalisis kebocoran saluran samping, yang menentukan data apa yang telah di-cache selama eksekusi spekulatif.

Gadget diimplementasikan menggunakan array JavaScript, di mana upaya dilakukan untuk mengakses area di luar batas buffer, yang memengaruhi status blok prediksi cabang karena adanya pemeriksaan ukuran buffer yang ditambahkan oleh compiler (prosesor secara spekulatif melakukan akses sebelumnya, tetapi mengembalikan status tersebut setelah pemeriksaan).

Untuk menganalisis konten cache dalam kondisi presisi pengatur waktu yang tidak mencukupi, sebuah metode diusulkan yang mengelabui strategi penggusuran data cache Tree-PLRU yang digunakan dalam prosesor dan memungkinkan, dengan meningkatkan jumlah siklus, untuk secara signifikan meningkatkan perbedaan waktu ketika nilainya dikembalikan dari cache dan jika tidak ada nilai di cache.

Google telah menerbitkan prototipe eksploitasi untuk menunjukkan kelayakan serangan menggunakan kerentanan kelas momok dan mendorong pengembang web untuk menggunakan teknik yang meminimalkan risiko serangan tersebut.

Pada saat yang sama, Google percaya bahwa tanpa revisi signifikan dari prototipe yang diusulkan, tidak mungkin untuk membuat eksploitasi universal yang siap tidak hanya untuk demonstrasi, tetapi juga untuk penggunaan luas.

sumber: https://security.googleblog.com


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Penanggung jawab data: Miguel Ángel Gatón
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.