
Penonton Classmates adalah 71 juta per bulan. Serta pemirsa Internet secara keseluruhan, pengguna kami tunduk pada ancaman keamanan umum: phishing, virus, penggunaan kembali kata sandi. Mesin ekonomi serangan terhadap pengguna jaringan sosial, sebagai suatu peraturan, adalah penyebaran spam. Dan meskipun serangan seperti itu bukanlah konsekuensi dari kerentanan Odnoklassniki secara langsung, kami tertarik untuk menangkalnya dan untuk ini kami sedang menyelidiki semua insiden spam yang signifikan.
Investigasi tipikal terhadap serangan spam baru (berhasil) dimulai setelah kami melihat aktivitas abnormal di antara pengguna portal. Ini dapat diekspresikan dalam peningkatan beban pada layanan individual (misalnya, unggahan gambar atau layanan pencarian), dalam distribusi aktif dari jenis konten yang sama (misalnya, tautan ke situs serupa), atau bahkan dalam peningkatan jumlah panggilan ke layanan dukungan.
Selama penyelidikan, penting bagi kami pertama-tama untuk menentukan bagaimana spam didistribusikan dalam jejaring sosial. Seringkali hasil dari penyelidikan semacam itu adalah deteksi sekelompok perangkat yang terinfeksi virus. Terkadang di antara spam yang mereka distribusikan, kami menemukan tautan ke virus itu sendiri. Jadi kami berhasil memulihkan skema distribusi dan menemukan pengguna yang terlibat.
Kasus khusus yang menarik dari serangan tersebut adalah infeksi dengan ekstensi peramban jahat. Ekstensi untuk Chrome dapat dipasang baik di Chrome itu sendiri maupun di browser yang didasarkan pada Chromium, misalnya Opera dan Yandex.Browser. Artinya, bagian terbesar dari web berpotensi tertutup. Ekstensi berbahaya untuk peramban lain (Firefox, Safari) jauh lebih jarang. Saya dapat berasumsi bahwa perkembangan virus dalam kasus mereka tidak membawa manfaat karena jumlah pemirsa yang relatif sedikit.
Kami bahkan dapat menghitung tingkat penyebaran ekstensi berbahaya di antara pengguna kami:

Setiap hari kami mendaftarkan 100-200 ribu pengguna yang terinfeksi. Secara total, pada tahun 2018, 1,2 juta pengguna terlihat menggunakan browser yang terinfeksi.
Pada awal 2017, di OWASP Russia Meetup # 6, kami telah
berbicara tentang pengalaman Odnoklassniki dalam memerangi penyebaran ekstensi berbahaya untuk Chrome. Dalam hampir dua tahun, banyak yang telah berubah. Tapi pertama-tama, mari kita cari tahu cara kerja ekstensi.
Jadi, Chrome memungkinkan pengguna untuk menyesuaikan browser dengan memasang ekstensi.
Ekstensi disediakan dengan
Javascript API yang dapat digunakan, termasuk:
- mencegat dan memodifikasi permintaan dan respons HTTP;
- memodifikasi DOM dari halaman yang ditampilkan;
- mengelola antarmuka browser (buka dan tutup tab, tambahkan item ke menu konteks);
- mengelola daftar ekstensi;
- Berlangganan acara sistem, misalnya, dari mouse dan keyboard;
- Baca riwayat peramban dan data situs.
Ekstensi didistribusikan melalui Toko Web Chrome dalam bentuk arsip dengan kode sumber dan sumber daya (gambar, gaya, halaman HTML). Komponen utama ekstensi tercantum di bawah ini:
- Manifes adalah JSON dengan konfigurasi ekstensi. Di antara hal-hal lain, manifes menyatakan izin dan domain yang diperlukan untuk data yang dapat diakses oleh ekstensi.
- Skrip latar belakang dieksekusi di latar belakang dalam konteksnya sendiri, terisolasi dari kode halaman web. Mereka dirancang untuk menerima dan memproses berbagai acara dari browser dan memiliki akses penuh ke API-nya.
- Skrip konten dieksekusi dalam konteks halaman web. Lingkungan javascript halaman itu sendiri dan ekstensi terisolasi satu sama lain, ekstensi tidak memiliki akses ke variabel dan fungsi halaman, dan sebaliknya. Skrip dapat memodifikasi halaman DOM dan melakukan permintaan lintas situs menggunakan
XMLHttpRequest
. Tidak seperti halaman biasa, kebijakan asal yang sama dan kebijakan server CORS tidak berlaku untuk permintaan dari ekstensi, mereka hanya dibatasi oleh set akses yang diminta dalam manifes.
Misalkan seseorang memutuskan untuk menulis virus mereka sendiri. Apa yang bisa dia sadari?
Akses ke data penggunaSeperti disebutkan di atas, ekstensi dapat mencegat permintaan dan tanggapan antara halaman dan server. Jelas bahwa mekanisme universal untuk melindungi data selama transmisi - SSL - dalam hal ini tidak akan membantu melindungi data halaman, karena browser mentransmisikannya ke ekstensi yang sudah didekripsi.
Ubah konten halamanEkstensi memiliki akses ke DOM, dapat menambah dan menghapus elemen, mengubah antarmuka halaman. Contoh klasik adalah penggantian iklan banner.
Pelacakan Aktivitas PenggunaEkstensi dapat berlangganan acara dari keyboard dan mouse, dan dengan demikian melacak tindakan pengguna di browser dan mengumpulkan kata sandi, data pribadi, nomor kartu bank.
Melakukan tindakan untuk penggunaEkstensi dapat mengeksekusi skrip dalam konteks halaman korban yang melanggar kebijakan asal yang sama. Ini berarti bahwa setiap tindakan yang dapat dilakukan pengguna di situs dapat diprakarsai oleh ekstensi juga.
Abaikan otentikasi dua faktor dan perlindungan akun lainnyaPengguna melewati otentikasi dan otorisasi di browser sendiri, oleh karena itu, ekstensi menerima sesi yang sama dengan pengguna yang sah.
Botnet sempurnaSistem captcha dan perlindungan banjir yang cerdas, pada umumnya, bergantung pada kenyataan bahwa lalu lintas dari bot dapat dibedakan dari lalu lintas dari pengguna yang baik melalui IP, sidik jari, dan distribusi permintaan dari waktu ke waktu. Permintaan ekstensi tidak dapat dipisahkan dari permintaan pengguna nyata.
Tahun ini, Google
mengumumkan beberapa inovasi yang dirancang untuk menghentikan penyebaran malware di app store. Pemasangan ekstensi dari sumber pihak ketiga, instalasi inline dilarang, aturan moderasi diperketat, kebingungan dan eksekusi kode arbitrer dalam ekstensi dilarang.
Meskipun demikian, ekstensi jahat terus digunakan untuk menyerang pengguna. Sasaran umum adalah pencurian akun (
contoh ), data pribadi (
contoh ), spamming atau spoofing iklan (
contoh ).
Agar serangan berhasil, ekstensi harus menyelesaikan beberapa masalah:
- sembunyikan dari moderasi di toko;
- temukan dan pertahankan audiensi;
- menghasilkan uang
Moderasi yang lebih ketat di toko membuat pembuat virus mencari cara baru untuk menerbitkan ekstensi. Di sini kami mengamati gambaran klasik tentang adaptasi spammer ke filter spam: satu ekstensi dengan ratusan ribu pengguna berubah menjadi puluhan ekstensi berbeda dari penulis yang berbeda dengan sejumlah kecil pengguna, dan ekstensi ini kemudian mulai meniru aplikasi populer dengan reputasi baik. Ekstensi sekarang di-host di layanan cloud populer dengan bagian server mereka dan "pusat kendali" yang menentukan perilaku browser yang terinfeksi pada waktu tertentu.
Setelah dihapus dari toko, ekstensi yang dikenali berbahaya dapat dinonaktifkan di browser pengguna yang menginstalnya. Untuk menjaga pemirsa yang terinfeksi dan dapat menginstal ekstensi baru alih-alih yang jauh, penulis virus membuat perubahan pada pengaturan browser yang tidak terkait langsung dengan ekstensi: mendaftarkan pekerja layanan, berlangganan pengguna untuk pemberitahuan, ganti dia dengan halaman rumah atau layanan pencarian. Ini semua memungkinkan Anda mengirim tautan ke peramban untuk menginstal versi baru virus.

