企业号介绍

全部
  • 全部
  • 产品
  • 方案
  • 文章
  • 资料
  • 企业

飞凌嵌入式

138内容数 28306看过 70粉丝

专注智能设备核心平台研发与制造

国产平台之OKT507-C开发板Android 安全策略漫谈

12-03 165人看过
 
 

平台:OKT507-C开发板

系统:Android10.0

 
 

OKT507-C开发板Android系统版本为Android10.0,默认开启了SELinux。基于MAC访问控制模型的SElinux,可以更好地保护我们的Android系统, 比如限制系统服务的访问权限、控制应用对数据和系统日志的访问等措施,这样就降低了恶意软件的影响,并且可以防止因代码存在的缺陷而产生的对系统安全的影响。

从系统安全方面考虑,SELinux是保护神,但是从软件开发方面,SELinux就是一道牵绊,这是一把双刃剑。

比如我们开发应用或者增加系统服务的某些权限的时候,我们必须遵循SELinux的规则,给我们的应用设置对应的安全策略,否则我们的应用就不具备访问数据或者设备的权限。
下面我们MAC访问控制模型开始,简单的梳理一下OKT507-C开发板 Android的安全策略,以及自定义OKT507-C开发板 Android安全策略的方法。

访问控制模型DAC,MAC

访问控制是指控制对计算机或者网络中某个资源的访问。没有它,所有人都可以访问任何资源。有了访问控制,用户在获取实际访问资源或进行操作之前,必须通过识别、验证、授权。

自主访问控制(DAC: Discretionary Access Control)系统识别用户,根据被操作对象的权限的设置,来决定该用户对其拥有的操作权限,read、write、exec。拥有这个对象权限的用户,又可以将该权限分配给其他用户,此谓之“Discretionary”。缺陷就是对权限控制比较分散,不便于管理,比如无法简单地将一组文件设置统一的权限开放给指定的一群用户。

强制访问控制(MAC: Mandatory Access Control)MAC是为了弥补DAC权限控制过于分散的问题而诞生的。在MAC这种模型里,管理员管理访问控制。管理员制定策略,用户不能改变它。策略定义了哪个主体能访问哪个对象。这种访问控制模型可以增加安全级别,因为它基于策略,任何没有被显式授权的操作都不能执行。MAC被开发和实现在最重视保密的系统中,如军事系统。主体获得清楚的标记,对象得到分类标记,或称安全级别。

基于MAC的SElinux


 
  1. 参考链接:

  2. https://source.android.google.cn/security/selinux

软件通常情况下必须以Root用户帐号的身份运行,才能向原始块设备写入数据。在基于DAC的传统Linux环境中,如果Root用户遭到入侵,攻击者便可以利用该用户身份向每个原始块设备写入数据。从Android4.3 起,SELinux开始为传统的自主访问控制 (DAC)环境提供强制访问控制(MAC)保护功能。

作为Android安全模型的一部分,Android使用安全增强型 Linux(SELinux) 对所有进程强制执行强制访问控制 (MAC),甚至包括以Root/超级用户权限运行的进程(Linux 功能)。例如可以使用SELinux为这些设备添加标签,以便被分配了 Root 权限的进程只能向相关政策中指定的设备写入数据。这样一来,该进程便无法重写特定原始块设备之外的数据和系统设置。

借助 SELinux,Android可以更好地保护和限制系统服务、控制对应用数据和系统日志的访问、降低恶意软件的影响,并保护用户免遭移动设备上的代码可能存在的缺陷的影响。

OKT507-C开发板 Android系统版本为Android10,SELinux默认开启,即使获得了该系统的root权限,也只能向相关策略中指定的设备写入数据,从而更好地保护和限制系统服务,保障系统和数据的安全。

标签、规则和域

SELinux 依靠标签来匹配操作和策略。标签用于决定允许的事项。套接字、文件和进程在 SELinux 中都有标签。SELinux 在做决定时需参照两点:一是为这些对象分配的标签,二是定义这些对象如何交互的策略。

