Mungkinkah virus komputer mengembangkan "gen" baru untuk memungkinkan mereka melakukan pekerjaan mereka?


8

Sebagai mahasiswa Biologi A-level, saya telah banyak berpikir tentang hubungan dengan Biologi dan Ilmu Komputer, dan sesuatu yang sering muncul di pikiran adalah hubungan antara Imunologi dan Keamanan Komputer / Virus. Sebagai contoh, saya (melalui membaca tentang cara kerja program anti-virus) memutuskan bahwa cara sistem kekebalan menangani virus sangat mirip dengan program anti-virus (keduanya berisi database definisi virus (baik itu,βsel memori atau tanda tangan virus) dan keduanya mengandung metode ekstrapolasi). Kemajuan alami bagi saya kemudian berpikir tentang evolusi alami virus dibandingkan dengan virus komputer. Demikian pertanyaan saya:

Mungkinkah virus komputer berevolusi menjadi strain baru yang memiliki "gen" baru untuk memungkinkan mereka melakukan pekerjaan mereka?

Sepertinya pemikiran semacam ini hanya bisa benar-benar berlaku untuk virus, maksud saya kalkulator lama Anda yang biasa tidak akan pernah tunduk pada "seleksi alam". Tetapi sejauh yang saya tahu virus melakukan mutasi sendiri, untuk menghindari program anti-virus, tetapi mungkin ini agak terkendali, sehingga virus tidak akan mendapatkan mutasi yang tidak menguntungkan yang jika tidak dapat menjadikannya tidak berguna. Jika sifat alami acak yang sebenarnya dapat diterapkan pada virus, apakah mereka akan pernah dapat mengembangkan fungsi baru, seperti misalnya menjadi virus retro yang mengambil alih program anti-virus, atau bermutasi untuk memasukkan kode baru yang memungkinkannya untuk merobohkan firewall? Apakah mereka akan terlibat dalam semacam seleksi alam komputasi, di mana virus terkuat bertahan dan meneruskan gen menguntungkan mereka?


Pertanyaan yang sangat keren! Namun saya berpikir bahwa metafora "virus" untuk malware tidak cukup. Pemahaman saya adalah bahwa yang utama (hanya?) Berpikir bahwa virus komputer dan virus nyata memiliki kesamaan adalah kemampuan mereka untuk menyebar sendiri.
jmite

1
@jmite yah, bagi saya setidaknya, kesamaan terletak pada fakta mereka ya, mereka meniru, mereka juga mengendalikan sistem yang mereka serang dalam beberapa / sebagian besar kasus, mereka sebagian besar menyebabkan kerusakan pada korban (kecuali beberapa kebajikan virus komputer). Mereka juga sama-sama memiliki metode yang sama untuk dihilangkan (yaitu sistem kekebalan dan program anti-virus) dan juga kedua kalinya komputer bertemu dengan virus yang sama dengan yang dihilangkan lebih cepat (seperti definisi virus sekarang tersedia) mirip dengan sistem kekebalan. Kesamaan ini mungkin adalah alasan mengapa mereka dinamai virus: D
J_mie6

2
Masalahnya adalah, beberapa di antaranya salah. Kedua kali komputer bertemu virus, itu tidak menghapusnya lebih cepat. Komputer tidak dapat menghasilkan definisi virus sendiri. Mereka berasal dari perusahaan keamanan, dan kemungkinan akan berasal dari campuran data mining dan human crafting. Virus bukanlah kekuatan luar, seperti virus dalam tubuh. Komputer tidak melihat perbedaan antara virus dan program lainnya. Itu hanya sepotong kode. Itu sebabnya ia menjalankannya. Satu-satunya perbedaan adalah bahwa efek dari program itu adalah sesuatu yang kita sebagai pengguna tidak inginkan.
jmite

Jawaban:


7

Saya kira itu mungkin secara teori, tetapi malware komputer (virus, worm, dll.) Biasanya tidak berfungsi seperti ini hari ini, dan ada alasan bagus mengapa mereka ditulis seperti itu.

Anda mungkin tertarik pada kode polimorfik , yang mengubah dirinya sendiri untuk menghindari deteksi. Ini mengubah urutan instruksi ke beberapa urutan instruksi lain yang akan memiliki efek yang sama, tetapi akan memiliki biner yang berbeda. Ini membantu menghindari deteksi oleh alat anti-virus yang mencari "tanda tangan" byte tertentu. Namun, ini bukan bentuk mutasi yang Anda tanyakan, karena malware tidak akan pernah "berevolusi" beberapa perilaku baru yang belum ada.

