Paper Title: You are what you do: Hunting Stealthy Malware via Data Provenance Analysis
Authors: Qi Wang, Wajih Ul Hasan, Ding Li, Kangkook Jee, Xiao Yu, Kexuan Zou, Junghwan Rhee, Zhenzhang Chen, Wei Cheng, Carl A. Gunter, Haifeng Chen
Venue : Network and Distributed Systems Security (NDSS) Symposium 2020
URL: https://dx.doi.org/10.14722/ndss.2020.24167
Problem: Bagaimana mendeteksi malware stealthy? Malware yang menggunakan berbagai teknik untuk mengelabui antivirus dengan menyerupai aplikasi benign.
Contribution :
- Merancang ProvDetector, sebuah provenance-based system untuk mendeteksi stealthy malware yang menggunakan teknik impersonation
- Untuk meningkatkan akurasi dan efektifitas, mengusulkan sebuah algoritma novel path selection untuk identifikasi malicous part pada provenance graph pada sebuah proses
- Merancang sebuah novel neural embedding dan machine learning pipeline yang secara otomatis membangun sebuah profile behaviour untuk setiap program dan identifikasi proses anomali
- Melakukan pengujian sistematis Provdetector dengan malware
Method/solution:
- ProvDetector terdiri dari 4 tahapan: graph building, representation extraction, embedding dan anomaly detection
- ProvDetector melakukan model operasi normal dari sebuah sistem
- Menggunakan casual path sebagai sebuah feature yang membedakan bagian malicious dan benign dari data provenance.
- Provdetector memilih sebuah subset casual paths dari sebuah provenance graph untuk menunjukan masalah dependency explosion dan meningkatkan kecepatan training dan deteksi
- Melakukan konfigurasi untuk melakukan monitoring pada aplikasi dan mendeteksi bila aplikasi tersebut dibajak oleh stealthy malware.
- Deploy sebuah monitoring agent pada host, mengumpulkan provenance data dari sisten dan menyimpannnya pada sebuah database sentral.
- Memiliki 2 mode: training dan deteksi
- Dari sebuah p , PROVDETECTOR membangin provenance graph G(p) =< V, E > sebagai sebuah labeled temporal graph menggunakan data yang disimpan di database
- nodes V adalah entitas sistem yang labelnya adalah atributnya, E adalah edges dimana labelnya adalah relations dan timestamps.
- Setiap node V merupakan salah satu dari: processes, files atau sockets.
- Setiap edge e pada E adalah e = {src,dst,rel,time}.
- Pembangunan provenance graph G(p) dimulai dengan v == p.
- Kita tambahkan edge e dan source node src dan destination node pada graph seperti e.src ∈ V atau e.dst ∈ V .
- Setelah provenance graph terbangun, dilakukan ekstraksi representation. Untuk mencari representasi dari graph untuk membedakan malicious dan benign
- Casual path sebagai feature dari graph. causal path λ dari sebuah dependency graph G(p) sebagai sequence berurutan dari sebuah sistem (edges) {e1,e2,…,en} pada G(p), dimana ∀ei,ei+1 ∈ λ, ei.dst == ei+1.src dan ei.time < ei+1.time.
- Untuk menemukan top K rarest paths, digunaian regularity score dari path λ = {e1,e2,…,en}
- Embedding, menambahkan path pada model deteksi anomali, menggunakan intuisi, embedded learning dan final decision making
- Menggunakan model PV-DM seperti pada doc2vec. Metoda ini adalah self-supervised
- Deteksi anomali menggunakan model Local Outlier Factor (LOF). LOF adalah metoda density based. Sebuah titik dikatakan outlier jika dia memiliki sbuah local density yang lebih rendah dari tetangganya
- Training dilakukan pada mesin Intel core i7-6700 Quad-Core Processor (3.4 GHz) and 32 GB RAM running Ubuntu 16.04 OS
Main result:
- Akurasi deteksi antara 0,952-0,965
- Recall range antara 0,965-1
- F1 score range 0,961-0,982
- ProvDetector lebih baik dibandingkan metode deteksi Strawman yang menghasilkan F! 0,78 dengan padalah 3%
- Performa lebih baik dibandingkan metode graph2vec dan path nodes averaging
- Training oada datan 30 ribu paths membutuhkan waktu 94 detik pada model doc2vec dengan ukuran embedding vector 100 dan epoch 100. Sementara pada LOF hanya dibutuhkan 39 detik
- Rata2 dibutuhkan 5 detik untuk membangun provenance graph dan 2 detik untuk memilik top 20 path dari graph. Perlu 1 milideteik untuk embed path ke vector dan 0,06 mikrodetik untuk deteksi model
- Mampu mendeteksi sampel yang menggunakan teknik Anti-VM. 26% sampel menggunakan teknik anti-VM.
- 70% path dari proses yang dibajak tidak terdeteksi sebagai malware
Limitation:
- Offline detector, atau tidak bekerja secara real-time
- Hanya diuji pada sistem operasi windows
- Hanya menddunakan 2 model doc2vec dan LOF
- Tidak diuji dengan advarsarial malware
- Tidak diuji tentang polusi data