我正在尝试使用支持向量机(SVM)开发能够检测Android平台恶意应用程序的应用程序。 我可以从“logcat”和“strace”工具中获取许多系统信息,但我现在不知道如何设法检测真正的恶意应用程序。 有没有人知道如何使用这些工具建立/记录设备的正常行为使用,我的意思是,从设备获取信息并设置行为模式。
祝你好运
答案 0 :(得分:3)
但如果你真的想尝试,也许起点就在这里:"Intrusion Detection Using Sequences of System Calls." S. Hofmeyr, S. Forrest, and A. Somayaji Journal of Computer Security Vol. 6, pp. 151-180 (1998)
答案 1 :(得分:0)
我想知道,如果可能的话......
您想如何评价某个应用的行为是否正常?您是否计划了一个“学习阶段”,其中记录了某个应用所做的所有事情(如果可能的话,首先没有root访问权限!)然后保存为该应用的“正常行为”的“个人资料”?
假设您记录了应用程序的任何行为,例如在主屏幕上组织图标的工具。现在说这个应用程序还提供直接呼叫您最喜欢的联系人的功能,它需要访问您的联系人和拨打电话的权限。如果很难使用此功能,您可能不会在此应用程序的“学习”期间记录它,并在尝试拨打电话时将应用程序评为恶意。
如果应用程序显示恶意行为,该怎么办?由于你尚未确定“正常行为”,你无法检测到它的“学习阶段”?
听起来像“正常行为”必须在某个地方保存,以便在安装应用程序之前对其进行评级,并且它开始表现得很奇怪或执行不需要的操作。但话又说回来:对于一个用户来说,一个人想要的东西对于另一个用户来说可能是完全正常的......
我对人们提出的任何花哨的解决方案感兴趣,但我想这将是一个艰难的解决方案......
答案 2 :(得分:0)
如果您首先在Android中使用恶意电话集而不是分析正常电话,那该怎么办呢?
另外,请注意,如果您使用的是无监督分类,则不知道它分类的数据类型
答案 3 :(得分:0)
对于Windows API,人们通常会查看序列以确定其操作集。 你也可以在Android平台上找到关于这方面的论文/研究。