一种基于Android的隐蔽通道攻击审计与侦测方法

文档序号:8457506阅读:174来源:国知局
一种基于Android的隐蔽通道攻击审计与侦测方法
【技术领域】
[0001]本发明属于计算机系统安全技术领域,更具体地,涉及一种基于Android的隐蔽通道攻击审计与侦测方法。
【背景技术】
[0002]随着智能手机的普及与功能的完善,智能手机内部存储了越来越多的敏感数据信息,例如账户信息、联系人信息等。面对针对智能手机频发的敏感数据窃取手段,这些数据的安全显得愈发重要,需要不断的研宄具有针对性的应对措施。
[0003]在各类隐私数据窃取的手段当中,隐蔽通道攻击具有极强的隐蔽性。其通过高权限与低权限应用程序的共谋,借助系统共享资源的可被观察与改变的状态,绕过操作系统基于权限的安全机制,使未申请相关权限的应用程序可以非法获取被权限保护的敏感数据。传统的恶意应用程序查杀工具,只针对每个恶意程序进行单独扫描,缺乏对隐蔽通道攻击特性的审查,无法识别该类攻击的特征。
[0004]针对上述问题,曾有方案依靠于强制访问控制框架,通过静态制定策略对承载隐蔽通道攻击数据媒介的共享资源进行严格的访问控制,以避免隐蔽通道攻击的产生。但该类方案限制了系统共享资源的使用,损坏了共享资源的可用性,对应用程序的正常运行会造成不必要的负面影响。

【发明内容】

