Research Article

Ulepszanie wykrywania złośliwego oprogramowania na Androidzie dzięki inteligencji rojowej i technikom autoenkodera zastosowanym do analizy wywołań API

DOI:

10.3791/69398

December 30th, 2025

In This Article

Summary

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Proponowany jest hybrydowy framework wykrywania złośliwego oprogramowania na Androida, wykorzystujący wyuczone reprezentacje funkcji oraz tradycyjne klasyfikatory do zwiększenia dokładności wykrywania, ograniczenia ręcznego inżynierowania funkcji oraz skutecznego przeciwdziałania ewoluującym zagrożeniom złośliwego oprogramowania.

Abstract

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Inteligencja bezpieczeństwa malware polega na analizie aplikacji i ich metadanych w celu identyfikacji potencjalnych zagrożeń bezpieczeństwa. Wywołania interfejsu programowania aplikacji (API) stanowią cenne źródło informacji do wykrywania złośliwego oprogramowania. Zmniejszenie zakresu funkcji w analizie złośliwego oprogramowania zwiększa efektywność identyfikacji zagrożeń. Niniejsze badania mają na celu zidentyfikowanie najważniejszych funkcji wywołań API, które zwiększą precyzję wykrywania złośliwego oprogramowania na Androida. Trzy techniki optymalizacji oparte na inteligencji rojowej – optymalizacja świetlików, optymalizacja poszukiwań kukułek oraz optymalizacja kolonii mrówek – są stosowane wraz z auto-enkoderami do wyodrębniania najważniejszych cech. Aby ocenić te metody oparte na oklejkach inspirowanych naturą, stosuje się popularne klasyfikatory uczenia maszynowego, w tym K-Nearest Neighbour (KNN), Random Forest (RF), Support Vector Machine (SVM), Decision Tree (DT) oraz Linear Regression (LR). Ponadto hybrydowy sztuczny klasyfikator neuronowy wykazuje efekt poprawy wydajności kategoryzacji złośliwego oprogramowania. Skuteczność sugerowanej metody potwierdzają wyniki eksperymentalne, które pokazują dokładność 98,87% przy użyciu tylko 7 z 100 funkcji wywołań API.

Introduction

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Najpopularniejszym systemem operacyjnym mobilnym jest Android, oparty na Linuksie, któryma 72,55% globalnego udziału w rynku 1. W przeciwieństwie do innych systemów operacyjnych, które podlegają surowym przepisom i prawom autorskim, Android jest platformą open source, która chętnie przyjmuje deweloperów z całego świata. Jednak ze względu na dużą bazę użytkowników, ataki wirusów często go atakują. Malware to termin na złośliwe oprogramowanie mające na celu zakłócenie działania systemów komputerowych lub wykorzystanie prywatnych informacji. Najczęstszą metodą infiltracji złośliwego oprogramowania w ekosystemie Androida są pobieranie aplikacji. Chociaż aplikacje pozyskane z zaufanych źródeł są zazwyczaj bezpieczne, te pobrane z niezweryfikowanych lub złośliwych platform mogą zawierać szkodliwe oprogramowanie. Cyberprzestępcy często wykorzystują luki bezpieczeństwa urządzeń, wdrażając złośliwe oprogramowanie w celu naruszenia ich integralności2.

Wraz ze wzrostem liczby użytkowników rośnie także ilość cennych danych dostępnych dla cyberatakujących. Atakujący może to wykorzystać, rozpowszechniając złośliwą aplikację na oficjalnych rynkach aplikacji mobilnych. Gdy niczego nieświadomy użytkownik zainstaluje aplikację, nieświadomie daje atakującemu dostęp do swojego urządzenia. Biorąc pod uwagę rosnącą częstość takich zagrożeń, zaawansowane techniki wykrywania złośliwego oprogramowania są niezbędne, aby przeciwdziałać ogromnej liczbie złośliwych aplikacji 3,4,5. Opracowano kilka istniejących technologii do przewidywania złośliwego oprogramowania na Androida 6,7. Jednak te podejścia opierają się głównie na wykrywaniu na podstawie sygnatur, które polega na identyfikacji cyfrowych śladów osadzonych w kodzie aplikacji. Pobrane z Android Package Kit (APK) oprogramowania, te sygnatury są porównywane z bazą danych znanych wrogich wzorców. Chociaż to podejście skutecznie wykrywa już zgłoszone złośliwe oprogramowanie, nie jest w stanie rozpoznać nowych zagrożeń, które nie zostały jeszcze dodane do bazy danych. 8

W miarę jak malware nadal się rozwija, wraz ze wzrostem jego rozpowszechnienia, kluczowe jest opracowanie rozwiązania zdolnego do precyzyjnego wykrywania różnych typów malware9, jednocześnie optymalizując czas i zasoby obliczeniowe. Aby poprawić wykrywanie złośliwego oprogramowania na smartfonach z Androidem, wykonano wiele pracy. Tradycyjne techniki wykrywania oparte na sygnaturach dopasowują sygnaturę pliku APK do złośliwych sygnatur zidentyfikowanych i przechowywanych w bazie danych. Jednak ta metoda nie działa w przypadku złośliwego oprogramowania, które jeszcze nie zostało odkryte, co podkreśla potrzebę bardziej zaawansowanych systemów wykrywania 10,11,12.

Hipoteza, którą ten artykuł ma na celu przetestować, to: Identyfikacja podejrzanych wywołań API w celu poprawy dokładności klasyfikacji nieszkodliwych i złośliwych aplikacji na Androida. Opracowanie i wdrożenie hybrydowego modelu klasyfikacji, który integruje autoenkodery ze sztucznymi sieciami neuronowymi. Sformułowanie funkcji celu dla optymalizacji inteligencji rojowej, która usprawnia proces uczenia się poprzez wprowadzenie kar ułatwiających odkrywanie rozwiązań bliskich optymalnym. Analiza kilku wskaźników wydajności i wybór optymalnej metody przewidywania złośliwego oprogramowania na Androida.

Powiązane dzieła

