Rumah Jam keamanan Apple memaparkan detail keamanan ios

Apple memaparkan detail keamanan ios

Video: Apple M1 Mac Review: Time to Recalibrate! (Oktober 2024)

Video: Apple M1 Mac Review: Time to Recalibrate! (Oktober 2024)
Anonim

Anda telah mendengar sekarang bahwa Apple mengumumkan program hadiah bug baru di konferensi Black Hat baru-baru ini. Dalam penampilan yang tidak biasa, Ivan Krstic, kepala teknik dan arsitektur keamanan Apple, membuat pengumuman sendiri. Tapi itu hanya 10 menit terakhir dari presentasi 50 menit. Selama 40 menit pertama, Krstic melakukan penyelaman mendalam ke dalam tiga komponen keamanan iOS. Dan pada dasarnya, maksud saya bathyspheric.

Hasil keseluruhan saya adalah rasa kagum pada seberapa menyeluruh sistem ini melindungi data pengguna, bahkan dari Apple sendiri. Saya akan mencoba menyampaikan apa yang dikatakan, tanpa terlalu teknis.

Pemetaan JIT WebKit Hardened

Maaf, itu namanya. JIT adalah singkatan dari Just In Time, dan mengacu pada cara kode Javascript dikompilasi tepat pada waktunya untuk pelaksanaannya. "Ini diperlukan untuk JavaScript berkinerja tinggi, " jelas Krstic. "Tapi kebijakan penandatanganan kode harus dilonggarkan. Kompiler JIT mengeluarkan kode baru, tidak ditandatangani. Seorang penyerang yang mengelola serangan tulis-di mana saja dapat memungkinkan eksekusi kode arbitrer."

Untuk sedikit latar belakang, area memori dapat ditandai dengan membaca, menulis, dan mengeksekusi izin. Perbedaan itu, diperkenalkan berabad-abad lalu, mematikan serangan yang mengeksekusi kode di area yang dikhususkan untuk data. Secara singkat, solusi Apple melibatkan teknik menempatkan JavaScript yang dikompilasi ke dalam area memori yang hanya memungkinkan eksekusi. Proses tidak dapat membaca apa yang ada di sana atau menulis data baru. Ada sedikit lebih dari itu, tetapi perubahan ini, khusus untuk iOS 10, menghapus semua kemungkinan serangan.

Secure Enclave Processor

Aplikasi pada perangkat Apple dijalankan dalam CPU yang disebut Application Processor, atau AP. Perangkat Apple modern memiliki CPU yang sepenuhnya terpisah yang disebut Secure Enclave Processor, atau SEP. "SEP dilindungi oleh kunci master kriptografi yang kuat dari kode sandi pengguna, " kata Krstic. "Serangan offline tidak mungkin. Ini mengesampingkan permukaan serangan AP, bahkan ketika AP telah dikompromikan. Itu menengahi semua akses pengguna dan mengelola memori terenkripsi sendiri. Pada inisialisasi pertama ia menggunakan generator nomor acak yang benar untuk membuat unik kunci perangkat dalam prosesor. Ini tidak dapat diekspor, dan disimpan dalam ROM aman yang tidak dapat diubah."

Krstic kemudian menjelaskan bagaimana perangkat menggunakan empat jenis kunci keamanan internal dengan karakteristik yang berbeda. Tipe A hanya ada ketika perangkat tidak terkunci. Tipe B adalah kunci publik yang selalu ada, ditambah kunci pribadi yang ada saat perangkat tidak dikunci. Tipe C muncul saat pertama kali perangkat tidak terkunci setelah boot. Dan tipe D selalu tersedia.

Presentasi beralih ke sejumlah diagram yang sangat rumit. Satu berjalan melalui proses booting dan membuka kunci perangkat, menunjukkan bagaimana setiap jenis kunci dibuat dan disimpan. Setiap file di perangkat Anda memiliki kunci enkripsi uniknya sendiri; diagram lain menunjukkan tarian rumit yang memungkinkan SEP mengotentikasi dan mendekripsi file tersebut sambil tetap menyimpan kunci keamanan penting di dalamnya. Lain menjelaskan proses kompleks yang memungkinkan Anda untuk memilih "Perbarui nanti." Dan satu lagi berjalan melalui proses yang memungkinkan membuka melalui ID sentuh tanpa menjaga kunci master terlihat dengan cara apa pun.

