zoukankan      html  css  js  c++  java
  • 15 Android系统安全(简要)

    Android的用户和第三方软件,Android组件和数据安全

    手机root后的问题:1.系统不稳定,2.病毒入侵,3.数据泄露

    Root原理:

        Root分两类:1。临时root,2。永久root

            Root后的问题:1。系统不稳定,2。易中毒,3。隐私泄露

        Android权限检查机制:没有权限而执行特定操作的软件会抛出SecurityException异常

            所有权限位于/frameworks/base/data/etc/platform.xml

            权限分两类:

    1. 直接读写设备的底层(low-level)权限:
    2. 间接读写设备的高层(high-level)权限:通过Framework层的权限检查代码进行权限控制
      1. 根据检查的内容和处理方法分成:
        1. 检查权限返回结果型
        2. 检查权限失败抛出异常型
        3. Uri权限控制型
        4. Uri权限检查并返回结果型
        5. Uri权限检查失败抛出异常型

    Android程序中资源访问包括使用: Framework提供功能(系统提供权限),访问其它程序的组件(自定义权限)

        串谋权限攻击:

    Activity组件:是用户唯一能够看见的组件,Android系统组件在指定Intent过滤器(intent-filter)后,默认是可以被外部程序访问的。

        android:exported属性值"false"组件则不能被外部程序调用。

            外部程序指:签名不同,用户ID不同的程序,而签名相同且用户ID相同的程序在执行时共享同一个进程空间

        android:permission属性:指定一个权限字符串,特定的Activity能够程序访问

        android:excludeFromRecents属性值"true":程序运行时就不会在显示最近运行过的程序列表中

    Activity劫持(属于用户层的安全):用户使用带有恶意Activity劫持功能的程序后,启动一个带FLAG_ACTIVITY_NEW_TASK标志的Activity覆盖正常的Activity获取用户相关信息

     

    Broadcast Receiver:

        特点:多数情况下,广播是使用Action来标识其用途,由sendBroadcast()方法发出

        分两类:    

    1. 无序广播(类似并联):
    2. 有序广播(类似串联):调用abortBroadcast()中止广播

      广播优先级响应:动态注册的接收者 > 静态注册的接收者,

                          静态注册的接收者的 android:priority属性值决定,越大,优先级越高

        

        Service:Android系统中的后台进程组件,在后台进行耗时操作

            访问方法:

                startService():启动服务,可以被用来实现串谋攻击

                bindService():帮定服务,可以被用来实现串谋攻击

                stopService():停止服务,对程序功能进行恶意破坏

        Content Provider:内容提供者,用于程序之间的数据交换

            通过提供存储与查询数据的接口来实现进程之间的数据共享

            提供的方法:

        

        数据安全

                1.外部数据:直接使用File类在外部存储设备上读写文件

                2.内部数据:所有软件存放私有数据的地方,openFileInput()与openFileOutput()方法来读写程序私有数据目录

            数据通信安全:软件与软件,软件与网络服务器之间进行数据通信引发的安全问题。

                Android系统中4大组件是通信的主要手段,数据的传递是依靠Intent完成。

                    Intent能够传递所有基础类型与支持序列化类型的数据,Intent中附加数据通过Intent类中的putExtra()完成

            Intent数据传输的问题:Intent没有指定目的组件的名称,导致Intent中的数据可能被第三方程序获取,使用sendBroadcast()传递的Intent本身就是暴露的。

            网络数据通信问题是:网络嗅探

        ROM:Read Only Memory只读存储器,存放手机固件的代码存储器

            种类:

    1. 官方
    2. 第三方
    3. 个人

    ROM制作流程:

    1. 解包
      1. 线刷:img文件使用unyaffs解压
      2. 卡刷:zip通用压缩包
    2. 修改
    3. 打包
      1. 线刷:直接压缩软件即可        签名需要:针对厂商ROM工具签名
      2. 卡刷:需要厂商ROM工具                 使用signapk.jar即可
  • 相关阅读:
    【Swift】图文混排,ios开发中在textfield或textView中插入图片
    ios开发-指纹识别
    ios开发-程序压后台后,悄悄的抓取数据~~
    setNeedDisplay和setNeedsLayout
    rangeOfString用法
    NSThread的使用
    UIActivityIndicatorView的详细使用
    iOS高斯模糊处理
    HIbernate学习笔记(一) 了解hibernate并搭建环境建立第一个hello world程序
    Hibernate4搭建Log4J日志管理(附Log4j.properties配置详解)
  • 原文地址:https://www.cnblogs.com/heixiang/p/10976901.html
Copyright © 2011-2022 走看看