近期,Bluebox Labs的安全研究人员发现被称为“FakeID”的漏洞可以让恶意程序冒充合法程序。因为该漏洞导致从版本2.1到4.4的所有Android设备都会受到此漏洞的影响,故广受关注。
凭证和签章
Android应用程序在发布和安装前必须先“签章”。签章应用程序要使用凭证,应用程序凭证是由受信任的凭证机构所发出的,如HTTP/SSL凭证模式。该凭证被用来确保应用程序发布后的完整性,以避免遭受攻击者篡改。
Android怎么去分配这些签章呢?对于安装在设备上的每一个应用程序,它都会在应用程序的配置文件里建立一个名称为PackageInfo的类别。PackageInfo包含一个名为“signatures”的属性,它对应用程序来说非常重要。有了相同的签章,应用程序可以作为另一个应用程序的更新程序,或者两个应用程序可以相互分享它们的数据。
凭证链的漏洞
一旦应用程序被安装到设备内,Android平台就能通过应用程序的凭证文件来建立凭证链,进而建立它的PackageInfo签章。但是因为这个漏洞的存在,Android不会验证凭证链的真实性。它只依靠签章者凭证的“Subject”和被签名证书的“发行者”之间的对应关系进行验证。由于这两个都是明码字符串类型,所以能够轻易地被恶意人士伪造。
利用该漏洞
网络犯罪份子可以建立恶意应用程序来存取敏感数据而不引起任何怀疑。例如,NFC(近距离无线通信)的相关支付一般都会使用Google电子货币钱包。如果一个恶意应用程序被授予NFC权限,它就可以窃取使用者Google电子货币钱包的帐户信息,从而更换该钱包指定的支付账号并窃取用户的钱财。
大多数Android用户都受到影响
所有没有原始设备制造商提供修补程序的Android设备都会受到这个漏洞的影响。从Google目前的数据显示,受影响的平台约占全部Android设备的82%。
Google发表声明指出,他们已经扫描所有提交到Google Play的应用程序,以及Google所能审查的Google Play以外的应用程序,并表示,没有看到任何有对此漏洞的攻击证据显示。
为了确保用户安全,趋势科技会继续侦测可能会利用此漏洞所带来的威胁和攻击。建议用户当设备系统程序提示更新时,要及时升级,以减少此类威胁的发生。