- GrapheneOS menggabungkan enkripsi disk, pembatasan brute force, mitigasi serangan sistem operasi, dan pertahanan akses fisik berdasarkan fitur keamanan Android 17 dan hardware Pixel terbaru
- Elemen keamanan terbaru membatasi input PIN/kata sandi hingga maksimal 20 kali dan menunda 4 jam setelah 10 kegagalan, hingga 41 hari setelah 15 kegagalan, serta mencegah perubahan firmware tanpa autentikasi pemilik sehingga bypass oleh orang dalam juga diblokir
- Mendukung kata sandi hingga 128 karakter dan sidik jari+PIN kedua opsional, sehingga 6–8 kata Diceware acak dapat digunakan sebagai kata sandi utama sambil tetap menjaga kemudahan membuka kunci sehari-hari
- Dalam keadaan terkunci, koneksi USB baru diblokir baik dari sisi software maupun hardware, dan reboot otomatis 10 menit–72 jam serta inisialisasi memori mengembalikan perangkat ke status Before First Unlock
- PIN/kata sandi paksa akan menghapus perangkat jika dimasukkan di jendela autentikasi profil mana pun, tetapi perlindungan data secara keseluruhan didasarkan pada enkripsi, keamanan hardware, dan sistem mitigasi serangan, bukan hanya pada fitur ini
Enkripsi dan pembatasan percobaan autentikasi
- Membobol enkripsi disk secara langsung bukanlah jalur yang realistis bahkan bagi penyerang paling canggih; penyerang harus mengeksploitasi kerentanan sistem operasi dalam status After First Unlock atau melakukan brute force PIN/kata sandi
- Pembatasan percobaan elemen keamanan di Android 16 QPR2 meningkatkan waktu tunda secara bertahap sesuai jumlah kegagalan
- Setelah 10 kegagalan, ada penundaan 4 jam; setelah 15 kegagalan, hingga 41 hari; dan total percobaan hanya diizinkan hingga 20 kali
- Lima nilai berbeda yang baru-baru ini gagal akan ditolak lebih awal agar jumlah percobaan tidak terbuang karena kesalahan berulang
- GrapheneOS hanya mendukung perangkat yang menerapkan pembatasan percobaan pada elemen keamanan generasi terbaru
- Untuk memperbarui firmware elemen keamanan pada perangkat yang didukung, selain kunci tanda tangan yang valid dan nomor versi yang lebih tinggi, autentikasi pengguna Owner juga diperlukan
- Sekalipun pemerintah memaksa pembuatan firmware yang menghapus pembatasan percobaan, firmware itu tidak dapat dipasang untuk mem-bypass pembatasan
- Sejak Pixel 2 yang dirilis pada akhir 2017, Pixel menggunakan elemen keamanan dengan timer internal dan perlindungan dari serangan orang dalam, dan integrasinya dengan sistem operasi juga terus ditingkatkan sejak saat itu
- GrapheneOS meningkatkan batas panjang kata sandi dari 16 karakter menjadi 128 karakter, memungkinkan penggunaan frasa sandi Diceware berentropi tinggi yang tidak bergantung pada pembatasan percobaan elemen keamanan
- Sidik jari+PIN kedua opsional mendukung kata sandi utama yang kuat sekaligus pembukaan kunci harian yang praktis
- Pada Before First Unlock, pengguna memakai kata sandi utama yang terdiri dari 6–8 kata Diceware acak, lalu setelahnya dapat mengombinasikan sidik jari dan PIN pendek
- Bahkan setelah sidik jari yang valid dikenali, PIN kedua tetap harus dimasukkan agar layar dan keystore hardware terbuka
- Jumlah percobaan sidik jari yang diizinkan dikurangi dari 20 menjadi 5, dan PIN kedua yang salah juga dihitung sebagai kegagalan
Sistem operasi dan pertahanan akses fisik
- GrapheneOS meningkatkan tingkat kesulitan serangan sistem operasi dengan fitur berbasis hardware seperti allocator memori yang diperkuat dan Memory Tagging Extension (MTE); detailnya dapat dilihat di fitur mitigasi eksploit
- Untuk mencegah serangan dengan akses fisik ke perangkat, saat terkunci GrapheneOS secara default memblokir koneksi USB baru pada level software dan hardware, dan segera menonaktifkan fungsi data ketika koneksi USB aktif hilang
- Timer reboot otomatis perangkat terkunci yang diperkenalkan pada Juni 2021 dapat diatur antara 10 menit–72 jam
- Nilai default awalnya 72 jam, tetapi kemudian diturunkan menjadi 18 jam
- Dengan mematikan lalu mem-boot ulang sistem operasi, memori diinisialisasi dan perangkat dikembalikan ke status Before First Unlock
- Pada April 2024, inisialisasi memori juga ditambahkan saat boot ke mode firmware fastboot Pixel
- Apple dan Google juga menambahkan reboot otomatis perangkat terkunci di iOS 18.1 dan Android 16; di Android, fitur ini dapat diaktifkan melalui Advanced Protection Mode
- Android menggunakan kunci enkripsi terpisah untuk setiap pengguna sekunder dan Private Space
- Di GrapheneOS, sesi pengguna sekunder dapat dihentikan dan tiap toggle dapat digunakan untuk mengembalikan area tersebut ke status Before First Unlock tanpa reboot
- Untuk membuat data pengguna utama kembali ke keadaan diam yang terenkripsi, menghapus sepenuhnya sisa data di RAM, dan memblokir pembaruan elemen keamanan, lebih baik me-reboot seluruh perangkat
Penghapusan data dalam situasi paksaan
- PIN/kata sandi paksa akan menghapus perangkat jika dimasukkan di jendela autentikasi sistem operasi mana pun yang meminta PIN/kata sandi profil saat ini
- Berfungsi tidak hanya di layar kunci, tetapi juga di semua jendela yang memerlukan autentikasi, seperti perubahan pengaturan sensitif
- Dapat digunakan di semua profil, termasuk pengguna utama, pengguna sekunder, dan Private Space
- Juga berfungsi jika dimasukkan sebagai PIN kedua untuk membuka kunci dengan sidik jari, tetapi tidak berlaku untuk SIM PIN
- PIN/kata sandi paksa dapat ditulis di kertas yang disimpan di casing ponsel atau dompet, tetapi menghapus perangkat dalam situasi paksaan nyata dapat menimbulkan konsekuensi fisik dan hukum, sehingga cara penggunaannya perlu dipertimbangkan dengan hati-hati
- Fitur paksaan sepenuhnya menghilangkan kemungkinan pemulihan data bahkan jika PIN/kata sandi semua profil diketahui, tetapi bukan mekanisme pertahanan wajib; rangkaian perlindungan lengkap dapat dilihat di daftar fitur GrapheneOS dan catatan perubahan rilis
- Saat ini fitur keamanan hardware dan pembaruan yang disyaratkan GrapheneOS hanya disediakan oleh Pixel, tetapi hal ini direncanakan berubah mulai 2027 seiring kerja sama dengan Motorola Mobility dan kemajuan pengembangan Qualcomm
1 komentar
Komentar Hacker News
Tulisan ini tampaknya diposting sebagai tanggapan atas kasus seseorang yang didakwa setelah mereset Pixel dengan PIN paksaan saat pemeriksaan perbatasan AS, untuk memperjelas bahwa pertahanan GrapheneOS terhadap ekstraksi data tetap kuat bahkan tanpa PIN paksaan.
Baru-baru ini juga ada artikel Computer Weekly yang menyebut bahwa reboot otomatis 18 jam di GrapheneOS melindungi materi liputan dan narasumber rahasia seorang jurnalis dengan mengembalikan perangkat ke kondisi sebelum pertama kali dibuka kuncinya (BFU), sehingga mencegah ekstraksi kunci.
GrapheneOS membutuhkan fitur backup dan restore lengkap agar ponsel bisa direset secara preventif sebelum menyeberangi perbatasan. Akan bagus jika semua aplikasi dan data bisa dibackup dan dipulihkan ke server SSH/SFTP pribadi, seperti Google Cloud atau iCloud.
Daripada memakai PIN paksaan dan mengambil risiko didakwa, saya lebih memilih mereset ponsel, lalu memasukkan sendiri beberapa kontak, salinan paspor, dan PDF tiket pesawat; jika diminta di imigrasi, saya bisa memberikan PIN yang sebenarnya. Yang perlu diingat selama perjalanan hanyalah password manager atau passphrase untuk server SSH jarak jauh, lalu memulihkan hanya data yang diperlukan dan menghapusnya lagi kapan saja.
Namun jika ini dijadikan fitur bawaan, aparat penegak hukum bisa mencurigai penyimpanan jarak jauh semua pengguna GrapheneOS dan menuntut akses serta pemulihan, jadi mungkin lebih baik dikonfigurasi terpisah. Ada juga cara menyiapkan akun Google palsu yang hanya dipakai untuk pembelian biasa dan langganan YouTube agar terlihat wajar.
Tiga minggu lagi saya akan bepergian ke luar negeri selama sebulan, jadi saya sedang mempertimbangkan apakah akan mereset ponsel, atau meninggalkan ponsel utama di rumah dan membawa perangkat baru seharga 150 euro yang hanya berisi kontak darurat keluarga. Untungnya, dari layar kunci saja tidak terlihat bahwa perangkat itu bukan Android Pixel biasa.
allowBackup="false", dan mendukung layanan sinkronisasi apa pun yang menyediakan API kompatibel.Backup dilakukan per profil, jadi bisa juga dipulihkan ke pengguna sekunder untuk diuji. Mereka berencana melakukan perombakan total agar implementasi dan pengalaman pengguna lebih sederhana dan rapi, dan saat ini sedang merombak aplikasi-aplikasi lain terlebih dahulu.
Jika memasukkan PIN khusus di layar kunci membuat perangkat, setelah sedikit jeda, boot ke partisi umpan, pengguna bisa memperoleh plausibly deniability yang masuk akal bukan hanya saat pemeriksaan perbatasan yang sudah diperkirakan, tetapi juga saat pemeriksaan mendadak.
Kunci pola Android hanya menyediakan entropi
Log2(389112) ≈ 18.57 bit. Ini bahkan lebih lemah daripada 3 karakter acak, 4 huruf kecil, atau PIN desimal 6 digit.Kata sandi panjang bisa diingat dengan mnemonik, tetapi merepotkan untuk dimasukkan. Jika terlalu panjang, seharusnya bisa diizinkan dengan menggunakan ringkasan hash, tetapi melarang kata sandi kuat itu sendiri justru mendorong kebiasaan buruk seperti penggunaan ulang atau mengirimkannya ke diri sendiri.
Untuk kunci sidik jari, PIN autentikasi kedua bisa ditambahkan, sehingga passphrase kuat dapat digunakan dengan nyaman tanpa kelemahan saat hanya memakai autentikasi biometrik. Kunci pola mendorong pengguna memakai hanya sebagian sangat kecil dari kombinasi yang sebenarnya mungkin, sehingga jauh lebih lemah daripada perhitungannya, dan memberi rasa aman palsu, jadi sudah dihapus beberapa tahun lalu. Fitur bawaan untuk membuat PIN dan passphrase acak juga sedang dikembangkan.
Batasan AOSP diubah sehingga kata sandi hingga 128 karakter diperbolehkan. Passphrase panjang hanya perlu dimasukkan setelah reboot, dan kelebihannya tetap terlindungi meski elemen keamanan dieksploitasi.
Serangan side-channel terhadap chip keamanan secara teori mungkin, tetapi membutuhkan metode serangan yang sudah terbukti, pembongkaran perangkat, serta pekerjaan yang presisi dan destruktif.
Lucu rasanya jika menginginkan jaminan keamanan seperti perangkat Apple malah diperlakukan seperti penjahat. Apple juga punya restart otomatis, enkripsi penuh, dan Lockdown Mode
Hasil memasukkan kata sandi paksa seharusnya tidak bisa disadari oleh orang yang menerima ponsel tersebut. Informasi akun yang sebenarnya dihapus, tetapi ditampilkan sistem operasi berisi konten yang tampak masuk akal seperti email sopan namun tidak berarti, agar penyidik bisa memeriksanya
Beberapa sistem operasi dan layanan seperti Google Photos atau Samsung menyediakan fitur data terkunci
Saat profil dihapus, metadata yang membuktikan keberadaannya tetap tertinggal di perangkat dan di penyimpanan terenkripsi profil pemilik. Dengan ADB, apakah dan kapan reset dilakukan juga mudah diperiksa, sehingga tidak bisa memberikan penyangkalan yang masuk akal; membuat pengguna percaya bahwa itu diam-diam justru membahayakan mereka
Penyembunyian Private Space di Android pun hanya menyamarkan secara seadanya pada antarmuka pengguna; ada beberapa metode deteksi yang sudah dipublikasikan, dan secara realistis sulit menyembunyikannya sepenuhnya dari ADB. Fitur yang tidak sempurna akan cepat diketahui lewat diskusi daring dan akan terintegrasi ke LLM, alat forensik, serta panduan
Fitur GrapheneOS harus tetap bekerja bahkan terhadap lawan yang mengetahui keberadaan fitur tersebut. PIN paksa tidak punya cara untuk dibedakan dari PIN asli, sehingga bahkan PIN yang diterima dari pengguna yang tidak memakai fitur ini pun harus dipertimbangkan sebagai kemungkinan PIN paksa
Pada perangkat mendatang, mereka ingin menambahkan dukungan PIN paksa ke elemen keamanan itu sendiri sebagai bagian dari batas percobaan Weaver, agar tidak bisa dilewati bahkan dengan kerentanan sistem operasi
Penasaran apakah perangkat tetap terlindungi saat terkunci setelah pembukaan kunci pertama (AFU). Karena sering digunakan, jika data AFU tidak terlindungi meski dikunci sebelum disita lembaga penyidik atau penyerang, manfaatnya kecil; lembaga penyidik juga bisa menganalisis pada hari yang sama dengan alat seperti Cellebrite
Mirip seperti memakai VeraCrypt tetapi membiarkan PC menyala karena malas reboot; dalam kasus ini, data bisa didekripsi lewat ekstraksi memori
Nilai 18 jam dipilih agar hampir tidak pernah terpicu bahkan bagi orang yang hanya memakai ponsel beberapa kali sehari. Biasanya cukup jika sedikit lebih lama dari durasi tidur maksimal; reboot pada malam hari sendiri tidak masalah, tetapi bisa membuat panggilan darurat atau kontak penting yang bukan panggilan operator terlewat
Dokumen Cellebrite Premium yang baru-baru ini dipublikasikan juga menunjukkan bahwa mereka tidak memiliki cara untuk menyerang perangkat GrapheneOS terkunci yang telah diperbarui sejak level patch tertentu pada 2022
Penasaran apakah kerja sama GrapheneOS dan Motorola masih berjalan, dan kapan perangkat Motorola akan dirilis
Saat melewati TSA atau imigrasi, saya selalu mematikan ponsel dan laptop. Di AS, saya beranggapan mereka tidak bisa memaksa pemberian kata sandi, dan meski perangkat disita, jika dalam keadaan mati maka kata sandinya sulit dipecahkan
Reboot otomatis GrapheneOS bisa disetel serendah 10 menit, dengan default 18 jam. Setelah itu, Google dan Apple juga memperkenalkan timer tetap 72 jam
Namun akan bagus jika GrapheneOS punya pintasan shutdown yang lebih cepat. Sejauh yang saya tahu, saat ini harus menekan tombol fisik lalu mengonfirmasi lagi di layar
xkcd terkait: https://xkcd.com/538/
Sepertinya ia memang memberikan kata sandi, tetapi itu adalah kata sandi yang mereset ponsel, bukan membukanya. Agak mengejutkan bahwa perangkat tidak dicadangkan sebelum pemeriksaan
Bisa dibuat PIN paksa versi lunak yang hanya menghapus aplikasi pilihan tanpa terlihat mencurigakan. Atau, data aplikasi bisa dikembalikan ke titik pemulihan tertentu agar tampak seolah tidak terjadi apa-apa, dan pengaturannya juga dibuat tidak dapat dilacak, sehingga membantu mengurangi risiko hukum
Namun keberadaan profil tertentu dan waktu penghapusannya tetap tertinggal jelas dalam metadata sistem file dan sistem operasi. Jejak file yang disalin atau dimodifikasi juga tersisa di berbagai bagian SSD; setelah lama digunakan secara normal, meminta penghapusan aman pada rentang tertentu sudah terlalu terlambat dan masih mungkin dipulihkan. Fakta bahwa metadata dan statistik yang semestinya ada justru hilang juga menjadi bukti
Fitur yang menerima semua frasa sandi sebagai valid di ruang cadangan, lalu menghasilkan keluaran acak jika tidak disetel atau salah, memang memungkinkan. Agar diimplementasikan dengan benar, dibutuhkan mesin virtual dan ruang cadangan dasar, tetapi tetap ada kemungkinan analisis level rendah SSD dapat membuktikan bahwa fitur itu digunakan