Kemungkinan Duplikat:
Dapatkah komputer terinfeksi oleh malware melalui browser web?
Sudah menjadi rahasia umum bahwa Anda bisa mendapatkan virus hanya dengan mengunjungi situs web. Tetapi bagaimana ini mungkin?
Apakah virus ini menyerang pengguna Windows, Mac dan Linux, atau apakah pengguna Mac / Linux kebal?
Saya mengerti bahwa saya jelas bisa mendapatkan virus dengan mengunduh dan menjalankan .exe di Windows tetapi bagaimana saya bisa mendapatkan virus hanya dengan mengakses situs web?
Apakah virus diprogram dalam JavaScript? (Akan masuk akal karena ini adalah bahasa pemrograman yang berjalan secara lokal.) Jika demikian, fungsi JavaScript apa yang biasa digunakan?
Jawaban:
Contoh dalam parens. Ada bug di browser (IE), interpreter javascript, atau dalam sebuah plugin (seperti flash atau java). Bug ini mengarah pada eksekusi kode - bagian itu bisa sangat rumit tetapi sering kali melibatkan bug bekas pakai dan manipulasi tumpukan .
Kemudian saya menjalankan beberapa shellcode. Shellcode harus lolos dari perlindungan apa pun yang dimiliki peramban - untuk bug V8 / Chrome Anda harus keluar dari kotak pasir chrome dan mengalahkan DEP dan ASLR. Untuk IE, Anda harus mengalahkan DEP dan ASLR dan kemudian keluar dari mode integritas rendah. Untuk Jawa Anda harus ... tidak melakukan apa pun - Anda semua adalah emas. (Itu sebabnya ada serentetan bug java.)
Jadi sekarang saya punya kode sewenang-wenang yang berjalan di komputer Anda, seperti Anda (Anda tidak menjalankan sebagai admin, kan?), Saya bisa mengunduh file dari internet dan menjalankannya, menjatuhkan beberapa malware di mesin Anda.
Khususnya - tidak. Javascript adalah vektor serangan yang akan digunakan orang untuk menemukan bug di peramban. Mereka juga bisa menggunakan Flash, Java, atau Silverlight sebagai vektor serangan. Dalam kasus javascript, mereka menulis javascript untuk memicu bug browser, dan kemudian virus tersebut ditarik dari internet.
sumber
Sayangnya dan anehnya, ada sejumlah cara ini bisa terjadi.
Anda benar-benar takjub bahwa "alat baca" seperti browser dapat secara aktif memanipulasi sistem Anda sendiri (dan membahayakan). Membaca buku tidak menguras rekening bank Anda dan membuka koran tidak melukai anak-anak Anda, jadi mengapa membuka situs web bisa melakukan semua itu dan banyak lagi?
Masalahnya terjadi setiap kali ada kemungkinan bahwa data asing dari internet, yang harus selalu kita asumsikan dibuat dengan niat jahat sepenuhnya, entah bagaimana berhasil dijalankan oleh sistem Anda.
Jika Anda hanya duduk di baris perintah dan ketik
wget http://evil.com/hitme.php
, klien HTTP wget hanya akan menulis dump biner permintaan ke disk Anda dan tidak ada hal buruk yang terjadi (selain mungkin disk Anda mengisi). Tetapi jika Anda mengetikkan alamat di browser Anda, browser Anda bebas untuk melakukan apa pun yang diinginkan - format hard disk Anda, kirim rincian kartu kredit Anda, dll. Terserah Anda untuk memercayai browser Anda untuk tidak melakukannya. Sebagian besar browser memang berusaha untuk tidak melakukan hal-hal buruk itu, tetapi kami, para penggunadombatelah menuntut agar browser dapat melakukan lebih banyak lagi "trik pintar" dan menunjukkan perilaku otomatis berdasarkan instruksi dari internet.. Tuntutan kami telah mengarah pada penciptaan teknologi eksekusi kode sisi klien seperti JavaScript dan Flash, yang mengunduh kode arbitrer, asing, tidak terpercaya, berbahaya dan menjalankannya, semua untuk kesenangan kita.Alasan mengapa orang-orang yang menemukan teknologi itu tidak segera digantung adalah karena a) membuat kelinci menari di layar kami, dan b) mereka mengklaim bahwa mereka memasukkan pemeriksaan keamanan yang cukup ke dalam desain untuk mencegah manipulasi kode jahat sewenang-wenang dari manipulasi sistem lokal (mis. tidak mengizinkan membaca / menulis disk lokal, membaca / menulis clipboard, membaca / menulis bidang formulir di tab lain).
Sayangnya, pendekatan desain untuk "pertama memungkinkan semuanya dan kemudian menutup-nutupi beberapa tempat buruk yang dapat kita pikirkan" secara mendasar cacat, dan sekarang kita menghadapi aliran cara-cara baru yang tidak pernah berakhir di mana fitur kenyamanan sisi klien kami dapat digunakan untuk mengkompromikan sistem kami.
Satu-satunya jalan keluar yang cukup aman adalah dengan menonaktifkan JavaScript dan plugin di browser Anda. Aman seperti pada tahun 1995.
sumber
Poin yang benar-benar dikesampingkan dalam jawaban ini, yang saya benar-benar ingin kalahkan, adalah ini: alasan Anda bisa mendapatkan virus dari halaman web adalah bahwa beberapa perangkat lunak yang Anda jalankan memiliki bug - kerentanan keamanan .
Dalam setiap langkah proses pembuatan perangkat lunak, pencipta Flash; browser Anda; sistem operasi Anda telah mencoba memastikan kode acak dan berbahaya dari internet tidak bisa hanya mencari cara untuk mengeksekusi sendiri. Sayangnya, melakukan ini sulit . Sangat sulit .
Jadi, seperti semua manusia, pengembang perangkat lunak ini pasti membuat kesalahan: parser HTML secara tidak sengaja menimpa satu byte di stack ketika Anda mengakhiri html dengan
</p
. Mereka secara tidak sengaja menggunakansigned int
bukanunsigned int
. Kompiler JIT javascript secara tidak sengaja mencoba mengubah referensi array menjadi null-pointer. Semua kerentanan ini dan jutaan lainnya terjadi setiap saat dalam perangkat lunak, baik karena kurangnya pengetahuan keamanan, atau pengawasan, atau bahkan hanya kesalahan sederhana. Software hanyalah cara terlalu kompleks untuk menangkap mereka semua.Karena itu, sistem operasi memiliki mekanisme bawaan untuk mencegah kerusakan pada sistem, bahkan ketika kerentanan ditemukan. OS Anda mungkin memiliki DEP dan ASLR . Program dapat memiliki berbagai perlindungan yang ditambahkan oleh kompiler. Browser berjalan di priveledges yang lebih rendah. Program dijalankan melalui analisis dan pengujian otomatis yang dapat menangkap banyak kerentanan ini.
Maksud saya adalah, tidak ada yang membiarkan ini terjadi - tetapi tidak mungkin untuk merancang perangkat lunak yang sepenuhnya aman, seperti halnya tidak mungkin untuk merancang brankas yang sepenuhnya aman. Seseorang dengan waktu, pengetahuan, uang, dan insentif yang cukup akan selalu menemukan cara untuk membukanya. Dan masalah dengan brankas ini adalah, begitu beberapa peretas membuka salinannya, mereka dapat dengan mudah membuka salinan lain di seluruh dunia tanpa meninggalkan kamar mereka.
sumber
Pertanyaan spesifik Anda
Browser Anda menjalankan kode sepanjang waktu (terbuat dari kode). Saat mengunduh laman web, kode itu mengunduh dan menampilkan data sewenang-wenang (piksel, karakter, dll.).
Kode juga data (pada tingkat prosesor).
Karena kode adalah data, jika browser Anda mencoba untuk mengeksekusi data (tidak peduli apa ekstensi file atau formatnya), itu mungkin benar-benar berjalan (jika dibuat dengan benar).
Biasanya browser Anda tidak akan sebodoh itu untuk mencoba menjalankan data acak yang diunduh. Namun, ini bisa terjadi.
Salah satu cara untuk melakukan ini adalah dengan membentuk data sedemikian rupa sehingga ketika dibaca, itu akan "bocor" dan menimpa data yang membentuk program browser yang dapat dieksekusi. Ini mengharuskan browser untuk memiliki bug (paling umum dalam kasus ini, memungkinkan buffer overrun ).
Browser Anda juga menjalankan program di atas halaman web. Javascript, seperti yang Anda sebutkan, adalah salah satu jenis kode. Tapi ada lusinan. ActiveX, Flash, add-ons, skrip grease monkey, dll. Adalah semua kode yang Anda jalankan saat mengunjungi halaman web. Kode ini dapat berisi bug yang menyebabkan pelanggaran keamanan.
Tidak ada platform yang kami gunakan yang sepenuhnya kebal terhadap bug, karena mereka semua menggunakan prosesor yang memperlakukan data sebagai kode. Inilah cara kerja arsitektur komputer kami yang ada.
Alasan untuk mitos ini adalah bahwa Mac dan Linux memiliki tingkat adopsi yang jauh lebih rendah dibandingkan dengan mesin Windows (pada tingkat desktop). Jadi perangkat lunak desktop pada mesin ini tidak biasa menjadi target bagi pembuat virus.
Virus tidak terjadi oleh sihir, atau oleh evolusi posisi (seperti virus biologis). Ini adalah perangkat lunak yang ditulis oleh individu, atau tim pengembang. Dan mereka ingin menargetkan pangsa pasar terbesar, seperti yang dilakukan vendor perangkat lunak biasa.
Adapun apakah satu virus dapat menargetkan beberapa platform; Semua browser menjalankan kode yang berbeda, sehingga akan memiliki bug yang berbeda (bahkan browser yang sama pada platform yang berbeda). Tetapi ada beberapa pustaka kode yang dibagikan di seluruh platform. Jika pustaka seperti itu mengandung bug, ada kemungkinan bahwa exploit bisa ada pada banyak platform.
Tetapi, tergantung pada jenis serangan yang dilakukan, virus yang ditulis untuk Mac non-Intel mungkin tidak berfungsi pada Mac Intel, dan sebaliknya, karena mereka memiliki prosesor yang berbeda. Untuk prosesor yang berbeda, data yang mewakili kode memiliki format berbeda.
Ketika Anda berbicara tentang mesin virtual atau bahasa scripting, serangan mungkin platform independen. Itu membawa kita ke pertanyaan berikutnya ...
Beberapa virus. Informasi yang saya nyatakan di atas (tentang eksploitasi buffer overrun) biasanya akan digunakan sebagai serangan di luar Javascript, tetapi bisa juga berlaku untuk virus yang dibuat untuk menyerang eksploit dalam juru bahasa Javascript.
Javascript juga akan memiliki set eksploitinya sendiri, pada level operasi yang berada di atas buffer overruns. Ada banyak cara untuk menyerang perangkat lunak apa pun. Semakin besar perangkat lunaknya (baris kode), semakin banyak varietas input pengguna (dalam hal ini, jenis kode) kemungkinan akan diterima, dan semakin banyak bug yang dikandungnya.
Selain itu, semakin banyak perangkat lunak yang berjalan (mis. Perangkat lunak yang menjalankan server), semakin rentan untuk diserang.
Secara umum, ini disebut Attack Surface
Eksploitasi secara umum
Microsoft memiliki mnemonik untuk tipe eksploit umum, dan mereka semua memiliki sifat menarik sendiri, dan berbagai level perangkat lunak yang dapat mereka serang - STRIDE , yang merupakan singkatan dari:
Beberapa di antaranya lebih mungkin digunakan dalam serangan berdasarkan Javascript daripada yang lain, beberapa di server, beberapa di file data (seperti gambar).
Tetapi keamanan adalah bidang yang besar dan terus berkembang. Benar-benar terlalu banyak informasi untuk sepenuhnya menjawab semua pertanyaan Anda.
sumber
Istilah ini disebut "Drive By Download"
Berikut adalah contoh yang bagus tentang bagaimana hal itu terjadi tanpa Anda melakukan apa pun selain mengunjungi situs web.
sumber
Caranya adalah para pembuat virus / pakar keamanan menemukan lubang-lubang di browser. Dengan kata-kata sederhana, mereka menemukan lubang di keamanan browser dan mereka dapat menggunakan lubang ini untuk melakukan sesuatu pada sistem Anda. Ada beberapa kasus di mana Adobe Flash memiliki lubang dan dengan kode tertentu dapat dieksploitasi. Ada juga string javascript yang dapat memicu lubang keamanan ini.
Namun demikian jika Anda terus memperbarui peramban, sangat kecil kemungkinan Anda terinfeksi hanya dengan mengunjungi situs web (mengunduh file dan menjalankannya adalah cerita lain!)
sumber
Virus seperti yang menginfeksi Anda dengan mengunjungi situs web mengeksploitasi kelemahan dalam sistem kunjungan. Misalnya, browser atau plug-in mungkin memiliki cacat dalam pemrogramannya sehingga gambar mungkin diizinkan (secara tidak sengaja, dari perspektif pengembang browser) untuk menjalankan perintah sewenang-wenang di komputer yang dikunjungi.
Dengan demikian, seharusnya setiap sistem operasi adalah korban potensial, tetapi penulis virus biasanya membingkai serangan mereka berdasarkan skala ekonomi - semakin banyak pengguna, semakin baik. Itu sebabnya Windows dan Internet Explorer lebih sering ditargetkan.
Setiap bagian dari browser atau plug-in mungkin ditargetkan oleh virus. Gambar yang disebutkan di atas yang menyebabkan virus adalah contoh nyata. Flash adalah target umum. Mesin JavaScript di browser juga. Ada banyak hal berbeda yang bisa salah.
Taruhan terbaik Anda adalah menjalankan pemindai virus yang berkualitas. Saya menggunakan NOD32 oleh Eset . Juga, jangan mengklik sesuatu jika terlalu bagus untuk menjadi kenyataan. Gunakan NoScript di Firefox, dan AdBlock .
sumber
Jika sebuah situs web berhasil menembus keamanan peramban Anda, itu bisa bercampur dengan apa pun milik Anda di komputer. Namun, jika ia dapat meningkatkan hak-hak istimewanya dan mendapatkan akses administratif, maka ia dapat mengotori semua yang ada di sistem.
Sudah lama diyakini bahwa lebih sulit untuk mendapatkan hak administratif pada mesin Unix (misalnya Linux, Mac, atau BSD) daripada di Windows. Namun, perubahan baru-baru ini (pada Windows Vista) dari fitur keamanan oleh Microsoft mungkin telah membuat Windows jauh lebih aman daripada sebelumnya - atau setidaknya, itulah yang mereka yakini menurut Anda.
sumber