Sungguh, tidak ada banyak alasan mengapa penulis malware ingin atau membutuhkan malware mereka untuk mengembangkan fungsionalitas baru. Mereka dapat membangun perilaku yang diinginkan ke dalam malware. Atau, mereka dapat meminta malware menghubungi server "command & control" pusat untuk mengunduh kode baru ("pembaruan perangkat lunak" untuk malware) secara berkala, untuk membiarkan mereka mengontrol perilaku malware. Biasanya para penjahat bekerja secara offline serangan apa yang ingin mereka lakukan, dan kemudian menerapkannya di malware atau memerintahkan malware untuk melakukan serangan itu.

Dengan mengatasi serangan offline, penyerang dapat menguji serangan-serangan itu pada sistem mereka sendiri dan memastikan mereka akan bekerja dengan baik dan tidak akan terdeteksi. Dari perspektif penyerang, ini jauh lebih baik daripada menulis malware yang secara acak mencoba hal-hal dengan harapan akan berkembang menjadi serangan yang berguna; malware yang mencoba hal-hal acak akan lebih cenderung mematikan alarm dan terdeteksi.

Jadi, sebenarnya tidak ada kebutuhan atau motivasi untuk menggunakan "seleksi alam" dalam malware, dan itu biasanya tidak terlihat dalam praktik.


Ya, kode polimorfik adalah apa yang saya cari sebagai tag, tetapi tidak ada! Jawaban Anda meningkatkan beberapa poin yang bagus, dan saya akan memberi +1 jika saya bisa (anggap sudah selesai ketika saya memiliki perwakilan di sini), saya tidak tahu bahwa virus dapat mengunduh pembaruan, bagaimana mereka mencapai ini? Apakah itu melalui koneksi mesin yang terinfeksi?
J_mie6

@ J_mie6, mereka membuat koneksi jaringan ke server pusat (dikontrol oleh penyerang) dan bertanya: "apakah Anda memiliki perangkat lunak baru untuk saya?" dan jika jawabannya ya, mereka mengunduhnya dan menjalankan apa yang baru saja mereka unduh. Atau, mereka mungkin bertanya pada server pusat: "apakah Anda memiliki perintah untuk saya?" dan jika server pusat mengatakan ya, mereka melakukan apa pun yang diminta oleh server pusat. Lakukan sedikit bacaan tentang botnet dan server C&C untuk mempelajari lebih lanjut tentang subjek ini. [Jika jawaban saya adalah yang paling berguna setelah satu atau dua hari, Anda dapat memeriksa tanda centang untuk menerimanya.]
DW

ada banyak alasan bahwa malware akan mendapat manfaat dari strategi adaptif (umum). misalnya beberapa algoritma serangan dapat dioptimalkan berdasarkan strategi adaptif. malware memang telah "berkembang" selama bertahun-tahun, tetapi tidak secara otonom, alih-alih melalui perbaikan penulis.
vzn

5

TL; DR: komputer bukan entitas otonom seperti organisme, dengan naluri kelangsungan hidup apa pun. Mereka hanya menjalankan instruksi, dan terkadang mereka menjalankan instruksi yang tidak kita sukai, jadi kita menjalankan instruksi lain untuk menemukan yang buruk.


Saya mulai mengatakan ini di komentar, tapi saya pikir ada banyak lagi yang bisa dikatakan.

Metafora virus sudah ketinggalan zaman dan terlalu banyak digunakan oleh orang-orang yang tidak mengerti bagaimana sebenarnya komputer bekerja. Mereka mencoba menyamakan mereka dengan makhluk hidup, karena mereka memahami makhluk hidup. Inilah metafora yang lebih baik.

Anda seorang pekerja kantoran. Anda bekerja untuk perusahaan besar raksasa, di mana Anda tidak melihat bos Anda. Anda tidak pernah diberi tahu mengapa Anda melakukan pekerjaan Anda, Anda bahkan tidak tahu apa yang perusahaan Anda lakukan. Yang Anda tahu adalah bahwa Anda muncul untuk bekerja setiap hari, dan Anda mengikuti instruksi Anda.

Ada sedikit jendela di dekat meja Anda, yang merupakan satu-satunya cara Anda berinteraksi dengan orang lain. Anda tidak melihat siapa pun, tetapi kadang-kadang potongan kertas masuk melalui jendela.

