Penggunaan Reverse Engineering

7
KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar. PENGGUNAAN TEKNIK REVERSE ENGINEERING PADA MALWARE ANALYSIS UNTUK IDENTIFIKASI SERANGAN MALWARE Heru Ari Nugroho 1 , Yudi Prayudi 2 Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia Jl. Kaliurang KM 14,5 Yogyakarta 55584 Email:[email protected] 1 [email protected] 2 Abstrak Paper ini membahas tentang penanganan serangan malware atau incidence response of malware attack. Trend keamanan sekarang ini telah berubah dari serangan oleh perseorangan (hacker) menjadi espionage dari sebuah negara (cyberwar). Ditemukan bukti dari catatan serangan malware terhadap sistem komputer didunia, bahwa malware dapat memberikan dampak yang lebih besar dari segi kerugian materiil dan non materiil. Setiap orang memiliki kemungkinan besar untuk terjangkit malware dalam sistem komputer yang dimiliki karena malware dapat menyerang melalui media disk (offline) maupun internet, sms, chat (online). Banyak yang beranggapan malware dapat ditangani oleh antivirus. Malware memiliki sistem pertahanan sendiri dan sangat dimungkinkan untuk menyembunyikan diri dari antivirus atau bahkan menginfeksi antivirus itu sendiri. Malware dapat ditangani dengan mengetahui cara kerja ketika melakukan serangan kedalam sistem komputer. Dengan kata lain malware dapat ditangani ketika berhasil dilakukan analisa dan mengetahui informasi yang dibawa oleh malware. Kata kunci : cyberwar, malware, internet, sms, chat, antivirus, komputer, disk 1. Pendahuluan Dalam beberapa tahun terakhir ini telah terjadi serangan malware yang cukup mengganggu komunitas dunia TIK. Salah satu serangan tersebut adalah sebagaimana yang diberitakan oleh situs www.thehackernews.com pada tanggal 9 Februari 2013. Dalam situs tersebut diberitakan malware dengan nama operasi APT1 telah berhasil menyerang sistem di beberapa negara. Kemudian setelah dilakukan analisa pada beberapa sample malware, serangan tersebut disinyalir didalangi oleh pemerintahan China dengan bukti yang telah berhasil diperoleh mengarah pada People’s liberation Army (PLA), General Staff Department (GSD), 3 rd Department (Military Cover Designator 61389). Malware telah dirancang secanggih mungkin untuk membuat celah didalam sistem. Berbagai cara proteksi seperti memasang IDS, IPS, Firewall tidak menjadi jaminan sistem aman dari serangan malware. Setiap malware diberikan teknologi pertahanan untuk melindungi dirinya sendiri dari segala ancaman. Dengan alasan tersebut dibutuhkan sebuah solusi dari serangan malware. Salah satu solusi dari serangan malware adalah mengetahui gerak malware ketika berada pada sistem. Untuk mengetahui gerak malware dibutuhkan sebuah analisa terhadap malware. Analisa malware dengan menggunakan Reverse Engineering merupakan salah satu solusi yang bisa digunakan saat ini. Reverse Engineering digunakan pada dunia keamanan untuk mencari sebuah informasi yang tidak diketahui atau disembunyikan. Informasi yang didapat merupakan sebuah celah dari sistem pertahanan. Sedangkan Reverse Engineering dalam analisis malware berguna untuk ekstraksi data yang memuat informasi yang ada didalam malware. Implementasi Reverse Engineering dalam analisa malware menjadi masalah tersendiri. Hal ini dikarenakan masih sedikitnya sumberdaya manusia yang bergerak pada bidang teknologi informasi yang mengetahui teknik reverse engineering pada analisa malware. Salah satu penyebabnya adalah karena proses reverse engineering pada analisa malware umumnya dilakukan dengan menggunakan bahasa assembly. Setiap kasus analisa malware menggunakan Reverse Engineering akan memiliki perbedaan perlakuan dalam hal analisanya. Oleh karena itu didalam implementasi Reverse Engineering seorang engineer harus menguasai arsitektur sistem yang dipelajari terutama pada aras rendah, yaitu pada

description

Penggunaan Reverse Engineering

Transcript of Penggunaan Reverse Engineering

Page 1: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

PENGGUNAAN TEKNIK REVERSE ENGINEERING PADA MALWARE ANALYSIS UNTUK IDENTIFIKASI SERANGAN

MALWARE

