Tentang Mutex – mutual exclusion

Kemaren saya baru diskusi dengan salah seorang mahasiswa bimbingan. Dia membangun sebuah server analisa malware dengan Cuckoo Sandbox. Server ini sudah berjalan dengan baik, dan sudah bisa melakukan analisa malware. Yang jadi bahan diskusi justru bagaimana memahami hasil analisa malware dari Cuckoo Sandbox. Cuckoo Sandbox menghasilkan banyak output hasil analisa, diantaranya tentang Mutex – Mutual Exclusion.

Mutex atau mutual exclusion dalam komputer adalah sebuah fungsi yang digunakan untuk mengatur penggunaan sebuah resource. Mutex dibuat untuk mencegah race conditions. Secara sederhana bila ada dua buah thread  ingin menggunakan sebuah memori secara bersamaan, maka biar tidak rebutan, mereka harus menunggu giliran. Misalnya sebuah thread A mendapat giliran menggunakan memory, maka A akan membuat Mutex. Ibaratnya memory tersebut dikunci oleh thread A, dan tidak bisa digunakan oleh thread lain. Thread B bila ingin menggunakan memory harus menunggu dulu thread A selesai dan melepas mutex. Thread sendiri maksudnya adalah sebuah urutan (sequence) perintah atau instruksi dalam komputer.

Malware menggunakan mutex untuk menguji apakah komputer korban sudah terinfeksi oleh malware yang sama atau tidak. Bila sudah ada mutex tertentu di komputer korban, artinya komputer sudah terinfeksi malware tersebut. Maka malware tidak akan menginfeksi kembali komuter tersebut (reinfection)

Banyak malware yang menggunakan mutex, diantaranya malware Flame, Pushdo/Cutwail, Poison Ivy dll. Menurut Trendmicro malware Pushdo setelah menginfeksi komputer korban memasang mutex dengan nama “gangrenb,” “germeonb,” “crypt32LogOffPortEvent,” dll. Sementara PoisonIvy membuat mutex dengan nama “)!VoqA.I4”.

Nah Mutex ini dapat kita gunakan untuk mengidentifikasi sebuah malware. Karena malware umumnya menggunakan kode mutex yang unik. Misalnya bila dari hasil analisa sebuah sampel malware kita menemukan sebuah kode mutex, kita tinggal cari di database malware, malware apa yang menggunakan mutex tersebut. Contohnya misalnya pada database Threatexpert.

Mutex yang dihasilkan oleh malware berbeda dengan mutex yang dibuat oleh aplikasi yang bukan malware. Beberapa tools yang kita bisa gunakan untuk mencari nama mutex tertentu dalam sebuah aplikasi bisa dilihat dibawah ini:

  • Checkmutex buatan Jaime Blasco
  • Handle buatan Mark Russinovich
  • ProcessExplorer buatan microsoft
  • Volatility
  • dll

Semoga Bermanfaat!

disarikan dari tulisan Lenny Zeltser pada link berikut ini:

https://digital-forensics.sans.org/blog/2012/07/24/mutex-for-malware-discovery-and-iocs/

bahan bacaan lainnya:

https://en.wikipedia.org/wiki/Mutual_exclusion

https://de.wikipedia.org/wiki/Mutex

https://msdn.microsoft.com/en-us/library/windows/desktop/ms684266%28v=vs.85%29.aspx

https://isc.sans.edu/diary/How+Malware+Generates+Mutex+Names+to+Evade+Detection/19429/

Silahkan tuliskan tanggapan, kritik maupun saran