Kod polimorf: Perbezaan antara semakan

Kandungan dihapus Kandungan ditambah
Yosri (bincang | sumb.)
Kearah membina masyarakat yang cermerlang, gemilang lagi terbilang
Aurora (bincang | sumb.)
kemaskini
Baris 1:
Dalam terminologi komputer, '''kod polimorf''' merupakan kod yang mutasi tetapi mengekalkan [[algorithmalgoritma]] asal. Teknik ini kadang-kala digunakan oleh [[virus komputer]], [[kod kerangka|kod kerangka]] (''shellcode'')]] dan [[cecacing komputer]] bagi menyembunyikan kehadiran mereka.
 
Kebanyakan perisian anti-virus dan [[sistem pengesanan pencerobohan |sistem pengesanan pencerobohan]] (''intrusion detection system]]'') cuba untuk mengesan kod jahat dengan menapis fail komputer dan paket data yang dihantar menerusi [[jaringan komputer]]. Sekiranya perisian keselamatan menjumpai pola yang sama dengan virus komputer atau cecacing yang dikenali, ia mengambil langkah sewajarnya bagi menangani ancaman tersebut. AlgorithmAlgoritma polimorf menjadikannya sukar bagi perisian sebegini bagi mencari kod tersebut kerana ia sentiasa berubah.
 
[[EnkripsiPenyulitan]] merupakan kaedah paling banyak digunakan bagi mencapai polimorf bagi kod. Bagaimanapun, bukan semua kod boleh dienkripdisulitkan kerana ia akan menjadikannya tidak boleh digunakan langsung. Sebahagian kecil darinya kekal tidak dienkripdisulitkan dan digunakan bagi memulakan perisian dienkrippenyahsulitan. Perisian anti-virus mensasarkan kod kecil yang tidak dienkripdisulitkan ini.
 
Pengaturcara berniat jahat cuba melindungi kod polimorf dari strategi pengimbasan virus dengan menulis semula enjin yang tidak dienkripdisulitkan setiap kali virus atau cecacing membiak. Perisian anti-virus menggunakan penganalisa pola rumit bagi mencari pola dasar dalam pelbagai mutasi enjin penyah dekrippenyahsulit yang berlainan, dengan harapan dapat mengesan [[perisian perosak|perisian perosak]] (''malware'')]] sebegini.
 
Virus polimorf pertama yang diketahui ditulis oleh oleh Mark Washburn. Virus ini dikenali sebagai [[virus komputer 1260]], ditulis pada 1990. Virus polimorf yamh lebih terkenal dicipta pada 1992 oleh seorang [[pemecah keselamatan|pemecah keselamatan (''security cracking'')]] Bulgaria yang menggunakan [[nama samaran|nama samaran (''pseudonym'')]] [[Dark Avenger]] sebagai cara mengelakkan pengecaman pola oleh perisian anti-virus.
 
Virus polimorf pertama yang diketahui ditulis oleh oleh Mark Washburn. Virus ini dikenali sebagai [[virus komputer 1260]], ditulis pada 1990. Virus polimorf yamh lebih terkenal dicipta pada 1992 oleh seorang [[pemecah keselamatan|pemecahperekah keselamatan (''security crackingcracker'')]] Bulgaria yang menggunakan [[nama samaran|nama samaran]] (''pseudonym'')]] [[Dark Avenger]] sebagai cara mengelakkan pengecaman pola oleh perisian anti-virus.
 
== Contoh ==
AlgorithmAlgoritma yang menggunakan, sebagai contoh, pemboleh ubah A dan B tetapi bukan pemboleh ubah C mampu kekal walaupun anda memasukkan banyak kod yang mengubah kandungan kepada pemboleh ubah C.
 
AlgorithmAlgoritma asal:
 
Start:
Baris 19 ⟶ 18:
Encrypted:
...
banyaklots kodof dienkripencrypted code
...
Decryption_Code:
Baris 33 ⟶ 32:
some_random_number
 
AlgorithmAlgoritma yang sama, tetapi dengan banyak perubahan kod C yang tidak diperlukan:
 
Start:
Baris 58 ⟶ 57:
nombor_rawak
 
Kod dalam "enkripsiEncrypted" ("banyak kod dienkripdisulitkan") kemudian boleh mencari kod antara Decryption_Code dan CryptoKey dan menyingkir kesemua kod yang menukar pemboleh ubah C. Sebelum enjin pengenkrippenyulit digunakan sekali lagi, ia boleh meletakkan kod baru yang tidak dieprlukandiperlukan yang menukar C, malah menukar kod dalam algorithmalgoritma dengan kod baru yang melakukan perkara yang sama. Biasanya penulis kod menggunakan kunci sifar (sebagai contoh; A [[xorXOR]] 0 = A) bagi virus generasi pertama, menjadikannya mudah baginya kerana dengan kunci ini kod tidak dienkripdisulitkan. Dia kemudiannya melaksanakan algorithmalgoritma kunci meningkat atau secara rawak.
 
 
Teknik polimorf lain adalah dengan memasukkan secara automatik [[NOP]] (''No Operation'') atau kod operasi (''opcodes'') lain yang tidak menukar algorithmalgoritma asas.
 
== Lihat juga ==
* [[Garis masa virus komputer dan cecacing yang terkenal ]]
* [[kodKod metamorfikmetamorf]]
* [[kod ubah sendiri|Kod ubah sendiri]] (''Self-modifying code'')]]
* [[kod alphanumerik|kodKod alphanumerik]] (''alphanumeric code'')]]
* [[kod kerangka|kodKod kerangka]] (''shellcode'')]]
* [[pemecah perisian|pemecahPerekahan perisian]] (''software cracking'')]]
* [[pemecah keselamatan|pemecahPerekahan keselamatan]] (''security cracking'')]]
 
== Rujukan ==