Heru Ari Nugroho 1, Yudi Prayudi2

Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia

Jl. Kaliurang KM 14,5 Yogyakarta 55584

Email:[email protected]@uii.ac.id2

Abstrak

Paper ini membahas tentang penanganan serangan malware atau incidence response of malware attack. Trend keamanan sekarang ini telah berubah dari serangan oleh perseorangan (hacker) menjadi espionage dari sebuah negara (cyberwar). Ditemukan bukti dari catatan serangan malware terhadap sistem komputer didunia, bahwa malware dapat memberikan dampak yang lebih besar dari segi kerugian materiil dan non materiil. Setiap orang memiliki kemungkinan besar untuk terjangkit malware dalam sistem komputer yang dimiliki karena malware dapat menyerang melalui media disk (offline) maupun internet, sms, chat (online). Banyak yang beranggapan malware dapat ditangani oleh antivirus. Malware memiliki sistem pertahanan sendiri dan sangat dimungkinkan untuk menyembunyikan diri dari antivirus atau bahkan menginfeksi antivirus itu sendiri. Malware dapat ditangani dengan mengetahui cara kerja ketika melakukan serangan kedalam sistem komputer. Dengan kata lain malware dapat ditangani ketika berhasil dilakukan analisa dan mengetahui informasi yang dibawa oleh malware. Kata kunci : cyberwar, malware, internet, sms, chat, antivirus, komputer, disk

1. Pendahuluan

Dalam beberapa tahun terakhir ini telah terjadi serangan malware yang cukup mengganggu komunitas dunia TIK. Salah satu serangan tersebut adalah sebagaimana yang diberitakan oleh situs www.thehackernews.com pada tanggal 9 Februari 2013. Dalam situs tersebut diberitakan malware dengan nama operasi APT1 telah berhasil menyerang sistem di beberapa negara. Kemudian setelah dilakukan analisa pada beberapa sample malware, serangan tersebut disinyalir didalangi oleh pemerintahan China dengan bukti yang telah berhasil diperoleh mengarah pada People’s liberation Army (PLA), General Staff Department (GSD), 3rd Department (Military Cover Designator 61389).

Malware telah dirancang secanggih mungkin untuk membuat celah didalam sistem. Berbagai cara proteksi seperti memasang IDS, IPS, Firewall tidak menjadi jaminan sistem aman dari serangan malware. Setiap malware diberikan teknologi pertahanan untuk melindungi dirinya sendiri dari segala ancaman. Dengan alasan tersebut dibutuhkan sebuah solusi dari serangan malware. Salah satu solusi dari serangan malware adalah mengetahui gerak malware ketika berada pada sistem. Untuk

mengetahui gerak malware dibutuhkan sebuah analisa terhadap malware.

Analisa malware dengan menggunakan Reverse Engineering merupakan salah satu solusi yang bisa digunakan saat ini. Reverse Engineering digunakan pada dunia keamanan untuk mencari sebuah informasi yang tidak diketahui atau disembunyikan. Informasi yang didapat merupakan sebuah celah dari sistem pertahanan. Sedangkan Reverse Engineering dalam analisis malware berguna untuk ekstraksi data yang memuat informasi yang ada didalam malware.

Implementasi Reverse Engineering dalam analisa malware menjadi masalah tersendiri. Hal ini dikarenakan masih sedikitnya sumberdaya manusia yang bergerak pada bidang teknologi informasi yang mengetahui teknik reverse engineering pada analisa malware. Salah satu penyebabnya adalah karena proses reverse engineering pada analisa malware umumnya dilakukan dengan menggunakan bahasa assembly.

Setiap kasus analisa malware menggunakan Reverse Engineering akan memiliki perbedaan perlakuan dalam hal analisanya. Oleh karena itu didalam implementasi Reverse Engineering seorang engineer harus menguasai arsitektur sistem yang dipelajari terutama pada aras rendah, yaitu pada

Page 2: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

level bagaimana sebuah mesin komputer bekerja mengikuti instruksi dari sebuah aplikasi.

Penelitian ini adalah sebuah upaya untuk memberikan gambaran solusi dalam penanganan atas serangan malware dengan cara melakukan analisa terhadap malware yang telah berhasil melakukan serangan. Analisa dengan Reverse Engineering digunakan untuk ekstraksi data informasi yang ada didalam malware sehingga dapat diketahui bagaimana malware tersebut bekerja dan membuat celah dan melakukan serangan kedalam sistem.

