一种基于行为序列的浏览器扩展漏洞的检测方法

文档序号:6544920阅读:153来源:国知局
一种基于行为序列的浏览器扩展漏洞的检测方法
【专利摘要】本发明公开了一种基于行为序列的浏览器扩展漏洞的检测方法,该方法包括以下步骤:步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为;步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类和化简;步骤三、总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型;步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已经曝光的扩展行为中存在的漏洞,实现检测。与现有技术相比,本发明基于人工智能模式实现了自动化的浏览器扩展上的漏洞检测,防止Firefox浏览器及其类似浏览器收到恶意或存在缺陷的扩展行为的攻击造成的网络安全危害。
【专利说明】 一种基于行为序列的浏览器扩展漏洞的检测方法
【技术领域】
[0001]本发明涉及浏览器安全【技术领域】,特别是涉及浏览器扩展漏洞的检测方法。
【背景技术】
[0002]浏览器扩展是一种使浏览器功能更加丰富、界面更加美观的机制。但是,一个比较常见的误解是扩展等同于插件。事实上,浏览器扩展跟插件不同,插件是用来显示特殊多媒体内容的组件,例如flash插件、video插件等,而扩展为浏览器增加新功能特性,使得浏览器能够满足个性化的需求。
[0003]例如:Firefox的扩展机制如图1所示。XPInstall模块负责解析浏览器扩展的RDF文件,并正确安装扩展,安装过程中可能需要调用XPCOM接口。一个扩展一旦被安装到Firefox浏览器中,就会交由XULRunner平台来负责控制其运行。扩展的运行过程中还需要Chrome注册模块的支持。在Firefox运行时,扩展的Chrome信息被加载到注册模块中,再交由XULRunner来解析、渲染。
[0004]通过对Firefox扩展系统结构进行分析,可以发现该机制存在两个明显的设计缺陷:1、扩展之间互不隔离;2、Firef0X授予扩展极高的信任级别。扩展之间互不隔离导致恶意扩展可以修改其他扩展的行为以躲避对攻击行为的追踪。扩展被授予极高的信任级别,使得扩展能获得跟Firefox本身同样的特权。这允许扩展可以进行一些例如访问网络、启动进程、访问本地文件等敏感操作。一旦被攻击,恶意扩展或存在缺陷的扩展可能给用户造成极大的危害。
[0005]近年来人们陆续发现浏览器扩展中存在的安全漏洞,也意识到了浏览器扩展机制的设计缺陷。关于浏览器扩展的安全问题,研究人员已经取得了一定的研究成果。一方面,有一些研究机构提出了对浏览器扩展的改进方案;另一方面,有一些研究机构分析总结了浏览器扩展中存在的安全问题。这些研究工作让人们对浏览器的安全现状有了一个更加清晰的认识,也提高了用户的警惕性,为后续研究工作提供了宝贵的借鉴作用。但是对于现有的大量浏览器扩展,目前还没有自动化检测其中漏洞的方法或工具。
[0006]本发明正是根据上述问题,研究浏览器扩展的安全现状,将人工智能领域的基于神经网络的图模型算法用于浏览器扩展行为序列的约简以及建模,以使检测的自动化成为可能,旨在设计出一种方法或工具能够自动化检测浏览器扩展的漏洞。

【发明内容】

[0007]为了克服上述现有技术存在的问题,本发明提出了一种基于行为序列的浏览器扩展漏洞的检测方法,以Firefox浏览器扩展为研究对象,通过自动测试Firefox扩展库上的所有类别的浏览器扩展的行为,并用测试知识库收集总结了浏览器扩展漏洞和不安全实践;对浏览器扩展存在的安全问题及浏览器扩展机制的设计缺陷进行了调查研究,目的是找出浏览器扩展中所有不安全行为,属于安全领域。
[0008]一种基于行为序列的浏览器扩展漏洞的检测方法,该方法包括以下步骤:[0009]步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为,按调用时间先后顺序形成扩展行为序列;
[0010]步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类,并划分安全等级包括“高”、“中”、“低”以及“无”四个安全等级,只留下安全等级为“高”、“中”、“低”的扩展行为,将安全等级为“无”的扩展行为化简掉;
[0011]步骤三、,总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型;
[0012]步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已经曝光的扩展行为中存在的漏洞,实现检测。
[0013]与现有技术相比,本发明基于人工智能模式实现了自动化的浏览器扩展上的漏洞检测,防止Firefox浏览器及其类似浏览器收到恶意或存在缺陷的扩展行为的攻击造成的网络安全危害。。
【专利附图】

