Meltdown: pertimbangan dampak pada sistem rahasia

(Untuk Alessandro Rugolo)
04/04/18

Meltdown, sebuah istilah yang maknanya identik dengan "kehancuran kehancuran", atau "bencana nuklir" telah menjadi umum digunakan karena masalah keamanan yang disorot pada beberapa jenis prosesor termasuk hampir semua prosesor Intel, bagian dari prosesor AMD dan seterusnya, dibuat oleh 2010 hingga saat ini. Sangat sedikit prosesor yang tidak terpengaruh oleh kerentanan ini (atau oleh Spectrum, dalam beberapa hal sangat mirip), di antaranya adalah bagian yang baik dari ARM, SPARC dan Raspberry.

Tapi, tentang apa itu? Apa itu sebenarnya Meltdown? Dan di atas semua itu, apa dampaknya terhadap sistem TI dan khususnya pada sistem rahasia yang digunakan di lingkungan militer?

Dengan artikel ini saya akan mencoba untuk menjelaskan kerentanan ini dan dampak potensial di dunia keamanan.

Untuk memulainya, ada baiknya untuk menegaskan kembali bahwa kerentanannya adalah perangkat keras dan bukan perangkat lunak. Ini membuat sedikit perbedaan dengan apa yang biasa kita dengar. Dalam praktiknya, untuk membuat perbandingan dengan dunia mobil, seolah-olah di (hampir) semua mobil di dunia ditemukan bahwa detail mesin karena cacat desain dapat mengalami kegagalan, mungkin dalam kasus seperti itu rumah pabrikan akan dipaksa untuk menarik model yang melanggar dari pasar dan memberi kompensasi kepada konsumen, atau menarik kembali mobil ke pabrik untuk penggantian suku cadang secara gratis.
dengan Meltdown ini belum terjadi, mungkin karena masih belum ada kesadaran nyata tentang hak-hak konsumen dan mungkin karena meskipun ada keributan yang disebabkan oleh berita, masih ada terlalu sedikit orang yang mampu memahami dimensi masalah yang sebenarnya.
Bagaimanapun, saya ulangi itu Meltdown mempengaruhi keluarga prosesor tertentu dari merek yang berbeda, terlepas dari Sistem Operasi yang diinstal pada mereka!

Kerusakan

Untuk memahami cara kerjanya Meltdown kita perlu tahu cara kerja sistem operasi, setidaknya di jalur-jalur intinya.
Pertama-tama adalah berguna untuk mengatakan bahwa tugas utama dari sebuah sistem operasi adalah untuk menyediakan serangkaian layanan dan jaminan keamanan sehingga program yang berjalan di dalamnya berperilaku seperti yang diinginkan oleh perancang keamanan.

Pendekatan desain untuk keamanan sangat dirasakan untuk sistem militer atau, lebih umum, untuk sistem yang berhubungan dengan informasi yang memiliki nilai tinggi.

Salah satu fitur utama Sistem Operasi adalah kemampuan untuk menjamin "pemisahan memori" antara proses yang berbeda dan pengguna karena setiap pengguna atau proses harus dapat mengakses hanya memori yang dicadangkan untuk itu.
Sistem operasi modern, sehingga dapat digunakan, juga untuk tujuan memanfaatkan fitur-fitur CPU generasi baru, telah memperkenalkan beberapa fitur yang mempercepat operasi tertentu, secara teoritis tanpa mengurangi keamanannya.

1. Yang pertama dari fitur ini adalah kemampuan untuk menjalankan banyak proses secara paralel, atau untuk melakukan tugas yang berbeda atau untuk pengguna atau program yang berbeda, memberi mereka kesan bahwa merekalah satu-satunya yang memiliki akses ke potensi penuh komputer. Untuk melakukan ini, perlu menggunakan teknik alokasi memori khusus yang menggunakan nama "memori halaman virtual".

2. Untuk mencegah pengguna atau proses saling mengganggu dan menyebabkan kerusakan dengan menulis data di ruang memori yang sudah digunakan, mungkin oleh Sistem Operasi, konsep "domain perlindungan" telah diperkenalkan. Dalam praktiknya, Sistem Operasi menetapkan setiap pengguna atau proses tingkat yang kemungkinan penggunaan area memori tertentu dikaitkan. Ketika suatu proses mencoba mengakses area memori yang tidak diotorisasi, umumnya "dihentikan".

3. Karakteristik ketiga yang terkait dengan arsitektur prosesor baru, biasanya dilengkapi dengan beberapa unit komputasi, terdiri dari kemungkinan menjalankan instruksi atau operasi secara paralel atau, dalam kasus tertentu, menjalankan instruksi yang sama pada nilai yang berbeda untuk mempercepat operasi tertentu. Ini adalah fitur yang dikenal sebagai "alur instruksi" dan "eksekusi spekulatif". Ini adalah dasar dari konsep "Out-of-order execution", yaitu eksekusi instruksi program yang belum diperlukan tetapi mungkin harus dijalankan.

4. Terakhir, untuk memanfaatkan kecepatan kalkulasi yang luar biasa dari prosesor modern, jenis memori tertentu telah diperkenalkan, yang akses tulis dan baca berlangsung dalam waktu yang jauh lebih singkat daripada memori yang ada di hard disk normal. Kehadiran memori yang disebut "cache", terkait dengan analisis data yang paling sering digunakan, memungkinkan prosesor untuk tidak tetap menganggur terlalu sering menunggu data yang diperlukan yang ditemukan di hard disk disediakan.