Pada penelitian dilakukan analisi terhadap Malware dengan nama operasi APT1. Jenis malware ini diketahui mulai menyerang pada tahun 2003 namun baru ditemukan pada tahun 2013. Dengan ditemukannya jenis malware tersebut maka hal berikutnya yang harus diungkap adalah bagaimana cara kerja dari malware tersebut. Dalam penelitian ini digunakan studi kasus analisa malware APT1 dengan nama Biscuit.

2. Teori Pendukung Malicous Software yang biasa dikenal dengan

sebutan malware merupakan sebuah aplikasi yang dirancang khusus untuk dapat menyusup kedalam sistem tanpa diketahui pemilik sistem. Aplikasi tersebut umumnya memuat sebuah perintah yang telah dibuat dengan tujuan khusus. Perintah tersebut seperti menyebarkan virus, Trojan, Worm, atau memasang backdoor didalam sistem. Lebih sederhananya Malware merupakan sebuah aplikasi yang dirancang untuk membuat celah pada keamanan sistem komputer. [2].

Malware yang pertama kali dikembangkan adalah dari jenis worm dan virus. Malware dari jenis worm dan virus menyebar sangat cepat melalui media penyimpanan dan local area network. Malware pada saat diciptakan hanya bertujuan sebagai tindakan jahil dari seseorang yang memiliki kemampuan program khusus untuk menjahili teman atau korban. Namun seiring dengan perkembangan teknologi dan jaringan internet malware menjadi sangat berbahaya [5].

Menurut Perdhana [5], terdapat 4 jenis atau type dari malware, yaitu : • Malware Tipe Infeksi. Malware pada tipe ini

melakukan serangan kedalam sistem dengan melakukan infeksi dan menggandakan diri ketika berhasil melakukan infeksi kedalam file atau sistem. Malware jenis ini lebih banyak ditemui dan paling banyak dikenal di kalangan pengguna teknologi informasi, Malware ini merupakan jenis virus, dan worm. Malware tipe ini lebih cepat menyebar dari sistem satu ke sistem lainnnya karena ditanamkan fungsi penggandaan diri didalamnya.

• Malware Tipe Tersebulung. Tipe malware ini akan diberikan teknologi untuk penyelamatan diri oleh pembuat malware. Teknik yang biasa

dilakukan adalah dengan melakukan kamuflase kedalam sistem, hal tersebut membuat user tidak menyadari bahwa sistem yang dimiliki telah terinfeksi malware. Teknik lain yang dilakukan adalah dengan membuat malware tersebut melakukan perlindungan diri dengan sendirinya dengan menginfeksi aplikasi service seperti svhost yang akan aktif dengan sendiri ketika sistem melakukan reboot. Teknik ini sedikit susah dalam penangannya karena sistem akan menolak ketika aplikasi malware terhapus karena akan menghapus sebuah service pada sistem. Cara yang bisa dilakukan dalam penghapusan adalah dengan mengetahui bagaimana Malware tersebut melakukan infeksi saat awal dan menghapus prosess tree dari struktur registry dan harus dilakukan secara manual.

• Malware Tipe Profit Oriented. Setiap Malware diciptakan untuk tujuan tertentu begitu juga dengan Malware pada tipe ini. Malware ini bekerja sesuai nama yang diberikan yaitu berhubungan dengan keuntungan pribadi, kelompok, organisasi, dan negara. Malware yang diciptakan untuk tujuan keuntungan financial maupun non financial ini banyak ditemukan melakukan infeksi dengan menyebar melalui trojan horse. Malware adalah sebuah program yang sudah

dibuat dalam bentuk executable, dalam bentuk compile ke: word, pdf, doc, dll extension, dll. Dengan hal tersebut kita membutuhkan sebuah teknik untuk dapat menganalisa malware tersebut. Ada 2 pendekatan dalam melakukan analisa malware: statis dan dinamis. Statis lebih kepada pendekatan struktur malware itu dibuat, dengan kata lain melakukan reverse engineering kepada malware tersebut. Sedangkan dinamis lebih kepada pendekatan analisa yang secara kasat mata atau dengan kata lain interaksi penuh dengan malware dengan menjalankan file malware tersebut. [2]

Dalam hal ini terdapat konsep dasar analisa malware dengan reverse engineering yaitu: • Malware Defined. Tahap pertama dalam

