Android安全-其他安全1-组件安全

Android安全-其他安全1-组件安全

android应用内部的Activity、Service、Broadcast Receiver等组件是通过Intent通信的,组件间需要通信就需要在Androidmanifest.xml文件中配置,不恰当的组件配置、组件在被调用时未做验证、在调用其他组件时未做验证都会带来风险。

解决办法: 

   (1)最小化组件暴露

   不参与跨应用调用的组件添加android:exported="false"属性,这个属性说明它是私有的,只有同一个应用程序的组件或带有相同用户ID的应用程序才能启动或绑定该服务。

      (2)设置组件访问权限

   对参与跨应用调用的组件或者公开的广播、服务设置权限。只有具有该权限的组件才能调用这个组件。

    (3)暴露组件的代码检查

   Android 提供各种API来在运行时检查、执行、授予和撤销权限。这些API 是 android.content.Context 类的一部分,这个类提供有关应用程序环境的全局信息。

  (4)WebView

解决方式:

  1、如果无需与JS交互,请删除对addJavascriptInterface函数的调用;

  2、在载入页面时对URL进行白名单判定,只有存在白名单中的域才允许导出或调用相关的Java类或方法。

  参考资料:http://www.zhihu.com/question/22933619

原文地址:https://www.cnblogs.com/harry335/p/5194940.html