CN115774603A - 一种基于命名空间划分的安卓隔离方法 - Google Patents

一种基于命名空间划分的安卓隔离方法 Download PDF

Info

Publication number
CN115774603A
CN115774603A CN202211660916.0A CN202211660916A CN115774603A CN 115774603 A CN115774603 A CN 115774603A CN 202211660916 A CN202211660916 A CN 202211660916A CN 115774603 A CN115774603 A CN 115774603A
Authority
CN
China
Prior art keywords
container
android
isolation
different
containers
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211660916.0A
Other languages
English (en)
Inventor
朱晓明
泰彬彬
张海锋
张文泰
李瑞杏
郭松
张晓航
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
CETC 54 Research Institute
Original Assignee
CETC 54 Research Institute
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by CETC 54 Research Institute filed Critical CETC 54 Research Institute
Priority to CN202211660916.0A priority Critical patent/CN115774603A/zh
Publication of CN115774603A publication Critical patent/CN115774603A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
    • Y02D10/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于命名空间划分的安卓隔离方法。本发明通过在Android宿主机启动时,进行Namespace封装隔离、基于CGroups控制进程资源、使用LXC进行Android客户机容器管理,实现了Android容器隔离和切换。本发明利用Android虚拟化、多域隔离技术,在操作系统层面实现了不同等级应用运行环境的安全隔离,在保障良好用户体验的同时确保了不同安全等级应用共存的安全隔离性受控。

Description

