Büyük örneklere dayalı rastgele orman kötü amaçlı kod algılama ve sınıflandırma algoritması

0 Önsöz

İnternetin hızla gelişmesiyle birlikte bilgisayar güvenliği sorunları ulusal güvenliğin stratejik perspektifine yükseltilmiş, ancak İnternette yayılan kötü amaçlı kodların sayısı ve türleri artmaktadır. Jiangmin Virüs Salgın İzleme ve Erken Uyarı Merkezi [1] tarafından sağlanan verilere göre: Mayıs 2018'de 1.140 yeni virüs eklendi ve 13.569 bilgisayara virüs bulaştı. Pekin, Şangay ve Guangzhou başlıca enfekte ve saldırıya uğrayan bölgelerdir. Kötü amaçlı kod sürekli olarak büyümesine rağmen, kötü amaçlı kodun çoğu, yazma sürecinde anahtar modülün yeniden kullanılmasıdır ve karakteristik davranışı yüksek derecede benzerliğe sahiptir [2].

Birincisi, kötü amaçlı kod, kendini gizlemek için kendi kod yapısını değiştirir ve kendi kod yapısını değiştirme yöntemi düzenlidir; ikincisi, bilgisayarla ilgili izinleri almak ve önemli bilgisayar dosyalarını ve diğer hassas işlemleri değiştirmek için kötü amaçlı kodun aranması gerekir. Hedefe ulaşmak için sistemle ilgili API işlevleri. Bu nedenle, bu makale, kötü amaçlı kodları yukarıdaki kötü amaçlı kodların özelliklerine göre tanımlamak ve sınıflandırmak için makine öğrenimi yöntemlerini kullanır.

1 Kötü amaçlı kod sınıflandırma algoritmasıyla ilgili araştırma

1.1 API çağrısına dayalı özellik çıkarma

Uygulama Programlama Arayüzü (API), kötü amaçlı kodun bir sınıflandırma özelliği olarak kullanılabilir.Kötü programlar, hassas kullanıcı bilgilerini çalabilir veya bazı API'leri (esas olarak temel sistem API'leri) çağırarak programın işletim yetkisini elde edebilir. Bu API'ler, çoğu kötü amaçlı kodda yaygın olarak kullanılmaktadır. Bu makalede, bu API'lerden hassas API'ler olarak bahsedilmektedir. Literatürde [3], aynı sınıflandırma algoritmasında, hassas API'ler kullanılarak elde edilen sınıflandırma sonuçlarının doğruluğunun, hassas API'ler kullanılmadan elde edilen sınıflandırma sonuçlarının doğruluğundan daha iyi olduğu doğrulanmıştır.Bu nedenle, bu makale kötü niyetli kod sınıflandırması için özellik vektörü olarak hassas API'leri kullanmaktadır. .

Genel olarak, kötü amaçlı kod özelliklerini ayıklamak için iki ana yöntem vardır: statik analiz yöntemi ve dinamik analiz yöntemi. Statik analiz, çoğunlukla IDA [4], JEB, vb. Gibi sökme araçlarını kullanır. Ana özellikler, PE dosya yapısı bilgileri ve hassas API çağrılarıdır. Dinamik analiz yöntemi, işletim sistemi ortamını simüle etmek, bilinmeyen programın davranışını izlemek ve bunu bilinen kötü niyetli kod davranışıyla eşleştirmek için temelde sandbox [5] (guguk kuşu gibi) ve diğer programları kullanmaktır. Eşleştirme başarılı olursa, bilinmeyen program şu şekilde belirlenebilir: Kötü niyetli program. Bununla birlikte, belirli uygulama sürecinde, sistem API'sinin düşük seviyesinden dolayı, korumalı alan davranış izleme gerçekleştirdiğinde davranışın doğru anlamını elde etmenin zor olduğu ve sanal alanın sonuçları yavaşça analiz ettiği ve uzun zaman aldığı bulunmuştur. Bu eksikliklerin varlığından dolayı, bu makale statik karakteristik analizi yöntemini benimser.

