SmashEx, serangan ke atas Intel SGX untuk mengekstrak data atau melaksanakan kod

penyelidik daripada Universiti Sains dan Teknologi Pertahanan Tentera Pembebasan Rakyat, Universiti Nasional Singapura dan Sekolah Teknikal Tinggi Swiss di Zurich telah membangunkan kaedah baharu untuk menyerang enklaf Intel SGX terpencil (Ekstensi Pengawal Perisian).

Serangan itu dipanggil SmashEx dan ia disebabkan oleh masalah kemasukan semula apabila mengendalikan pengecualian semasa kerja komponen masa jalan untuk Intel SGX. Kaedah serangan yang dicadangkan membenarkan, jika terdapat kawalan ke atas sistem pengendalian, untuk menentukan data sulit terletak di kawasan enklaf, atau susun salinan kod anda dalam ingatan enklaf dan pelaksanaannya.

Ingat teknologi itu SGX muncul pada pemproses Intel Core generasi ke-XNUMX (Skylake) dan menawarkan satu siri arahan yang membenarkan aplikasi peringkat pengguna diberikan kawasan memori peribadi, enklaf, yang kandungannya tidak boleh dibaca atau diubah walaupun oleh kernel dan kod yang dilaksanakan dalam mod ring0, SMM dan VMM.

Adalah mustahil untuk memindahkan kawalan kepada kod dalam enklaf menggunakan fungsi peralihan dan manipulasi tradisional dengan daftar dan timbunan; Penyata EENTER, EEXIT dan ERESUME baharu yang dicipta khas digunakan untuk memindahkan kawalan ke enklaf yang melakukan semakan kebenaran. Pada masa yang sama, kod yang diletakkan di dalam enklaf boleh menggunakan kaedah panggilan klasik untuk memanggil fungsi dalam enklaf dan arahan khas untuk memanggil fungsi luaran. Penyulitan memori enklaf digunakan untuk melindungi daripada serangan perkakasan, seperti menyambung ke modul DRAM.

Masalahnya berkaitan dengan fakta bahawa teknologi SGX membolehkan sistem pengendalian mengganggu pelaksanaan enklaf dengan membuang pengecualian perkakasan, dan primitif untuk pengendalian atom bagi pengecualian tersebut tidak dilaksanakan dengan betul dalam enklaf. Tidak seperti kernel sistem pengendalian dan aplikasi biasa, kod di dalam enklaf tidak mempunyai akses kepada primitif untuk mengatur tindakan atom semasa pengendalian pengecualian tak segerak. Tanpa primitif atom yang ditentukan, enklaf boleh diganggu pada bila-bila masa dan dijalankan semula, walaupun apabila bahagian kritikal sedang berjalan dalam enklaf dan ia berada dalam keadaan tidak selamat (contohnya, apabila daftar CPU tidak disimpan / dipulihkan) .

Untuk operasi biasa, teknologi SGX membolehkan anda mengganggu pelaksanaan enklaf dengan pengecualian perkakasan boleh dikonfigurasikan. Ciri ini membenarkan masa larian enklaf untuk melaksanakan pengendalian pengecualian atau pengendalian isyarat dalam enklaf, tetapi ia juga boleh menyebabkan ralat kemasukan semula. Serangan SmashEx bergantung pada mengeksploitasi kelemahan dalam SDK disebabkan oleh situasi panggilan berulang pengendali pengecualian tidak dikendalikan dengan betul. Adalah penting untuk mengeksploitasi kelemahan, penyerang mesti dapat mengganggu pelaksanaan enklaf, iaitu, dia mesti mengawal kerja persekitaran sistem.

Selepas melemparkan pengecualian, penyerang menerima tetingkap kecil masa di mana adalah mungkin untuk memintas aliran pelaksanaan dengan memanipulasi parameter input. Khususnya, jika anda mempunyai akses kepada sistem (persekitaran di luar enklaf), anda boleh mencipta pengecualian baharu sejurus selepas melaksanakan pernyataan untuk memasuki enklaf (EENTER), yang akan membawa kepada pengembalian kawalan kepada sistem di peringkat di mana Konfigurasi tindanan untuk enklaf belum selesai lagi, keadaan daftar CPU disimpan.

Sistem kemudiannya boleh mengembalikan kawalan ke enklaf, Tetapi oleh kerana tindanan enklaf tidak dikonfigurasikan pada masa gangguan, enklaf akan berjalan dengan tindanan yang berada dalam memori sistem, yang boleh digunakan untuk menggunakan teknik eksploitasi pengaturcaraan berorientasikan kembali (ROP). Pengaturcaraan Berorientasikan).

Apabila menggunakan teknik ROP, penyerang tidak cuba meletakkan kodnya dalam ingatan, sebaliknya beroperasi pada bahagian arahan mesin yang sudah tersedia dalam perpustakaan yang dimuatkan, berakhir dengan arahan pemulangan kawalan (sebagai peraturan, ini adalah penghujung perpustakaan fungsi). Kerja eksploitasi dikurangkan kepada membina rangkaian panggilan ke blok serupa ("alat") untuk mendapatkan kefungsian yang diperlukan.

Eksploit prototaip bersedia untuk enklaf dengan berasaskan masa larian Intel SGX SDK (CVE-2021-0186) dan Enklaf Terbuka Microsoft (CVE-2021-3376).

Dalam kes pertama, keupayaan untuk mengekstrak kunci RSA yang digunakan dalam pelayan web untuk HTTPS telah ditunjukkan, dan dalam kes kedua, adalah mungkin untuk menentukan kandungan yang diterima oleh utiliti cURL yang berjalan di dalam enklaf.

Kerentanan telah pun ditambal dalam perisian pada versi Intel SGX SDK 2.13 dan Open Enclave 0.17.1.

Fuente: https://jasonyu1996.github.io


Tinggalkan komen anda

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

*

*

  1. Bertanggungjawab untuk data: AB Internet Networks 2008 SL
  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.