一种基于命名空间划分的安卓隔离方法
技术领域
本发明涉及Android(即安卓)系统虚拟化技术、隔离技术领域,特别是指一种基于namespace(即命名空间)划分的Android隔离方法,适用于对Android操作系统层面实现不同等级应用运行环境的安全隔离。
背景技术
随着5G移动通信技术和Android系统的不断发展,基于Android系统的5G智能终端在各类应用中得到了广泛应用,其安全性和数据授权访问重要性不断提升。但是,不同安全等级的APP共用智能终端,则可能造成高安全等级的敏感数据被低安全等级的APP非法访问,也可能导致用户在非授权的范围内访问敏感数据。目前,现有的Android隔离技术主要基于DAC、MAC等机制进行数据访问权限控制,这种方式仅能在逻辑上限制数据访问权限,而无法防护数据传输、拷贝等操作。
因此,需要一种新的Android系统虚拟化技术、隔离技术,以解决不同安全等级的APP在同一台物理终端上共存的安全隔离问题。
发明内容
有鉴于此,本发明提供一种基于命名空间划分的安卓隔离方法,该方法可在操作系统层面实现不同等级应用运行环境的安全隔离,在保障良好用户体验的同时,确保不同安全等级应用共存的安全隔离性受控,限制跨应用的数据访问以及跨应用的数据传输和拷贝,实现Android容器的隔离和切换。
为了实现上述目的,本发明采用技术方案为:
一种基于命名空间划分的安卓隔离方法,包括以下步骤:
(1)启动安卓宿主机时,自动通过命名空间封装隔离子系统,并建立包含Pid命名空间、IPC命名空间、Network命名空间、Uts命名空间的容器,每个容器内的安卓容器程序拥有独立的Pid分配环境、Ipc通信环境、网络环境、Uts系统环境,进而实现安卓容器之间的业务隔离;
(2)利用CGroups控制组提供的工具和接口,在CGroupfs文件系统中创建目录,实现CGroups的创建,设置CGroups对资源的控制,并将进程绑定到某个CGroups,从而实现控制进程资源隔离;
(3)通过移植的LXC容器管理工具启动安卓客户机容器,在启动安卓客户机时修改每个安卓客户机的挂载目录,隔离安卓客户机的文件系统;
(4)在安卓宿主机的Linux内核中创建一个虚拟设备,为显示系统虚拟化模块切换安卓客户机容器时提供容器信息,以供安卓客户机容器切换;
(5)当用户切换容器时,向容器管理共享服务发送切换请求指令,容器管理共享服务接受到用户的切换请求时,将要切换到前台的安卓客户机容器名字发送到步骤4创建的虚拟设备,虚拟设备中重新调整各个安卓客户机容器的位置信息,然后将要切换的前台安卓客户机容器的界面显示到当前屏幕中。
进一步地,同一安卓客户机容器的不同进程之间通过IPC资源进行通信,不同容器包含不同的IPC命名空间,容器内的进程只能访问本容器内的IPC通信资源,只能与本容器内的进程进行IPC通信,而无法跟其他容器的进程进行IPC通信。
进一步地,还包括以下步骤:
(6)在打开两个不同的安卓客户机容器时,首先创建包含不同Pid命名空间的容器,在每个容器内运行的进程按照各自的方式去分配进程Pid。
进一步地,不同容器包含不同的Network命名空间,不同Network命名空间内的网络协议栈不同,且包含不同的网络设备、路由、ip地址;容器内的虚拟桌面程序与外部网络进行通信时各自通过容器内的网络设备与外部网络进行交互。
本发明与现有技术相比,所取得的有益效果为:
1、本发明创新性地提出了基于Namespace的智能终端运行环境安全隔离技术,能够实现Android系统各类资源的隔离,不同Android容器内的进程数据不同的Namespace,彼此透明、互不干扰。
2、利用Cgoups机制有效的对各容器的资源进行分配和管理,使得每个容器中的所有进程具有相同的资源使用行为。
3、Android容器运行时挂载的是不同的文件系统根目录,所以不同的客户机在运行时无法感知到其他客户机的文件系统的存在,从而杜绝跨容器攻击。
4、接受到用户的切换请求时,将要切换到前台的Android容器名字发送到虚拟容器设备,虚拟容器设备中会重新调整各个Android容器的位置信息。然后将要切换的前台Android容器的界面显示到当前屏幕中。
总之,本发明通过多级安全的终端安全体系架构、不同安全等级应用的智能终端运行环境安全隔离技术,在操作系统层面实现了不同等级应用运行环境的安全隔离,在保障良好用户体验的同时确保了不同安全等级应用共存的安全隔离性受控,实现了Android容器隔离和切换。
附图说明
图1是本发明的系统架构图。
图2是本发明的容器网络命名空间示意图。
图3是本发明的文件系统结构图。
图4是本发明的容器切换示意图。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
参照图1、图2、图3和图4,一种基于Namespace划分的Android隔离方法,包括以下步骤:
(1)启动Android宿主机时,自动通过Namespace封装隔离子系统,Android客户机之间的安全隔离基于LinuxNamespace命名空间机制实现;此外,建立包含PidNamespace、IPCNamespace、NetworkNamespace、UtsNamespace的容器。不同容器内运行的Android容器程序运行在不同的PidNamespace、IPC Namespace、NetworkNamespace、UtsNamespace,因此每个容器内的Android容器程序拥有独立的Pid分配环境、Ipc通信环境、网络环境、Uts系统环境,进而实现多个Android容器之间的业务隔离。
(2)利用CGroups控制组提供的工具和接口,在CGroupfs文件系统中创建目录,实现CGroups的创建、设置CGroups对资源的控制、将进程绑定到某个CGroups,以此达到控制进程资源隔离的目的。
(3)通过移植的LXC容器管理工具启动Android客户机容器,在启动Android客户机时修改每个Android客户机的挂载目录,隔离Android客户机文件系统。
(4)在Linux内核中创建一个虚拟设备,为显示系统虚拟化模块切换Android容器时提供容器信息,以供进行Android容器切换。
例如,可通过点击Android宿主机隔离软件实现Android容器进入和切换。
(5)为了实现在Android容器间切换的功能,需要在Linux内核中创建一个虚拟设备,为显示系统虚拟化模块切换Android容器时提供容器信息。当用户需要切换容器时,向容器管理共享服务发送切换请求指令,容器管理共享服务接受到用户的切换请求时,将要切换到前台的Android容器名字发送到虚拟容器设备,虚拟容器设备中会重新调整各个Android容器的位置信息,然后将要切换的前台Android容器的界面显示到当前屏幕中。
(6)在打开两个不同的Android容器时,首先创建包含不同Pid命名空间的容器,因此在每个容器内运行的进程按照各自的方式去分配进程Pid,容器内进程的Pid分配是独立的,与其他容器无关。容器内的进程只能得到容器本身的进程视图,而无法看到其他容器内的进程视图,即不同容器之间的进程相互之间是透明的。
此外,同一Android容器的不同进程之间可以通过IPC资源进行通信,不同容器包含不同的IPCNamespace,容器内的进程只可以访问本容器内的IPC通信资源,只能与本容器内的进程进行IPC通信,而无法跟其他容器的进程进行IPC通信。
不同容器包含不同的Network命名空间,不同Network命名空间内的网络协议栈不同,包含不同的网络设备、路由、ip地址等。容器内的虚拟桌面程序与外部网络进行通信时各自通过容器内的网络设备与外部网络进行交互。
本实施例实现了基于Namespace划分的Android隔离样机,如图1-3所示。这种方案通过多级安全的终端安全体系架构、不同安全等级应用的智能终端运行环境的安全隔离技术,实现了Android容器隔离和切换。
总之,本发明针对移动通信网络特性下的移动智能终端隔离需求,基于国产民用智能移动终端产业基础,研究了在Android虚拟化架构下的终端安全架构、多域隔离等技术,实现了针对不同安全等级的APP在同一台物理终端上共存的安全隔离。本发明通过在Android宿主机启动时,进行Namespace封装隔离、基于CGroups控制进程资源、使用LXC进行Android客户机容器管理,实现Android容器隔离和切换。本发明利用Android虚拟化、多域隔离技术,在操作系统层面实现了不同等级应用运行环境的安全隔离,在保障良好用户体验的同时确保了不同安全等级应用共存的安全隔离性受控。

