CN103971054A - 一种基于行为序列的浏览器扩展漏洞的检测方法 - Google Patents
一种基于行为序列的浏览器扩展漏洞的检测方法 Download PDFInfo
- Publication number
- CN103971054A CN103971054A CN201410172806.9A CN201410172806A CN103971054A CN 103971054 A CN103971054 A CN 103971054A CN 201410172806 A CN201410172806 A CN 201410172806A CN 103971054 A CN103971054 A CN 103971054A
- Authority
- CN
- China
- Prior art keywords
- behavior
- extension
- attack
- propagation behavior
- extended
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 24
- 238000013528 artificial neural network Methods 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims abstract description 13
- 238000001514 detection method Methods 0.000 claims abstract description 11
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 10
- 238000004088 simulation Methods 0.000 claims description 2
- 230000015572 biosynthetic process Effects 0.000 claims 1
- 238000012163 sequencing technique Methods 0.000 claims 1
- 230000006399 behavior Effects 0.000 abstract description 68
- 230000006870 function Effects 0.000 abstract description 7
- 238000013473 artificial intelligence Methods 0.000 abstract description 3
- 230000002950 deficient Effects 0.000 abstract description 2
- 230000007246 mechanism Effects 0.000 description 6
- 238000011160 research Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- VYZAMTAEIAYCRO-UHFFFAOYSA-N Chromium Chemical compound [Cr] VYZAMTAEIAYCRO-UHFFFAOYSA-N 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 238000003780 insertion Methods 0.000 description 2
- 230000037431 insertion Effects 0.000 description 2
- 230000009467 reduction Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 241001101720 Murgantia histrionica Species 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 238000011900 installation process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
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)
- Computer And Data Communications (AREA)
Abstract
本发明公开了一种基于行为序列的浏览器扩展漏洞的检测方法,该方法包括以下步骤:步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为;步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类和化简;步骤三、总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型;步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已经曝光的扩展行为中存在的漏洞,实现检测。与现有技术相比,本发明基于人工智能模式实现了自动化的浏览器扩展上的漏洞检测,防止Firefox浏览器及其类似浏览器收到恶意或存在缺陷的扩展行为的攻击造成的网络安全危害。
Description
技术领域
本发明涉及浏览器安全技术领域,特别是涉及浏览器扩展漏洞的检测方法。
背景技术
浏览器扩展是一种使浏览器功能更加丰富、界面更加美观的机制。但是,一个比较常见的误解是扩展等同于插件。事实上,浏览器扩展跟插件不同,插件是用来显示特殊多媒体内容的组件,例如flash插件、video插件等,而扩展为浏览器增加新功能特性,使得浏览器能够满足个性化的需求。
例如:Firefox的扩展机制如图1所示。XPInstall模块负责解析浏览器扩展的RDF文件,并正确安装扩展,安装过程中可能需要调用XPCOM接口。一个扩展一旦被安装到Firefox浏览器中,就会交由XULRunner平台来负责控制其运行。扩展的运行过程中还需要Chrome注册模块的支持。在Firefox运行时,扩展的Chrome信息被加载到注册模块中,再交由XULRunner来解析、渲染。
通过对Firefox扩展系统结构进行分析,可以发现该机制存在两个明显的设计缺陷:1、扩展之间互不隔离;2、Firefox授予扩展极高的信任级别。扩展之间互不隔离导致恶意扩展可以修改其他扩展的行为以躲避对攻击行为的追踪。扩展被授予极高的信任级别,使得扩展能获得跟Firefox本身同样的特权。这允许扩展可以进行一些例如访问网络、启动进程、访问本地文件等敏感操作。一旦被攻击,恶意扩展或存在缺陷的扩展可能给用户造成极大的危害。
近年来人们陆续发现浏览器扩展中存在的安全漏洞,也意识到了浏览器扩展机制的设计缺陷。关于浏览器扩展的安全问题,研究人员已经取得了一定的研究成果。 一方面,有一些研究机构提出了对浏览器扩展的改进方案;另一方面,有一些研究机构分析总结了浏览器扩展中存在的安全问题。这些研究工作让人们对浏览器的安全现状有了一个更加清晰的认识,也提高了用户的警惕性,为后续研究工作提供了宝贵的借鉴作用。但是对于现有的大量浏览器扩展,目前还没有自动化检测其中漏洞的方法或工具。
本发明正是根据上述问题,研究浏览器扩展的安全现状,将人工智能领域的基于神经网络的图模型算法用于浏览器扩展行为序列的约简以及建模,以使检测的自动化成为可能,旨在设计出一种方法或工具能够自动化检测浏览器扩展的漏洞。
发明内容
为了克服上述现有技术存在的问题,本发明提出了一种基于行为序列的浏览器扩展漏洞的检测方法,以Firefox浏览器扩展为研究对象,通过自动测试Firefox扩展库上的所有类别的浏览器扩展的行为,并用测试知识库收集总结了浏览器扩展漏洞和不安全实践;对浏览器扩展存在的安全问题及浏览器扩展机制的设计缺陷进行了调查研究,目的是找出浏览器扩展中所有不安全行为,属于安全领域。
一种基于行为序列的浏览器扩展漏洞的检测方法,该方法包括以下步骤:
步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为,按调用时间先后顺序形成扩展行为序列;
步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类,并划分安全等级包括“高”、“中”、“低”以及“无”四个安全等级,只留下安全等级为“高”、“中”、“低”的扩展行为,将安全等级为“无”的扩展行为化简掉;
步骤三、,总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型;
步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已 经曝光的扩展行为中存在的漏洞,实现检测。
与现有技术相比,本发明基于人工智能模式实现了自动化的浏览器扩展上的漏洞检测,防止Firefox浏览器及其类似浏览器收到恶意或存在缺陷的扩展行为的攻击造成的网络安全危害。。
附图说明
图1为现有技术的Firefox扩展机制示意图;
图2为攻击者知识学习过程;
图3为一个有5个节点的有向图示意;
图4为输出网络结构示意图;
图5为基于神经网络的有向图模型结构示意图;
图6为本发明实施例的基于行为序列的浏览器扩展漏洞的检测过程。
具体实施方式
下面将结合附图对本发明具体实施方式作进一步地详细描述。
如图2所示,本发明的基于行为序列的浏览器扩展漏洞的检测方法,包括采集扩展行为信息、基于图形神经网络的建模、化简有向图、检测安全漏洞。首先通过在Firefox源代码中插桩来截获浏览器扩展在运行中请求的接口调用,这些接口调用的请求被抽象成浏览器扩展的行为;采集到的扩展行为被建模成基于神经网络的图模型,经过分类、划分安全等级、约简处理;最后,在攻击特征知识库的辅助下,检测可疑的扩展行为序列。
一、扩展行为的采集和分类
1-1、在起到桥接作用的XPConnect层进行插桩(hook函数),以拦截对XPCOM组件的调用请求,将拦截到的调用请求抽象为扩展的行为;
1-2、分析Firefox20.0浏览器提供的1948个XPConnect层的接口,按照每个接 口提供的功能,将其抽象为57种扩展行为,并把这些扩展行为作为基础单元;
1-3、分析这57种扩展行为所实现的功能跟安全性的关系,并将其划分为4个安全等级:H(高)表示该扩展行为与安全密切相关、M(中)表示该扩展行为可能造成一定的安全隐患、L(低)表示该扩展行为造成安全隐患的可能性很低、N(无)表示该扩展行为基本与安全无关。二、基于神经网络的有向图模型的构建
2-1、定义有向图G=(V,E),其中V是节点的集合,E是边的集合。图3表示一个有5个节点的有向图,图中每个节点被标注为随机产生不重复的ln∈Rc;
2-2、每个节点n对应一个状态向量xn,且有xn∈Rs,用来表示该节点的特征(即该节点的相邻节点、度、标签等)。这里的度是图中与该节点相连接的边的数目,标签为XPCOM接口调用信息。一个节点的s维状态向量是由前馈神经网络(也称传递网络)来计算的,传递网络实现了传递函数fw:
xn=fw(ln,xng[n],lng[n] (1)
=Σu∈ng[u]hw(ln,xu,lu) (2)
对每个节点n:hw是状态、标签和邻居节点标签的函数,ln表示当前节点的标签,xng[n]为当前节点相邻节点的状态集合,lng[n]为当前节点相邻节点的标签集合,每个节点关联一个前馈神经网络。该前馈神经网络的外部输入的数量等于该节点的相邻节点的数量,即xu,lu的维度等于相邻节点的数量。
2-3、把上述各节点前馈神经网络作为计算单元,在图的拓扑结构上加以考察,从时间维度就可以得到一个递归神经网络,以该递归网络中每个节点的最终稳定输出和该节点的标记作为输入,就可以得到每个节点的最终结果。如图4和图5所示。
三、大规模有向图模型的化简
1、在对每个行为都标注安全等级之后,一些安全等级为N(无)的行为将被从行为序列中剔除出去;
2、行为序列抽象;
3、基于规则约简。
四、利用子图匹配算法实现可疑扩展行为的检测
将待检测的扩展行为序列和攻击特征知识库存储的攻击特征行为都建模为有向图之后,对可疑行为序列的检测就转化为一个子图匹配的问题。攻击特征知识库中也是存储扩展行为序列,只是这些扩展行为序列表征了某一个攻击过程。
子图匹配算法是模拟有限状态自动机的运行。有穷自动机(也称有限自动机)作为一种识别装置,能准确地识别某些规则集合,即识别规则文法所定义的语言与规则表达式所表示的集合。如图6所示(RulesforAttacksBehaviors:攻击行为的规则;BehaviorsSequences:行为序列;Rule:规则;NFA:不确定有穷自动机;DFA:确定有穷自动机;MinimizeDFA:最小化确定有穷自动机;DFASimulation:确定有穷自动机仿真,Suspicioussequence(attacks):可疑行为序列(攻击))。
用来进行子图匹配的有穷自动机(DFA)M是一个五元式:M=(S,∑,δ,s0,F)其中S是一个有限集,它的每个元素称为一个状态,状态包括attack、attack*(任何一个特定的攻击)、behavior、behavior*(任何一个特定的行为)和‘*’(字符),∑是一个有穷字母表,它的每个元素是一个输入字符;δ是一个从S×∑至S的单值映射。δ(s,a)=s’意味着:当现行状态为s、输入字符为a时,将转换到下一个状态s’。我们称s’为s的一个后继状态,每个δ就是一条规则;s0∈S,是唯一的初态;是一个终态集,里面包括的就是attack,如果有攻击存在的话。
将攻击特征行为都定义为规则,从大规模的扩展行为序列中检测到的符合规则的片段,即为可疑行为。首先定义攻击的规则,即定义表示攻击特征的正则表达式:
*nullnsIIOservice2*nsIURI*nsILocalFile* (1)
*nsILocalFile*nsIProcess*nsIProcess* (2)
*nsIPrefBranch*nsIPrefLocalizedString* (3)
通过分析已经曝光的扩展行为中存在的漏洞,如InfoRSS,Yoono,unity-firefox-extension,Firebug等,总结出目前发现的主要的攻击过程都有一定的相似性。攻击的过程一般可以分为两个部分,第一部分是用户输入行为,第二部分是造成危害的行为。因为在形式化的时候,可以将每个攻击都分成两段,即用户输入行为部分和造成危害的部分,这样两个部分都可以列举,就能解决攻击库不能完备的问题。
具体实施例:本发明通过插桩拦截扩展对底层XPCOM组件的调用信息,并将其抽象为扩展行为,按调用时间先后顺序形成行为序列。行为被分类并划分安全等级,根据安全等级进行化简,然后采用基于神经网络的图模型来建模并检测扩展的行为。基于本发明算法,设计并实现了BSB-Detecter,在攻击行为特征序列知识库的支持下,可以检测4种漏洞以及7种不安全实践,在待检测140个扩展中,一共检查到26个安全漏洞,其中17个经过手工验证,误报率为34.6%,漏洞检测的结果如表1所示。检查到不安全实践177个,其中经过验证的172个。
Update漏洞被检测到的个数最多14例,经过手工验证的有10个,误报率为28.6%。涉及的扩展有:GoogleToolbar、GoogleBrowserSync、YahooToolbar、Del.icio.us、FacebookToolbar、AOLToolbar、Ask.comToolbar、LinkedInBrowser Toolbar、NetcraftAnti-PhishingToolbar、PhishTankSiteChecker。
Claims (1)
1.一种基于行为序列的浏览器扩展漏洞的检测方法,其特征在于,该方法包括以下步骤:
步骤一、通过在XPConnect层进行插桩,拦截XPCOM组件的调用请求,将该调用请求抽象为扩展行为,按调用时间先后顺序形成扩展行为序列;
步骤二、对组成扩展行为序列的各扩展行为按照功能进行分类,并划分安全等级包括“高”、“中”、“低”以及“无”四个安全等级,只留下安全等级为“高”、“中”、“低”的扩展行为,将安全等级为“无”的扩展行为化简掉;
步骤三、,总结出目前发现的主要的攻击过程都有一定的相似性的扩展行为组成攻击特征知识库,采用基于神经网络算法,将各扩展行为和攻击特征知识库中的表征攻击过程的扩展行为都建立有向图模型;
步骤四、最后,利用子图匹配算法是模拟有限状态自动机的运行,通过分析已经曝光的扩展行为中存在的漏洞,实现检测。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410172806.9A CN103971054A (zh) | 2014-04-25 | 2014-04-25 | 一种基于行为序列的浏览器扩展漏洞的检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410172806.9A CN103971054A (zh) | 2014-04-25 | 2014-04-25 | 一种基于行为序列的浏览器扩展漏洞的检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103971054A true CN103971054A (zh) | 2014-08-06 |
Family
ID=51240536
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410172806.9A Pending CN103971054A (zh) | 2014-04-25 | 2014-04-25 | 一种基于行为序列的浏览器扩展漏洞的检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103971054A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其系统 |
CN107798245A (zh) * | 2017-11-02 | 2018-03-13 | 北京理工大学 | 一种基于组件依赖图的软件安全漏洞预测方法 |
CN108092948A (zh) * | 2016-11-23 | 2018-05-29 | 中国移动通信集团湖北有限公司 | 一种网络攻击模式的识别方法和装置 |
CN110008710A (zh) * | 2019-04-15 | 2019-07-12 | 上海交通大学 | 基于深度强化学习和程序路径插桩的漏洞检测方法 |
CN111931187A (zh) * | 2020-08-13 | 2020-11-13 | 深信服科技股份有限公司 | 一种组件漏洞检测方法、装置、设备及可读存储介质 |
CN112685314A (zh) * | 2021-01-05 | 2021-04-20 | 广州知图科技有限公司 | 一种JavaScript引擎安全测试方法及测试系统 |
CN114647848A (zh) * | 2022-03-14 | 2022-06-21 | 西北大学 | 一种基于动态行为构图的浏览器挖矿检测方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976313A (zh) * | 2010-09-19 | 2011-02-16 | 四川大学 | 基于频繁子图挖掘的异常入侵检测方法 |
CN102156832A (zh) * | 2011-03-25 | 2011-08-17 | 天津大学 | 一种Firefox扩展的安全缺陷检测方法 |
CN102662840A (zh) * | 2012-03-31 | 2012-09-12 | 天津大学 | Firefox浏览器扩展行为自动检测系统及方法 |
-
2014
- 2014-04-25 CN CN201410172806.9A patent/CN103971054A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101976313A (zh) * | 2010-09-19 | 2011-02-16 | 四川大学 | 基于频繁子图挖掘的异常入侵检测方法 |
CN102156832A (zh) * | 2011-03-25 | 2011-08-17 | 天津大学 | 一种Firefox扩展的安全缺陷检测方法 |
CN102662840A (zh) * | 2012-03-31 | 2012-09-12 | 天津大学 | Firefox浏览器扩展行为自动检测系统及方法 |
Non-Patent Citations (2)
Title |
---|
王建刚等: "《浏览器扩展行为监控系统的设计与实现》", 《计算机应用研究》 * |
许光全等: "《基于特征行为序列的浏览器扩展攻击检测方法》", 《中国科技论文在线》 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108092948A (zh) * | 2016-11-23 | 2018-05-29 | 中国移动通信集团湖北有限公司 | 一种网络攻击模式的识别方法和装置 |
CN108092948B (zh) * | 2016-11-23 | 2021-04-02 | 中国移动通信集团湖北有限公司 | 一种网络攻击模式的识别方法和装置 |
CN107516041A (zh) * | 2017-08-17 | 2017-12-26 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其系统 |
CN107516041B (zh) * | 2017-08-17 | 2020-04-03 | 北京安普诺信息技术有限公司 | 基于深度神经网络的WebShell检测方法及其系统 |
CN107798245A (zh) * | 2017-11-02 | 2018-03-13 | 北京理工大学 | 一种基于组件依赖图的软件安全漏洞预测方法 |
CN107798245B (zh) * | 2017-11-02 | 2020-08-11 | 北京理工大学 | 一种基于组件依赖图的软件安全漏洞预测方法 |
CN110008710A (zh) * | 2019-04-15 | 2019-07-12 | 上海交通大学 | 基于深度强化学习和程序路径插桩的漏洞检测方法 |
CN110008710B (zh) * | 2019-04-15 | 2022-11-18 | 上海交通大学 | 基于深度强化学习和程序路径插桩的漏洞检测方法 |
CN111931187A (zh) * | 2020-08-13 | 2020-11-13 | 深信服科技股份有限公司 | 一种组件漏洞检测方法、装置、设备及可读存储介质 |
CN112685314A (zh) * | 2021-01-05 | 2021-04-20 | 广州知图科技有限公司 | 一种JavaScript引擎安全测试方法及测试系统 |
CN112685314B (zh) * | 2021-01-05 | 2024-11-26 | 广州知图科技有限公司 | 一种JavaScript引擎安全测试方法及测试系统 |
CN114647848A (zh) * | 2022-03-14 | 2022-06-21 | 西北大学 | 一种基于动态行为构图的浏览器挖矿检测方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3454230B1 (en) | Access classification device, access classification method, and access classification program | |
US11574052B2 (en) | Methods and apparatus for using machine learning to detect potentially malicious obfuscated scripts | |
CN103971054A (zh) | 一种基于行为序列的浏览器扩展漏洞的检测方法 | |
CN114077741B (zh) | 软件供应链安全检测方法和装置、电子设备及存储介质 | |
Han et al. | Hardware trojans detection at register transfer level based on machine learning | |
Sun et al. | Malware family classification method based on static feature extraction | |
US20160219068A1 (en) | Method and apparatus for automatically identifying signature of malicious traffic using latent dirichlet allocation | |
Bagane et al. | Classification of Malware using Deep Learning Techniques | |
CN101266550A (zh) | 一种恶意代码检测方法 | |
CN113935033A (zh) | 特征融合的恶意代码家族分类方法、装置和存储介质 | |
CN111881446B (zh) | 一种工业互联网恶意代码识别方法及装置 | |
CN112685735A (zh) | 用于检测异常数据的方法、设备和计算机可读存储介质 | |
CN103679034B (zh) | 一种基于本体的计算机病毒分析系统及其特征提取方法 | |
US20240354424A1 (en) | System and methods for unbiased transformer source code vulnerability learning with semantic code graph | |
CN113901465A (zh) | 一种基于异质网络的Android恶意软件检测方法 | |
CN110362995A (zh) | 一种基于逆向与机器学习的恶意软件检测及分析系统 | |
CN108171054A (zh) | 一种针对社交欺骗的恶意代码的检测方法及系统 | |
CN106169050B (zh) | 一种基于网页知识发现的PoC程序提取方法 | |
CN110334510A (zh) | 一种基于随机森林算法的恶意文件检测技术 | |
CN113901463B (zh) | 面向概念漂移的可解释Android恶意软件检测方法 | |
KR101863569B1 (ko) | 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치 | |
KR101893029B1 (ko) | 머신 러닝 기반의 취약점 정보를 분류하는 방법 및 장치 | |
CN108875374B (zh) | 基于文档节点类型的恶意pdf检测方法及装置 | |
CN117540367A (zh) | 一种基于行为序列和语言模型的攻击调查方法 | |
CN111079145B (zh) | 基于图处理的恶意程序检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140806 |