Android安全机制分析与解决方案探析

七、Android/Linux安全机制简单了解 一、引言: Android是一个基于Linux内核的移动操作系统。Linux是一个支持多用户的系统,Android在Linux内核提供的基于UID和GID的安全机制的基础上,又实现了一套称为Permission的安全机制,本文即来分析一下这两种安全机制 二、Linux的安全机制 Linux是基于UID和GID的安全机制,它包含三个基本角色:用户、进程和文件,如下图所示: Linux中的每一个用... 阅读详情

【摘  要】: android做为全球最受欢迎的智能手机平台,由于源码开放、可编程软件框架、网络化设备的特点,很易受到智能手机病毒的攻击,从linux机制、android特有的安全机制、其它保护机制三个角度分析android安全机制,为加强恶意软件检测和系统底层访问控制,提出基于主机的入侵检测系统(hids)和selinux(security-enhanced linux)。

关键词: android;安全机制;权限

    android平台是google于2007年推出的一种基于linux 2.6核心的开源智能手机操作系统。在智能机平台的竞争中android目前占有较大的优势,受到了业界的广泛关注。它主要有操作系统、用户界面和应用程序三部分组成,不仅包括移动电话工作所需的全部软件,而且不存在任何以往像专有权等阻碍移动产业创新的障碍。由于该系统自身具备的开放源码的特征,所以它的安全性能正在成为信息安全领域研究的一个重要课题。

1 android系统架构

android os的整体架构分为以下4个层次:

1.1 应用程序层applications

application层是android os的用户应用层,它包括一系列核心应用程序包,应用程序是用java语言编写的,且运行在虚拟机上的程序,例如email客户端、sms短消息程序、浏览器等。

1.2 应用程序框架层application framework

该层是android平台专门为应用程序的开发而设计的,应用程序框架都是由java语言编写,允许开发人员完全访问核心应用程序所使用的api框架,它是开发者进行android开发的基础。它由一系列的服务和系统构成,主要由view、通知管理器、活动管理器等由开发人员直接调用的组件组成。

1.3 本地库及运行环境libraries(核心库)和android rutime(虚拟机)

android本地库居于linux内核上面,是一套c/c++库,被上层各种各样的系统组件调用。在android应用程序内通过java本地调用(jni)实现合并这些库。android运行环境包括libraries(核心库)和android rutime(虚拟机)。核心库由java语言编写,提供了大量的java 5 se包的子类和一些android特有的库。android rutime(虚拟机)运行.dex(dalvik-executable)文件,一种被认为比java类文件更加简洁和节省内存的文件。

1.4 linux内核层linux kernel

android的内核为linux 2.6内核,它主要提供安全性、驱动、进程管理、内存管理、网络协议栈等核心系统服务等等。android框架详细结构如下图1所示。

2 android安全机制

在实际应用中,手机的安全问题主要是由手机病毒引起的,其主要危害可以归纳为两个部分:数据安全和系统安全。google为android平台配备了多个安全机制。本文主要研究系统安全和数据安全机制。

2.1 android的系统安全机制

android一开始采用的是经过定制的linux 2.6的内核,android的系统安全通过linux 2.6的安全机制来实现。linux 2.6版的内核又加入了安全模块的安全机制来增强linux系统的安全性从而提供诸如安全、内存管理、进程管理、网络管理、驱动模型等多种核心服务。android系统的应用软件都是运行dalvik之上的java软件,而dalvik是运行在linux中的,在一些底层功能比如线程和低内存管理方面,dalvik虚拟机是依赖linux内核的。

在linux 2.6中,内核已经可以抢占,因而实时性得到了加强,但是内核中仍有大量的不可抢占区域,如果当前任务运行在内核态,即使当前有更紧急的任务需要运行,目前正在运行的任务也不能被抢占,很大程度上,抢占延迟具有非常大的不确定性和不稳定性。

2.2 android的数据安全机制

android的数据安全机制涉及到两个概念:用户标识和权限许可,并且应用层安全机制也是围绕着这两个安全标识来实现的。

用户标识,user identifieation,即uid。安装在android中的每个程序都会被分配给一个属于自己的linux用户id,并且为它创建一个沙箱,以防止影响其它程序(或者其它程序影响它)。每个应用程序都自己的uid,只有带着此uid,才一能存取该uid所涵盖的有关资料。

