Google menunjukkan eksploitasi kerentanan Spectre menggunakan JavaScript dalam penyemak imbas

Google melancarkan beberapa hari yang lalu pelbagai prototaip eksploitasi yang menunjukkan kemungkinan mengeksploitasi kelemahan kelas Specter ketika menjalankan kod JavaScript dalam penyemak imbas, tanpa melalui kaedah keselamatan yang ditambahkan di atas.

Eksploitasi dapat digunakan untuk mendapatkan akses ke memori proses yang memproses kandungan web di tab semasa. Untuk menguji operasi eksploitasi, laman web untuk halaman yang bocor dilancarkan dan kod yang menerangkan logik operasi disiarkan di GitHub.

Prototaip yang dicadangkan dirancang untuk sistem serangan dengan Pemproses Intel Core i7-6500U dalam persekitaran Linux dan Chrome 88, walaupun ini tidak mengecualikan bahawa perubahan dapat dilakukan untuk menggunakan eksploitasi di lingkungan lain.

Kaedah operasi tidak khusus untuk pemproses Intel: setelah penyesuaian yang betul, Eksploitasi tersebut telah disahkan berfungsi pada sistem dengan CPU pihak ketiga, termasuk Apple M1 berdasarkan seni bina ARM. Setelah sedikit perubahan, eksploitasi juga berfungsi pada sistem operasi dan penyemak imbas lain berdasarkan enjin Chromium.

Dalam persekitaran berdasarkan pemproses Chrome 88 dan Intel Skylake standard, kami mencapai kebocoran data dari proses yang bertanggungjawab untuk membuat kandungan web di tab Chrome semasa (proses rendering) pada kelajuan 1 kilobyte sesaat. Sebagai tambahan, prototaip alternatif dikembangkan, misalnya, eksploitasi yang memungkinkan, dengan biaya kestabilan yang dikurangkan, untuk meningkatkan kadar kebocoran hingga 8kB / s ketika menggunakan prestasi. Sekarang () pemasa dengan ketepatan 5 mikrodetik (0.005 milisaat) ). Varian juga dikembangkan yang dioperasikan dengan ketepatan pemasa satu milisaat, yang dapat digunakan untuk mengatur akses ke memori proses lain dengan kecepatan sekitar 60 bita sesaat.

Kod demo yang diterbitkan terdiri daripada tiga bahagian:

  • Bahagian pertama kalibrasi pemasa untuk menganggarkan masa berjalan operasi yang diperlukan untuk mengambil data yang masih ada di cache pemproses sebagai hasil pelaksanaan spekulasi arahan CPU.
  • Bahagian kedua Menentukan susun atur memori yang digunakan semasa memperuntukkan array JavaScript.
  • Bahagian ketiga secara langsung mengeksploitasi kerentanan Spectre untuk menentukan kandungan memori dari proses semasa sebagai hasil dari penciptaan syarat untuk pelaksanaan spekulatif operasi tertentu, hasilnya dibuang oleh pemproses setelah menentukan ramalan yang gagal, tetapi jejak pelaksanaan diselesaikan dalam cache bersama dan dapat dipulihkan menggunakan kaedah untuk Menentukan kandungan cache menggunakan saluran pihak ketiga yang menganalisis perubahan masa akses ke data cache dan bukan cache.

Teknik eksploitasi yang dicadangkan menghilangkan pemasa berketepatan tinggi tersedia melalui performance.now () API dan tanpa sokongan untuk jenis SharedArrayBuffer, yang membolehkan anda membuat susunan dalam memori bersama.

Eksploitasi itu termasuk perangkat Spectre, yang menyebabkan pelaksanaan kod spekulatif terkawal, dan penganalisis kebocoran saluran sisi, yang menentukan data apa yang telah di-cache selama pelaksanaan spekulatif.

Alat ini dilaksanakan dengan menggunakan array JavaScript, di mana usaha dilakukan untuk mengakses kawasan di luar had penyangga, yang mempengaruhi keadaan blok ramalan cabang kerana adanya pemeriksaan ukuran penyangga yang ditambahkan oleh penyusun (pemproses secara spekulatif melakukan akses lebih awal, tetapi mengembalikan keadaan setelah memeriksa).

Untuk menganalisis kandungan cache dalam keadaan ketepatan pemasa yang tidak mencukupi, kaedah dicadangkan yang menipu strategi pengusiran data cache Tree-PLRU yang digunakan dalam prosesor dan memungkinkan, dengan meningkatkan jumlah kitaran, untuk meningkatkan masa perbezaan dengan ketara ketika nilai dikembalikan dari cache dan jika tidak ada nilai dalam cache.

Google telah menerbitkan prototaip eksploitasi untuk menunjukkan kemungkinan serangan tersebut menggunakan kelemahan kelas Spectre dan mendorong pembangun web untuk menggunakan teknik yang meminimumkan risiko serangan tersebut.

Pada masa yang sama, Google percaya bahawa tanpa penyemakan semula prototaip yang dicadangkan, mustahil untuk membuat eksploitasi universal yang siap bukan hanya untuk demonstrasi, tetapi juga untuk penggunaan yang meluas.

Fuente: https://security.googleblog.com


Tinggalkan komen anda

Alamat email anda tidak akan disiarkan. Ruangan yang diperlukan ditanda dengan *

*

*

  1. Bertanggungjawab atas data: Miguel Ángel Gatón
  2. Tujuan data: Mengendalikan SPAM, pengurusan komen.
  3. Perundangan: Persetujuan anda
  4. Komunikasi data: Data tidak akan disampaikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Pangkalan data yang dihoskan oleh Occentus Networks (EU)
  6. Hak: Pada bila-bila masa anda boleh menghadkan, memulihkan dan menghapus maklumat anda.