Analisis malware meliputi tiga jenis utama yaitu analisis permukaan, analisis dinamis, dan analisis statis. Analisis permukaan melihat ciri-ciri malware, analisis dinamis melihat perilaku malware saat dijalankan, sedangkan analisis statis melakukan reverse engineering kode malware.
1. Malwar e Anal ysis
Digit Oktavianto
24 November 2012
http://digitoktavianto.web.id
digit dot oktavianto at gmail dot com
2. About Me
• IT Security Enthusiast (Opreker)
• Member Indonesian Honeynet Chapter
• Member OWASP Indonesian Chapter
• Coordinator in System Adminstration
CloudIndonesia
• Linux Activist (KPLI Jakarta)
3. Introduction to The Honeynet
Project
• Goal: Improve security of Internet at no cost to the
public
• Awareness: Raise awareness of the threats that exist
• Information: For those already aware, teach and
inform about latest threats
• Research: Give organizations the capabilities to learn
more on their own
4. Introduction to The Honeynet
Project
• Global membership of volunteers with diverse skills
and experiences
• Deploys networks of computer systems around the
world with the explicit intention of being hacked
• Share all of our tools, research and findings, at no
cost to the public
• Members release regular activity status reports
• ¨Know Your Enemy¨ (KYE) white papers regularly
published on current research topics
• Committed to open source and creative commons
• Partially funded by sponsors, nothing to sell!
5. Introduction to The Honeynet
Project
• Know Your Tools:
• Honeypot (Nepenthes Dionaea)
• USB Honeypot
• Capture-HPC (Client Honeypot)
• APKInspector – Static Analysis of Android Apps
• Cuckoo – Automated Malware Analysis
• Droidbox – Android Sandbox
• Glastopf – Vulnerable Web Honeypot
• Kippo – SSH Honeypot
• More … (http://honeynet.org/project)
10. Indonesia Chapter
• 25 November 2011, about 15
people from academia, security
professionals and government
made the declaration during
our yearly malware workshop
at SGU (Swiss German
University)
• 19 January 2012 accepted as
part of Honeynet Chapter
• Members: 35 (today)
11. Introduction to The Honeynet
Project
Join us at:
• http://www.honeynet.org/chapters/indonesia
• http://www.honeynet.or.id
• Join us: id-honeynet@groups.google.com
• Facebook : The Honeynet Project (Global)
13. Virus
• Virus adalah program komputer yang dapat menggandakan
dirinya dan menginfeksi host-host yang terkontaminasi.
• Aktifitas yang sering dia lakukan adalah menginfeksi file /
folder lain, dan menyamarkan diri nya dengan menggunakan
nama file /folder tersebut
• Virus juga biasanya menggunakan nama yang menarik,
sehingga korban tanpa sadar akan mengeksekusinya.
• Virus dapat menyebar ke komputer lain melalui removeable
media, atau juga melalui jaringan
14. Spyware
• Spyware adalah jenis malware yang tujuannya
adalah mengumpulkan data / informasi yang
dimiliki oleh user tanpa sepengetahuan user
tersebut. Program ini biasanya mematai-matai
aktifitas yang kita lakukan, dan program ini
biasanya mengirimkan data / informasi kita ke si
pembuat program tersebut
• Keylogger, Adware, masuk dalam kategori
malware jenis ini
15. Trojan
• Trojan adalah jenis malware dimana program
ini menyamar seolah-olah sebagai aplikasi
yang legitimate.
• Trojan ini biasanya digunakan oleh hacker
untuk menanam malicious program di dalam
aplikasi asli yang kita download, atau biasa
disebut dengan packer
16. Worm
• Worm adalah malicious program yang biasanya menyebar
melalui jaringan dan internet. Ciri khas nya adalah
menggandakan diri.
• Perbedaan antara virus dan worm adalah cara
penyebaran dan metode penyerangannya. Virus
menyebar karena adanya interaksi user, dimana worm
menyerang jaringan komputer dengan menggandakan
dirinya sehingga membebani kinerja CPU dan membuat
jaringan menjadi lambat, tanpa adanya interaksi dengan
user.
• Botnet masuk dalam kategori malware jenis ini
17. Backdoor
• Backdoor ini merupakan malicious program
yang biasanya digunakan oleh worm dan
trojan.
• Backdoor ini biasa digunakan sebagai pintu
belakang untuk menyusup kembali ke host-
host yang telah “kesusupan” sebelumnya
18. Rootkit
• Rootkit adalah program yang menyamar dan bersembunyi
di dalam sistem, seolah-olah dia bagian dari sistem.
• Seperti namanya, program ini membutuhkan akses root
atau administrator untuk trus hinggap di dalam sistem.
• Rootkit dapat menyerang dalam usermode, kernel mode,
dan boot mode
• Beda antara Trojan dan Rootkit adalah, Trojan biasanya
masuk bersamadengan aplikasi lain yang telah di packer,
sedangkan rootkit biasanya masuk karena adanya intrusi
dari seorang hacker yang mendapatkan akses ke dalam
sistem, dan menanam rootkit di dalamnya.
19. Introduction to Malware
Analysis
• Apa itu Malware Analysis?
- Melakukan analisa terhadap malware
- Menganalisa behaviour malware
- Menganalisa tujuan dari aktivitas malware
tersebut
- Membedah malware untuk melihat lebih
dalam tentang kode-kode penyusunnya
20. Introduction to Malware
Analysis (Cont’d..)
• Apa tujuan melakukan malware analysis? Benefitnya?
- Kita dapat mengetahui bagaimana malware bekerja
- Kita dapat mengetahui bagaimana melakukan mitigasi
terhadap serangan malware tsb
- Kita dapat memprediksi apa yang akan terjadi jika
environment kita terjangkit malware
- Dapat memahami threat management dengan baik
- Tentu saja, kita dapat mengamankan environment kita
23. 1. Building Safe
Environment
Malware Lab
• Malware Lab adalah environment yang safe,
dimana kita dapat dengan bebas melakukan
analisa terhadap malware, tanpa harus merasa
khawatir bahwa malware tersebut akan
menyebar.
• Malware lab ini merupakan lab yang terisolir.
Malware lab juga sudah terinstall berbagai
macam tools yang diperlukan untuk kegiatan
analisa dan juga reporting.
24. 1. Building Safe
Environment
Malware Lab
• Mengapa harus melakukan setup malware
lab?
- Proactive approach
- Advanced detection (sebelum vendor AV
mendeteksi malware tersebut)
25. 1. Building Safe
Environment
Malware Lab
• Mengapa kita membutuhkan environment yang
terisolasi?
- Karena kita akan mengeksekusi malware tersebut
(dynamic / runtime analysis)
- Kita berinteraksi denganmwlare tersebut untuk
mengetahui bagaimana mereka bekerja
- Kita melakukan observasi, bagaimana malware
neginfeksi filesystem, bagaimana malware menyebar,
bagaimana malware memanfaatkan network traffic,
dsb
27. 1. Building Safe
Environment
Malware Lab
• Physical Lab
Advantage :
- No VM Aware Detection
- Real environment lab
- Full function as a victim
Disadvantage :
- Costly
- Time to build the real environment
28. 1. Building Safe
Environment
Malware Lab
• Virtualization Lab
Advantage :
- Easy to deploy
- Minimum cost
- Easy to isolate and safe environment
Disadvantage :
- VM Aware detection
29. 1. Building Safe
Environment
Malware Lab
• Step for building your Malware Lab (taken from (
http://zeltser.com/malware-analysis-toolkit/ ):
Step 1: Allocate physical or virtual systems for the
analysis lab
Step 2: Isolate laboratory systems from the
production environment
Step 3: Install behavioral analysis tools
Step 4: Install code-analysis tools
Step 5: Utilize online analysis tools
33. 2. Collecting Malware
Analysis Tools
Sandboxing ???
• Based on Wikipedia, “in computer security,
a sandbox is a security mechanism for
separating running programs. It is often
used to execute untested code, or untrusted
programs from unverified third-parties,
suppliers, untrusted users and untrusted
websites.”
39. 3. Collecting Malware
Sample
HONEYPOT
• Two types of Honeypot:
• Low Interaction
• Simulate most frequent services requested by attackers
• E.g. Dionaea
• High Interaction
• Imitate the activities of the real systems that host a
variety of services
• E.g. HiHAT
• We usually install these services using Virtual Machine easy
to restore when compromised
40. Honeypot
Low Interaction High Interaction
Real Operating System No Yes
Risk Low High
Knowledge Gain Connection/Request Everything
Can be Conquered No Yes
Maintenance Time Low High
41. 3. Collecting Malware
Sample
• Torrent
Download direct peer to peer from repository in
Torrent
45. 4. Analyzing Malware
Basic Static Analysis
1. Basic Static Malware Analysis
Pada tahapan ini, seorang malware analyst akan mencoba
melakukan pengecekan pada aplikasi yang di anggap
malicious, tanpa melakukan eksekusi terhadap file tersebut.
Pada tahapan ini malware analyst mengecek apakah benar
file tersebut malicious atau tidak, lalu dapat melakukan
pengecekan berdasarkan signature, malware ini tergolong
jenis apa, dan melihat aktifitas yang dilakukan oleh malware
tsb.
46. 4. Analyzing Malware
Basic Static Analysis
2. Advanced Static Analysis
Pada tahapan ini seorang malware analyst melakukan
reverse engineering dengan melakukan dissasembler
terhadap malware tersebut.
Pada tahapan, malware analyst banyak bergulat
dengan low level programming menggunakan
assembly, oleh karena itu dibutuhkan pemahaman
dar mengenai assembler
48. 4. Analyzing Malware
Dynamic / Runtime
Analysis
1. Basic Dynamic Analysis
Pada teknik ini, seorang malware analyst
mengeksekusi langsung malware tersebut
untuk dilakukan analisa. Analisa yang
dilakukan seputar file system, memory,
process, network traffic, serta perubahan yang
terjadi setelah malware di eksekusi.
49. 4. Analyzing Malware
Dynamic / Runtime Analysis
2. Advanced Dynamic Analysis
Pada teknik ini, malware analyst
menggunakan debugger untuk mengetahui
proses apa saja yang di jalankan oleh malware
tersebut. Malware analyst akan menggali
informasi lebih detail berdasarkan executable
file yang sedang di jalankan menggunakan
teknik ini.
50. 4. Analyzing Malware
• Sedangkan, berdasarkan pandangan umum,
teknik analisa malware ada 3 jenis :
- Surface Analysis
- Runtime / Dynamic Analysis
- Static Analysis
51. 4. Analyzing Malware
• Surface Analysis
Surface analysis artinya menganalisa di permukaan saja.
Analisa dilakukan dengan cara melihat ciri-ciri dari
malware tersebut. Surface analisis ini merupakan
tahapan pertama yang biasa dilakukan oleh seorang
malware analyst.
Tools yang biasa digunakan dalam melakukan surface
analysis ini adalah : string, PEiD, Virus Total, AV Scanner,
TrID
52. 4. Analyzing Malware
• Surface Analysis (Cont’d..)
Pada tahapan surface analysis ini biasanya malware analyst
akan memeriksa atribut file, dan juga signature nya.
Biasanya malware analyst akan mencocokkan hash file dari
malware tesebut dengan database / malware repository.
Pada tahapan surface analysis ini juga kita mengecek apakah
aplikasi tersebut menggunakan packer atau tidak. Biasanya
malware menggunakan packer tertentu untuk melakukan
obfuscation
53. 4. Analyzing Malware
• Surface Analysis (Cont’d..)
Salah satu layanan yang dapat digunakan :
http://www.team-cymru.org/Services/MHR/
https://code.google.com/p/yara-project/
54. 4. Analyzing Malware
• Runtime / Dynamic Analysis
Pada tahapan ini seorang malware analyst mencoba
mengeksekusi malware tersebut untuk melihat behavior dari
malware tersebut.
Analisa akan mencakup file system analysis, network
analysis, memory analysis, process monitoring.
Tools yang digunakan : RegShot, Wireshark, TCPView,
ProcMon, CaptureBAT, FakeDNS,
55. 4. Analyzing Malware
• Static Analysis
Tahapan ini biasanya merupakan step terakhir dalam malware
analysis. Pada metode analysis ini seorang malware analyst akan
membedah malware tersebut dan akan melihat code di dalamnya.
Di butuhkan keahlian dalam bahasa assembly, karena kita akan
membedah malware tersebut dengan cara melakukan reverse,
dan akan lebih fokus pada low level programming.
Tools yang biasa digunakan : IDA Pro, Ollydbg, Immunity
Debugger, GDB, WinDbg,