analisa malware adalah mengklasifikasikan type dan jenis sample malware. Pada tahapan pendefinisan ini merupakan sebuah tahapan peneliti malware memberikan hipotesa atau kesimpulan sementara dari type dan jenis malware.

• Define Goal Malware Analysis. Analisa Malware memiliki goal atau tujuan yang harus tercapai untuk membuktikan keberhasilan dari pembongkaran malware. secara umum tujuan itu menentukan apa yang terjadi, memastikan file, dan mesin yang mempunyai kemungkinan terkena infeksi Malware. selain itu juga Malware analisis memiliki goal untuk

Page 3: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

memberikan prosentase kemungkinan kerusakan yang diakibatkan oleh Malware.

• MAER (Malware Analysis Environtment and Requirement). Malware analysis environment merupakan pembahasan yang mengarah pada kebutuhan seorang peneliti malware dalam melakukan penelitian terhadap malware. Pada malware analisis environment tidak dijelaskan mengenai teknik atau proses analisa malware tetapi pembahasan ini mengarah pada komponen, design, dan arsitektur yang diperlukan dalam membangun laboratorium malware analisis. Komponen yang ada didalam MAER antara lain: Malware Source, Virtual machine environment, Network hub

• Malware Identification. Proses identifikasi malware merupakan sebuah tahapan seorang malware analys mendapatkan identitas dan data string dari sample malware.

• Monitoring Aktifitas Malware. Pada tahapan ini dilakukan monitoring dari perilaku malware untuk mengetahui bagaimana malware berinteraksi dengan sistem. Tahap ini dibutuhkan untuk memudahkan ketika dilakukannya proses disassembly karena sudah mengetahui alur proses dari sample malware.

• Disassembly, Decompile, Debugging. Tahap ini merupakan tahapan yang paling dominan dalam melakukan reverse engineering malware. Pada tahap debugging, assembly, dan disassembly dilakukan pembongkaran source dari malware untuk mencari informasi untuk membuktikan hipotesa awal setelah dilakukan tahapan sebelumnya.

3. Reverse Engineering 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. [1]. Di dalam dunia tekologi informasi Reverse Engineering berhubungan erat dengan Software atu 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 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.

• 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. 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. Instruksi adalah konstruksi yang dibangun dari program assembly. Dalam assembly x86 instruksi terdiri dari mnemonic dan nol atau lebih operands.

• 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 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

Page 4: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

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.

4. Tools Untuk Malware Analysis Terdapat beberapa tools yang digunakan untuk kepentingan reverse engineering malware, yaitu : • 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 merupakan sebuah tools reverse engineering dengan melakukan debugging. Didalam ollydbg seorang engineer reverse engineering dapat melakukan peruabahan ataupun modifikasi alamat sebuah memory.

• PEID. PEID merupakan sebuah tools untuk menganalisa string – string yang ada didalam malware. Didalam PEID juga terlihat platform dari program dibuat.

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

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

Gambar 1 Standard Prosedur Reverse Engineering

Malware

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

5.3. Goal Malware Analysis

Pada penelitian ini digunakan Malware APT1 dengan nama Biscuit. Gol analysis untuk malware ini adalah sebagai berikut :

Nama : BISCUIT MD5 : 70A55FDC712C6E31E013E65D412B0D6 Tipe : Trojan variant

Hipotesa : malware berfungsi sebagai Trojan yang berkomunikasi melalui networking dengan server control. Malware ini merupakan malware dengan sifat Trojan atau backdoor yang mempunyai kemungkinan berkomunikasi dengan pembuat malware melalui network. Dengan hipotesa yang telah dikemukakan maka goal malware analisys dengan sample biscuit adalah sebagai berikut: 1. Perubahan pada sistem yang terinfeksi malware 2. Perubahan konfigurasi pada sistem 3. Module yang digunakan atau diinfeksi oleh

malware 4. Komunikasi malware didalam network 5. Pencarian informasi server control 6. Data yang dicuri 7. Data yang dirusak 8. Infeksi malware sejenis

5.4. MAER (Malware Analysis Environment dan Requirement)

Page 5: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

Sangatlah berbahaya ketika membiarkan sebuah malware berjalan didalam sistem komputer yang telah terhubung dengan jaringan internet. Malware dapat menyebar dengan cepat tanpa diketahui oleh pemilik sistem kemudian melakukan infeksi kedalam sistem lain. Untuk melakukan recovery membutuhkan waktu dan biaya yang sangat tinggi. Untuk malware yang baru ditemukan dan belum dilakukan analisa sangatlah sulit untuk dihapus karena antivirus masih tidak mendeteksi bahwa file yang menyerang adalah sebuah malware.

