malware analysis

56
Malware Analysis Digit Oktavianto 24 November 2012 http://digitoktavianto.web.id digit dot oktavianto at gmail dot com

Upload: digit-oktavianto

Post on 18-May-2015

3.746 views

Category:

Technology


2 download

DESCRIPTION

Workshop Malware Analysis, Kelas Offline Jasakom, 24th November 2012. Lab practice using Lab module from Practical Malware Analysis Book Chapter 1 and Chapter 3.

TRANSCRIPT

Page 1: Malware Analysis

Malware Analysis

Digit Oktavianto24 November 2012

http://digitoktavianto.web.id

digit dot oktavianto at gmail dot com

Page 2: Malware Analysis

About Me

• IT Security Enthusiast (Opreker)• Member Indonesian Honeynet Chapter• Member OWASP Indonesian Chapter• Coordinator in System Adminstration

CloudIndonesia • Linux Activist (KPLI Jakarta)

Page 3: Malware Analysis

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

Page 4: Malware Analysis

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!

Page 5: Malware Analysis

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)

Page 6: Malware Analysis

Introduction to The Honeynet Project

26 countries

Page 7: Malware Analysis

Introduction to The Honeynet Project

Honeynet Workshop 2012 @ Facebook HQ

Page 8: Malware Analysis

Introduction to The Honeynet Project

Honeynet Workshop 2012 @ Facebook HQ

Page 9: Malware Analysis

First Indonesia Honeynet Seminar & Workshop

Honeynet Indonesia Workshop 6 June 2012

Page 10: Malware Analysis

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)

Page 11: Malware Analysis

Introduction to The Honeynet Project

Join us at:

• http://www.honeynet.org/chapters/indonesia

• http://www.honeynet.or.id

• Join us: [email protected]

• Facebook : The Honeynet Project (Global)

Page 12: Malware Analysis

Pengertian

• Apakah Malware itu?Malware = Malicious Software = Perangkat Lunak Jahat

Kategori Malware :- Virus- Spyware- Trojan- Worm- Backdoor- Rootkit

Page 13: Malware Analysis

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

Page 14: Malware Analysis

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

Page 15: Malware Analysis

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

Page 16: Malware Analysis

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

Page 17: Malware Analysis

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

Page 18: Malware Analysis

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.

Page 19: Malware Analysis

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

Page 20: Malware Analysis

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

Page 21: Malware Analysis

Introduction to Malware Analysis (Cont’d..)

• Step 1. Build safe environment malware lab• Step 2. Collecting Malware Analysis

Tools• Step 3. Collecting Sample Malware• Step 4. Analyzing Malware

Page 22: Malware Analysis

1. Building Safe Environment Malware Lab

Page 23: Malware Analysis

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.

Page 24: Malware Analysis

1. Building Safe Environment Malware Lab

• Mengapa harus melakukan setup malware lab?- Proactive approach - Advanced detection (sebelum vendor AV mendeteksi malware tersebut)

Page 25: Malware Analysis

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

Page 26: Malware Analysis

1. Building Safe Environment Malware Lab

• Physical Lab

• Virtualized Lab

Page 27: Malware Analysis

1. Building Safe Environment Malware Lab

• Physical LabAdvantage :- No VM Aware Detection- Real environment lab- Full function as a victim

Disadvantage :- Costly- Time to build the real environment

Page 28: Malware Analysis

1. Building Safe Environment Malware Lab

• Virtualization LabAdvantage :- Easy to deploy- Minimum cost- Easy to isolate and safe environment

Disadvantage :- VM Aware detection

Page 29: Malware Analysis

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 labStep 2: Isolate laboratory systems from the

production environmentStep 3: Install behavioral analysis toolsStep 4: Install code-analysis toolsStep 5: Utilize online analysis tools

Page 30: Malware Analysis

2. Collecting Malware Analysis Tools

Page 31: Malware Analysis

2. Collecting Malware Analysis Tools

• Behavioral analysis tools (Dynamic Analysis)- Filesystem and Registry monitoring :

CaptureBAT, Regshot, Filemon,

- Process Monitoring : Process Explorer, Process Hacker, Procmon, CFF Explorer, PEID, PEView

- Network Monitoring : Wireshark, Tcpdump, fakeDNS, ApateDNS, Tshark, TCPView, Netwitness, Netcat

Page 32: Malware Analysis

2. Collecting Malware Analysis Tools