Karakteristik verileri elde ettikten sonra, kötü niyetli kodu sınıflandırmak ve tanımak için ilgili makine öğrenimi modeli kullanılabilir. Birçok sınıflandırma algoritması vardır: Yaygın algoritmalar arasında K-En Yakın Komşu (KNN) [6], Destek Vektör Makinesi (SVM) [7], Lojistik Regresyon [8], evrişimli sinir Ağ (Evrişimli Sinir Ağı, CNN) [9] vb. Bu makale, kötü amaçlı kodları sınıflandırmak için çoğunlukla rastgele orman kullanır.

1.2 Rastgele Orman

Rastgele orman, birkaç bağımsız değişkenin (X1, X2, ..., Xi, ..., Xn) bağımlı değişken Y üzerindeki etkisi olarak yorumlanabilir. Bağımlı değişken Y'nin m gözlemi varsa, onunla ilgili n bağımsız değişken vardır (ve çoğu durumda m, n'den çok daha küçüktür); bir karar sınıflandırma ağacı oluştururken, rastgele orman rastgele olarak orijinal verilerde yer alacaktır. M gözlemleri yeniden seçin, bazıları birden çok kez seçilebilir ve bazıları aynı anda seçilemeyebilir. Karar ağacını seçilen örneklere göre modelleyin, ardından birden çok karar ağacının tahminlerini birleştirin ve oylama yoluyla nihai tahmin sonucunu alın.

1.3 Rastgele Orman Algoritmasının Uygulanması

Bu makaledeki rastgele orman algoritması, Python üçüncü taraf kitaplığı Pyspark kullanılarak Spark altında uygulanmıştır. Deney ikiye bölünmüştür.İlk deneyin girdisi, örnek dosyanın dosya türü, dosya boyutu, dosya içe aktarma tablosu, dosya temel adresi, dosya sürümü ve girdi olarak diğer 50 özelliği içeren dosya özellikleridir; ikinci deneyin girdisi Hassas API özellikleri, ayarlanan parametreler şunlardır: numTrees = 150, maxDepth = 30, labelCol = "indexed", featuresCol = 'features', seed = 42 ve diğer parametreler değişmeden kalır. Bu makale eğitim için toplam veri setinin% 80'ini ve test için% 20'sini kullanır.

2 Deneysel analiz

2.1 Deneysel veri seti

Kötü amaçlı kod veri seti, kötü amaçlı kod analizinin temelidir.Sadece makine öğrenimi algoritması örnekleri eğitmek için ilgili veri setini birleştirdiğinde, algılama işlevi daha iyi gerçekleştirilebilir.

Bu makalede kullanılan veri kümesi, Jiangmin New Technology Co., Ltd.'nin virüs veritabanındaki veri kümesidir. Bu sefer kullanılan toplam veri seti sayısı 900.000'dir, bunlara 450.000 beyaz örnek ve 450.000 virüs örneği dahildir. 450.000 virüs örneği arasında, Downloader, Trojan ve Backdoor'un örnek boyutları sırasıyla 150.000, 150.000 ve 150.000'dir.

2.2 Deney ortamı

Deneysel ortam: CPU: Intel (R) Xeon (R) CPU E5645 @ 2.40 GHz, işletim sistemi CentOS Linux sürüm 7.3.1611, bellek 32 GB.

Hadoop ve Spark'ın sürümleri şunlardır: Hadoop sürüm 2.7.1, Spark sürüm 2.2.1.

2.3 Deneysel değerlendirme kriterleri

Bu makaledeki algoritmayı değerlendirmek için Precision, Recall ve F1'i kullanın. Genellikle, ilgilenilen sınıf pozitif sınıftır ve diğer sınıflar negatif sınıftır. Dizinin değeri 0 ~ 1'dir. Bu metrikler için hesaplama formülleri aşağıdaki gibidir:

Bunlar arasında TP (True Positive), pozitif bir sınıfın pozitif bir sınıf numarası olarak tahmin edilmesini, FP (False Positive) bir negatif sınıfı pozitif bir sınıf numarası olarak tahmin etmeyi ve FN (False Negative) bir pozitif sınıfı negatif bir sınıf numarası olarak tahmin etmeyi ifade eder.

2.4 Sonuç analizi

