在Android签名验证及其漏洞的情况下,我有很多疑问需要清除.
一旦我们为应用程序生成apk,我们就可以解压缩apk并使用apktool编辑资源文件.当我们重新打包已编辑的apk时,它会丢失其签名.我可以使用jarsigner和我自己的私钥来重新签名unsigned apk,我在生成apk时使用了私钥.我在playstore中找到了一个名为zipsigner的应用程序,可以用来签署这种类型的unsigned apk.
所以当这个zipsigner签署unsigned apk时,apk是用同一个私钥签名还是用不同的密钥签名?因为我的META-INF文件夹仍然保存XXX.SF和XXX.RSA文件,其中包含我的私钥信息.如果它是我的同一个私钥,那么新的apk将是我的应用程序的升级,或者如果它是一个不同的密钥,我将有两个不同的应用程序具有相同的名称.
从上述情况来看,有可能在重新打包时我的apk中可能包含恶意软件.在Android的签名验证机制中似乎存在漏洞,其中META-INF文件夹内的文件的消息摘要不包含在MANIFEST.MF以及XXX.SF文件中.这使得任何人都可以在这些文件夹中包含恶意软件代码,重新打包apk并使用zipsigner应用程序重新签名.
我正在寻找一个解决方案,我可以阻止文件被添加到META-INF文件夹中,我从下面的博客中找到了一个.但我无法理解解决方案.这看起来更像是一个研究课题,因此互联网上没有太多的信息.有人可以尝试找出博客中指定的解决方案.博客链接在问题下方指定.
http://blog.trustlook.com/2015/09/09/android-signature-verification-vulnerability-and-exploitation/
Pra*_*ndh 10
私钥永远不会是分布式APK的一部分,除非我误解了你的问题.除非您自己的系统被黑客入侵,否则无法代表您签名.
共享链接(blog.trustlook.com)讨论了使用.sf(以及具有相关扩展名的文件)扩展名的Android跳过文件检查.因此,恶意软件可以在具有这些扩展之一的文件中隐藏自己.提到的解决方案是Android"系统固件"修复,而不是可以在应用程序级别完成的事情.这意味着,OEM(Google本身或三星/其他)必须发布更新的固件来解决此问题.检查最新更新,它可能已经修复.
在我看来,即使用户侧载APK,这也比真正的攻击/威胁更令人讨厌.有关详细信息,请参阅下面的Blackhat文章 - https://www.blackhat.com/docs/ldn-15/materials/london-15-Xiao-What-Can-You-Do-To-An-APK-Without-其私人的琴键wp.pdf
你也应该阅读这个有关防篡改的潜在方法APK - https://www.airpair.com/android/posts/adding-tampering-detection-to-your-android-app
| 归档时间: |
|
| 查看次数: |
1799 次 |
| 最近记录: |