Zauważalny wzrost różnorodności i liczby złośliwego oprogramowania wyniknął z powszechnego wykorzystania platformy Android, co skłoniło naukowców do opracowania efektywnych technik wykrywania i zapobiegania 13,14,15. Dzięki badaniom statystycznym Deckard i Rasoolzadegan16 zajęli się problemem niezrównoważonych zbiorów danych w wykrywaniu złośliwego oprogramowania na Androidzie. Aby wstępnie przetworzyć i zrównoważyć dane, zastosowano technikę Synthetic Minority Oversampling Technique (SMOTE), techniki niedopróbkowania oraz rankingu. Korzystając z klasyfikatorów KNN, SVM i Iterative Dichotomiser 3 (ID3), ich model detekcji osiągnął większą dokładność 98,69%, gdy podejście SMOTE zostało połączone z klasyfikatoremKNN 16.

Użycie terminu Frequency Inverse Document Frequency (TF-IDF) do identyfikacji złośliwego oprogramowania na Androidzie było badane przez Priyę i Visalakshi17 w innym badaniu. Stworzyli oni grader uprawnień do oceniania i oceniania uprawnień, które następnie klasyfikowano za pomocą sztucznych sieci neuronowych. Ta metoda przewyższała istniejące systemy z dokładnością 94,22%. Dodatkowo, aby poprawić wydajność klasyfikacji złośliwego oprogramowania na Androida, opartą na regresji liniowej, Yildiz i in.18 opracowali metodę wyboru cech. Ich metoda skróciła czas szkolenia i przyniosła wzrost celności o 96,1%. Aby zwiększyć dokładność i efektywność wykrywania złośliwego oprogramowania na Androida, te badania łącznie podkreślają znaczenie rozwiązywania takich problemów jak wybór funkcji i niezrównoważone zbiory danych.

Rekurencyjne Wybór Cech (RFS) oraz klasyfikator zespołowy zostały wykorzystane w modelu przedstawionym przez Al Sarahh i in.19 , aby poprawić wykrywanie złośliwego oprogramowania na Androidzie. W tej metodzie algorytm LightGBM służy do klasyfikacji najbardziej istotnych cech zidentyfikowanych przez RFS. Wyniki eksperymentu wykazały, że model był skuteczny, z dokładnością klasyfikacji 99,5%. Do kategoryzacji złośliwego oprogramowania na Androidzie Ding i in.20 zaproponowali również architekturę głębokiego uczenia wykorzystującą konwolucyjną sieć neuronową (CNN). W tym procesie pliki bajtkodów są wyodrębniane z plików APK Androida i przekształcane w dwuwymiarowe macierze bajtkodu. Macierze te są wykorzystywane do trenowania modelu CNN, który w eksperymentach osiągał dokładność 95,1%. Badania pokazują, jak modele głębokiego uczenia i techniki wyboru cech mogą być łączone z klasyfikatorami zespołowymi, aby zwiększyć dokładność systemów wykrywania złośliwego oprogramowania na Androidzie.

Dzięki zastosowaniu technik głębokiego uczenia Elayan i Mustafa21 przezwyciężyli niedociągnięcia konwencjonalnych metod wykrywania złośliwego oprogramowania w nowoczesnych systemach Android. Przewyższyli tradycyjne techniki, stosując Gated Recurrent Unit (GRU) do rozróżniania złośliwych od nieszkodliwych aplikacji, osiągając dokładność 98,2%. Proces hierarchii analitycznej (AHP) został również zintegrowany z metodą rozmytej opartej na ryzyku do wykrywania wirusów mobilnych, zaproponowaną przez Arifa i in.22. Oprócz identyfikacji złośliwego oprogramowania, ich system ocenia poziomy ryzyka i dzieli je na cztery grupy: ekstremalnie niskie, niskie, średnie i wysokie. Dzięki tej dokładnej technice całkowita dokładność wyniosła 90,54%. Skuteczność zaawansowanych metod uczenia maszynowego, takich jak rozmyte frameworki AHP i modele głębokiego uczenia oparte na GRU, w poprawie precyzji i odporności systemów wykrywania złośliwego oprogramowania na Androidzie jest dowodzona przez te badania.

Aby przezwyciężyć wady podejść opartych na podpisach, Mercaldo iSantone 23 zastosowali techniki przetwarzania sygnału audio do wyodrębniania informacji liczbowych z plików wykonywalnych aplikacji, przekształcając je w pliki audio. Ich metoda, wykorzystująca klasyfikator sieci neuronowej, osiągnęła dokładność wykrywania na poziomie 95,2%. Aby przezwyciężyć trudności związane z żmudnym inżynierią cech, Zhang i in.24 przedstawili TC-Droid, automatyczne ramy wykorzystujące techniki klasyfikacji tekstu. Przy dokładności 96,6% metoda ta analizuje sekwencje tekstowe z raportów analizy aplikacji za pomocą splotowych sieci neuronowych.

Z dokładnością 93,4%, Imtiaz i in.25 zaprezentowali DeepAMD, technikę opartą na sztucznych sieciach neuronowych przeznaczoną do skutecznej kategoryzacji i wczesnego wykrywania złośliwego oprogramowania na Androida. Firdaus i in.26 stworzyli technikę wyboru cech opartą na wyszukiwaniu genetycznym do statycznej analizy w wykrywaniu złośliwego oprogramowania na Androidzie. Przy 95% dokładności drzewa funkcjonalne przewyższały inne klasyfikatory uczenia maszynowego w testach. Metoda wyboru cech o nazwie Delta_IDF została przedstawiona przez Peynirci i in.27. Oblicza odwrotne wartości częstotliwości dokumentów na podstawie występowania ciągów znaków w plikach APK. W porównaniu z innymi algorytmami, ich eksperymenty przyniosły obiecujące wyniki.

