Kamis, 21 Desember 2017

Permasalahan Serangan UC Browser (Alibaba)


Tidak hanya dari sisi ekonomi dan perdagangan saja yang dilakukan oleh China, namun dari dari sisi data dan informasi privasi sekalipun dilakukan dengan gencar. Berikut ini kasus-kasus yang ditemukan oleh tim Citizen Labs;

·         Citizen Labs mengidentifikasi browser web Windows dan Android UC Browser yang mentransmisikan informasi identitas pribadi dengan enkripsi yang dapat didekripsi dengan mudah dan rentan terhadap eksekusi kode secara sewenang-wenang selama pembaruan perangkat lunak.

·         Versi Windows menganalisis pengiriman data pribadi, termasuk nomor seri hard drive pengguna dan URL lengkap dari semua halaman yang dilihat, termasuk situs terenkripsi HTTPS, dengan enkripsi yang mudah didekripsi.

·         Versi Android menganalisis pengiriman data pengguna pribadi, termasuk IMSI, IMEI, URL lengkap semua halaman yang dilihat (termasuk halaman yang terenkripsi HTTP) dan kata kunci pencarian, dengan enkripsi yang mudah didekripsi.

·         Proses pembaruan perangkat lunak untuk versi Windows yang dianalisis rentan terhadap eksekusi kode secara paksa, yang memungkinkan penyerang untuk menginstal kode berbahaya tanpa sepengetahuan pengguna. Versi lama dari klien Android juga rentan terhadap eksekusi kode yang dipaksakan selama proses pembaruan perangkat lunak.

·         Temuan ini membangun temuan terdahulunya tentang transmisi data yang tidak aman oleh UC Browser, dan kemungkinan besar kerentanan diidentifikasi oleh anggota aliansi intelijen Five Eyes dalam dokumen yang dibocorkan oleh Edward Snowden.

·         Setelah Citizen Labs memberitahukan perusahaan tentang masalah ini, mereka merilis versi terbaru dari versi Android dan Windows dari UC Browser. Silakan lihat "Update: Analisis versi Android dan Windows yang diperbarui dari UC Browser" untuk analisis terhadap perubahan yang dilakukan.

·         Citizen Labs mengirim surat kepada perusahaan Alibaba yang berisi serangkaian pertanyaan tentang praktik pengumpulan data pengguna yang mereka lakukan, dan mempublikasikan tanggapan mereka secara keseluruhan dalam Lampiran.


Identifikasi kebocoran data terenkripsi yang masih mudah didekripsi

Analisis Citizen Labs menunjukkan bahwa versi aplikasi UC Browser mentransmisikan data pengguna pribadi dengan enkripsi yang dapat didekripsi dengan mudah ke server UCWeb selama operasi normalnya.

uc.ucweb.com

Saat memulai, kami mengamati UC Browser membuat permintaan HTTP POST ke uc.ucweb.com. Bagian script permintaan ini adalah XML yang bermuatan enkripsi berbasis kode 64bit. Algoritma enkripsi yang digunakan adalah algoritma enkripsi yang sangat sederhana, simetris, dan mudah didekripsikan yang disebut UC-XOR dimana plainteks dienkripsi dengan masker XOR dengan kunci 8 byte berikut:  "\xee\xb9\xe9\xb3\x81\x8e\x97\xa7"

mmstat.ucweb.com

Citizen Labs sering menemukan, permintaan HTTP GET yang unik dikirim ke mmstat.ucweb.com saat startup dan selama pengoperasian browser. Masing-masing permintaan ini berisi parameter GET yang bernama encrypt_data, yang bermuatan terenkripsi yang kemudian dikodekan dengan basis 64bit. Ini dienkripsi sesuai dengan algoritma yang kita sebut UC-M9, karena algoritma tersebut disebut secara internal sebagai pengkodean "m9". Ini adalah algoritma yang lebih canggih daripada algoritma UC-XOR pada bagian sebelumnya, namun masih belum standar, simetris, dan mudah didekripsi. Enkripsi ini menggunakan dua kode yang dikodekan dengan ASCII "b59e216a" and "8067d108", atau dikombinasikan kedalam satu kunci : "b59e216a8067d108"