Instruksi Anda selalu sama di awal, tetapi Anda memiliki tumpukan kertas besar di meja Anda. Beberapa di antaranya berisi instruksi, beberapa di antaranya berisi hal-hal yang Anda tulis. Terkadang instruksi Anda akan memberi tahu Anda untuk menemukan selembar kertas yang berbeda, dan mulai menggunakannya sebagai instruksi Anda. Terkadang mereka meminta Anda untuk mengganti potongan kertas, merobeknya, atau menghapus bagian-bagiannya. (Inilah yang menjalankan program. Terkadang program mengedit file, terkadang mereka menjalankan program lain, dll.)

Terkadang instruksi Anda meminta Anda menunggu di dekat jendela untuk menerima lebih banyak kertas. Kertas mungkin memiliki gambar di atasnya, mungkin memiliki teks, atau mungkin memiliki lebih banyak instruksi. (Inilah yang terjadi ketika komputer menunggu input mouse atau input keyboard, atau sesuatu dari jaringan (yaitu file)).

Anda tidak melakukan apa pun kecuali mengikuti instruksi ini. Anda tidak pernah tahu mengapa, Anda tidak pernah tahu untuk siapa, tetapi Anda hanya melakukannya.

Terkadang, instruksi Anda memberi tahu Anda untuk melakukan banyak tugas. Anda memiliki setumpuk kertas. Anda mengatur timer, dan Anda mengerjakan instruksi dari kertas paling atas selama 5 menit. Ketika penghitung waktu berlalu, Anda meletakkan kertas itu di bagian bawah tumpukan, dan melakukan apa pun yang ada di atas kertas yang baru. (Beginilah cara komputer menjalankan lebih dari satu program sekaligus).

Sekarang suatu hari Anda sedang menunggu selembar kertas di dekat jendela, dan Anda tahu kapan mendapatkannya, Anda akan melakukan apa pun yang dikatakannya, karena itulah yang diperintahkan oleh selembar instruksi terakhir. Anda mendapatkannya, dan dikatakan menemukan beberapa lembar kertas utama Anda, dengan instruksi inti Anda, dan menghapusnya. Ini memberitahu Anda instruksi baru untuk diletakkan di sana. Ini melakukan beberapa hal aneh, seperti mengirim file Anda keluar jendela ke tempat-tempat aneh, atau mengumpulkan salinan cadangan dari semua hal yang datang melalui jendela. Tetapi yang penting adalah, Anda tidak memikirkannya. Mereka hanyalah instruksi. Anda lakukan saja.

Inilah virus. Ini hanya seperangkat instruksi yang membuat Anda mengelabui komputer agar beroperasi.

Sekarang, katakan Anda pekerja multitasking. Anda mendapatkan salah satu dari instruksi ini di jendela. Tapi, Anda sibuk, jadi Anda letakkan di bagian bawah tumpukan. Anda melihat bagian atas tumpukan barang yang harus Anda lakukan, dan ada serangkaian instruksi yang ditandai "antivirus". Dikatakan membaca semua kertas Anda, dan melihat apakah ada di antara mereka yang terlihat seperti kertas sampel mereka. Anda melakukannya, dan Anda melihat bahwa instruksi penghapusan ada di daftar Anda.

Perhatikan bahwa jika Anda mulai menjalankan instruksi virus, Anda tidak memikirkannya. Tanpa antivirus, tidak ada serangan, tidak ada respons kekebalan. Itu tidak menyerang Anda, itu hanya serangkaian instruksi. Antivirus hanyalah daftar TODO yang melibatkan melihat instruksi Anda yang lain dan menemukan yang cocok dengan suatu pola. Itu tidak mencoba untuk melestarikan sistem secara keseluruhan, itu hanya selembar kertas yang seseorang berikan kepada Anda dari jendela, karena itu mencegah orang lain menipu Anda untuk melakukan sesuatu dengan memasukkan barang-barang ke jendela.

Sekarang, bagaimana dengan virus "evolusi" Anda? Ini memang mungkin, tetapi mari kita lihat apa yang terkandung di dalamnya. Virus yang berkembang pada dasarnya adalah selembar instruksi yang memberi tahu Anda cara membuat lebih banyak instruksi. Itu adalah selembar kertas yang memberitahu Anda untuk menghapus banyak instruksi lama Anda, dan kemudian menempatkan yang baru di tempatnya, tetapi instruksi baru itu juga memberitahu Anda untuk menghapus instruksi lama, dan menempatkan yang baru, dan seterusnya. Jadi instruksi aslinya tidak berubah. Virus tidak bermutasi. Sebaliknya, itu hanya melakukan apa pun yang dilakukannya, sambil juga meninggalkan instruksi untuk membuat generasi berikutnya.

