首先,说到APP的安全漏洞,身为程序猿的大家应该不陌生;如果抛开安卓自身开源的问题的话,其主要产生的原因就是开发过程中疏忽或者代码不严谨引起的。但这些责任也不能怪在程序猿头上,有时会因为BOSS时间催得紧等很多可观原因。由国内移动应用安全检测团队爱内测(ineice.com)的CTO给我们浅谈关于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. 总结
APP的漏洞大部分都是因为开发人员没有对输入信息做验证造成的,另外因为 Intent 这种特殊的机制,需要过滤外部的各种恶意行为。再加上安卓应用市场混乱,开发人员水平参差不齐。所以现在 Android 应用的漏洞,恶意软件,钓鱼等还在不断增多。
再加上 root 对于 App 沙箱的破坏,Android 升级的限制。国内的安卓环境一片混乱,惨不忍睹。所以,如果想要保证你的应用没有安全漏洞,就要记住:永远不要相信外面的世界。
相关推荐
操作系统安全漏洞是由于系统平台本身或者新增功能带来的缺陷,常见的有非法输入输出访问、访问控制混乱、系统陷门和不完全中介等问题。数据库安全漏洞往往因用户输入验证不当,导致数据库遭到破坏或者未经授权的访问...
### App安全漏洞频出的原因及对策 随着移动互联网技术的发展,各类应用程序(Apps)成为人们生活中不可或缺的一部分。然而,伴随着Apps的广泛应用,安全问题日益凸显,尤其是App安全漏洞的频发,给用户的信息安全和...
"浅谈汉服文化的APP界面设计" 本文主要讨论了汉服文化在移动终端APP交互界面设计中的融合,旨在探索汉服文化如何与现代技术相结合,推动汉服文化的发展和普及。 keywords: 汉服文化,APP界面设计,移动终端,交互...
(4) GPS定位:利用GPS技术监控管护人员到场情况,确保工作执行到位。 (5) 信息共享:实现跨地域的信息同步,无论管理者身处何处,都能及时获取和发布信息,提高协同效率。 3. 实施效果 移动APP的应用,将传统管理...
3. **SSL/TLS支持**:AppWeb支持SSL(Secure Sockets Layer)和TLS(Transport Layer Security)协议,允许通过加密连接提供安全的Web服务,防止数据在传输过程中被窃取或篡改。 4. **模块化设计**:AppWeb的模块化...
【标题】:浅谈移动APP对社会发展的影响 【描述】:本文主要探讨移动应用程序(APP)如何在社会发展过程中发挥重要作用,以及它们如何改变用户的生活体验和行业动态。 【标签】:APP应用开发、数据分析、参考文献...
此外,即便在正规的应用商店中,也可能存在安全漏洞的APP,这些漏洞可能会被恶意利用。 移动APP漏洞类型: 移动APP漏洞通常分为以下几类: 1. 输入验证不当:未对用户输入进行适当的验证,导致注入攻击。 2. 配置...
金融类App的安全漏洞尤为关键,金融App一旦被攻击,可能会导致用户个人信息、密码等敏感信息的泄露,严重时甚至会影响到资金安全。根据爱加密大数据平台的数据,金融类App常见的安全漏洞包括拒绝服务漏洞、密钥硬...
该通报指出该公司APP存在安全漏洞,可能导致敏感信息被未经授权访问。 #### 二、漏洞产生原因 漏洞产生的主要原因是: - **工程阶段问题**:由于公司在工程建设期间,部分应用软件和运行数据尚处于开发和测试阶段,...
浅谈英语APP对大学生英语自主学习的影响 本资源主要探讨了英语APP对大学生英语自主学习的影响,讨论了英语APP的分类、特点、对大学生英语自主学习的促进和存在的缺点,旨在为大学生英语自主学习提供新的思路和方法...
浅谈教育app在学校管理及教学中的应用.pdf
浅谈Web App前端设计原则.docx
移动医疗APP的发展与应用监管研究主要关注的是这一领域在信息技术进步和医疗保健需求增长背景下的演变,以及如何在保障用户安全和隐私的同时,促进其健康发展。 移动医疗APP的优势在于其便捷性和高效性。它们打破了...
浅谈移动APP技术在博物馆中的应用-以南宁博物馆移动APP为例.pdf
近年来,APP市场呈现出爆炸式增长,每天都有大量新应用上线。企业纷纷投入资源开发自己的APP,以吸引和保留用户。竞争激烈的市场环境下,创新成为了APP开发者的关键任务。为了满足用户需求,企业不断优化用户体验,...
本文以“浅谈手机App在外科护理教学中的应用及反思”为主题,探讨了如何利用移动技术改进外科护理的教学质量和效率,同时也对这一新兴教学手段进行了深入的反思。 手机App在教育领域的应用,尤其是外科护理教学中,...
浅谈线上教育APP的游戏化设计.pdf
浅谈移动APP营销模式下的城市旅游品牌推广.pdf
标题提到的“利用设备管理器漏洞编写一个无法卸载的App”涉及到的是Android操作系统中的设备管理器功能,以及可能存在的安全漏洞和恶意应用行为。设备管理器是Android系统的一个内置工具,主要用于企业环境,允许...