Shi i in.28 zaproponowali hybrydowy framework CNN-DNN, który wykazał dużą dokładność detekcji poprzez połączenie mocnych warstw splotowych i gęstych do ekstrakcji i klasyfikacji cech. Podobnie Shu i in.29 przeprowadzili kompleksowe badanie metod wykrywania złośliwego oprogramowania Androida opartych na CNN, podkreślając ich zalety w rejestrowaniu zależności przestrzennych w sekwencjach API i kodów operacyjnych. W kontekście Internetu Rzeczy (IoT) Naeem i in.30 opracowali złożony zespół głębokich sieci konwolucyjnych do klasyfikacji złośliwego oprogramowania, które poprawiły odporność w heterogenicznych środowiskach zagrożeń IoT. Niedawno Shu iDong 31 wprowadzili LG-PN, lokalno-globalne podejście fuzji w prototypowych sieciach, aby poprawić wykrywanie wcześniej nieznanego złośliwego oprogramowania na Androida. Chociaż metody te odniosły znaczący sukces, w dużej mierze opierają się na głębokich architekturach splotowych i wymagają znacznych zasobów obliczeniowych. Dla porównania, niniejsza praca integruje inteligencję rojową z wyborem funkcji opartych na autoenkodzie, aby zmniejszyć wymiarowość i poprawić efektywność, zapewniając tym samym uzupełniającą i lekką alternatywę dla głębokich rozwiązań opartych na CNN.

Kilka wcześniejszych badań koncentrowało się również na wykrywaniu złośliwego oprogramowania Androida za pomocą wywołań API, ponieważ sekwencje API są silnymi wskaźnikami behawioralnymi aktywności złośliwej aktywności. Na przykład Karbab i in.32 zaproponowali wykorzystanie głębokiego uczenia na sekwencjach wywołań metod API do identyfikacji złośliwych aplikacji, wykazując, że wzorce czasowe w użyciu API mogą skutecznie odróżnić złośliwe oprogramowanie od nieszkodliwych aplikacji. Podobnie Muzaffar i in.33 ocenili różne modele uczenia maszynowego dotyczące funkcji wywołań API i podkreślili znaczenie wyboru i reprezentacji cech dla poprawy wydajności wykrywania. Chociaż te prace podkreślają użyteczność funkcji na poziomie API, większość z nich opiera się albo na głębokich modelach sekwencji, albo na ręcznie wykonanej inżynierii cech, które mogą być kosztowne obliczeniowo lub mniej uogólnialne. Dla porównania, to badanie wykorzystuje algorytmy inteligencji rojowej w połączeniu z autoenkoderami, aby automatycznie zmniejszyć wymiarowość cech API, a następnie stosuje hybrydowy Artificial Neuronal Classifier (Artificial Neuronal Classifier) do poprawy wydajności wykrywania. To pozycjonuje nasze podejście jako lekką, ale skuteczną alternatywę, która bezpośrednio odpowiada na wyzwania związane z wysokowymiarowymi danymi wywołań API.

Poprzez integrację sztucznych sieci neuronowych (ANN), proponowana w tym badaniu metodologia ma na celu poprawę wykrywania i kategoryzacji złośliwego oprogramowania na Androida. Po pierwsze, auto-enkodery są stosowane w technikach wyboru cech opartych na wrapperach, aby znaleźć najważniejsze cechy odróżniające niebezpieczne aplikacje od tych łagodnych. Aby zwiększyć skuteczność klasyfikacji złośliwego oprogramowania na Androida, oceniany jest unikalny Sztuczny Klasyfikator Neuronalny, który łączy ANN z klasyfikatorami indukcyjnymi.

Access restricted. Please log in or start a trial to view this content.

Protocol

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Metoda wyboru funkcji oparta na opakowaniu, wykorzystująca auto-enkodery, jest stosowana w sugerowanej architekturze wykrywania złośliwego oprogramowania na Androidzie, jak pokazano na Rysunku 1. Zbiór danych podzielony jest na podzbiory treningowe i testowe w formie 70:30. Klasyfikacja i wybór cech to dwa główne etapy procesu analizy malware.

Wybór funkcji (FS): Ten etap polega na iteracyjnym poszukiwaniu najlepszych podzbiorów cech (patrz Definicja 1) za pomocą algorytmów opartych na inteligencji rojowej, w szczególności Cuckoo Search Optimization (CSO), Ant Lion Optimization (ALO) oraz Firefly Optimization (FO). Następnie autoenkodery przetwarzają wybrane cechy, aby uzyskać skompresowaną reprezentację napływających danych. Podejście indukcyjne wykorzystuje następnie wyniki z auto-enkoderów do oceny, jak dobrze te cechy rozróżniają niebezpieczne od łagodnych aplikacji. Aby umożliwić precyzyjną kategoryzację kolejnych przypadków, algorytm indukcji buduje klasyfikator, mapując przestrzeń cech na zbiór etykiet klas.

Klasyfikacja: Korzystając z proponowanego Artificial Neuronal Classifier oraz znanych metod indukcji, w tej fazie oceniany jest zmniejszony zestaw funkcji z etapu wyboru cech, aby sprawdzić, jak skutecznie wykrywa złośliwe oprogramowanie na Androida.

Stosując zaawansowane metody klasyfikacji i koncentrując się na najbardziej informacyjnych cechach, metoda ta dąży do poprawy dokładności i efektywności wykrywania złośliwego oprogramowania na Androida.

Wybór funkcji

Kluczowym etapem w uczeniu maszynowym jest wybór cech, który polega na określeniu, które cechy są najbardziej niezawodne, istotne i nieredundantne do budowy modeli. Metodyczne ograniczanie zestawów cech staje się coraz ważniejsze, gdy zbiory danych stale rosną pod względem rozmiaru i złożoności. Głównym celem wyboru cech jest maksymalizacja wydajności modelu przy jednoczesnym obniżeniu kosztów obliczeniowych. Powtarzalne i niepotrzebne cechy zostają usunięte, co pozwala procesowi skoncentrować się na zmiennych najważniejszych dla modelu. Zamiast polegać na algorytmie uczenia maszynowego w celu identyfikacji istotnych cech, oto korzyści z wyboru cech przed trenowaniem modelu:

Uproszczone modele: Zmniejszenie liczby zmiennych wejściowych prowadzi do prostszych modeli, które łatwiej interpretować i zrozumieć.

Redukcja wariancji: Skupiając się na kluczowych cechach, wybór cech pomaga zmniejszyć wariancję modelu, co ogranicza nadmierne dopasowanie i zwiększa uogólnienie na nowe dane.

Skrócony czas treningu: Mniejszy zestaw funkcji zmniejsza obciążenie obliczeniowe, co skutkuje szybszym trenowaniem i oceną modeli.

