2013-10-02 36 views
-1

我正在嘗試構建基於權限的分析系統來檢測Android上的惡意應用程序。機器學習識別模式的算法

我有惡意應用程序的數據集和正常應用

AppName | Permission 
--------+-------------- 
xxx  | INTERNET 
xxx  | READ_PHONE_STATE 
xxx  | READ_SMS 
ccc  | INTERNET 
ccc  | ACCESS_NETWORK_STATE 

同樣的,我需要的是識別模式,可能會導致惡意活動。

例如:如果互聯網和READ_SMS它是惡意的,因爲從算法我已經確定,在惡意應用程序中,該模式比普通應用程序更可用。

所以請給我你的算法輸入,使其成功。

+0

基本上有兩種方法:要麼你的算法會學習檢測模式它需要一些反饋和對應用程序的良好表徵),或者它使用一個模型(就像您提供的示例,除非它可以更詳細)來計算應用程序的全局「惡意」概率。 – hpid91

+0

你認爲我應該去什麼方法?我的意思是我可以簡單地說,如果互聯網+ read_sms然後惡意。但那裏沒有重量。這就是爲什麼我想使用算法去與 –

回答

1

最簡單的可能選擇是建立一個樸素貝葉斯分類器,因爲它將以P(malicious|INERNET,READ_SMS)的形式創建條件概率,所以不僅會給你一個工作算法,而且還會深入瞭解「內部」 。當然,這裏有幾十個更復雜的模型,但它是正確回答它的廣泛問題的方法。我會給NB一個嘗試,如果失敗,尋找其他二元分類器像神經網絡,決策樹,支持向量機等

+0

非常感謝@lejlot。你能告訴我什麼我可以建立這個p(惡意|互聯網,READ_SMS)。是否有任何工具或我必須開發使用語言 –

+0

任何庫實現樸素貝葉斯,有幾十個,只是谷歌它。 – lejlot

+0

你真的是上帝.....謝謝你 –