1 poin oleh GN⁺ 2025-01-22 | 1 komentar | Bagikan ke WhatsApp
  • Jika cache Cloudflare digabungkan dengan notifikasi push, serangan deanonymisasi 0-click dapat mempersempit lokasi pengguna hingga dalam rentang ratusan mil pada ponsel yang memasang aplikasi rentan atau laptop dengan aplikasi berjalan di latar belakang
  • Penyerang membuat perangkat target otomatis memuat sumber daya di balik Cloudflare, lalu memeriksa pusat data Cloudflare mana yang menyimpan cache untuk memperkirakan area yang dekat dengan target
  • Pada Signal, karena cache lampiran cdn2.signal.org dan notifikasi push seluler, gambar lampiran dapat diunduh meski ruang obrolan tidak dibuka; di Discord, serangan yang sama dimungkinkan lewat URL avatar pada notifikasi permintaan pertemanan
  • Cloudflare telah menambal bug terkait Cloudflare Teleport yang memungkinkan pengiriman permintaan ke pusat data tertentu, tetapi disebutkan bahwa sekitar 54% dari seluruh pusat data Cloudflare tetap bisa diakses kembali bahkan dengan memakai server VPN
  • Signal dan Discord mengalihkan tanggung jawab ke Cloudflare atau pengguna, sementara Cloudflare menyatakan bahwa menonaktifkan cache untuk sumber daya yang perlu dilindungi adalah tanggung jawab pelanggan, sehingga risiko privasi yang melibatkan desain aplikasi, CDN, dan notifikasi masih tersisa

Cara cache Cloudflare mempersempit lokasi

  • Serangan ini memperkirakan lokasi kasar pengguna dengan memanfaatkan informasi status cache Cloudflare dan pusat data yang tersebar secara geografis
  • Cloudflare memberikan informasi pada header respons untuk permintaan sumber daya yang dapat di-cache
    • cf-cache-status menampilkan HIT atau MISS
    • cf-ray memuat pusat data yang menangani permintaan dan kode bandara terdekat
  • Ketika perangkat target memuat sumber daya dari situs berbasis Cloudflare, sumber daya tersebut bisa di-cache di pusat data dekat target
  • Setelah itu, dengan memeriksa banyak pusat data Cloudflare untuk menemukan lokasi cache sumber daya tersebut, area yang dekat dengan target dapat diperkirakan
  • Cloudflare mengoperasikan ratusan pusat data di lebih dari 120 negara dan 330 kota, dan menjelaskan bahwa bagi penduduk negara maju, pusat data terdekat kemungkinan berada dalam jarak 200 mil

Cloudflare Teleport dan penelusuran pusat data

  • Secara umum, rentang IP Cloudflare bekerja dengan anycast, sehingga pengguna tidak bisa meminta koneksi TCP langsung ke pusat data tertentu
  • Berdasarkan posting forum komunitas yang menunjukkan bahwa permintaan HTTP bisa dialihkan ke pusat data tertentu dengan memanfaatkan Cloudflare Workers dan rentang IP internal Cloudflare WARP, dibuatlah Cloudflare Teleport
  • Cloudflare Teleport adalah proksi berbasis Cloudflare Workers yang mengirim permintaan ke pusat data yang diinginkan dengan menentukan nilai colo
    • Sebagai contoh, digunakan kode seperti SEA yang berarti pusat data Seattle
    • Informasi korespondensi antara rentang IP tertentu dan pusat data dirangkum dalam bentuk colos.json
  • Cloudflare kemudian menambal bug ini sepenuhnya, dan alat Teleport tidak lagi berfungsi dengan cara tersebut

Pembuktian konsep yang diverifikasi dengan favicon Namecheap

  • Pada pengujian awal, digunakan favicon.ico milik Namecheap
  • Sumber daya tersebut adalah gambar statis sederhana dengan cache Cloudflare aktif, dan dipilih sebagai target uji karena perlindungan bot-nya tidak terlalu ketat
  • Alat CLI mencantumkan pusat data mana yang menyimpan cache sumber daya dan usia cache untuk URL yang ditentukan
  • Namecheap menetapkan usia cache sangat rendah, yaitu 5 menit, tetapi tetap memungkinkan untuk melihat pusat data yang telah menyimpan favicon dalam 5 menit terakhir
  • Karena browser otomatis mengunduh favicon saat membuka situs, hasil ini menjadi pembuktian konsep yang menunjukkan bahwa pengguna dari berbagai wilayah telah mengunjungi Namecheap.com dalam 5 menit terakhir

