自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

基于機器學(xué)習(xí)的 Android 惡意 App 識別

人工智能 機器學(xué)習(xí)
經(jīng)過多次嘗試,我們暫時未能訓(xùn)練出一個在單一數(shù)據(jù)集上訓(xùn)練,而在其他數(shù)據(jù)集上也具有理想準確率的模型。因此,我們決定將應(yīng)用寶和 APKPure 的數(shù)據(jù)合并作為 Benign APK 的訓(xùn)練集,同時將其他幾個 Malware 數(shù)據(jù)集也合并作為 Malware APK 的訓(xùn)練集,以提高樣本的平均均衡度。

問題描述

Android 市場的開放性導(dǎo)致了惡意軟件(Malware)的盛行。據(jù) 360 安全中心報告,每天都能截獲數(shù)萬個 Android 惡意軟件,使得 Android Malware Detection 成為研究人員熱議的話題。傳統(tǒng)的 Android 惡意軟件檢測方法主要依賴于基于規(guī)則或簽名的檢測機制,其中使用 yara 實現(xiàn)相對簡單。但這種基于簽名的檢測方法是信息密集型的,需要持續(xù)收集新的簽名,而基于規(guī)則的實現(xiàn)則極為復(fù)雜,極易導(dǎo)致誤報或讓狡猾的惡意軟件逃過檢測。

隨著機器學(xué)習(xí)的流行,越來越多的研究人員開始嘗試利用機器學(xué)習(xí)來實現(xiàn)惡意軟件的檢測。核心思路是從 Android 的 APK 文件中提取信息,用于訓(xùn)練模型,隨后預(yù)測其他 APK 文件是否為惡意軟件。根據(jù)信息提取方法的不同,主要分為兩類:一類是通過靜態(tài)分析,從 APK 中提取 permissions、intents、receivers 等組件,以及通過反編譯提取代碼調(diào)用,利用這些信息進行模型訓(xùn)練;另一類是通過實際安裝運行 APK,攔截網(wǎng)絡(luò)請求和監(jiān)聽系統(tǒng) API 調(diào)用來獲取數(shù)據(jù),作為模型訓(xùn)練的基礎(chǔ)。

在探討此問題時,由于“Incinerator”項目的動態(tài)檢測功能尚未完全實現(xiàn),我們暫時缺乏研究動態(tài)分析的條件,因此選擇采用靜態(tài)分析方法進行研究。

當前主流方案

基于靜態(tài)分析的機器學(xué)習(xí)訓(xùn)練方案主要包括以下幾類:

  1. 權(quán)限提取訓(xùn)練:
  • 從 AndroidManifest.xml 中提取 permissions 信息進行模型訓(xùn)練。
  • 綜合信息提取訓(xùn)練:

從 AndroidManifest.xml 中提取 permissions、intents、receivers 等信息,并通過反編譯從 APK 中基于規(guī)則抽取 Android 系統(tǒng) API 調(diào)用等信息進行模型訓(xùn)練。

  • 整體 APK 訓(xùn)練:
  • 將整個 APK 文件作為機器學(xué)習(xí)訓(xùn)練的輸入,包括將 APK 文件的二進制字節(jié)流作為輸入,或通過反編譯抽取 opcode 作為訓(xùn)練輸入。

據(jù)文獻報道,這些方案可實現(xiàn) 90% 以上的準確率。尤其是方案 3,準確率在 92%-93% 之間,而方案 1 和 2 在多數(shù)研究中可達到 95% 以上的準確率。

我們試圖重現(xiàn)文獻中的方案,首先著手基于 permissions 的方案進行驗證。

數(shù)據(jù)源:

  • 惡意軟件集合:

a. 來自威脅情報公司 abuse.ch 的 Malware APK 集合 2000 個(簡稱 MB)

b. VirusShare 2020/2021/2022 的 Malware 集合(簡稱 VS2020/VS2021/VS2022)

  • 良性軟件集合:

a. 從應(yīng)用寶下載的 APK 10000 個

b. 從 APKPURE 下載的 APK 10000 個