Pada penelitian ini ditentukan MAER sebagai penunjang penelitian. MAER merupakan komponen penting dalam malware analysis karena MAER merupakan sebuah media laboratorium untuk analisa malware. MAER dalam penelitian ini antara lain: 1. Malware Repository menggunakan virusshare. 2. Virtual Machine Environment menggunakan

virtualbox. 3. Network Hub menggunakan konfigurasi host

only adapter.

5.5. Hashing Sample Malware Untuk memastikan bahwa sample malware

yang akan dianalisis adalah sama dengan malware aslinya, maka dilakukan verifikasi melalui kecocokan nilai md5. Dalam penelitian ini digunakan md5sum untuk melakukan proses hashing kemudian dikomparasikan dengan CFFExplorer untuk validasi. Pada analisa yang dilakukan dengan menggunakan program md5sum dan CFFExplorer nilai hash terlihat sama, berarti data yang didapat adalah valid. Md5 dari sample malware adalah:

70A55FDC712C6E31E013E65D412B0D6

5.6. Pencarian String Proses string analisis dilakukan pada karakter

ASCII yang ada didalam program malware bukan pada hexadecimal dari program. Untuk melakukan string analisis digunakan program Bintext. Dari hasil analisa didapat beberapa informasi dari malware yaitu: bdkzt, ckzjqk, download, exe, exit, lists.

5.7. Packing dan Unpacking Pada proses packing dan unpacking didapat

sejumlah informasi dari malware circuit, antara lain: • Nilai First bytes pada program adalah: 55, 8B,

EC, 6A • System yang mendukung malware adalah

Win32GUI • Platform dari program malware adalah:

Microsoft Visual C++ versi 6.0 • Malware mempunyai data yang tersimpan

didalam sebuah penyimpanan sementara atau memory yaitu: .text, .rdata, .data, .rsrc

Gambar 2 String Malware

5.8. Monitoring Proses malware Setelah dilakukan monitoring proses

ditemukan malware dieksekusi dalam thread single. Tidak bergantung pada proses lain.

6. Comparing Registry Comparing registry dalam penelitian ini

menggunakan regshot sebagai alat bantu. Regshot dijalankan pada saat melakukan Sniffing dan debugging. • Sniffing Network. Pada penelitian ini

digunakan wireshark sebagai bantuan untuk melakukan capture network traffic. Seperti yang diketahui wireshark merupakan tools untuk menganalisa network traffic yang masuk ataupun keluar dari jaringan yang dimiliki namun wireshark pada satu kondisi bisa jadi tools yang buruk untuk keperluan lain seperti sniffing. Seperti pada pembahasan sebelumnya dari teknik analisa menggunakan tools wireshark didapatkan informasi malware bahwa melakukan kontak dengan dunia luar melalui protocol ssl yaitu https untuk alamat ctcs.bigdepression.com.

Gambar 3 Hasil Proses Sniffing

Pada Gambar 3 hasil sniffing dan analisa network didapat informasi koneksi ke ctcs.bigdepression.net dengan ip 114.101.115.115.

• Debugging, Assembly, Disassembly. Pada analisa ini malware buka dalam aplikasi

Page 6: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

debugger yaitu IDAPro. Setelah malware terbuka selanjutnya adalah melakukan analisa command yang ada didalam malware yang telah dilist diatas. Berikut ini adalah contoh analisa command dari malware sample : .text:00401010 push 0; hModule load module windows .text:00401012 call ds:GetModuleFileNameA load module ketika diload oleh proses lain .text:0040101D push offset SubKey ; "SOFTWARE\\Microsoft\\Windows\\Currentversi"... menambahkan key pada regsitry .text:00401022 push 80000002h ; hKey membuat keystring pada regsitry .text:00401027 call ds:RegOpenKeyA membuka registry yang telah dibuat .text:00401046 push offset ValueName ; "APVSVC" menambahkan string APVSVC pada registry

Dari hasil analisa tersebut dapat dilihat malware telah memanggil module :

“push 0 ; hModule”, “call ds:GetModuleFileNameA”

