1.05.2012

CRC32

Cyclic Redundancy Check(CRC) merupakan salah satu fungsi hash yang dikembangkan untuk mendeteksi kerusakan data dalam proses transmisi ataupun penyimpanan.
CRC menghasilkan checksum yaitu nilai yang dihasilkan dari fungsi hash-nya, nilai inilah yang digunakan untuk mendeteksi error pada transmisi data atau penyimpanan.Nilai CRC dihitung dan digabungkan sebelum dilakukan transmisi data atau penyimpanan, dan kemudian penerima akan melakukan verifikasi mengenai tidak adanya perubahan atau kerusakan data.CRC32 melamgkan panjang checksum dalam bit. Bentuk CRC yang disediakan untuk algoritma sesuai dengan ide pembagian "polynomial" yang digunakan untuk memperhitungkan checksum yang sama dari seluruh algoritma CRC.
Algoritma CRC adalah cara terbaik dan teruji untuk pengecekan byte dalam jumlah besar pada suatu file yang telah termodifikasi
ataupun tidak.Algoritma ini mencari lewat seluruh jumlah byte dan menghasilkan angka 32 bit untuk menggambarkan isi file.
 Sangat minim kemungkinannya dua stream dari byte yang berbeda memiliki CRC yang sama. Algoritma CRC32 diandalkan juga untuk mengecek error yang terjadia dalam urutan byte.Dengan  CRC32 kemugkinan perubahan standar (penyimbpangan dari penghitungan CRC terhadap file) yang terjadi dapat dikendalikan. Perkembangan teknologi dan informasi membawa perubahan besar dalam penggunaan metode Checksum CRC32. Kini, banyak bermunculan software-software jahat (Malware) dan juga perkembangan virus komputer yang semakin canggih membuat metode Checksum CRC32 lantas digunakan untuk mengetahui mendeteksi virus dengan acuan nilai CRC32-nya.Nilai CRC32 adalah nilai yang didapat dari besar file dan nama file yang dibandingkan dengan tabel CRC32 yang sudah ada acuannya.

Untuk menghitung dengan  metode CRC32 dilakukan dengan beberapa cara, yaitu:

1. Perhitungan Tabel Lookup cara pertama kita harus menghitung kalkulasi tabel lookup yang berguna untuk menentukan standar isi dari tabel CRC32, yaitu dengan membandingkan nilai 255 yang heksanya FFFFFFFF dengan polynomial file yang telah distandarkan yaitu EDB88320 menggunakan Xor. Kemudian hasil dari perbandingan disimpan di tiap array 'F' yang berjumlah 255 array.

2. Untuk menghitung CRC32 suatu file kita perlu ukuran dari file tersebut dan mengeset standar perbandingan untuk CRC32 ke heksa FFFFFFFF. kemudian untuk mengecek nilai yang ada tiap byte nya, silahkan buat CRC32 generatornya

Cara Antivirus mengenali virus melalui metode checksum CRC32 :

-memilih file yang akan diperiksa
-mengambil informasi dari file tersebut, yaitu nama, ukuran
-menghitung checksum file yang diambil dari ukuran file dengan metode CRC32
-Hasil checksum tersebut dikumpulkan dalam database signature checksum CRC32 dari virus-virus yang telah dicari nilai checksum CRC32-nya.kemudian antivirus akan bekerja dengan menggunakan hasil tsb untuk mengenali bahwa program tersebut adalah virus.

Tetapi CRC tidak cukup aman karena telah ditemukan cara untuk melakukan reversing terhadap hasil CRC. Kemampuan untuk melakukan reverse terhadap nilai CRC ini dimanfaatkan ketika ingin melakukan manipulasi terhadap nilai CRC-nya. Hal ini sama halnya ketika melakukan proses kompresi data dengan menggunakan packer seperti UPX,PETITE, dll. File hasil kompresi ukurannya akan menjadi lebih kecil dari ukuran asli akan tetapi saat file dijalankan tetap berjalan dengan normal namun nilai dari checksum CRC32-nya telah berubah.

Untuk itu programmer antivirus tidak hanya menggunakan teknik checksum CRC32 saja tetapi juga menggunakan teknik:
-checksum MD5
-Heuristic Icon
-Pattern Tersendiri
-Antivirus tsb tidak menggunakan metode checksum dalam pendeteksian tetapi lebih cenderung mengacu string pada  body file. Trik ini biasa diaplikasikan pada mayoritas antivirus proffesional

sumber: Ilmu komputer

Tidak ada komentar:

Posting Komentar