权限许可,permission,权限许可是android为保障安全而设定的安全标识,同时也是程序实现某些特殊操作的基础。一个基本的android应用程序没有与其相关联的权限,意味着它不能做任何影响用户体验或设备中的数据的有害操作,藉此用户一些“敏感”数据不被某些未经授权的程序所损害。

尽管android的安全机制经过良好设计,但仍然存在以下几种攻击方式:基于硬件的攻击、基于linux内核的攻击、基于系统核心程序的攻击和基于应用程序的攻击。

3 解决方案

通过对android安全机制分析,android的安全防护不应仅仅局限于单一攻击方式,需从硬件到应用程序各个层次进行防护。以下将从基于主机的入侵检测框架(hids),selinux在android上的实施两个方面探讨android的安全解决方案。

3.1 hids(host-based intrusion-detection system)

基于主机的入侵检测系统包括异常检测(anomaly detection)和基于知识的时间抽象方法(knowledge-based temporal abstraction)。

异常检测是指入侵检测系统框架持续采样各种各样的系统参数指标,采用机器学习(machine learning)和时序推理(temporal reasoning)的方法分析采集的数据。通过收集系统参数指标,与已知的恶意软件引发的系统参数指标作对比,检测相同点,进而发现先前未曾遇到的新的恶意软件。

基于知识的时间抽象方法(kbta)是指使用kbta,结合时间抽象知识基础,持续测量数据和事件,用来从面向时间的原始的安全数据抽象得出高层次的有意义的概念和模式。

3.2 selinux(security-enhanced linux)

selinux是基于“域一类型”模型的用于强制访问控制的安全系统是一种混合的安全性策略,安全性策略的逻辑和通用接口一起封装在与操作系统独立的安全服务器中,通过替换安全服务器,可以支持两种不同的安全策略:目标(targeted)策略,严格(strict)策略。目标策略仅针对部分系统网络服务和进程执行selinux策略。严格策略是执行全局的nsa默认策略,此时几乎所有的网络服务都受控。

4 结束语

随着手机朝着智能化方向的发展,android智能手机操作系统越来越被人们所关注。android会在应用中不可避免出现大量针对其的攻击行为和恶意软件,但是攻防演绎是一个呈双螺旋增长过程。随着时间的推移,android平台的漏洞会越来越少,系统越来越安全、可靠。

 

参考文献:

[1]罗伯特莱莫斯,android手机安全性成难题[j].麻省理工科技创业,2011(3).

[2]shabtai a,wiess y,kanonov u,et al.andromaly:a behavioral mal-ware detection framework for android devices.intelligent information

systems,2011:7-22.

[3]杨杰,基于linux的强制访问控制研究[j].电脑与电信,2008(11):48-51.

基于高频变压器的隔离式推挽栅极驱动电路 摘要:本文介绍了一种基于高频变压器的隔离式推挽栅极驱动电路,通过变压器实现电气隔离,为功率MOS管提供可靠驱动信号。电路包含输入侧PWM信号处理、变压器磁耦合隔离传输以及副边驱动逻辑等关键部分,利用电阻电容网络控制开关速度并防止误触发。该隔离驱动方案广泛应用于高压开关电源、新能源汽车电机控制器、光伏逆变器和工业变频器等需要高电压隔离及抗干扰能力的电力电子设备中,有效保障系统安全性和可靠性。 阅读详情

相关推荐

Linux下用SquareLine Studio开发LVGL界面:从安装到实战的完整避坑指南

本文提供了一份在Linux系统下使用SquareLine Studio开发LVGL图形界面的完整实战指南。内容涵盖从SDL库安装、SquareLine Studio环境配置、界面可视化设计,到工程导出、源码编译及常见错误排查的全流程。重点解析了如何将设计界面无缝集成到Linux开发流程中,并针对嵌入式设备移植提供了关键步骤,旨在帮助开发者高效避坑,快速上手LVGL界面开发。

egg99的博客 904

Android中级——系统信息与安全机制

对应Apk的AndroidManifest中的标签,记录权限信息。,运行下面命令,会生成一个对应名字的文件夹,可正常查看里面的xml文件(多用于汉化)但解压后的文件无源码文件src,同时xml文件乱码,只能查看res目录下的图片资源。,如下打开上面反编译的.jar文件,查看MainAcitivity,内容一模一样。Apk本质是一个压缩文件,可通过解压缩软件获取里面的内容,如下。,将.dex放到根目录运行如下命令,生成对应名字的.jar文件。包含了许多系统配置属性值和参数。