hal tersebut menandakan malware berjalan dengan baik didalam IDAPro. Selanjutnya analisa difokuskan pada prosedur jalannya malware untuk melakukan fungsi yang ada pada malware. fungsi pertama yang akan dicari adalah bdkzt yang berfungsi sebagai proses yang memanggil command shell.

a. Perintah bdkzt .data:0040C1C4 aBdkzt db 'bdkzt',0 fungsi bdkzt launch command proses .data:0040C1CA align 4 .data:0040C1CC aSleepSHours db 'Sleep %s hours',0 mode perintah sleep .data:0040C1DB align 4 .data:0040C1DC aExit_0 db 'exit',0Ah,0 ; DATA XREF: .text:0040327Fo .data:0040C1E4 aExit db 'exit',0 ; DATA XREF: .text:loc_40324Ao close connection dan sleep

Dapat dilihat dari hasil assembly diatas “bdkzt” dengan perintah launch command shell berfungsi untuk mendukung dari perintah “exit” untuk melakukan close connection dan sleep. Untuk fungsi command “exit” sendiri memiliki prosedur yaitu:

.text:0040326F call ds:TerminateThread pemanggilan fungsi .text:0040327F mov edi, offset aExit_0 ; "exit\n" .text:0040328C xor eax, eax membersihkan register b. Perintah exit

Command “exit” melakukan pemanggilan pada perintah TerminatedThread yang berarti menghentikan suatu proses kemudian akan menaruh data pada memori “edi” dengan fungsi exit dan memindahkan data kedalam “edx” dan akan menghapus register.

c. Perintah ckzjqk

Proses selanjutnya adalah pembongkaran pada fungsi “ckzjqk”. Fungsi dari perintah tersebut adalah get system information. Sekarang kembali pada IDAPro yang sudah meload sample malware untuk melihat pada proses “ckzjqk”. .data:0040C0F8 aCkzjqk db 'ckzjqk',0 ; DATA XREF: .text:00403A9Eo .data:0040C0F8 ; .text:00403B65r ... .text:00403A94 mov dword ptr [ebp-4A84h], 0 .text:00403A9E mov edi, offset aCkzjqk ; "ckzjqk" .text:00403AA3 or ecx, 0FFFFFFFFh .text:00403AA6 xor eax, eax .text:00403B65 movsx edx, byte ptr aCkzjqk ; "ckzjqk" .text:00403B6C push edx

Pada proses tersebut terdapat 2 proses yang berjalan. Pertama adalah pada perintah “DATA XREF: .text:00403A9E” dan “text:00403B65”. Pada masing data yang ada didalam text 00403A9E adalah memindahkan data ke alamat memori “edi” dengan nilai offset “ckzjqk” yang merupakan perintah untuk mendapatpatkan informasi dari sistem yang terinfeksi malware. Pada proses selanjutnya adalah menambahkan data pada alamat memori edx dengan set byte “ckzjqk”.

d. Perintah download

Sekarang pada masuk lagi pada tahapan selanjutnya yaitu pada fungsi “download”. Fungsi download adalah mentransfer file kedalam server c2. Fungsi server c2 dalam dunia malware adalah sebagai server control ketika malware berhasil melakukan serangan. .data:0040C110 aDownload db 'download',0 ; DATA XREF: .text:00403700o

Pada alamat memory “.data” yang menyimpan fungsi “download” memiliki proses yang terletak pada alamat memory “.text:00403700” adalah sebagai berikut:

.text:00403700 push offset aDownload ; "download"

.text:00403705 lea ecx, [ebp-28h]

.text:00403708 call sub_406330

Pada proses “download” fungsi download diset pada alamat offset aDownload :‘download’ yang kemudian akan memanggil fungsi “sub_406330”. Perintah pemanggilan fungsi sub merupakan proses locate character pada block memory. loc_406365: mov edi, [esp+14h+arg_0] push ebp ; size_t movsx eax, byte ptr [edi] e. Perintah exe

Pada perintah “exe” diketahui merupakan fungsi yang memberikan perintah untuk launch program yang ada didalam operating sistem. Sekarang akan dilakukan pembongkaran apa yang sebenarnya malware lakukan dalam fungsi tersebut.

Page 7: Penggunaan Reverse Engineering

KNSI 2014, 27-28 Februari 2015, STMIK Dipanegara Makasar.

.data:0040C145 align 4

.data:0040C148 aZxdosml db 'zxdosml',0 ; DATA XREF:

.text:00402A51o

.data:0040C17C aExe db 'exe ',0 fungsi exe dijalankan

