Check point mempresentasikan teknik keamanan Safe-Linking

Periksa titik (penyedia global solusi keamanan TI) dirilis beberapa hari yang lalu pengenalan dari mekanisme keamanan "Penautan Aman", bahwa membuatnya sulit untuk membuat eksploitasi yang memanipulasi definisi atau perubahan pointer ke buffer yang dialokasikan saat melakukan panggilan malloc.

Mekanisme «Safe-Linking» yang baru tidak sepenuhnya memblokir kemungkinan mengeksploitasi kerentanan, tetapi dengan overhead minimal mempersulit pembuatan kategori eksploitasi tertentuSelain buffer overflow yang dieksploitasi, perlu ditemukan kerentanan lain yang menyebabkan informasi tentang lokasi heap di memori.

Patch implementasi Tautan Aman disiapkan untuk Glibc (ptmalloc), uClibc-NG (dlmalloc), gperftools (tcmalloc) dan Google TCMalloc, serta proposal untuk memodernisasi perlindungan di Chromium (sejak 2012 Chromium telah diintegrasikan dengan solusi untuk masalah yang sama) teknik perlindungan MaskPtr, tetapi solusi Checkpoint menunjukkan kinerja yang lebih baik).

Patch yang diusulkan telah disetujui untuk pengiriman pada rilis Agustus Glibc 3.32 dan Safe-Linking akan diaktifkan secara default. Di uClibc-NG, dukungan tautan aman disertakan dalam versi 1.0.33 dan diaktifkan secara default. Di gperftools (tcmalloc lama) perubahan diterima, tetapi akan ditawarkan sebagai opsi di rilis mendatang.

Pengembang TCMalloc menolak untuk menerima perubahan, cdengan kesuksesan kinerja yang kuat dan kebutuhan untuk menambahkan tes lanjutan untuk memverifikasi secara teratur bahwa semuanya bekerja dengan baik.

Pengujian dilakukan oleh Teknisi titik pemeriksaan menunjukkan bahwa metode Penautan Aman tidak mengakibatkan konsumsi memori tambahan dan kinerja saat melakukan operasi heap rata-rata hanya menurun sebesar 0.02%, dan dalam kasus terburuk sebesar 1.5%

Mengaktifkan Safe-Linking mengarah ke eksekusi 2-3 instruksi assembler tambahan dengan setiap panggilan ke free () dan 3-4 instruksi saat memanggil malloc (). Inisialisasi dimulai dan pembuatan nilai acak tidak diperlukan.

Penautan Aman dapat digunakan tidak hanya untuk meningkatkan keamanan dari berbagai implementasi heap, sino juga untuk menambahkan pemeriksaan integritas ke struktur data apa pun yang menggunakan daftar pointer yang terhubung secara individual yang terletak di sebelah buffer.

Metode ini sangat sederhana untuk diterapkan dan hanya perlu menambahkan makro dan menerapkannya ke pointer ke blok kode berikutnya (misalnya, untuk Glibc hanya beberapa baris yang diubah dalam kode).

Inti dari metode ini adalah menerapkan data acak dari mekanisme pengacakan alamat ASLR (mmap_base) untuk melindungi daftar yang terhubung secara individual seperti Fast-Bins dan TCache. Sebelum menerapkan nilai penunjuk ke item berikutnya dalam daftar, konversi topeng dan pemeriksaan penjajaran dilakukan di sepanjang tepi halaman memori. Penunjuk diganti dengan hasil operasi "(L >> PAGE_SHIFT) XOR (P)", di mana P adalah nilai penunjuk dan L adalah lokasi di memori tempat penunjuk ini disimpan.

Ketika digunakan dalam sistem ASLR (Address Space Layout Randomization), beberapa bit L dengan alamat dasar dari heap berisi nilai acak yang digunakan sebagai kunci untuk menyandikan P (mereka diekstraksi dengan operasi shift 12 bit untuk halaman 4096-byte).

Manipulasi seperti itu mengurangi risiko menangkap penunjuk dalam eksploitasi, Karena penunjuk tidak disimpan dalam bentuk aslinya, dan untuk menggantinya, Anda perlu mengetahui informasi tentang lokasi heap.

Metode ini efektif dalam melindungi dari serangan yang menggunakan redefinisi penunjuk parsial (pergeseran byte rendah), penulisan ulang pointer secara lengkap (arahkan ke kode penyerang) dan ubah posisi daftar ke arah yang tidak selaras.

Sebagai contoh, ditunjukkan bahwa penggunaan Safe-Linking di malloc akan memblokir eksploitasi kerentanan CVE-2020-6007 yang baru-baru ini ditemukan oleh peneliti yang sama di lampu latar pintar Philips Hue Bridge yang disebabkan oleh buffer overflow dan memungkinkan untuk mengontrol perangkat.

sumber: https://research.checkpoint.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.