Untuk virus yang kami amati, spam adalah sumber penghasilan utama. Di antara banyak cara untuk mendistribusikan spam untuk ekstensi, berikut ini kemungkinan besar paling nyaman:
- Ganti dan tambahkan iklan di halaman yang dikunjungi . Seperti yang saya sebutkan di atas, ekstensi diizinkan untuk membuat perubahan sewenang-wenang pada konten halaman yang dilihat, termasuk mengganti iklan yang sah di situs dengan milik mereka sendiri atau menampilkan iklan tambahan kepada pengguna dengan membuka munculan, tab baru, atau mengalihkan beberapa situs ke iklan.
Bentuk substitusi dari iklan untuk ekstensi adalah penggunaan notifikasi HTML5. Saat ekstensi diinstal dan aktif di browser, itu cukup untuk mengelabui korban ke halaman yang akan mendaftarkan pekerja layanan dan menandatangani pemberitahuan kepada pengguna. Dan karena pekerja layanan ini tidak terkait langsung dengan ekstensi, bahkan setelah ekstensi dihapus dari browser, penulis masih akan memiliki saluran untuk komunikasi dengan pengguna dalam bentuk pemberitahuan push.
Mekanisme serupa juga digunakan bersama dengan rekayasa sosial untuk menginfeksi ulang korban jika ekstensi dihapus dari toko: pengguna menerima dorongan dengan konten yang menarik (misalnya, "ok.ru Pesan belum dibaca baru") dan dengan tautan untuk menginstal versi baru virus alih-alih yang dihapus. - Gunakan akun korban untuk mendistribusikan spam di jejaring sosial . Ekstensi yang dipasang di browser dapat menjalankan permintaan atas nama pengguna saat ini, termasuk memposting spam dengan kedok konten normal dari pengguna (menulis pesan ke teman, memposting catatan dan posting di depan umum, mengunggah foto atau video).
Meringkas hal di atas, kita dapat menyimpulkan bahwa ekstensi peramban jahat masih merupakan ancaman signifikan bagi pengguna dan aplikasi web. Ekstensi menyediakan mekanisme yang nyaman untuk menyebarkan kode berbahaya: ekstensi tidak memerlukan kualifikasi tinggi untuk dibuat, menyebabkan lebih sedikit kecurigaan di antara pengguna selama instalasi, lebih jarang terdeteksi oleh antivirus.
Situasi ini diperburuk oleh kenyataan bahwa halaman web di browser jelas memiliki hak lebih sedikit daripada ekstensi, dan tidak dapat melakukan apa pun untuk melindungi penggunanya. Diharapkan bahwa kampanye anti-virus yang diumumkan Google di Store akan berhasil. Tetapi sampai ini terjadi, kami di OK bekerja untuk meminimalkan penyebaran virus dalam jaringan sosial dan membuat menggunakan layanan seaman mungkin.