我们如何确保从网站下载的应用程序的APK安全安装在我们的Android手机上?

是否有办法知道下载的文件是安全的?是否有可以扫描APK文件并显示This file is safe to install的应用或服务。

评论

如果它是官方商店中支持付费/广告的应用程序,并且您要侧面加载的版本是免费的且免费的,那是不安全的。

#1 楼

很难知道APK是否安全。最好的选择是从受信任或信誉良好的来源(例如Google Play,Amazon等)下载。

一些(受信任的)开发人员还提供了其APK的MD5(或其他消息摘要算法)哈希值。下载APK后,请确认APK是否具有相同的哈希值。如果是的话,可以肯定地说它没有被篡改。告诉您安装是否安全。

底线:始终从受信任的来源进行安装。远离盗版APK;他们可能有恶意软件。

评论


是否有任何应用程序可以检测该应用程序是否存在恶意软件?

– HTTP
2013年9月27日在8:46

@Nesmar不知道,但您始终可以在Google Play中尝试防病毒。

– geffchang
2013年9月27日在8:48

老实说,我对android中的任何杀毒软件都没有信心,因为如果您不点击它们,它们就不会运行。我的意思是在计算机桌面上,如果您安装了杀毒软件,在启动时,它们已经在后台运行并监视您的文件。我不知道您是否也可以在手机中做到这一点。

– HTTP
2013年9月27日在8:51

@Nesmar我认为某些防病毒软件可以作为服务运行。手机启动时,Screebl和Ad Block Plus等应用程序就会运行。

– geffchang
2013年9月27日在9:04

+1为底线!从未知来源下载文件时,没有容易判断的方法。即使使用MD5:如果两个文件(APK和MD5)都驻留在同一服务器上,谁会告诉您它们都没有被替换?

– Izzy♦
2013年9月27日上午9:36

#2 楼

Google启用了未知来源(这两种设置都可以在“设置”->“安全性”->“设备管理”中使用)时,为侧面加载的应用程序引入了一个验证应用程序选项(在安装可能会造成危害的应用程序之前禁止或警告)。 br />您还可以使用在线病毒扫描程序(如Virus Total)来检查下载的.apk文件。

每个扫描程序服务都一样:它们不是100%可靠,并且可能只是检测已知的恶意应用。自定义的量身定制的恶意软件可能仍不会被发现。同样,非常新的恶意应用程序可能会漏掉,直到一段时间后将被检测到。

评论


发现恶意软件扫描程序很容易被绕过(只需做一点Google搜索),所以我就不会再相信它们了。这包括Google的验证应用。

– Izzy♦
2013年9月27日9:46



当然。但是,经常会发现旧的恶意软件。没有恶意软件扫描程序可以提供100%的安全性,您甚至可以从官方Play商店获取恶意应用程序(Apple商店也不例外)。但是,如果您需要横向加载,这些扫描仪确实可以提高您的安全性。这就像苹果公司的新指纹扫描仪:已经被绕过了,但比根本没有针锁要好得多(出于方便的原因,约40%的所有者没有针锁)。

–ce4
2013年9月27日11:27



我同意。我的错是我的观点不清楚:永远不要以“什么都不会发生,我有防病毒软件”的方式依赖它们。如果您看到它们只是难题的一部分(而不是整个图像),那么它们会有所帮助。

– Izzy♦
13-09-27在11:47



#3 楼

如果要从未知/不受信任的来源下载.apk文件,则没有容易判断的方法。大多数反恶意软件解决方案(反病毒,反恶意软件等)仅通过“数据库条目”(即它们具有已知恶意软件的数据库,并检查程序包名称是否匹配)进行统治,或者仅检查请求的权限(而不是例如SMS应用程序是否仅发送您希望的SMS)。我从未听说过“真正的”启发式扫描仪可以分析应用程序的行为。

尽管从理论上讲,“扫描仪”也可以验证一种校验和(如所提到的MD5),但是仅针对“可信基础”,例如应用商店。对于在那里不可用的应用程序,它将失败(无法比较)。即使对于那里可用的应用程序,也需要检查相同的版本。这样的解决方案几乎不切实际。

因此,尽管我的论点可能有所不同,但我的底线与geff几乎相同:仅从受信任的源进行安装。虽然没有什么是100%安全的,但这却带来了最小的风险。盗版物品的风险最高,因为很可能注入了“坏东西”。

评论


一种判断方法是将证书与已知的良好发布者进行比较(即,如果您想要最新版本的Google Ingress apk,请继续进行比较,如果证书与已安装的证书具有相同的证书就可以进行比较)。如果证书相同,则可以通过侧面加载来升级已经安装的应用(从Play商店)。这将是一个安全的选择(如果适用)。

–ce4
2013年9月27日上午11:32

如果您是通过侧面加载来升级应用,它会自动比较证书吗?还是您需要做一些事情来验证证书是否相同?如果是这样,您将如何验证?

– LeBleu
2014年1月24日15:55

@LeBleu(如果应用程序已安装在您的设备上)。然后,必须使用与已安装的.apk相同的“密钥”对新的.apk进行签名,否则更新将失败。

– Izzy♦
14年1月24日,16:06

#4 楼

您可以将软件包上载到移动沙箱以查看其运行情况。沙箱将执行二进制文件,您可以看到执行结果。这也将适用于某些以前未知的恶意软件,因为它以前不必存在于某些AV数据库中。

和往常一样,没有100%的安全性,但是同样,从Play商店下载时也没有完全的安全性,或者...
上面的文章最近也开始在沙箱中运行一些示例,并且由于它针对大量已知的恶意软件进行了测试,因此当然总是一个不错的选择。与Virustotal类似但专门针对Android的服务是AndroTotal。

#5 楼

我使用Lookout Security,它可以扫描您安装的每个应用,还可以扫描APK

评论


扫描它们的内容是什么?它实际上是在进行启发式分析还是其他可靠的分析,还是只是对APK名称或MD5运行数据库检查?

–onik
13年10月1日在8:13

#6 楼

应用权限确实提供了一定程度的安全性。在安装APK时,您始终可以检查权限。

当应用程序不需要root权限或任何其他权限时,通常可以认为它是安全的。没有权限,只有很少的应用程序可以做。但是它可以欺骗用户显示恶意链接,并将用户重定向到某个恶意站点以安装其他内容或某些网络钓鱼网站。如果此类应用甚至不使用互联网,则可以认为它是安全的。

随着权限级别的提高,可以更怀疑该应用程序不安全。它可以窃取联系人,消息,通话记录或存储中的任何文件等个人数据。当然,这只是一种可能,并非每个应用程序都是恶意的。

#7 楼

如今,找到安全的APK文件并不难。但是,在选择源站点时必须小心。

其次,从任何地方下载任何APK后,请通过VirusTotal对其进行扫描(以确保下载的应用程序是安全的)。