松仔Log的博客 1312

ORB-SLAM3单目摄像头

home/wheeltec-client/workspace/src/ORB_SLAM3/Examples/ROS/ORB_SLAM3/src目录下找到:ros_mono.cc文件,打开找到并修改成我们自己摄像头的订阅话题(usb_cam/imahe_raw)即相机设置文件,官方提供的是Asus.yaml,可以另复制命名一个文件My_camera.yaml,将里面的相机参数修改成自己标定过的参数。sudoaptinstalllibeieng3-dev#命令安装的版本是eigen。

疯狂的石头 742

Android系统安全概览

Android 采用了业界领先的安全功能,并与开发者和设备实现人员密切合作,以确保 Android 平台和生态系统的安全。要打造一个由基于 Android 平台以及围绕 Android 平台开发且由云服务提供支持的应用和设备组成的强大生态系统,稳定可靠的安全模型至关重要。为此,在整个开发生命周期内,Android 都遵循了严格的安全计划。 Android平台包含的主要组成部分包括: 设备硬件:Android 能够在多种硬件配置中运行,其中包括智能手机、平板电脑、手表、汽车、智能电视、OTT 游戏盒和机顶盒。

caizehui的博客 1648

CocosCreator 面试题(十七)Cocos creator 固定宽度与固定高度的底层原理是什么?Cocos creator是如何做适配的?

通过固定宽度或固定高度的适配方式,可以使游戏在不同屏幕尺寸上保持一定的一致性,确保游戏中的元素的大小和位置相对稳定。具体选择哪种适配方式取决于你的游戏需求和设计考虑。在 Cocos Creator 中,你可以通过设置「设计分辨率」和使用相对坐标和布局方式来实现固定宽度或固定高度的适配。总之,Cocos Creator 提供了多种适配方式和工具,帮助你在不同屏幕尺寸上保持游戏画面的一致性。在 Cocos Creator 中,固定宽度和固定高度是两种常见的适配方式,用于在不同屏幕尺寸上保持游戏画面的一致性。

w风雨无阻w的专栏 1685

体素坐标(voxel_coors)在mmdetection3d中的理解

体素坐标(voxel_coors)在mmdetection3d中的理解

weixin_38362784的博客 4217

Android与鸿蒙系统安全(一)

Android、鸿蒙系统安全 一、信息安全概念 信息安全涉及信息论、计算机科学和密码学等多方面的知识,它研究计算机系统和通信网络内信息的保护方法,是指在信息的产生、传输、使用、存储过程中,对信息载体(处理载体、存储载体、传输载体)和信息的处理、传输、存储、访问提供安全保护,以防止数据信息内容或能力被非法使用、篡改。 信息安全的基本属性包括机密性、完整性、可用性、可认证性和不可否认性,主要的信息安全威胁包括被动攻击、主动攻击、内部人员攻击和分发攻击,主要的信息安全技术包括密码技术、身份管理技术、权限管理

求变,从思想开始 6395

文本→图像→视频:AIGC跨模态转换全流程解析

本文旨在系统性地解析AIGC领域中跨模态内容生成的技术原理和实现方法,特别聚焦于从文本到图像再到视频的完整转换流程。跨模态表示学习的基本原理文本到图像生成的核心技术图像到视频转换的关键算法端到端跨模态生成系统的构建方法实际应用场景和性能优化策略背景介绍:建立基本概念和知识框架核心概念:解析跨模态转换的关键技术和原理算法细节:深入讲解文本到图像、图像到视频的核心算法数学模型:提供必要的数学基础和公式推导项目实战:通过完整案例展示实现过程应用场景:探讨技术的实际应用可能性。

AI天才研究院 1351

Android 系统安全

Android是一个开源的移动平台操作系统,主要用于移动设备。作为一个运行于实际应用环境中的终端操作系统,Android操作系统在其体系结构设计和功能模块设计上就将系统的安全性考虑其中。Android是一个支持多任务的系统,其安全机制依托于数字签名和权限,系统中的应用程序之间一般是不可以互相访问的,每一个应用程序都有独立的进程空间。Android系统本身具有一套比较完善的安全机制,正常情况下可以有效地保护系统的安全使其不受侵害。

