Ada Kerentanan di Safari 15 yang Ungkap Aktivitas dan Identitas Pengguna
Cyberthreat.id – Peramban web Apple, Safari versi 15, memiliki masalah (bug) yang bisa disalahgunakan oleh situsweb jahat untuk melacak aktivitas online pengguna, bahkan kemungkinan terburuk mengungkapkan identitas pengguna.
Kerentanan tersebut dijuluki “IndexedDB Leaks”. Namanya merujuk pada antarmuka pemrograman aplikasi (API) IndexedDB yang dipakai oleh Safari v15 karena di sinilah masalah itu berada.
Adalah perusahaan peranti lunak proteksi penipuan, FingerprintJS, yang menemukan masalah itu dan telah melaporkannya pada 28 November 2021.
IndexedDB ialah API JavaScript tingkat rendah yang disediakan oleh peramban web untuk mengelola basis data NoSQL dan objek data terstruktur seperti file dan blob.
Singkat kata, IndexedDB ialah API browser untuk penyimpanan dari sisi pengguna yang dirancang untuk menyimpan sejumlah besar data. Javascript ini didukung oleh semua peramban utama dan sangat umum digunakan, tulis FingerprintJS di blog perusahaan, diakses Selasa (18 Januari 2022).
Pelanggaran privasi
Menurut Insinyur Peranti Lunak di FingerprintJS Martin Bajanik, seperti kebanyakan teknologi peramban web modern dalam penyimpanan web IndexedDB mengikuti ”kebijakan asal yang sama” (same-origini policy).
“Kebijakan asal yang sama” ialah mekanisme keamanan mendasar yang membatasi “dokumen atau skrip yang dimuat dari satu ‘asal’ dapat berinteraksi dengan sumber daya dari ‘asal’ lain.” “Asal” di sini didefinisikan oleh skema (protokol), nama host (domain), dan port URL yang digunakan untuk mengaksesnya.
“Dokumen atau skrip yang terkait dengan asal-usul yang berbeda seharusnya tidak pernah memiliki kemungkinan untuk berinteraksi dengan database yang terkait dengan asal lainnya,” ujar Bajanik.
Sementara di Safari v15 di MacOS dan semua peramban di iOS dan iPadOS vs15, kata dia, API IndexedDB melanggar “kebijakan asal yang sama” itu.
Oleh karenanya, setiap kali sebuah situsweb berinteraksi dengan basisdata, kata Bajanik, basisdata baru (kosong) dengan nama yang sama dibuat di semua frame aktif lainnya, tab, dan jendela dalam sesi browser yang sama.
“Ini jelas pelanggaran privasi,” ujarnya.
“Karena ini memungkinkan situsweb sewenang-wenang mempelajari situsweb apa saja yang sebelumnya dikunjungi pengguna di berbagai tab atau jendela.”
Bahkan, kata Bajanik, dalam beberapa kasus, situsweb menggunakan pengidentifikasi khusus pengguna yang unik dalam nama basis data.
“Ini berarti bahwa pengguna yang diautentikasi dapat diidentifikasi secara unik dan tepat. Beberapa contoh populer ialah YouTube, Google Calendar, atau Google Keep. Semua situsweb ini membuat basis data yang menyertakan Google User ID yang diautentikasi. Jika pengguna masuk ke beberapa akun, basis data dibuat untuk semua akun ini,” jelas dia.
Dengan fakta tersebut, menurut dia, ”tidak hanya menyiratkan, bahwa situsweb berbahaya dapat mempelajari identitas pengguna, tetapi juga memungkinkan menghubungkan bersama beberapa akun terpisah yang digunakan oleh pengguna yang sama.”
Yang perlu dicatat, kebocoran akses tersebut tidak memerlukan tindakan pengguna. Tab atau jendela yang berjalan di latar belakang akan terus meminta API IndexedDB untuk basis data yang tersedia.
Selain itu, tab atau jendela itu juga, “dapat mempelajari situsweb lain yang dikunjungi pengguna secara waktu nyata. Bahkan, situsweb dapat membuka situsweb apa pun di jendela iframe atau pop-up untuk memicu kebocoran berbasis IndexedDB untuk situsweb tertentu,” Bajanik menjelaskan.
Berapa banyak dampaknya?
Dalam risetnya, Bajanik dan tim memeriksa 1.000 situsweb yang paling banyak dikunjungi menurut situsweb pemeringkat, Alexa.
Hasilnya menunjukkan bahwa lebih dari 30 situsweb berinterkais dengan basis data yang diindeks langsung ke beranda mereka, “Tanpa perlu ada lagi interaksi pengguna atau autentikasi,” katanya.
Namun, ia menduga situsweb terdampak bisa jadi jauh lebih banyak lantaran situsweb dapat berinteraksi dengan basis data pada subhalaman setelah ada interaksi pengguna tertentu atau pada bagian halaman yang diautentikasi.
Apakah mode pribadi melindungi?
Jika merujuk pada “kebijakan asal yang sama”, seharusnya mekanisme keamanan berlaku untuk semua mode jendela baik biasa maupun pribadi.
Dalam kasus ini, kata Bajanik, “mode pribadi” di Safari v15 juga ikut terkena dampak oleh kebocoran bug tersebut. Karena sesi jendela pribadi Safari hanya dibatasi satu tab, setidaknya tingkat kebocoran sedikit berkurang.
”Namun, jika Anda mengunjungi beberapa situsweb yang berbeda dalam tab yang sama, semua database yang berinteraksi dengan situsweb ini bocor ke semua situsweb yang kemudian dikunjungi,” Bajanik menegaskan.
Bajanik juga mengatakan, browser berbasis WebKit lainnya, misalnya, Brave atau Google Chrome di iOS, tab pribadi-nya juga berbagi sesi browser yang sama seperti halnya dalam mode non-pribadi.
Bagaimana melindungi diri?
Sayangnya, tidak banyak yang dapat dilakukan pengguna Safari, iPadOS dan iOS untuk melindungi diri mereka sendiri tanpa mengambil tindakan drastis.
“Salah satu opsi mungkin untuk memblokir semua JavaScript secara default dan hanya memungkinkan di situsweb yang terpercaya,” ujar Bajanik.
“Hal ini membuat peramban web modern tidak nyaman dan mungkin bukan solusi yang baik untuk semua orang. Selain itu, kerentanan seperti skrip lintas situs memungkinkan untuk menjadi sasaran melalui situs tepercaya juga, meskipun risikonya jauh lebih kecil.”
Alternatif lain untuk pengguna Safari di Mac adalah beralih sementara ke browser yang berbeda. “Sayangnya, di iOS dan iPadOS, hal itu bukan pilihan juga karena semua browser apa pun ikut terpengaruh,” tuturnya.
Satu-satunya perlindungan nyata adalah memperbarui browser atau OS perangkat setelah masalah diselesaikan oleh Apple.[]