訓(xùn)練方法

通過靜態(tài)分析從 APK 的 AndroidManifest.xml 中抽取 AOSP (Android Open Source Project) permissions,并通過 One-hot Encoding 的方式輸入模型進行訓(xùn)練。模型選擇采用傳統(tǒng)的機器學(xué)習(xí)二分類模型如隨機森林、SVM 等進行訓(xùn)練。經(jīng)測試,隨機森林的效果最佳,準確率可達 98%。

我們選擇應(yīng)用寶的 APK 作為良性樣本,VS2022 作為惡意軟件樣本,進行訓(xùn)練。訓(xùn)練數(shù)據(jù)如下:

模型

Precision

Recall

FPR

隨機森林

0.983

0.983

0.056

SVM

0.981

0.977

0.063

然后我們對其他數(shù)據(jù)集進行測試驗證:

數(shù)據(jù)集

Precision

Recall

FPR

APKPure

0.0

NAN

0.59

MB

1.0

0.95

NAN

VS2020

1.0

0.96

NAN

VS2021

1.0

0.94

NAN

在進行 APKPure 數(shù)據(jù)集的驗證時,發(fā)現(xiàn)模型的假陽性率異常高,超過了 50%,這表明模型在不同數(shù)據(jù)集的交叉驗證上表現(xiàn)不佳。同時,在 MB、VS2020、VS2021 數(shù)據(jù)集上得到的高準確率由于高假陽性率而變得無意義。

為了深入理解模型的預(yù)測表現(xiàn),我們選擇使用 LinearSVM(線性支持向量機)來解釋模型的預(yù)測結(jié)果,并嘗試探討可能出現(xiàn)的問題:

在訓(xùn)練過程中,共有 265 個權(quán)限被用于訓(xùn)練模型。我們重點分析了對于 Malware 預(yù)測結(jié)果影響最大的 30 個權(quán)限:

0 1.9507425950717683 android.permission.READ_SMS
1 1.6805547441380115 android.permission.SEND_SMS
2 1.5291784053142392 android.permission.RECEIVE_SMS
3 1.281383891333467 android.permission.WRITE_SMS
4 1.1385944832617678 android.permission.GET_DETAILED_TASKS
5 1.0870145778775504 android.permission.MANAGE_USERS
6 0.9822953162458009 android.permission.SET_TIME_ZONE
7 0.9815855293627985 android.permission.REQUEST_DELETE_PACKAGES
8 0.8705538278525148 android.permission.ACCOUNT_MANAGER
9 0.7701851337780519 android.permission.ACCESS_CACHE_FILESYSTEM
10 0.7493889020376178 android.permission.PERSISTENT_ACTIVITY
11 0.742267985802697 android.permission.SET_PREFERRED_APPLICATIONS
12 0.6575763216374741 android.permission.USE_SIP
13 0.6423455602781643 android.permission.MODIFY_PHONE_STATE
14 0.5733719308777389 android.permission.READ_CALL_LOG
15 0.5713221448442122 android.permission.WRITE_SECURE_SETTINGS
16 0.5177117115666185 android.permission.CLEAR_APP_CACHE
17 0.5013751180995185 android.permission.WRITE_SYNC_SETTINGS
18 0.47540432455574055 android.permission.INJECT_EVENTS
19 0.450576746748121 android.permission.BIND_ACCESSIBILITY_SERVICE
20 0.4497437629117625 android.permission.READ_SYNC_STATS
21 0.40721040702182304 com.android.alarm.permission.SET_ALARM
22 0.3958974436391258 android.permission.GET_PACKAGE_SIZE
23 0.35828369132005317 android.permission.TRANSMIT_IR
24 0.3538089622374305 android.permission.CHANGE_COMPONENT_ENABLED_STATE
25 0.3303834311984685 android.permission.STATUS_BAR
26 0.3277728921018696 android.permission.WRITE_USER_DICTIONARY
27 0.31322691738916597 android.permission.SET_DEBUG_APP
28 0.28600828593282673 android.permission.INSTALL_PACKAGES
29 0.27804088205285526 android.permission.SHUTDOWN