在 SELinux 中,标签采用以下形式:usertype:mls_level,其中 type 是访问决定的主要组成部分,可通过构成标签的其他组成部分进行修改。对象会映射到类,对每个类的不同访问类型由权限表示。

策略规则采用以下形式:allow domains types:classes permissions;,其中:


 
  1. Domain - 一个进程或一组进程的标签。也称为域类型,因为它只是指进程的类型。

  2. Type - 一个对象(例如,文件、套接字)或一组对象的标签。

  3. Class - 要访问的对象(例如,文件、套接字)的类型。

  4. Permission - 要执行的操作(例如,读取、写入)。

策略配置源文件

1、external/sepolicy这是独立于设备的配置,一般不能针对设备进行修改2、device///sepolicy这是特定于设备的配置,基于 BOARDSEPOLICY* 变量来选择对应平台的策略配置。

以OKT507-C开发板为例,OKT507-C开发板策略文件的路径如下:


 
  1. OKT507-android-source/android$ ls device/softwinner/common/sepolicy/

  2. private  vendor

Type Enforcement (TE) 配置文件

.te 文件中保存了对应对象的域和类型定义、规则。通常每个域一个 .te 文件,例如installd.te。在 device.te、file.te 中声明了设备和文件类型。在某些文件(例如domain.te、app.te)中则存储着共享规则。

以OKT507-C开发板为例,T507 system_app的TE文件的路径如下:


 
  1. OKT507-android-source/android$ ls device/softwinner/common/sepolicy/vendor/system_app.te

  2. device/softwinner/common/sepolicy/vendor/system_app.te

标签配置文件

1、filecontexts:文件安全上下文

2、propertycontexts:属性安全上下文

SEAndroid app分类

SELinux(或SEAndroid)将app划分为主要三种类型(根据user不同,也有其他的domain类型):

1)untrustedapp 第三方app,没有Android平台签名,没有system权限
2)platformapp 有android平台签名,没有system权限

3)system_app 有android平台签名和system权限

从上面划分,权限等级,理论上:untrustedapp < platformapp < system_app

以OKT507-C开发板为例,查看当前运行的应用信息:

 
  1. console:/ # ps -Z

  2. usystem_app:s0              system       15712  1861 1050628 110868 SyS_epoll_wait      0 S forlinx.example.app

  3. uuntrusted_app_27c512,c768 u0_a62    30259  1861 1052120 114132 SyS_epoll_wait      0 S com.forlinx.changelogo

当前运行的两个APP,forlinx.example.app的type就是systemapp,com.forlinx.changelogo的type就是untrustedapp。

OKT507-C开发板自定义system_app的安全策略

以OKT507-C开发板中的Systemmix服务为例,我们为其添加执行脚本的权限:


 
  1. OKT507-android-source/android$ vi device/softwinner/common/sepolicy/vendor/systemmix.te

  2. ...

  3. allow systemmix vendor_shell_exec:file { getattr open read execute execute_no_trans };

  4. allow systemmix shell_exec:file { getattr open read execute execute_no_trans };

  5. allow systemmix shell:file { getattr open read execute execute_no_trans };

  6. ...

 

 

 