Bu makaledeki rastgele orman algoritmasını, seçilen veri kümesindeki (Jiangmin Xinke Technology Co., Ltd. virüs veritabanındaki veri kümesi) destek vektör makinesi algoritması ve lojistik regresyon algoritması ile karşılaştırın.

İlk olarak, siyah-beyaz bir örnek sınıflandırma deneyi yapın, deneyin kesinliğini, geri çağırma ve F1 değerini kontrol edin Deneysel sonuçlardan, toplam örnek sayısı yaklaşık 100.000 olduğunda, rastgele ormanın siyah beyaz örneklerin belirlenmesinde çok destekleyici olduğu görülebilir. Vektör makinesi algoritması ile lojistik regresyon algoritması karşılaştırıldığında sonuç ideal değildir. Bununla birlikte, örnek sayısı 900.000'e yükseldikçe, rastgele orman modelinin siyah beyaz örneklerin belirlenmesinde kesinlik, geri çağırma ve F1 değeri 0.732, 0.711, 0.721'den 0.973, 0.973 ve 0.973'e yükseldi ve bunların tümü üçe ulaştı. Sınıflandırmanın en iyisi, bunlar arasında, hassasiyet, geri çağırma ve F1 değeri, virüs örneklerinin artmasıyla birlikte, bazı beyaz örnekler derleyici tarafından derlendiği için 500.000 ile 700.000 örnek arasında düştü. PE yapı bilgisi, bazı virüs örneklerinin yapı bilgilerine benzer, bu da rastgele orman algoritmasının belirli hatalara sahip olmasını sağlar. Ancak örneklem büyüklüğü artmaya devam ettikçe, örneklemin bu küçük bölümünün genel sınıflandırma üzerindeki etkisi giderek azalmaktadır. Deneysel sonuçlar Şekil 1, Şekil 2 ve Şekil 3'te gösterilmektedir.

İkinci olarak, üç tür virüse dayalı deneyler yapın: Yükleyici, Truva Atı ve Arka Kapı Bu deneydeki kötü amaçlı kod verileri, toplam veri kümesindeki 450.000 virüs örneğidir. Deneysel sonuçlardan, rastgele orman, Downloader, Truva Atı ve Arka Kapı virüslerini sınıflandırdığında, destek vektör makinesi sınıflandırma algoritması ve lojistik regresyon sınıflandırma algoritmasına kıyasla deneysel etkinin nispeten iyi olduğu görülebilir. Kötü amaçlı kodun örnek boyutu 90.000'den 450.000'e çıktıkça, kesinlik, geri çağırma ve F1 değeri 0,924, 0,918 ve 0,921'den 0,935, 0,932 ve 0,934'e yükseldi ve değerlendirme kriterlerinin tümü iyileştirildi. Deneysel sonuçlar Şekil 4, Şekil 5 ve Şekil 6'da gösterilmektedir.

Yukarıdaki sonuçlardan rastgele ormanın sınıflandırmanın genelleme kabiliyetinde SVM ve lojistik regresyondan daha iyi olduğu görülmektedir.

3 Sonuç

Bu makale, kötü niyetli kodları büyük örnekler altında tanımlamak ve sınıflandırmak için makine öğrenimi algoritmalarının kullanımına ve girdi olarak PE dosya yapısını ve hassas API'yi seçmeye odaklanmaktadır.Deneysel veriler, rastgele ormanın değerlendirme etkisinin, destek vektör makineleri ve lojistik regresyon modellerinden daha iyi olduğunu göstermektedir. Üç virüsün sınıflandırılmasında, rastgele orman en iyi etkiye sahip olmasına rağmen, rastgele orman bazı beyaz örnekler için virüs örneğiyle aynı derleyiciyi kullandığında, onu bir virüs örneği olarak sınıflandırmak kolaydır. İkinci olarak, doğruluk oranı hala çok yüksek değil, sadece yaklaşık 0,935. Büyük örneklemlere dayalı olarak, modelin sınıflandırma etkisinin hala iyileştirilmesi gerekiyor.Yukarıdaki iki konu, bu makaledeki gelecekteki çalışmaların odak noktasıdır.

Referanslar