Claims (4)

1.一种基于命名空间划分的安卓隔离方法,其特征在于,包括以下步骤:
(1)启动安卓宿主机时,自动通过命名空间封装隔离子系统,并建立包含Pid命名空间、IPC命名空间、Network命名空间、Uts命名空间的容器,每个容器内的安卓容器程序拥有独立的Pid分配环境、Ipc通信环境、网络环境、Uts系统环境,进而实现安卓容器之间的业务隔离;
(2)利用CGroups控制组提供的工具和接口,在CGroupfs文件系统中创建目录,实现CGroups的创建,设置CGroups对资源的控制,并将进程绑定到某个CGroups,从而实现控制进程资源隔离;
(3)通过移植的LXC容器管理工具启动安卓客户机容器,在启动安卓客户机时修改每个安卓客户机的挂载目录,隔离安卓客户机的文件系统;
(4)在安卓宿主机的Linux内核中创建一个虚拟设备,为显示系统虚拟化模块切换安卓客户机容器时提供容器信息,以供安卓客户机容器切换;
(5)当用户切换容器时,向容器管理共享服务发送切换请求指令,容器管理共享服务接受到用户的切换请求时,将要切换到前台的安卓客户机容器名字发送到步骤4创建的虚拟设备,虚拟设备中重新调整各个安卓客户机容器的位置信息,然后将要切换的前台安卓客户机容器的界面显示到当前屏幕中。
2.根据权利要求1所述的一种基于命名空间划分的安卓隔离方法,其特征在于,同一安卓客户机容器的不同进程之间通过IPC资源进行通信,不同容器包含不同的IPC命名空间,容器内的进程只能访问本容器内的IPC通信资源,只能与本容器内的进程进行IPC通信,而无法跟其他容器的进程进行IPC通信。
3.根据权利要求1所述的一种基于命名空间划分的安卓隔离方法,其特征在于,还包括以下步骤:
(6)在打开两个不同的安卓客户机容器时,首先创建包含不同Pid命名空间的容器,在每个容器内运行的进程按照各自的方式去分配进程Pid。
4.根据权利要求3所述的一种基于命名空间划分的安卓隔离方法,其特征在于,不同容器包含不同的Network命名空间,不同Network命名空间内的网络协议栈不同,且包含不同的网络设备、路由、ip地址;容器内的虚拟桌面程序与外部网络进行通信时各自通过容器内的网络设备与外部网络进行交互。
CN202211660916.0A 2022-12-23 2022-12-23 一种基于命名空间划分的安卓隔离方法 Pending CN115774603A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211660916.0A CN115774603A (zh) 2022-12-23 2022-12-23 一种基于命名空间划分的安卓隔离方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211660916.0A CN115774603A (zh) 2022-12-23 2022-12-23 一种基于命名空间划分的安卓隔离方法

