$$\rightleftharpoonup{xx}$$
$$\longleftharp{xx}$$,
$$\longrightharp{xx}$$,
Android kötü amaçlı yazılım tespiti için önerilen mimaride otomatik kodlayıcılar kullanılarak kullanılan wrapper tabanlı özellik seçim yöntemi, Şekil 1'de gösterildiği gibi, kullanılmıştır. Veri seti, 70:30 eğitim ve test alt kümelerine bölünmüştür. Sınıflandırma ve özellik seçimi, kötü amaçlı yazılım analiz sürecinin iki ana adımıdır.
Özellik seçimi (FS): Bu adım, özellikle Cuckoo Search Optimization (CSO), Ant Lion Optimization (ALO) ve Firefly Optimizasyonu (FO) gibi sürü zekası tabanlı algoritmalarla en iyi özellik alt kümelerini yinelemeli olarak aramaktır (bkz. Tanım 1). Bundan sonra, otomatik kodlayıcılar seçilen özellikleri işleyerek gelen verilerin sıkıştırılmış bir temsilini oluşturur. Bir indüksiyon yaklaşımı, otomatik kodlayıcılardan çıkan çıktıyı kullanarak bu özelliklerin tehlikeli ve zararsız uygulamaları ne kadar iyi ayırt ettiğini değerlendirir. Sonraki vakaların kesin kategorize edilmesini sağlamak için, tümevarım algoritması özellik uzayını sınıf etiketleri koleksiyonuna eşleyerek bir sınıflandırıcı oluşturur.
Sınıflandırma: Önerilen Yapay Nöronal Sınıflandırıcı ve iyi bilinen indüksiyon yöntemleri kullanılarak, özellik seçimi aşamasından indirilmiş özellik seti bu aşamada değerlendirilerek Android kötü amaçlı yazılımı ne kadar etkili tespit edebileceği görülür.
Gelişmiş sınıflandırma yaklaşımları kullanarak ve en bilgilendirici özelliklere odaklanarak, bu yöntem Android kötü amaçlı yazılım tespitinin doğruluğunu ve verimliliğini artırmayı amaçlar.
Özellik seçimi
Makine öğreniminde kritik bir adım, model yapımında hangi özelliklerin en güvenilir, ilgili ve yedek olmayan olduğunu belirlemeyi içeren özellik seçimidir. Veri setleri boyut ve karmaşıklık açısından büyümeye devam ettikçe, özellik setlerini metodik bir şekilde azaltmak daha da kritik hale gelir. Özellik seçiminin ana amacı, model performansını en üst düzeye çıkarırken hesaplama maliyetlerini azaltmaktır. Tekrarlayan ve gereksiz özellikler kaldırılır, böylece süreç model için en önemli değişkenlere odaklanabilir. Önemli özellikleri belirlemek için makine öğrenimi algoritmasına güvenmek yerine, model eğitiminden önce özellik seçiminin faydaları şunlardır:
Basitleştirilmiş modeller: Giriş değişkenlerinin sayısının azaltılması, daha anlaşılması ve yorumlanması daha kolay olan daha basit modeller ortaya çıkarır.
Varyans azaltma: Temel özelliklere odaklanarak, özellik seçimi model varyansını azaltmaya yardımcı olur, böylece aşırı uyumu azaltır ve yeni verilere genellemeyi artırır.
Azalan eğitim süresi: Daha küçük bir özellik seti, hesaplama yükünü azaltır ve böylece model eğitimi ve değerlendirmesini daha hızlı yapar.
Boyutluluk Lanetinin Hafifleği: Yüksek boyutlu veriler, artan karmaşıklık ve aşırı uyum gibi zorluklar yaratabilir; Özellik seçimi, özellik alanını en bilgilendirici değişkenlerle sınırlayarak bu sorunları çözer.
Özellik seçiminin tanımı 1
Bir indüktör I ve etiketlenmiş bir örnek uzayı üzerinde D dağılımına sahip ve özellikler (x1, x2, x3,... ,xn) içeren bir veri seti D düşünün. C=I(D)'nin doğruluğunu optimize eden özelliklerin alt kümesi, Optimal özellik alt kümesi Xopt olarak bilinir.
Denetimsiz özellik seçiminde, wrapper tabanlı yaklaşımlar, model performansını artıran özelliklerin optimal kombinasyonunu belirlemeyi amaçlar. Genellikle açgözlü algoritmalar aracılığıyla sistematik olarak özellikler ekleyip çıkararak, bu yöntemler çeşitli modelleri değerlendirerek model geliştirme için en etkili özellikleri seçer. Bu süreç Şekil 2'de gösterilmiştir.
Özellik seçimi için, Firefly Optimizasyonu (FO), Cuckoo Search Optimization (CSO) ve Ant Lion Optimization (ALO) gibi sürü zekası algoritmaları geleneksel açgözlü taktikleri geride bırakmak için kullanılır. Uygunluk değerlendirme aşamasında seçilen hedef fonksiyon, bu algoritmaların etkinliği üzerinde önemli bir etkiye sahiptir. Seçilen özelliklerin sayısı ve her yinelemenin sonunda model hatası, seçilen özelliklerin uygunluğu değerlendirilmek için yinelemeli wrapper tabanlı özellik seçim prosedüründe dikkate alınır. Denklem (1) bu değerlendirmeyi resmileştirir.
(1)
Uygunluk değerlendirmesi sırasında yapılan hatalar için öğrenme algoritmasının cezası, bu denklemde τ ile temsil edilir; burada τ ∈ [0,1]. Seçilen özellik alt kümesinin uzunluğu değişken l ile gösterilir ve toplam özellik sayısı u değişkeniyle temsil edilir.
Otomatik kodlayıcılar
Giriş verilerinin sıkıştırılmış temsillerini öğrenmeye uzmanlaşmış sinir ağlarına otomatik kodlayıcılar denir. Bir kodlayıcı ve bir kodlayıcı, bunların ana iki parçasıdır. Kodlayıcı, bu sıkıştırılmış formdan orijinal girdiyi geri kazanmaya çalışırken, kodlayıcı giriş verisini işler ve gizli bir uzay temsiline sıkıştırır. Makine öğrenimi model eğitimi, kodlayıcının eğitildikten sonra işlenmemiş verilerden değerli özellikleri çıkarabilme yeteneğiyle daha kolay hale getirilir.
Önerilen otomatik kodlayıcı mimarisi ( Şekil 3'te gösterildiği gibi), N düğümlü bir giriş katmanından oluşan bir kodlayıcı içerir; ardından sırasıyla N*2 ve N düğüm içeren iki gizli katman bulunur. N/2 düğümlü ikinci gizli katman var; buna gizli uzay denir. İki gizli katman [N, N*2] düğümle, kod çözücü bu yapıyı çoğaltır ve sonunda N düğümden oluşan bir çıkış katmanı ile sona erer.
Her gizli katmandan sonra eğitim sürecini hızlandırmak ve stabilize etmek için toplu normalizasyon yapılır ve tüm katmanlar olası yok olma gradyanı sorunlarını çözmek için LeakyReLU aktivasyon fonksiyonunu kullanır. Denklem (2), LeakyReLU aktivasyon fonksiyonunun matematiksel tanımını sunar:
(2)
Burada hθ(x), Denklem (3) kullanılarak elde edilir
(3)
Burada, xi=(x1,x 2,...,xn) düğümlere girdi değerleri gösterirken, wi=(w1,w 2,...,wn) bu düğümlerle ilişkili ağırlıkları gösterir. Öğrenme sürecinde, ağırlıklar başlangıçta rastgele olarak aralık içinde ayarlanır [0,1]. Parametrelerin orijinden geçmesini önlemek için her katmanda bir önyargı terimi eklenir. Denklem (4) eşiği tanımlar ve Denklem (3)'den elde edilen çıktı onu aşarsa bir düğüm tetiklenir.
(4)
Karınca aslan ambalajına dayalı özellik seçimi optimizasyonu (ALWFSO)
Karınca aslanının doğal yırtıcı davranışını modelleyen Karınca Aslan Optimizeri (ALO) ilk olarak34 yaşındaki Seyed Ali Mirjalili tarafından sunuldu. Bu optimizasyon algoritması, başlangıç parametre değerlerinden bağımsız olarak optimal çözümleri etkili şekilde tanımlar. ALO hızlı yakınsamaya sahiptir ve hem tam sayı hem de ayrık kısıtlamaları etkili bir şekilde yönetir. Av yakalama, tuzak oluşturma, karınca tuzağa düşürme, rastgele karınca hareketi ve tuzak onarımı ALO'daki avlanma sürecini oluşturan adımlardır.
Karınca Aslan Optimizer (ALO) algoritması bağlamında, karıncalar çözüm alanında rastgele aramalar yapan aday çözümleri temsil ederken, karınca aslanları karıncaların hareketlerini fitnes değerlerine göre etkileyen tuzaklar veya rehberlerle eşleşir. Bu çift popülasyon, karınca yakalayan karıncaların doğal yırtıcı davranışını modeller. Başlangıçta, hem karınca hem de karınca aslanlarının popülasyonları rastgele başlatılır. Her karınca için Rulet çarkı seçim mekanizması kullanılarak karınca aslanları seçilir ve ardından rastgele bir yürüyüş süreci yapılır (Algoritma-1'de gösterildiği gibi). Denklem (5) bu yürüyüşün nasıl normalleştirildiğini açıklar.
(5)
İlk başta, karınca ve aslan popülasyonları rastgele olarak oluşturulur. Her karınca için bir karınca rulet çarklı mekanizması kullanılarak seçilir; bu da önceden belirlenmiş formüllerle rastgele bir yürüyüş yapılmasına olanak tanır. Bu süreç, karıncaların hareketlerinin karıncaların konumlarından etkilenmesini sağlar ve doğal avlanma sürecini etkili bir şekilde simüle eder. Her karıncanın konumu bu etkileşime göre güncellenir ve arama optimal çözümlere yönlendirilir.
Mimarisi sayesinde ALO algoritması karmaşık arama alanlarını etkili bir şekilde aşabilir ve çeşitli optimizasyon sorunlarını çözmek için güçlü bir araç haline gelir. Her karıncanın uygunluğu, her tekrarın sonunda değerlendirilir. Algoritma-1'de gösterildiği gibi, karınca karşısından daha uygunsa karınca aslanı ile değiştirilir. Bu durumda
, i karıncanın yineleme t'deki konumunu gösterir; I bir orandır;
J. karıncanın T yinelemesindeki konumunu gösterir;
Rulet çarkı tarafından seçilen t yinelemesindeki rastgele yürüyüşün elitidir; ve
karınca aslanının yinelenmesindeki t'deki rastgele yürüyüşüdür ve bu da Rulet çarkı tarafından belirlenir. Her döngü tamamlandıktan sonra, entegre wrapper sınıflandırıcı tarafından onaylanan küresel optimal çözüm geri verilir.
Algoritma 1: ALWFSO
Hedef fonksiyonu tanımlayın: f(x):x=(x1,x 2,...,xd)
Karınca ve karınca aslan kolonisinin rastgele başlatılması
Karınca ve Aslan Uygunluk Hesaplaması
En iyi karınca aslanları seçin ve elit olduklarını varsayın.
Sonlandırma Koşulu Sağlanana Kadar Tekrarlayın veya f(x):x=(x1,x 2,...,x d)
Her karınca-aslan seçimi için: Karınca'nın hareketini etkileyecek bir karınca seçmek için Rulet Çarkı Seçimi mekanizmasını kullanın
X(t) = [0,cum_sum(2r(t1) - 1),cum_sum(2r(t2) - 1),...,cum_sum(2r(tn)-1)]


Karınca döngüsünün sonu
Uygunluk Değerlendirmesi: Tüm karıncaların yeni pozisyonlarına göre uygunluk değerlerini yeniden hesaplayın.
Karıncalar üstün uygunluk gösterirse karıncaları karıncalarla değiştirin
Bir karınca daha fit olursa, o zaman

Sona erme
Cuckoo arama ambalajı tabanlı özellik seçimi optimizasyonu (CSWFSO)
Bazı guguk kuşlarının yumurtalarını diğer konak kuşların yuvalarına bırakan yavru parazitizmi davranışından ilham alan Xin-She Yang veSusah Deb (35 ) 2009 yılında Guguk Bulma algoritmasını yarattılar. Bu işlemde, her guguk kuşu, rastgele seçilmiş bir yuvaya bir yumurta bırakır. Gelecek nesiller en iyi yumurtalara sahip yuvaları miras alacak. Bir konak kuşun uzaylı yumurtasını görme olasılığı 0'dır ve sadece belirli sayıda konak yuvası mevcuttur.
Algoritma 2: CSWFSO
Hedef fonksiyonu tanımlayın: f(x):x = (x1,x 2,...,xd)
Her biri aday çözüm xi (i=1,2,3,...,n) ile karşılık gelen n konak yuvasından oluşan bir başlangıç popülasyonunu rastgele oluşturun
Durdurma koşulu sağlanana kadar tekrarlayın veya (tRastgele seçilmiş bir guguk guguk i için, Lévy uçuşu kullanılarak yeni bir aday çözüm üretin

Yeni oluşturulan çözüm Fi'nin uygunluğunu hesaplayın [Maksimize etmek için, Fi α f(xi)]
Popülasyondan rastgele bir konak yuvası j seçin
eğer (Fi >Fj) ise, j yeni bir çözümle değiştirilir
biter if
En kötü ağların bir kısmını (pa) kesimi ile terk etmek
Yeni yuvalar, terk edilmiş bir fraksiyonda (pa) inşa edilir 
En iyi çözümleri veya yuvaları bir kenara bırak.
Onları sıralayarak, şu anda mevcut olan en iyi yuvayı veya çözümü seçin.
Sonraki nesil, şu anda mevcut olan en iyi çözümü devralıyor.
Sona erme
Başlangıçta, tüm yuvalar rastgele başlatılır. Yinelemeler ilerledikçe, her guguk gu Algoritma 2'de belirtildiği gibi çözüm uzayındaki konumunu Lévy uçuşlarıyla değiştirir. Adım boyutu ∝ ile ayarlanır ve sigmoid bir işlem, Guguk Arama Optimizasyonu (CSO) tarafından üretilen sürekli değerleri, Denklemler (6) ve (7)'de gösterildiği gibi ikili bir formata dönüştürür.
(6)
(7)
Algoritma 2'de gösterildiği gibi,
burada ve
rastgele seçilen yuvalar ve δ ∈ [0,1], her yinelemenin sonunda bazı yuvalar terk edilir ve yeni aday çözümlerle yenilenir.
Guguk kuşunun yavru parazitizminden ilham alan Guguk Arama Optimizasyonu (CSO) algoritması, özellik seçmegörevleri için faydalı bir araç olduğunu kanıtlamıştır 35. Teknik, her biri wrapper tabanlı CSO özellik seçimi bağlamında olası bir çözüm temsil eden bir yuva popülasyonunu başlatmakla başlar. Bu yuvaların uygunluğunu değerlendirmek için önceden belirlenmiş bir hedef fonksiyonu kullanılır. Uygunluk değerlendirmeleri kullanılarak, algoritma her iterasyonda en iyi çözüm—küresel en iyi olarak adlandırılan—belirler. Çözüm alanını daha iyi keşfetmek için, yuvanın bir kısmı, bezelye ile temsil edilen, CSO protokolüne uygun olarak bırakılır ve yenileriyle değiştirilir. Gömülü wrapper sınıflandırıcısı, algoritmanın tüm yinelemeler tamamlandıktan sonra küresel optimal cevabı verdiğini doğrular.
Firefly wrapper tabanlı özellik seçimi optimizasyonu (FWFSO)
Algoritma 3: FWFSO
Hedef fonksiyonunu tanımlayın: f(x):x = (x1,x 2,...,xd)
Her biri xi (i = 1,2,3,...,n çözümü temsil eden n ateşböceğinden oluşan başlangıç sürüsü oluşturun
Her ateşböceğinin ışık yoğunluğunu I, amaç fonksiyonunun değerine göre belirleyin
Işık emilim katsayısı γ
Durdurma koşulu sağlanana kadar tekrarlayın ya da (t < MaxGeneration)
Her ateşböceği için i (∀ i=1,2,3,... ,n)
her ateşböceği için j (∀ j=1,2,3,... ,i)
I, i ve Ij ışık yoğunlukları alın
eğerI < ij o zaman


else
Ateşböceğini rastgele hareket ettirerek arama alanını keşfet
biter if
Çekicilik mesafe ile azalır 
Güncellenmiş çözümü değerlendirin ve ateşböceğinin yoğunluğunu buna göre ayarlayın
son
son
Ateşböceklerini ışık yoğunluklarına göre sıralayın ve en yüksek parlaklığa sahip olanı en iyi çözüm olarak belirleyin
George Lindfield ve JohnPenny 36 tarafından tanıtılan Ateşböceği Optimizasyon algoritması, ateşböceklerinin doğal davranışını başkalarını çekmek için taklit eder. Bu algoritmada, bir ateşböceğinin çekiciliği doğrudan parlaklığıyla orantılıdırken, iki ateşböceği arasındaki mesafe çekicilikleriyle ters orantılıdır. Yakında daha parlak ateşböcek yoksa, bir ateşböceği rastgele hareket eder.
İki ateşböceği parlaklıklarına göre birbirine çekilir; Daha az parlak bir ateşböceği daha parlak olanına yönelir. Daha parlak ateşböceği olmadığında rastgele hareket kullanılır. Güzelliği belirten β0 olduğunda, iki ateşböceği arasındaki r=0 mesafesi onların çekiciliğini hesaplamak için kullanılır. Ateşböcekleri j ve k arasındaki rjk ayrımı şu şekilde hesaplanır:
Burada, rji ve rki ateşböcekleri için i. boyutunun mekansal bileşenlerini yan not olarak belirtir; jth ve kth, ve n, boyut sayısını temsil eder. Bir ateşböceğinin diğerine doğru hareketi, aralarındaki çekim derecesine bağlıdır:
. Bu denklemde, rj işıqböceğinin mevcut konumu γ, ışık Ranard 0 ile 1 arasında rastgele bir sayıdır α mutasyon oranı ve soğurma katsayısıdır. Artık parlak ateşböcekleri kalmazsa, ateşböceği αα'ya göre rastgele hareket eder. Her yinelemeden sonra, gömülü wrapper sınıflandırıcı küresel minimum çözümü doğrular ve bu çözüm geri döner.
Sınıflandırıcı
Hem yapılandırılmış hem de yapılandırılmamış veri setleri, ayrı gruplara veya sınıflara ayrılarak sınıflandırılabilir. Amaç, yeni veri noktalarının niteliklerini kullanarak sınıflarını veya etiketlerini tahmin etmektir. Bu prosedür, girdi değişkenlerinden ayrık çıktı değişkenlerine yaklaştırılmış bir eşleme fonksiyonu kullanarak taze verinin hangi kategoriye ait olduğunu belirler.
Random Forests, Decision Trees, K-En Yakın Komşular, Lojistik Regresyon ve Destek Vektör Makineleri, önerilen Android kötü amaçlı yazılım tespitçözümünü 37 değerlendirmek için kullanılan indüksiyon veya sınıflandırma algoritmaları arasındadır. Ayrıca, bu çalışma, geleneksel indüksiyon algoritmalarını Yapay Sinir Ağları ile birleştiren devrimci bir hibrit sınıflandırıcı olan Yapay Nöronal Sınıflandırıcı'yı sunmaktadır.
Yapay nöron sınıflandırıcı
Önerilen Yapay Nöronal Sınıflandırıcı (ANC) tasarımı, Şekil 4'te görüldüğü gibi bir indüksiyon sınıflandırıcısı ve Yapay Sinir Ağları (ANN) birleştirir. Bu mimariye göre, ANN'ye giriş özellikleri arasındaki desenleri ve korelasyonları tanımlamak öğretilir. İndüksiyon sınıflandırıcısı, ANN'nin öğrendiği bilgileri kullanarak zararlı yazılımı güvenli yazılımdan ayırt etme hassasiyetini artırır.
Kapsamlı testlerin ardından, ANC içindeki ANN, her biri M düğümlü olmak üzere üç tamamen bağlı gizli katmanla yapılandırıldı; bu katman N düğümlü bir giriş katmanını takip etti. M/2 düğümlerle tamamen bağlı bir gizli katmandan sonra indüksiyon sınıflayıcısına bağlı bir çıkış katmanı vardır. (8) denklemi, gizli katmanlardaki düğüm sayısını belirler:
(8)
burada M, gizli katmandaki düğüm sayısını, N giriş özelliklerinin sayısını, α ise 2 ile 10 arasında değişen bir parametreyi temsil eder. Aktivasyon fonksiyonu (Denklem (9)'da gösterildiği gibi), çıktının belirli bir eşiği aşmasına bağlı olarak bir nöronunun aktive olup olmadığını belirlemede kritik bir rol oynar.
(9)
Burada, hθ(x) Denklem (3)'e göre hesaplanır. ANC, ağ ağırlıklarını ve öğrenme oranlarını ayarlamak için Adam optimizatorunu kullanır. Adam'da, her bir ağırlığın ωij için birinci an tahmini
ve ikinci moment tahmini
sırasıyla β1 ve β2 ile gösterilir. N, öğrenme hızını temsil etsin. Adam için güncelleme kuralları Denklemler (10) ve (11)'de gösterilmiştir:
(10)
(11)
Önyargılı birinci ve ikinci moment tahminleri
, ve
, (12) ve (13) denklemleri kullanılarak hesaplanır:
(12)
(13)
Bu hesaplamalar, optimizatorun her ağırlık için uygun öğrenme oranlarını korumasını sağlar ve ANC'nin verimli ve etkili eğitimini kolaylaştırır.
Sinir ağındaki her bağlantı için ağırlık güncelleme kuralı Denklem (14) ile tanımlanır:
(14)
Sinir ağı ağırlıkları güncellendikten sonra, performans tahmin edilen ve gerçek çıktılar arasındaki farkı ölçen bir kayıp fonksiyonu kullanılarak değerlendirilir. Bu modelde, Denklem (15)'de tanımlandığı gibi Ortalama Mutlak Hata (MAE) bu amaçla kullanılır:
(15)
Bu bağlamda, yi gerçek çıktıyı temsil eder,
tahmin edilen çıktıyı gösterir ve n toplam çıktı sayısıdır. Sinir ağı belirli sayıda dönem boyunca eğitildikten sonra, özellik alanından öğrenilen temsiller, zararlı yazılım ile zararlı yazılımı ayırt etmek için indüksiyon sınıflayıcısına aktarılır.
Önerilen Yapay Nöronal Sınıflandırıcı (ANC), Yapay Sinir Ağı'nın (ANN) özellik öğrenme yeteneklerini, Random Forest ve Decision Tree gibi geleneksel indüksiyon sınıflandırıcılarının karar alma güçleriyle birleştiren hibrit bir çerçeve olarak işlev görür. Bu tasarımda, ANN, otomatik kodlayıcıdan elde edilen seçilmiş özellikleri ilk olarak işleyerek karmaşık kalıpları ve giriş özellikleri arasındaki korelasyonları öğrenir. Elde edilen temsiller, Android uygulamalarının nihai olarak zararsız veya kötü niyetli olarak sınıflandırmasını gerçekleştiren indüksiyon sınıflayıcısına iletilir. Bu şekilde, ANC bir örtü işlevi görür; geleneksel sınıflandırıcıları derin özellik gömülmeleriyle güçlendirirken, yorumlanabilirliklerini korur. Bu hibrit mekanizma, ANC'nin hem ANN'den yüksek seviyeli özellik soyutlamasından hem de yerleşik makine öğrenimi sınıflandırıcılarından sağlam karar alma süreçlerinden yararlanmasına olanak tanır; böylece tespit doğruluğu ve genelleştirme daha iyi olur.
Deneysel kurulum
Deneysel kurulumda i5 işlemciye sahip 64-bit Windows 10 işletim sistemi kullanıldı - 2.30 GHz, 8 GB RAM ve 2 TB sabit disk. Python 3.7 programlama dili olarak kullanıldı ve Jupyter platformu makine öğrenimi ve derin öğrenme paketlerini etkinleştirmek için kuruldu.
IEEE Dataport, deneyin API çağrı dizisi verilerini sağladı; bu verilerde 43.876 dizi yer aldı - bunların 42.797'si kötü amaçlı yazılım, 1.079'u ise goodware olarak sınıflandırıldı. Doğrulama için Virus Total kullanıldı ve veri toplama için Cuckoo Sandbox ortamı kullanıldı. Tablo 1 , API çağrı dizilerinin kapsamlı bir açıklamasını sunar.