2011-01-13 88 views
1

我正在尝试开发能够使用支持向量机(SVM)检测Android平台恶意应用程序的应用程序。 我可以从“logcat”和“strace”工具获得许多系统信息,但我现在不知道如何管理以检测真正的恶意应用程序。 有没有人知道如何建立/记录使用这些工具的设备的正常行为使用,我的意思是,从设备获取信息并设置行为模式。使用支持向量机(SVM)检测Android恶意软件

问候

+0

因此,也许在决定在SVM或ANN中执行它之前,您最好找出可以获得的信息。 :) – Aliostad 2011-01-13 10:07:51

+0

非常感谢您回答问题Aliostad :) 这里是我可以从这些工具中获得: -Logcat:所有类型的事件,如触摸屏事件,用户交互日志例如所有日志生成时你打开一个应用程序或者你打电话给某人。 - Strace:我可以在内核级别获得系统的“系统调用”。 我有很多信息,但我不知道如何设置一个“正常行为模式” 在此先感谢:) – 2011-01-13 10:17:56

回答

0

我不知道,如果这是可能的...

你怎么想为行为是否是正常的应用程序?你是否计划了一个“学习阶段”,其中记录了某个应用程序的所有内容(如果没有root访问权限,那么这个阶段是可能的!),然后保存为该应用程序的“正常行为”的“配置文件”?
假设您记录应用程序具有的任何行为,例如一个工具来组织主屏幕上的图标。现在说这个应用程序还提供了直接调用您最喜欢的联系人之一的功能,它将需要访问您的联系人并拨打电话的权限。如果这个功能很难使用,那么在这个应用程序的“学习”阶段,你可能不会记录它,并且一旦它尝试拨打电话,就会将该应用程序评为恶意程序。
如果某个应用在“学习阶段”显示恶意行为,但由于您尚未确定“正常行为”而无法检测到它,该怎么办?

声音像“正常行为”必须保存在某个地方,才能在安装应用程序之前对它进行评分,并且开始变得怪异或执行不需要的操作。但是再次说明:对于一个用户来说什么是另一个用户可能是完全正常的......

我对什么奇特的解决方案有兴趣,但我想这将是一个很难...

+0

如果我的硕士Thesys计划报告将帮助您更好地理解这个想法我会做的,我可以提供给你,总是知道没有人会复制这个想法:)。 – 2011-01-13 10:31:21

0

如果使用套恶意呼叫的东西在Android首次相当比分析正常的。

另外,注意,如果你使用非监督分类,不知道什么样的数据,在分类上

0

对于Windows API通常人们一起来看看这些序列来确定自己的成套动作。 您也可以在Android平台上找到有关这方面的论文/研究。