Pertanyaan spesifik Anda
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?
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.
Apakah virus ini menyerang pengguna Windows, Mac dan Linux atau apakah pengguna Mac / Linux kebal?
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 ...
Apakah virus diprogram dalam JavaScript?
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:
Spoofing (of user identity)
Tampering
Repudiation
Information disclosure (privacy breach or Data leak)
Denial of Service (D.o.S.)
Elevation of privilege
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.