试图开发Android防病毒软件

时间:2012-09-07 03:02:24

标签: android virus malware

我正在尝试开发Android防病毒软件,并且我正在尝试找出可行的方法。

到目前为止,我发现使用 PackageManager 的唯一方法之一是获取已安装的应用程序列表及其包名,并将其与黑名单进行比较。有没有更好的解决方法呢?

1 个答案:

答案 0 :(得分:6)

开发一个以root用户身份运行的流程,甚至更好:一个用于审核流程和文件系统文件的Linux内核模块。

将防病毒作为完全用户态构造实施的问题是恶意软件通常以更高的权限运行,因此很容易逃避检测,这就是rootkit感染难以处理的原因(“从轨道上攻击它,这是确保“)的唯一方法。

您的下一个问题是维护一个virii数据库。早在20世纪90年代的原始视音频系统就保存了已知恶意软件哈希的数据库。问题是它们不能抵御多态可执行文件,那些通过将自己附加到其他程序或像Word宏之类的东西来传播的可执行文件。另一种方法是开发基于启发式的系统。您可以在基于VM的系统中解决这个问题,在这些系统中可以轻松分析程序的行为(例如查找对恶意软件使用的系统功能的调用),但是好的病毒将用“本机”语言编写,从而进行检测如果不是不可能的话很难(当我使用Norton Anti-virus时,他们的“Bloodhound”启发式系统从未起作用并且总是产生太多的误报)。

最后,你有一项研究和维护这样一个数据库的巨大任务。这就是为什么只有大型安全公司(Symantic,McAfee,NOD,Microsoft等)开发AV程序的原因。

如果我是你,我会在你浪费任何时间之前立即放弃。如果这是一项教育练习,那么您将通过编写自己的病毒来了解有关恶意软件的更多信息,而不是编写一个试图阻止它们的系统。