




已阅读5页,还剩61页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海交通大学硕士学位论文 i 基于 snort 入侵报告的安全数据库构建 摘 要 计算机和通信技术的高速发展,使二十一世纪进入了信息时代。飞 速发展的 internet 和 intranet 技术,已经成为带动信息产业高速发展、促 进社会进步的重要工具。网络互联使得资源共享和数据通信得以实现, 给科学研究企业运作和社会生活带来革命性的变革。 数据库是当今信息社会中数据存储和处理的核心,其安全性对于整 个信息安全极为重要。组织中绝大部分信息资产保存在数据库中,其实 包括商业数据(交易数据、财务信息) 、保密信息(私有技术和工程数 据、商业或军事机密)等。拥有这些资产的组织必须保证这些信息不被 外部访问以及内部非授权访问。另外,数据库是电子商务、电子政务、 erp 等关键应用系统的基础,它的安全也是这些应用系统的基础。 随着计算机技术和网络技术的进步,数据库的运行环境也在不断变 化。在新的环境中数据库系统需要面对更多的安全威胁,针对数据库系 统的新攻击方法也层出不穷。数据库安全主要为数据库系统建立和采取 的技术和管理方面的安全保护,以保护数据库系统软件和其中的数据不 因偶然和恶意的原因而遭到破坏、更改和泄漏。 本文介绍了安全数据库的评估标准、国内外最新研究进展,以 snort 为代表的入侵检测系统,重点介绍身份认证、安全控制、加密技术、数 据备份与恢复技术、审计追踪和攻击等安全数据库的一般策略,并将这 些技术应用到基于 snort 的入侵检测系统的数据库构建中,取得了很好 的效果。 关键词:入侵检测,snort,安全数据库,数据库安全策略 上海交通大学硕士学位论文 ii construction of secure snort intrusion log based database abstract the fast development of computer and communication technology makes the 21 century to be an information era. the technology of internet and intranet has become a very important tool to help information estate grow quickly and society improves itself. the connection of the network makes the share of resources and digital communication come true which bring the innovation of the scientific research, enterprises operation and social activities. the database is the core part of data reservation and process, so its very important to the whole information security. most of the information is saved in the database including business data (transaction data and financial information) and confidential information (private data, engineering data and business or military secret) and so on. the companies who have these kind of assets must make sure that these information can not be accessed from the outside and the unauthorized inside. database is the foundation of e-business, e-government and erp, so the safety of the database is the foundation of these systems. this paper introduces the assessment criteria and the recent research progress of the database security and the intrusion detecting system like snort. we discuss some common strategies of database security including identification authentication, security control, ciphering, data backup and restore and audit, and apply these technologies into the construction of the secure snort intrusion log based database effectively. key words: intrusion detection, snort, database security, strategy of database security 上海交通大学上海交通大学 学位论文原创性声明学位论文原创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的指导下, 独立进行研究工作所取得的成果。除文中已经注明引用的内容外,本 论文不包含任何其他个人或集体已经发表或撰写过的作品成果。 对本 文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。 本人完全意识到本声明的法律结果由本人承担。 学位论文作者签名:胡秋卫 日期: 2006 年 11 月 20 日 上海交通大学上海交通大学 学位论文版权使用授权书学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文的规定, 同意学校保留并向国家有关部门或机构送交论文的复印件和电子版, 允许论文被查阅和借阅。 本人授权上海交通大学可以将本学位论文的 全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫 描等复制手段保存和汇编本学位论文。 保密保密,在 年解密后适用本授权书。 本学位论文属于 不保密 不保密。 (请在以上方框内打“” ) 学位论文作者签名:胡秋卫 指导教师签名:李小勇,薛质 日期: 2006 年 11 月 20 日 日期: 2006 年 11 月20 日 上海交通大学硕士学位论文 1 第一章第一章 信息安全与安全数据库概述信息安全与安全数据库概述 计算机和通信技术的高速发展,使二十一世纪进入了信息时代。飞速发展的 internet 和 intranet 技术,已经成为带动信息产业高速发展、促进社会进步的重要工 具。网络互联使得资源共享和数据通信得以实现,给科学研究企业运作和社会生活 带来革命性的变革。 数据库是当今信息社会中数据存储和处理的核心,其安全性对于整个信息安全 极为重要。组织中绝大部分信息资产保存在数据库中,其实包括商业数据(交易数 据、财务信息) 、保密信息(私有技术和工程数据、商业或军事机密)等。拥有这些 资产的组织必须保证这些信息不被外部访问以及内部非授权访问。另外,数据库是 电子商务、电子政务、erp 等关键应用系统的基础,它的安全也是这些应用系统的 基础。11 随着计算机技术和网络技术的进步,数据库的运行环境也在不断变化。在新的 环境中数据库系统需要面对更多的安全威胁,针对数据库系统的新攻击方法也层出 不穷。数据库安全主要为数据库系统建立和采取的技术和管理方面的安全保护,以 保护数据库系统软件和其中的数据不因偶然和恶意的原因而遭到破坏、更改和泄漏 4。 1.1 信息安全的评估标准 1.1.1 国外信息安全的评估标准 在 20 世纪 7080 年代,美国国防部(dod)和美国标准局实施了各种计划, 研究安全系统的开发和评估,并最终导致了“可信计算机系统评估准则(tcsec) ” 的产生。由于使用了橘色书皮,所以通常称为“橘皮书” 。该书详细说明了对计算机 系统划分安全等级的准则,并讨论了此准则开发的基本目标、基本原理和美国政府 的政策。tcsec 准则定义了 4 个等级,由低至高分别为 d 级,c 级,b 级,a 级。 所有不具备安全特性的系统均归入 d 级。 而 a 级表明系统提供了最全面的保护。 此 外,四个安全等级还可进一步细分成总共 7 个级别。不同的级别是根据对具体安全 特性的不同要求和对所需的机制、方法的不同认证水平来划分的,这些级别形成了 一个可信程度主机递增的层次结构。值得指出得是,美国国防部采购得系统要求其 安全级别达到 b1 级以上,而商业用途的系统也追求 c2 级以上的安全级别。 上海交通大学硕士学位论文 2 随着美国“橘皮书”的颁布,欧洲各国也相继制定了各自的评估准则,其中包 括英国政府使用的准则,英国用于商业安全产品的绿皮书,法国的篮白红书和 德国的国家准则。随着欧共体的形成和发展,欧盟认为有必要对各国出台的安全评 估准则进行综合协调,希望在一个国家适用的准则在另一个国家也适用。因此,法 国、德国、荷兰和英国合作开发了一个标准信息技术安全评估准则(information technology security evaluation criteria,itsec) ,由欧洲共同体委员会发布。itsec 不像“橘皮书”那样严格,其目标是适用于更多的产品、应用和环境,它为评估产 品和系统提供了一个一致的方法,使得系统评估变得简单和经济。itsec 包括许多 范例功能级别,这些级别是基于德国的国家准则定义的,一共有 5 个级别,分记为 fc1、fc2、fb1、fb2 和 fb3,分别与橘皮书中的 c1、c2、b1、b2 和 b3 的功能要求对应。 然后它还允许和使用不同的功能描述。 评估的产品或系统的安 全功能可以被特别的定义,也可以参照预定义的功能级别来定义。 美国不甘心 tcsec 的影响被 itsec 取代,为了保持在计算机系统安全评测研 究方面的优势,他们总结经验,一方面充分考虑了当前网络安全的技术方法,认识 到 tcsec 已急需改进;另一方面,坚决对标准研制较积极的国家(如英国、德国、 加拿大等)采取联盟的方法,共同提出新的跨国的互操作性的安全评估准则,以次 来继续体现他们的领导作用。1991 年 1 月,美国等宣布制定了通用安全评估准则 (common criteria for it security evaluation)的计划,简称 cc 通则。制定的国家涉 及到西方六国七方,他们是美国国家标准及技术研究所和国家安全局,欧洲的荷、 法、德、英,北美的加拿大。1996 年 1 月,出版了 cc1.0 版。 国际标准化组织 iso/iec 对信息安全评估领域也一直进行着国家标准化的努力 和尝试,其分会 jtc1/sc27 当时正在从事一项工程,希望开发一个国际上通用的安 全评估准则。于是 cc 准则的 2.1 版本于 1999 年 12 月通过了 iso 的认证,确立为 国际标准, 即 iso/iec 154081999: evaluation criteria for it security。 iso/iec 15408 标准。 iso/iec 15408 标准对安全的内容和级别给予了更完整的规范, 为用户对安全 要求的选取提供了充分的灵活性。它结合了 itsec 及 tcsec 的主要特征,强调将 安全的功能与保证分离,并将安全功能要求分为 11 类 66 族,将安全保证要求分为 评估保证类(7 类 26 族) ,以及 pp 评估类、st 评估类和保证维护类。 在橘皮书公布以后,在美国国防部、国家计算机安全中心(ncsc)的主持下又 对橘皮书进行了补充,出版了对橘皮书中的要求在各特定环境下的解释。其中,将 tcsec 应用于数据库管理系统环境就形成了重要的“可信数据库管理系统解释” (trusted database management system interpretation, tdi) 。20 世纪中期之前,tdi 作 为可信产品评估的一个重要的适用标准, 在美国是可信数据库管理系统的评定基础。 上海交通大学硕士学位论文 3 以美国为首的西方六国发布 cc 通则后,在数据库管理市场屡占魁首的 oracle 公司就积极的参与制定 dbms 的保护轮廓(pp) 。oracle 公司在 1998 年发表了两个 数据库管理系统的 1.0 版本的保护轮廓,分别是政府数据库管理系统保护轮廓 g.dbms.pp 和商用数据库管理系统保护轮廓 c.dbms.pp,并且通过了 niap 的 pp 评估,成为经过正式登记的保护轮廓。在 2003 年 3 月,oracle 公司又更新了版本, 并合并了前 2 个类别, 提出了通用数据库管理系统的 2.1 版本的保护轮廓 dbms.pp。 12 1.1.2 国内信息安全的评估标准 我国一直积极关注国际上信息安全测评领域的研究与发展。tcsec 的发布引起 了我国对计算机系统的安全度量的重视,并最终于 1999 年 10 月发布了“计算机信 息系统安全保护等级划分准则” ,编号为 gb178591999。该准则为我国安全产品 的研制提供了技术支持,也为安全系统的建设和管理提供了技术指导。 在 1999 年底的国际标准 iso15408 发布之后, 我国也进行了及时的跟踪与研究, 并于 2001 年,等同采用了 iso/iec 154081999,发布了国家标准 gb/t18336 2001。该标准对我国安全产品和系统的测评提供了重要的技术指导,并针对一些重 要的安全产品(如包过滤防火墙、应用代理防火墙、路由器等)开发了安全要求, 开展了我国的安全产品认证实践工作。此准则将信息系统划分为五个安全等级:用 户自主保护级、系统审计保护级、安全标记保护级、结构化保护级和访问验证保护 级,基本上对应了 tcsec 的 c1、c2、b1、b2、b3 级。 我国的军方是最早涉及安全数据库的设计和开发的,同时,也是由军方提出了 最早的数据库安全准则,即 2001 年的“军用数据库安全评估准则” 。公安部为推行 “等级保护计算机系统” ,于 2002 年发布了公安部行业标准:ga/t 3892002 计算 机信息系统安全等级保护数据库管理系统技术要求。这 2 个标准是目前我国关于数 据库安全的直接的 2 个标准。 1.2 数据库安全需求 数据库系统的安全的需求与其它系统基本相同,包括数据库的完整性、可靠性、 有效性、保密性、可审计性、存取控制与用户身份认证等。数据库系统通常是在操 作系统的控制之下运行,操作系统己经提供的安全措施,数据库系统可以利用,不 必另行考虑。但与操作系统和网络安全相比,其不同之处在于操作系统中的对象为 文件, 而数据库系统中要求有更加精确的数据粒度, 比如要求精确到数据库的表级、 域级、直到行级,元素级等;操作系统并不关心相关的数据对象的语义及其相互关 系,而数据库系统则必须重视数据的语义。 上海交通大学硕士学位论文 4 1防止非法数据访问。 数据库安全的最首要的课题就是确保只对授权的合法用户给予访问权限,并能 以令人信服的方式证明或测试这一保证的可靠程度。同时,令所有未正常授权的人 员均无法接近数据,即防止和杜绝非授权的数据访问,无论是窃取,还是破坏。这 是数据库系统或者任何信息系统中的最关键的需求之一。 2防止推导。 推导指的是用户通过授权访问的数据,经过推导得出机密信息,而按照安全策 略用户是无法访问该机密信息的。基于强制安全策略的系统可以防止低安全级的用 户读到高安全级的数据,但不能防止根据语义和应用来推导高安全级的数据。限制 推理可以防止由推理得到未授权的存取路径,但也将限制那些并不打算存取非授权 数据的用户的数据查询请求。 3保护数据库完整性。 该需求指的是保护数据库不受非授权的修改,以及不会因为病毒、系统中的错 误等导致的存储数据破坏。这种保护通过访问控制、备份/恢复以及一些专用的安全 机制共同实现。 备份/恢复相关在数据库管理系统领域得到了深入的研究,它们的主要目标是在 系统发生错误时保证数据库中数据的一致性。 4保证数据的操作完整性。 在并行事务的模式下,保持数据的逻辑一致性,通常采用并行管理器和加锁机 制完成,并发控制保证了事务的可串行化和事物的隔离性。 5数据的语义完整性。 数据库内的数据根据应用的要求需要满足一定的约束条件,要求满足数据的逻 辑意义,即语义完整性,也成为完整性约束。约束条件可以对整个数据库定义,也 可以单对一个事物进行定义。数据库管理系统应当提供相应的机制,使得用户可以 方便地建立起应用;对数据的任意访问,特别修改操作,都要服从一定的安全机制, 使得对数据的修改不会超过合理的逻辑数值。 6审计和日志。 为保证数据库中的数据的安全,一般要求数据库管理系统能够将所有的数据操 作记录下来。这一功能要求系统保留日志文件,安全相关事件可以根据系统设置记 录在日志文件中,以便事后调查和分析,追查入侵者或发现系统的安全弱点。 审计和日志是有效的威慑和事后追查、分析工具。与数据库中多粒度的数据对 应,审计和日志需要面对粒度问题。因为记录对一个细粒度对象(如一个记录的属 性)的访问可能有用,但是考虑到时间和代价这样做可能非常不实用。 上海交通大学硕士学位论文 5 7标识和认证。 各种计算机系统的用户管理相似,使用的方法也非常类似。与其他系统一样, 标识和认证也是数据库第一道防线。标识和认证是授权、审计等的前提条件。 8机密数据管理。 数据库中的数据可能有部分是机密数据,也可能全部是机密数据(如军队的数 据库) , 而有些数据库中的数据全部是公开的数据。 同时保存机密数据和公开数据的 情况比较复杂。在很多情况下数据是机密的:数据本身是机密的;与其他数据组合 时;与其他机密数据保存在同一个记录中。 对于同时保存机密和公开数据的数据库而言,访问控制主要保证机密数据的保 密性, 仅允许授权用户的访问。 这些用户被赋予对机密数据进行一系列操作的权限, 并且禁止传播这些权限。此外,这些被授权访问机密数据的用户应该与普通用户一 样可以访问公开数据,但是不能互相干扰。另一种情况是用户可以访问一组特定的 机密数据,但是不能交叉访问。此外,还有一种情况是可以单独访问特定的机密数 据集合,但是不能同时访问全部机密数据。 9多级保护。 多级保护表示一个安全需求的集合。现实世界中很多应用要求将数据划分不同 保密级别。例如军队需要将信息划分为多个保密级别,而不是仅仅划分为公开和保 密两部分。同一个记录中的不同字段可能划分为不同的保密级别,甚至是同一字段 的不同值都会是不同的级别。在多级保护体系中,对不同数据项赋予不同的保密级 别,然后根据数据项的密级给访问该数据项的操作赋予不同的级别。 10界限。 界限的意义在于防止程序之间出现非授权的信息传递。信息传递出现在“授权 通道” 、 “存储通道”和“隐通道”中。授权通道通过授权的操作提供输出信息,例 如编辑或编译一个文件。存储通道是存储区,一个程序向其中存储数据,而其他程 序可以读取。隐通道指的是使用系统中并非设计用来进行通信的资源在主体间通信 的信道。例如,一个程序在处理关键数据时通过改变其编码速度来与另一个程序传 递信息,而这个程序是通过检查上述变化得到信息的。1314 1.3 对数据库系统安全的威胁 在数据库环境中,不同的用户通过数据库管理系统访问同一组数据集合,这样 减少了数据的冗余,消除了不一致的问题,同时也免去了程序对数据结构的依赖。 然而,这同时也导致了数据库面临更严重的安全威胁。 根据违反数据库安全性所导致的后果,安全威胁可以分为以下几类。 上海交通大学硕士学位论文 6 1)非授权的信息泄漏:未授权的用户有意或无意得到的信息。通过对授权访问 的数据进行推导分析获取的信息包含这一类中。 2) 非授权的数据修改: 包括所有通过数据处理和修改而违反信息完整性的行为。 非授权修改不一定会涉及打牌非授权的信息泄漏,因为即使不读数据也可以进行破 坏。 3)拒绝服务:包括会影响用户访问数据或使用资源的行为。 根据发生的方式,安全威胁可以分为有意的和无意的。非有意的安全威胁主要 指日常事故,主要包括以下几类: 1)自然或意外灾害:如灾害、水灾、火灾等。这些事故可能会破坏系统的软硬 件,导致完整性破坏和拒绝服务。 2)系统软硬件中的错误:这会导致应用实施错误的策略,从而导致非授权的信 息泄漏、数据修改或拒绝服务。 3)人为错误:导致无意的违反安全策略,导致的后果与软硬件错误类似。 而在有意的威胁中,威胁的主体决定进行欺诈并造成损失。这里的威胁主体可 以分为两类: 1)授权用户:它们滥用自己的特权造成威胁。 2)恶意代理:病毒、特洛伊木马和后门是这类威胁的典型代表。病毒是自身可 以复制、传播并且可能对其传播环境造成持久或不可恢复破坏的代码。特洛伊木马 看似具有常见功能的恶意程序,实际上却收集自己需要的信息或进行破坏。它们可 能由授权用户无意安装,除了具有用户期望的功能,还会利用用户的特权导致安全 威胁。后门是隐藏在程序中的代码段,通过特定的输入可以将其激活并绕过保护措 施访问其权限外的系统资源。 1.4 数据库安全研究的发展 早在 20 世纪 70 年代,数据库安全就引起了研究和开发人员的重视。时至今日, 相关工作已经走过了 30 年,期间所进行了大量的研究工作取得了丰硕的成果。 1.4.1 国外数据库安全研究的发展 一般而言,数据库管理系统建立在操作系统基础之上,也可以说操作系统安全 是数据库安全的基础。 此外, 早期的安全数据库受到安全操作系统研究的影响很大, 会涉及较多操作系统安全相关的信息。 1967 年,美国国防部组建了受美国国防科学委员会管辖的计算机安全特别行动 小组,主要研究有效保护用户资源共享计算机系统中机密信息的软硬件保护技术并 上海交通大学硕士学位论文 7 提供相关建议,拉开了计算机系统安全研究的序幕。早期研究者主要采用面向威胁 的方法开发计算机安全系统。在这个阶段,研究人员的工作主要体现在访问控制抽 象、计算机安全基本原理、安全模型和安全操作系统的设计开发几个方面,为安全 数据库的研究和开发奠定了坚实的基础。 20 世纪 70 年代中期, 美国空军资助的两个研究项目为可信关系数据库的研究奠 定了基础。hinke 和 schaefer 在报告中给出了一个安全数据库研究的内容,而 i.p.sharp associate 开发了一个多级数据库管理系统的模型。因此这时候开始,数据 库安全研究的主流是军用安全数据库,美国军方的大力推动使研究者对数据库面临 的安全威胁、数据库的安全需求以及对安全数据库的研究问题有了基本的认识。通 过若干项目的研发形成了安全数据库开发的方法论。 在探索和开发计算机安全系统的同时,人们也在研究如何区衡量计算机系统的 安全性。1983 年美国国防部计算机安全中心与美国标准局合作,发表了可信计算机 评估准则(tcsec) ,从此,数据库安全研究进入了标准化时期。这一阶段的主要 研究工作是如何开发高安全级的数据库管理系统。这一阶段,随着分布式技术的发 展,分布式数据库技术开始萌芽和发展;面向对象技术进入数据库领域形成了面向 对象数据库。安全数据库本身的研究也从安全保密转移到完整性相关的工作,包括 完整性模型。并发控制、多级事务处理以及安全数据库的备份和恢复等。研究工作 的转移,一方面与安全保密数据库技术的成熟有关,另一方面也与数据库在商业领 域全面应用导致对数据库完整性的关注有关。 20 世纪 90 年代, 计算机及网络技术迅猛发展并开始广泛应用于各行各业, 计算 机安全得到了广泛关注。 传统的基于军方安全需求的数据库安全研究固然非常重要, 但是已经无法满足新时代的要求,数据库安全进入了多样化时期。主要研究工作包 括: 数据库安全需求的日益多样化和复杂化客观上要求安全策略的多样化和复杂化, 基于角色的访问控制(rbac)模型是比较有代表性的工作;传统的关系数据库已 经无法满足各种各样的数据在数据库中存储和处理,面向对象技术和数据库技术结 合产生了面向对象的数据库;分布式计算技术和数据库结合产生了分布式数据库, 数据和处理的分布引出了同步、通信安全等新问题,移动数据库安全也成为当前的 新的研究内容;人们对信息安全的认识随着应用实践的深入而日益发展,数据库入 侵检测的研究工作也逐渐展开,安全恢复机制也成为数据库安全的研究重点之一。 1.4.2 国内数据库安全研究的发展 国内的安全数据库研究工作起步较晚, 目前的发展水平相当于国外 90 年代早期 的水平。国内进行的相关工作主要包括可信 cobase、dm3、lois 安全数据库、 softbase(南京大学)、openbase security(东大阿尔派)等的研究开发。 上海交通大学硕士学位论文 8 由北京大学牵头,人民大学、中软公司和华中科技大学合作研发的 cobase 数 据库管理系统是国家“八五” 、 “九五”科技攻关成果,cobase v2.0 的可信版本是 达到了 tcsec 及 tdi 的 b1 级安全要求。 达梦公司的 dm 系列是由华中科技大学研制的数据库管理系统, 其中 dm3 经公 安部计算机信息系统安全产品质量监督检验中心评测达到 17859 的第三级(相当于 tcsec 的 b1 级) 。 losi 安全数据库系统 v1.0 是中国科学院信息安全国家重点实验室研制的安全 数据库。它是国内第一个使用核心化体系结构的安全数据库系统,经公安部经公安 部计算机信息系统安全产品质量监督检验中心评测也达到 17859 的第三级。 总的来说,与国外相比我国的数据库安全研究还比较落后。但同时也要看到, 我国的科研人员已经掌握了数据库和数据库安全的核心技术,为将来的研究开发工 作奠定了基础。 上海交通大学硕士学位论文 9 第二章第二章 入侵检测系统与入侵检测系统与 snort 2.1 入侵检测系统 internet 是一个全球公共的网络。随着 internet 和它的潜力的发展,全世界机构 的商业模式已经并且正在发生改变。越来越多的人每天连接到 internet,使用广为人 知的新的商业模式e-business。因此,网络的互连已经成为当今 e-business 的一个 关键环节。15 新的商业模式带来两方面的影响。其一,internet 通过连接终端用户给商业带来 了巨大的潜力。同时,它也给商业带来的很多的危险。网络上存在有害用户和无害 用户的区别。当一个组织给无害用户带来信息系统可用性的同时有害用户也能使用 它的信息系统。恶意用户使用不同的技术如密码破解,嗅探未加密的数据等等来找 出系统的脆弱性并且攻陷关键系统。因此,需要有一些安全措施来保护组织私有的 资源。 世界上的很多组织使用防火墙来保护他们的私有网络。但是,不可能通过使用 防火墙而保证网络的百分之百安全。这是因为商业需要授权给 internet 用户访问权。 防火墙只允许某一类型的服务通过它来提供安全性。防火墙基于组织的安全政策和 商业需要来允许或者不允许连接,通过拒绝某些不知道的连接来保护组织免受恶意 攻击。16 2.1.1 ids 的定义及需求 入侵检测系统和防盗系统有点类似。例如,轿车的锁用来防止轿车被盗,但是 如果有人解开了锁然后想要偷车,那么防盗系统就可以检测到锁已经被翘开,然后 发出警报声来警告车主。入侵检测系统通过同样的方式来补充防火墙的安全性。防 火墙用来保护组织避免遭受 internet 恶意攻击,入侵检测系统检测是否有人试着突 破防火墙或者已经突破防火墙而尝试访问系统的信任方,然后给出警报提醒系统管 理员。 防火墙在过滤从 internet 来的数据上做的非常好, 但是有一些方式可以绕开防火 墙。因此,入侵检测系统(intrusion detection system, ids)是一个安全系统,用来监控 系统和网络流量,分析可能来自组织外面的敌意的攻击和组织内部的系统误用或者 攻击。 2.1.2 ids 的组成 上海交通大学硕士学位论文 10 一个入侵检测系统由管理控制台(management console)和感应器(sensor)两部分 组成。管理控制台用于管理和报告,感应器实时监控主机和网络。一个 ids 有一个 攻击特征码的数据库 (attack signature database) , 攻击特征码是不同种类的以前检测 出来的攻击形式。如果感应器检测到可疑的活动,它会与攻击特征码数据库进行匹 配。如果它发现有匹配的项,感应器马上向管理控制台报告可疑活动。感应器基于 用户的配置采取不同的行动。例如,它可以通过发送一个 tcp fin 包来重置 tcp 连接,修改网管路由器或防火墙的访问控制表,或者是发送一封邮件通知管理员。 2.1.3 入侵检测系统的种类 大致上有两种入侵检测系统。他们是基于主机的入侵检测系统和基于网络的入 侵检测系统。基于主机的入侵检测系统只有基于主机的感应器,而基于网络的入侵 检测系统有基于网络的感应器。如图 1-15。 图 2-1 网络中的 ids figure 2-1 ids in network 如图所示,一个基于网络的 ids 感应器有两个接口,一个接口是可以管理的, ids 的管理控制台通过可管理接口与感应器连接。另一个接口处于混杂模式,不能 通过网络访问,是不可管理的。监视接口连接在被监视的网络上,检查每个通过该 上海交通大学硕士学位论文 11 网络的数据包。基于网络的感应器应用预先定义好的特征码到每个帧来鉴定可疑的 流量。如果它发现匹配特征码,就会马上通知管理控制台。在上图中点划线是管理 接口,实线是监视接口。 基于主机的感应器是工作在需要被保护的主机上的软件,它监视系统审计和事 件日志。当这些文件被改变的时候,感应器比较新的日志项和攻击特征码看是否有 匹配,如果有匹配,它就通知管理控制台。基于主机的感应器不做数据包层的分析, 它监视系统级的活动。例如,一个没有被授权的用户在一个 windows nt 系统上改 变了注册表,或者在 unix 系统上改变了/etc/passwd 或/etc/shadow 文件,又或者一 个用户企图在晚上 7 点登陆而他只允许在早上 9 点到下午 5 点之间登陆。 基于网络的入侵检测系统的优点如下: 1代价低。基于网络的 ids 能够配置于每个网段。一个 ids 能监视去往一个网 段所有系统的网络流量。所以不必为网段中的每个计算机安装软件,这也减少了管 理的开销,因为不需要在系统层次维护感应器软件了。 2配置容易。因为不影响现存系统或是设施,基于网络的 ids 比较容易配置。 基于网络的 ids 是不依赖于操作系统的。 基于网络的 ids 会监听在网段上所有的攻 击,而不管目标机器的操作系统是什么类型的。 3能检测基于网络的攻击。基于网络的 ids 感应器能够检测基于主机的 ids 所不能检测的攻击。它能检查任何可以包的包头,很多基于 ip 的拒绝服务攻击象 syn 攻击,碎包攻击等等,当它们经过网络时,只有检测报头才能鉴定出来。基于 网络的 ids 感应器通过实时检查报头的内容很快的检测出这种类型的攻击。 4 保留证据。 基于网络的 ids 使用实时的网络流量, 做实时的入侵检测。 因此, 攻击者不能删除攻击的证据,而这些证据可以用于以后的分析。另一方面,基于主 机的感应器通过检查系统日志文件来检测攻击。很多的攻击者能够对系统日志文件 进行修改来掩盖攻击的证据。 5实时检测和快速反应。基于网络的 ids 实时的监视网络流量,所以,当发生 可疑行为时它能够马上检测出来。根据感应器配置的不同,这种攻击甚至可以在攻 击者进入主机攻陷系统前就被阻止。另一方面,当基于主机的 ids 将测被改变的系 统文件时,关键系统可能已经被攻陷。 6检测失败的攻击。配置在防火墙外面的基于网络的 ids 能够检测可疑的攻击 行为,即使攻击被防火墙拒绝,这些信息对后来的分析是很有用的。而基于主机的 ids 不能检测到被防火墙拦截的攻击行为。 基于主机的 ids 的优点如下: 1 查证攻击的正确与失败。 因为基于主机的 ids 使用包含已经发生的事件的系 上海交通大学硕士学位论文 12 统日志,所以比起基于网络的 ids 它能比较精确的鉴别攻击是否发生。基于网络的 ids 感应器虽然反应比较快,但是却会产生很多错误的报告,因为它实时的检测数 据报,而一些数据包可能来自信任主机。 2监视系统活动。基于主机的 ids 监视用户和文件访问活动,包括访问文件, 改变文件许可权,或是可执行文件的安装。它还能监视所有的用户的登入和登出, 当连接网络时候的用户活动,文件系统改变,只能够由 administrator 执行的事件。 当账户被增加,删除或是改变时,操作系统记录所有的事件。基于主机的 ids 能在 发生时检测系统的改变,而基于网络的 ids 不能提供如此详细的系统活动信息。 3检测基于网络的 ids 不能检测的攻击。例如,如果一个未被授权的用户从控 制台改变系统文件, 基于网络的 ids 是不能检测出这种行为的, 因此基于主机的 ids 在检测内部可疑行为时非常有用。 4接近实时的检测和反应。虽然基于主机的 ids 不能提供真正的实时反应,但 是如果实现正确的话还是能非常接近实时的。不像以前的系统,在固定的一个事件 间隙,用一个进程检查日志文件的内容,现在当日志文件被写入新内容时,很多的 系统会收到来自操作系统的中断,新的条目会马上被处理,大大的减少了攻击检测 和反应之间的时间。 5不需要额外的硬件。基于主机的 ids 配置在主机系统上,因此不需要额外的 硬件,减少了配置的成本。 6比较低的成本。基于主机的 ids 的感应器比基于网络的 ids 便宜很多。 2.2 snort 简介 snort 在网络安全领域里有着一个很重要的角色:一个跨平台的,轻量级的,能 够用来监视小的 tcp/ip 网络并且检测各种各样可疑网络流量的入侵检测工具。当 发现可疑活动时, 它能提供给管理员足够的信息用来做正确的决定。 snort 也可以很 快的配置来弥补系统网络安全的漏洞,如当新的攻击出现,而商业安全厂商来不及 发布攻击识别特征码的时候。 snort 是用于小型轻量级网络的工具。现在商业的入侵检测系统最少花费几千美 元,甚至有可能是几万美元,snort 遵循 gnu 原则,在任何情况下使用都是免费的, 这使得 snort 成为市场上广为流行的入侵检测工具。 snort 是一个基于 libpcap 来嗅探和记录数据报并且能够被用作轻量级的网络入 侵检测系统。它的基于规则的特点能够实施内容形式匹配,检测各种各样的攻击和 探测,象缓冲区溢出,秘密端口扫描,cgi 攻击,smb 探测等等。snort 有实时报 警的能力,并且可以将报警发送到 syslog,smb,“winpopup”消息,或者是独立的 上海交通大学硕士学位论文 13 报警文件。snort 使用命令行和可选的 berkeley packet filter(bpf)命令配置。检测引 擎使用描述每个包测试和行动的一种简单的语言来编程。使用的方便简化和加速了 新的缓冲区溢出检测规则。例如,当 iis showcode 缓冲区溢出漏洞被发现时,snort 检测这种探测的规则几小时以后就出现了。 2.2.1snort 的组成结构 snort 的结构关注于性能,简单性和灵活性。三个主要的子系统组成了 snort:包 解码器子系统,检测引擎子系统,日志与报警子系统。这三个子系统运行于 libpcap 数据过滤与嗅探库之上,后者提供了可移植的数据报嗅探与过滤能力。编程配置, 规则解析和数据结构的处理在嗅探部分初始化之前发生,以使处理每个数据报的消 耗达到最小。 1数据报解码子系统。 解码引擎被组织在数据链路层和 tcp/ip 协议的周围。每个在解码器中的子程序 按照顺序被调用,从数据链路层到传输层最后到应用层。这个过程着重于速度,解 码器的最主要功能是在数据报中设置指针供检测引擎后面的分析。 snort 提供对以太 网,slip, 原始数据链路层协议(ppp) 。 2数据检测引擎子系统。 snort 将它的检测规则维持在一个两维链表中,称为链头(chain header)和链选项 (chain options)。链头是公共的属性,而链选项是可变的选项。例如,在一个给定的 snort 检测库文件中有 45 个 cgi-bin 探测检测规则,它们通常有相同的源和目的 ip 地址和端口。为了加快检测处理的速度,这些规则被压缩成一个链头,然后单独的 检测特征码保存在链选项结构中。如图 2-2 所示: 上海交通大学硕士学位论文 14 chain header - source ip address destination ip address source port destination port chain header - source ip address destination ip address source port destination port chain header - source ip address destination ip address source port destination port chain option - content tcp flags icmp codes/types payload size etc. chain option - content tcp flags icmp codes/types payload size etc. chain option - content tcp flags icmp codes/types payload size etc. chain option - content tcp flags icmp codes/types payload size etc. chain option - content tcp flags icmp codes/types payload size etc. chain option - content tcp flags icmp codes/types payload size etc. 图 2-2 规则链的逻辑结构 figure 2-2 logical structure of rule chain 每个数据报要递归的在每个方向上寻找这些规则链。检测引擎只检查在运行时 有规则解析器设置的链选项。在检测引擎中第一个符合解析包的规则触发在规则中 定义的行为,然后返回。 新一代的 snort 允许用户自己写和发布 plug-in 模块,然后将它们绑定到检测引 擎规则语言的关键字。 这将允许任何人将合适的 plug-in 模块用于增加 snort 的功能, 定制适合某项工作的程序。18 3日志/警报子系统。 上海交通大学硕士学位论文 15 日志和警报子系统在命令行开关上进行选择。 现在有 3 种日志选项和 5 种报警选 项。日志选项包括解码格式,基于 ip 的目录结构的可读的结构格式和用 tcpdump 二进制格式记录到日志文件。解码格式允许系统收集数据时的快速分析;tcpdump 格式能非常快速的记录到磁盘,可以用于对性能要求很高的场合。日志记录也可以 完全关掉,只留下警报,这可以更好的提高性能。 警报可以发送到syslog, 用2种格式记录到警报文本文件, 或是用samba smbclient 程序发送 winpopup 消息。 syslog 警报作为安全/认证消息传送, 可以被一些工具 (如 swatch)容易的监视到。winpopup 警报允许发送事件通知到用户指定的运行 winpopup 的软件。发送警报到文本文件有两种选项:完全警报和快速警报。完全警 报通过传输层协议写下警报消息和报头信息。而快速警报写下压缩的头部的子集, 效率比完全警报更高。警报的第 5 个选项时关掉警报,当警报不是必须或者不合适 的时候,如网络渗透实验正在被实施的时候,关掉警报这个选项是有用的。19 2.2.2 安装 snort 与数据库 snort 可以将触发的警报写入各种数据库,包括 mysql, postgresql, oracle, sql server, 以及 unixodbc兼容的数据库。 数据库的记录功能在输出文件 spo_database.c 和 spo_database.h 中实现。由于 mysql 在类 unix 系统使用的广泛性,下面我们只以 mysql 为例,指出为使 snort 将警报写入 mysql 需执行的操作。 1安装 mysql。 mysql 官方网站有详细安装文档,此处不再详述2.值得注意的是,如果用 rpm 文件安装, mysql 有几个 rpm 文件, 包括 server, client program, library and headers, client shared libraries,四个文件都需安装。在大多数 unix 系统上,snort 将使用合 适的数据库共享库来记录日志,因此,运行时链接器必须知道共享库的路径。所以 共享库的位置应该包括在环境变量 ld_library_path 中, 如果是 linux 系统, 这 个路径应该包括在/et
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 中国氧化铝陶瓷基板行业市场深度分析及投资前景展望报告
- 2025年中国运动自行车行业市场深度研究及投资规划建议报告
- 思乡的古诗讲课件
- 精神药品讲课件
- 排水渠工程可行性研究报告
- 营养干预与慢性病-洞察及研究
- 2025年中国消毒设备行业市场发展监测及投资方向研究报告
- 王先伟工程造价课件
- 表面等离子体成像-洞察及研究
- 文化墙绘社区营造-洞察及研究
- 酱料研发知识培训课件
- 登革热疫情应急处置桌面推演方案(2025年)
- 围棋行业跨境出海战略研究报告
- 附件-珠海市职业卫生分类及分级管理办法
- 第三单元名著导读《骆驼祥子》教学设计 2023-2024学年统编版语文七年级上册
- 七大浪费培训
- 2025年中考复习地理简答题模板
- 新人教版九年级数学第一轮总复习教案1
- 物业电工笔试试题及答案
- 中医跨文化交际知到课后答案智慧树章节测试答案2025年春湖南中医药大学
- JJF1033-2023计量标准考核规范
评论
0/150
提交评论