導(dǎo)致 Benign 結(jié)果最重要的 30 個權(quán)限:

1 -1.0280830288092226 android.permission.FORCE_STOP_PACKAGES
2 -1.0244749163270055 android.permission.DELETE_CACHE_FILES
3 -0.9235183435775582 android.permission.READ_PRIVILEGED_PHONE_STATE
4 -0.7975588094210508 android.permission.USE_BIOMETRIC
5 -0.7691538868495551 android.permission.READ_CELL_BROADCASTS
6 -0.7288571523071693 android.permission.REQUEST_INSTALL_PACKAGES
7 -0.7278186994140812 android.permission.WRITE_CALL_LOG
8 -0.7029898754031535 android.permission.READ_SEARCH_INDEXABLES
9 -0.6832562629713737 android.permission.ACCESS_NOTIFICATION_POLICY
10 -0.6442707037030093 android.permission.BIND_NOTIFICATION_LISTENER_SERVICE
11 -0.6229441323892875 android.permission.CAPTURE_AUDIO_OUTPUT
12 -0.5951302503005503 android.permission.REORDER_TASKS
13 -0.552113274404841 android.permission.FACTORY_TEST
14 -0.5512329811397917 android.permission.CAMERA
15 -0.5415431826751977 android.permission.PACKAGE_USAGE_STATS
16 -0.5373788445105623 android.permission.READ_SYNC_SETTINGS
17 -0.5300427083556158 android.permission.ACCESS_WIFI_STATE
18 -0.48952375397337794 android.permission.READ_PHONE_NUMBERS
19 -0.4822239255635727 android.permission.STOP_APP_SWITCHES
20 -0.4525220364959383 android.permission.WRITE_MEDIA_STORAGE
21 -0.4133049145725493 com.android.browser.permission.WRITE_HISTORY_BOOKMARKS
22 -0.3902532535519829 android.permission.CAPTURE_VIDEO_OUTPUT
23 -0.34681147328619505 android.permission.READ_FRAME_BUFFER
24 -0.34134222449779317 android.permission.WRITE_GSERVICES
25 -0.3335042039412585 android.permission.BIND_APPWIDGET
26 -0.3263774109427998 android.permission.AUTHENTICATE_ACCOUNTS
27 -0.3136298914538836 android.permission.NFC
28 -0.3000955825422318 android.permission.READ_EXTERNAL_STORAGE
29 -0.2846046321402758 android.permission.CALL_PRIVILEGED
30 -0.28338090002182315 android.permission.READ_CALENDAR

在表格中,第二列顯示了通過 SVM 計算得到的權(quán)重值。由于在標簽設(shè)定中,Malware 被標記為 1,而 Benign 被標記為 0,且訓(xùn)練數(shù)據(jù)的格式是 0,1,1,0,...0,1,1,0,...這樣的布爾值,因此,當權(quán)重為正時,該權(quán)重在計算 Malware 的預(yù)測結(jié)果時具有較高的重要性;權(quán)重值越大,其重要性越高。相反,當權(quán)重為負時,該權(quán)重在計算 Benign 的預(yù)測結(jié)果時具有較高的重要性;權(quán)重值越小,其重要性越高。

通過分析這些權(quán)限及其功能,我們發(fā)現(xiàn) Malware 相關(guān)的權(quán)限通常比 Benign 相關(guān)的權(quán)限具有更高的危害性。在一定程度上,這種模型的設(shè)計是合理的。例如,模型成功識別了與 SMS 相關(guān)的權(quán)限主要與 Malware 相關(guān),并賦予了較高的權(quán)重,這意味著,基本上,一個 APP 如果包含 SMS 權(quán)限,就非??梢?。實際上,普通的 APP 不應(yīng)該請求此類權(quán)限,因為短信管理通常是系統(tǒng) APP 的職責。

