Apa Kerentanan Spectre dan Meltdown?

Dua dari kerentanan yang paling dipublikasikan di tahun 2010-an sangat erat kaitannya satu sama lain. Alih-alih menjadi kerentanan keamanan dalam perangkat lunak, Spectre dan Meltdown adalah kerentanan dalam desain dasar CPU yang membuat masalah ini lebih sulit untuk diselesaikan. Masalah itu sendiri sangat parah, memungkinkan pengungkapan memori dari aplikasi lain dan sistem operasi.

Gambaran

CPU menggunakan desain yang sangat canggih untuk mencapai kinerja tertinggi termasuk teknik termasuk eksekusi spekulatif dan prediksi cabang. Eksekusi spekulatif adalah di mana CPU mulai menjalankan proses sebelum mengetahui apakah perlu, dalam upaya untuk menghemat waktu ketika menentukan bahwa itu perlu. Prediksi cabang adalah sub-set dari eksekusi spekulatif yang mencoba memprediksi hasil dari suatu proses dan kemudian mulai menghitung langkah berikutnya berdasarkan nilai prediksi yang memungkinkan CPU untuk mengeksekusi serangkaian instruksi dari memesan.

Kerentanan Spectre berasal dari implementasi kedua fitur ini. Ini memungkinkan aplikasi untuk menembus teknik isolasi memori yang ada di dalam sebagian besar perangkat lunak modern yang memungkinkan pengungkapan memori, termasuk rahasia seperti kata sandi dan kunci enkripsi. Salah satu masalah dengan Spectre, adalah bahwa data dapat diakses dari aplikasi yang tidak memiliki kerentanan keamanan karena hanya program jahat yang diperlukan.

Kerentanan Meltdown didasarkan pada beberapa teknik memori, serta sistem eksekusi spekulatif yang disebutkan di atas. Ini menggunakan "kondisi balapan" antara eksekusi proses dan pemeriksaan hak istimewa dan memungkinkan program jahat untuk mengakses memori aplikasi lain dan sistem operasi.

Tip: "Kondisi balapan" adalah masalah di mana satu tugas seharusnya bergantung pada yang lain, tetapi urutan eksekusi yang benar tidak diterapkan. Hal ini dapat mengakibatkan proses "kedua" berjalan lebih dulu dan menggunakan memori yang tidak diinisialisasi yang seharusnya berisi hasil dari proses "pertama", membocorkan konten sebelumnya dari memori tersebut. Dalam kasus khusus ini, proses tidak boleh berjalan sampai pemeriksaan izin memverifikasi bahwa itu diizinkan, tetapi pemeriksaan izin dapat terjadi kedua karena pengoptimalan kinerja.

Efek

Pada pertengahan 2017 beberapa tim secara independen menemukan dan melaporkan Meltdown dan Spectre secara pribadi ke produsen CPU yang mengembangkan patch. Karena patch yang menargetkan pengoptimalan kinerja, mereka akhirnya mengurangi kinerja CPU hingga 30% dalam skenario terburuk, dengan penurunan kinerja 2-14% lebih mewakili kinerja orang pengalaman.

Kerentanan mempengaruhi banyak CPU x86, CPU IBM POWER, dan beberapa CPU berbasis ARM. Meltdown mempengaruhi perangkat keras yang biasanya ditemukan di komputer pribadi serta server cloud. Spectre memengaruhi komputer pribadi, server cloud, dan perangkat seluler. Semua CPU intel dari 1995 hingga pertengahan 2018 rentan terhadap masalah (dengan pengecualian lini Itanium dan Atom sebelum 2013). CPU AMD tidak terpengaruh oleh Meltdown tetapi rentan terhadap Spectre.

Patch mitigasi perangkat lunak dikembangkan dan dirilis melalui penyedia sistem operasi yang menyelesaikan sebagian besar masalah. Sejak pertengahan 2018 Intel telah memperbarui desain CPU mereka untuk memasukkan mitigasi perangkat keras untuk masalah tersebut.

Kedua masalah dapat dieksploitasi melalui halaman web berbahaya dengan JavaScript yang dibuat, jadi sangat penting untuk pastikan patch keamanan diinstal pada setiap sistem, bahkan jika kehilangan kinerja berat. Sayangnya, masalah tidak dapat diperbaiki dengan satu tambalan, karena ini adalah masalah yang sangat kompleks dengan deep integrasi ke dalam perangkat keras, patch keamanan akan terus diluncurkan dari waktu ke waktu karena varian yang lebih baru telah menemukan.