Jadi, mungkinkah melakukan ini? Iya. Tapi ini sangat rumit. Untuk memiliki program yang mengubah dirinya sendiri, tetapi memiliki urutan perubahan yang pada akhirnya tidak menyatu dengan program yang tidak berguna, sangat rumit.


Yah, sungguh, meskipun saya setuju dengan apa yang Anda katakan, di mana Anda mengatakan bahwa pada komputer, virus hanyalah instruksi biasa, hal yang sama berlaku untuk tubuh, pada sel biasa, virus hanyalah seperangkat instruksi tambahan, dan semua sel lakukan adalah membuat protein, dalam hal ini protein virus, itu adalah tugas sel darah putih untuk mendeteksi virus karena itu adalah tugas anti-virus untuk meminta deteksi virus. Begitulah cara virus bereplikasi, mereka memiliki ketergantungan pada kenyataan bahwa tubuh hanya akan mengikuti instruksi!
J_mie6

Dan, saya setuju dengan apa yang Anda katakan tentang membuat virus memiliki mutasi yang bermakna, tetapi jika Anda berpikir tentang virus nyata, mereka hanya seperangkat instruksi, seperti sebuah program. Ketika mereka bermutasi, mereka dapat merusak atau menguntungkan, namun pada akhirnya virus berkembang menjadi sesuatu yang baru. Itulah yang saya pikirkan, tidak masalah apakah mutasi itu baik atau buruk, hanya saja itu sering terjadi. Dan juga, saya suka analogi Anda :)
J_mie6

Saya kira, tetapi masalahnya adalah, tubuh memiliki fungsinya sendiri. Analogi hanya akan benar-benar berlaku jika tubuh adalah sesuatu yang tidak melakukan apa-apa selain memproses potongan DNA dari dunia luar sepanjang hari, dan virus adalah salah satu yang mengambil keuntungan dari itu. Idenya adalah bahwa tidak ada ide yang sama dari tubuh "asing", bahwa untuk komputer suatu program hanyalah sebuah program.
jmite

3

pertanyaan umum adalah tentang evolusi dalam malware. pertanyaan spesifiknya adalah tentang gen. memang ada mekanisme algoritma genetika yang menggunakan "gen" digital untuk optimisasi & tentu saja dapat digunakan dalam virus / malware, meskipun sepertinya tidak ada laporan sejauh ini "di alam liar". di sisi lain, malware memang telah berevolusi selama bertahun-tahun dari lebih dari keingintahuan teoritis ke satu yang melibatkan kejahatan dunia maya dan sebagainya, dengan meningkatnya kecanggihan dalam ancaman. sejauh ini sebagian besar didorong (tetapi tidak sepenuhnya!) oleh "evolusi" yang didorong oleh manusia-pengembang. virus komputer dalam beberapa hal dapat dikatakan secara umum berkembang meningkatkan "kecerdasan" atau "kecanggihan serangan" dari waktu ke waktu.

berikut adalah beberapa referensi yang mempelajari "evolusi / dalam malware".


Stuxnet telah nakal dan menginfeksi ISS.
noɥʇʎԀʎzɐɹƆ

1

Hal utama adalah menjalankan dan menjalankannya. Versi naif, yaitu Mengambil sebagian malware yang sudah ada yang berhasil, dan membuat setiap upaya reproduksi mengalami mutasi, kemungkinan besar akan mematikan malware dalam banyak kasus.

Namun, ini tidak berarti bahwa ia tidak dapat berevolusi, hanya saja tujuan semula, replikasi, dapat dihambat. Dengan tingkat mutasi yang cukup rendah dan kesabaran yang cukup, mutasi menguntungkan dan jinak akhirnya akan dipilih.

Satu masalah, bagaimanapun, adalah bahwa mereka AKAN berevolusi. Khususnya, mereka akan berevolusi berdasarkan prinsip murni Darwinian. Jika saya menulis sepotong kode yang mengeksekusi, dan kemudian, hanya pada eksekusi yang sukses, menyalin file biner 1000 kali ke 1000 lokasi dengan kesalahan acak atau beberapa di masing-masing dan mengeksekusi mereka semua, mungkin sepertinya saya telah membuat replikasi bergantung pada menyelesaikan tugas apa pun yang sedang dilakukan dengan sukses, tetapi dalam kenyataannya, replikasi hanya bergantung pada program. BERPIKIR telah menyelesaikan tugas itu dengan sukses.

