目前,全球有超過7,260,000,000,000,000億移動設備,這意味著世界91.54%的人口有一個。這些設備中約有2,50萬億座將Android作為操作系統。
這些設備對我們來說越來越重要,它們幾乎整天都與我們同在,並且包含許多個人信息,這已經不是什麼秘密了,這使它們成為惡意演員的有趣目標。
惡意軟件分析可以分為3種主要類型。靜態分析,動態分析和混合分析。
靜態分析被認為是任何不必執行代碼分析的分析,它基於通過規則或啟發式方法搜索模式的搜索,這使其非常安全,因為沒有可能無意中激活惡意軟件。這種類型的分析比動態分析更快,並且通過其檢測系統的性質,已知惡意軟件的檢測率很高。
另一方面,動態掃描是需要運行惡意軟件進行分析的任何掃描,這意味著必須建立較大的基礎架構才能隔離它,以使其執行不會影響實際系統。這種類型的掃描比靜態掃描更可靠,並且可以檢測到未知的惡意軟件。
最後,使用靜態和動態分析技術的分析稱為混合分析。當前,著名的反惡意軟件解決方案,例如Kaspersky,Avira或Avast等,使用此類分析,將其分為不同的階段。
在靜態分析類別中,是Yara規則。 Yara規則是一種惡意軟件簽名,允許識別和分類已知的惡意軟件。

規則有三個部分,一個元部分,其中通常放置了有關規則本身的信息,我們將要比較惡意軟件的模式的字符串部分以及定義了該模式必須符合文件的條件的條件部分,該條件已定義為惡意軟件。 Yara規則可能非常複雜,因此,如果您想更詳細地了解它們的工作方式,我建議閱讀他們的文檔。
Yara規則的另一個有利觀點是,它們是一種目前的技術,分析師開始廣泛使用,這意味著有大量貢獻。
Yaralyze是用於使用兩種靜態分析技術的Android設備的惡意軟件檢測工具,一種是使用Yara規則,另一個是基於哈希斯分析的。它允許報告和可視化報告,它是使用客戶端服務器體系結構進行設計的,在該體系結構中可以在雲中託管服務器,以便可以從已安裝客戶端的任何移動設備中獲得,並使用+130,000 Yara規則和+500,000 Yara Hashes和+500,000的惡意軟件應用程序獲得了從Virusshare和Github獲得的惡意軟件(規則和Hoshes)(不發佈在Repos中)。





進行了兩種類型的測試。一種類型的測試包括使用Brata , Sharkbot , Cerberus和Flubot Malwares的樣品測試該工具在檢測已知惡意軟件方面的有效性,而另一個是測試分析速度。


從圖像中可以看出,它設法檢測了惡意軟件文件,並且不會使用Winrar的真正APK產生誤報。
| apk | T1 | T2 | T3 | T4 | 平均的 |
|---|---|---|---|---|---|
| Flubot(惡意軟件) | 2.27 | 2.23 | 2.24 | 2.29 | 2.257 |
| Sharkbot(惡意軟件) | 2.54 | 2.51 | 2.53 | 2.56 | 2.535 |
| 溫拉爾 | 2.18 | 2.20s | 2.16 | 2.16 | 2.175 |
| 應用程序的位置哈希 | T1 | T2 | T3 | T4 | 平均的 |
|---|---|---|---|---|---|
| 客戶端DB | 0.079 | 0.081 | 0.078 | 0.077 | 0.0787 |
| 服務器DB | 0.088 | 0.085 | 0.087 | 0.091 | 0.0877 |
| 沒有巧合 | 0.087 | 0.088 | 0.084 | 0.088 | 0.0867 |
在第一表中,我們可以看到,從速度方面,可以觀察到平均分析時間非常相似,這是因為所有分析的APK都遍歷了所有Yara規則,即使它們已經被標記為惡意軟件,因為可能有一些規則可以縮小我們正在處理的惡意軟件類型。另外,分析時間還由邏輯上的APK的大小來調節。這些APK的尺寸沒有很大不同。
在第二個表中,我們可以看到時代也非常相似,這似乎很奇怪,因為當哈希在服務器的數據庫中或沒有匹配項時,需要客戶端向服務器提出請求,這應該降低分析的速度。相等的時間可以通過以下事實來證明,在測試時,服務器只收到一個請求,因此它沒有大量的工作量,而且數據庫也沒有足夠數量的哈希人來過於負擔搜索。