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
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
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
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.
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
call
fungsi
.text:0040327F
.text:0040328C
mov
xor
b.
ds:TerminateThread pemanggilan
edi, offset aExit_0 ; "exit\n"
eax, eax membersihkan register
Perintah exit
Perintah ckzjqk
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
Perintah download
db 'download',0
; DATA
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.
.data:0040C145
align 4
.data:0040C148 aZxdosml
.text:00402A51o
db 'zxdosml',0
; DATA XREF:
.data:0040C17C aExe
.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:
Perintah lists
db 'lists',0
; DATA XREF:
mov
or
xor