[0005]针对现有技术的以上缺陷或改进需求,本发明提供一种基于Android的隐蔽通道攻击审计与侦测方法,用于在系统运行时动态审计隐蔽通道攻击的存在,并采取对相关系统共享资源进行有针对性的状态改变,从而扰乱隐蔽通道传输的数据内容,防止敏感数据的泄露。
[0006]本发明提供一种基于Android的隐蔽通道攻击审计与侦测方法,包括以下步骤:
[0007]步骤I注册用户描述的所要审计的目标隐蔽通道,其中,对所述目标隐蔽通道的描述包括系统共享资源路径和对共享资源状态的改变操作原语与读取操作原语;
[0008]步骤2读取所述目标隐蔽通道的描述,并生成对应的审计规则和hook函数;
[0009]步骤3监听应用程序对存放敏感数据的数据存放组件的访问行为,并为被应用程序访问过的敏感数据建立档案,所述档案包含被访问敏感数据的数据类型以及访问该敏感数据的应用程序UID;
[0010]步骤4监控应用程序对已注册的目标隐蔽通道对应的系统共享资源的访问,并将访问者的UID与所述档案进行匹配,若一个应用程序访问了所述目标隐蔽通道对应的系统共享资源,且其UID在所述档案中有记录,则为该应用程序本次以及后续的系统共享资源访问操作生成记录,然后执行步骤5,否则不记录此次应用程序对系统共享资源的访问操作,并重复该步骤;
[0011 ] 步骤5当有另一应用程序访问了所述步骤4中的应用程序访问过的目标隐蔽通道对应的系统共享资源,且其权限低于步所述骤4中先访问同一项系统共享资源的应用程序的权限,则针对这个低权限应用程序,生成并维护所述低权限应用程序对相关系统共享资源的访问记录;
[0012]步骤6根据所述步骤4与所述步骤5生成的各个系统共享资源访问记录审计具有较高权限应用程序与所述低权限应用程序对相同系统共享资源的访问,并估算在每一对高权限与低权限应用程序之间,通过所述目标隐蔽通道对应的系统共享资源所隐蔽传输的数据量,当估算的隐蔽传输数据量超出设定的阈值时,执行步骤7,否则重复本步骤;
[0013]步骤7对在所述步骤6中承载了超标隐蔽数据传输的目标隐蔽通道对应的系统共享资源的状态进行干扰。
[0014]总体而言,通过本发明所构思的以上技术方案与现有技术相比,具有以下有益效果:
[0015](I)对基于各类共享资源的存储隐蔽通道具有良好的泛用性。相比于一些仅审查固定系统资源的方案,本发明通过审计规则与hook函数的动态生成,支持了对隐蔽通道攻击审计的可定制性;
[0016](2)审计标准拥有良好的可扩展性。本发明采用了模块化架构,对于审计标准采用了模块化封装。只要实现接口中的指定方法,用户便可以根据自己的需求对各类型隐蔽通道开发特定的审计标准,从而提高审计准确率;
[0017](3)对假阳性审计结果的高容忍性。由于本发明采用了针对隐蔽通道的状态干扰而非严格访问控制,使得应用程序对相关共享资源的正常访问不受限制,同时可以有效遏制通过编制共享资源状态而进行的隐蔽数据传输。
【附图说明】
[0018]图1为本发明基于Android的隐蔽通道攻击审计与侦测方法的应用环境示意图;
[0019]图2为本发明基于Android的隐蔽通道攻击审计与侦测方法的流程图;
[0020]图3为本发明决策模块的结构示意图。
【具体实施方式】
[0021]为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
[0022]图1所示为本发明基于Android的隐蔽通道攻击审计与侦测方法的应用环境示意图。用户先对需要审计的隐蔽通道进行定义,在本发明实施例中,隐蔽通道被定义为系统共享资源与对应的修改操作、读取操作所组成的元组。隐蔽通道定义将被发往决策模块和内核审计模块(auditd模块),并由这两个模块解析为与系统调用相关的内核审计规则与java层hook函数。在机器运行过程中,决策模块从应用层hook函数、数据存储组件(Content Provider)监控模块与内核审计模块收集应用程序的敏感数据访问与共享资源使用信息,并审计系统内敏感数据及与目标隐蔽通道相关系统共享资源的访问情况。当内核审计模块在审计过程中估算的经由目标隐蔽通道相关共享资源所传输的数据量(简称隐蔽传输数据量)突破阈值,即认为有隐蔽通道攻击发生,于是决策模块调用位于内核的干扰模块或相关java层hook函数对涉事隐蔽通道相关的共享资源进行状态改变操作(例如改变共享资源值、改变资源描述属性等),以干扰隐蔽通道上的信息传输。当之后的某一个时间窗口内估算的隐蔽传输数据量恢复正常时,则撤销干扰。
[0023]图2为本发明基于Android的隐蔽通道攻击审计与侦测方法的流程图,具体包括以下步骤:
[0024]步骤I根据隐蔽通道的定义,用户对所要审计的目标隐蔽通道进行描述,并注册该目标隐蔽通道,注册后,目标隐蔽通道所对应的每一个系统共享资源会被标注一个唯一的识别号。对目标隐蔽通道的描述包括如下部分:
[0025]1、系统共享资源路径,该系统共享资源可以是系统层的一个共享文件,或者是socket,因为在Android这样基于Linux内核的系统中,一切数据客体都被视为文件,有自身的路径。另外,该共享资源路径项可以为空,因为一些共享资源可以由相关的操作原语与其参数共同指明,例如系统音量这一共享资源,可由Aud1Manager.setStreamVolume方法与参数 Aud1Manager.STREAM_MUSIC 共同表示;
[0026]2、对共享资源状态的改变操作与读取操作原语,即改变或读取该资源状态的操作原语,可以是应用层的java api方法或内核层的系统调用号。
[0027]步骤2隐蔽通道攻击侦测框架(下文简称框架)读取用户的目标隐蔽通道描述,针对位于系统层的目标隐蔽通道相关的系统共享资源,框架通过调用内核审计规则定义工具auditctl在内核审计模块(auditd)中生成审计规则。针对位于应用层的目标隐蔽通道对应的系统共享资源,对改变与读取对应共享资源状态的API函数进行hook。
[0028]步骤3重启系统后,上述审计规则与hook函数生效,同时框架开始监听应用程序对存放敏感数据的数据存放组件(Content Provider)的访问行为,并为被应用程序访问过的敏感数据建立档案,此档案中包含了被访问数据的数据类型以及访问该数据的应用程序UID0
[0029]步骤4框架监控应用程序对步骤I中注册的目标隐蔽通道对应的系统共享资源的访问,并将访问者的UID与上述步骤3建立的档案进行匹配,若当前一个应用程序访问了步骤I中用户定义目标隐蔽通道对应的系统共享资源,且其UID在步骤3建立的档案中有记录,则说明此次访问系统共享资源的应用程序具备敏感数据访问权限,且已访问了相关敏感数据,则为该应用程序本次以及后续的系统共享资源访问操作生成记录,然后执行步骤5;否则不记录此次应用程序对系统共享资源的访问操作,并重复该步骤。
[0030]步骤5当有应用程序访问了步骤4中具备敏感数据访问权限的应用程序访问过的目标隐蔽通道对应的系统共享资源,且此次访问系统共享资源的应用程序的权限低于步骤4中先访问同一项系统共享资源的应用程序的权限,则针对这个低权限应用程序,生成并维护该低权限应用程序对相关系统共享资源的访问记录作为审计记录,该访问记录在一个滑动时间窗口内保存这个低权限应用程序对其在所访问的系统共享资源的此次与后续访问记录。
[0031]步骤6决策模块在由步骤4与步骤5生成的各个系统共享资源访问记录中审计步骤4中的高权限应用程序与步骤5中的低权限应用程序对相同共享资源的访问,并计算访问频度、突发性、交替性等指标,从而估算在每一对高权限与低权限应用程序之间,通过目标隐蔽通道对应的共享资源所传输的数据量。当估算的隐蔽传输数据量超出用户设定的阈值时,执行步骤7,否则重复本步骤。步骤6具体包括以下子步骤:
[0032](6-1)决策模块内部维护一个审计消息队列,同时对每一个目标隐蔽通道对应的系统共享资源维护一个共享资源审计子节点(下文简称审计子节点),一个审计子节点负责审计各应用程序对一项目标隐蔽通道对应系统共享资源的访问操作。决策模块接收从底层审计模块(auditd)以及应用层hook函数提交的审计
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1