Łagodzenie klątwy wymiarowości: Dane o wysokich wymiarach mogą stanowić wyzwania, takie jak zwiększona złożoność i nadmierne dopasowanie; Feature Selection rozwiązuje te problemy, ograniczając przestrzeń cech do najbardziej informacyjnych zmiennych.

Definicja 1 wyboru cech

Pomyśl o induktorze I i zbiorze danych D, który ma rozkład D w oznaczonej przestrzeni instancji i zawiera cechy (x 1,x 2,x 3,... ,xn). Podzbiór cech, który optymalizuje dokładność klasyfikatora C=I(D), znany jest jako podzbiór cech optymalnych Xopt.

W nienadzorowanym wyborze cech podejścia oparte na owijaniu mają na celu zidentyfikowanie optymalnej kombinacji cech zwiększających wydajność modelu. Systematycznie dodając lub usuwając funkcje, często za pomocą chciwych algorytmów, metody te oceniają różne modele, aby wybrać najbardziej istotne cechy dla rozwoju modeli. Proces ten przedstawiono na Rysunku 2.

Do wyboru cech stosuje się algorytmy inteligencji rojowej, takie jak Firefly Optimization (FO), Cuckoo Search Optimization (CSO) oraz Ant Lion Optimization (ALO), aby przewyższyć konwencjonalne, chciwe taktyki. Funkcja celu wybrana na etapie oceny dopasowania ma istotny wpływ na skuteczność tych algorytmów. W procedurze wyboru cech opartej na iteracyjnym opakowaniu w celu oceny odpowiedniości wybranych cech uwzględnia zarówno ilość wybranych cech, jak i błąd modelu na końcu każdej iteracji. Równanie (1) formalizuje tę ocenę.

Równanie 3 (1)

Kara algorytmu uczenia za błędy popełnione podczas oceny przystosowania jest w tym równaniu przedstawiona jako τ, gdzie τ ∈ [0,1]. Długość wybranego podzbioru cech oznaczana jest zmienną l, a całkowita liczba cech reprezentowana przez zmienną u.

Automatyczne enkodery

Sieci neuronowe specjalizujące się w nauce skompresowanych reprezentacji danych wejściowych nazywane są autoenkoderami. Koder i dekoder to dwie główne części tych urządzeń. Podczas gdy dekoder próbuje odzyskać oryginalne wejście z tej skompresowanej formy, przetwarza dane wejściowe i kompresuje je do reprezentacji przestrzeni ukrytej. Trening modelu uczenia maszynowego jest łatwiejszy dzięki zdolności enkodera do wydobywania cennych cech z nieprzetworzonych danych po ich wytrenowaniu.

Proponowana architektura autoenkodera (jak pokazano na Rysunku 3) zawiera enkoder składający się z warstwy wejściowej z N węzłami, po której następują dwie ukryte warstwy zawierające odpowiednio N*2 i N węzłów. Istnieje druga ukryta warstwa z N/2 węzłami zwana przestrzenią ukrytą. Dysponując dwoma ukrytymi warstwami węzłów [N, N*2], dekoder replikuje tę strukturę, kończąc się warstwą wyjściową złożoną z N węzłów.

Po każdej ukrytej warstwie następuje normalizacja wsadowa, aby przyspieszyć i ustabilizować proces treningu, a wszystkie warstwy wykorzystują funkcję aktywacji LeakyReLU do obsługi ewentualnych problemów gradientu znikającego. Równanie (2) przedstawia matematyczną definicję funkcji aktywacji LeakyReLU:

Równanie 4 (2)

Gdzie hθ(x), otrzymuje się za pomocą równania (3)

Równanie 6(3)

Tutaj xi=(x1,x 2,...,xn) oznacza wartości wejściowe dla węzłów, natomiast wi=(w1,w 2,...,wn) oznacza wagi związane z tymi węzłami. Podczas procesu uczenia wagi są korygowane po początkowym losowym przydzieleniu w zakresie [0,1]. Aby zapobiec przejściu parametrów przez początek początkowy, na każdej warstwie dodaje się składnik bias. Równanie (4) definiuje próg, a jeśli wyjście uzyskane z równania (3) go przekroczy, wyzwalany jest węzeł.

Równanie 9 (4)

Optymalizacja wyboru cech oparta na owijaniu Ant Lion (ALWFSO)

Modelując naturalne drapieżne zachowania mrówków, Optymalizator Mrówek-Lw (ALO) został po raz pierwszy zaprezentowany przez Seyeda Ali Mirjaliliego,34 lata. Ten algorytm optymalizacji efektywnie identyfikuje optymalne rozwiązania niezależnie od początkowych wartości parametrów. ALO wykazuje szybką zbieżność i skutecznie zarządza zarówno ograniczeniami całkowitoliczbowymi, jak i dyskretnymi. Chwytanie ofiar, tworzenie pułapek, łapanie mrówek, losowe ruchy mrówek oraz naprawa pułapek to etapy składające się na proces polowania w ALO.

W kontekście algorytmu Ant Lion Optimizer (ALO) mrówki reprezentują kandydujące rozwiązania wykonujące losowe wyszukiwania w przestrzeni rozwiązań, podczas gdy mrówki odpowiadają pułapkom lub przewodnikom wpływającym na ruchy mrówek na podstawie wartości przystosowania. Ta podwójna populacja modeluje naturalne drapieżne zachowania mrówek łapiących mrówki. Na początku populacje zarówno mrówek, jak i mrówek są inicjowane losowo. Mrówki są wybierane dla każdej mrówki za pomocą mechanizmu wyboru ruletki, po czym następuje losowy proces spaceru (jak pokazano w Algorytmie-1). Równanie (5) opisuje wtedy, jak ten spacer jest normalizowany.

Równanie 10 (5)

Początkowo populacje mrówek i mrówek powstają losowo. Mrówek jest wybierany dla każdej mrówki za pomocą mechanizmu ruletki, co pozwala na losowy spacer normalizowany za pomocą ustalonych wzorów. Proces ten zapewnia, że ruchy mrówek są kształtowane przez pozycje mrówek, skutecznie symulując naturalny proces polowania. Pozycja każdej mrówki jest następnie aktualizowana na podstawie tej interakcji, kierując poszukiwania ku optymalnym rozwiązaniom.

