




已阅读5页,还剩54页未读, 继续免费阅读
(计算机应用技术专业论文)基于垂直搜索及语义标注的安全缺陷库更新方法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 随着万维网的迅速发展,越来越多的组织、公司在万维网上发布已发现的软 件安全缺陷信息。本文基于垂直搜索技术从网上获取软件安全缺陷信息,并进 步基于语义标注抽取该信息用于更新管理软件安全缺陷库。 研究基于垂直搜索和语义标注更新管理安全缺陷库的方法。首先设计垂直搜 索爬虫从i n t e m e t 上爬取安全缺陷类别及实例、攻击模式、缓和方案、误用例等 软件安全缺陷信息;然后借助g a t e 工具对已下载的网页进行语义标注;最后 通过对标注信息的解析完成信息抽取并添加入库,实现将非结构化的网页安全缺 陷信息转化成满足缺陷库存储格式要求的信息。 在此基础上,设计并实现基于关键字权值过滤算法及广度优先搜索策略的垂 直搜索爬虫工具,该爬虫工具自动多线程下载软件安全缺陷信息网页,过滤安全 缺陷领域无关网页;设计并实现基于网页内容分析算法的领域关键字训练器工 具,该工具为领域搜索爬虫工具提供关键字及其权值;设计并实现基于g a t e 工具对下载网页进行语义标注的词表和j a p e 规则的构建,完成网页中缺陷信息 的语义标注;设计并实现基于j a x p 的语义标注结果解析工具,该工具完成安全 缺陷信息抽取并添加入软件安全缺陷库。 本文实现的这些工具能有效获取网络中软件安全缺陷信息以及完成信息抽 取,为更新管理软件安全缺陷知识库奠定基石。 关键词:安全缺陷垂直搜索网页过滤语义标注信息抽取 a b s t r a c t w i t ht h er a p i dd e v e l o p m e n to ft h ew o r l dw i d ew e b m o r ea n dm o r e o r g a n i z a t i o n sa n dc o m p a n i e dh a v ep u b l i s h e ds o f t w a r es e c u r i t yd e f e c t so nt h ew e b t l l i sp a p e rr e s e a r c h e sh o wt oo b t a i ns o f t w a r es e c u r i t yd e f e c t sf r o mt h ei n t e m e tb a s e d o nv e r t i c a ls e a r c ht e c h n o l o g y ,a n df t l r t h e rt oe x t r a c tt h ei n f o r m a t i o nb a s e do n s e m a n t i ca n n o t a t i o n ,t ou p d a t ea n dm a n a g ed e f e c t sd a t a b a s e t h i sp a p e rr e s e a r c h e st h eu p d a t ea n dm a n a g e m e n to fd e f e c t sd a t a b a s eb a s e do n v e r t i c a ls e a r c hs p i d e ra n ds e m a n t i ca n n o t a t i o n f i r s t l y , d e s i g n i n gav e r t i c a ls e a r c h s p i d e rt oc r a w lw e bp a g e so fs e c u r i t yd e f e c t s ,s u c ha sc a t e g o r i e sa n di n s t a n c e so f s e c u r i t yd e f e c t s ,a t t a c kp a t t e r n s ,m i t i g a t i o n s ,m i s u s ec a s e s e c o n d l y , t a g g i n gt h ew e b p a g e sd o w n l o a d e db a s e do ns e m a n t i ca n n o t a t i o nt h r o u g hg a t et 0 0 1 f i n a l l y ,p a r s i n g t h ei n f o r m a t i o nt a g g e dt of i n i s ht h ee x t r a c t i o no ft h ei n f o r m a t i o no fd e f e c t sa n dt h e n a d di tt od a t a b a s e t or e a l i z et r a n s f o r m i n gu n s t r u c t u r e di n f o r m a t i o n o fd e f e c t so nw e b p a g ei n t ot h ei n f o r m a t i o nw h i c hm e e tt h ef o r m a to fd e f e c td a t a b a s es t o r a g er e q u e s t e d f u r t h e r m o r e ,t h i sp a p e rd e s i g n sa n di m p l e m e n t sav e r t i c a ls e a r c hs p i d e rt o o l b a s e do nk e y w o r dv a l u ef i l t e ra l g o r i t h ma n db r e a d t h f i r s ts e a r c hs t r a t e g y ,w h o s e f u n c t i o ni st oa u t o m a t i cm u l t i - t h r e a d e dd o w n l o a ds e c u r i t yd e f e c t sw e bp a g ea n dt o f i l t e rw e bp a g ew h i c hi sn o tr e l a t e dt ot h ed o m a i no fs e c u r i t yd e f e c t s d e s i g n sa n d i m p l e m e n t sad o m a i nk e y w o r dt r a i n i n gt o o lb a s e do nw e b c o n t e n ta n a l y s i sa l g o r i t h m , w h o s ef u n c t i o ni st op r o v i d et h e 啦蛳k e y w o r d sa n dt h e i rv a l u ef o rt h es p i d e rt 0 0 1 d e s i g n sa n di m p l e m e n t sb u i l d i n gd i c t i o n a r i e sa n dj a p er u l e sb a s e do ng a t et o o l ,t o c o m p l e t et h es e m a n t i ca n n o t a t i o no f d e f e c t si n f o r m a t i o no nt h ew e bp a g e d e s i g n sa n d i m p l e m e n t sar e s u l tp a r s e rt o o lb a s e do nj a x p ,w h o s ef u n c t i o ni st oe x t r a c tt h e d e f e c t si n f o r m a t i o nf r o ma n n o t a t i o nr e s u l t sa n dt h e na d dt ot h ed e f e c t sd a t a b a s e t h e s et o o l sc a ne f f e c t i v e l ya c c e s st h en e t w o r ki n f o r m a t i o ns e c u r i t yd e f e c t sa n d t h ec o m p l e t i o no fi n f o r m a t i o ne x t r a c t i o n ,a n dl a yt h ec o r n e r s t o n ef o rt h eu p d a t e d a t a b a s e k e yw o r d s :s e c u r i t yd e f e c t ,v e r t i c a ls e a r c h , w e bp a g ef i l t e r i n g ,s e m a n t i c a n n o t a t i o n ,i n f o r m a t i o ne x t r a c t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得墨鲞盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位做作者签名:丁酬l 刮签字嗍伊厂 年6 月尹日 学位论文版权使用授权书 本学位论文作者完全了解鑫鲞盘堂有关保留、使用学位论文的规定。 特授权鑫窒盘堂可以将学位论文的全部或部分内容编入有关知识库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:百1 刁i j 问 签字日期:刎7 年6 月牛日 导师签名:枷矿导师签名:倒矿 签字日期:1 年占月争曰 第一章绪论 1 1 课题背景 第一章绪论 在计算机迅速发展的今天,计算机软件的安全特性已经不仅仅是软件的附加 属性,更是本质特性。并且当今网络的迅速发展,软件的可靠性与安全性的要求 更是越来越高,这是因为网络使得计算机应用程序和计算机系统呈现出高度互联 的发展趋势,这种趋势在给1 1 r 行业带来惊人机会的同时,也意味着这些高度互 联的计算机受到攻击的可能性也越大。计算机系统被破坏而瘫痪,关键信息泄漏 而导致巨额经济损失以及其他无形的损失,软件的维护和故障恢复费用变得愈来 愈昂贵,从中都可以看出对计算机的攻击造成的损失十分惨重。 计算机面临的安全问题越来越严重,人们对安全的关注和要求也越来越高。 2 0 0 2 年1 月1 5 号,微软首席架构师比尔盖茨先生提出了“可信计算”l 】的概念, 概括地说明了一种高级策略,也即是如何向用户提供更加安全、可靠的新型计算 机系统,并且能使这些设备和服务时刻为人们提供便利的同时也让人们感觉不到 它们的存在。这一概念的提出,意味着微软将安全这一衡量软件产品的一个重要 指标提高到了显著的位置。为了向用户提供更加安全可靠的应用程序和系统,微 软进行了w i i l d o w s 安全活动主题的一系列安全活动,旨在向广大的开发人员传 授分析,设计,开发,测试,注释,发布和维护安全的软件为了抵挡恶意代 码攻击而设计和开发健壮安全的软件代码,而不再仅仅是实现安全特性的软件代 码。在这一活动过程中,微软改进了传统软件开发生命周期,并提出在开发需要 抵御恶意攻击软件时采用的一套流程,以满足开发安全软件的需求。这就是安全 开发生命周期( s e c u r i t yd e v e l o p m e n tl i f e c y c l e ,s d l ) 【l j 。 为了保证软件能够正常运行,应对软件中存在的缺陷进行有效的管理。当前 已经有很多组织、公司等研究软件安全缺陷,领域垂直搜索也有了很大的发展, 充分利用领域垂直搜索技术收集各大公司、组织发布的已公布的缺陷信息,构建 软件安全缺陷知识库应用于可信软件系统将为安全软件开发开辟新的方向。 1 2 国内外研究现状 在课题研究过程中,对国内外可信计算相关领域的研究做了较好的分析。其 l 第一章绪论 研究内容主要有可信计算平台、可信平台模块的研究、可信支撑软件t s s 、可信 网络等。 从国外来看,比较有成效的有德国达姆施塔特大学的计算机科学与工程系的 知识库和分布式系统组( d a t a b a s e sa n dd i s t r i b u t e ds y s t e m sg r o u p ) ,其中有一项“可 信计划”【2 ( t r u s t e d p r o j e c t ) ,致力于解决与可信分布式系统相关问题。从国内来看, 我国在可信计算方面的研究主要集中在软件、硬件相结合以及网络方面。卓有成 效的有华东师范大学高可信计算基础理论和应用、形式化方法【3 】、嵌入式系统方 法和工具等相关领域的研究。就软件的可信性质来说也有文献给出了一些可信性 质的定义,包括:可靠性( r e l i a b i l i t y ) 、安全性( s a f e t y ) 、保密安全性( s e c u r i t y ) 、生 存性( s u r v i v a b i l i t y ) 、机密性( c o n f i d e n t i a l i t y ) 、完整性( i n t e g r i t y ) 、可维护性 ( m a i n t a i n a b i l i t y ) 等。 在软件工程实践中从需求分析、设计和测试几个方面【4 j 提出了一些方法来试 图从开发的角度获得评估软件的这些性质。例如,在需求分析方面软件安全性分 析技术【5 1 ,在软件设计方面的软件容错技术【6 】,在软件测试方面的软件可靠性测试 技术【7 1 。国际上已经开始将软件开发过程模型与安全软件开发联系起来。但是, 对于软件可信性质度量,软件过程中进行工程化的跟踪方法,过程控制策略和技术 手段现在都很缺乏【8 1 。程序设计语言与软件工程技术有密切的联系【9 】。程序设计 语言的变革历来都是计算机科学中里程碑式的进步,从程序设计语言的角度来支 持高可信软件开发是一个具有挑战性的课题。 1 3 课题内容及创新点 随着网络的迅速发展,越来越多的组织、公司在网络上发布已发现的软件安 全缺陷信息。本文研究基于垂直搜索技术获取软件安全缺陷信息,并进一步基于 语义标注抽取安全缺陷信息用于构建更新软件安全缺陷知识库,缺陷库作为可信 软件辅助系统的基础。 本文研究获取软件安全缺陷信息更新管理安全缺陷知识库。首先提出从资源 丰富的i n t e r n e t 中获取安全缺陷信息用于构建缺陷知识库。基于垂直搜索技术 设计针对安全缺陷领域的网络爬虫自动获取各大组织、公司已发布的安全缺陷网 页,包括安全缺陷类别、具体缺陷实例、攻击模式、缓和方案、误用例等网页, 作为构建安全缺陷数据的基础。并进一步基于语义标注方法对下载的网页进行标 注,并按照构建软件安全缺陷知识库的要求抽取非结构化的h t m l 页面上安全缺 陷信息用于构建安全缺陷知识库。 2 第一章绪论 本文的研究内容和创新点归纳起来有以下几个方面: 提出从i n t e r n e t 上搜索爬取已有的软件安全缺陷,并设计实现网络搜索爬 虫。 设计实现安全缺陷领域网页过滤器,并结合前面实现的普通网络爬虫实 现安全领域垂直搜索爬虫,使之能有效下载缺陷、攻击模式、误用例相 关网页,过滤掉其他不相关页面。 基于g a t e 工具实现自动语义标注,标注出网页当中缺陷、攻击模式、误 用例等信息,并存储为x m l 文件。 实现对标注结果x m l 文件的自动解析,抽取标注的信息并填充加入安 全缺陷知识库。 1 4 论文结构安排 本文的结构和各章内容安排如下: 第一章主要阐述课题的背景和意义,并提出课题研究的内容及创新点。 第二章文献综述,主要介绍课题研究领域的基本术语、概念,以及介绍课 题研究实现所用技术垂直搜索、语义标注的基本原理方法。 第三章架构设计,先简要给出可信软件辅助系统的整体架构,然后主要详 细设计更新管理安全缺陷知识库的架构,并详细设计每一个子模块的架构。 第四章垂直搜索及语义标注的实现,本章根据第三章的架构设计详细阐述 了更新管理安全缺陷知识库的具体实现,即垂直搜索、语义标注的实现。 第五章结论和展望,总结了本文的工作并提出了未来工作的设想。 第二章文献综述 第二章文献综述 可信计算,即如何向用户提供更加安全,更加可靠的新型计算机系统,并且 能使这些设备和服务在时刻为人们提供便利的同时却让人们感觉不到它们的存 在。本文属于可信计算领域,主要研究从i n t e m e t 上搜索爬取收集软件安全缺陷 信息,包括安全缺陷类别、具体缺陷实例、攻击模式、缓和方案、误用例等信息; 并进一步对其进行文本分析、信息抽取。本章首先对研究对象,即软件安全缺陷、 攻击模式、误用例进行阐述:然后对研究方法技术,即垂直搜索、语义标注进行 阐述。 2 1 可信软件辅助系统 2 1 1 软件安全缺陷 软件缺i 辂( d e f e c t ) 1 0 :是软件工作产品不满足指定要求的成分,它是静态的, 如果不消除,它将永远存在。在业界,人们常用另外一个词“b u g ”指代缺陷,这 是在早期美国海军在调试软件时一个臭虫( b u g ) 引发了系统不能正常工作的典故 中所流传下来的将“b u g ”作为缺陷的原因。将缺陷俗称为“b u g ”,易使人对缺陷轻 描淡写,忽视缺陷的严重性,这是值得注意的问题。软件错误( e r r o r ) t l o 】:是人为 错误,指软件开发人员在开发软件过程中无意间犯下的技术错误,正是由于这些 错误导致软件工作产品的缺陷。软件故障( f a u l t ) 1 0 】:是软件运行时丧失在规定的 限度内执行所需功能的能力,它是动态的,可能导致失效。故障不一定导致软件 失效,软件运行可以出现故障时但不出现失效,如在容错( f a u l tt o l e r a n c e ) 软俐】 运行中允许有规定数量的故障出现却不导致失效。对无容错的软件,故障即失效。 故障是软件缺陷的外在表现。软件失效( f a i l u r e ) 【1 2 】:是软件在运行时不能完成规 定功能,它是动态的,由故障所导致。软件失效是软件缺陷的外在表现。软件缺 陷是造成软件故障乃至失效的内在原因。缺陷的产生贯穿于整个软件项目开发生 命周期,产生的原因复杂性决定了软件缺陷的多样性因此,对缺陷进行有效的 分类和管理有利于提高软件项目的管理水平和质量,建立软件安全缺陷库为实现 缺陷的存储、分类和管理提供了有利的空间。 目前,国内外领域研究安全缺陷分类的成果层出不穷。缺陷分类要根据组织 4 第二章文献综述 自身的开发对象与环境来制定。随着软件工程学的发展,特别是在学术界开始研 究软件开发过程时,缺陷就已不再局限于程序和代码了,软件开发过程中,组织 的管理结构都对软件质量产生了重要影响。研究人员开始越来越关注软件过程对 缺陷的影响。承担大型、复杂软件开发的组织、公司需要较高级别的软件能力成 熟度。 为满足软件开发组织实施缺陷预防、改善软件过程和提高软件能力成熟度的 需要,一个紧急重要的工作就是建立一个软件缺陷库,动态搜集和管理软件缺陷。 创建软件缺陷库又需要以缺陷分类作为基础,因此需要制定一个针对软件缺陷库 管理的缺陷分类方法。分类的目的是为了对软件缺陷进行度量和分析软件缺陷产 生的过程原因、改善软件过程、预防软件缺陷、改善软件质量、提高软件能力成 熟度。软件缺陷【1 3 】类别包含的建议内容如下: 缺陷的名称以及i d :一个唯一的,具有描述性的标识符; 描述:对缺陷类别的具体描述,描述了缺陷是如何产生的以及将导致怎 样的后果; 适用平台:这种缺陷在什么平台上可能产生; 缓和方案:缓和这种缺陷可以采取的反击行为或自我修复的行动或方式; 示例:引起该缺陷的典型示例; 引入时间:可能产生该缺陷所在的软件开发生命周期的阶段时间; 相互关系:该缺陷与其他相关缺陷的关系: 术语注释:与该缺陷相关的术语解释; 被攻击的可能性:该缺陷被攻破的难易程度、可能性; 后果:该缺陷被攻破后会引起什么后果; 相关的攻击模式:与该缺陷相关的攻击模式。 2 1 2 攻击模式 攻击模式【1 4 】的思想来源于g a m m a 、h e l m 等人提出的设计模式概念。攻击模 式和设计模式一样,是对可以在许多情况下如何解决问题的方法的高层次描述, 最初攻击模式这一个词语来源于m o o r e2 0 0 1 年在a t t a c km o d e l i n gf o ri n f o r m a t i o n s e c u r i t ya n ds u r v i v a b i l i t y 一书中提出的并由g r e gh o g l u n d 和g a r ym c g r a w 等人 于2 0 0 4 年在e x p l o i t i n gs o f t w a r e :h o wt ob r e a kc o d e 一书中使用许多具体的例子 和细节将这一概念带入更广泛的工业生产领域中去,取得了显著的效果。攻击模 式所针对的问题对象即为软件产品攻击者的目标对象,描述攻击者用来破坏软件 产品的技术。使用攻击模式的动机是软件开发者通过将自己想象为攻击者,并参 第二章文献综述 与到威胁中去,从而有效提高软件产品的安全性。 攻击模式是一种抽象机制,用来描述一种观察到的攻击是如何被执行的【1 5 1 。 跟据攻击范式,攻击模式提供了本身的适用范围的上下文描述和缓和攻击的缓和 方案。简短的说,一个攻击模式就是一个漏洞的蓝图。攻击模式所包含的建议内 容如下: 攻击模式名称以及分类:一个唯一的,具有描述性的标识符; 攻击前提:攻击成功实施必须具备的条件或者目标软件必须具备的功能 和特征或者目标软件所必须的行为方式; 描述:对攻击模式的描述,包含了对采取的行为链的描述; 相关的脆弱点或薄弱点:该次攻击所利用的具体的脆弱点或薄弱点。对 于这些脆弱点或者薄弱点的定义,应该参考一些工业标准文献,例如 c w ( c o m m o nv u l n e r a b i l i t ya n de x p o s u r e ) 、u s - c e r t 和c w e ( c o m m o n w e a k n e s se n u m e r a t i o n ) 等; 攻击方法:攻击使用的向量( 例如:恶意数据项,恶意制造的文件,协 议崩溃等) ; 攻击动机后果:即攻击者实施此次攻击所想要达到的结果。不是目标领 域的最终商业任务目标,而是一个对达到最终商业任务目标有帮助的 具体技术性的结果。涉及到将攻击模式适用于威胁模型上或者判断哪些 可能的攻击模式与给定上下文相关方面上,这类信息很有用: 攻击者所需的技术和知识:攻击者为了执行攻击需要具备哪种层次的技 术和特殊的知识; 所需资源:攻击者为了执行攻击应该需要哪些资源; 解决方案或者缓和技术:缓和这种攻击可以采取的反击攻击或者自我修 复的行动和方式; 上下文描述:该模式与哪些上下文( 例如,平台,操作系统,语言,架 构范式) 相关。在选择针对给定的上下文描述的一个攻击模式集合时, 这类信息很有用; 参考资料:即可以描述该类攻击的参考性的信息资源。 2 1 3 误用例 误用例是一个相对应于用例的概念。误用例在软件开发生命周期中尤其是需 求分析设计阶段有重要的作用,如图2 1 展示了误用例分析在软件开发生命周期 中的位置。 6 第二章文献综述 s i n d r e ,g 和o p d a h la l 对误用例定义为:误用例可阻被定义为一系列完 整的行为,这些行为将导致组织或特定用户损失。他们进一步提出了误用例描述 的模板。m c d c r m o n t ta n d f o x 提出种相类似的概念叫做误j j 例( a b u s ec a s e 1 ) 。 vu 、t “p e n “ n q , 、a n a t e f t 。j ; m 自,i i dr 、 c 一 v j l n t e 、l |,e , f h 卜 二卜二_ l _ + l 二斗 n mo f “ d h b l f q u m lt k 咖a m ”b 啪t q ktr 帕q w e l l f o c u s “ 5 哗肌p n 吐l e 叫eh e m r “1 9o b u * c 张sa n d 州叽口r e 叩一吣 f 一一f 图2 - 1 溟田倒在软件开发生命周期中的位置 ,;i 、 围2 - 2 含误用倒的用例圈 一个误蚪】例的完整定义m 岫一个参与者与系统的交互行为对用户或者系统本身 造成了伤害。也有文献把误用例定义为:误用例( m i s u s e c 勰e ) 来自用例。误 用例描述了未经授权使用导致的系统特性。因此误用倒是来授权用户对系统故意 或无意所傲的系统所不允许的行为视图。用倒和误用例之间的关系可以有包含 ( 1 n c h d e 曲,扩展( e x t e n d s ) ,阻止( p r e v e n t s ) 和侦查( d e t e c t s ) 。也有文献对误用例做 第二章文献综述 出如下的解释【2 0 】:误用例描述系统不可能接受的系统操作。在误用例中,至少有 一个威胁作为参与者。一个误用例就表示一个攻击者对目标系统的破坏操作。图 2 2 表示了一个含有误用例的用例图。 图中黑色的用例表示误用例,每个误用例与其要攻击的用例相关联,表示 这个用例可能被潜在的误用例所攻击。与误用例相关联的参与者表示攻击者,通 过误用例代表的功能行为对系统进行攻击。 2 2 垂直搜索 垂直搜索引擎( v e r t i c a ls e a r c he n g i n e ) 【2 1 】是专业或专用搜索引擎,是针对 某个行业或某一主题的专业搜索引擎,其搜索爬虫称为垂直搜索爬虫( v e r t i c a l s e a r c hs p i d e r ) 【2 2 】、也称为领域搜索爬虫( t o p i cs e a r c hs p i d e r ) 、聚焦爬虫( f o c u s e d c r a w l e r ) 等等。区别于通用搜索引擎,例如:b a i d u ,g o o g l e 等。垂直搜索爬虫是 一个能自动下载网页的程序,它根据既定的爬取目标,有选择的访问万维网上的 网页以及相关的链接,获取所需要的信息。与通用搜索爬虫( g e n e r a l l u r p o s ew e b c r a w l e r ) 不同,垂直搜索爬虫并不追求大的覆盖,而将目标定为爬取与某一特定 主题内容相关的网页。 2 2 1 垂直搜索爬虫实现原理 网络爬虫【2 3 】是一个自动爬取网页的程序,它为搜索引擎从网路上下载网页, 是搜索引擎的重要组成部分。爬虫从一个或若干初始网页的u r l 开始,获得初 8 第二章文献综述 图2 3 ( a ) 普通爬虫流程图2 3 ( b ) 领域搜索爬虫流程 始网页上的u r l ,在爬取网页的过程中,不断从当前页面上抽取出新的u r l 放 入队列,直到满足系统的预定停止条件,如图2 - 3 ( a ) 流程图所示。领域搜索爬虫的 工作流程较为复杂,需要根据一定的网页分析算法过滤与领域主题无关的链接, 保留有用的链接并将其放入等待爬取的u r l 队列。接着,它将根据一定的搜索 策略从队列中选择下一步要爬取的网页u r l ,并重复上述过程,直到达到系统 的某一预设条件时停止,如图2 3 ( b ) 所示。另外,所有被爬虫爬取的网页将会被 系统存贮,以进行进一步一定的分析、过滤;对于领域搜索爬虫来说,这一过程 所得到的分析结果还可能对以后的爬取过程给出反馈和指导作用。口 相对于通用网络爬虫,领域搜索爬虫还需要解决以下三个主要问题【2 4 】:口 ( 1 ) 对爬取目标的描述或定义;口 ( 2 ) 对网页或数据信息的分析与过滤;口 ( 3 ) 对u r l 的搜索策略。口 爬取目标的描述和定义是决定网页或数据分析算法与u l u 搜索策略如何制 订的基础。那么网页分析算法和候选u r l 排序算法则是决定搜索引擎所提供的 服务形式和爬虫网页爬取行为的关键所在。这两个部分的算法又是紧密相关的。 2 2 2 网页搜索策略 网页的搜索策略可以分为深度优先、广度优先和最佳优先三种搜索策略。 深度优先搜索策略 深度优先搜索乜驯是一种早期开发爬虫使用较多的方法。它的目的是 要能达到被搜索结构的叶结点( 即那些不包含任何超链的网页文件) 。 在一个h t m l 文件中,当一个超链接被选择后,被链接的其他h t m l 文件 将执行深度优先搜索,即在搜索其余的超链接结果之前必须先完整地搜 索完单独的一条链。深度优先搜索沿着h t m l 文件上的超链接走到不能 再深入为止,然后返回到上一个h t m l 文件,再继续选择该h t m l 网页文 件中的其他超链接。当不再有其他超链接可选择时,说明搜索已经结束。 优点是能遍历一个w e b 站点或深层嵌套的文档结构集合;缺点是因为 w e b 结构相当深,有可能造成一旦进去,再也出不来的情况发生。深度 优先搜索策略很多情况下将导致爬虫的陷入问题。 广度优先搜索策略 9 第二章文献综述 广度优先搜索策略把剐是指在爬虫爬取过程中,在完成当前层次的搜 索后,才进行下一层次的搜索。该算法的设计和实现相对比较简单。目 前为覆盖尽可能多的网页,一般使用广度优先搜索策略。也有很多研究 将广度优先搜索策略应用于垂直搜索爬虫中。其基本思想是认为与初始 u r l 在一定链接范围内的网页具有与主题相关的概率大些。另外一种方 法是将广度优先搜索与网页过滤技术结合起来使用,先用广度优先搜索 策略抓取网页,再使用过滤算法将其中无关的网页过滤掉。这种方法的 缺点在于,随着爬取网页的增多,大量的无关网页被下载并过滤,算法 的效率将变低。 最佳优先搜索策略 最佳优先搜索策略心6 1 是按照一定的网页分析算法,评测候选u r l 与 目标网页的相似度,或者与主题的相关性,从中选取评价最好的一个或 几个u r l 进行爬取。它只访问经过网页分析算法评测为“有用”的网页。 存在的一个问题是,在爬虫爬取路径上的很多相关网页可能会被忽略, 这是因为最佳优先策略是一种局部最优搜索算法。所以需要将最佳优先 结合具体的应用进行改进,以跳出局部最优点。 2 2 3 网页过滤方法 网页过滤的设计方法很多,有基于关键字权倒2 7 】,基于领域本体、基于概念 空间、基于自然语言处理等等,对于基于关键字权值的网页过滤算法实现一般分 为两步,第一选择关键字及其权值,第二对网页内容进行分析计算该网页的权值, 再根据预设的阈值判断该网页是否属于该领域,有一定的准确性,能有效的过滤 一些无关网页,但也有可能将一些相关网页过滤掉。 基于关键字权值的网页过滤算法在选择了关键字及其权值之后应对网贞内 容进行分析计算该网页的权值,再根据预设的阈值判断该页是否属于该领域,网 页分析算法主要有:基于网络拓扑、基于网页内容和基于用户访问行为三种类型。 基于网络拓扑 根据网页之间的链接关系,通过已知的网页或者数据,来对与其有 直接或者间接链接关系的对象( 可以是网页或网站等) 作出评测的算法。 包括网页粒度、网站粒度和网页块粒度这三种。 基于网页内容 基于网页内容的分析算法指的是根据网页内容( 文本、数据资源) 特征进行网页评价。网页的内容从原来的静态超文本文件为主,发展到 l o 第二章文献综述 后来的以动态页面数据为主,后者的数据量则占了所有网页的主要部 分。另一方面,多媒体数据、w e bs e r v i c e 等多种网络资源形式也越来 越丰富。所以,基于网页内容的分析算法也从原来的较为简单的文本检 索方法,发展为现在涵盖网页数据抽取、机器学习、数据挖掘、语义理 解等多方面方法的综合应用。基于嘲页内容的分析算法可以归纳为如下 三类:第一类针对以文本和超链接为主的无结构或者结构很简单的网 页;第二类针对从结构化的数据源动态生成的页面,其数据不能直接批 量访问;第三类针对的数据界于第一类和第二类数据之间,具有较好的 结构,显示遵循一定的模式或者风格,且可以直接访问。 第一类基于文本的网页分析算法包括以下两类: 令纯文本分类和聚类算法: 很大程度上借用了文本检索技术。文本分析算法可以快速有效 地对网页进行分类和聚类,但是却忽略了网页间和网页内部的结构 信息,所以很少单独使用。巴 令超文本分类和聚类算法: 网页文本还含有大量的 , , 等有用的标记 信息。这些标记结构中的内容具有不同的重要程度。利用这些标记 可以有效地提高分类精度,降低复杂度。口 基于用户访问行为 链接提供的网页关联程度往往带有噪音,网络的异构性和动态性使 得对网页链接结构的建模很难达到令人满意效果。用户的访问模式往往 可靠地反映了资源的主题相关性,而且具有时效性,也即时反应网络链 接的变更情况等。通过用户协作、学习浏览模式等来爬取网页的方法。 协作爬取需要获取用户浏览行为,一般主要有两种方法:日志挖掘和用 户标注。 2 3 语义标注信息抽取 万维网上虽然有丰富的资源,也可以通过搜索爬虫获取这些资源,但这些资 源往往不具有固定良好的结构,计算机不能直接理解,而应进一步对其进行文本 分析,信息抽取。语义标注因应而生,标注后的结果文件一般都是带有语义信息 的x j v l ,再对该l 文件进行解析,完成信息抽取。 语义标注幢引:通过一种标记( t a g ) 手段,在h t m l 、x m l 或者其他文档中把资 第二章文献综述 源的元数据同相应的资源联系起来的过程。 语义标注幢引( s e m a n ti ca n n o t a ti o n ) 就是对原始数据作标记( 文字的或符号 的) ,使其具有语义信息,不仅人可以理解,而且使机器也可以理解。语义网上 一般以x m l 标记语言为数据作标注,以r d f x m l 语言作为数据描述的模型,并结 合o n t o l o g y 本体,使被标注的数据具有了明确的意义,机器可以理解。语义标注 是一种元数据的标记方法,由于元数据在语义信息表示中有着重要地位,语义标 注技术是将语义信息加入至u w e b 网页中或者其他文档中的技术之一,它将影响着 知识管理,电子商务等其他领域的进展,并且真正将只能由人来理解的网页内容 变得机器也可以理解。 当前标注工具 当前的标注工具多种多样,大多数都是基于本体的语义标注工具。语义网是 对当前w e b 的一种扩充,而不是一种全新的w e b ,它的研究重点就是如何将信息表 示为计算机能够理解而且可以处理的形式啪,即带有语义,这样计算机和人就能 协同工作。本体( o n t o l o g y ) 是共享概念模型形式化规范说明,一个典型的本体有 一个层次分类结构,定义了类、类之间的关系以及具有推理能力的推理规则。基 于本体的语义标注工具被认为是利用已有本体在网页或者文档中插入标记,或者 通过标注文档媒介产生知识库。利用语义标注工具对现有的大量网络信息进行 标注,将使得w e b 页面的内容成为机器可识别和可理解的数据,从而构成语义网 的基础。 当前主要标注工具有:( 1 ) s h o ek n o w le d g ea n n o t a t o r ( 2 ) s e m a n t icm a r k u p p l u 旷i nf o rm si n t e r n e te x p l o r e 和s e m a n t i cw o r d ( 3 ) a n n o t e a ( 4 ) m e l i t a ( 5 ) g a t e ( g e n e r a lm c h i t e c t u r ef o rt e x te n g i n e e r i n g ) ( 6 ) b r i e f i n ga n n o t i z e r ( 7 ) o n t o m a ta n n o t iz e r ( 8 ) s m o r e 等等 语义标注结果解析信息抽取 在标注完成之后生成的结果文件一般是带有语义信息的x m l 文件,需对结果 文件进行解析,完成信息抽取啪1 。目前主要有四种对x m l 数据进行解析的技术: ( 1 ) d o m ( d o c u m e n to b j e c tm o d e l ,文档对象模型) ;( 2 ) s a x ( s i m p l ea p if o rx m l 用于x m l 的简单a p i ) ;( 3 ) j a x p ( j a v aa p if o rx m lp r o c e s s i n g ) ( m l 处理的j a v a a p i ) ;( 4 ) s t a x ( s t r e a m i n ga p if o rx m l ) 。 d o m d o m ( d o c u m e n to b j e c tm o d e l ) 即:文档对象模型,是w 3 c $ l j 定的一种标准, 它独立于语言和平台。d o m 是一种接口,使得程序能访问且能更新h t m l 和x m l 文档 的内容、结构以及样式,它已经有p e r l ,j a v a ,c ,c + + 等多种常用编程语言的实 1 2 第二章文献综述 现版本。使用d o m 解析器解析x m l 文档,得到一个包含文档中所有元素的树结构, 它与原x m l 文档的树型结构一一对应。d o m 解析器扫描一个x m l 文档,在内存中生 成一个完整的文档对象模型,i 那d o mt r e e 结构。一旦d o m 树被建立,以后的操作 都是针对这棵树操作的。由于要在内存中构建一棵树,内存空间的耗费较大,内 存占用与文档大小成线性关系,但却可以较随机地访问文档中的内容( 对应于树 中的节点) 。 夺s a x s a x ( s i m p l ea p if o rx m l ) 即x m l 简易a p i ,用于读取x m l 文档的数据。s a x 是 基于事件驱动的解析器,s a x 遍历x m l 文档,每当遇到某个y j 4 l 结构,就向调用者 发出一个事件反馈通知,通知调用者的事件监听处理程序做出相应动作。产生事 件的情况包括:遇到文档的起点和终点、元素开始和结束、属性的定义、处理指 令( p i ) 的定义、实体定义和引用、字符数据定义等等。遇到的结构不同,s a x 发 出的事件通知也不相同;用户根据自己的特殊需要,有选择的创建相应的事件监 听处理程序。s a x 对内存的要求比较小,可以解析任意大小的文件。适合小量信 息集,程序执行的效率也较高。s a x 的缺点是必须由应用程序实现处理所有到来 的事件的事件监听处理程序。且不能随机访问。 夺j a x p j a x p 是由s u n 公司用j a v a 语言开发的用于x m l 处理的a p i 。在某种程度上,j a x p 既支持d o m 也支持s a x 。这主要取决于解析时要使用的类,如果是s a x p a r s e r 类则 是s a x 类型的j a x p 。如果用d o c u m e n t b u i i d e r 类获取对象,那么使用的则是d o m 类 型的j a x p 。j a x p 综合了d o m 和s a x 的优点,所以在x m l 文件的解析方法中是一种较 好的选择。整个j a x p 是建立在d o m 和s a x 这两个基于“推”模式解析方法之上的。 所以d o m 和s a x 的缺点在它身上也会出现。 夺s t a x s t a x 是一种基于“拉”模式的解析x m l 文档的技术。使用s t a x 解析x m l 文档, 客户应用程序可以完全控制解析过程和维护事件循环,极大地降低内存空间的消 耗。而且还有强大的过滤功能,可以非常有效的获取x m l 数据。但解析器要创建 事件对象,以便这些对象以后被无用单元收集器回收,缺乏全面的导航支持。 第三章架构设计 第三章架构设计 本文研究基于垂直搜索及语义标注更新管理软件安全缺陷库,作为构建可信 软件辅助系统的基础。本章首先给出基于攻击模式的可信软件辅助系统的整体架 构,然后详细阐述本文研究内容即获取软件安全缺陷信息并对其语义标注信息抽 取更新管理安全缺陷知识库部分的架构设计及详细设计。 3 1 可信软件辅助系统架构设计 构建设计基于攻击模式的可信软件辅助系统,本系统以攻击模式为基础研 究可信软件辅助系统的模型,系统模型整体结构如图3 - 1 所示。可信软件辅助系 统以安全缺陷知识库作为系统数据的基础;基于垂直搜索技术获取各大组织、公 司已经公布的软件安全缺陷信息,并进_ 步基于语义标注、信息抽取技术抽取安 全缺陷信息以达到不断填充丰富更新安全缺陷知识库;在此知识库的基础上进一 步研究安全软件开发生命周期各个阶段的辅助安全设计工具。下面对这三个方面 分别介绍。 软件安全缺陷知识库 软件安全缺陷库是通过建模安全缺陷领域信息本体以设计安全缺陷知识库 的结构,并为该缺陷知识库提供基本的访问接口。软件安全缺陷库的结构是由它 的内容决定的。安全缺陷库的内容主要包括两个方面:一、基本组成内容;二、 组成内容之间的映射关系。 冷安全缺陷库的基本组成内容: 主要包括4 个方面。一、攻击模式库:研究攻击模式的组成即 应包含的信息,收集攻击模式并建立攻击模式库;二、安全缺陷类 别实例库:研究软件安全缺陷分类方法,并对已有的安全缺陷进行 分类,给出已发现这种类别对应的一些实例,建立安全缺陷类别实 例知识
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 舆论宣传面试题及答案
- 教师资格笔试常见问题试题及答案
- 知识框架搭建公共营养师试题及答案
- 网络规划设计师复习验证试题及答案
- 肥料效应试验试题及答案
- 西医临床时事考点试题及答案
- 网络设计师行业内竞争对手的分析及试题及答案
- 药剂学与基础医学的结合研究试题及答案
- 系统架构设计师考试项目的生命周期管理试题及答案
- 药剂产品推广效果试题及答案
- 地下铁道-中南大学中国大学mooc课后章节答案期末考试题库2023年
- 废品站劳务合同范本
- 安全生产管理规章制度评审记录
- 华为DSTE战略管理体系完整版
- 幼儿园小班语言活动《小鳄鱼的糖果牙齿》绘本故事PPT课件【幼儿教案】
- 3营销总监岗位说明书
- 高等数理统计知到章节答案智慧树2023年浙江大学
- 云南省体育专业高考部分项目评分标准
- 日光温室大棚承包合同
- 2023年郑州科技学院单招面试题库及答案解析
- 《表观遗传》教学设计
评论
0/150
提交评论