Anda di halaman 1dari 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 Prayudi2
Jurusan Teknik Informatika, Fakultas Teknologi Industri, Universitas Islam Indonesia
Jl. Kaliurang KM 14,5 Yogyakarta 55584
Email:heruari.n@google.com1prayudi@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 Peoples
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

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

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

3.

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.

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

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

1.
2.
3.
4.
5.
6.

Menentukan SOP
Define Malware
Goal malware Analysis
MAER (Malware Analysis Environment dan
Requirement)
Basic Analysis
Reverse Engineering cod

4.

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:

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.
2.
3.
4.
5.
6.
7.
8.

Perubahan pada sistem yang terinfeksi malware


Perubahan konfigurasi pada sistem
Module yang digunakan atau diinfeksi oleh
malware
Komunikasi malware didalam network
Pencarian informasi server control
Data yang dicuri
Data yang dirusak
Infeksi malware sejenis

5.4. MAER (Malware Analysis Environment


dan Requirement)

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

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

fungsi
.text:0040327F
.text:0040328C

mov
xor

b.

ds:TerminateThread pemanggilan
edi, offset aExit_0 ; "exit\n"
eax, eax membersihkan register

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
.text:00403A9Eo
.data:0040C0F8
.text:00403A94
.text:00403A9E
.text:00403AA3
.text:00403AA6
.text:00403B65
.text:00403B6C

db 'ckzjqk',0

; DATA XREF:

; .text:00403B65r ...
mov
dword ptr [ebp-4A84h], 0
mov
edi, offset aCkzjqk ; "ckzjqk"
or
ecx, 0FFFFFFFFh
xor
eax, eax
movsx edx, byte ptr aCkzjqk ; "ckzjqk"
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
XREF: .text:00403700o

db 'download',0

; DATA

Pada alamat memory .data yang menyimpan


fungsi download memiliki proses yang terletak
pada alamat memory .text:00403700 adalah
sebagai berikut:
.text:00403700
.text:00403705
.text:00403708

push offset aDownload ; "download"


lea
ecx, [ebp-28h]
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.

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

.data:0040C145

align 4

.data:0040C148 aZxdosml
.text:00402A51o

db 'zxdosml',0

; DATA XREF:

.data:0040C17C aExe

db 'exe ',0 fungsi exe dijalankan

.data:0040C1C4 aBdkzt

db 'bdkzt',0

.data:0040C1CA

align 4

.data:0040C1CC aSleepSHours
.data:0040C1DB

db 'Sleep %s hours',0

align 4

.data:0040C1DC aExit_0
.text:0040327Fo

db 'exit',0Ah,0

; DATA XREF:

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
.text:004038E0o

db 'lists',0

; DATA XREF:

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
.text:004038E5
.text:004038E8

mov
or
xor

edi, offset aLists ; "lists"


ecx, 0FFFFFFFFh
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.

Anda mungkin juga menyukai