Dzięki swojej architekturze algorytm ALO może skutecznie przechodzić przez skomplikowane przestrzenie wyszukiwania, co czyni go potężnym narzędziem do rozwiązywania różnych problemów optymalizacyjnych. Sprawność każdej mrówki jest oceniana po zakończeniu każdej powtórzenia. Jak pokazano w Algorytmie-1, mrówek jest zamieniany mrówką, jeśli mrówka jest bardziej przystosowana niż jej odpowiednik. W tym przypadku Równanie 11, wskazuje położeniei-tej mrówki w iteracji t; I jest stosunkiem; Równanie 13 wskazuje położeniej-tego antliona w iteracji T; Równanie 15 jest elitą dla losowego spaceru w iteracji t, który jest wybierany przez ruletkę; i Równanie 16 jest losowym krokiem mrówka w iteracji t, który jest również określany przez ruletkę. Po zakończeniu każdego cyklu globalnie optymalne rozwiązanie, potwierdzone przez zintegrowany klasyfikator owijania, jest zwracane.

Algorytm 1: ALWFSO
Zdefiniuj funkcję celu: f(x):x=(x1,x 2,...,xd)
Inicjalizacja kolonii mrówek i mrówek losowo
Obliczenie przydatności mrówek i mrówkowców
Wybierz najlepsze mrówki i załóż, że są elitarne.
Powtarzaj, aż spełniono warunek zakończenia lub f(x):x=(x1,x 2,...,xd)
Dla każdego wyboru mrówczo-mrówek: Użyj mechanizmu wyboru Koła Ruletki, aby probabilistycznie wybrać mrówka wpływającego na ruchy mrówki
X(t) = [0,cum_sum(2r(t1) - 1),cum_sum(2r(t2) - 1),...,cum_sum(2r(tn)-1)]
Równanie 21
Równanie 22
Koniec pętli mrówek
Ocena sprawności: Przelicz wartości sprawności wszystkich mrówek na podstawie ich nowych pozycji.
Zamień mrówki na mrówki, jeśli te wykazują lepszą sprawność fizyczną
Jeśli mrówek stanie się bardziej sprawny, wtedy
Równanie 23
Koniec podczas

Optymalizacja wyboru funkcji oparta na owijaniu przeszukiwań Cuckoo (CSWFSO)

Zainspirowane zachowaniami pasożytniczymi lęgowymi niektórych gatunków kukułek, które składają jaja w gniazdach innych ptaków-gospodarzy, Xin-She Yang i Susah Deb,35 lat, stworzyły algorytm Cuckoo Search w 2009 roku. W tej procedurze każda kukułka składa jajko w gnieździe, które jest wybierane losowo. Przyszłe pokolenia odziedziczą gniazda z najlepszymi jajami. Prawdopodobieństwo, że ptak gospodarz zauważy jajo obcego, wynosi zero, a dostępnych jest tylko określona liczba gniazd gospodarzy.

Algorytm 2: CSWFSO