Ringkasan identifikasi data personal yang dikirim menggunakan aplikasi yang enkripsinya mudah didekripsikan kembali :

Personal data point transmitted
Source
Hard drive serial number
uc.ucweb.com leak
mmstat.ucweb.com leak
Base board serial number
uc.ucweb.com leak
mmstat.ucweb.com leak
File system volume serial number
mmstat.ucweb.com leak
Alamat URL dari semua halaman yang dilihat, termasuk HTTPS dengan alamat URL penuh (lengkap)
mmstat.ucweb.com leak

Kerentanan dan versi dalam UC Browser:

Vulnerability \ Version
10.9.0.703
10.2.1.161
7.9.3.103
Kebocoran  uc.ucweb.com (IMEI, dimensi layar)
X
X
X
Kebocoran  ucus.ucweb.com (IMEI, IMSI, dimensi layar)
X
X
X
Kebocoran  applog.uc.cn (IMEI)
X
X
Kebocoran  sugs.m.sm.cn (karakter yang diketik pada address bar, IMEI, IMSI, dimensi layar)
X
X
Kebocoran ucsec.ucweb.com:8020 (URL halaman penuh)
X
X1
Kebocoran   apilocate.amap.com (IMEI, IMSI, Android ID, identitas antena telepon selular)
X2
Kebocoran  utop.umengcloud.com (IMEI, IMSI, Android ID)
X
X2
Kebocoran  puds.ucweb.com (IMEI, IMSI, CPU type, dimensi layar)
X
X
X
Kebocoran Proxy (URLs dan isi halaman yang dikunjungi, IMEI, IMSI)
X
Serangan pada proses update (eksekusi kode secara paksa)
X

1 Hanya pada website dengan url  HTTP, bukan HTTPS

2 Telah ditututup pada April 2015 selama investigasi pada laporan sebelumnya

Kebocoran data sensitif

uc.ucweb.com

Sebagaimana versi Windows, Citizen Labs juga mengamati versi Android yang membuat permintaan ke uc.ucweb.com. Permintaan versi Android serupa dengan yang dibuat oleh versi Windows, karena dienkripsi menggunakan UC-XOR dan sama rentannya; Namun, versi Android mentransmisikan data yang berbeda dibandingkan yang ada dalam permintaan versi Windows. Yakni, versi Android mentransmisikan nomor IMEI perangkat, dimensi layar perangkat dalam ukuran piksel, dan versi UC Browser. Sebagai tanggapan atas permintaan ini, server menugaskan berbagai parameter browser termasuk alamat IP dari server proxy UC yang digunakan untuk browsing situs web.

ucus.ucweb.com

Citizen Labs mengamati bahwa versi Android membuat permintaan untuk ucus.ucweb.com pada saat aplikasi dijalankan (diaktifkan). (Versi Windows juga membuat permintaan serupa, namun tidak mengamati permintaan versi Windows ke host ini yang mengandung data sensitif). Permintaan ini dienkripsi dengan algoritma UC-M9 yang sama seperti yang digunakan pada versi Windows. Algoritma ini menggunakan kode berkode ASCII yang dikodekan dengan cukup kuat:

"e19237a3a933f7eb"



Kode untuk men-decrypt permintaan dapat dilihat sebagai berikut ;

·         m9;

·         parse;
·         protoc;

·         unparse;


·         xor;



Ketika didekripsi, kami menemukan bahwa permintaan ini adalah serialisasi protobuf yang berisi nomor IMEI perangkat, nomor IMSI kartu SIM, dan dimensi layar perangkat dalam piksel, serta berbagai informasi versi.

applog.uc.cn

Saat startup, kami juga mengamati browser membuat permintaan ke applog.uc.cn. Permintaan ini dienkripsi dengan algoritma dan kunci UC-M9 yang sama seperti permintaan yang dikirim ke ucus.ucweb.com, namun pesan terdekrip itu ada dalam teks biasa dan bukan disambung ke protobuf. Permintaan ini berisi nomor IMEI perangkat, jenis CPU, dimensi layar dalam piksel, dan versi OS Android.