Nah, pertanyaannya sederhana. Jika benar bahwa karakteristik yang disebutkan di atas diperkenalkan untuk mengeksploitasi karakteristik prosesor baru, itu juga benar bahwa apa yang telah dilakukan telah meningkatkan kompleksitas sistem secara signifikan dan akibatnya kemungkinan memperkenalkan kerentanan non-sepele, dan inilah masalahnya dari Meltdown.
Sekarang, perlu diketahui bahwa salah satu pengguna komputer adalah Sistem Operasi, itu dianggap "pengguna istimewa" dan dapat melakukan operasi tertentu, tidak diberikan kepada pengguna generik.

Meltdown memungkinkan untuk mengatasi konsep "pemisahan memori", yang memungkinkan proses atau pengguna yang tidak sah untuk mengetahui data yang ada di ruang memori yang tidak dimiliki dengan mengeksploitasi jenis serangan yang disebut "serangan saluran samping", khususnya jenis serangan saluran samping yang disebut "serangan saluran sisi chache" yang terdiri dalam menyimpulkan konten cache dengan mengukur waktu pemuatan data dengan proses yang sedang berjalan lainnya.

Meltdown ia dapat melakukan ini dengan memanfaatkan fitur-fitur prosesor bit 64 modern yang terlihat di atas untuk mencapai tujuannya mencuri data dari area memori yang ditujukan untuk proses kernel Sistem Operasi.

Mengingat tujuan artikel ini dan kerumitan subjek, tidak masuk akal untuk terus menjelaskan detail tentang bagaimana jenis serangan ini bekerja, tetapi lebih untuk mencoba memahami implikasi keamanan dari serangan ini dalam kaitannya dengan sistem komputer militer.
Pertimbangan pertama harus dibuat pada konsep verifikasi dan sertifikasi sistem.
Ini karena, seperti yang saya harap sekarang jelas, hampir semua prosesor dalam kombinasi dengan Sistem Operasi yang paling sering digunakan dapat diserang Meltdown, di antara ini ada juga sistem operasi klien Windows 7 dan server Windows 2008 R2 ke 64 bit, yang jika Anda pergi untuk melihat di situs Common Criteria, sistem bersertifikasi disertifikasi untuk digunakan dalam sistem klasifikasi sebagian besar negara di dunia. .

Mungkinkah selama pengujian tidak ada yang memperhatikan perilaku tidak aman dari sistem?
Apakah perlu untuk memikirkan kembali cara-cara di mana Pusat Validasi melakukan tes, mungkin terlalu fokus pada pengujian apa yang dinyatakan oleh produsen, tanpa menyelidiki (banyak) di luar?
Namun ada indikasi yang jelas tentang kemungkinan masalah pada arsitektur prosesor sejak 1995 yang jauh, oleh National Security Agency.

Pertimbangan kedua menyangkut kemungkinan menerapkan tambalan keamanan.
Begitu diketahui Meltdown, produsen perangkat lunak utama telah mencoba untuk memperbaiki melalui perubahan perangkat lunak untuk masalah arsitektur perangkat keras.
Di antaranya adalah Microsoft yang segera merilis patch, tetapi dengan hasil apa? Berita hacker dalam sebuah artikel beberapa hari yang lalu dia menerbitkan studi oleh peneliti independen Ulf Frisk yang menunjukkan bagaimana tambalan hanya memperburuk situasi, memungkinkan pencurian data sekarang menjadi lebih cepat daripada tanpa menerapkan tambalan.
Ini adalah poin lain untuk dipertimbangkan dengan hati-hati: penerapan tambalan, bahkan jika itu mungkin (dan tidak selalu tanpa mensertifikasi ulang sistem!), Bisa jadi lebih merusak daripada membiarkan sesuatu seperti apa adanya.

Tetapi kemudian bagaimana kita harus bersikap dalam menghadapi masalah yang begitu melekat dalam arsitektur sistem?

Kepastian apa, seperti jaminan, dapat memberi kita sistem militer yang berpotensi menjadi sasaran serangan serupa Meltdown selama bertahun-tahun?

kita tahu Meltdown untuk umum sejak Juli dari 2017 tetapi kami tidak tahu apakah ada organisasi yang tahu dan mengeksploitasi kerentanan ini sebelumnya, yang berpotensi melekat pada prosesor generasi baru mulai dari 2010. Saya tidak punya jawaban, tetapi hanya saran: di dunia sekarang ini tidak ada yang lebih aman, mungkin karena sulit bagi seseorang, bahkan yang sudah disiapkan, untuk mengatur kompleksitas sistem.

Bagaimanapun, karena ini adalah masalah keamanan nasional, mungkin akan lebih baik untuk memperkuat struktur yang bertugas menganalisis sistem komputer dan kerentanan, bahkan memanfaatkan universitas, daripada memercayai apa yang telah dinyatakan oleh perusahaan pembuat perangkat keras dan lunak.

Akankah Kecerdasan Buatan membantu kita ... atau mungkin, lebih mungkin, apakah akan semakin memperumit masalah?

 
Untuk mempelajari lebih lanjut:

- https://meltdownattack.com/meltdown.pdf
- https://thehackernews.com/2018/03/microsofts-meltdown-vulnerability.html
- Catatan tentang prosesor INTEL: https://www.tomshw.it/differenze-i-processori-intel-75496
- Catatan tentang prosesor ARM: https://www.ilsoftware.it/articoli.asp?tag=Differenza-tra-processori-ARM...
- Catatan tentang prosesor SPARC: http://www.pcpedia.it/Il-Processore/ultrasparc.html
- Catatan tentang prosesor Raspberry: https://opensource.com/resources/raspberry-pi
- https://www.commoncriteriaportal.org