Zdefiniuj funkcję celu: f(x):x = (x1,x 2,...,xd)
Losowo wygeneruj początkową populację n gniazd gospodarzy, z których każde odpowiada kandydatowi na rozwiązanie xi (i=1,2,3,...,n)
Powtarzaj, aż spełniony jest warunek zatrzymania lub (tDla losowo wybranego cuckoo i wywołamy nowe rozwiązanie kandydata za pomocą lotu Lévy'ego
Równanie 27
Oblicz przystosowanie nowo wygenerowanego rozwiązania Fi [Aby zmaksymalizować, Fi α f(xi)]
Losowo wybierz gniazdo gospodarza j z populacji n
jeśli (Fi >Fj), to j jest zastępowane nowym rozwiązaniem
koniec jeśli
Porzuć część gorszych sieci przez ułamek (pa)
Nowe gniazda buduje się w porzuconej frakcji (p a), używając Równanie 34
Odłóż na bok najlepsze rozwiązania lub gniazda.
Klasyfikując je, wybierz najlepsze gniazdo lub rozwiązanie dostępne w danej chwili.
Następne pokolenie dziedziczy najlepsze dostępne obecnie rozwiązanie.
Koniec podczas

Na początku wszystkie gniazda są inicjalizowane losowo. W miarę postępu iteracji każda kukułka modyfikuje swoją pozycję w przestrzeni rozwiązań za pomocą lotów Lévy'ego, zgodnie z opisem Algorytmu 2. Rozmiar kroku jest dostosowany przez ∝, a operacja sigmoid konwertuje ciągłe wartości generowane przez Cuckoo Search Optimization (CSO) na format binarny, jak przedstawiono w równaniach (6) i (7).

Równanie 35   (6)

Równanie 36  (7)

Jak pokazano w Algorytmie 2, gdzie Równanie 37 i Równanie 38 są losowo wybieranymi gniazdami, a δ ∈ [0,1], na końcu każdej iteracji niektóre gniazda są porzucane i odświeżane nowymi kandydatami.

Zainspirowany pasożytnictwem lęgowym ptaka kukułki, algorytm optymalizacji wyszukiwania kukułki (CSO) okazał się użytecznym narzędziem do zadań wyboru cech35. Technika zaczyna się od inicjalizacji populacji gniazd, z których każde stanowi możliwe rozwiązanie w kontekście wyboru cech CSO opartego na owijaniach. Do oceny przystosowania tych gniazd używa się ustalonej funkcji celu. Korzystając z ocen dopasowania, algorytm określa optymalne rozwiązanie — określane jako globalnie najlepsze — w każdej iteracji. Aby lepiej eksplorować przestrzeń rozwiązań, część gniazda, reprezentowana przez groszek, jest usuwana i zastępowana nowymi zgodnie z protokołem CSO. Osadzony klasyfikator owijający potwierdza, że algorytm daje globalnie optymalne rozwiązanie po zakończeniu wszystkich iteracji.

Optymalizacja wyboru cech oparta na owijaniu Firefly (FWFSO)

Algorytm 3: FWFSO
Zdefiniuj funkcję celu: f(x):x = (x1,x 2,...,xd)
Wygeneruj początkowy rój n świetlików, z których każdy reprezentuje rozwiązanie xi (i = 1,2,3,...,n)
Określ natężenie światła I każdego świetlika na podstawie wartości funkcji celu
Zdefiniuj współczynnik pochłaniania światła γ
Powtarzaj, aż spełniony jest warunek zatrzymania lub (t < MaxGeneration)
dla każdego świetlika i (∀ i=1,2,3,... ,n)
dla każdego świetlika j (∀ j=1,2,3,... ,i)
Otrzymuj lekkie intensywności Ii iI j
jeśli jai < jaj
Równanie 48
     Równanie 49
else
Losowo przesuwaj świetlika i, aby zbadać przestrzeń poszukiwań
koniec jeśli
Atrakcyjność maleje wraz z odległością, ponieważ Równanie 51
Oceń zaktualizowane rozwiązanie i odpowiednio dostosuj intensywność świetlika
koniec dla
koniec dla
Uszereguj świetliki według ich natężenia światła i wybierz tę o najwyższej jasności jako aktualnie najlepsze rozwiązanie

Algorytm optymalizacji świetlików, wprowadzony przez George'a Lindfielda i Johna Penny'ego(36), naśladuje naturalne zachowanie świetlików w celu przyciągania innych. W tym algorytmie atrakcyjność świetlika jest bezpośrednio proporcjonalna do jej jasności, natomiast odległość między dwoma świetlikami jest odwrotnie proporcjonalna do ich atrakcyjności. Jeśli w pobliżu nie ma jaśniejszych świetlików, świetlik porusza się losowo.

Dwa świetliki przyciągają się nawzajem ze względu na swoją jasność; mniej jasny świetlik przyciągnie się do jaśniejszego. Losowy ruch jest stosowany, gdy nie ma jaśniejszego świetlika. Gdy β0 oznacza piękno, do obliczenia ich atrakcyjności używa się odległości r=0 między dwoma świetlikami. Rozdzielenie rjk między świetlikami j i k oblicza się następująco: Równanie 55 tutaj rji ir ki uwzględniają przestrzenne składowei-tego wymiaru dla świetlików odpowiednio jth ik th, a n oznacza liczbę wymiarów. Ruch świetlika w kierunku innego zależy od stopnia przyciągania między nimi: Równanie 60. W tym równaniu rj to aktualna pozycja świetlika j, γ jest światło Ranard liczbą losową między 0 a 1, α to szybkość mutacji i współczynnik absorpcji. Jeśli nie ma już błyskotliwych świetlików, świetlik będzie poruszał się losowo zgodnie z αα. Po każdej iteracji osadzony klasyfikator owijający waliduje globalne rozwiązanie minimalne, które następnie jest zwracane.

Klasyfikator

Zarówno zbiory danych ustrukturyzowanych, jak i niestrukturalnych można klasyfikować, dzieląc je na grupy lub klasy. Celem jest wykorzystanie atrybutów świeżych punktów danych do prognozowania ich klasy lub etykiety. Procedura ta określa kategorię, do której należą świeże dane, poprzez przybliżenie funkcji odwzorowywania zmiennych wejściowych do dyskretnych zmiennych wyjściowych.

Losowe lasy, drzewa decyzyjne, k-najbliższe sąsiadów, regresja logistyczna oraz maszyny wektorowe wspierające to jedne z algorytmów indukcyjnych lub klasyfikacji używanych do oceny sugerowanego rozwiązania wykrywania złośliwego oprogramowania Android37. Ponadto w tej pracy przedstawiono Artificial Neuronal Classifier, rewolucyjny hybrydowy klasyfikator łączący konwencjonalne algorytmy indukcji ze sztucznymi sieciami neuronowymi.

Sztuczny klasyfikator neuronalny

Sugerowany projekt Artificial Neuronal Classifier (ANC) łączy klasyfikator indukcji i sztuczne sieci neuronowe (ANN), jak pokazano na Rysunku 4. Zgodnie z tą architekturą ANN jest uczony identyfikowania wzorców i korelacji między cechami wejściowymi. Klasyfikator indukcyjny wykorzystuje informacje uzyskane przez ANN, aby zwiększyć precyzję rozpoznawania złośliwego oprogramowania od bezpiecznego.

Po szeroko zakrojonych testach, ANN wewnątrz ANC został skonfigurowany z trzema w pełni połączonymi ukrytymi warstwami, każda z M węzłami, a następnie warstwą wejściową z N węzłami. Istnieje warstwa wyjściowa połączona z klasyfikatorem indukcyjnym po kolejnej, w pełni połączonej warstwie ukrytej z węzłami M/2. Równanie (8) określa liczbę węzłów w warstwach ukrytych:

Równanie 62  (8)

gdzie M oznacza liczbę węzłów w warstwie ukrytej, N oznacza liczbę cech wejściowych, a α to parametr w zakresie od 2 do 10. Funkcja aktywacji (jak pokazano w równaniu (9)) odgrywa kluczową rolę w określaniu, czy neuron jest aktywowany, w zależności od przekroczenia określonego progu wyjściowego.

Równanie 64   (9)

Tutaj hθ(x) oblicza się zgodnie z równaniem (3). ANC wykorzystuje optymalizator Adama do regulacji wag sieci i tempa uczenia się. W Adamie szybkości zaniku dla pierwszej estymacji Równanie 65 momentu i drugiej estymacji Równanie 66 momentu dla każdej masy ωij oznaczane są odpowiednio jakoβ 1 i β2. Niech N oznacza tempo uczenia się. Reguły aktualizacji dla Adama przedstawiono w równaniach (10) i (11):

Równanie 70 (10)

Równanie 71   (11)

Estymaty Równanie 72 Równanie 73z korygowaniem o pierwszy i drugi moment oraz , oblicza się za pomocą równań (12) i (13):

Równanie 74 (12)

Równanie 75 (13)

Te obliczenia zapewniają, że optymalizator utrzymuje odpowiednie tempo uczenia dla każdej wagi, co ułatwia efektywne i skuteczne trenowanie ANC.

Reguła aktualizacji wagi dla każdego połączenia w sieci neuronowej jest zdefiniowana przez równanie (14):

Równanie 76 (14)

Po aktualizacji wag sieci neuronowych, wydajność ocenia się za pomocą funkcji straty, która mierzy rozbieżność między przewidywanymi a rzeczywistymi wynikami. W tym modelu stosuje się średni błąd bezwzględny (MAE), zdefiniowany w równaniu (15), do tego celu.

Równanie 77 (15)

W tym kontekście yi oznacza rzeczywisty wynik, Równanie 79 oznacza przewidywany wynik, a n to łączna liczba instancji wyjściowych. Po wytrenowaniu sieci neuronowej na określonej liczbie epok, wyuczone reprezentacje z przestrzeni cech są przesyłane do klasyfikatora indukcji, aby odróżnić złośliwe oprogramowanie od nieszkodliwego.

Proponowany Sztuczny Klasyfikator Neuronalny (ANC) funkcjonuje jako hybrydowy framework, który łączy możliwości uczenia cech sztucznej sieci neuronowej (ANN) z mocnymi stronami decyzyjnymi tradycyjnych klasyfikatorów indukcyjnych, takich jak Random Forest i Decision Tree. W tym projekcie ANN najpierw przetwarza wybrane cechy uzyskane z autoenkodera, aby nauczyć się złożonych wzorców i korelacji między atrybutami wejściowymi. Wyuczone reprezentacje są następnie przekazywane do klasyfikatora indukcyjnego, który przeprowadza ostateczną klasyfikację aplikacji na Androida jako łagodne lub złośliwe. W ten sposób ANC działa jak owijanie, wzmacniając konwencjonalne klasyfikatory głębokimi osadzeniami cech, jednocześnie zachowując ich interpretowalność. Ten hybrydowy mechanizm pozwala ANC wykorzystać zarówno abstrakcji cech wysokiego poziomu z ANN, jak i solidne podejmowanie decyzji na podstawie ustalonych klasyfikatorów uczenia maszynowego, co skutkuje poprawą dokładności wykrywania i uogólnienia.

Układ eksperymentalny

W eksperymentalnym układzie zastosowano 64-bitowy system operacyjny Windows 10 z procesorem i5 – 2,30 GHz, 8 GB RAM i dyskiem twardym 2 TB. Python 3.7 był używany jako język programowania, a platforma Jupyter została stworzona, aby umożliwić pakiety uczenia maszynowego i głębokiego uczenia.

Dataport IEEE dostarczył dane sekwencji wywołań API eksperymentu, które obejmowały 43 876 sekwencji – z czego 42 797 sklasyfikowano jako złośliwe oprogramowanie, a 1 079 jako goodware. Do weryfikacji użyto Virus Total, a środowisko Cuckoo Sandbox do zbierania danych. Tabela 1 zawiera kompleksowe wyjaśnienie sekwencji wywołań API.

Access restricted. Please log in or start a trial to view this content.

Results

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

W proponowanym systemie wykrywania malware Android stosuje się kilka wskaźników wydajności, takich jak średni błąd kwadratowy (MSE), średni błąd kwadratowy korzeniowy (RMSE), precyzja, przypomnienie, wynik F1 oraz dokładność, które służą do oceny dokładności klasyfikacji. Poniżej przedstawiono definicję tych miar.

Równanie 80

Access restricted. Please log in or start a trial to view this content.

Discussion

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Zagrożenia malware na Androida rosną, a przeciwnicy stosują coraz bardziej zaawansowane techniki unikania. Systemy i aplikacje mobilne oparte na Androidzie odgrywają kluczową rolę w inteligentnych miastach i środowiskach przemysłowych. Zapewnienie bezpieczeństwa tych systemów, szczególnie w tak krytycznych domenach, wymaga solidnych mechanizmów wykrywania złośliwego oprogramowania. Ostatnio badania nad wykrywaniem złośliwego oprogramowania oparte na uczeniu maszynowym zyskały znaczną uwagę18. Jedn...

Access restricted. Please log in or start a trial to view this content.

Disclosures

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Na wyniki tej pracy nie wpłynęły żadne konflikty interesów ani wpływy zewnętrzne. Wszystkie przedstawione metody, wyniki i interpretacje są oryginalne i obiektywne

Acknowledgements

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,

Chciałbym wyrazić szczera wdzięczność mojemu przewodnikowi i KLU, którzy wsparli tę pracę. Ich wskazówki, opinie i wsparcie były nieocenione przez cały proces realizacji tego projektu.

Access restricted. Please log in or start a trial to view this content.

Materials

List of materials used in this article
NameCompanyCatalog NumberComments
Anaconda NavigatorAnaconda, Inc.Navigator-2023
Google ColabGoogle LLCNie ma
Jupyter NotebookProjekt JupyterNie ma
PythonPython Software Foundation>=3,9
PyTorchBadania nad AI na Facebooku>=2,0
Scikit-learnInicjatywa społecznościowa>=1,0
TensorFlowGoogle Brain>=2,8
System operacyjny WindowsMicrosoft Corporation11

References

Loading...
$$\rightleftharpoonup{xx}$$ $$\longleftharp{xx}$$, $$\longrightharp{xx}$$,
  1. Stat Counter. Mobile operating systems' market share worldwide. , https://gs.statcounter.com/os-market-share/mobile/worldwide (2025).
  2. Daj, A. C., Mateescu, A., Endre-Laszlo, A., Baciu, A., Flondor, E. Malicious-google-play-apps-bypassed-android-security. , https://www.bitdefender.com/en-us/blog/labs/malicious-google-play-apps-bypassed-android-security (2025).
  3. Han, Q., Subrahmanian, V. S., Xiong, Y. Android Malware Detection via (Somewhat). IEEE Trans Inf Forensics Secur. 15, 3511-3525 (2020).
  4. De Lorenzo, A., Martinelli, F., Medvet, E., Mercaldo, F., Santone, A. Visualizing the outcome of dynamic analysis of Android malware with VizMal. J Info Security Appl. 50, 102423(2020).
  5. Xu, J., Li, Y., Deng, R., Xu, K. SDAC: A Slow-Aging Solution for Android Malware Detection Using Semantic Distance Based API Clustering. IEEE Trans Dependable Secure Comput. , 1-15 (2020).
  6. Mahindru, A., Sangal, A. L. A feature selection technique to detect malware from Android using Machine Learning Techniques. Multimed Tools Appl. 80 (9), 13271-13323 (2021).
  7. Hasan, H., Ladani, B. T., Zamani, B. MEGDroid: A model-driven event generation framework for dynamic android malware. Info Soft Tech. 135, 106569(2021).
  8. Premkumar, G., Santhosh, C. Automated Android Malware Detection Using Artificial Intelligence and Machine Learning. Int J Res Publicat Rev. 5 (4), 1950-1954 (2024).
  9. Liu, X., Du, X., Lei, Q., Liu, K. Multifamily Classification of Android Malware With a Fuzzy Strategy to Resist Polymorphic Familial Variants. IEEE Access. 8, 156900-156914 (2020).
  10. Detection of Malware under Android Mobile Application. Hani, S. I., Sahib, N. M. 3rdInt Conf Eng Tech Appl, , 179-184 (2020).
  11. Jiang, J., et al. Android Malware Family Classification Based on Sensitive Opcode. IEEE Symp Comp Comm (ISCC). , 1-7 (2019).
  12. Xiong, P., Wang, X., Niu, W., Zhu, T., Li, G. Android malware detection with contrasting permission patterns. China Comm. 11 (8), 1-14 (2014).
  13. Daoudi, N., Allix, K., Bissyandé, T. F., Klein, J. Lessons Learnt on Reproducibility in Machine Learning Based Android Malware Detection. Emp Soft Eng. 26, 74(2021).
  14. Qaisar, Z. H., Li, R. Multimodal information fusion for android malware detection using lazy learning. Multimed Tools Appl. 81, 12077-12091 (2021).
  15. Rathore, H., Sahay, S. K., Nikam, P., Sewak, M. Robust android malware detection system against adversarial attacks using q-learning. Info Sys Front. 23, 867-882 (2021).
  16. Dehkordy, D. T., Rasoolzadegan, A. A new machine learning-based method for android malware detection on imbalanced dataset. Multimed Tools Appl. 80, 24533-24554 (2021).
  17. Dharmalingam, V. P., Palanisamy, V. A novel permission ranking system for android malware detection-the permission grader. J Ambient Intell Humanized Comput. 12, 5071-5081 (2021).
  18. Yildiz, O., Doğru, I. A. Permission-based Android malware detection system using feature selection based on genetic algorithm. Int J Soft Eng Knowledge Eng. 29 (2), 245-262 (2019).
  19. Sarah, N. A., Rifat, F. Y., Hossain Md, S., Narman, H. S. An Efficient Android Malware Prediction Using Ensemble machine learning algorithm. Procedia Comp Sci. 191, 184-191 (2021).
  20. Ding, Y., Zhang, X., Hu, J., Xu, W. Android malware detection method based on bytecode Image. J Ambient Intell Humanized Comp. 14, 6401-6410 (2020).
  21. Elayan, O. N., Mustafa, A. M. Android Malware Detection Using Deep Learning. Procedia Comp Sci. 184, 847-852 (2021).
  22. Arif, J. M., et al. Android mobile malware detection using fuzzy AHP. J Info Secur Appl. 61, 102929(2021).
  23. Mercaldo, F., Santone, A. Audio signal processing for Android malware detection and family identification. J Comp Virol Hacking Techs. 17, 139-152 (2021).
  24. Zhang, N., Tan, Y., Yang, C., Li, Y. Deep learning feature exploration for Android malware detection. Appl Soft Comp. 102, 1568-4946 (2021).
  25. Imtiaz, S. I., et al. DeepAMD: Detection and identification of Android malware using high-efficient Deep Artificial Neural Network. Future Generat Comp Syst. 115, 844-856 (2021).
  26. Firdaus, A., Anuar, N. B., Karim, A., Razak, M. F. A. Discovering optimal features using static analysis and a genetic search-based method for Android malware detection. Front Info Technol Elect Eng. 19, 712-736 (2018).
  27. Peynirci, G., Eminağaoğlu, M., Karabulut, K. Feature Selection for Malware Detection on the Android Platform Based on Differences of IDF Values. J Comp Sci Technol. 35 (4), 946-962 (2020).
  28. Dong, S., Shu, L., Nie, S. Android malware detection method based on CNN and DNN bybrid mechanism. IEEE Transact Ind Info. 20 (5), 7744-7753 (2024).
  29. Shu, L., Dong, S., Su, H., Huang, J. Android malware detection methods based on convolutional neural network: A survey. IEEE Trans Emerging Top Comp Intell. 7 (5), 1330-1350 (2023).
  30. Naeem, H., Cheng, X., Ullah, F., Jabbar, S., Dong, S. A deep convolutional neural network stacked ensemble for malware threat classification in internet of things. J Circuits Sys Comp. 31 (17), 2250302(2022).
  31. Shu, L., Dong, S. Enhanced unknown Android Malware Detection using LG-PN: A local-global fusion approach in prototypical networks. J Info Security Appl. 91, 104062(2025).
  32. Karbab, E. B., Debbabi, M., Derhab, A., Mouheb, D. Android Malware Detection using Deep Learning on API Method Sequences. arXiv. , (2017).
  33. Android Malware Detection Using API Calls: A Comparison of Feature Selection and Machine Learning Models. Muzaffar, A., Ragab Hassan, H., Lones, M. A., Zantout, H. Proc Int Conf Appl Cyber Security (ACS), , 3-12 (2021).
  34. Mirjalili, S. The Ant Lion Optimizer. Adv Eng Sof. 83, 80-98 (2015).
  35. Yang, X. Y., Deb, S. Cuckoo Search via Lévy flights. arXiv. , (2009).
  36. Yang, X. S. Nature-Inspired Optimization Algorithms. , Academic Press. (2017).
  37. Gerard, A. Detecting malicious content from extracted API call sequence by applying deep learning and machine learning algorithm. , National College of Ireland. Ireland. (2020).

Access restricted. Please log in or start a trial to view this content.

Reprints and Permissions

Request permission to reuse the text or figures of this JoVE article

Request Permission

Tags

Android Malware DetectionSwarm IntelligenceAPI Call AnalysisAutoencoder TechniquesFeature SelectionFirefly OptimizationCuckoo Search OptimizationAnt Colony OptimizationMachine Learning ClassifiersNeural Network Classifier

Related Articles