.data:0040C1C4 aBdkzt db 'bdkzt',0

.data:0040C1CA align 4

.data:0040C1CC aSleepSHours db 'Sleep %s hours',0

.data:0040C1DB align 4

.data:0040C1DC aExit_0 db 'exit',0Ah,0 ; DATA XREF:

.text:0040327Fo

Pada tanda yang dibold diatas ternyata fungsi pada perintah “exe” memiliki satu kesatuan dengan beberapa fungsi yang ada didalam malware. Perintah yang memiliki hubungan dengan perintah pada exe adalah: azxdosml, bdkzt, exit. Fungsi pada perintah “exe” merupakan perintah pendukung dari perintah lain. Seperti yang diketahui perintah “exe” merupakan perintah untuk launch spesifik program yang berarti memberikan sebuah perintah untuk membuat sebuah proses didalam sistem.

f. Perintah lists

Perintah lists digunakan untuk lists server oleh malware. .data:0040C100 aLists db 'lists',0 ; DATA XREF: .text:004038E0o

Pada alamat yang dibold ternyata proses tersebut menuju pada proses lain. Diketahui pada alamat memory yang dituju yatu : DATA XREF: .text:004038E0o. Selanjutnya dilihat proses apakah yang berada pada alamat tersebut. .text:004038E0 mov edi, offset aLists ; "lists" .text:004038E5 or ecx, 0FFFFFFFFh .text:004038E8 xor eax, eax

Ternyata bukan pada proses lain tetapi merupakan satu fungsi dari fungsi perintah “lists”. Pada perintah diatas terlihat bahwa malware memindah data dari alamat “edi” ke alamat “ecx” kemudian akan menghapus memory pada alamat “eax”.

Hasil yang didapat dari proses reverse engineering pada malware Biscuit adalah gambaran bagaimana cara kerja dari malware tersebut. Hal mendasar dari cara kerja malware tersebut adalah adanya auto request untuk koneksi ke ip tertentu yaitu ip pada alamat : 114.101.115.115. Selanjutnya proses reverse engineering melalui penulusuran perintah : bdkzt, ckzjqk, download, exe, exit dan lists telah dapat memetakan bagaimana cara kerja dari malware Biscuit.

6. Kesimpulan dan Saran

Berdasarkan hasil yang diperoleh pada saat implementasi, hasil, dan pembahasan, maka dapat ditarik kesimpulan yaitu: • Proses klasifikasi atau pengidentifikasian

malware dapat dilakukan dengan terlebih

dahulu melakukan upload sample malware kedalam sistem repository malware.

• Proses reverse engineering malware dapat dilakukan dengan standar prosedur sebagai berikut : Mendefinisikan malware, menentukan goal malware analisis, menentukan MAER (malware analisis environment and requirement), mengidentifikasi malware untuk mendapatkan identitas dari malware. identifikasi dapat dilakukan dengan mengetahui md5 dari sample malware, pencarian string yang ada didalam malware, dan linked libraries dari malware. Setelah semua tahap yang sebelumnya dilakukan maka tahap selanjutnya adalah memonitoring setiap gerakan malware untuk mendapatkan data atau informasi yang akan dilakukan analisa lebih lanjut. Tahap yag terakhir dari proses reverse engineering malware adalah melakukan debugging, assembly code translate. Hal ini dilakukan untuk melakukan pengujian pada fungsi utama dari malware diciptakan oleh pembuatnya. Malware adalah topik penelitian yang masih

sangat terbuka luas. Selain memanfaatkan Reverse Engineering, menurut Vinod [6] deteksi malware dapat dilakukan pula menggunakan signature base detection, behaviour based.

Daftar Pustaka:

[1] Eilam, Eldad, 2007, Reversing, Secreet of Reverse Engineering, Indianapolis, Whiley Publishing.

[2] Sikroski, Michael. Honig, Andrew, 2012, Practical Malware Analysis, San Fransisco

[3] Zelster, Lenny, 2001, Reverse Engineering Malware, www.zelster.com

[4] Ligh, M. H., Adair, S., Hartstein, B., & Richard, M. (2011). Malware Analyst’

[5] Perdhana, M. R, 2011. Harmless Hacking Malware Analysis dan Vulnerability development. Yogyakarta: Graha Ilmu.

[6] Vinod P and Laxmi,M.S.Gaur, 2009, Survey On Malware Detection Methods, Hack In, New Delhi.