然而,這里存在一個問題:權(quán)限的存在是因為 Android 系統(tǒng)認為某些行為可能不妥,需要用戶確認。所以,理論上,所有需要請求的權(quán)限都有可能對用戶造成損害。因此,沒有請求權(quán)限應(yīng)該被視為一個加分項。但在二分類機器學(xué)習(xí)的情境下,模型會做出區(qū)分,因為 Benign 類別的存在意味著一定會有一部分權(quán)限被視為支持 Benign 的證據(jù)。

現(xiàn)在我們來分析為什么會出現(xiàn)如此高的假陽性率: 我們使用 LinearSVC 來解釋模型的預(yù)測結(jié)果,并對一些具有假陽性的權(quán)限信息進行分析:

0.1773649887447295 android.permission.WAKE_LOCK
0.01285824377030036 android.permission.INTERNET
-0.1357928094523775 android.permission.ACCESS_NETWORK_STATE
0.43102404170044467 com.android.alarm.permission.SET_ALARM
0.1773649887447295 android.permission.WAKE_LOCK
0.14741402851800423 android.permission.SYSTEM_ALERT_WINDOW
0.02740438240042149 android.permission.FOREGROUND_SERVICE
0.01285824377030036 android.permission.INTERNET
-0.1357928094523775 android.permission.ACCESS_NETWORK_STATE
-0.15043626374678254 android.permission.WRITE_EXTERNAL_STORAGE
-0.1975995718519041 android.permission.CHANGE_WIFI_STATE
-0.20461138790573433 android.permission.VIBRATE
-0.511067438637911 android.permission.ACCESS_WIFI_STATE
0.1773649887447295 android.permission.WAKE_LOCK
0.02740438240042149 android.permission.FOREGROUND_SERVICE
0.01285824377030036 android.permission.INTERNET
-0.1357928094523775 android.permission.ACCESS_NETWORK_STATE
-0.33867385510052594 android.permission.READ_EXTERNAL_STORAGE
-0.511067438637911 android.permission.ACCESS_WIFI_STATE

而真陽的權(quán)限信息:

0.32757400447767016 android.permission.INSTALL_PACKAGES
0.2870058866311678 android.permission.READ_PHONE_STATE
0.1773649887447295 android.permission.WAKE_LOCK
0.1545767541451571 android.permission.FLASHLIGHT
0.14613075920332474 android.permission.BLUETOOTH_ADMIN
0.140268653568319 android.permission.GET_ACCOUNTS
0.08641386050999389 android.permission.MOUNT_UNMOUNT_FILESYSTEMS
0.06460516872049353 android.permission.ACCESS_COARSE_LOCATION
0.01285824377030036 android.permission.INTERNET
-0.009804892771664459 android.permission.ACCESS_FINE_LOCATION
-0.12321341834571817 android.permission.READ_LOGS
-0.1357928094523775 android.permission.ACCESS_NETWORK_STATE
-0.15043626374678254 android.permission.WRITE_EXTERNAL_STORAGE
-0.15994619600450963 android.permission.CHANGE_NETWORK_STATE
-0.16005902734200772 android.permission.WRITE_SETTINGS
-0.1975995718519041 android.permission.CHANGE_WIFI_STATE
-0.20461138790573433 android.permission.VIBRATE
-0.23536025455979454 android.permission.CALL_PHONE
-0.24802834827531783 android.permission.ACCESS_LOCATION_EXTRA_COMMANDS
-0.30018060973660377 android.permission.BLUETOOTH
-0.33867385510052594 android.permission.READ_EXTERNAL_STORAGE
-0.511067438637911 android.permission.ACCESS_WIFI_STATE
-0.5625902678304402 android.permission.CAMERA
-0.7242676191415552 android.permission.REQUEST_INSTALL_PACKAGES

通過分析,我們發(fā)現(xiàn)了一個模式:擁有較少權(quán)限的 APK 往往會被誤判,而權(quán)限較多的 APK 基本能得到正確的預(yù)測。深入探究后,我們理解到這種現(xiàn)象的出現(xiàn)主要是由于 APKPure 樣本中大多數(shù) APK 的權(quán)限數(shù)量較少,而我們的訓(xùn)練模型主要基于權(quán)限較多的應(yīng)用寶 APK 樣本。因此,預(yù)測誤差的產(chǎn)生在一定程度上是由樣本差異導(dǎo)致的。