Publications (1)

Publication Number Publication Date
CN115774603A true CN115774603A (zh) 2023-03-10

Family

ID=85392884

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211660916.0A Pending CN115774603A (zh) 2022-12-23 2022-12-23 一种基于命名空间划分的安卓隔离方法

Country Status (1)

Country Link
CN (1) CN115774603A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981795A (zh) * 2023-02-17 2023-04-18 嘉兴嘉赛信息技术有限公司 一种在安卓设备上通过容器实现系统隔离的方法
CN116431292A (zh) * 2023-06-13 2023-07-14 中孚安全技术有限公司 一种服务器资源隔离方法、系统、装置及可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115981795A (zh) * 2023-02-17 2023-04-18 嘉兴嘉赛信息技术有限公司 一种在安卓设备上通过容器实现系统隔离的方法
CN115981795B (zh) * 2023-02-17 2023-08-25 嘉兴嘉赛信息技术有限公司 一种在安卓设备上通过容器实现系统隔离的方法
CN116431292A (zh) * 2023-06-13 2023-07-14 中孚安全技术有限公司 一种服务器资源隔离方法、系统、装置及可读存储介质

Similar Documents

Publication Publication Date Title
CN115774603A (zh) 一种基于命名空间划分的安卓隔离方法
CN107534579B (zh) 资源管理的系统和方法
CN104850787B (zh) 基于高保证内核模块的移动终端操作系统及其实现方法
CN100399273C (zh) 一种虚拟机系统及其硬件配置方法
CN104902005A (zh) 一种混合云中的资源调度方法、系统和私有云
CN108183871A (zh) 一种虚拟交换机、虚拟交换机启动方法,电子设备
WO2016028927A1 (en) Methods and system for allocating an ip address for an instance in a network function virtualization (nfv) system
CN108322307B (zh) 基于内核内存共享的容器间通讯系统及方法
CN105357256A (zh) 管理移动设备的方法及服务器
US11563799B2 (en) Peripheral device enabling virtualized computing service extensions
CN103679007A (zh) 一种管理应用程序权限的方法、装置及移动设备
US20210089239A1 (en) Peripheral device for configuring compute instances at client-selected servers
CN114491507A (zh) 一种基于嵌入式实时操作系统实现轻量级安全容器的设计方法
CN113438295A (zh) 容器组地址分配方法、装置、设备及存储介质
CN113296926B (zh) 一种资源分配方法、计算设备及存储介质
WO2021061414A1 (en) Peripheral device for configuring compute instances at client- selected servers
US20020095500A1 (en) Method and apparatus for aggregate resource management of active computing environments
EP3374861A1 (en) Scalable addressing mechanism for virtual machines
CN116955236B (zh) 一种基于虚拟化的usb设备共享方法及系统
CN111181929A (zh) 基于共享虚拟机文件的异构混合云架构及管理方法
CN115004626A (zh) 存储供应
CN110795209A (zh) 一种控制方法和装置
KR20200070933A (ko) 네트워크 기능 가상화 환경에서 동적 자원 스케일링 장치 및 방법
US6298371B1 (en) Method of dynamically adjusting NCP program memory allocation of SNA network
CN112737827A (zh) 资源分配方法、装置及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination