CN106709357A - Android平台基于内核内存监控的漏洞防护系统 - Google Patents
Android平台基于内核内存监控的漏洞防护系统 Download PDFInfo
- Publication number
- CN106709357A CN106709357A CN201611149849.0A CN201611149849A CN106709357A CN 106709357 A CN106709357 A CN 106709357A CN 201611149849 A CN201611149849 A CN 201611149849A CN 106709357 A CN106709357 A CN 106709357A
- Authority
- CN
- China
- Prior art keywords
- kernel
- module
- communication module
- monitoring
- kernel state
- 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.)
- Withdrawn
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/577—Assessing vulnerabilities and evaluating computer system security
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种Android平台基于内核内存监控的漏洞防护系统,属于智能移动终端技术领域。本系统是:监测规则模块、用户态通讯模块、内核态通讯模块和内核态修改记录模块依次交互完成初始化的工作,内核态修改记录模块、内核态通讯模块和内核态监测模块依次交互实现内核内存及内核函数指针变化的监测;内核态监测模块、内核态通讯模块、用户态通讯模块和监测规则模块依次交互,完成异常信息反馈,监测规则模块、用户态通讯模块和数据存储模块依次交互,实现疑似内核漏洞利用行为的记录。本发明具有超前性和可扩展性。适用于Android平台。
Description
技术领域
本发明属于智能移动终端技术领域,尤其涉及一种Android平台基于内核内存监控的漏洞防护系统。
背景技术
近年来,随着移动互联网的飞速发展,智能移动终端软件的数量已经远远超过了传统PC上的软件数量。相对于PC来说,智能移动终端更加便捷,已经逐渐成为人们工作和生活不可或缺的一部分。而Android和IOS占据了移动智能终端操作系统的重要份额。
与IOS操作系统相比,Android操作系统由于开源化和碎片化的特性,所以Android系统所爆出的安全漏洞要远远多于IOS操作系统;使Android操作系统成为了黑客和恶意软件的重要攻击目标,Android操作系统的安全问题不容忽视。
而Android内核漏洞又是危害最为严重的漏洞类型。
目前主流的漏洞防护缓冲技术有:
ASLR:一种针对缓冲区溢出的安全保护技术,通过对堆、栈、共享库映射等线性区布局的随机化,通过增加攻击者预测目的地址的难度,防止攻击者直接定位攻击代码位置,达到阻止溢出攻击的目的。但是当缓冲区内存中有明显特征的情况下,根据特征内存暴力搜索,ASLR保护还是可能被绕过。
DEP:数据执行保护的缩写,是一套软硬件技术,能够在内存上执行额外检查以帮助防止在系统上运行恶意代码。
PXN:一种针对内核内存的安全保护技术,可以防止内核执行用户空间中的代码。
SEAndroid:SELinux是对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。SEAndroid是针对SELinux在Android操作系统上的移植,从Android4.1版本开始,Android操作系统上就有SEAndroid保护了。
DEP和PXN保护都可以通过精心构造的ROP链来绕过。
发明内容
本发明的目的就在于克服现有技术存在的缺点和不足,提供一种Android平台基于内核内存监控的漏洞防护系统。
实现本发明目的的技术方案是:
通过监测内核内存的可用容量和申请释放频率,来判断Android内核状态。如果状态为不健康状态则进一步判断内核栈的完整性和内核全局符号中的函数指针是否发生改变来判定内核中可能存在的漏洞是否遭到利用。
具体地说,Android平台内存监测的漏洞利用防护系统(简称系统)包括内核态监测模块、内核态修改记录模块、内核态通讯模块、用户态通讯模块、监测规则模块和数据存储模块;
其交互关系是:
监测规则模块、用户态通讯模块、内核态通讯模块和内核态修改记录模块依次交互完成初始化的工作,内核态修改记录模块、内核态通讯模块和内核态监测模块依次交互实现内核内存及内核函数指针变化的监测;
内核态监测模块、内核态通讯模块、用户态通讯模块和监测规则模块依次交互,完成异常信息反馈,监测规则模块、用户态通讯模块和数据存储模块依次交互,实现疑似内核漏洞利用行为的记录。
本发明具有下列优点和积极效果:
①超前性:通过监测内核内存的健康性来判别内核漏洞利用行为;
②可扩展性:在不对系统修改的前提下,通过加载新的漏洞利用行为判定规
则,来保证监测新的漏洞利用行为。
适用于Android平台。
附图说明
图1是本系统的结构方框图;
图中:
1—内核态监测模块;
2—内核态修改记录模块;
3—内核态通讯模块;
4—用户态通讯模块;
5—监测规则模块;
6—数据存储模块。
英译汉
1、IOS:是由苹果公司为iPhone开发的操作系统。它主要是给iPhone、iPod touch以及iPad使用。就像其基于的Mac OS X操作系统一样,它也是以Darwin为基础的。原本这个系统名为iPhone OS,直到2010年6月7日WWDC大会上宣布改名为iOS。
2、Android:Android是一种基于Linux的自由及开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导及开发。
3、PC:personal computer ,即个人计算机的意思。
4、ASLR:Address Space Layout Randomization,地址空间格局的随机化。
5、DEP:Data Execution Prevention,数据执行保护。
6、PXN:Privileged Execute-Never,从不特权执行。
7、SQLite3:是一款轻型的数据库,是遵守ACID的关系型数据库管理系统。
具体实施方式
下面结合附图和实施例详细说明:
一、系统
1、总体
如图1,本系统包括内核态监测模块1、内核态修改记录模块2、内核态通讯模块3、用户态通讯模块4、监测规则模块5和数据存储模块6;
其交互关系是:
监测规则模块5、用户态通讯模块4、内核态通讯模块3和内核态修改记录模块2依次交互完成初始化的工作,内核态修改记录模块2、内核态通讯模块3和内核态监测模块1依次交互实现内核内存及内核函数指针变化的监测;
内核态监测模块1、内核态通讯模块3、用户态通讯模块4和监测规则模块5依次交互,完成异常信息反馈,监测规则模块5、用户态通讯模块4和数据存储模块6依次交互,实现疑似内核漏洞利用行为的记录。
2、功能模块
①内核态监测模块1
内核态监测模块1是一种内核内存监测的方法;
实时监测内核模块中内存的使用情况。
a、通过对内核函数的HOOK实时监测内核模块中内存的使用情况;
b、根据检测规则模块5提供的规则来判断当前内核内存情况是否健康;
c、如果内核内存为非健康状态,则根据内核态修改记录模块2提供的内核全局符号表中的指针信息与当前全局符号表中的指针信息进行对比,并判断内核栈中信息是否完整,只要有其中一点不符合规则,则判定当前内核内存可能存在异常;
d、如果内核内存异常则将异常信息通过内核态通讯模块3和用户态通讯模块4传输给监测规则模块5进行处理。
内核态监测模块1的工作机理:
内核中可以利用的漏洞往往都能造成内核中某些地址可写,但是由于Android系统本身的PXN、DEP和堆地址随机化保护,并不能直接利用内核某些地址可写来执行代码。所以一般情况下内核漏洞利用第一步就是进行heap spray操作来达到堆地址可以预测。然后触发漏洞,修改某些有用户态接口的内核函数指针,指向自己构筑的ROP链;有的漏洞则是通过修改内核栈中有用户态接口的内核函数的返回值,指向自己构筑的ROP链。ROP链由于是通过内核本身的指令进行构造的,所以ROP中使用的数据都是从通过执行heap spray操作后,从可预测地址的堆内存中获取。最后通过调用用户态函数接口来执行自己构筑的ROP链达到内核漏洞利用目的。
内核态监测模块1正是从源头来监测内核漏洞利用操作。通过监测内核可用内存容量来监测是否执行heap spray操作。然后进一步监测内核全局符号中函数指针的地址是否改变来监测漏洞利用程序修改内核函数指针;通过检查栈的完整性来监测是否修改了栈中存储的函数返回地址。
②内核态修改记录模块2
内核态修改记录模块2是一种内核修改和记录的方法;
a、在系统启动时,通过用户态通讯模块4、内核态通讯模块3接收来自监测规则模块5的监测规则;
b、通过对规则解析,HOOK规则中需要监控的函数;
c、记录内核全局符号表中函数指针偏移;
d、将被HOOK的函数的处理权通过内核态通讯模块3传输给内核态监测模块。
内核态修改记录模块2工作机理:
因为内核态修改记录模块2为内核驱动模块,所以它有内核任意地址可读写的权限,所以它可以修改内核中内存操作函数的流程,还可以读取内核中全局符号表中函数指针的地址。
③内核态通讯模块3
内核态通讯模块3是一种内核态通讯的方法;
当系统启动或者有新规则需要添加时,内核态通讯模块接收用户态通讯模块4传输过来的监测规则,并传递给内核态修改记录模块2。内核态修改记录模块2修改记录工作完成后,传递操作完成消息给内核态通讯模块3,内核态通讯模块3,内核态通讯模块3将操作完成消息传递给内核态监测模块1,内核态监测模块1开始执行监控操作。
当内核态监测模块1监测出内核内存异常时,内核态监测模块1把异常数据通过内核态通讯模块3、用户态通讯模块4传递给数据存储模块6。
在传输数据的同时,要严格按照数据格式进行数据过滤,并判断数据来源是否为合法来源。
内核态通讯模块3工作机理:
通过ioctl函数来进行内核间模块的通讯。因为内核驱动具有很大的系统权限,所以在数据传输时,会进行严格过滤。
④用户态通讯模块4
用户态通讯模块4是一种用户态通讯的方法;
系统启动时,户态通讯模块4接收监测规则模块5发来的监测规则数据,并传输给内核态通讯模块3。
当内核态监测模块1监测出内核内存异常时,内核态监测模块1把异常数据通过内核态通讯模块3、用户态通讯模块4传递给数据存储模块6。
定期监测规则模块5会通过用户态通讯模块4读取数据存储模块6中的异常记录,生成新的内核内存监测规则。
用户态通讯模块4工作机理:
通过ioctl函数与内核态通讯模块3进行通讯。通过intent机制与用户态的组件进行通讯。因为用户态通讯模块4能与内核驱动进行通讯,并操作内核态模块的行为,具有很大的系统权限,所以在数据传输时,会进行严格过滤。
⑤监测规则模块5
监测规则模块5是一种规则添加和处理的方法;
系统启动时,监测规则模块5将本地监测规则传输给用户态通讯模块4;
定时的,监测规则模块5会通过用户态通讯模块4,读取数据存储模块6中的异常记录,生成新的内核内存监测规则。
监测规则模块5工作机理:
监测规则模块5可以加载本地的监测规则文件,以达到在不更改代码的情况下,修改内核内存监测规则。同时监测规则模块5从数据存储模块6读取的异常信息,根据异常信息行为的相似性和危害性来添加新的规则。
⑥数据存储模块6
数据存储模块6是一种数据存储管理的方法;
当内核态监测模块1监测出内核内存异常时,内核态监测模块1把把异常数据通过内核态通讯模块3、用户态通讯模块4传递给数据存储模块6。
当接收到来自监测规则模块5通过用户态通讯模块4发出的异常查看请求时,数据存储模块6会把新增的异常信息通过用户态通讯模块4发送给监测规则模块5。
数据存储模块6工作机理:
数据存储模块6本身是一个数据管理方法,它使用SQLite3进行异常数据存储。并且开启SQLite3的加密功能。每次对SQLite3做添加操作前,计算一次SQLite3数据库文件的HASH值,以比较数据库的完整性。
3、应用
该系统适用于各类android平台的移动设备,对该类设备中内核漏洞利用行为的监测。
Claims (3)
1.一种Android平台基于内核内存监控的漏洞防护系统,其特征在于:
包括内核态监测模块(1)、内核态修改记录模块(2)、内核态通讯模块(3)、用户态通讯模块(4)、监测规则模块(5)和数据存储模块(6);
其交互关系是:
监测规则模块(5)、用户态通讯模块(4)、内核态通讯模块(3)和内核态修改记录模块(2)依次交互完成初始化的工作,内核态修改记录模块(2)、内核态通讯模块(3)和内核态监测模块(1)依次交互实现内核内存及内核函数指针变化的监测;
内核态监测模块(1)、内核态通讯模块(3)、用户态通讯模块(4)和监测规则模块(5)依次交互,完成异常信息反馈,监测规则模块(5)、用户态通讯模块(4)和数据存储模块(6)依次交互,实现疑似内核漏洞利用行为的记录;
所述的内核态监测模块(1)是一种内核内存监测的方法;
所述的内核态修改记录模块(2)是一种内核修改和记录的方法;
内核态通讯模块(3)是一种内核态通讯的方法;
所述的用户态通讯模块(4)是一种用户态通讯的方法;
所述的监测规则模块(5)是一种规则添加和处理的方法;
所述的数据存储模块(6)是一种数据存储管理的方法。
2.基于权利要求1所述的漏洞防护系统,其特征在于所述的内核内存监测
的方法:
a、通过对内核函数的HOOK实时监测内核模块中内存的使用情况;
b、根据检测规则模块(5)提供的规则来判断当前内核内存情况是否健康;
c、如果内核内存为非健康状态,则根据内核态修改记录模块(2)提供的内核全局符号表中的指针信息与当前全局符号表中的指针信息进行对比,并判断内核栈中信息是否完整,只要有其中一点不符合规则,则判定当前内核内存可能存在异常;
d、如果内核内存异常则将异常信息通过内核态通讯模块(3)和用户态通讯模块(4)传输给监测规则模块(5)进行处理。
3.基于权利要求1所述的漏洞防护系统,其特征在于所述的内核修改和记
录的方法:
a、在系统启动时,通过用户态通讯模块(4)、内核态通讯模块(3)接收来自监测规则模块(5)的监测规则;
b、通过对规则解析,HOOK规则中需要监控的函数;
c、记录内核全局符号表中函数指针偏移;
d、将被HOOK的函数的处理权通过内核态通讯模块3传输给内核态监测模块(1)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611149849.0A CN106709357A (zh) | 2016-12-14 | 2016-12-14 | Android平台基于内核内存监控的漏洞防护系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611149849.0A CN106709357A (zh) | 2016-12-14 | 2016-12-14 | Android平台基于内核内存监控的漏洞防护系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106709357A true CN106709357A (zh) | 2017-05-24 |
Family
ID=58937467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611149849.0A Withdrawn CN106709357A (zh) | 2016-12-14 | 2016-12-14 | Android平台基于内核内存监控的漏洞防护系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106709357A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390856A (zh) * | 2018-01-12 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种DDoS攻击检测方法、装置及电子设备 |
CN112307470A (zh) * | 2019-07-29 | 2021-02-02 | 北京奇虎科技有限公司 | 入侵内核的检测方法及装置、计算设备、计算机存储介质 |
CN112995236A (zh) * | 2021-05-20 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种物联网设备安全管控方法、装置和系统 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902481A (zh) * | 2010-08-10 | 2010-12-01 | 厦门市美亚柏科信息股份有限公司 | 一种网页木马实时监测方法及其装置 |
CN103984898A (zh) * | 2014-05-29 | 2014-08-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种喷射模式攻击的检测方法和装置 |
US20150227746A1 (en) * | 2014-02-07 | 2015-08-13 | Northwestern University | System and Method for Privacy Leakage Detection and Prevention System without Operating System Modification |
CN105956474A (zh) * | 2016-05-17 | 2016-09-21 | 武汉虹旭信息技术有限责任公司 | Android平台软件异常行为检测系统 |
-
2016
- 2016-12-14 CN CN201611149849.0A patent/CN106709357A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101902481A (zh) * | 2010-08-10 | 2010-12-01 | 厦门市美亚柏科信息股份有限公司 | 一种网页木马实时监测方法及其装置 |
US20150227746A1 (en) * | 2014-02-07 | 2015-08-13 | Northwestern University | System and Method for Privacy Leakage Detection and Prevention System without Operating System Modification |
CN103984898A (zh) * | 2014-05-29 | 2014-08-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种喷射模式攻击的检测方法和装置 |
CN105956474A (zh) * | 2016-05-17 | 2016-09-21 | 武汉虹旭信息技术有限责任公司 | Android平台软件异常行为检测系统 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108390856A (zh) * | 2018-01-12 | 2018-08-10 | 北京奇艺世纪科技有限公司 | 一种DDoS攻击检测方法、装置及电子设备 |
CN108390856B (zh) * | 2018-01-12 | 2020-09-18 | 北京奇艺世纪科技有限公司 | 一种DDoS攻击检测方法、装置及电子设备 |
CN112307470A (zh) * | 2019-07-29 | 2021-02-02 | 北京奇虎科技有限公司 | 入侵内核的检测方法及装置、计算设备、计算机存储介质 |
CN112995236A (zh) * | 2021-05-20 | 2021-06-18 | 杭州海康威视数字技术股份有限公司 | 一种物联网设备安全管控方法、装置和系统 |
CN112995236B (zh) * | 2021-05-20 | 2021-08-24 | 杭州海康威视数字技术股份有限公司 | 一种物联网设备安全管控方法、装置和系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10949528B1 (en) | System and method for secure, policy-based access control for mobile computing devices | |
CN107679393B (zh) | 基于可信执行环境的Android完整性验证方法和装置 | |
US11086983B2 (en) | System and method for authenticating safe software | |
CN101667232B (zh) | 基于可信计算的终端可信保障系统与方法 | |
US20240095343A1 (en) | Software integrity checking systems and methods | |
CN102184372A (zh) | 一种基于逆向沙箱的手机支付保护方法 | |
KR20090068535A (ko) | 휴대 단말기의 민감 정보 유출을 탐지 및 차단하는 장치 및방법 | |
Luoshi et al. | A3: automatic analysis of android malware | |
US20130042297A1 (en) | Method and apparatus for providing secure software execution environment based on domain separation | |
CN102222292B (zh) | 一种手机支付保护方法 | |
CN106709357A (zh) | Android平台基于内核内存监控的漏洞防护系统 | |
Dixon et al. | On rootkit and malware detection in smartphones | |
Liu et al. | An empirical study on android for saving non-shared data on public storage | |
Yang et al. | {Iframes/Popups} Are Dangerous in Mobile {WebView}: Studying and Mitigating Differential Context Vulnerabilities | |
Sikder et al. | A survey on android security: development and deployment hindrance and best practices | |
Geden et al. | Hardware-assisted remote runtime attestation for critical embedded systems | |
CN105868625B (zh) | 一种拦截文件被重启删除的方法及装置 | |
Hung et al. | Real-time and intelligent private data protection for the Android platform | |
CN104426836A (zh) | 一种入侵检测方法及装置 | |
Jia et al. | A framework for privacy information protection on Android | |
Zhang et al. | Android platform-based individual privacy information protection system | |
Moon et al. | Intelligent security model of smart phone based on human behavior in mobile cloud computing | |
CN104753924B (zh) | 一种基于动态透明隔离防护的企业数据资产保护方法 | |
Msgna et al. | Secure application execution in mobile devices | |
Shi et al. | A hybrid analysis for mobile security threat detection |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20170524 |
|
WW01 | Invention patent application withdrawn after publication |