為了解決這個問題,一個直接的方法是將 APKPure 的數(shù)據(jù)也納入訓(xùn)練過程,以增強模型的泛化能力和預(yù)測準確性。

我們采取了以下措施:從 APKPure 樣本中隨機抽取一半,即 5000 個 APK,同時從應(yīng)用寶樣本中隨機抽取一半,約 5000 個 APK,一同用于模型的訓(xùn)練。然后,我們使用這個新訓(xùn)練得到的模型來預(yù)測未參與訓(xùn)練的樣本。結(jié)果顯示,新模型的預(yù)測準確率得到了顯著提高。

模型

Precision

Recall

FPR

隨機森林

0.994

0.967

0.008

SVM

0.994

0.967

0.008

然后我們對其他數(shù)據(jù)集進行測試驗證:

數(shù)據(jù)集

Precision

Recall

FPR

APKPure 未參與訓(xùn)練的樣本

0.0

NAN

0.018

MB

1.0

0.878

NAN

VS2020

1.0

0.92

NAN

VS2021

1.0

0.89

NAN

假陽性率已降至可接受的水平。這個實驗揭示了一個重要的現(xiàn)象:在訓(xùn)練集上獲得理想的結(jié)果相對容易,但在現(xiàn)實世界中準確預(yù)測卻可能面臨挑戰(zhàn)。無人能保證所收集的樣本完美地反映了現(xiàn)實世界的情況,而我們的目標是識別那些真正與惡意軟件(Malware)相關(guān)的特征。因此,我們決定嘗試探索其他可能的解決方案。

1. 基于 Intents 和 Receivers 的訓(xùn)練

隨后,我們擴展了特征集,加入了從 AndroidManifest.xml 中提取的 intents 和 receivers 信息進行訓(xùn)練,然而,這并沒有提高模型的準確率。

2. 基于系統(tǒng) API 調(diào)用的訓(xùn)練

我們進一步嘗試提取 APK 中的所有系統(tǒng) API 調(diào)用,將其轉(zhuǎn)換為適合卷積神經(jīng)網(wǎng)絡(luò)(CNN)的格式,并通過 CNN 來訓(xùn)練模型。在訓(xùn)練集上,模型達到了令人滿意的 97% 的準確率,但在數(shù)據(jù)集交叉驗證時,表現(xiàn)仍然不盡如人意。

在這過程中,我們遇到了幾個問題:、

  • API 調(diào)用頻率的不明顯差異: 最初,我們通過反編譯提取了所有出現(xiàn)過的 API 調(diào)用,卻發(fā)現(xiàn)這些 API 的調(diào)用頻率并沒有明顯差異。例如,我們原本認為 accessibilityservice 的調(diào)用明顯與惡意軟件相關(guān),卻發(fā)現(xiàn)在良性軟件中也頻繁出現(xiàn)。后來我們了解到,這主要是因為大多數(shù) APK 都依賴于 android 這個庫,而該庫中包含了大量的系統(tǒng) API 調(diào)用。由于 Malware 和 Benign APK 都依賴于大量的第三方庫,這些庫中存在大量的系統(tǒng) API 調(diào)用,使得我們難以從系統(tǒng) API 調(diào)用的統(tǒng)計結(jié)果中區(qū)分 Malware 和 Benign。即便我們使用了 incinerator 的 SCA 分析功能來檢測和剔除這些第三方庫,結(jié)果仍然不盡如人意。
  • 第三方庫的干擾: 我們發(fā)現(xiàn),很少有研究考慮到第三方庫的干擾,并提出剔除第三方庫的具體方案。如果不剔除這些庫,基于靜態(tài)分析的方法幾乎毫無意義,因為靜態(tài)抽取會抽取出大量未被調(diào)用的 API,而這在 Malware 和 Benign APK 中沒有明顯區(qū)別。
  • 反編譯和脫殼問題: 由于這種方法涉及從 APK 中抽取系統(tǒng) API 調(diào)用,需要進行反編譯。然而,許多 Malware 都加殼處理,而脫殼是一個復(fù)雜的對抗技術(shù)。我們查閱的資料中,很少提到這一點。脫殼對于非專業(yè)團隊來說可能太過困難,但至少應(yīng)該從數(shù)據(jù)集中篩選出沒有殼的 APK。如果不進行脫殼,直接抽取的話,只能得到極少數(shù)的 dexloader 等系統(tǒng) API 調(diào)用,這大大影響了訓(xùn)練效果。

3. 回歸基于 Permissions 的模型

鑒于前述的嘗試未能取得預(yù)期效果,我們重新回到基于 Permissions 的模型,尋求通過其他方法提升交叉驗證的準確率。我們進行了以下嘗試:

  • 通過 Select 模型選擇 Permissions 采用此法的目的是尋找 Malware 實際所利用的 Permissions。然而,實際測試結(jié)果顯示,訓(xùn)練準確率下降,驗證準確率也下降,且交叉驗證的準確率更是降低。
  • 我們的實驗過程如下: 使用 SelectFromModel 方法,基于 RandomForestClassifier 模型(該模型包含所有參與訓(xùn)練的數(shù)據(jù))進行參數(shù)抽取。我們分別抽取了 100、50、30 個 Permissions 進行實驗,并得到了如下數(shù)據(jù):
  • 選取 100 個 Permissions訓(xùn)練數(shù)據(jù):

模型

Precision

Recall

FPR

隨機森林

0.989

0.974

0.013

數(shù)據(jù)集

Precision

Recall

FPR

APKPure

0.0

NAN

0.64

MB

1.0

0.95

NAN

VS2020

1.0

0.96

NAN

VS2021

1.0

0.94

NAN

  • 選取 50 個 Permissions訓(xùn)練數(shù)據(jù)

模型

Precision

Recall

FPR

隨機森林

0.981

0.986

0.063

數(shù)據(jù)集

Precision

Recall

FPR

APKPure

0.0

NAN

0.59

MB

1.0

0.94

NAN

VS2020

1.0

0.96

NAN

VS2021

1.0

0.94

NAN

  • 訓(xùn)練 30 個 Permissions訓(xùn)練數(shù)據(jù)

模型

Precision

Recall

FPR

隨機森林

0.983

0.983

0.054

數(shù)據(jù)集

Precision

Recall

FPR

APKPure

0.0

NAN

0.59

MB

1.0

0.96

NAN

VS2020

1.0

0.96

NAN

VS2021

1.0

0.95

NAN

分析及新的嘗試

從前述數(shù)據(jù)中可見,減少 Permissions 的數(shù)量并未能改善假陽性率或提高準確率。

  • 利用自編碼器(Auto Encoder)進行降維
  • 為了進一步嘗試改善模型表現(xiàn),我們轉(zhuǎn)向了自編碼器(Auto Encoder)技術(shù),期望通過對 Permissions 的分組和降維來提高準確率。自編碼器是一種能夠?qū)W習(xí)數(shù)據(jù)編碼的神經(jīng)網(wǎng)絡(luò),通常被用于降維或特征學(xué)習(xí)。我們的想法是通過自編碼器將 Permissions 的高維數(shù)據(jù)轉(zhuǎn)換為低維數(shù)據(jù),同時保留與 Malware 識別相關(guān)的重要信息。
  • 然而,盡管我們嘗試了自編碼器的降維方法,交叉驗證的結(jié)果仍然不盡如人意,假陽性率依然較高。

模型

Precision

Recall

FPR

隨機森林

0.977

0.980

0.074

數(shù)據(jù)集

Precision

Recall

FPR

APKPure

0.0

NAN

0.64

MB

1.0

0.95

NAN

VS2020

1.0

0.95

NAN

VS2021

1.0

0.92

NAN

通過業(yè)務(wù)邏輯選擇 Permissions