Penerapan pada Signal

  • Signal menggunakan dua CDN untuk penyajian konten
    • cdn.signal.org: berbasis CloudFront, untuk avatar profil
    • cdn2.signal.org: berbasis Cloudflare, untuk lampiran pesan
  • Jalur https://cdn2.signal.org/attachments/* memiliki cache Cloudflare aktif, sehingga ketika perangkat penerima mengunduh lampiran, sumber daya itu bisa di-cache di pusat data terdekat
  • Metode 1-click

    • Saat pengguna mengirim lampiran di Signal, file diunggah ke cdn2.signal.org
    • Ketika penerima membuka percakapan, perangkat akan otomatis mengunduh lampiran, dan lokasi penerima dapat dipersempit melalui metode geolokasi cache Cloudflare
    • Dalam pengujian, SSL pinning pada aplikasi desktop Signal dihapus dan permintaan serta respons diperiksa dengan Burp
    • Jika perangkat penyerang mengunduh lampiran lebih dulu, cache bisa terbentuk di pusat data dekat penyerang dan mencemari hasil, sehingga permintaan GET ke cdn2.signal.org/attachments/* diblokir pada aplikasi Signal milik penyerang
    • Dalam uji yang menargetkan diri sendiri dari New York, pusat data EWR di Newark, NJ terdeteksi, dengan jarak sekitar 150 mil dari koordinat sebenarnya
  • Metode 0-click

    • Aplikasi seluler Signal secara bawaan menyertakan pengirim dan pesan dalam notifikasi push
    • Pesan yang berisi gambar lampiran membuat perangkat mengunduh gambar dari CDN Signal untuk ditampilkan di sisi kanan notifikasi
    • Bahkan jika target tidak membuka percakapan Signal, saat notifikasi push datang, gambar lampiran dapat terunduh, dan dalam prosesnya cache bisa terbentuk di pusat data Cloudflare dekat target
    • Cara ini mengarah pada serangan 0-click untuk memperkirakan lokasi saat ini tanpa interaksi pengguna
    • Karena Signal dipakai oleh jurnalis, aktivis, dan whistleblower, ada risiko penyalahgunaan seperti pelacakan akun, korelasi identitas, dan perkiraan lokasi karyawan yang bertemu jurnalis

Penerapan pada Discord

  • Discord juga teridentifikasi sebagai aplikasi yang rentan terhadap jenis serangan yang sama karena sumber daya CDN-nya di-cache oleh Cloudflare
  • Dalam metode 1-click, digunakan emoji kustom yang tersedia bagi pelanggan Nitro
    • Emoji kustom dimuat dari Discord CDN
    • Emoji ini dapat ditampilkan di banyak tempat seperti pesan, status pengguna, dan kanal
    • Penyerang dapat menampilkan emoji kustom di status pengguna lalu menunggu target membuka profil
  • Laporan HackerOne lengkap yang diajukan ke Discord dipublikasikan di Gist terpisah
  • 0-click lewat notifikasi permintaan pertemanan

    • Notifikasi push seluler Discord dikirim tidak hanya untuk pesan, tetapi juga untuk berbagai peristiwa lain
    • Saat permintaan pertemanan dikirim, notifikasi push muncul di perangkat seluler target
    • Bahkan jika target sedang memakai Discord, notifikasi permintaan pertemanan selalu dikirim ke perangkat seluler
    • Notifikasi permintaan pertemanan menyertakan URL avatar pengguna yang mengirim permintaan, dan ponsel mengunduh avatar ini tanpa interaksi pengguna untuk menampilkannya di notifikasi
    • Format URL avatar Discord berbeda tergantung situasi
    • Notifikasi push: https://cdn.discordapp.com/avatars/{user_id}/{avatar_hash}
    • Tampilan situs web: https://cdn.discordapp.com/avatars/{user_id}/{avatar_hash}.png
    • Kedua URL menunjuk ke gambar yang sama, tetapi karena jalurnya berbeda, cache dipisahkan, sehingga cache yang dimuat lewat notifikasi push bisa dibedakan dari cache yang terbentuk saat profil ditampilkan di aplikasi
  • Otomatisasi GeoGuesser

    • Prosedur serangan 0-click Discord diotomatisasi dengan bot Discord privat bernama GeoGuesser
    • Bot menerima nama pengguna lewat satu perintah lalu menjalankan tugas berikut
      • Menggunakan kredensial akun melalui Discord User API
      • Mengganti avatar pengguna menjadi gambar acak untuk membuat hash avatar baru
      • Mengirim permintaan pertemanan ke pengguna yang ditentukan
      • Menjalankan serangan enumerasi cache melalui API privat berbasis CLI Cloudflare Teleport
      • Menampilkan hasil di dalam Discord dalam waktu kurang dari 30 detik
    • Dalam demonstrasi yang menargetkan CTO Discord Stanislav Vishnevskiy, terdeteksi bahwa dua pusat data Cloudflare menyimpan cache avatar
    • Alasan dua pusat data terdeteksi bisa karena beberapa perangkat menerima notifikasi, atau karena permintaan dari perangkat yang sama di-load-balance ke pusat data berbeda
    • GeoGuesser menghitung titik tengah dari dua pusat data itu dengan Google Maps API dan menampilkan lingkaran radius
    • Pada peta demonstrasi, kantor pusat Discord berada di San Francisco, CA dan termasuk di dalam lingkaran luar, sementara lokasi sebenarnya diperkirakan berada dekat tepi lingkaran dalam dengan rentang sekitar 300 mil
    • Seluruh proses selesai dalam kurang dari 1 menit, dan serangannya nyaris tidak dapat dideteksi

Bug bounty dan respons masing-masing organisasi

  • Signal langsung menolak laporan tersebut dan menyatakan bahwa mereka tidak pernah berupaya sepenuhnya mereplikasi fitur anonimitas lapisan jaringan seperti WireGuard, Tor, atau perangkat lunak VPN open source
  • Bantahan terhadap Signal didasarkan pada fakta bahwa Signal dipasarkan sebagai platform komunikasi yang mengutamakan privasi, dan pengguna mengharapkan minimisasi risiko privasi yang melampaui enkripsi end-to-end
  • Telegram disebut sebagai contoh yang tidak rentan terhadap serangan ini
    • Menggunakan protokol sendiri yang tidak bergantung pada HTTP
    • Tidak bergantung pada cache dari penyedia cloud seperti Cloudflare
  • Tim keamanan Discord awalnya mengatakan akan meninjau perubahan untuk melindungi pengguna, tetapi kemudian mengubah posisinya menjadi isu Cloudflare yang juga memengaruhi pelanggan Cloudflare lain
  • Cloudflare menambal bug yang digunakan Cloudflare Teleport untuk menelusuri pusat data
    • Bug tersebut dilaporkan ke HackerOne setahun sebelumnya oleh pelapor lain, tetapi saat itu dinilai tidak berdampak
    • Setelah riset ini dibagikan, Cloudflare membuka kembali laporan lama tersebut dan menyelesaikannya, serta memberikan bounty 200 dolar masing-masing kepada pelapor lama dan laporan kali ini

Masalah yang tetap ada setelah patch

  • Yang ditambal Cloudflare adalah bug yang memungkinkan penelusuran pusat data dari jaringan internal, sementara syarat inti dari geolokasi berbasis cache itu sendiri tidak hilang
  • Disebutkan bahwa bahkan setelah patch, serangan yang dibahas dalam tulisan ini masih dijalankan dalam 24 jam terakhir
  • Cloudflare Teleport diimplementasikan kembali dengan metode berbasis VPN 24 jam setelah patch
  • Penyedia VPN yang dipilih memiliki lebih dari 3.000 server di 31 negara
  • Dengan cara ini, sekitar 54% dari seluruh pusat data Cloudflare bisa diakses kembali, dan disebut mencakup sebagian besar wilayah berpenduduk padat
  • Sikap akhir Cloudflare adalah bahwa serangan deanonymisasi ini tidak dianggap sebagai kerentanan pada sistem mereka, dan menonaktifkan cache untuk sumber daya yang perlu dilindungi adalah tanggung jawab pelanggan
  • Pelanggan seperti Discord menganggap ini tanggung jawab Cloudflare, sementara Cloudflare menilai pelanggan harus menyesuaikan cache, sehingga batas tanggung jawab menjadi terpecah

Perlindungan dan implikasi praktis

  • Serangan ini menunjukkan bahwa fitur kinerja dan kemudahan penggunaan seperti cache dan notifikasi push dapat disalahgunakan menjadi sarana pelacakan ketika digabungkan
  • Bug Cloudflare Teleport sudah ditambal, dan beberapa aplikasi seperti Signal dan Discord mungkin telah menerapkan mitigasi setelah publikasi, tetapi risiko dasarnya tetap ada
  • Aplikasi yang menyajikan konten lewat CDN dan menggunakan cache dapat rentan terhadap jenis serangan yang sama jika tidak berhati-hati
  • Untuk sumber daya yang perlu dilindungi, kebijakan cache CDN, gambar yang dimuat otomatis dalam notifikasi push, dan perilaku cache URL unik per pengguna perlu dipertimbangkan bersama-sama
  • Jurnalis, aktivis, peretas, dan pengguna yang sensitif terhadap privasi perlu menyadari bahwa notifikasi aplikasi dan pemuatan otomatis sumber daya eksternal dapat berujung pada kebocoran lokasi

1 komentar

 
GN⁺ 2025-01-22
Komentar Hacker News
  • Jika mengirim foto ke pengguna Signal, foto itu diambil melalui Cloudflare dan di-cache di pusat data yang dekat dengan pengguna tersebut. Setelah itu, penyerang dapat memeriksa status cache untuk mengetahui pusat data mana yang digunakan.
    Selama pengguna tidak berada di daerah terpencil, menyebut ini sebagai de-anonimisasi terasa berlebihan, tetapi tetap merupakan tulisan yang menarik.

    • “Dekat dengan pengguna” juga merupakan asumsi besar. Dalam kasus saya, jarak ke ORD sekitar 200 mil dan ke IAD sekitar 500 mil, tetapi karena peering ISP dan konfigurasi jaringan upstream, Cloudflare memproses trafik dari DFW yang berjarak 700 mil.
      Meski begitu, Cloudflare tidak mungkin mengantrekan cache dari Seattle, Manchester, atau Tokyo, jadi sekadar mempersempit pengguna Signal yang tidak dikenal ke lokasi geografis kasar pun menjadi metadata penting yang bisa digabungkan untuk mengungkap identitas seseorang. Serangan yang keren.
    • Dampaknya pada grup membuat ini lebih menarik. Hanya dengan mengirim gambar ke sebuah grup, semua perangkat dalam grup itu menjadi dapat diidentifikasi di sisi Cloudflare, dan Cloudflare juga melihat banyak trafik tak terenkripsi yang dikirim alamat klien yang sama ke situs web lain.
      Cloudflare dapat melihat metadata dalam jumlah sangat besar dari obrolan privat dan grup, serta melacak siapa pengirim media asli, siapa yang membaca, kapan dibaca, siapa yang meneruskan, dan kepada siapa, berdasarkan ukuran file. Walau tidak dapat melihat gambar atau video secara langsung, itu sudah cukup jika ukurannya diketahui sebelumnya atau diketahui belakangan melalui permintaan penegak hukum, misalnya.
    • Ini bisa berguna untuk analisis korelasi. Misalnya ada seorang penyelidik yang berkomunikasi secara rutin dengan seseorang. Satu titik data saja tidak berarti, tetapi catatan unduhan gambar yang berlangsung setiap hari bisa memberi petunjuk bahwa orang itu menghabiskan 90% waktunya di WA dan 10% di tempat lain.
      Informasi itu saja masih belum cukup, tetapi jika ada tersangka tertentu, ini dapat membantu verifikasi. Jika bisa menghubungi orang yang dicurigai secara langsung dan juga berteman dengan profil “bersih” miliknya, teknik yang sama dapat dipakai untuk mencocokkan dua profil lokasi. De-anonimisasi bukanlah satu informasi tunggal, melainkan proses ketika semua informasi ditambahkan ke profil yang mempersempit tersangka atau mengonfirmasi kecurigaan.
      Di sini “penyelidik” berarti orang biasa, bukan agen AI atau lembaga penegak hukum. Jika itu lembaga penegak hukum, mereka kemungkinan bisa mendapatkan informasi secara lebih langsung dari Cloudflare.
    • Ini bukan berlebihan. Saat menerima pesan di Signal, ada ekspektasi bahwa aspek alamat IP atau lokasi yang dapat diamati tidak akan terungkap.
      Apakah tingkat dan jenis de-anonimisasi spesifik ini menjadi masalah untuk kasus penggunaan seseorang adalah pertanyaan terpisah. Secara pribadi, saya tidak terlalu peduli jika kontak timbal balik melihat alamat IP saya apa adanya, tetapi tidak semua pengguna seperti itu.
    • “De-anonimisasi” tidak harus berarti alamat rumah yang tepat. Ada orang yang ingin menyembunyikan negara atau wilayah tempat tinggalnya, dan serangan ini melemahkan hal itu.
      Dalam investigasi Silk Road pun informasi pada tingkat seperti itu benar-benar penting. Pada awalnya Ulbricht tanpa sengaja mengungkap zona waktunya, dan berkat itu otoritas AS dapat mempersempitnya sebagai seseorang yang berada di Amerika Serikat. Tanpa informasi itu, ia bisa berada di mana saja di dunia.
  • Tulisan bagus dengan teknik dan pendekatan yang menarik.
    Namun, istilah seperti “de-anonimisasi” atau “memperoleh lokasi pengguna” agak berlebihan. Ini jauh dari lokasi presisi, dan 150 mil kira-kira jarak 2 jam lewat jalan tol dari Atlanta, GA ke Augusta, GA. Dalam radius itu mungkin ada lebih dari 700 ribu orang.
    Fitur pengambilan lampiran otomatis Signal agak mengkhawatirkan. Untuk messenger privat, saya berharap ada opsi untuk menonaktifkannya seperti mematikan JavaScript di Tor, tetapi mungkin saya belum mencari cukup dalam; saya tidak melihat fitur seperti itu.
    Signal tampaknya memilih pendekatan “berguna secara default” yang menyeimbangkan privasi dan kegunaan demi adopsi massal. Pengguna yang benar-benar khawatir kemungkinan sudah memperkuat Signal seperti dalam panduan semacam https://www.privacyguides.org/articles/2022/07/07/signal-con.... Untuk skenario berisiko tinggi, VPN/proxy dan perubahan pengaturan memang selalu direkomendasikan.
    Caching maupun CloudFlare tidak akan hilang. Ancaman DDoS di lobi multiplayer P2P lama, ketika IP terekspos, tampak lebih besar daripada ini, dan dari ketiga pihak, respons CloudFlare terlihat paling baik. Prinsipnya, informasi sensitif tidak boleh di-cache, dan tanggung jawab untuk memberi tahu CDN atau layanan perantara agar tidak men-cache item tertentu berada pada aplikasi yang berkomunikasi.

    • Mudah untuk berpikir begitu, tetapi informasi kecil yang dibagikan orang cepat digabungkan. Hal-hal sepele seperti “saya berkendara 15 menit ke Starbucks” dapat menumpuk seiring waktu dan mengarah ke lokasi yang tepat.
    • Unduhan otomatis bisa dimatikan. Di Settings > Data and storage > Media auto-download, Anda dapat memilih apa saja yang diunduh otomatis untuk data seluler, Wi‑Fi, dan roaming.
    • Ini poin kecil yang terpisah, tetapi dalam lingkaran radius 100 km antara Atlanta dan Augusta ada sekitar 2 juta orang. Dihitung dengan https://www.tomforth.co.uk/circlepopulations/.
  • Keren. Tidak seperti beberapa yang lain, ini jelas bisa dianggap sebagai de-anonimisasi, atau setidaknya cukup dekat. Kalau lokasi Satoshi bisa diketahui dalam radius 250 mil, seberapa anonim ia akan tetap bertahan sekarang?
    Jika serangan ini diterapkan berulang kali, disamarkan dengan cara tertentu, pergerakan dari waktu ke waktu bisa dilacak. Biasanya, hanya dengan 4–5 lokasi seukuran kode pos saja seseorang sudah bisa diidentifikasi secara unik

    • Sanggahannya adalah bahwa siapa pun yang peduli pada anonimitas mungkin sudah menyembunyikan identitasnya dengan cara yang tidak bisa ditembus serangan ini, misalnya dengan VPN. Selain itu, ada serangan yang jauh lebih efektif seperti mengirim tautan endpoint yang dikendalikan sendiri. Jika relasinya cukup dipercaya untuk mengirim notifikasi, membuat orang mengeklik tautan tidaklah sulit. Ada juga cara yang kurang teknis, seperti mencocokkan jam seseorang online/offline dengan zona waktu di seluruh dunia
      Cara yang digunakan Apple dan Cloudflare dalam perangkat lunak privasi mereka juga didasarkan pada gagasan bahwa wilayah bukanlah informasi yang mengungkap identitas. Begitu pula Apple iCloud Private Relay atau Cloudflare WARP; jika Apple Private Relay diaktifkan, IP asal disembunyikan, tetapi IP yang menjadi rute trafik tetap berada di negara yang sama
      https://www.apple.com/icloud/docs/iCloud_Private_Relay_Overv...
      Serangan ini menarik dan baru secara akademis, tetapi bukan “de-anonimisasi”
    • Alamat IP rumah yang diduga milik Satoshi sebenarnya bocor tak lama setelah Bitcoin dirilis, tetapi baru dikenali beberapa tahun kemudian
      Tentu saja bisa saja itu bukan dia, melainkan pengguna awal acak. Namun saya rasa ada kemungkinan tertentu bahwa itu memang dia
      Detailnya: https://news.ycombinator.com/item?id=29728339
      Saya tidak mendukung upaya mencari dan memublikasikan nama serta alamatnya, karena itu bisa menyulitkan hidupnya. Namun secara abstrak, sangat menarik bahwa ini adalah misteri yang belum terpecahkan meski selama bertahun-tahun telah diamati oleh begitu banyak orang
    • Berapa banyak orang yang tinggal di dalam lingkaran 250 mil di sekitar New York?
    • Di hampir semua aplikasi semacam ini, hal yang sama sudah bisa dilakukan dengan advertising ID
    • Masih cukup anonim. Ia hampir pasti memakai VPN, dan bahkan jika tidak, kemungkinan besar ia tinggal di kota besar dengan ribuan hingga ratusan ribu engineer yang kompeten. Jika pada suatu pesan terungkap bahwa ia berada di SF, itu secara harfiah tidak memberi tahu apa-apa
  • Saya tidak mengerti kenapa begitu banyak komentar teratas meremehkan tingkat keseriusannya. Ini persis jenis serangan yang memungkinkan aparat penegak hukum atau aktor jahat membangun bukti keberadaan di suatu lokasi

    • Sebagian tampaknya iri pada usianya, dan sebagian lagi sepertinya menganggap istilah de-anonimisasi berlebihan karena, kecuali dalam kasus yang sangat khusus, ini tidak memberikan informasi yang cukup untuk menemukan seseorang. “Serangan” ini mudah dinetralkan jika memakai VPN atau tinggal di kota besar
    • Saya rasa banyak yang meremehkannya karena cara artikel asli menggambarkan tingkat keparahannya terasa terlalu dilebih-lebihkan. Banyak respons yang tampak seimbang seperti “temuan yang bagus, tetapi tidak sedahsyat klaimnya”, dan klasifikasi tingkat keparahan masalah memang harus akurat
      Membuktikan keberadaan di lokasi bukanlah de-anonimisasi, apalagi ketika “lokasi” itu seluas ini
    • Mengetahui negara saja dengan cara ini sudah merupakan langkah awal yang besar
    • Orang mengabaikan ini karena alasan yang sama seperti mereka mengabaikan teknologi baru yang disruptif: karena tidak nyaman. Itu tanda bahwa ancamannya sangat nyata
      Pertama-tama mereka mencoba mengabaikannya dan melihat apakah masalahnya masih ada besok pagi. Sampai saat itu, mereka berharap ada orang yang menemukan alasan mengapa ini bukan masalah
  • Mengapa Signal mengaktifkan caching untuk URL-URL itu? Kasus paling umum mestinya lampiran diunduh sekali lalu selesai
    Saya justru mengira mereka akan mencegah pengunduhan lebih dari sekali, lalu segera menghapusnya setelah unduhan pertama berhasil. Tentu klien bisa gagal di tengah jalan, jadi masa tenggang untuk mengunduh ulang bisa saja diberikan. Namun itu rasanya bukan kasus umum, dan dengan mematikan caching CDN masalah ini bisa diperbaiki, semoga tanpa peningkatan biaya yang besar
    Bagaimanapun, “de-anonimisasi” di sini agak bernuansa clickbait. Mempersempit lokasi seseorang hingga sekitar 250 mil memang tidak bagus, tetapi itu tidak membuat orang tersebut terde-anonimkan
    Edit: saya tidak terpikir kasus lampiran dikirim ke chat grup dan diunduh oleh banyak orang. Namun bahkan dalam kasus itu, bukankah lampiran dienkripsi secara terpisah untuk setiap orang di grup? Tentu saya tidak benar-benar tahu bagaimana cara kerjanya

    • Pengaturan default Signal lebih berfokus pada kegunaan sambil mendukung enkripsi end-to-end, dan kurang berfokus pada model ancaman berlebihan yang bahkan ingin menyembunyikan fakta bahwa seseorang berada di benua tempat ia memiliki kewarganegaraan
      Hal-hal yang disebutkan itu pada dasarnya bisa diatur oleh orang yang menginginkan tingkat privasi/keamanan segila itu. Pesan bisa diatur agar terhapus otomatis 30 detik setelah dilihat, semua trafik bisa dirutekan lewat proxy, dan banyak hal lain bisa disesuaikan sesuai selera pengguna
      Alasan caching mungkin adalah biaya pengiriman. Lampiran file, pesan suara, video, dan sebagainya semuanya bertambah besar jika dijumlahkan
    • Bisa juga karena chat grup dan pengguna multi-perangkat
  • Orang ini adalah anak 15 tahun yang sama yang beberapa bulan lalu menemukan kerentanan pengambilalihan Zendesk Slack [1]
    [1]: https://news.ycombinator.com/item?id=41818459

  • Memang jelas ini sebuah “serangan”, tetapi bukan tipe yang biasanya terbayang ketika mendengar zero-click. Tidak ada eksekusi kode; caranya adalah mendapatkan lokasi pengguna yang sangat kasar lewat beberapa trik untuk mengetahui data center Cloudflare mana yang sudah melakukan cache atas gambar tersebut
    Tetap saja, ini mengesankan dan penuh wawasan

    • Tergantung situasinya, lokasi kasar saja bisa berguna bagi musuh seseorang yang sedang bersembunyi. Rasanya kelompok seperti penjahat tidak akan terlalu terpukul oleh ini, dan 300 mil adalah radius yang besar. Namun jika ingin tahu hal seperti “apakah orang itu masih berada di dalam negeri”, misalnya bagi penegak hukum, ini berguna
      Pihak seperti itu bisa bekerja sama dengan sumber daya lokal untuk melakukan penyelidikan lanjutan. Mengetahui sumber daya mana di wilayah mana yang harus dikerahkan saja sudah bisa menghemat banyak biaya
      Seperti yang dikatakan, ini mengesankan dan penuh wawasan. Dokumennya juga sedikit terasa dibantu ChatGPT, dengan banyak kalimat yang sangat jelas dan spesifik. Untuk penggunaan seperti ini, itu contoh pemakaian yang bagus, jadi bukan celaan. Tulisannya bagus
  • Kalau saya tidak melewatkan sesuatu, ini terlihat seperti cara yang sangat bertele-tele untuk memeriksa lokasi IP pengguna
    Misalnya, setelah terhubung ke VPN lalu memeriksa https://cloudflare.com/cdn-cgi/trace, hasilnya colo:CPH (Copenhagen), yang secara geografis jauh dari data center CF terdekat saya dan lebih dekat ke lokasi IP penyedia VPN di Oslo, meski tetap tidak bisa dibilang dekat
    Tanpa VPN, yang muncul bahkan bukan ibu kota negara tempat saya berada sekarang, melainkan data center sekitar 250 mil di utara. Jadi saya juga sulit setuju dengan pernyataan bahwa Cloudflare selalu mengembalikan “data center tersedia yang paling dekat”
    Artikelnya sendiri keren dan jelas menarik, tetapi saya tidak yakin soal kegunaan praktisnya

    • Ini kurang akurat dibanding memeriksa lokasi IP pengguna. Geocoding IP dalam banyak kasus bisa sampai tingkat kota. Ini paling jauh hanya data center Cloudflare terdekat
    • Dengan satu data saja, hasilnya mungkin tidak terlalu bermakna
      Kegunaan praktis dan potensi risikonya muncul ketika data ini digabungkan dengan data lain. Teknik deanonymization menggunakan dataset yang jarang sudah menjadi bidang riset aktif setidaknya selama 15 tahun, dan orang sering terkejut melihat betapa banyak hal yang bisa diketahui dari beberapa potongan data yang tampak tidak saling berkaitan
    • Apakah Anda tidak percaya bahwa perlindungan lokasi IP pengguna itu perlu?
      Ada alasan mengapa aplikasi mengerahkan banyak upaya untuk mem-proxy permintaan resource seperti gambar. Itu tidak gratis
    • Tidak tereksposnya alamat IP sendiri kepada orang yang bisa mengirim pesan di Signal adalah ekspektasi privasi yang cukup masuk akal
    • Ini bisa berguna untuk melacak pembangkang politik yang sedang melarikan diri, teroris, dan sebagainya. Jika lokasi bisa dipersempit menjadi 250 mil, itu sudah informasi yang sangat berguna, dan tidak menimbulkan kecurigaan
  • Apa manfaat melakukan cache di CDN untuk gambar di Signal?
    Dengan asumsi ada caching di klien lokal, jumlah total request untuk resource tersebut seharusnya sangat kecil, dan dalam kebanyakan kasus kemungkinan hanya sekali
    Secara terpisah, CloudFront tampaknya bisa memperbaiki masalah ini dengan sangat mudah jika tidak mengembalikan header cf-ray atau menyediakan opsi bagi pelanggan untuk menghapusnya. Namun mungkin saja ini tetap bisa diketahui lewat informasi timing

    • Ini bukan sekadar caching, melainkan penggunaan CDN. CDN bertindak seperti cache untuk konten origin adalah efek samping dari CDN, dan CDN melakukan cache di server yang paling dekat berdasarkan respons untuk meningkatkan waktu respons distribusi
      Di sini “dekat” adalah heuristik perkiraan, dan merupakan sifat tabel routing anycast pada router BGP yang dilalui request. Dalam praktiknya, ini lebih dekat ke “rute optimal”
    • Meski header cf-ray dihilangkan, cukup lihat waktu respons. Jika resource harus diambil dari benua lain, kemungkinan besar itu bisa diukur secara andal
      Situs web yang ingin menyembunyikan apakah pengguna tertentu ada juga mirip. Jika permintaan login dikirim dengan username yang ada, situs melakukan hashing password sehingga waktu respons biasanya bertambah setidaknya 50 ms, sedangkan username yang tidak ada dihentikan lebih awal. Solusinya adalah selalu menjalankan kode yang sama dan selalu melakukan hashing, tetapi sangat sedikit situs yang melakukannya. Atau jika sesuai dengan threat model, bisa saja langsung memberi tahu bahwa username tidak ada
      Kembali ke kasus Cloudflare, ini tidak membantu kecuali responsnya ditunda. Padahal menunda respons adalah kebalikan dari tugas Cloudflare
    • Saya tidak melihat bahwa aplikasi atau jaringan Signal memilih untuk membuat gambar di-cache di CDN
      Bukankah “serangan” di sini adalah bahwa pengguna mana pun bisa mengirim pesan ke pengguna lain yang berisi tautan resource yang di-cache di CDN? Mungkin saya salah paham
    • Cloudflare seharusnya memungkinkan pelanggan menonaktifkan header itu, dan Signal seharusnya tidak melakukan cache untuk gambar yang dikirim ke satu orang atau ke grup beranggotakan kurang dari beberapa ratus orang
    • Terkait pernyataan bahwa jumlah total request untuk resource tersebut kecil, angka lain yang relevan adalah jumlah request “ke server itu
  • Agak sulit dipahami. Apa ada yang pernah menganggap Signal itu anonim? Discord juga sama. Kalau begitu ada kabar buruk. Keduanya bukan anonim, sama sekali bukan, bahkan sedikit pun bukan
    Mereka juga tidak pernah membuat klaim seperti itu. Signal hanya mengklaim bahwa mereka tidak bisa membaca pesan. Untuk Discord saya kurang tahu, dan saya ragu. Klaim itu pun punya celah. Meski kriptografinya kokoh, apakah Anda sudah meninjau secara menyeluruh versi yang sedang dipakai dan mengompilasinya sendiri?
    Paling banter hanya pseudonimitas yang lemah. Aplikasi yang mengorbankan sebagian keamanan demi kenyamanan pengguna memang selalu umum memuat media secara default, dan dalam threat model yang umum itu pilihan yang baik-baik saja. Memasukkan media ke dalam pesan juga selalu menjadi pola klasik serangan deanonimisasi
    Pada akhirnya, ini hanya menunjukkan bahwa tracking pixel masih merupakan teknik yang valid sampai sekarang; bagus, tetapi tidak mengejutkan
    Jika ingin tetap anonim, jangan gunakan Discord atau Signal, dan saya juga tidak menyarankan menulis di HN. Mungkin ada peluang jika lewat Whonix, dari akun sekali pakai, tanpa JavaScript, lalu pesan yang ditulis ulang oleh LLM lokal ditempel otomatis pada waktu acak. Tetap saja, jangan merasa pasti aman
    Anonimitas sudah tidak ada lagi

    • Saya saat ini diblokir di subreddit Signal karena menunjukkan bahwa tidak dikumpulkannya metadata oleh Signal berarti kita hanya mempercayai kata-kata Signal. Jadi orang-orang memang benar-benar menganggap Signal itu anonim
    • Orang-orang menggunakan Signal dan Telegram* di lingkungan yang anonimitasnya penting. Tentu saja itu bukan alat untuk tujuan tersebut, tetapi tidak ada solusi lain yang dipahami luas, dan dalam sebagian besar kasus itu cukup bagi mereka
      • Menariknya, kali ini mereka memakai protokol sendiri sehingga tidak rentan, tetapi itu mungkin justru lebih buruk
    • Orang-orang terus lupa bahwa anonimitas dan perlindungan privasi itu berbeda