m0_64611541的博客 1122

第二章 零差云控关节模组内部构造

对零差云控的eRob70I进行了拆解

SFY__优快云的博客 5945

nRF52382低功耗蓝牙应用开发之入门教程-软件烧录

准备工作在上一篇文章讲过了,这里就讲讲nRFgo studio的使用 硬件准备: J-link:2线 供电:3.3V 如下图打开nRFgo studio界面介绍, 2、如果J-link正常,如下图 3、如果蓝牙芯片正常 4、烧录过程,如果蓝牙芯片之前有烧录过程序,需先点擦除,再点烧录 5、烧录代码路劲,例如 F:\nRF\SDK\nRF5_SDK_15.2.0_...

LinQiPing233的博客 1945

[日更-2019.5.15、16] Android 系统的安全性分析(四)--存储安全措施

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_33860147的博客 413

从SSD到UFS:3分钟搞懂存储技术进化史(含最新协议对比)

本文梳理了从SSD到UFS的存储技术演进历程,重点解析了eMMC与UFS在架构上的核心差异。UFS凭借高速串行全双工接口,实现了性能与能效的飞跃。文章还对比了最新的UFS 4.0与PCIe 5.0 SSD协议,并探讨了3D NAND、SLC缓存等底层技术,揭示了移动与PC存储技术融合的未来趋势。

weixin_29294597的博客 274

理解Android安全机制

后来,Linux内核采用了必要的访问控制机制:SE Linux(Security-Enhanced Linux),它采用了一种强制存取控制MAC(Mandatory Access Control)策略的实现方式,目的在于通过限制系统中的任何进程以及用户对资源的访问,保护内核安全。所以,在Linux系统中,文件的权限控制在所有者的手中。Android将安全设计贯穿系统架构的各个层面,覆盖系统内核、虚拟机、应用程序框架层以及应用层各个环节,力求在开放的同时,也恰当保护用户的数据、应用程序和设备的安全。

xishx的博客 1997

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

SEAndroid安全机制框架分析

我们知道,Android系统基于Linux实现。针对传统Linux系统,NSA开发了一套安全机制SELinux,用来加强安全性。然而,由于Android系统有着独特的用户空间运行时,因此SELinux不能完全适用于Android系统。为此,NSA针对Android系统,在SELinux基础上开发了SEAndroid。本文就对SEAndroid安全机制框架进行分析,以便后面可以更好地分析其实现细节。

老罗的Android之旅 9万+

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

SEAndroid安全机制对Android属性访问的保护分析

Android系统通过属性暴露设备和运行时信息,并且可以通过设置属性来控制系统行为。因此,属性也像文件一样,是一种需要保护的资源。在启用SEAndroid之前,敏感属性只能被预先设定的进程进行设置。启用SEAndroid之后,敏感属性会进一步被SEAndroid安全策略保护。这样就可以更有效地保护系统属性了。在本文中,我们就详细分析SEAndroid安全机制对Android属性设置保护提供的支持。

老罗的Android之旅 2万+

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

Android安全机制解析与漏洞防范

Android系统的安全机制为用户提供了强大的保护,但仍然存在潜在的安全风险。本文从应用沙箱机制、Linux内核安全、漏洞防范策略和案例分析等方面,详细解析了Android安全机制与漏洞防范。为了确保Android设备的安全,用户应定期更新系统和应用,合理配置设备设置,并关注官方安全公告。应用沙箱机制和Linux内核安全:Android系统的安全基础,提供了基本的隔离和保护。漏洞防范策略:通过代码审计、安全框架、系统更新和安全配置等手段,可以有效防范应用和操作系统漏洞。案例分析。

2501_92487717的博客 822

Android安全机制解析与应用实践

《Android安全机制解析与应用实践》 基本信息 作者: 吴倩 赵晨啸 郭莹 出版社:机械工业出版社 ISBN:9787111420163 上架时间:2013-4-25 出版日期:2013 年5月 开本:16开 页码:1 版次:1-1 所属分类:计算机 更多关于 》》》《Android安全机制解析与应用实践》 内容简介 计算机书籍   《android安全机制解...

weixin_30408165的博客 132

从NDK在非Root手机上的调试原理探讨Android的安全机制