• Code Analysis Tools (Static Analysis)- Dissasembler / Debugger : IDAPro, Ollydbg,

Immunity Debugger, Pydbg,Windbg, Fiddler (Web Debugger)

- Memory Dumper : LordPE, OllyDump, Fast Dump HBGary,

- Misc. Tools : Sysinternals, Dependency Walker, Hex Editor, Hash Calc, Mac Changer,

Page 33: Malware Analysis

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

Page 34: Malware Analysis

2. Collecting Malware Analysis Tools

• Sandbox Apps

- Cuckoo Sandbox (http://www.cuckoosandbox.org/ )- Malheur (http://www.mlsec.org/malheur/ )- Buster Sandbox Analyzer (http://bsa.isoftware.nl/ )- ZeroWine Image (http://zerowine.sourceforge.net/ )- Zerowine Tryout (http://zerowine-tryout.sourceforge.net/ )- Evalaze (http://www.evalaze.de/en/Screenshots/ )- Truman (http://www.secureworks.com/research/tools/truman/ )

Page 35: Malware Analysis

2. Collecting Malware Analysis Tools

• Online Sandbox for Check the malware sample :- Anubis (http://anubis.iseclab.org/ )- GFISandbox (http://www.threattrack.com/ )- ThreatExpert (http://www.threatexpert.com/ )- Norman Sandbox (http://www.norman.com/security_center/

security_tools/ )

Page 36: Malware Analysis

2. Collecting Malware Analysis Tools

• Online Malware Scanner :- Virus Total (https://www.virustotal.com/ )- Wepawet (http://wepawet.iseclab.org/) → Web Based Malicious Apps detector- AVG Web Scanner (URL Malicious Scanner) (http://www.avg.com.au/resources/web-page-scanner/)- Malware Domain List (Online tools to Check Web that contain / hosted malicious apps)http://www.malwaredomainlist.com/mdl.php)- PhishTank (Submit Phishing Web / Malicious Web)(http://www.phishtank.com/ )

Page 37: Malware Analysis

3. Collecting Malware Sample

Page 38: Malware Analysis

3. Collecting Malware Sample

• Malware Repository :http://malware.lu https://code.google.com/p/malware-lu/ http://contagiodump.blogspot.com/ http://www.offensivecomputing.net/ http://www.malwareblacklist.com/showMDL.php http://www.scumware.org/

Page 39: Malware Analysis

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

Page 40: Malware Analysis

Honeypot

Low Interaction High InteractionReal Operating System No Yes

Risk Low High

Knowledge Gain Connection/Request Everything

Can be Conquered No Yes

Maintenance Time Low High

Page 41: Malware Analysis

3. Collecting Malware Sample

• TorrentDownload direct peer to peer from repository in

Torrent

Page 42: Malware Analysis

Step 4. Analyzing Malware

Page 43: Malware Analysis

Step 4. Analyzing Malware

• Fundamental Method Malware Analysis :(Dari Buku Practical Malware Analysis)

1. Static Malware Analysis

2. Dynamic Malware Analysis

Page 44: Malware Analysis

Step 4. Analyzing Malware

• Static Malware Analysis

1. Basic Static Malware Analysis

2. Advanced Static Malware Analysis

Page 45: Malware Analysis

4. Analyzing MalwareBasic Static Analysis

1. Basic Static Malware AnalysisPada 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.

Page 46: Malware Analysis

4. Analyzing MalwareBasic Static Analysis

2. Advanced Static AnalysisPada 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

Page 47: Malware Analysis

Step 4. Analyzing Malware

• Dynamic / Runtime Analysis

1. Basic Dynamic Analysis

2. Advanced Dynamic Analysis

Page 48: Malware Analysis

4. Analyzing MalwareDynamic / Runtime Analysis

1. Basic Dynamic AnalysisPada 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.

Page 49: Malware Analysis

4. Analyzing MalwareDynamic / Runtime Analysis

2. Advanced Dynamic AnalysisPada 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.

Page 50: Malware Analysis

4. Analyzing Malware

• Sedangkan, berdasarkan pandangan umum, teknik analisa malware ada 3 jenis :

- Surface Analysis- Runtime / Dynamic Analysis- Static Analysis

Page 51: Malware Analysis

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

Page 52: Malware Analysis

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

Page 53: Malware Analysis

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/

Page 54: Malware Analysis

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,

Page 55: Malware Analysis

4. Analyzing Malware

• Static AnalysisTahapan 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,

Page 56: Malware Analysis

DEMO