⑴ Android 应用有哪些安全漏洞

首先,题主询问“Android 应用”的安全漏洞,说到 Android 应用的安全漏洞,如果抛开系统设计问题,其主要原因是开发过程当中疏漏引起的。但其实也并不能把这些责任都怪在程序猿头上。所以本答案也将会对 Android 系统设计以及生态环境做一些阐述。(如果想了解 Android 恶意软件的情况,那就需要另开题目了。) 1. 应用反编译 漏洞:APK 包非常容易被反编译成可读文件,稍加修改就能重新打包成新的 APK。 利用:软件破解,内购破解,软件逻辑修改,插入恶意代码,替换广告商 ID。 建议:使用 ProGuard 等工具混淆代码,重要逻辑用 NDK 实现。 例子:反编译重打包 FlappyBird,把广告商 ID 换了,游戏改加插一段恶意代码等等。 2. 数据的存储与传输 漏洞:外部存储(SD 卡)上的文件没有权限管理,所有应用都可读可写。开发者把敏感信息明文存在 SD 卡上,或者动态加载的 payload 放在 SD 卡上。 利用:窃取敏感信息,篡改配置文件,修改 payload 逻辑并重打包。 建议:不要把敏感信息放在外部存储上面;在动态加载外部资源的时候验证文件完整性。 漏洞:使用全局可读写(MODE_WORLD_READABLE,MODE_WORLD_WRITEABLE)的内部存储方式,或明文存储敏感信息(用户账号密码等)。 利用:全局读写敏感信息,或 root 后读取明文信息。 建议:不适用全局可读写的内部存储方式,不明文存储用户账号密码。 3. 密码泄露 漏洞:密码明文存储,传输。 利用: root 后可读写内部存储。 SD 卡全局可读写。 公共 WiFi 抓包获取账号密码。 建议:实用成熟的加密方案。不要把密码明文存储在 SD 卡上。 4. 组件暴露 (Activity, Service, Broadcast Receiver, Content Provider) 漏洞: 组件在被调用时未做验证。 在调用其他组件时未做验证。 利用: 调用暴露的组件,达到某种效果,获取某些信息,构造某些数据。(比如:调用暴露的组件发短信、微博等)。 监听暴露组件,读取数据。 建议:验证输入信息、验证组件调用等。android:exported 设置为 false。使用 android:protectionLevel="signature" 验证调用来源。 5. WebView 漏洞: 恶意 App 可以注入 JavaScript 代码进入 WebView 中的网页,网页未作验证。 恶意网页可以执行 JavaScript 反过来调用 App 中注册过的方法,或者使用资源。 利用: 恶意程序嵌入 Web App,然后窃取用户信息。 恶意网页远程调用 App 代码。更有甚者,通过 Java Reflection 调用 Runtime 执行任意代码。 建议:不使用 WebView 中的 setJavaScriptEnabled(true),或者使用时对输入进行验证。 6. 其他漏洞 ROOT 后的手机可以修改 App 的内购,或者安装外挂 App 等。 Logcat 泄露用户敏感信息。 恶意的广告包。 利用 next Intent。 7. 总结 Android 应用的漏洞大部分都是因为开发人员没有对输入信息做验证造成的,另外因为 Intent 这种特殊的机制,需要过滤外部的各种恶意行为。再加上 Android 应用市场混乱,开发人员水平参差不齐。所以现在 Android 应用的漏洞,恶意软件,钓鱼等还在不断增多。再加上 root 对于 App 沙箱的破坏,Android 升级的限制。国内的 Android 环境一片混乱,惨不忍睹。所以,如果想要保证你的应用没有安全漏洞,就要记住:永远不要相信外面的世界。

⑵ Android 上的漏洞对普通用户有何影响,如何防范

首先,他们给这个漏洞取名叫寄生兽实在是……简单来说这其实是一个静态代码注入的漏洞,关键点在于安卓系统源码中对odex缓存文件的校验薄弱,可被绕过,从而实现恶意代码注入。那么这个漏洞的首要触发条件就是攻击者要能覆盖目标app的在文件系统中的odex,而每个app的odex都是在其私有目录里面,受沙盒机制保护。攻击者要利用这个漏洞就先得突破沙盒机制,而如果攻击者都已经有这样的权限了,其实能做的事情非常多,这个漏洞只是其中一种。

360列出了4种可能的攻击场景来突破沙盒机制。首先是三星自带的输入法的远程命令执行漏洞,这个漏洞要利用得劫持网络做中间人攻击,其实是比较局限的,不谈需要在应用插件更新时劫持网络,首先你得有一台三星……然后360列出了真实环境中的3种场景。第一种是解压目录遍历,这个其实是app开发者没有安全调用安卓原生api导致的漏洞,可让攻击者在解压时以目标app的权限覆盖到odex。第二种是备份的漏洞,这种漏洞也是由于安卓开发者没有安全配置清单文件导致的,可利用修改备份然后恢复的方式覆盖odex。以上两种方法都不需要root权限,这明明就是开发者的锅!就这两种场景而言,这个漏洞是有一定影响面的,跟webview那个由来已久的远程代码执行漏洞一样,是安卓本身安全缺陷导致的,但开发者自己应该作出应对。以后大家做安全审计时可以注意一下上面两种场景现在有新的注入手段了。第三种攻击场景是危言耸听,基本可以无视,要求攻击者具有root权限,你都有root权限了为什么不考虑动态注入呢,目前很多app的动态注入防护是很弱的,实际上大多数根本没有。

最后表达一下我一直以来的观点,不要动不动就把锅推到用户身上,root手机带来的安全隐患真的没有想象的那么大。为用户减少安全风险是每个敬业的安全工程师的职责,如果你所谓的安全是放弃功能,那大家还不如换回小灵通,这完全就是没有责任感的表现。

⑶ 安卓手机整人代码java大全

BEGBEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
COMPOSER:MIK(23)Fomat
BEAT:180
MELODY:
("+<melody>+"@9999999999999999999999999)"

手机黑屏代码

BEGIN:IMELODY
BEAT:1200
MELODY:(@600)
END:IMELODY

手机狂震代码

BEGIN:IMELODY
VERSION:1.2
FORMAT:CLASS1.0
BEAT:100
MELODY:(@0)
END:IMELODY
说明
<1> “@”后面的数字越大,重复次数越多

<2>把上面代码复制,在计算机上保存为.txt文本文件,再改名为 .imy 文件

<3> imy 放到手机里的Audio文件夹

<4>写短信(不是彩信) 写短信时, 插入铃声对象(自定义铃声对象,就是刚才放在audio 里的imy 文件) 并发送, 对方只要是存在这个芯片漏洞,那么则会产生上述所说效果.