sugs.m.sm.cn

Sebagai jenis pengguna ke bilah alamat, browser mengirim permintaan ke sugs.m.sm.cn. Permintaan ini serupa dalam format permintaan yang dikirim ke ucus.ucweb.com karena serial tersebut menggunakan protobuf dan dienkripsi dengan algoritma dan kunci UC-M9 yang sama. Selain itu, permintaan ini mencakup semua data sensitif yang juga dikirim ke ucus.ucweb.com, dan di samping itu termasuk isi address bar untuk mendapatkan saran otomatis.

utop.umengcloud.com

Kami menemukan bahwa browser tersebut masih membocorkan informasi yang awalnya dilaporkan pada bulan April 2015 selama penyelidikan atas laporan sebelumnya. Bocoran ini masih termasuk IMEI, IMSI, dan Android ID.

Leaks pages viewed via ucsec.ucweb.com:8020

Pada tampilan halaman, kami mengamati permintaan dikirim ke ucsec.ucweb.com. Permintaan ini serupa dalam format permintaan yang dikirim ke ucus.ucweb.com karena serial tersebut menggunakan protobuf dan dienkripsi dengan algoritma dan kunci UC-M9 yang sama. Namun, alih-alih berisi nomor seri perangkat keras, URL berisi URL lengkap dari setiap halaman yang dilihat, termasuk halaman HTTPS.

Update process

Browser memeriksa pembaruan dengan membuat permintaan HTTP POST ke puds.ucweb.com. Permintaan ini serupa dalam format permintaan yang dikirim ke ucus.ucweb.com karena serial tersebut menggunakan protobuf dan dienkripsi dengan algoritma dan kunci yang sama. Selain itu, mereka juga berisi nomor IMEI telepon, nomor IMSI kartu SIM, dan dimensi layar telepon dalam piksel. Permintaan tersebut juga mengandung versi OS Android dan tipe CPU.

Tanggapan server terhadap cek pembaruan serupa dalam format dan juga dienkripsi M9 selain dienkripsi dengan kode berkode ASCII yang kuat:

"aa171021f9438cb2"

Tanggapan ini tidak berisi data pengguna pribadi, namun berisi URL untuk paket aplikasi Android (APK) yang akan diunduh browser untuk meningkatkan versi aplikasi, di samping hash MD5 file APK tersebut. Karena URL dan hash MD5 ini dienkripsi hanya menggunakan enkripsi simetris, maka anda memiliki peluang untuk melakukan serangan man-in-the-middle yang menyebabkan browser mendownload file APK secara paksa, walaupun anda tidak menginginkannya. Disinilah kemungkinan besar anda menjadi target serangan iklan yang dilakukan secara paksa pula.

Namun, versi UC Browser yang dianalisis oleh Citizen Labs telah memverifikasi tanda tangan digital APK yang didownload sebelum sistem meminta pengguna untuk menginstalnya, yang berarti bahwa penyerang hanya dapat meminta pengguna untuk menginstal APK yang ditandatangani oleh UCWeb. Sistem Android mencegah pengguna menurunkan aplikasi, jadi serangan ini tidak dapat digunakan untuk menurunkan versi UC Browser ke versi yang lebih lama, namun mungkin ada aplikasi UCWeb lain yang masuk dengan kunci yang sama dengan UC Browser, dan penyerang masih dapat menipu pengguna untuk memasang dan menjalankan aplikasi UCWeb yang berbeda, bahkan yang berisi kerentanan sekalipun. Diperlukan lebih banyak pekerjaan untuk menyelidiki serangan ini.

Analisis Citizen Labs menyangkut versi UC Browser dari China. Namun, UCWeb juga memproduksi versi "internasional" dari browser yang ditujukan untuk pengguna di luar China. Kami memeriksa dua versi internasional ini, satu untuk Windows dan satu lagi untuk Android, untuk mengetahui apakah kerentanan keamanan dan privasi yang sama yang ditemukan pada versi China juga hadir pada versi internasional. Dengan menginvestigasi versi berikut:

Platform
Version
Version number
Source
Windows
International
5.5.9936.1231
Android
International
10.9.0.731