【附图说明】
[0014]图1为现有技术的Firefox扩展机制示意图;
[0015]图2为攻击者知识学习过程;
[0016]图3为一个有5个节点的有向图示意;
[0017]图4为输出网络结构示意图;
[0018]图5为基于神经网络的有向图1旲型结构不意图;
[0019]图6为本发明实施例的基于行为序列的浏览器扩展漏洞的检测过程。
【具体实施方式】
[0020]下面将结合附图对本发明【具体实施方式】作进一步地详细描述。
[0021]如图2所示,本发明的基于行为序列的浏览器扩展漏洞的检测方法,包括采集扩展行为信息、基于图形神经网络的建模、化简有向图、检测安全漏洞。首先通过在Firefox源代码中插桩来截获浏览器扩展在运行中请求的接口调用,这些接口调用的请求被抽象成浏览器扩展的行为;采集到的扩展行为被建模成基于神经网络的图模型,经过分类、划分安全等级、约简处理;最后,在攻击特征知识库的辅助下,检测可疑的扩展行为序列。
[0022]一、扩展行为的采集和分类
[0023]1-1、在起到桥接作用的XPConnect层进行插桩(hook函数),以拦截对XPCOM组件的调用请求,将拦截到的调用请求抽象为扩展的行为;
[0024]1-2、分析Firefox20.0浏览器提供的1948个XPConnect层的接口,按照每个接口提供的功能,将其抽象为57种扩展行为,并把这些扩展行为作为基础单元;
[0025]1-3、分析这57种扩展行为所实现的功能跟安全性的关系,并将其划分为4个安全等级:H(高)表示该扩展行为与安全密切相关、M(中)表示该扩展行为可能造成一定的安全隐患、L(低)表示该扩展行为造成安全隐患的可能性很低、N(无)表示该扩展行为基本与安全无关。二、基于神经网络的有向图模型的构建
[0026]2-1、定义有向图G= (V,E),其中V是节点的集合,E是边的集合。图3表示一个有5个节点的有向图,图中每个节点被标注为随机产生不重复的In e Re;
[0027]2-2、每个节点η对应一个状态向量Xn,且有Xn e Rs,用来表示该节点的特征(即该节点的相邻节点、度、标签等)。这里的度是图中与该节点相连接的边的数目,标签为XPCOM接口调用信息。一个节点的s维状态向量是由前馈神经网络(也称传递网络)来计算的,传递网络实现了传递函数fw:
[0028]xn=fw(ln,xng[n],


Ing [η] (I)
[0029]= 2ueng[u]hw(ln,xu, lu) (2)
[0030]对每个节点η:hw是状态、标签和邻居节点标签的函数,In表示当前节点的标签,Xng[n]为当前节点相邻节点的状态集合,Ingh]为当前节点相邻节点的标签集合,每个节点关联一个前馈神经网络。该前馈神经网络的外部输入的数量等于该节点的相邻节点的数量,即xu,Iu的维度等于相邻节点的数量。
[0031]2-3、把上述各节点前馈神经网络作为计算单元,在图的拓扑结构上加以考察,从时间维度就可以得到一个递归神经网络,以该递归网络中每个节点的最终稳定输出和该节点的标记作为输入,就可以得到每个节点的最终结果。如图4和图5所示。
[0032]三、大规模有向 图模型的化简
[0033]1、在对每个行为都标注安全等级之后,一些安全等级为N(无)的行为将被从行为序列中剔除出去;
[0034]2、行为序列抽象;
[0035]3、基于规则约简。
[0036]四、利用子图匹配算法实现可疑扩展行为的检测
[0037]将待检测的扩展行为序列和攻击特征知识库存储的攻击特征行为都建模为有向图之后,对可疑行为序列的检测就转化为一个子图匹配的问题。攻击特征知识库中也是存储扩展行为序列,只是这些扩展行为序列表征了某一个攻击过程。
[0038]子图匹配算法是模拟有限状态自动机的运行。有穷自动机(也称有限自动机)作为一种识别装置,能准确地识别某些规则集合,即识别规则文法所定义的语言与规则表达式所表示的集合。如图6所示(RulesforAttacksBehaviors:攻击行为的规则;BehaviorsSequences:行为序列;Rule:规则;NFA:不确定有穷自动机;DFA:确定有穷自动机;MinimizeDFA:最小化确定有穷自动机;DFASimulation:确定有穷自动机仿真,Suspicioussequence (attacks):可疑行为序列(攻击))。
[0039]用来进行子图匹配的有穷自动机(DFA)M是一个五元式:M = (S,Σ,δ,s0, F)其中S是一个有限集,它的每个元素称为一个状态,状态包括attack、attack* (任何一个特定的攻击)、behavior、behavior* (任何一个特定的行为)和(字符),Σ是一个有穷字母表,它的每个元素是一个输入字符;S是一个从SX Σ至S的单值映射。S(s,a) =s’意味着:当现行状态为S、输入字符为a时,将转换到下一个状态s’。我们称s’为s的一个后继状态,每个S就是一条规则;s0 e S,是唯一的初态;FeS,是一个终态集,里面包括的就是attack,如果有攻击存在的话。
[0040]将攻击特征行为都定义为规则,从大规模的扩展行为序列中检测到的符合规则的片段,即为可疑行为。首先定义攻击的规则,即定义表示攻击特征的正则表达式:
[0041]*nullnsI10service2*nsIURI*nsILocalFiIe*(I)[0042]*nsILocalFile*nsIProcess*nsIProcess* (2)
[0043]*nsIPrefBranch^nsIPrefLocalizedString*(3)
[0044]通过分析已经曝光的扩展行为中存在的漏洞,如InfoRSS,Yoono,unity-firefox-extension, Firebug等,总结出目前发现的主要的攻击过程都有一定的相似性。攻击的过程一般可以分为两个部分,第一部分是用户输入行为,第二部分是造成危害的行为。因为在形式化的时候,可以将每个攻击都分成两段,即用户输入行为部分和造成危害的部分,这样两个部分都可以列举,就能解决攻击库不能完备的问题。
[0045]具体实施例:本发明通过插桩拦截扩展对底层XPCOM组件的调用信息,并将其抽象为扩展行为,按调用时间先后顺序形成行为序列。行为被分类并划分安全等级,根据安全等级进行化简,然后采用基于神经网络的图模型来建模并检测扩展的行为。基于本发明算法,设计并实现了 BSB-Detecter,在攻击行为特征序列知识库的支持下,可以检测4种漏洞以及7种不安全实践,在待检测140个扩展中,一共检查到26个安全漏洞,其中17个经过手工验证,误报率为34.6%,漏洞检测的结果如表1所示。检查到不安全实践177个,其中经过验证的172个。 [0046]Update漏洞被检测到的个数最多14例,经过手工验证的有10个,误报率为 28.6 %。涉及的扩展有:GoogleToolbar、Googl eBrowserSync> YahooToolbar、Del.1ci0.us、FacebookTooIbar> AOLToolbar、Ask.comToolbar、LinkedInBrowser Toolbar、NetcraftAnt1-PhishingToolbar、PhishTankSiteChecker0
【权利要求】
1.一种基于行为序列的浏览器扩展漏洞的检测方法,其特征在于,该方法包括以下步骤: 步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为,按调用时间先后顺序形成扩展行为序列; 步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类,并划分安全等级包括“高”、“中”、“低”以及“无”四个安全等级,只留下安全等级为“高”、“中”、“低”的扩展行为,将安全等级为“无”的扩展行为化简掉; 步骤三、,总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型; 步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已经曝光的扩展行为中存在的漏洞,实现检测。
【文档编号】G06F21/56GK103971054SQ201410172806
【公开日】2014年8月6日 申请日期:2014年4月25日 优先权日:2014年4月25日
【发明者】李晓红, 田冬冬, 张蕾, 孙达志, 王俊杰 申请人:天津大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1