最近浏览过的用户(0查看全部

为你推荐

  • 用智慧照亮生活—FET1046A-C核心板打造智慧灯杆方案2022-05-21 09:24

    智慧灯杆是集照明、视频监控、交通管理、环境监测、通信等多功能于一体的新型信息基础设施,是构建新型智慧城市的重要载体。5G的普及,为智慧灯杆发展创造了新机遇,作为新一代城市信息基础设施的智慧灯杆,与“新基建”中的不少领域相关,比如5G基站、新能源汽车充电桩和车联网等。智慧灯杆作为智慧城市的一个重要组成部分和重要入口,是智慧城市信息化建设天然的搭载平台。可以说在
    智慧灯杆 核心板 6人看过
  • 干货分享 | Debian系统移植USBWiFi RTL8192EU驱动并设置开机自启2022-05-21 09:24

    作者:donatello1996来源:电子发烧友题图:飞凌嵌入式原文标题:【飞凌嵌入式OKMX8MP-C开发板试用体验】移植USBWIFIRTL8192EU驱动并设置开机自启动我(笔者)在飞凌OKMX8MP-C开发板上移植了自行搭建的Debian系统之后,发现板卡原有的WiFi模块无法使用,在内核里面添加了支持项也没用,后面跟飞凌的技术支持工程师王工沟通,了
    驱动器 5人看过
  • 瑞萨RZ/G2L系列-飞凌嵌入式FET-G2LD-C核心板新品发布2022-05-18 16:37

    RZ/G2L是瑞萨电子在泛工业领域推出的一颗高性能、超高效处理器,亮点颇多,其采用Cortex-A55+Cortex-M33多核异构,功能接口资源丰富,多媒体性能出众,具有很强的泛用性和易用性。作为国内主流嵌入式ARM板卡供应商的飞凌嵌入式与瑞萨电子强势合作,正式推出搭载RZ/G2L处理器的FET-G2LD-C核
  • iMX6ULL动态评测-老将新甲 29*40mm的iMX6ULL 够小2022-05-05 11:58

    iMX6ULL核心板尺寸仅29*40mm,采用NXP iMX6ULL低功耗处理器设计,小尺寸,高性能应用领域更加广泛
    NXP arm 开发板 61人看过
  • iMX6ULL功能介绍|框架图|功耗|核心板硬件设计说明|原理图2022-04-30 09:55

    NXPi.MX6ULL扩展了i.MX6系列,它是一个高性能、超高效、低成本处理器子系列,采用先进的ARMCortex-A7内核,运行速度高达800MHz。i.MX6ULL应用处理器包括一个集成的电源管理模块,降低了外接电源的复杂性,并简化了上电时序,目标应用有:汽车远程信息处理、IoT网关、人机界面、家庭能源管理系统、智能能源信息集中器、智能工业控制系统、电子POS设备、便携医疗设备、打印机和2D
    arm 开发板 41人看过
  • 赋能安防监控智能化升级 | 由嵌入式板卡实现的NVR方案2022-04-29 09:53

    随着网络技术的不断发展,通过网络对视频数据进行存储的需求越来越多,这直接推动了DVR(硬盘录像机)发展为具有网络功能的NVR(网络视频录像机)。NVR是NetVideoRecorder的缩写,主要负责网络视音频信号的接入和存储、转发、解码、预览等功能。纵观视频监控系统的技术变革,从第一代的模拟监控到第二代的数字监控,再到现在盛行的网络监控,视频监控系统已成功
    嵌入式 24人看过
  • 先睹为快! FETMX6ULL-C核心板开箱2022-04-21 11:25

    飞凌嵌入式于4月11日发布了一款新品FETMX6ULL-C核心板。作为飞凌基于NXPi.MX6U系处理器所开发的第三款核心板,它有什么独特优势?让我们通过视频一睹为快!钩沉新生匠心可见FETMX6ULL-C核心板基于NXPi.MX6ULL处理器设计开发,ARMCortex-A7架构,在保持低功耗的同时主频高达800MHz。FETMX6ULL-C核心板接口资源
    核心板 44人看过
  • 一篇读懂!嵌入式ARM处理器与持续火热的3D打印技术有何关联2022-04-21 11:24

    4月17日,科技博主「@老师好我叫何同学」在停更73天后,更新了一条关于“3D打印机”的视频,让这个曾因科普5G技术而登上央视新闻的年轻UP主,再次登上了热搜榜首。在大众的印象里,「3D打印技术」似乎是一种正处于萌芽阶段的新生事物,但如果以1984年CharlesW.Hull申请立体光刻专利为起点,3D打印其实已经拥有了38年的历史。在过去38年的发展历程中
    嵌入式 3D打印 72人看过
  • 医疗方案 | 基于FETMX6ULL-S实现的核酸自动提取仪2022-04-15 16:16

    核酸自动提取仪基于FETMX6ULL-S设计研发核酸自动提取仪又名核酸自动纯化仪,是应用配套的核酸提取试剂,来自动完成样本核酸提取工作的仪器。广泛应用在疾病控制中心、临床疾病诊断、输血安全、法医学鉴定、环境微生物检测、食品安全检测、畜牧业和分子生物学研究等多种领域。分类01根据仪器型号大小不同划分自动液体工作站:自动液体工作站是功能非常强大的设备,液体分液、
    仪器 22人看过
  • 新品预告丨强芯传承 FETMX6ULL-C核心板闪耀登场(文末福利)2022-04-13 11:25

    “性价比高,功能接口丰富,资料齐全,稳定性强”这是许多用户对飞凌FETMX6ULL-S核心板的评价。作为NXP公司一颗经典的MPU,i.MX6ULL的市场认可度无需多言。而作为NXP公司的金牌合作伙伴,飞凌不负美誉,基于i.MX6ULL匠心打造的FETMX6ULL-S核心板一经问世便好评不断,且已有数百家来自工业、医疗、电力、物联网等行业的用户采用此款核心板
    核心板 37人看过
  • 基于A40i平台在RTK接收机上的应用-RTK接收机解决方案-飞凌嵌入式2021-10-28 10:33

    RTK接收机是一款通过无线通信设备接收单基站或者网络 RTK 播发的北斗/GNSS 载波相位实时动态差分数据,自主进行实时解算,提供高精度定位结果的终端设备。本文介绍了一款基于国产A40i设计RTK接收机的应用方案
    RTK 87人看过
  • 激光喷码机-基于ARM+FPGA的控制系统设计方案-飞凌嵌入式2021-10-28 10:11

    激光喷码机-基于ARM+FPGA的控制系统设计方案。激光喷码机是通过高能量的激光直接聚焦到物体表面,使之发生物理化学变化而形成的,并随着激光束的焦点在打标物体表面上有规律地移动,同时控制激光的有无,就在物体表面形成了指定的打标图案。 激光打标具有非接触式标记,标记速度快,污染小,无耗材损失和标识清晰、永久等优点,具有强大的竞争能力,正在逐渐地取代传统的油墨喷码机
    62人看过
  • 一种基于ARM核心板设计的无线示教器解决方案-飞凌嵌入式2021-10-28 10:04

    目前机器人示教器通过摇杆;按键;旋钮等方式对机器人的运动做出控制,结合示教器内部的系统软件,将数据发送至机器人控制系统,以此达到示教器的输入目的,当机器人运动时,其运动状态等信息需要展示给用户,则机器人系统将数据传输到示教器,示教器对机器人运动状态进行相关的显示,以此达到人际交互的目的。
    60人看过
  • ARM核心板在3D打印机中的解决方案推荐-飞凌嵌入式2021-10-28 10:01

    3D打印机通常是采用数字技术材料打印机来实现的。常在模具制造、工业设计等领域被用于制造模型,后逐渐用于一些产品的直接制造,在珠宝、鞋类、工业设计、建筑、工程和施工(AEC)、汽车,航空航天、牙科和医疗产业、教育、地理信息系统、土木工程、枪支以及其他领域都有所应用。
    3D打印机 63人看过
  • 环保数采仪|环保监测数采仪|生态环境监测数据采集器解决方案-飞凌嵌入式2021-10-27 17:27

    环保数采仪采用高性能ARM高端处理器,嵌入式Linux操作系统和嵌入式实时数据库。飞凌嵌入式推出ARM核心板广泛应用于环保数采仪|环保监测数采仪|生态环境监测数据采集器,为环保监测提供硬件解决方案
    78人看过
  • ARM核心板应用于在线水质检测仪器解决方案2021-10-27 17:08

    ARM核心板应用于在线水质检测仪器解决方案。飞凌嵌入式ARM嵌入式核心板除了应用于在线水质监测,还可应用于大气有害气体监测、扬尘监测、废弃监测、噪声扬尘、气象等多种环境监测领域;面对多种不同的监测需求,飞凌嵌入式可根据客户需求进行定制开发
  • 特高压输电线路在线监测系统方案-A40i 核心板 应用解析-飞凌嵌入式2021-10-27 16:45

    本文中介绍的特高压输电线路在线监测系统,不仅能提高输电线路运行的可靠性,还能实现数据的融合共享,因此成为了输电线路中必不可少的一部分。基于特高压输电线在线监测系统的原理及系统组成,推荐飞凌嵌入式基于全志A40i设计的FETA40i-C核心板,首先是国产工业级的稳定性,再加上成本上的优势,让其在众多产品中脱颖而出
    33人看过
  • 卡车高级驾驶辅助系统 (ADAS) 解决方案 -飞凌嵌入式2021-10-27 16:31

    卡车高级驾驶辅助系统 (ADAS) 解决方案,汽车ADAS指的是高级驾驶辅助系统,ADAS是Advanced Driver Assistance System的简称。该系统的核心在于“驾驶辅助”,可以为驾驶员提供更安全的驾驶体验。辅助驾驶系统,作为车车辆安全管理中的一个非常重要的内容。
  • 解决方案:核心板在自助加油机上的应用 - 飞凌嵌入式2021-10-27 15:51

    加油站的智能化解决方案。 加油站是多元的,应用场景也简单明了,给车加油。加油站的智能化方案中自助加油系统的广泛性和便利性,使得其应用越来越多地受到青睐。飞凌嵌入式为您提供智慧自助加油机显控终端主控板,智能加油机解决方案
    37人看过
  • 车联网车载T-BOX系统解决方案_汽车TBOX 嵌入式arm应用-飞凌嵌入式2021-10-27 15:31

    车联网车载T-BOX系统解决方案_嵌入式arm在汽车TBOX 中的应用,飞凌嵌入式推出基于嵌入式arm技术的核心板在T-Box的解决方案中得到广泛应用,为用户缩短研发周期、提升产品整体竞争力提供有效的保证。
    435人看过
  • RK3568核心板-飞凌嵌入式2022-03-16 18:23

    产品型号:RK3568 CPU:RK3568 架构:Cortex-A55 主频:2.0GHz 内存:2GB/4GB/8GB DDR4(标配2GB) ROM:16GB eMMC
  • RK3568开发板-飞凌嵌入式2022-03-16 18:17

    产品型号:RK3568 CPU:RK3568 架构:Cortex-A55 主频:2.0GHz 内存:2GB/4GB/8GB DDR4(标配2GB) ROM:16GB eMMC
  • iMX6ULL开发板-飞凌嵌入式2021-10-23 15:55

    产品型号:OKMX6ULL-S开发板 CPU:i.MX6ULL 架构:Cortex-A7 主频:800MHz 内存:256MB DDR3,512MB DDR3 存储:256MB NandFlash,4GB eMMC
  • iMX8M Plus 开发板-飞凌嵌入式2021-08-20 14:00

    产品型号:i.MX8MPlus CPU:i.MX8M Plus 架构:4*Cortex-A53+Cortex-M7 主频:1.6GHz 内存:4GB LPDDR4 ROM:16GB eMMC
  • 全志国产工业级A40i开发板-飞凌嵌入式2021-08-16 13:44

    产品型号:A40i CPU:A40i 架构:Cortex-A7 主频:1.2GHz 内存:1GB DDR3,2GB DDR3 ROM:8GB eMMC
  • 全志系列-T507开发板-飞凌嵌入式2021-08-16 12:03

    产品型号:T507 CPU:T507 架构:Cortex-A53 主频:1.5GHz 内存:2GB DDR3L ROM:8GB eMMC
  • iMX8MQ开发板-飞凌嵌入式2021-08-16 11:44

    产品型号:iMX8MQ CPU:iMX8MQ 架构:四核Cortex-A53+Cortex-M4 主频:1.3GHz 内存:2GB DDR4 ROM:8GB eMMC
  • LS1028A开发板-飞凌嵌入式2021-08-12 14:08

    产品型号:LS1028A CPU:LS1028A 架构:Cortex-A72 主频:1.5GHz 内存:2GB DDR4 ROM:8GB eMMC