Kod polimorf: Perbezaan antara semakan

Daripada Wikipedia, ensiklopedia bebas.
Kandungan dihapus Kandungan ditambah
Yosri (bincang | sumb.)
Yosri (bincang | sumb.)
Kearah memperkasakan bahasa Melayu sebagai bahasa ilmu.
Baris 57: Baris 57:
CryptoKey:
CryptoKey:
nombor_rawak
nombor_rawak

== Lihat juga ==
* [[Garis masa virus komputer dan cecacing yang terkenal ]]
* [[kod metamorfik]]
* [[kod ubah sendiri|Kod ubah sendiri (''Self-modifying code'')]]
* [[kod alphanumerik|kod alphanumerik (''alphanumeric code'')]]
* [[kod kerangka|kod kerangka (''shellcode'')]]
* [[pemecah perisian|pemecah perisian (''software cracking'')]]
* [[pemecah keselamatan|pemecah keselamatan (''security cracking'')]]


== Rujukan ==
== Rujukan ==

Semakan pada 09:53, 3 April 2008

Dalam terminologi komputer, kod polimorf merupakan kod yang mutasi tetapi mengekalkan algorithm asal. Teknik ini kadang-kala digunakan oleh virus komputer, kod kerangka (shellcode) dan cecacing komputer bagi menyembunyikan kehadiran mereka.

Kebanyakan perisian anti-virus dan 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. Algorithm polimorf menjadikannya sukar bagi perisian sebegini bagi mencari kod tersebut kerana ia sentiasa berubah.

Enkripsi merupakan kaedah paling banyak digunakan bagi mencapai polimorf bagi kod. Bagaimanapun, bukan semua kod boleh dienkrip kerana ia akan menjadikannya tidak boleh digunakan langsung. Sebahagian kecil darinya kekal tidak dienkrip dan digunakan bagi memulakan perisian dienkrip. Perisian anti-virus mensasarkan kod kecil yang tidak dienkrip ini.

Pengaturcara berniat jahat cuba melindungi kod polimorf dari strategi pengimbasan virus dengan menulis semula enjin yang tidak dienkrip setiap kali virus atau cecacing membiak. Perisian anti-virus menggunakan penganalisa pola rumit bagi mencari pola dasar dalam pelbagai mutasi enjin penyah dekrip yang berlainan, dengan harapan dapat mengesan 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 (security cracking) Bulgaria yang menggunakan nama samaran (pseudonym) Dark Avenger sebagai cara mengelakkan pengecaman pola oleh perisian anti-virus.


Contoh

Algorithm 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.

Algorithm asal:

Start:
GOTO Decryption_Code
Encrypted:
    ...
    banyak kod dienkrip 
    ...
Decryption_Code:
    A = Encrypted
Loop:
    B = *A
    B = B XOR CryptoKey
    *A = B
    A = A + 1
    GOTO Loop IF NOT A = Decryption_Code
    GOTO Encrypted
 CryptoKey:
    some_random_number

Algorithm yang sama, tetapi dengan banyak perubahan kod C yang tidak diperlukan:

Start:
GOTO Decryption_Code
Encrypted:
    ...
    lots of encrypted code
    ...
Decryption_Code:
    C = C + 1
    A = Encrypted
Loop:
    B = *A
    C = 3214 * A
    B = B XOR CryptoKey
    *A = B
    C = 1
    C = A + B
    A = A + 1
    GOTO Loop IF NOT A = Decryption_Code
    C = C^2
    GOTO Encrypted
 CryptoKey:
    nombor_rawak

Lihat juga

Rujukan