WA: 0812 8595 8481
⋮
View : 1158 kali.
Materi Kuliah Komputer Forensik
12.04 Disassembly (Reverse Engineering Malware)
#
Secara umum pengertian Reverse Engineering adalah proses dari ekstraksi pengetahuan atau blue-print design dari apapun yang telah dibuat manusia. Konsep Reverse Engineering sudah ada sejak sebelum teknologi modern atau komputer dibuat. R.E biasa digunakan oleh industri untuk mengetahui suatu informasi dari proses, design, atau ide yang dibuat sebelumnya namun memiliki sedikit informasi untuk dikembangkan lebih lanjut.
* Debugging.
Dalam melakukan reverse engineering malware dapat dilakukan menggunakan sebuah prosedur malware analysis. Pada penelitian ini prosedur malware analysis menggunakan reverse engineering mengacu pada Ligh [4] dengan ilustrasi sebagaimana pada Gambar 1 berikut:
5.1. Menentukan SOP
Untuk memudahakan dalam melakukan penelitian ini digunakan standard of procedure untuk merincikan pembahasan yang akan dibahas pada pengujian malware. Pada penentuan SOP ditentukan pembahasan dibagi menjadi 6 yaitu:
1. Menentukan SOP
2. Define Malware
3. Goal malware Analysis
4. MAER (Malware Analysis Environment dan
Requirement)
5. Basic Analysis
6. Reverse Engineering cod
Pendefinisian Malware
Dengan menggunakan automated scan, seorang malware analis bisa memberikan hipotesa tentang jenis dan tipe malware. Akan tetapi automated scan memiliki kelemahan ketika sample malware baru ditemukan dan belum ada yang melakukan analis. Maka untuk mengetahui jenis dan tipe malware seorang malware analisa harus menganalisa sample malware secara manual.
Selengkapnya baca Paper sbb:
12.04 Disassembly (Reverse Engineering Malware)
#
Apa itu reverse engineering?
Reverse engineering adalah proses untuk membongkar sebuah software, elektronik, atau benda apapun untuk mendapatkan design atau pengetahuan dari objek tersebut.
Contoh sederhana: makanan bisa di-reverse engineer untuk mendapatkan resepnya. PCB bisa direverse engineering untuk mendapatkan file layoutnya. Software bisa direverse engineer untuk mendapatkan algoritmanya, key-nya, bug-nya dsb.
Dalam konteks software: reverse engineering bisa diartikan sebagai membaca kode dan biasanya kodenya dalam bahasa mesin. Beberapa tool memungkinkan kita bisa mengembalikan sebagian kode bahasa mesin kembali menjadi source code, tapi dalam banyak kasus kita perlu membaca kode yang dekat dengan bahasa mesin (assembly / byte code).
Reverse engineering adalah proses untuk membongkar sebuah software, elektronik, atau benda apapun untuk mendapatkan design atau pengetahuan dari objek tersebut.
Contoh sederhana: makanan bisa di-reverse engineer untuk mendapatkan resepnya. PCB bisa direverse engineering untuk mendapatkan file layoutnya. Software bisa direverse engineer untuk mendapatkan algoritmanya, key-nya, bug-nya dsb.
Dalam konteks software: reverse engineering bisa diartikan sebagai membaca kode dan biasanya kodenya dalam bahasa mesin. Beberapa tool memungkinkan kita bisa mengembalikan sebagian kode bahasa mesin kembali menjadi source code, tapi dalam banyak kasus kita perlu membaca kode yang dekat dengan bahasa mesin (assembly / byte code).
Secara umum pengertian Reverse Engineering adalah proses dari ekstraksi pengetahuan atau blue-print design dari apapun yang telah dibuat manusia. Konsep Reverse Engineering sudah ada sejak sebelum teknologi modern atau komputer dibuat. R.E biasa digunakan oleh industri untuk mengetahui suatu informasi dari proses, design, atau ide yang dibuat sebelumnya namun memiliki sedikit informasi untuk dikembangkan lebih lanjut.
Di dalam dunia tekologi informasi Reverse Engineering berhubungan erat dengan Software atau Aplikasi, istilah lain yang dikenal dari Reverse Engineering adalah Reverse Code Engineering. Menurut Zelster [3], Proses Reverse Engineering pada sebuah software atau aplikasi dapat dilakukan dengan cara :
* Assembly.
Assembly language merupakan bahasa pemrograman yang berada pada level rendah dari beberapa bahasa pemrograman yang dikenal selama ini. Bahasa assembly digunakan untuk sebuah mesin karena mesin tidak dapat mengenal bahasa pemrograman tingkat tinggi seperti java, basic, pascal, dll
* Disassembly.
* Disassembly.
Disassembly merupakan kebalikan dari proses assembly. Proses disassembly digunakan dalam teknik Reverse Engineering untuk menerjemahkan dari bahasa mesin ke bahasa yang mudah dimengerti manusia, yaitu bahasa assembly.
Related Link:
Memahami dasar assembly
* Debugging.
Proses debugging adalah proses pengujian dari software. Pada analisa malware debugging digunakan untuk melakukan pengujian dari setiap proses inti yang ada didalam malware. Proses pertama yang dilakukan dalam melakukan debugging adalah lagi sample malware kedalam ollydbg dan kemudian dijalankan mengikuti proses dari analisa sebelumnya. (Sikorski and Honig, 2012).
* X86 Arsitektur.
* X86 Arsitektur.
Dalam arsitektur x86 memiliki tiga komponen keras yaitu CPU, RAM, Input/Output (I/O). pada dasarnya pada internal dari kebanyakan arsitektur komputer modern yang termasuk juga x86 mengikuti arsitektur Von Neumann.
* Instruction.
* Instruction.
Instruksi adalah konstruksi yang dibangun dari program assembly. Dalam assembly x86 instruksi terdiri dari mnemonic dan nol atau lebih operands.
* Hashing.
* Hashing.
Hash merupakan identitas dari sebuah program seperti halnya sidik jari pada manusia. Proses hash dilakukan untuk verifikasi sebelum dan setelah proses analisa malware. Verifikasi tersebut dilakukan untuk mengetahui tidak adanya perubahan hash pada sample malware setelah dilakukan proses analisis.
* String Analysis.
String atau karakter dalam sebuah program seperti (.,A-) merupakan nilai yang akan dilakukan proses load oleh sample malware ketika dieksekusi. Hal ini yang menjadikan dalam proses reverse engineering harus dilakukan string analisis untuk mendapatkan bukti kuat dari sample malware.
* MAER (Malware Analysis Environment and Requirement).
MAER adalah ruang lingkup yang menjadi laboratorium analisis malware. MAER merupakan salah satu penentu seorang analis malware mendapatkan infromasi yang akurat dan efisien dari analisa yang dilakukan.
* Repository Malware.
* Repository Malware.
Repository malware merupakan tempat disimpannya sample malware yang telah berhasil melakukan serangan kedalam sistem komputer diamanapun. Repository malware dibuat untuk memberikan sample kepada seorang malware analis untuk melakukan analisa terhadap malware yang sudah berhasil melakukan serangan. (virusshare). Repository Malware adalah salah satu dari malware source yang dapat digunakan untuk kepentingan analisis. Selain menggunakan repository, sample untuk analisis dapat pula berasal dari honeypot yang terpasang atau berdasarkan kasus yang dialami sendiri. Terdapat beberapa acuan untuk kepentingan sample analisis malware yaitu : Virusshare, Contagio Malware Dump, Malshare, Malware.lu, MalwareBlacklist, MD Pro, Open Malware.
Tools Untuk Malware Analysis
Terdapat beberapa tools yang digunakan untuk kepentingan reverse engineering malware, yaitu :
* IDA Pro.
* IDA Pro.
Interaktif dissassembler professional atau yang biasa dikenal dengan IDA Pro merupakan tools dissassembler yang paling powerfull yang didistribusikan oleh Hex-Ray. Meskipun IDA Pro bukan satu - satunya tools dissassembler tapi merupkan tools pilihan bagi seorang malware analyst, reverse engineers, dan vulnerability analyst.
* OllyDbg.
* OllyDbg.
OllyDbg merupakan sebuah tools reverse engineering dengan melakukan debugging. Didalam ollydbg seorang engineer reverse engineering dapat melakukan peruabahan ataupun modifikasi alamat sebuah memory.
* PEID.
* PEID.
PEID merupakan sebuah tools untuk menganalisa string - string yang ada didalam malware. Didalam PEID juga terlihat platform dari program dibuat.
* Regshot.
* Regshot.
Regshot bekerja dengan cara melakukan snapshot sebanyak 2 kali pada system. Snapshot pertama diambil sebelum malware dieksekusi dan snapshot kedua diambil setelah malware dieksekusi. Pengambilan ini dilakukan untuk membandingkan perubahan apa yang dilakukan oleh malware kedalam system BinTEXT. BinTEXT merupakan sebuah tools untuk melakukan analisa string. Dengan melakukan analisa string menggunakan BinTEXT seorang malware analis dapat mendeskripsikan struktur program dibuat.
Tahapan Analisa menggunakan Reverse Engineering
Tahapan Analisa menggunakan Reverse Engineering
Dalam melakukan reverse engineering malware dapat dilakukan menggunakan sebuah prosedur malware analysis. Pada penelitian ini prosedur malware analysis menggunakan reverse engineering mengacu pada Ligh [4] dengan ilustrasi sebagaimana pada Gambar 1 berikut:
5.1. Menentukan SOP
Untuk memudahakan dalam melakukan penelitian ini digunakan standard of procedure untuk merincikan pembahasan yang akan dibahas pada pengujian malware. Pada penentuan SOP ditentukan pembahasan dibagi menjadi 6 yaitu:
1. Menentukan SOP
2. Define Malware
3. Goal malware Analysis
4. MAER (Malware Analysis Environment dan
Requirement)
5. Basic Analysis
6. Reverse Engineering cod
Pendefinisian Malware
Dengan menggunakan automated scan, seorang malware analis bisa memberikan hipotesa tentang jenis dan tipe malware. Akan tetapi automated scan memiliki kelemahan ketika sample malware baru ditemukan dan belum ada yang melakukan analis. Maka untuk mengetahui jenis dan tipe malware seorang malware analisa harus menganalisa sample malware secara manual.
Selengkapnya baca Paper sbb:
Materi Kuliah:
