一种移动办公系统中Android终端数据防泄漏方法与流程

文档序号:15216273发布日期:2018-08-21 16:53阅读:195来源:国知局

本发明属于计算机信息安全领域,具体涉及一种移动办公系统中Android终端数据防泄漏方法,尤其是防止用户随意拷屏,操纵剪贴板,访问恶意网址以及遭受恶意进程破坏。



背景技术:

随着智能终端的迅速发展和4G技术的成熟及广泛推广,移动终端的功能已经从传统的通信和娱乐延伸到了移动办公。移动办公代表了个性化、移动化、智能化的融合,人们可以在任何时间,任何地点处理任何与业务相关的任何事情。全新的办公模式相比于传统办公模式具有很多优势:方便实用,高效快捷,功能强大,灵活方便,数据安全等。

安全移动办公的前提是移动办公环境的安全,即保证企业应用在一个安全可信的环境下运行,而要想实现这一目标可以从安全接入、安全存储、安全隔离等方面着手。现有的安全接入技术主要是VPN,它是通过在公用通信网络上建立逻辑隧道,对网络层进行加密以及采用口令保护、身份验证等措施来实现的。但VPN仅仅是做了网络传输方面的安全保护,没有考虑到移动终端的安全问题。同时移动办公系统还需要考虑到移动终端数据的安全问题。安全存储需要使用数据加密和认证授权管理技术。对敏感数据进行加密,以密文形式存储在移动终端上,并使用认证授权管理技术设置访问权限限制访问,在一定程度上可以有效保证数据的安全性。而安全隔离主要负责个人与企业事务的分离,防止数据泄露。与此同时,安全接入、存储与隔离也需要可信模块的支持,因此移动设备本身系统的安全性是非常重要的。作为应用最广的Android操作系统,无疑成为移动办公安全的重点研究对象。而在Android平台上不光要营造运行环境的安全,还要考虑来自于第三方恶意软件对系统的危害。在信任操作系统自身安全性的基础上可以通过数据监测、漏洞分析、权限检测、MAC策略等方式来识别和阻止第三方应用的恶意行为。

移动办公的迅速发展,对于企业和个人来说都是一把双刃剑,在享受移动办公带来便捷、高效的同时,其安全性也值得深思。

由于移动设备无处不在,一旦使用了不受信的网络,企业文件中的机密数据很容易被窃取或泄露。因此制定真正全面安全的移动策略成为移动办公的头等大事,务必解决Android平台上可能的安全隐患来避免机密数据的泄露。

为了充分提高移动设备的安全性,进而提高工作效率。目前主要有以下几种相关的解决方案,但是都或多或少地存在一些缺陷。

1.APPERIAN公司提出了自己独特的策略:解决移动办公的关键不在于如何管理用户的硬件设备,而在于最前端的服务应用,其安全方案真要针对企业身份认证,应用瘫痪、越狱以及隐蔽地址等问题。APPERIAN公司的解决方案在应用层面上满足了企业用户移动办公的安全需求。但是其脱离了硬件的保证同样也是这一解决方案存在的缺陷,很多用户无法被纯粹的应用解决方案的安全性说服。

2.三星KNOX是一套完整的安全服务解决方案,其提供一个安全而且完全独立的环境来保证企业应用和个人应用安全地隔离。在系统层面,三星KNOX为企业信息安全提供了一套定制化服务,包括安全启动、可信任启动、基于可信任区的完整性测量结构体系(TIMA)以及安全增强的安卓系统。但是三星KNOX方案只允许自己的员工在智能终端上安装移动安全应用,这就造成了KNOX方案只能为一部分企业员工服务,另外要求一家企业的所有员工都使用三星的设备也是不太现实的。

3.VMware公司致力于通过虚拟化为客户进行数据中心以及终端用户计算的变革。VMware Horizon Suite平台把VMware桌面虚拟化解决方案和技术融入单个解决方案,包含新的虚拟工作空间,易于使用和管理的VDI以及更好的物理桌面,VMware Horizon Suite解决方案的主要在于将任何设备上的应用、数据和桌面都整合到了一体化的虚拟工作空间中,将会大大简化企业管理并且相应提高其安全性。但实用性较差,需要对Android中间件进行复制,耗费较多资源。同时,虚拟化技术降低了资源使用者和资源具体实现的耦合程度,其可行性有待于进一步评估。

随着移动设备智能化程度和普及程度的不断提高,安全高效地在移动设备上进行办公已经成为了许多企业的迫切需求。移动办公意味着,从最基本的收发邮件到访问公司数据,个人移动设备都要兼顾个人应用和企业应用双重功能。对于用户而言,个人文件和企业内部数据在个人设备上的使用需要有足够的安全性保障,同时,企业数据的使用及互联网的浏览需要符合企业政策。

在Android平台上,由于其固有的安全缺陷,国内外已有的方案无论从硬件还是软件方面都没有很好的防止企业机密信息泄露的安全机制。与此同时,有些方案并没有很好地考虑到外来恶意应用对移动办公的安全隐患。企业缺少针对应用的管理手段,员工在设备上任意下载和安装消费类应用,会降低系统的可靠性,引入安全风险,造成企业数据丢失或设备功能失效,同时这些设备通过网页浏览、下载应用、收发邮件等方式访问公司信息时,完全处于无保护状态。移动设备智能化,集成电脑的特性和功能,可使同样的应用程序,更容易遭受恶意攻击,带来的安全威胁变得更加复杂与严重。

发明內容

为了解决上述的技术问题,本发明提出了一种综合运用多种安全防护技术以保障Android终端数据数据安全的防泄漏方法。

本发明所采用的技术方案是:一种移动办公系统中Android终端数据防泄漏方法,所述移动办公系统采用客户端和服务器两层体系架构,所述客户端用于供用户进行文件操作,并与服务器进行交互,同时实现安全功能;所述服务器承担着如终端屏幕内容检测、黑名单匹配以及发送指令到客户端;其特征在于:采用动态监控截屏方法、实时监测拷贝数据方法、动态URL监测方法和恶意进程查杀方法,集成了文件安全操作、数据安全及数据自毁功能,充分保证了移动办公系统中终端数据的安全。

作为优选,所述动态监控截屏方法,是客户端利用屏幕内容同步方法、实时地将屏幕内容通过流的形式传输给服务器,服务器根据机密信息的数据库来判断当前屏幕的内容是否属于机密信息,如果是,则发送禁止截屏指令到客户端,客户端执行该指令后,用户无法进行截屏操作;如果非机密内容,则保持现有状态,用户可以正常操作文件。

作为优选,所述屏幕内容同步方法,其具体实现包括以下子步骤:

步骤A1:获取Android屏幕图像,保存屏幕截图;

步骤A2:捕捉屏幕图像热点;

步骤A3:编码屏幕图像;

步骤A4:采用TCP协议进行屏幕图像传输。

作为优选,步骤A1中所述获取屏幕图像包括以下子步骤;

步骤1.1:通过android.os.Build.VERSION.RELEASE获取Android系统版本号,并判断Android系统版本号是否小于2.3;

若是,则执行下述步骤1.2;

若否,则执行下述步骤1.3;

步骤1.2:读取Android显示缓存来获取屏幕图像;

读取fb0文件,获取framebuffer中RGB数据;根据framebuffer相关数据结构信息,将framebuffer包含的RGB数据转换为图像;

步骤1.3:调用系统服务获取屏幕图像;

通过服务名跨进程获取Surface Flinger服务客户端代理对象SurfaceComposer对象;调用此对象capture Screen方法获取数据首指针;利用IPC将获取数据发送给屏幕共享应用。

作为优选,步骤A2中所述捕捉屏幕图像热点,是用哨兵随机化检测法判断屏幕图像有无变化方式;若无变化不执行任何操作,等待下一帧图像;若检测发生变化,则进一步判断其变化类型,根据屏幕图像的变化方式,来选取不同的热点捕捉方式,去捕捉屏幕更新区域。

作为优选,步骤A3中所述编码屏幕图像,是采用JPEG编码标准,其底层实现采用Android SKIA库;编码时在Java层调用Bitmap对象的compress方法;编码格式选取JPEG,对于编码质量采用0.6;Java层的Bitmap.java通过JNI层的Bitmap.cpp,使用SKIA库SKBitmap.cpp最终进行图像的压缩编码。

作为优选,所述禁止截屏,是采用后台Service监听,如果接收到服务器反馈的禁止截屏指令,则使用stopService()停止服务即可禁止截屏;没有收到服务器发送的禁止截屏指令,则正常运行服务。

作为优选,所述实时监测拷贝数据方法,是服务器实时监测剪贴板中的是否存在内容,若存在内容,则需要将该内容与数据库中的机密信息进行匹配,若属于机密信息则需要发送自动清空指令给客户端,客户端自动执行清空剪贴板命令;若不属于机密信息则正常运行。

作为优选,所述自动清空剪贴板,就是通过Service监听Android原生系统提供的ClipboardManager.OnPrimaryClipChangedListeneron中的PrimaryClipChanged()方法,每当监测到ClipData对象有内容时,就自动赋值为null;如果想要恢复剪贴板正常复制、粘贴功能,选择关闭Service即可。

作为优选,所述动态URL监测方法,是通过CustomWebViewClient.onPageStarted()来截取URL地址,计算出其MD5值;利用布隆过滤器过滤,将MD5值与数据中恶意网址的MD5值进行比较,若相同,则URL包含非法地址,立即停止加载URL,反之正常访问URL。

作为优选,所述布隆过滤器过滤,其具体实现包括以下步骤:

步骤1:计算URL的MD5摘要值为q,对q进行hash计算,hash(q)%n=z,找出该URL可能存在的第z个数组;

步骤2:使用哈希函数H,进行H(q)%w=c计算;

步骤3:对第z个数组上第c位的值进行判断;

若第z个数组上第c位为0,则返回匹配失败,本流程结束;

若第z个数组上第c位为1,则从数组的第c位开始往后遍历,如果和数组中的元素完全匹配,则返回匹配成功;如果遇到数组上某个元素为空、直到数组末尾任然未匹配完成,则返回匹配失败。

作为优选,所述恶意进程查杀方法,是客户端通过内置恶意软件数据库,用户运行客户端软件时,系统开启一个新的线程,首先遍历手机里安装的所有应用程序,获取其包名,在Android中包名是一个应用程序唯一标识;然后对包名运行MD5算法,MD5算法获取的值用SQL语句查询数据库中是否有此记录,如果有则表示该应用程序为恶意软件,扫描完成后提示发现恶意软件的数目,并提示用户是否清理,如果清理则删除所有做了标记的程序。

本发明采用客户端—服务器体系架构,运用多种动态监控技术来保障移动终端数据的安全。本发明由服务器在后台实时读取客户端当前屏幕的内容并且实时分析,如果是机密信息则禁止截屏;客户端自动将剪贴板内容上传到服务器,服务器实时判断该内容是否属于机密信息,如果是则发送指令到客户端,执行自动清空剪贴板功能;客户端后台实时动态监控浏览器访问的网址是否属于恶意网址,如果是则禁止访问。另外客户端还可以实时获取进程、服务的详情列表,自动查杀恶意进程或服务。本发明集成了Android客户端截屏、拷贝、URL访问以及进程控制等多种动态监测功能,保证了终端泄露数据的安全性,降低了机密信息泄露的风险。

与以往工作相比,本方案有自己的独特之处,主要表现为:

1.本方案实现了基于动态监控的移动终端防泄漏技术,可以保障移动办公系统中Android平台数据的安全性,将内部泄密的可能性降到最低;

2.实时监控截屏,保障了数据通过截屏泄露的可能性;

3.实现了剪贴板拷贝控制,提高了数据拷贝的安全性;

4.实现了URL访问控制,提升了用户浏览网页的安全性;

5.实时监控进程和服务的运行情况,避免了恶意进程的对机密信息的破坏。

本发明的有益效果为:

1、安全性高,通过对Android平台上的截屏、剪贴板、URL访问以及进程进行了动态监控,阻止了多种可能的数据泄漏途径,进而保证了移动办公的安全性;

2、本系统以Android平台为基础,可以快速地部署在Android平台上,实时监测移办公的环境是否安全,打破了传统办公的时间地域限制。特别适合对工作效率有一定要求,又需要兼顾保密性的单位或企业。本系统确保组织内部机密文件、商业秘密不泄露,确保信息安全。

附图说明

图1为本发明实施的系统架构图。

图2为本发明实施例中的监控截屏模块的原理图。

图3为本发明实施例中屏幕内容同步示意图。

图4为本发明实施例中读取Android显示缓存实现过程示意图。

图5为本发明实施例中调用系统服务获取屏幕内容示意图。

图6为本发明实施例中URL监控模块示意图。

图7为本发明实施例中URL过滤示意图。

图8为本发明实施例中监控拷贝模块示意图。

图9为本发明实施例中进程实时监测示意图。

图10为本发明实施例中恶意进程查杀示意图。

具体实施方式

为了使本发明的目的、技术方案及有益效果更佳清楚明白,以下结合附图即实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不限于本发明。

请参阅图1,本发明采用客户端和服务器两层体系架构,客户端用于供用户进行文件操作,并与服务器进行交互,同时实现诸如文件加密、文件绑定类安全功能;服务器承担着如终端屏幕内容检测、黑名单匹配以及发送指令到客户端等工作。

请参阅图2,图2为本发明监测截屏方法的一个实施例的示意图。是客户端利用屏幕内容同步方法,实时地将屏幕内容通过流的形式传输给服务器,服务器根据机密信息的数据库来判断当前屏幕的内容是否属于机密信息,如果是,则发送禁止截屏指令到客户端,客户端执行该指令后,用户无法进行截屏操作;如果非机密内容,则保持现有状态,用户可以正常操作文件。

请参阅图3,图3为本发明Android屏幕内容同步方法一个实施例的示意图。如图3所示,本实施例的屏幕内容同步方法包括以下步骤:

屏幕图像获取考虑了Android平台下多种获取屏幕图像技术,基于Android平台的特点,选择了读取Android显示缓存和调用系统服务两种方式的混合使用,根据不同系统版本来进行获取屏幕图像方式的切换,大大提高屏幕内容共享的兼容性。

获取屏幕内容采用两种方式,首先通过android.os.Build.VERSION.RELEASE获取系统版本号;如果Android版本号小于2.3就采用显示缓存来获取屏幕图像;若版本号大于2.3就选择调用系统服务来获取屏幕图像;

请参阅图4,图4为本发明读取Android显示缓存方法一个实施例的示意图。通过读取Android显示缓存来获取屏幕图像,利用JNI技术调用Linuxmmap系统调用加载fb0文件,进而通过lseek,read等系统调用读取fb0文件,获取获取framebuffer中RGB数据读取。或者可以直接使用JAVA语言的文件流类读取fb0文件,获取framebuffer中RGB数据。最后根据framebuffer相关数据结构信息,将framebuffer包含的RGB数据转换为图像。读取framebuffer时,需要注意framebuffer里面一般都会包含2-3三帧图像数据,要考虑获取哪帧数据进行截图,使用JAVA文件流时,可以利用Random Access File类加载fb0文件,然后用seek方法来确定读取哪帧数据进行截图。最后读出的byte数据可以转换成int数组传给android平台中Bitmap类compress方法生成图片。

请参阅图5,图5是本发明调用系统服务获取屏幕图像方法一个实施例的示意图。通过服务名跨进程获取Surface Flinger服务客户端代理对象SurfaceComposer对象。调用此对象capture Screen方法获取数据首指针。利用IPC,如mmap或binder将获取数据发送给屏幕共享应用。

由于Android平台的高度定制性,导致显示架构多样化,因此采取直接比对捕捉屏幕热点方法,提高设备的兼容性,通用性。本发明提出一种自适应屏幕图像变化方式的热点捕捉技术。首先用哨兵随机化检测法判断屏幕图像有无变化方式。若无变化不执行任何操作,等待下一帧图像。若检测发生变化,则进一步判断其变化类型,根据屏幕图像的变化方式,来选取不同的热点捕捉方式,去捕捉屏幕更新区域。

屏幕图像的编码采用JPEG编码标准,其底层实现采用Android SKIA库;编码时在Java层调用Bitmap对象的boolean compress(Bitmap.Compress Format format,int quality,Output Stream stream)方法。通过format参数设置压缩编码格式,quality参数设置压缩编码质量,stream参数设置输出流。对于编码格式选取JPEG,对于编码质量采用0.6。Java层的Bitmap.java通过JNI层的Bitmap.cpp,使用SKIA库SKBitmap.cpp最终进行图像的压缩编码。

屏幕图像传输采用了TCP协议进行传输。

请参阅图6,图6是动态监控URL方法的一个实施例的示意图。通过onPageStarted()来截取URL地址,使用MD5算法对URL计算摘要值,利用Bloom Filter将MD5值与数据中恶意网址的MD5值进行比较,若相同,则URL包含非法地址,立即停止加载URL,反之正常访问URL。

请参阅图7,图7是URL过滤方法的一个实施例的示意图。首先获取到URL,再对URL进行MD5计算,再利用布隆过滤器过滤,将MD5值与恶意名单中的网址进行匹配,若匹配成功,则说明是恶意URL,发送指令到客户端,禁止访问该网址,反之正常访问URL。

布隆过滤器过滤采用位图法改进的Hash表,用一个bit位存放某一种状态,用0和1表示。在系统内存中开辟一块空间,然后初始全部值为0。设开辟的空间有n个bit位,当第k(1≤k≤n)位置为1时,表示序号为k的元素存在。计算URL的MD5摘要值为q,对q进行hash计算,hash(q)%n=z,找出该URL可能存在的第z个数组。使用哈希函数H,进行H(q)%w=c计算;如果此时,第z个数组上第c位为0,则表示匹配失败,如果第z个数组上第c位为1,则从数组的第c位开始往后遍历,如果和数组中的元素完全匹配,则返回匹配成功;如果遇到数组上某个元素为空、直到数组末尾仍然未匹配完成,则返回匹配失败。

请参阅图8,图8是动态监控拷贝方法的一个实施例的示意图。服务器实时监测剪贴板中的是否存在内容,若存在内容,则需要将该内容与数据库中的机密信息进行匹配,若属于机密信息则需要发送自动清空指令给客户端,客户端自动执行清空剪贴板命令。若不属于机密信息则正常运行。自动清空剪贴板技术就是通过Service监听Android原生系统提供的ClipboardManager.OnPrimaryClipChangedListeneron中的PrimaryClipChanged()方法,每当监测到ClipData对象有内容时,就自动赋值为null;如果想要恢复剪贴板正常复制、粘贴功能,选择关闭Service即可。

请参阅图9,图9是进程动态监测方法的一个实施例的示意图。客户端内置了一个恶意软件数据库,用户运行客户端软件时,系统将开启一个新的线程执行恶意软件查杀,首先遍历手机里安装的所有应用程序,获取其包名,在Android中包名是一个应用程序唯一标识.然后对包名运行MD5算法,MD5算法获取的值用SQL语句查询数据库中是否有此记录,如果有则表示该应用程序为恶意软件,扫描完成后会提示发现恶意软件的数目,并提示用户是否清理,如果清理的话会删除所有做了标记的程序。

请参阅图10,图10是判断恶意进程方法的一个实施例的示意图。首先开启线程,遍历手机上所有应用程序,逐个调用isVirus(String md5)找出所有恶意应用的方法scanVirus();清楚所有恶意应用程序的方法cleanVirus();

判断是否是恶意应用程序的方法isVirus(String md5)执行步骤为:首先对手机中的应用程序名运行MD5算法;接着在数据库中查询是否有这条记录;最后根据查询结果判断是否为恶意软件,有这条记录则标记为恶意程序。

开启线程,遍历手机上所有应用程序,逐个调用isVirus(String md5)找出所有恶意应用程序的方法scanVirus()的执行步骤:首先循环获得手机上的应用程序名,并对其运行MD5算法;接着在数据库中查询是否有这条记录;根据查询结果判断是否为恶意程序,有这条记录则标记为恶意程序;然后判断是否为最后一个应用程序名,是则结束,否则,继续获取应用程序名,并对其进行Md5算法。

清除所有恶意应用程序的方法cleanVirus()的执行步骤:首先循环获得手机上的应用程序名;接着在数据库中查询是否有这条记录;然后根据查询结果判断是否为病毒程序,有这条记录则标记为病毒程序;判断是否为最后一个应用程序名,是则结束,否则,继续获取手机上的应用程序名。

本发明非常适合对数据安全与系统效率具双重要求的政府机关、公司企业、开发团队。由于本发明基于Android平台,集成了Android端截屏,剪贴板,URL访问以及进程控制等多种功能,很好地避免了机密数据泄露的风险有着重要的实际应用价值和科学意义。

本文中所描述的具体实施例仅仅是对本发明精神作举例说明。本发明所属技术领域的技术人员可以对所描述的具体实施例做各种各样的修改或补充或采用类似的方式替代,但并不会偏离本发明的精神或者超越所附权利要求书所定义的范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1