Jadi ada kemungkinan yang adil bahwa jika ini adalah bagian dari malware, dua tujuan dasarnya, khususnya replikasi dan mengacaukan komputer orang, akan bertentangan satu sama lain. Dalam waktu yang cukup lama, suatu mutasi mungkin akan muncul untuk membuatnya tidak mengacaukan komputer mereka, membuatnya kurang penting bagi anti-virus untuk menangani, sehingga, mereplikasi dengan gejala minimal, seperti strategi awal yang paling efektif dalam pandemi atau wabah, atau membuatnya yakin bahwa itu bahkan berhasil mengacaukan komputer mereka sama sekali, mengubah fungsi utama menjadi intron cukup cepat karena gagal untuk mengeksekusi tetapi fungsi replikasi terus bekerja.

Banyak orang mengagumi efektivitas sistem kekebalan dalam mengalahkan segala macam ancaman, tetapi dalam banyak hal, komputer jauh, jauh lebih aman daripada sel. Komputer Anda sebenarnya tidak bisa mengunduh virus sejak awal. Sistem anti-virus sempurna dengan pengguna sempurna tidak perlu memindai hard drive sebelumnya. Kode komputer tidak bisa hanya dimasukkan secara fisik ke dalam hard drive.

Sel kontras, di mana virus telah mengembangkan beberapa mekanisme FISIK yang agak unik dari menyelinap pertahanan sel masa lalu. Sebagai contoh, beberapa virus benar-benar lembam sampai mereka menemukan sel, tetapi kemudian struktur fisik mereka mengambil dan dengan keras menusuk membran sel untuk menyuntikkan bahan genetik mereka. Ini seperti virus komputer yang secara fisik memotong mesin Anda dan menambahkan perangkat keras baru sementara OS dan antivirus Anda berpikir "ini baik-baik saja," dan jalankan kode yang ditemukan pada perangkat keras itu.

Jadi sebenarnya cukup mungkin bahwa semakin jinak kode, reproduksi yang lebih baik dapat dilakukan. Dalam beberapa kasus, evolusi mungkin lebih mudah meyakinkan pengguna untuk membantunya daripada mengembangkan antivirus baru. IE menambahkan sendiri ke file yang cenderung dibagikan dengan pengguna lain.

Jadi pada akhirnya, tampaknya lebih mungkin bagi saya bahwa kemungkinan replikasi lebih tinggi ketika tidak berguna sebagai bagian dari malware, dan mungkin masih lebih tinggi jika dapat meyakinkan pengguna atau kode anti-virus bahwa itu sebenarnya sesuatu yang jinak. , penting, atau bermanfaat.

Hal lain adalah bahwa sebagian besar mesin memiliki operasi yang tidak valid, jadi pengeditan acak untuk kode kemungkinan tidak hanya untuk mencegah fungsionalitas, tetapi juga hanya menyebabkan kode mogok, bahkan dengan memori yang tidak terlindungi.


0

Bayangkan program komputer yang tidak berbahaya sebagai mikroba di usus Anda. Bayangkan virus komputer sebagai bakteri infeksius.

Komputer tidak dapat membedakan antara bakteri baik dan bakteri jahat, tidak seperti sistem kekebalan tubuh.

Akan mudah untuk membuat program modifikasi sendiri, tetapi 99% dari mutasi akan menghasilkan kesalahan. Suatu program seperti daftar instruksi - dan komputer sangat ketat tentang bagaimana instruksi tersebut ditulis. Katakanlah kita memiliki program ini:

  1. Tambahkan satu sendok makan selai kacang.
  2. Tambahkan satu sendok makan jelly.
  3. Letakkan roti di atasnya.

Mutasi dapat menyebabkan program ini:

  1. Tambahkan satu sendok makan selai kacang.
  2. Tambahkan satu sendok makan jelly.
  3. Letakkan roti di atasnya.

Meskipun jelas bagi manusia itu berarti "kacang", itu tidak jelas bagi komputer. Saya bisa menulis skrip sederhana yang bermutasi dengan Python - tetapi sebagian besar mutasi waktu akan membuatnya gagal.

Akan sangat tertarik pada virus yang bermutasi dan bisa tetap hidup - kita bahkan mungkin mengklasifikasikannya sebagai kehidupan.


Ya, saya terlambat ke pesta - tetapi ini adalah topik yang menarik untuk ditulis.


Kebanyakan mutasi biologis juga merugikan.
adrianN

@adrianN Ya, dan proses biologisnya jauh lebih akurat dan ada miliaran salinan virus di setiap tubuh yang terinfeksi, semuanya bersaing dalam ras evolusi. Untuk komputer, hanya ada satu virus per komputer.
noɥʇʎԀʎzɐɹƆ
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.