Pengambilan kunci dari bagian pembicaraan ini adalah bahwa Apple telah benar-benar memikirkan apa yang diperlukan untuk mengelola enkripsi sepenuhnya di dalam Prosesor Enklave Aman, tanpa memaksa pengguna untuk mengalami banyak masalah sama sekali. Jika Anda ingin melihat diagram itu sendiri, lihat presentasi lengkap Krstic.

Menyinkronkan Rahasia

Sangat nyaman bahwa Anda dapat menyinkronkan data antara beberapa perangkat Apple. HomeKit memungkinkan Anda mengelola perangkat IoT, AutoUnlock membuat Mac Anda terbuka ketika Apple Watch Anda ada di dekat Anda, foto Anda disinkronkan melalui iCloud, dan sebagainya. Namun dari sisi keamanan, sinkronisasi adalah masalah.

"Pendekatan tradisional tidak baik, " kata Krstic. "Salah satu caranya adalah membuat pengguna memasukkan 'kunci laci kunci' yang kuat pada semua perangkat; kehilangan itu, dan akses ke rahasia hilang. Cara lainnya adalah membungkus data dalam kunci turunan yang membuat data terpapar ke penyedia akun."

"Kami memiliki sejumlah gol di sini, " lanjut Krstic. "Rahasia harus tersedia semua perangkat, dilindungi oleh crypto yang kuat. Pengguna dapat memulihkan rahasia bahkan jika mereka kehilangan semua perangkat yang terhubung. Data tidak terpapar ke Apple, dan tidak ada kemungkinan serangan brute-force."

Otentikasi di sistem Keychain dasar iCloud sederhana. Setiap perangkat memiliki pasangan kunci sendiri, dan untuk menambahkan perangkat baru ke lingkaran sinkronisasi, Anda harus menyetujuinya dari salah satu perangkat Anda yang ada. Backend Apple tidak terlibat; tidak memiliki hak istimewa. Jika pengguna kehilangan akses ke semua perangkat, akses dapat diperoleh kembali dengan menggunakan Kunci Keamanan iCloud dan kata sandi iCloud.

Krstic menjelaskan dengan sangat rinci bagaimana Apple mengelola sistem ini tanpa meninggalkan kemungkinan sekecil apa pun bahwa siapa pun, termasuk siapa pun di Apple, dapat mengakses data dari ujung belakang. Sistem ini melibatkan apa yang disebut kartu admin, dibuat pada saat armada baru server crypto ditugaskan. "Kartu admin dibuat dalam upacara yang aman ketika armada ditugaskan, dan disimpan dalam brankas fisik terpisah dalam penahanan tiga organisasi yang berbeda di Apple, dalam tas bukti tamper-proof, " kata Krstic.

Situasi itu hanya berlangsung sampai armada benar-benar dioperasikan. Pada saat itu, kata Krstic, "Kami menempatkan kartu admin melalui fungsi hash satu arah novel." Sambil menarik blender yang sudah jelas digunakan dari bawah podium, ia melanjutkan, "Ya, perjalanan melalui blender." Setelah armada server crypto aktif, itu tidak dapat diperbarui atau dimodifikasi dengan cara apa pun, bahkan oleh Apple, karena kartu admin telah dihancurkan. Jika benar-benar diperlukan pembaruan, Apple harus memutar armada baru dan mengirimkan pembaruan perangkat lunak yang membuat perangkat pengguna terhubung ke armada baru.

"Mengapa kita melakukan ini, " kata Krstic. "Mengapa kita mengambil langkah terakhir ini yang sangat luar biasa? Kami berusaha keras untuk merekayasa sistem keamanan untuk memberikan kepercayaan. Ketika data meninggalkan perangkat, taruhannya bahkan lebih tinggi. Kita perlu mempertahankan kepercayaan itu. Jika kita tetap memiliki kartu-kartu admin, ada kemungkinan itu tidak benar. Itulah seberapa serius kami menjalankan misi kami tentang data pengguna."

Ditanya, "Apakah Anda melakukan ini karena permintaan informasi FBI?" Krstic menjawab, "Saya seorang insinyur. Saya hanya bisa menjawab pertanyaan tentang mengapa saya disajikan hari ini." OK cukup adil. Tapi saya pikir penanya itu benar. Membuat sistem mandiri yang bahkan tidak bisa Anda modifikasi sendiri adalah cara yang cukup baik untuk mencegah orang lain melakukan perubahan yang tidak diinginkan.

Saya harap saya telah menyampaikan tingkat detail dalam pembicaraan Krstic tanpa membuat mata Anda berkaca-kaca. Dilihat oleh obrolan sebagai kelompok bubar, keamanan sejati byte-level di ruangan itu sangat terkesan.

Apple memaparkan detail keamanan ios