最近忙着研究Android的安全技术,好长时间没有写博客了,准备回归老本行:Read the funcking android source code。这两天看NDK文档时,看到一句“Native debugging ... does not require root or privileged access, aslong as your application is debuggable”。咦,NDK调试不是通过ptrace实现的么?在非Root的手机上是怎么进行ptrace呢?借这两问题正好可以介绍一

老罗的Android之旅 4万+

QtScrcpy投屏黑屏问题的技术分析与解决方案

QtScrcpy投屏黑屏问题的技术分析与解决方案 【免费下载链接】QtScrcpy Android实时投屏软件,此应用程序提供USB(或通过TCP/IP)连接的Android设备的显示和控制。它不需要任何root访问权限 项目地址...

gitblog_01421的博客 1587

SEAndroid安全机制简要介绍和学习计划

与iOS相比,Android最被人诟病的是其流畅性和安全性。然而,从4.0开始,Android不遗余力地改善其流畅性。特别是在即将发布的L版本中,用ART替换了Dalvik,相信会越来越流畅。至于安全性,Android也没有遗忘。从4.3开始,Android引入了一套基于SELinux的安全机制,称为SEAndroid,来加强系统安全性。接下来我们就对SEAndroid进行简要介绍和制定学习计划。

老罗的Android之旅 5万+

Android安全机制概述

Android安全机制概述 1.Android安全机制概述 Android是一个权限分离的系统。这是利用Linux已有的权限管理机制,通过为没 一个Application分配不同的uid和gid,从而使得不同的Application之间的私有数据和访问(native以及java层通过这种sandbox机制,都可以)达到隔离的目的。与此同时,Android还在此基础上进行扩展,提供了permis...

shenglong0210的博客 975

《Android安全机制解析与应用实践》迷你书

《Android安全机制解析与应用实践》迷你书     Android安全领域的经典著作,不仅深入剖析了原理,而且还给出了应对各种安全问题的 方法,原理与实践并重。首先,结合 Android系统的源代码从应用层、应用框架层、硬件抽象层、系统 内核层等多角度剖析了 Android的安全机制和实现原理,以及安全机制中存在的不足和潜在风险;然后 详细讲解了各种常用的实用分析工具、安全风险分析方

拟声的主扬在江湖 1049

安卓逆向-入门笔记、相关知识点总结及思路

文章目录1、查壳2、未加固2.1 工具2.2方法3 、第一代加固3.1 工具3.2 方法3.3 材料准备3.4 实例补充知识:一、Android2.安全机制2.1内核级安全机制2.2运行环境级安全机制2.3 应用程序框架级安全机制3.应用程序包分析3.1. classess.dex(重要)3.2. lib3.3. AndroidManifest.xml(重要)3.4. resources....

Fairy 2399

QtScrcpy项目在安卓14设备上的屏幕控制问题解析

你是否遇到过这样的场景:刚刚升级到安卓14的新设备,满怀期待地连接QtScrcpy准备投屏工作或游戏,却发现画面显示正常但鼠标键盘完全无法控制?这种"看得见摸不着"的尴尬局面,正是许多QtScrcpy用户在安卓14设备上遇到的典型问题。 作为一款优秀的Android实时投屏软件,QtScrcpy在安卓5.0到安卓13设备上都表现稳定,但面对安卓14的新安全机制和API变更,传统的控制方式遇到了前...

gitblog_01427的博客 777

Frida安卓逆向中Error: invalid address报错深度解析与解决方案

在安卓逆向工程与动态分析领域,内存访问是核心技术环节,涉及进程注入、代码执行等底层操作。其原理是通过修改目标进程内存布局,实现运行时监控与行为分析。这项技术的核心价值在于能够动态探查应用逻辑、绕过安全机制,广泛应用于安全评估、漏洞挖掘和恶意软件分析等场景。然而,在Android 11及以上版本系统中,由于SELinux策略收紧和内存保护机制强化,常会触发内存访问异常。本文聚焦Frida框架使用中常见的invalid address错误,该问题与SELinux策略限制和内存权限配置直接相关,通过系统化排查流程

weixin_33709590的博客 336
上一篇: 大数据时代传播研究中语料库分析方法的价值
下一篇: 软件设计中的三段式
曹牧
博客等级 码龄22年 396粉丝 762原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值