隨后,我們嘗試通過業(yè)務(wù)規(guī)則來挑選適當?shù)?Permissions。我們的方法是這樣的:

  • 我們統(tǒng)計了所有 Malware 中每個 Permission 的出現(xiàn)頻率 mp 和所有 Benign 中每個 Permission 的出現(xiàn)頻率 bp。
  • 然后計算了 bp/mp

然而,這種方法也未能提高訓(xùn)練準確率和驗證準確率。例如,android.permission.INTERNET 這樣的權(quán)限在 Malware 和 Benign 中出現(xiàn)的概率非常接近,大約都在 97% 左右,這樣的權(quán)限參與訓(xùn)練并沒有太大的意義。類似地,android.permission.WAKE_LOCK 在 Malware 和 Benign 中出現(xiàn)的概率也非常接近,大約在 80% 左右。

我們還嘗試了其他研究論文中提到的一些方法。經(jīng)過測試,我們發(fā)現(xiàn)無論采取何種方法來篩選 Permissions,篩選后的訓(xùn)練準確率都不如不篩選、直接使用所有 Permissions 進行訓(xùn)練的準確率高。這個發(fā)現(xiàn)與許多將 Permissions 篩選作為主要研究目的的論文的結(jié)論相左。

結(jié)論

經(jīng)過多次嘗試,我們暫時未能訓(xùn)練出一個在單一數(shù)據(jù)集上訓(xùn)練,而在其他數(shù)據(jù)集上也具有理想準確率的模型。因此,我們決定將應(yīng)用寶和 APKPure 的數(shù)據(jù)合并作為 Benign APK 的訓(xùn)練集,同時將其他幾個 Malware 數(shù)據(jù)集也合并作為 Malware APK 的訓(xùn)練集,以提高樣本的平均均衡度。

當然,我們也發(fā)現(xiàn)了一些可能的優(yōu)化方向:

  • 我們注意到 Malware 和 Benign 的 APK 簽名存在一定的模式,如果能夠驗證這些模式,可以將其納入現(xiàn)有模型中。
  • 在手動分析樣本時,我們發(fā)現(xiàn)許多 Malware APK 樣本在靜態(tài)分析階段無法判斷為惡意,因為它們的權(quán)限沒有任何可疑信息。例如,許多 dropper、downloader 等類型的惡意 APK,在權(quán)限上與 Benign APK 沒有明顯區(qū)別。因此,人工篩選惡意 APK 可能有助于提高訓(xùn)練準確率。
  • 同時,將動態(tài)檢測的信息納入訓(xùn)練模型也是一個值得嘗試的方向。我們計劃在后續(xù)的研究中加入動態(tài)信息以提升模型的表現(xiàn)。

原文鏈接:https://www.liansecurity.com/#/main/news/TfrG0IoBQKl-d7iA6Wuh/detail

責任編輯:武曉燕 來源: 嘶吼網(wǎng)
相關(guān)推薦

2020-02-24 10:56:00

RSA大會網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2013-03-01 12:10:47

2016-01-11 10:44:38

惡意軟件惡意軟件分析

2017-04-14 08:33:47

2017-02-16 08:25:35

2018-08-30 14:58:12

機器學(xué)習(xí)磁盤故障

2024-11-04 08:14:48

2022-08-29 11:12:11

惡意軟件Jackware

2021-01-26 09:46:59

PythonStacking機器學(xué)習(xí)

2024-06-06 08:00:00

2022-05-16 12:06:00

機器學(xué)習(xí)深度學(xué)習(xí)模型

2019-01-04 14:14:13

2016-08-31 06:55:45

機器學(xué)習(xí)標題誘餌

2015-11-13 11:02:35

2022-03-28 09:00:00

SQL數(shù)據(jù)庫機器學(xué)習(xí)

2021-08-19 15:48:05

增量攻擊網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2013-10-10 10:34:58

2015-07-22 16:16:47

PythonScikit-Lear機器學(xué)習(xí)

2023-07-19 16:22:00

Hudi機器學(xué)習(xí)

2021-04-16 10:49:07

人工智能機器學(xué)習(xí)
點贊
收藏

51CTO技術(shù)棧公眾號