[1] Jiangmin Virüs Salgını İzleme ve Erken Uyarı Merkezi. Jiangmin Virüs Salgını Geçmiş Veri İstatistikleri [EB / OL]. [2018-05-30]. Http://virusinfo.jiangmin.com/virinfo/virusDataStat.aspx.

[2] SIKORSKI M, HONIG A. Kötü amaçlı kod analizi savaşı [M] Zhuge Jianwei, Jiang Hui, Zhang Guangkai, Çev. Pekin: Electronic Industry Press, 2014.

3 Sheng Chao, Wei Shengna. İzinlere ve hassas API'ye dayalı kötü amaçlı program algılama yöntemi J. Bilgisayar Bilgisi ve Teknolojisi, 2017, 13 (33): 67-69.

4 HEX-RAYS SA. IDA pro tanıtımı EB / OL. 2018-05-30 .http: //www.hex-rays. Com / products.shtml /.

5 BABU A J, RAVEENDRANATH R, RAJAMANJ V, et al, Dissecting SMS malwares in Android C // Proceedings of International Conference on Contemporary Computing and Informatics, 2014: 1065-1069.

6 ABOU-ASSALEH T, CERCONE N, KESELJ V, ve diğerleri. Yeni kötü amaçlı kodun N-gram tabanlı tespiti C // 28. Yıllık Uluslararası Bilgisayar Yazılımları ve Uygulamaları Konferansı (COMPSAC), 2004: 41-42 .

7 ANDERSON B, QUIST D, NEIL J, ve diğerleri. Dinamik analiz kullanarak grafik tabanlı kötü amaçlı yazılım tespiti J. Journal in Computer Virology, 2011, 7 (4): 247-258.

8 Guo Shangzhan Trafik davranışı özelliklerine göre botnet araştırması ve tespiti D Pekin: Pekin Posta ve Telekomünikasyon Üniversitesi, 2016.

9 Yang Ye. Davranış tabanlı kötü amaçlı kod algılama yöntemi üzerine araştırma D. Xi'an: Xidian Üniversitesi, 2015.

(Geliş Tarihi: 2018-06-26)

Yazar hakkında:

Li Xuehu (1990-), erkek, bekar, mühendis, ana araştırma yönü: anti-virüs, ters analiz, ağ saldırısı ve savunma.

Wang Fa (1993-), erkek, bekar, mühendis, ana araştırma yönetimi: büyük veri, dağıtılmış, makine öğrenimi.

Kai Zhan (1990-), erkek, yüksek lisans öğrencisi, ana araştırma yönü: öneri sistemi, anti-virüs.

Liao Changyong yarım şarkı söyledi ve sıcak aramada yüzmek için suya atladı! Netizen: Bu nasıl bir tanrı operasyonu
önceki
Barcelona terör saldırısı birçok kişiyi öldürdü AI terörle mücadelede ne kadar kullanıldı?
Sonraki
Masal klasiği ekrana gelen "Yatak Tavşan" da "Tavşanın İzinde" Özel Noel Hediyesi
Volkswagen Hercules orta ve büyük SUV pazarına girecek mi?
Chongqing Mixc Güney Bölgesi yeni bir görünüm yaptı
"Endişesiz Market" iki saatte 10 milyon gişeye ulaştı
Bahar Şenliği seyahat sezonuna hazır mısınız? Lütfen bu altı "eseri" kabul edin
WRC 2017'nin en dikkat çekici tematik forumlarından biri, genç bilim insanlarının inovasyonunu ve girişimciliğini büyük kahveyle tartışıyor
PS4 "Marvel's Spider-Man" yeni fragmanı
"Sektörün Etkin Noktası" Intel'in üretim işi üçe bölünecek
Fantastik aşk komedisi sizin için şiirler yazar ve başlar
FPGA tabanlı SRRC filtreleme ve çoklu oran dönüştürme
Neden Audi'nin ikinci bir ortak girişim kuracağına dair söylentiler var?
Tencent ikinci çeyrek VR raporunu yayınladı: yetişkinlere yönelik web sitesinin Pornhub VR alanındaki videoların sayısı hızla artıyor
To Top