Analisis menunjukkan bahwa versi internasional klien Windows ini mengandung kerentanan yang sama seperti yang ditemukan dalam versi bahasa China

Analisis terhadap versi Android internasional menunjukkan bahwa mereka berbagi beberapa hal, namun tidak semua, dari kebocoran data dibandingkan dengan versi bahasa China (10.9.0.703).  

Meskipun memiliki banyak kebocoran informasi sensitif yang sama, namun tidak terlihat lalu lintas data ke  applog.uc.cn, sugs.m.sm.cn, atau ucsec.ucweb.com. Seperti versi bahasa China, yang diamati telah menggunakan proxy saat menghubungkan ke situs HTTP namun bukan dengan situs HTTPS.

Jenis kerentanan ditemukan di versi terbaru dari aplikasi yang telah dianalisis :

Vulnerability/Version
WindowsChinese
(5.5.10106.5)
WindowsInternational
(5.5.9936.1231)
AndroidChinese
(10.9.0.703)
AndroidInternational
(10.9.0.731)
Leaks personally identifiable data
X
X
X
X
Leaks pages viewed
X
X
X
Vulnerable software update process
X
X



Update: Analisis versi Android dan Windows terbaru dari UC Browser

Pada tanggal 17 Mei 2016, Alibaba mengirimi Citizen Labs dua update Android APK untuk pengujian: versi 10.9.9.739 dan 10.9.0.731 dari edisi bahasa China dan internasional dari UC Browser. Analisis Citizen Labs menemukan bahwa dalam APK ini sebagian besar memiliki kebocoran data yang telah diidentifikasi sebelumnya telah diperbaiki dalam versi ini dengan menggunakan port SSL untuk mengirimkan data sensitif. Dua update itu ditransmisikan ke server yang yang ada di China yaitu sugs.m.sm.cn dan puds.ucweb.com. Sementara analisis Citizen Labs menemukan bahwa browser tidak lagi mengirimkan data sensitif ke puds.ucweb.com, namun Citizen Labs masih menemukan bahwa istilah pencarian yang masuk ke address bar masih tetap dikirimkan ke server sugs.m.sm.cn dengan cara yang tidak aman. Untuk transmisi ke kedua domain ini, versi yang di update telah menggunakan ke algoritma simetris yang berbeda namun tetap sama-sama tidak aman sebagaimana yang telah ada pada versi yang telah diupdate. Citizen Labs mengidentifikasi bahwa akhirnya UC browser pada akhirnya akan mengalihkan transmisi data ke dua sumber ini ke SSL namun baru akan dilakukan pada tanggal yang tidak ditentukan di kemudian hari. Selain masalah yang disebutkan di atas, versi ini masih memiliki kebocoran data yang tidak terselesaikan ke applog.uc.cn dan utop.umengcloud.com.

Setelah Citizen Labs memberi tahu perusahaan tentang masalah ini, pada tanggal 24 Mei 2016, mereka mengirimi dua APK Android yang diperbarui untuk pengujian: versi 10.10.0.800 (China) dan 10.10.0.796 (internasional). Versi ini tidak lagi membocorkan data ke applog.uc.cn dan utop.umengcloud.com; Namun, penggunaan algoritma simetris yang didekripsi dengan mudah untuk mengirimkan data ke sugs.m.sm.cn dan puds.ucweb.com masih ada.

Pada tanggal 27 Mei 2016, Alibaba meng-informasikan ke Citizen Labs bahwa Alibaba telah memperbaiki semua masalah yang dilaporkan dengan browser versi Windows, dan versi update tersedia di situs Alibaba. Pada tanggal 3 Juni 2016, Citizen Labs mendownload dan menganalisis versi Windows terbaru dari edisi bahasa China (5.6.12860.10) dan edisi internasional (5.6.12265.1017) dari UC Browser. Citizen Labs menemukan bahwa semua kebocoran yang Citizen Labs laporkan telah diperbaiki dengan beralih ke penggunaan SSL. Selain itu, kerentanan pembaruan perangkat lunak juga diperbaiki dengan menggunakan SSL untuk melindungi pembaruan metadata yang diunduh.